fragment_field animation rates — field_speed and fold_speed
| param | default | what it scales |
|---|---|---|
fold_speed | 1.0 | the domain fold — the five-iteration sine warp that reorganizes the picture in place. This is the component that boils |
field_speed | 1.0 | the field sweep — the sine that carries the bands across the frame |
Both are rates in units of the scene’s own default speed, so 1.0 is exactly
what this scene has always animated at and a preset binding neither renders as it
always did. 0.4 is 0.4x as fast; 0 freezes that component; 2 doubles it.
They exist because warp was the only lever and it is the wrong one. warp
is the fold’s amplitude, so turning it down to calm a world does not slow the
fold — it flattens it, and the eddies and closed loops that make a flow legible
go with it. Measured on one preset at matched scene phase: fold_speed/
field_speed at 0.4 reach the same field the default reaches, just later;
warp dropped from 0.55 to 0.22 reaches a different, flatter field that
the default never draws. Slow it with the rates; reshape it with warp.
A rate here integrates a phase (ADR-0132), which is what makes it safe to bind to audio:
field_speed = "0.2 + clamp(bass * 0.4, 0, 0.3)" # quickens under bass, returnsThe scene keeps an accumulator and adds rate * dt to it each frame, rather than
multiplying the shared clock. The difference only shows once a binding moves:
under a multiply, a rate swinging from 1.0 to 1.5 at t = 100 s would advance
the phase by fifty seconds in one frame — a teleport, not an acceleration.
Integrated, the same swing bends the motion. (warp_speed on warp_mesh is the
same shape for the same reason.)
The two fold rates stay welded in their designed 0.7 : 0.6 quadrature ratio
under one fold_speed; they are a sine/cosine pair chosen not to beat against
each other, and nothing has asked for them to diverge.
Built from a8ce055 at version 0.115.0. This site tracks main and is not versioned per release.