diff --git a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md index 5870852f..98a6ae2a 100644 --- a/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md +++ b/docs/research/2026-09-01-overhaul/s5-consumers-material-closeout-packet.md @@ -395,3 +395,13 @@ change code behavior, tests, register/architecture prose, or any other file. Run `git diff --check`, Core particle 47/47, and the combined App/AP-116 41/41; commit once and return to the same narrow retail lens. Any further finding that would require a third fix round stops S5-c1 and is written up. + +### 11.1 Fix-round-2 implementation result + +`UseWorldView` now states the production transaction exactly: every non-login +world frame participates; a PView walk contributes its exact landscape set, +while a null-root safety frame completes `hasCompletedView=true` with an empty +set and no reconstructed fallback. Login and portal-space frames retain +`hasCompletedView=false`. No behavior or assertion changed. Core particle tests +passed 47/47, the combined App visibility/terrain/frame/renderer plus AP-116 +lane passed 41/41, and `git diff --check` is clean. diff --git a/src/AcDream.App/Rendering/Vfx/ParticleVisibilityController.cs b/src/AcDream.App/Rendering/Vfx/ParticleVisibilityController.cs index 5dcb274d..e2e06d5b 100644 --- a/src/AcDream.App/Rendering/Vfx/ParticleVisibilityController.cs +++ b/src/AcDream.App/Rendering/Vfx/ParticleVisibilityController.cs @@ -41,11 +41,13 @@ public sealed class ParticleVisibilityController : IWorldSceneParticleVisibility } /// - /// Declares that this frame has the completed retail PView product: one - /// viewer position plus its exact walk-owned landscape-cell set. Frames - /// without that PView product, including login, portal space, and the - /// null-root terrain safety draw, deliberately omit it; dedicated-pass and - /// examination emitters carry explicit bypass policies. + /// Marks an open non-login world frame as participating in the completed + /// visibility transaction. When a retail PView walk exists, its exact + /// landscape-cell set is added separately. A null-root safety frame still + /// completes with hasCompletedView=true and an empty landscape set; + /// it never reconstructs a fallback. Login and portal-space frames retain + /// hasCompletedView=false. Dedicated-pass and examination emitters + /// carry explicit bypass policies. /// public void UseWorldView() {