Nothing here is a video. Scroll position is normalised to 0–1 and handed straight to the fragment shader as a uniform. The corridor is a signed-distance field; you are moving a ray origin through it.
Lenis drives smooth scroll, GSAP's ticker drives the render loop, and the shader reads from the same frame. No competing requestAnimationFrame loops — that is what makes scroll-linked 3D feel attached rather than laggy.
The walls are a repeated box field folded with a modulo, so the corridor is infinite for the cost of one shape. Scrubbing backwards costs exactly the same as scrubbing forwards.
No WebGL2 or reduced-motion enabled, and the canvas is dropped for a static gradient. Every word on this page still reads.