Skip to main content

Module node

Module node 

Source
Expand description

Runtime animation nodes and their interpreters. Runtime animation nodes and their interpreters.

This is the closed core of the animation tree: NodeContent is the runtime vocabulary (sequence, stack, leaf, static, audio), AnimNode wraps it with the timing shell, and all structural traversals — visual evaluation, seal-time audio baking, and preview introspection — live here.

Authoring sugar (AnimSequence, AnimStack, AnimLagged) is layered on top in crate::animation::compose; user leaf protocols live in crate::animation::eval.

Structs§

AnimNode
A single runtime animation node: one closed NodeContent plus everything every kind shares — the subtree, the content axis, and the timing shell (window, rate, enable) in this node’s parent’s coordinates.
AnimationInfo
Hierarchical runtime animation information used by preview tooling.
MixAff 🔒
An affine map from global seconds to content seconds: t = a + b·x.

Enums§

AnimationInfoKind
Runtime animation content category used by preview tooling.
NodeContent 🔒
What a runtime node IS — the closed vocabulary of the tree.
Residual 🔒
The non-linear remainder of the audio plane, as a compact tree.
ResidualLink 🔒
Construction-time residual: paths keyed by node identity, so shared prefixes merge soundly; ResidualLink::compact then flattens it into the walked form.

Functions§

bake_audio 🔒
Bake the tree’s whole audio plane over [0, total_secs] into one interleaved stereo buffer at sample_rate.
eval_sequence 🔒
Sequence evaluation: the LAST child containing the content time runs (children placed with .at() inside a sequence may overlap; the later one wins — this exclusivity is what makes a sequence more than sugar for a stack of placements).
eval_stack 🔒
Stack evaluation: EVERY child containing the content time runs, outputs sum.
static_cell 🔒
Build a static cell replaying already-sampled items over time_range.