feat(R1-P5): AnimationSequencer rehosted on the verbatim CSequence core
The adapter keeps its full public surface (every consumer compiles unchanged) while the internals move to Motion.CSequence: DELETED (legacy invented mechanisms, per the R1 gap map + Phase R mandate): the AnimNode class + adapter queue/_currNode/_firstCyclic/ _framePosition, the ACE-fabricated FrameEpsilon boundary math, the safety=64 advance cap, ClearCyclicTail surgery, the stale-head _currNode relocation block, per-node IsLooping/Velocity/Omega, the adapter-side AdvanceToNextAnimation/ApplyPosFrame/ExecuteHooks, the per-node !IsLooping AnimationDone gate (now the core's list-structure head != first_cyclic gate, G5). REHOSTED: SetCycle rebuild = RemoveCyclicAnims (+ClearAnimations for K-fix18) + retail add_motion appends (framerate-only AnimData scaling, G10 loop membership: the LAST appended node is the cyclic tail) + Fix B via RemoveAllLinkAnimations (the core's snap-forward IS Fix B's behavior); Advance = core.Update(dt, null) with hooks flowing through an IAnimHookQueue adapter into the existing ConsumePendingHooks drain; fast path = core.MultiplyCyclicAnimationFramerate + the adapter-level velocity rescale (R2's change_cycle_speed composite stand-in, G13). Kept byte-identical: adjust_motion remap, GetLink + stop-anim fallback, K-fix18, velocity synthesis, SlerpRetailClient, the #61 render-side clamp, SCFAST/SCFULL diagnostics. Tests: 2 updated with decomp citations — the reverse-start boundary now pins retail's bare-int HighFrame+1 (0x00525c80, no epsilon, G1); the root-motion accumulation test pins the inert-stub state pending P6's Frame wiring (G7). All 44 sequencer tests + the 56 core tests + full suite green (3346). Implemented by a dedicated agent against the P5 spec; diff + tests reviewed, suite re-verified before commit. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
658b91d8aa
commit
9147344a6f
2 changed files with 398 additions and 693 deletions
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue