Skip to content

fragment_field animation rates — field_speed and fold_speed

paramdefaultwhat it scales
fold_speed1.0the domain fold — the five-iteration sine warp that reorganizes the picture in place. This is the component that boils
field_speed1.0the 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, returns

The 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.