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§
- Anim
Node - A single runtime animation node: one closed
NodeContentplus everything every kind shares — the subtree, the content axis, and the timing shell (window, rate, enable) in this node’s parent’s coordinates. - Animation
Info - Hierarchical runtime animation information used by preview tooling.
- MixAff 🔒
- An affine map from global seconds to content seconds:
t = a + b·x.
Enums§
- Animation
Info Kind - Runtime animation content category used by preview tooling.
- Node
Content 🔒 - What a runtime node IS — the closed vocabulary of the tree.
- Residual 🔒
- The non-linear remainder of the audio plane, as a compact tree.
- Residual
Link 🔒 - Construction-time residual: paths keyed by node identity, so shared
prefixes merge soundly;
ResidualLink::compactthen 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 atsample_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.