Growth without a video
Roots are not a frame sequence. Each root layer ships as a colour plate plus a data plate whose red channel holds the time that pixel was born, baked out of the growth simulation. The shader draws everything born before the current scroll depth and feathers the edge, so growth is continuous at any scroll speed, has no loop to seam, and costs two images instead of a film.
The data plate has to be read raw. It is written as non colour data, so the byte is the value. Letting the browser apply an sRGB decode bent the timeline badly enough that half the growth landed in the first fifth of the scroll.
The lag is the trick
Driving growth straight off scroll position pins the growing front to one line of the screen, because birth time is depth and the wall scrolls exactly one metre per tile. Nothing ever changes where you are looking. Chasing the target instead of matching it means every scroll leaves the tips behind and you watch them catch up.
What moves, and what does not
There are no worms. Roots, mycelium, water and rock only, which leaves very little honest movement in a static face. Roots growing works because roots grow. Loose crumbs work because you are the disturbance: they spawn against scroll distance, live in document coordinates so they fall down the wall they came out of, and land under real gravity.
Moisture does not move, deliberately. Four attempts at animating the damp patches, drifting sheen, per patch pulse, specular glint, all read as a film laid over the wall rather than as wet ground, and none of them were perceptible to the person looking. A ten second moisture pulse was invented. The patches are baked into the plates and stay put.
Light
One number does the lighting. The cut is a slot 1.6 m wide with camera invisible blockers, so the open sky above is the only source. Sky visibility falls with the width of that opening, which is what makes the descent go dark on its own, and 1.6 m puts the shadow line about a third of the way down.
Still open
Roots stop at 2.7 m, so the bottom two tiles carry nothing but rock and are the least interesting scroll on the page. Mycelium is one tile where it should probably be three. The wall is a single column, so a wide monitor gets a tall thin strip of soil with a lot of paper either side.