Receives the effective sampled value for track trackIndex — the object
returned by TrackSampleSink.outFor for in-place kinds, the sampled
primitive or discrete value otherwise.
Storage for track trackIndex's sample. Must be a value of that track's
type and must not alias one of its keyframe values. Ignored — but still
requested — for value kinds whose adapter reports
mutatesInPlace: false.
Where AnimationClip.sampleAll gets its scratch and sends its results.
Split in two so the clip can sample without allocating and without knowing anything about targets. The mixer implements it over arrays indexed the same way as AnimationClip.tracks: one
PropertyBindingper track, resolved once (§16), and one scratch value per track, allocated once.The two-step shape exists because of the
mutatesInPlacesplit in./values.js: for a Vector3 track the sampled value is the scratch object handed out byoutFor, while for a number track it is a fresh primitive thatoutFor's storage never saw. Passing the result back throughapplySampleis the only way to serve both without branching per sample.