fix(world): complete recall before teleport hide
Match retail's update ordering so object animation, particles, and scripts advance before inbound teleport state is applied. Separate input-originated movement from post-network autonomous position output, and reconcile presentation without a second physics tick so recall cannot resume after arrival. Co-authored-by: OpenAI Codex <codex@openai.com>
This commit is contained in:
parent
dded9e6b17
commit
75acae02d6
13 changed files with 1068 additions and 332 deletions
|
|
@ -312,6 +312,16 @@ a black alpha fade; both compose below retained UI, so
|
|||
chat, panels, toolbar, cursor, and input remain live throughout travel. See
|
||||
`docs/research/2026-07-15-retail-portal-space-pseudocode.md`.
|
||||
|
||||
The live frame barrier now also matches `SmartBox::UseTime`: local/remote
|
||||
object, projectile, animation, final-pose, animation-hook, particle, and
|
||||
owner-script work completes before the inbound network queue is dispatched.
|
||||
Local movement/jump output is committed on that same pre-network side, while a
|
||||
non-advancing post-network pass reconciles children and attached effect/light
|
||||
anchors after authoritative root moves. This prevents ACE's teleport Hidden state
|
||||
from freezing the final fraction of recall and replaying it after materialize,
|
||||
without an arrival reset or Hidden-time animation exception. Automated recall
|
||||
DAT conformance is green; destination-side visual confirmation remains.
|
||||
|
||||
---
|
||||
|
||||
#### (historical M1.5 working notes below)
|
||||
|
|
@ -513,9 +523,9 @@ include dungeons.
|
|||
zero-time recursive chains fail diagnostically while valid timed weather loops
|
||||
continue. The
|
||||
live-pose step now publishes exact root/indexed rigid-part transforms after
|
||||
animation and equipped-child composition, then drains animation hooks,
|
||||
PhysicsScripts, attached emitters/lights, and particle simulation in fixed
|
||||
frame order. World-released particles remain at their birth positions while
|
||||
animation and equipped-child composition, advances existing FP hooks, drains
|
||||
animation hooks, refreshes attached emitters/lights, advances particles, then
|
||||
ticks PhysicsScripts in fixed retail frame order. World-released particles remain at their birth positions while
|
||||
parent-local particles follow; normal/blocking/anonymous logical emitter
|
||||
semantics are exact; pending projections skip particle updates/draw while
|
||||
retaining absolute creation times, the same emitter, and its logical ID, so
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue