fix(portal): synchronize destination presentation state
This commit is contained in:
parent
4b1bceefbb
commit
e95f55f25b
42 changed files with 2815 additions and 288 deletions
|
|
@ -27,7 +27,8 @@ active enchantment, then recall through the DAT-driven portal presentation.
|
|||
3. **Pending user visual gate:** connected projectile/self-buff casts plus the
|
||||
complete retained magic UI interaction checklist.
|
||||
4. **Pending user visual gate:** two-client portal-out/materialization observer
|
||||
presentation before M3 closes.
|
||||
presentation before M3 closes, including #218's finished Hidden silhouette,
|
||||
fully rendered destination reveal, and no indoor stop-time position snap.
|
||||
|
||||
Opportunistic UI/physics fixes are no longer the work-order driver. They enter
|
||||
the active slice only when they block this demo or represent a severe regression.
|
||||
|
|
|
|||
|
|
@ -332,6 +332,37 @@ the Lifestone recall boundary and a MagicPortal casting timeline. The user
|
|||
confirmed `/ls` and spell-recall arrivals no longer replay their animation
|
||||
tails; additional portal visual polish is explicitly deferred.
|
||||
|
||||
**2026-07-16 corrective portal gate (#218).** A side-by-side retail observer
|
||||
check found three distinct state-publication defects after the arrival-tail
|
||||
fix. Hidden now recomposes the post-`HandleEnterWorld` cyclic pose without
|
||||
advancing animation time before its zero-time purple PES hooks run. Portal
|
||||
space now waits for both completed static/EnvCell mesh uploads (including the
|
||||
texture flush) and collision residency; dense
|
||||
outdoor landblocks no longer abort at the obsolete 256-entry procedural
|
||||
scenery id boundary (`0x8XXYYIII`, 4,096 entries). Finally, successful indoor
|
||||
transitions commit the full resolved EnvCell/frame into the canonical outbound
|
||||
Position, preventing stop-time snaps to the dungeon entrance on retail
|
||||
observers. GPU-evicted meshes are re-staged from a bounded texture-complete CPU
|
||||
cache instead of becoming false-ready or permanently absent. Portal readiness
|
||||
also requires Near-tier ownership throughout the ring; stale worker completions
|
||||
carry a hard-recenter generation and cannot overwrite a newer tier/window, and
|
||||
a first Near completion demoted in flight is published as its equivalent
|
||||
terrain-only Far payload rather than dropped. Upload completion is separate
|
||||
from logical mesh ownership; landblock/static/EnvCell pins now balance across
|
||||
unload and zero-owner late uploads remain evictable. A self-contained promotion
|
||||
that supersedes a queued Far load publishes directly as a real Near landblock;
|
||||
there is no provisional transaction waiting indefinitely for a base that the
|
||||
streamer intentionally cancelled. Near-to-Far now has an explicit cross-layer
|
||||
demotion transaction that preserves terrain while retiring EnvCells, indoor
|
||||
physics/buildings, static collision, lights, translucency state, entities, and
|
||||
render pins. Cross-landblock static shadow footprints are removed by logical
|
||||
owner while dynamic registrations remain refloodable; duplicate Near
|
||||
completions are publication-idempotent. Full unload shares the static-owner
|
||||
teardown, and surviving adjacent owners remember withdrawn prefixes so their
|
||||
cross-seam rows return when a landblock is promoted again.
|
||||
Automated gates are green; the connected single-/two-client visual gate is
|
||||
pending.
|
||||
|
||||
---
|
||||
|
||||
#### (historical M1.5 working notes below)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue