Five ribbons fold through value noise and the film grain is re-seeded every frame, from a single WebGL2 canvas.