acdream/tests/AcDream.App.Tests/World
Erik 67f63e85e5 feat(runtime): bridge executor completion to the placement stream
Cutover slice C0 (docs/plans/2026-08-02-placement-cutover.md): the seam
work that lets C3 flip hosts onto a complete receipt stream instead of
growing one mid-cutover. The executor's Released exit now publishes an
acknowledge-only ExecutorCompleted receipt through the one placement
projection stream — registered before observer dispatch, correlated to
the full execution receipt, reaped exactly once on acknowledgement/
discard/session-clear, and counted in the convergence ledger. All three
production placement sinks acknowledge-and-ignore the new kind via early
returns proven behavior-preserving for every existing kind; without them
the first such receipt at cutover would permanently wedge the exact-head
FIFO behind sinks that return false. Provably inert today: the publisher
has no production caller.

Execute's live inputs now derive from Runtime's own owners bound at
GameRuntime construction: UsePositionFromServer is retail's exact
autonomy_level != 2 (CommandInterpreter::UsePositionFromServer
0x006B3B40, startup-only knob), and PlayerDistance uses the live movement
controller's position with a null-safe fallback to the caller struct —
never a fabricated origin. TryPrepareAndSubmitAuthoredPlacement chains
the prepared-collision Setup read through PrepareMover to submission with
zero validation-semantics changes. TryCommitParent and CommitWithdrawal
gain the sibling cancellation flow (residence + ordinary placement
family); TryCommitParent deliberately omits LeaveWorld — retail's
set_parent performs its single gated leave_world (0x00515A90) and a
second would have no counterpart.

Not fully dormant: the two cancellation fixes change Runtime paths
production already calls (today as no-op-adjacent hardening, since
nothing upstream begins a residence yet); everything else is reachable
only by tests. Reviewed: retail-conformance PASS + architecture/
adversarial PASS after one fix round (sink wedge, completion-receipt
lifecycle, null-controller distance). Runtime 921/921; complete Release
solution 10,716 passed / 4 intentional skips.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-02 05:22:37 +02:00
..
CompositeLiveEntityResourceLifecycleTests.cs fix(rendering): bound portal resource lifetime 2026-07-18 21:35:16 +02:00
DeferredLiveEntityRuntimeComponentLifecycleTests.cs refactor(runtime): own canonical entity and object lifetime 2026-07-26 05:54:46 +02:00
DormantLiveEntityStoreTests.cs fix(streaming): preserve portal destination ownership 2026-07-25 08:35:12 +02:00
ExternalContainerLifecycleControllerTests.cs fix(items): finish corpse pickup and combat switching 2026-07-17 18:35:29 +02:00
GameWindowLiveEntityCompositionTests.cs fix(interaction): restore retail loot placement and world-drop projection 2026-07-27 00:03:15 +02:00
LiveEntityHydrationControllerTests.cs fix(interaction): restore retail loot placement and world-drop projection 2026-07-27 00:03:15 +02:00
LiveEntityLifecycleStressTests.cs refactor(runtime): close simulation ownership 2026-07-26 15:53:31 +02:00
LiveEntityLivenessControllerTests.cs refactor(app): key live projections by runtime identity 2026-07-25 21:50:58 +02:00
LiveEntityPhysicsHostOwnershipTests.cs refactor(runtime): close simulation ownership 2026-07-26 15:53:31 +02:00
LiveEntityPresentationControllerTests.cs refactor(runtime): own canonical entity and object lifetime 2026-07-26 05:54:46 +02:00
LiveEntityProjectionWithdrawalControllerTests.cs refactor(runtime): own projectile simulation 2026-07-26 14:17:42 +02:00
LiveEntityRuntimeTeardownControllerTests.cs refactor(app): key live projections by runtime identity 2026-07-25 21:50:58 +02:00
LiveEntityRuntimeTests.cs feat(app): stage live entities before runtime placement 2026-08-01 18:43:23 +02:00
LiveEntitySameGenerationUpdateRouterTests.cs refactor(runtime): move accepted entity wire state 2026-07-25 19:52:29 +02:00
LiveEntityTeardownPlanTests.cs fix(rendering): bound portal resource lifetime 2026-07-18 21:35:16 +02:00
LiveEntityTestFixture.cs refactor(app): key live projections by runtime identity 2026-07-25 21:50:58 +02:00
LiveEntityWorldOriginCoordinatorTests.cs refactor(runtime): own world reveal generation 2026-07-26 17:09:54 +02:00
LiveObjectFrameControllerTests.cs refactor(settings): own two-phase runtime settings 2026-07-22 13:30:22 +02:00
LiveWorldOriginStateTests.cs refactor(update): cut over the frame orchestrator 2026-07-22 03:31:38 +02:00
PendingSplitToWorldProjectionTests.cs fix(interaction): restore retail loot placement and world-drop projection 2026-07-27 00:03:15 +02:00
RecallTeleportAnimationTests.cs refactor(runtime): own teleport destination correlation 2026-07-26 17:52:34 +02:00
RetailInboundEventDispatcherTests.cs test(app): put every strict-zero site on the probe (#250) 2026-07-29 03:49:13 +02:00
RuntimeEntityOwnershipTests.cs feat(render): Campaign V slice V11 commit 1 - delete ImGui, Studio, and the DevTools frontend 2026-07-28 23:56:04 +02:00
RuntimePlacementPresentationSinkTests.cs feat(runtime): bridge executor completion to the placement stream 2026-08-02 05:22:37 +02:00
UpdateFrameOrchestratorTests.cs feat(app): observe canonical placement receipts 2026-08-01 15:22:52 +02:00
WorldEnvironmentControllerTests.cs refactor(runtime): own world environment state 2026-07-26 16:45:04 +02:00