diag(render): §4 flap [clip-route] probe — slot routing + clip-buffer content + landscape scissor
The decisive probe between the two surviving suspects from the 2026-06-09 building-flood-merge handoff (docs/research/2026-06-09-flap-outdoor-fullworld- building-flood-merge-handoff.md section 1), gated by ACDREAM_PROBE_CLIPROUTE=1, all print-on-change: - [clip-route] (RetailPViewRenderer.DrawLandscapeThroughOutsideView): the outside slice slot + NDC AABB + planes, the CellIdToSlot routing table, the region-SSBO bytes DECODED at the routed slot, and the terrain-UBO head — captured after SetTerrainClip + UploadClipFrame + SetClipRouting, i.e. exactly what the landscape draws consume. Pins/refutes suspect (b) and the slot-repack half of suspect (a). - [clip-route-disp] (WbDrawDispatcher.Draw, routed draws only): per-slot instance histogram exactly as staged for binding=3 plus the count of entities dropped by ResolveSlotForFrame CULL. Pins/refutes the instance-routing half of suspect (a). - [clip-route-scis] (GameWindow.DrawRetailPViewLandscapeSlice): the ACTUAL GL scissor enable + box read back right after BeginDoorwayScissor — the whole landscape pass (sky + terrain + outdoor entities + player) draws inside this box, so a doorway-sized box here IS the full-world kill by construction. Code-reading findings recorded while building the probe: the landscape pass is scissored to slice.NdcAabb end-to-end (GameWindow.cs DrawRetailPViewLandscapeSlice), and ResolveEntitySlot CULLs server entities with null ParentCellId while routing is active — both now directly observable under the probe. Throwaway apparatus — strip once §4 ships. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
d877e4329a
commit
682cba36f1
4 changed files with 194 additions and 0 deletions
|
|
@ -155,6 +155,23 @@ public static class RenderingDiagnostics
|
|||
public static bool ProbeGlStateEnabled { get; set; } =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_PROBE_GLSTATE") == "1";
|
||||
|
||||
/// <summary>
|
||||
/// §4 outdoor full-world flap apparatus (2026-06-10) — the decisive probe between the two
|
||||
/// surviving suspects (handoff 2026-06-09 §1): (a) per-instance clip-slot routing under
|
||||
/// outdoor roots, (b) terrain/sky UBO content at draw time — plus the landscape-pass scissor
|
||||
/// box as a third ground truth. When true: RetailPViewRenderer.DrawLandscapeThroughOutsideView
|
||||
/// emits one <c>[clip-route]</c> line (print-on-change) with the outside slice's slot + NDC
|
||||
/// AABB + planes, the CellIdToSlot routing table, the region-SSBO bytes decoded at the routed
|
||||
/// slot, and the terrain-UBO head as uploaded; WbDrawDispatcher.Draw emits one
|
||||
/// <c>[clip-route-disp]</c> line (print-on-change, routed draws only) with the per-slot
|
||||
/// instance histogram exactly as uploaded to binding=3 plus the culled-entity count; and
|
||||
/// GameWindow.DrawRetailPViewLandscapeSlice emits one <c>[clip-route-scis]</c> line
|
||||
/// (print-on-change) with the ACTUAL GL scissor enable + box the landscape pass draws under.
|
||||
/// Throwaway apparatus — strip once §4 ships. Initial state from <c>ACDREAM_PROBE_CLIPROUTE=1</c>.
|
||||
/// </summary>
|
||||
public static bool ProbeClipRouteEnabled { get; set; } =
|
||||
Environment.GetEnvironmentVariable("ACDREAM_PROBE_CLIPROUTE") == "1";
|
||||
|
||||
/// <summary>
|
||||
/// Bounded-propagation port apparatus (2026-06-08). When true, PortalVisibilityBuilder.Build emits
|
||||
/// one [portal-churn] summary line per call: per-cell pop count (re-pops = churn), total re-enqueues,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue