acdream/tests/AcDream.App.Tests/Rendering/Vfx
Erik 98e9f9e8c6 test(vfx): model the post-f24532ad effect cell and canonical body frame
f24532ad changed two presentation contracts that these fixtures still
expressed in their pre-change shape. Both failures date exactly to that
commit; they are independent of the world-frame family fixed in 6dcb94ac.

LiveEntityLightControllerTests.Refresh_FollowsCurrentTopLevelRootAndCell moved
the entity by writing ParentCellId alone. f24532ad now populates EffectCellId
at materialization and keeps it synchronized on canonical rebuckets
(LiveEntityRuntime.RebucketLiveEntity:845-856), because retail's
CPhysicsObj::set_cell changes the one CObjCell that ShouldDrawParticles reads.
EntityEffectPoseRegistry.UpdateRoot:163 resolves EffectCellId ?? ParentCellId,
so a production cell move writes both together and the old single-field move
left effects and lights on the stale materialization cell.

LiveEntityAnimationSchedulerTests.RetainedProjectileWithRemote_WhenMissileClears_TransfersMovementToRemoteOnce
seeded its shared remote body by assigning Position directly. Projectile
classification now validates and adopts the canonical body's own cell frame
(ProjectileController:184-190 - body.CellPosition.ObjCellId /
.Frame.Origin) rather than deriving it from the sidecar's FullCellId and the
streaming center, since a residence-managed Create legitimately still reports
FullCellId 0. A Runtime-committed body always carries its (cell, local) frame,
so the fixture now seeds it through the same SnapToCell placement API; leaving
it cell-less was correctly refused.

Both fixtures keep their original assertions - only the modelled world state
moved to match what production now commits.

Complete Release solution: 10,831 passed / 4 skipped / 0 failed
(App 4,048/3, Bake 15, Cli 4, Content 124, Core.Net 762, Core 4,247/1,
Headless 79, Runtime 1,009, UI 543).

Closes #281.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-03 13:32:46 +02:00
..
EntityEffectAdvanceSourceTests.cs refactor(app): compose content effects and audio startup 2026-07-22 15:36:05 +02:00
EntityEffectControllerTests.cs fix(vfx): bind effects after canonical placement 2026-08-03 12:10:21 +02:00
EntityEffectPoseRegistryTests.cs feat(physics): port retail complete object frame pipeline 2026-07-20 09:10:31 +02:00
EntityEffectProfileTests.cs feat(vfx): port retail effect scheduling and delivery 2026-07-14 09:25:44 +02:00
EntityScriptActivatorTests.cs test(app): freeze GameWindow lifecycle boundaries 2026-07-22 09:27:55 +02:00
IndexedSetupPartPoseBuilderTests.cs feat(vfx): bind effects to live animated poses 2026-07-14 10:56:01 +02:00
LiveEntityLightControllerTests.cs test(vfx): model the post-f24532ad effect cell and canonical body frame 2026-08-03 13:32:46 +02:00
ParticleVisibilityControllerTests.cs refactor(render): extract world scene frame owner 2026-07-22 07:22:09 +02:00