fix(motion): restore retail object manager order
Process animation completion at the retail process_hooks boundary, then run targeting, movement, PartArray completion, and PositionManager in the named UpdateObjectInternal order for local, remote, hidden, and position-less animated objects. Retire TS-42 with deterministic conformance coverage.\n\nCo-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
0f996db747
commit
c5ab99081c
17 changed files with 493 additions and 98 deletions
|
|
@ -871,7 +871,10 @@ diagnostic scaffolding, not yet the final collision system.
|
|||
zero behavior change; 15 facade conformance tests; suite 4052 green with the
|
||||
183-case/funnel/moveto/chase/sticky suites unmodified. Arc close-out:
|
||||
`docs/research/2026-07-03-r5-managers/r5-wiring-handoff.md`. Open follow-ons
|
||||
carried: #167 (ConstraintManager arming), TS-42 per-tick order (R6).
|
||||
carried: #167 (ConstraintManager arming). TS-42's per-tick completion/
|
||||
manager order retired in the first R6 cutover on 2026-07-19; complete-frame
|
||||
plumbing, PositionManager interpolation, quantum ownership, and side-channel
|
||||
deletion remain R6 scope.
|
||||
- **L.2g — Inbound motion interpretation (remote-entity CMotionInterp funnel).**
|
||||
ACTIVE 2026-07-02. Port retail's inbound motion pipeline verbatim for ALL
|
||||
remote entities (players, NPCs, monsters — one funnel, user-approved):
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@ render/resource-lifetime integration passed its seven-destination connected
|
|||
stress gate without a crash or cumulative collapse. The remaining M3 visual
|
||||
requirement is the final two-client portal-out/materialize observer gate.
|
||||
Carried:
|
||||
#145-residual, #116 slide-response, R6/TS-42, and Track MP0.
|
||||
#145-residual, #116 slide-response, the remaining R6 object-pipeline cutover
|
||||
(TS-42 manager order retired 2026-07-19), and Track MP0.
|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
|
|
@ -48,8 +48,11 @@ CPhysicsObj (local player, remote player, NPC, monster — ONE pipeline)
|
|||
└─ per-tick UpdateObjectInternal 0x005156b0 order:
|
||||
CPartArray.Update (CSequence root motion) → PositionManager.adjust_offset
|
||||
(chase REPLACES) → Frame.combine → UpdatePhysicsInternal → FULL transition
|
||||
sweep (ALL entities — retires the remote no-sweep fork) → MovementManager.UseTime
|
||||
/ CPartArray.HandleMovement / PositionManager.UseTime → process_hooks
|
||||
sweep (ALL entities — retires the remote no-sweep fork) → DetectionManager /
|
||||
TargetManager / MovementManager.UseTime / CPartArray.HandleMovement /
|
||||
PositionManager.UseTime. `process_hooks` is inside UpdatePositionInternal,
|
||||
before the sweep and manager tail (corrected 2026-07-19 from the named
|
||||
retail body; see `docs/research/2026-07-19-r6-update-object-order-pseudocode.md`).
|
||||
```
|
||||
|
||||
## Already-verbatim components (absorbed, not rewritten)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue