fix(runtime): restore interaction completion ownership
Preserve prepublication local motion completion, require the PartArray enter-world lifecycle port, and balance deferred Use busy ownership across dispatch and cancellation. Reconcile the completed GameWindow connected gates and add regression coverage. Co-authored-by: Codex <codex@openai.com>
This commit is contained in:
parent
5c955c36ec
commit
f9736ece6c
26 changed files with 675 additions and 68 deletions
|
|
@ -452,6 +452,7 @@ public sealed class LiveEntityPresentationControllerTests
|
|||
runtime,
|
||||
shadows,
|
||||
(_, _, _) => true,
|
||||
new LiveEntityPartArrayEnterWorldPort(_ => { }),
|
||||
liveCenter: () => (2, 2));
|
||||
|
||||
Assert.True(controller.OnLiveEntityReady(Fixture.Guid));
|
||||
|
|
@ -560,6 +561,7 @@ public sealed class LiveEntityPresentationControllerTests
|
|||
runtime,
|
||||
shadows,
|
||||
(_, _, _) => true,
|
||||
new LiveEntityPartArrayEnterWorldPort(_ => { }),
|
||||
liveCenter: () => (2, 2));
|
||||
Assert.True(controller.OnLiveEntityReady(Fixture.Guid));
|
||||
Assert.Equal(1, shadows.SuspendedRegistrationCount);
|
||||
|
|
@ -696,6 +698,13 @@ public sealed class LiveEntityPresentationControllerTests
|
|||
OnTypedPlay?.Invoke(type);
|
||||
return true;
|
||||
},
|
||||
new LiveEntityPartArrayEnterWorldPort(localEntityId =>
|
||||
{
|
||||
PartArrayEnterWorld.Add(localEntityId);
|
||||
PartArrayShadowCounts.Add(Shadows.TotalRegistered);
|
||||
PresentationOrder.Add("part-array");
|
||||
onPartArrayEnterWorld?.Invoke(localEntityId);
|
||||
}),
|
||||
(parent, noDraw) =>
|
||||
{
|
||||
ChildNoDraw.Add((parent, noDraw));
|
||||
|
|
@ -707,13 +716,7 @@ public sealed class LiveEntityPresentationControllerTests
|
|||
PresentationOrder.Add("target");
|
||||
},
|
||||
() => (1, 1),
|
||||
handlePartArrayEnterWorld: localEntityId =>
|
||||
{
|
||||
PartArrayEnterWorld.Add(localEntityId);
|
||||
PartArrayShadowCounts.Add(Shadows.TotalRegistered);
|
||||
PresentationOrder.Add("part-array");
|
||||
onPartArrayEnterWorld?.Invoke(localEntityId);
|
||||
});
|
||||
onShadowRestored: null);
|
||||
}
|
||||
|
||||
internal static WorldSession.EntitySpawn Spawn(
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue