1// Pointer-driven stage depth; the scene's data and simulation remain unchanged. 2let tiltFrame=0,pointerNX=0,pointerNY=0; 3const spatialHero=document.querySelector('.hero'); 4function paintSpatialTilt(){tiltFrame=0;const still=reduced||motionPaused||matchMedia('(pointer: coarse)').matches;document.body.style.setProperty('--pointer-x',(still?0:pointerNX*2.3)+'deg');document.body.style.setProperty('--pointer-y',(still?0:pointerNY*1.8)+'deg');} 5spatialHero?.addEventListener('pointermove',e=>{if(reduced||motionPaused||e.pointerType==='touch')return;pointerNX=(e.clientX/innerWidth-.5)*2;pointerNY=(e.clientY/innerHeight-.5)*2;if(!tiltFrame)tiltFrame=requestAnimationFrame(paintSpatialTilt);},{passive:true}); 6spatialHero?.addEventListener('pointerleave',()=>{pointerNX=pointerNY=0;if(!tiltFrame)tiltFrame=requestAnimationFrame(paintSpatialTilt);}); 7reducedQuery.addEventListener('change',paintSpatialTilt);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.