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
|
|
@ -115,7 +115,7 @@ public sealed class DeferredLiveEntityRuntimeComponentLifecycleTests
|
|||
new DelegateLiveEntityResourceLifecycle(_ => { }, _ => { }),
|
||||
bridge);
|
||||
WorldSession.EntitySpawn spawn = CreateSpawn(guid);
|
||||
LiveEntityRecord record = runtime.RegisterLiveEntity(spawn).Record!;
|
||||
LiveEntityRecord record = runtime.RegisterAndMaterializeProjection(spawn);
|
||||
var delete = new DeleteObject.Parsed(guid, InstanceSequence: 1);
|
||||
|
||||
Assert.Throws<AggregateException>(() =>
|
||||
|
|
@ -139,7 +139,8 @@ public sealed class DeferredLiveEntityRuntimeComponentLifecycleTests
|
|||
var runtime = new LiveEntityRuntime(
|
||||
new GpuWorldState(),
|
||||
new DelegateLiveEntityResourceLifecycle(_ => { }, _ => { }));
|
||||
return runtime.RegisterLiveEntity(CreateSpawn(0x70000001u)).Record!;
|
||||
return runtime.RegisterAndMaterializeProjection(
|
||||
CreateSpawn(0x70000001u));
|
||||
}
|
||||
|
||||
private static WorldSession.EntitySpawn CreateSpawn(uint guid) =>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue