fix(streaming): preserve exact live projection identity

Carry RuntimeEntityKey through spatial residency, visibility transitions, rebucketing, quiescence, landblock retirement, and origin recentering. This prevents stale incarnation edges from mutating a replacement projection while retaining the static DAT-entity path.

Validated by 104 focused ownership/streaming tests, the Release solution build, and 8,444 complete Release tests with five existing skips.

Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
Erik 2026-07-25 22:09:55 +02:00
parent 420e5eea70
commit e937cc36df
8 changed files with 338 additions and 120 deletions

View file

@ -335,10 +335,10 @@ internal sealed class SessionPlayerCompositionPhase
live.WorldAvailability,
d.Selection,
live.WorldState,
guid => live.LiveEntities.TryGetLocalEntityId(
guid => live.LiveEntities.TryGetProjectionKey(
guid,
out uint localEntityId)
? localEntityId
out AcDream.Runtime.Entities.RuntimeEntityKey key)
? key
: null,
content.Audio?.Engine);
var compositeWarmupSource =