Priority 3: Animation

shachi-anim (NJA Loader + Skeletal Playback)

What: Load NJA model/motion files and play skeletal animation. Why: NJA format is ASCII C — trivially parseable. Brings Ninja-level animation to KOS without the precompiled black-box dependency. Reference: codex/ninja/OVERVIEW.md (playback pipeline), codex/ninja/API_SURFACE.md (data structures). Scope: ~500 lines C. - NJA model parser (or: just #include the .nja files like Sega did — zero parsing) - Motion evaluator: interpolate POSITION/ROTATION keyframes per joint - Matrix accumulator: build per-joint world matrices via hierarchy traversal - Draw callback: extract joint positions, then draw per-node with pvr_prim - Motion blending (cross-fade between two motions)


What to Build for Shuriken+ (Mac-Side Tools)