fix(render): FW4 slice 2 - exit seals stamp the walk''s own flood
The cathedral falls shine-through (owner report at the #456 terrace seam, toggling with the camera''s side of the seam): the probe''s new phase tags pinned the falls emitters to the cell-owners route submitting POST-depth-clear on interior roots - retail''s own timing, safe only because seals own the aperture depth by the end-of-frame alpha drain. Our seal SET still came from the old apparatus''s flood, which misses exit portals at the #456 seam band (its never-drawn panel family), so the drain z-passed across the unsealed opening. DrawWalkExitPortalMasks now stamps the walk''s own ordered interior flood (WalkFrameDriver.InteriorFloodCells, captured at OnInteriorFloodDrawTurn - retail PView::DrawCells pc:432785-432786), keeping the old assembly''s per-cell slice clips where present and sealing unclipped where the old apparatus had no entry (benign: the exact dat aperture polygon, z-tested). The legacy path keeps the old seal draw. Also: ACDREAM_PROBE_WALK_ROOT gains [walk-part]/[walk-alpha] phase-tagged submission/drain lines (the apparatus that pinned this). Hermetic 6,762/0, Walk lane 213/1, InstalledDat walk conformance 40/1. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
37febd1fe6
commit
c40aecfc8c
8 changed files with 136 additions and 4 deletions
|
|
@ -315,7 +315,7 @@ issue is closed, the strip was missed; delete both.
|
|||
| `ACDREAM_PROBE_CHILD_CELL` | c4 route 7 | `=1` | gates one `[child-cell]` line per Runtime committed-child canonical-cell write in `RuntimeLiveEntitySessionController`, `RuntimeEntityObjectLifetime`, `RuntimeEntityDirectory` (parent/child guid, old/new cell, cause tag) | print-only | `PhysicsDiagnostics.ProbeChildCellEnabled` |
|
||||
| `ACDREAM_PROBE_CLIPROUTE` | "throwaway apparatus — strip once §4 ships" | `=1` | print-on-change `[clip-route]` / `[clip-route-disp]` / `[clip-route-scis]` lines: outside-slice clip routing, region-SSBO bytes, terrain-UBO head, actual GL/RHI scissor state | print-only | `RenderingDiagnostics.ProbeClipRouteEnabled` |
|
||||
| `ACDREAM_PROBE_WALK_SHADOW` | Campaign FW3.2b-2 flip apparatus — dies with the flip commit | `=1` | runs the PRODUCTION retail frame walk per frame in SHADOW (no draws change) and prints one `[walk-shadow]` line per frame whose visited cell/building sets diverge from the old visibility path (the I5 dual-shadow pattern applied to the FW3 static cutover) | print-only; adds the per-frame CPU cost of the shadow walk while set | `RenderingDiagnostics.ProbeWalkShadowEnabled` |
|
||||
| `ACDREAM_PROBE_WALK_ROOT` | FW3 visual-gate apparatus (stairwell-transition defect) — dies with that fix | `=1` | after every interior/outdoor root flip, prints 8 `[walk-root]` lines (one per frame): viewer cell, root cell, camera-cell resolution, slice count, eye position, and the walk's visited cell list — pins which crossing frames root wrong or flood short | print-only | `RenderingDiagnostics.ProbeWalkRootEnabled` |
|
||||
| `ACDREAM_PROBE_WALK_ROOT` | FW3 visual-gate apparatus (stairwell-transition + cathedral-falls defects) — dies with those fixes | `=1` | after every interior/outdoor root flip, prints 8 `[walk-root]` lines (one per frame): viewer cell, root cell, camera-cell resolution, slice count, eye position, and the walk's visited cell list; also prints `[walk-part]` lines at every particle submission route (route name, owner ids, pre/post-depth-clear phase) and `[walk-alpha]` lines at every retail alpha-queue drain — together they pin which crossing frames root wrong, flood short, or submit particles after the interior depth clear | print-only; chatty near particle-heavy scenes while set | `RenderingDiagnostics.ProbeWalkRootEnabled` |
|
||||
| `ACDREAM_PROBE_CONTACT_PLANE` | spike-only, 2026-05-20 | `=1` | gates one `[cp-write]` line per write to `CollisionInfo.ContactPlane*`/`LastKnownContactPlane*` fields (field, old→new, caller method via stack walk, source line); only logs on actual value changes | print-only, but performs a stack walk to identify the caller method when firing — real CPU cost per write while on (not just a string format); suppresses no-op writes to bound volume | `PhysicsDiagnostics.ProbeContactPlaneEnabled` |
|
||||
| `ACDREAM_PROBE_ENT` | #138 | `="1"` | Traces the persistent player entity across teleport streaming churn: presence in the render draw-set flat view vs. survival of the dynamics cull, to distinguish "missing from draw set" vs "present but culled" | print-only, "Observation-only — emits no behavior change" (doc comment). `LogPlayerDynOnChange` dedupes by transition to avoid per-frame spam. Marked STRIP-once-root-caused (like the dense-town FPS apparatus). | `EntityVanishProbe.Enabled` (`EntityVanishProbe.cs:23-24`), issue #138-B |
|
||||
| `ACDREAM_PROBE_FLAP` | "throwaway apparatus — strip once the flap mechanism is confirmed" | `=1` | EVERY FRAME (unthrottled, not change-gated) while the camera root is indoor: `[flap]` from `PortalVisibilityBuilder.Build` (portal side-test/traverse/cull/projection) + paired `[flap-cam]` from `PhysicsCameraCollisionProbe`/`[flap-sweep]` (FindCameraCell resolution, eye positions) | print-only, but unthrottled per-frame `StringBuilder` allocation + `Console.WriteLine` on multiple call sites while indoor — heavy log volume/allocation under sustained indoor play; does not alter rendered output | `RenderingDiagnostics.ProbeFlapEnabled` |
|
||||
|
|
|
|||
|
|
@ -506,6 +506,26 @@ SEALS + cell slices still assemble from the old per-cell views (identical
|
|||
dat portal polygons; only the visible SET can differ), and interior-root
|
||||
look-in seeding still reads the old outside view.
|
||||
|
||||
**FW4 SLICE 2 — the walk-flood seal cutover (2026-08-30, pulled forward
|
||||
from the FW3 visual gate's cathedral round).** The owner's cathedral
|
||||
report (waterfall particles shining through from the terrace — toggling
|
||||
with which side of the #456 seam the CAMERA resolves to) probe-pinned via
|
||||
the `[walk-part]`/`[walk-alpha]` phase tags: the falls emitters ride the
|
||||
cell-owners route and submit POST-depth-clear on interior-rooted frames
|
||||
(retail's own timing — cell-scope alpha drains at the end-of-frame flush
|
||||
against seal-owned depth), but our seal SET still came from the old
|
||||
apparatus's flood, which misses exit portals at the #456 seam band (its
|
||||
never-drawn panel family) — unsealed aperture depth let the end-of-frame
|
||||
drain z-pass across the whole opening. `DrawWalkExitPortalMasks` now
|
||||
stamps THE WALK'S OWN ordered interior flood
|
||||
(`WalkFrameDriver.InteriorFloodCells`, captured at
|
||||
`OnInteriorFloodDrawTurn` — retail pc:432785-432786's reverse
|
||||
cell_draw_list), with the old assembly's per-cell slice clips where
|
||||
present and unclipped seals (benign: exact dat aperture polygon,
|
||||
z-tested) where the old apparatus had no entry. The legacy !walkActive
|
||||
path keeps the old seal draw. Suites: hermetic 6,762/0, Walk lane 213/1,
|
||||
InstalledDat walk conformance 40/1.
|
||||
|
||||
- Entities gate per view via `Render::viewconeCheck` at their cell's walk
|
||||
turn; dynamics-last and alpha interleave per the walk's stages
|
||||
(`RetailAlphaQueue` becomes the stream's alpha stage or is absorbed —
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue