docs(render): §10.6 — post-hoc lens verdicts (three PASS) and the landing-hygiene chunk; AD-17 particle clause corrected

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-09-03 17:50:42 +02:00
parent 6435655d73
commit 6989868c37
2 changed files with 90 additions and 1 deletions

View file

@ -967,6 +967,95 @@ lead's `ACDREAM_DEVTOOLS=1` four-pose self-gate shows no validation error and
no visual delta against `logs/selfgate-20260903-104516-s3-chunk3-r2` beyond
actors/daylight.
### 10.6 Post-hoc three-lens verdict on round 2 and the landing-hygiene chunk (lead, 2026-09-03 evening)
**Verdicts (all three PASS, `s3-chunk4-impl` @ `2e3ae95ff`, run after the API
overload lifted; the lead had already landed the round on its own
verification — §13 S3 row).** The findings are documentation and dead-state
hygiene, none touches admission, order or a pin's discriminating power:
- (major, two lenses) AD-17 still described the deleted scissor fallback in
the chunk's own worktree — already rewritten on the campaign branch at
`5b43d8d55`; the rewrite's "particles never GPU-clipped" clause is
corrected in this hygiene commit (the mesh/particle shaders KEEP the
per-cell `clipRegions[aClipSlot]` input; the walk feeds every ordinary
part and every particle the whole-mesh slot 0 = no clip, so the machinery
is dormant in the walk path, live only for the non-walk flat path).
- (major) `Issue130DoorwayStripTests`' rewritten header claims the surviving
plane-gap half pins "ProjectToClip → ClipToRegion → ClipPlaneSet.From
that the punch fans consume"; only `ClipPlaneSet.From` has a production
caller — the test drives `PortalVisibilityBuilder` + `Assemble`, both
zero-caller legacy paths.
- (major) `ClipPlaneSet.cs` header (`:23-39`) and member docs (`:80-92`)
still promise a consumer that "draws the ScissorNdcAabb box";
`UseScissorFallback`/`ScissorNdcAabb` have no production reader
(`AppendOutsideSlice` reads only `IsNothingVisible`/`Count`/`PlaneArray`).
- (minor) stale sentences: `ClipFrameAssembler.cs:14-15`, `:37-38`
(`TerrainClipMode.Scissor`, a value nothing produces), `:45-46`;
`WorldPassSurface.cs:22-26` ("Four concerns" incl. "the doorway
scissor"), `:54-58` (shaders "write 1.0 into every slot" — they no longer
write `gl_ClipDistance`), `:76-77`; `TerrainModernRenderer.cs:244-245`
dead `clipPlanes`/`ndcClipAabb` parameters of `Draw` and the
`IsAabbVisibleThroughClipRegion` scissor branch + comment `:521-524`
(no producer left); `RetailPViewRenderer.cs:418-419` computes a
`terrainUploadCount` the only `PrepareClipFrame` discards, with a GL-era
doc at `WorldPassSurface.cs:34-41`; `RetailPViewPassExecutorTests.cs:159-161`
says "unconditionally" (false since K2); the K1 pin's doc lacks the
switch-table scope note L8 put on its own; `RetailPViewRenderer.cs:647`
cites the callee address `@0x00506ff0` where §10.1 cites the call site
`@0x00506396`.
- (minor, pin limit) the L1 condition pin accepts a CONJOINED gate
`if (clipAssembly.OutsideViewSlices.Length != 0 && walkDriver.WeatherTurnFired)`
(the extra `brfalse` lands before the getter's offset); the print/draw
divergence it would reintroduce is exactly K2's.
**Hygiene chunk H (one Sonnet agent in `s3-hygiene` at the campaign tip; one
lens; no third round — a FAIL here is written up, not fixed again):**
- **H1** `ClipPlaneSet`: delete `ScissorNdcAabb`; rename `UseScissorFallback`
`IsPlaneOverflow` with the doc "Count == 0 because the region needs more
than `MaxPlanes` half-planes (or is multi-polygon); the consumer draws
UNCLIPPED (`AppendOutsideSlice` emits an empty plane array; the punch fan
covers the whole fan) — over-include, never a scissor"; rewrite the file
header (`:23-39`) to the three states that exist (Empty / overflow /
planes); update `ClipPlaneSetTests` to the new name and delete its AABB
assertions (they pinned the deleted consumer contract).
- **H2** `TerrainModernRenderer`: delete `Draw`'s `clipPlanes`/`ndcClipAabb`
parameters, the scissor branch of `IsAabbVisibleThroughClipRegion` (keep
the clip-plane test only if a caller still passes planes — grep; if none,
delete the whole helper and its comment `:521-524` so `CollectVisibleCells`
is frustum-only), and the `terrainUploadCount` computation at
`RetailPViewRenderer.cs:418-419` + `PrepareClipFrame`'s parameter and its
GL-era doc (`IWorldPassSurface.PrepareClipFrame()` takes nothing).
- **H3** `Issue130DoorwayStripTests`: DELETE the test (its remaining half
drives two zero-caller legacy paths; the one production stage it touches,
`ClipPlaneSet.From`, is pinned by the K6 punch-fan pin through the real
producers) and say so in the commit body with #130's history in one
sentence.
- **H4** comments: `ClipFrameAssembler.cs:14-15/:45-46` (no scissor
consumer), delete `TerrainClipMode.Scissor` (nothing produces it; keep
`Planes`/`Skip` for the flat path — grep the enum's readers first);
`WorldPassSurface.cs:22-26` → three concerns, `:54-58` → only
`portal_depth.vert` writes `gl_ClipDistance` in the world pass now,
`:76-77` drop the scissor sentence; `RetailPViewPassExecutorTests.cs:159-161`
→ "conditional on `WalkFrameDriver.WeatherTurnFired`, see the L1 pin";
add the switch-table note to the K1 pin's doc; `RetailPViewRenderer.cs:647`
→ the call-site address `@0x00506396` (callee `@0x00506ff0`).
- **H5** strengthen the L1 pin against the conjoined gate: between the
`DrawUnattachedSceneParticles` call (the last call before the gate) and
the `DrawWeatherOnce` call there is exactly ONE conditional branch in
total, and it is the forward `brfalse` after `get_WeatherTurnFired`
MUTATION: the conjoined gate adds a second `brfalse` → fails; record the
text.
- **H6** commit body: every mutation text (H5), the H2 grep results, the
H3 sentence; `Co-Authored-By` last.
Gates: build 0 warnings; hermetic lane fully green; InstalledDat exactly the
four known (2× #383, TowerAscent, #458); the L6 grep from §10.5 extended
with `ScissorNdcAabb|UseScissorFallback|TerrainClipMode.Scissor|
ndcClipAabb|terrainUploadCount` returns nothing under `src`/`tests`; no
register row (AD-17's correction is the lead's, in the same landing).
## 11. Chunk 1 contract — transcript kinds, fixtures, and the print-only emitter (lead, 2026-09-03; runs AFTER chunk 3, because `LC`/`SC` only exist once terrain is per cell)
### 11.1 What exists (verified in the tree at `542b049b`)