disabled paralex
This commit is contained in:
@@ -32,7 +32,6 @@
|
|||||||
if (!fx) return;
|
if (!fx) return;
|
||||||
|
|
||||||
const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
const reduced = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
||||||
const fine = window.matchMedia('(pointer: fine)').matches;
|
|
||||||
|
|
||||||
/* ─── Generated sigil growths in the four corners ─── */
|
/* ─── Generated sigil growths in the four corners ─── */
|
||||||
/* One sigil per page load; the four corner transforms in global.css
|
/* One sigil per page load; the four corner transforms in global.css
|
||||||
@@ -80,22 +79,17 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* ─── Ambient: entrance fade-in (opacity:0 → target via the CSS
|
/* ─── Ambient: entrance fade-in (opacity:0 → target via the CSS
|
||||||
* transition on first apply), scroll-depth recede, scroll + pointer
|
* transition on first apply) + scroll-depth recede. Parallax is
|
||||||
* parallax. Parallax is gated on fine pointers and reduced-motion;
|
* disabled for now — the --cs-px/py/cx/cy vars default to 0px so the
|
||||||
* the depth fade is just opacity tied to scroll position. ─── */
|
* wire/corner transforms stay put; re-enable by driving those vars
|
||||||
|
* from scroll/pointer here again. ─── */
|
||||||
if (teardown) teardown();
|
if (teardown) teardown();
|
||||||
const off: Array<() => void> = [];
|
const off: Array<() => void> = [];
|
||||||
let depth = 0, px = 0, py = 0, raf = 0;
|
let depth = 0, raf = 0;
|
||||||
|
|
||||||
const apply = () => {
|
const apply = () => {
|
||||||
raf = 0;
|
raf = 0;
|
||||||
fx.style.opacity = String(1 - 0.5 * depth);
|
fx.style.opacity = String(1 - 0.5 * depth);
|
||||||
if (!reduced) {
|
|
||||||
fx.style.setProperty('--cs-px', px.toFixed(1) + 'px');
|
|
||||||
fx.style.setProperty('--cs-py', (py + depth * 24).toFixed(1) + 'px');
|
|
||||||
fx.style.setProperty('--cs-cx', (-px * 0.42).toFixed(1) + 'px');
|
|
||||||
fx.style.setProperty('--cs-cy', (-py * 0.42).toFixed(1) + 'px');
|
|
||||||
}
|
|
||||||
};
|
};
|
||||||
const schedule = () => { if (!raf) raf = requestAnimationFrame(apply); };
|
const schedule = () => { if (!raf) raf = requestAnimationFrame(apply); };
|
||||||
|
|
||||||
@@ -110,17 +104,6 @@
|
|||||||
off.push(() => window.removeEventListener('resize', onScroll));
|
off.push(() => window.removeEventListener('resize', onScroll));
|
||||||
onScroll();
|
onScroll();
|
||||||
|
|
||||||
if (!reduced && fine) {
|
|
||||||
const onPointer = (e: PointerEvent | MouseEvent) => {
|
|
||||||
const w = window.innerWidth || 1, h = window.innerHeight || 1;
|
|
||||||
px = (e.clientX / w - 0.5) * 26; // ≈ ±13px drift
|
|
||||||
py = (e.clientY / h - 0.5) * 26;
|
|
||||||
schedule();
|
|
||||||
};
|
|
||||||
window.addEventListener('pointermove', onPointer, { passive: true });
|
|
||||||
off.push(() => window.removeEventListener('pointermove', onPointer));
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Freeze every loop while the tab is hidden — idle-battery win. */
|
/* Freeze every loop while the tab is hidden — idle-battery win. */
|
||||||
const onVis = () => fx.classList.toggle('is-paused', document.hidden);
|
const onVis = () => fx.classList.toggle('is-paused', document.hidden);
|
||||||
document.addEventListener('visibilitychange', onVis);
|
document.addEventListener('visibilitychange', onVis);
|
||||||
|
|||||||
Reference in New Issue
Block a user