refactor(app): key live projections by runtime identity
Move materialized live-object sidecars and presentation worksets to exact RuntimeEntityKey ownership. Runtime remains the only GUID/incarnation/local-ID authority while hydration, animation, effects, lights, equipped children, renderer resources, visibility, liveness, and teardown resolve exact projection identities. Preserve synchronous callbacks, local-ID allocation order, and current rendering behavior.
This commit is contained in:
parent
e18df84437
commit
420e5eea70
73 changed files with 2939 additions and 1715 deletions
|
|
@ -524,15 +524,8 @@ public sealed class GameWindow :
|
|||
/// projection, including live objects parked in pending landblocks;
|
||||
/// visibility must never suppress authoritative mutation.
|
||||
/// </summary>
|
||||
private static readonly IReadOnlyDictionary<uint, AcDream.Core.World.WorldEntity> EmptyLiveEntityMap =
|
||||
new Dictionary<uint, AcDream.Core.World.WorldEntity>();
|
||||
private static readonly IReadOnlyDictionary<uint, AcDream.Core.Net.WorldSession.EntitySpawn> EmptyLiveSpawnMap =
|
||||
new Dictionary<uint, AcDream.Core.Net.WorldSession.EntitySpawn>();
|
||||
private IReadOnlyDictionary<uint, AcDream.Core.World.WorldEntity> _entitiesByServerGuid =>
|
||||
_liveEntities?.MaterializedWorldEntities ?? EmptyLiveEntityMap;
|
||||
/// <summary>Visible-only view for radar, picking, status, and targets.</summary>
|
||||
private IReadOnlyDictionary<uint, AcDream.Core.World.WorldEntity> _visibleEntitiesByServerGuid =>
|
||||
_liveEntities?.WorldEntities ?? EmptyLiveEntityMap;
|
||||
/// <summary>
|
||||
/// Latest <see cref="AcDream.Core.Net.WorldSession.EntitySpawn"/> for each
|
||||
/// guid. Captured before the renderability gate so no-position inventory /
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue