Imperative engines can express tension arcs as continuous automation; cyclic engines can only produce section-quantized staircases
The imperative paradigm (ChucK/Sonic Pi/SuperCollider) advances time continuously and runs concurrent self-timed voices, enabling arrangement-level concepts like tension-arc, density-curve, and build-up as continuous automation — a value ramped at every now/sleep step. In cyclic and graph engines (Strudel/Tidal/Glicol), the same arcs are section-quantized: they are a staircase of section states because there is no session-timeline lane. This means that for smooth, continuously-evolving arcs and for independent-voice interplay that drifts and realigns, the imperative engines are the appropriate choice. The rig’s own browser engines (Strudel, Glicol) are section-quantized for arcs — this is not a limitation of the concept but of the specific engine environment.
Examples
ChucK build-up: ramp a gain value from 0.1 to 1.0 over 8 bars in a tight loop with 0.1::second => now. Strudel: can only switch between pre-defined density states at cycle boundaries.
Assessment
Explain why Strudel cannot produce a perfectly smooth 8-bar filter sweep (only an approximation), while ChucK can. What does ‘section-quantized’ mean in practice for arrangement design?