A value can also be a curve.
The timeline carries grouped tracks, zoom, keyframe selection and dragging, copy, paste and delete, precise time, value and easing controls, and a playback range. Undo records a complete drag as one action. Scrubbing and playing do not fill history.
Tracks
A track names a paramId, an interpolation of linear or step, and its keyframes. Each key carries a time in seconds and a numeric value. An optional per-key easing controls the outgoing segment: linear, ease-in, ease-out, ease-in-out or step.
Stable key ids are assigned when absent. Preserve them when updating keys, and use the session’s keyframe operations instead of replacing arrays from a component.
Exported animation and saved drafts can carry a loopRange of { start, end }. Without one, playback uses the whole timeline.
Any numeric parameter can be animated from its actions menu, even when the manifest declares no tracks. Changing the duration scales key times and the playback range, and that is undoable too.
The curve editor edits the selected track, or the first one when no key is selected, and can add and remove points. Its line samples the easing actually in force, not an idealised shape.
Seven ways to drive a number
Every top-level numeric parameter owns exactly one source, stored in drafts, snapshots and exports. Changing the mode replaces the previous driver instead of stacking one on top of it.
| Mode | What it does |
|---|---|
local |
The number is its own value. The default. |
parameter |
It reads another editable number. |
expression |
Parameter names, t, pi, arithmetic and a small allowlist of maths functions. It never runs JavaScript. |
animation |
A track on the timeline, with keys and easing. |
macro |
One input mapped into a declared output range. |
modulation |
Samples time without rewriting the local value. Noise is seeded. Envelopes have attack, hold and release. |
blend |
Interpolates two numeric endpoints, by a fixed amount or by another parameter. |
An invalid source or a circular reference leaves the stored value usable and reports the error on that parameter’s own control.
What tracks do not cover
Tracks animate top-level numeric values. Composite, vector and color fields are editable, saved, exported and undoable, but do not yet take per-component tracks. A generic profile control does not automatically become timeline easing: the rig decides how to consume its data.
Duration and playhead roles drive the actual session, and neither they nor read-only outputs can acquire a manual track.
Comparing
Reference and Current sample animated values at the same position in time, so a comparison is between two results and not between two moments. Snapshots can be named, restored and removed, restoring one brings back the active reference with it, and all of those actions are undoable. History keeps the last hundred actions of the session.