Whether animation is currently playing
Target FPS for animation
Loop behavior (once, loop, bounce)
Current animation direction
Last update timestamp (ms since epoch)
Frame counter for FPS measurement
Time of last FPS measurement
Measured actual FPS (may differ from target)
Playback "detail": how deep every frame's additive ladder is loaded while
this dimension plays (and scrubs). A number pins that many rungs
(Infinity = the whole ladder); 'auto' pins each ladder at the first rung
whose cumulative energy reaches config.dimensionAnimation.playback.autoEnergyThreshold
(an unstamped ladder stays time-budgeted); null streams whatever is
resident within the tick ("Fast"). Threaded to the progressive loaders as
ViewState.ladderDepth.
Explicit per-tick step size in dimension units; null = Auto (continuous dims derive the increment from fps + the range-traversal time, discrete dims use their authored step). Also consumed by the [ / ] keyboard navigation. Deliberately NOT consumed by the slider wheel/drag — hand stepping stays on the dimension's own base step.
Animation state for a single dimension