Scope#
V2 accepts Aja-cleaned and Aja-retargeted motion only after Bellona turns it into a rollback-deterministic animation import artifact:
@aja/neural-retargetingemits the accepted V2 skeleton clip.@bellona/mocapresamples the clip to 60 Hz, snaps every exported frame to an integer frame number, and normalizes notify segments to the same grid.@bellona/unrealreceives an editor-only Live Link handoff for import under/Game/V2/Animation/Mocap/FrameSnap.
Rollback Contract#
The V2 contract rejects any notify segment whose start or end lands between 60
Hz frames. hit-active, armor, cancel-window, root-motion, and foot-contact
segments must use integer frame boundaries before the animation can enter cook.
V2 keeps Unreal Live Link runtime plugins disabled. The Live Link payload in
this path is an editor/cook handoff generated by @bellona/unreal, and the
runtime artifact is a cooked AnimSequence plus notify-segment alignment
evidence.
Validation#
V2/ue/Tools/check-v2-aja-bellona-livelink.py enforces:
@bellona/mocapexports the frame-snap manifest builder.@v2/aja-bellona-livelink-exportdepends on@bellona/mocap,@bellona/unreal, and@v2/aja-studio-mocap-pipeline.V2Servicesregisters@bellona/mocap.docs/domains/aja/deep-dive/specifications.mdanddocs/domains/bellona/deep-dive/specifications.mdcontain the reciprocal Aja + Bellona contract.- V2 TODOs mark the frame-snap and reciprocal task complete.