pub struct Binding {
pub name: String,
pub expr: Expr,
pub tau: Easing,
pub hold: Option<HoldEdge>,
pub kind: ParamKind,
}Expand description
A named parameter bound to a compiled expression.
Fields§
§name: StringThe system parameter this drives (e.g. warp, hue).
expr: ExprThe compiled expression producing its per-frame value.
tau: EasingThis binding’s easing constants (ADR-0019 / ADR-0035), read out of the
preset’s [smoothing] table once, here at load.
Easing::INSTANT — the default for an unlisted param — means no
smoothing. Resolved at parse time rather than looked up per binding per
frame (Plan 0031 Phase 3); it is a fact about the preset, and the preset
does not change while it renders.
hold: Option<HoldEdge>The musical edge this binding re-samples on (ADR-0180 rule 2), read out
of the preset’s [hold] table once, here at load, for tau’s
reason and at tau’s boundary.
None – the default for an unlisted param, and what every binding in
the shipped set carried before holds existed – means the scene sees
every frame’s value. Some means it sees the value taken at the last
edge, and the render layer holds that value; nothing here does.
kind: ParamKindWhat the parameter this binding drives is for (ADR-0180 rule 2),
read off its ParamSpec here at
load — tau’s boundary, for tau’s reason. A
Structural value is rounded once, after the
hold and after the smoother, before the scene sees it.
Folded rather than searched per frame: which kind a name carries is a fact about the engine, and the engine does not change while it runs.