Drive · one t
Layers · image = f(t, params)
Deliver · frame by frame
connections t t t transforms render pass pixels frames encode uniforms dissect One clock beat table · t Motion layer gsap · springs three.js Spatial layer three.js · camera Material layer fragment shader Parameter panel uniforms · sliders Shader commons open galleries Composite blend · bloom Offline render seek · supersample Master the finished spot request path out of bandhover to isolate · click to pin · esc to release
Pick a box to read why it is in the stack.
image = f(uv, t, params): one function, evaluated for every pixel, every frame. That is why nothing in it is 'an effect applied to footage' — the aurora, the energy flow, the fog ARE the image, recomputed whole each frame, which makes every parameter animatable by construction and the whole thing renderable at any resolution.
Motion, scene and shader all read the same t and keep no time of their own. That single discipline buys everything downstream: seek any frame and get the same image, tune a look live and render it offline unchanged, supersample at costs realtime could never pay — the same determinism rule the video studio already enforces on its GSAP shots.
The motion layer is legislated here — HyperFrames renders it, the Spring Studio measures it. The spatial layer has a foothold (three.js drives the lanyard). The material layer is the open slot: the studio's films are motion over real UI, with no per-pixel ambience underneath yet. The route in is the house method — dissect an annotated open shader, replicate it, legislate it into a skill.