Skip to content
Shapemetry

@huukhanhnguyen/model / lanes/animations/nodes

lanes/animations/nodes

animationNodeOf()

animationNodeOf(model, key): ChainNode<Chain, { clip: AnimationClip; tracks: Track[]; }>

Parameters

model

Model

key

string

Returns

ChainNode<Chain, { clip: AnimationClip; tracks: Track[]; }>


componentAnimationsNodeOf()

componentAnimationsNodeOf(model, componentKey): ChainNode<Component, { clips: AnimationClip[]; tracks: Track[]; }>

Grain is the COMPONENT: an isolated scope's parameter nodes die with the call, so the node diffs the whole component JSON instead.

Parameters

model

Model

componentKey

string

Returns

ChainNode<Component, { clips: AnimationClip[]; tracks: Track[]; }>


evaluateAnimations()

evaluateAnimations(model): Resolved<{ clips: AnimationClip[]; tracks: Track[]; }>

All model-level animations[] resolved to AnimationClip + the flat track pool every clip/joint/parameter reference resolves against (2026-08-14: a Track carries no target of its own — see evaluateAnimationChain's own header).

Parameters

model

Model

Returns

Resolved<{ clips: AnimationClip[]; tracks: Track[]; }>


evaluateComponentAnimations()

evaluateComponentAnimations(model, componentKey, args?): { clips: AnimationClip[]; tracks: Track[]; }

Animations on one components[] entry (isolated param scope) — the clip/track split evaluateAnimations already returns for the model lane.

Parameters

model

Model

componentKey

string

args?

Record<string, string>

Returns

{ clips: AnimationClip[]; tracks: Track[]; }

clips

clips: AnimationClip[]

tracks

tracks: Track[]

Last updated: 📖 1 min readEdit on GitHub