diag #181 (refined): 0x0181's region is a zero-area sliver; the amplifier is per-drawn-cell state shifting with the cell list, not light-pool scoping
Diagnostic_FlappingCellViewRegion_SliverOrLarge: at the flap pose the admitted region is one degenerate triangle (ndcArea ~0), and ClipPlaneSet.From handles degenerates correctly (area<1e-7 -> Empty) - the cell's own gated geometry costs ~zero pixels either way. The a7 pseudocode CORRECTION-2 re-read kills the flood-scoped-lights framing (the pool is already resident+player-anchored since d8984e87). Remaining suspects: per-cell light-set SSBO slot assignment (SelectForCell) or the seal/punch assembly keyed to the drawn-cell list. Next instrument: parked ACDREAM_PROBE_SEAMDRAW=1 run, diff the washed cell's [seam-blk] applied-set lines between vis=31 and vis=32 frames. ISSUES #181 + render digest updated.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
864e4d9e75
commit
d366f36557
2 changed files with 76 additions and 6 deletions
|
|
@ -91,12 +91,23 @@ may never have been disabled.
|
|||
independent — a sliver cell flapping costs retail a few pixels; it costs us whole lit
|
||||
regions (the washed-region strobe).
|
||||
|
||||
**The fix:** replace camera-flood light scoping with retail's registration-time light
|
||||
reach sets (per-light cell-set walk from the light's own cell through the portal graph;
|
||||
decomp pseudocode already on disk:
|
||||
`docs/research/2026-07-06-a7-per-cell-lighting-pseudocode.md`). The wall-press wobble
|
||||
and the binary knife-edge admission then match retail's visible behavior (sub-pixel
|
||||
consequences). No hysteresis/damping band-aids on the flood.
|
||||
**REFINEMENT (same night, after the a7-pseudocode CORRECTION-2 re-read):** the pool is
|
||||
ALREADY resident-scoped + player-anchored (`d8984e87` deleted the flood-scoped slice-1),
|
||||
so "flood-scoped lights" is NOT the amplifier as first framed. Measured: 0x0181's
|
||||
admitted view region at the flap pose is ONE zero-NDC-area sliver triangle
|
||||
(`Diagnostic_FlappingCellViewRegion_SliverOrLarge`), and `ClipPlaneSet.From` handles
|
||||
degenerates correctly (area < 1e-7 → Empty; sliver planes otherwise) — so the cell's own
|
||||
gated geometry costs ~zero pixels either way. **The amplifier is downstream of ADMISSION
|
||||
but not the slice gate: 0x0181 joining/leaving changes the DRAWN-CELL LIST, and some
|
||||
per-drawn-cell state keyed by list position/rebuild — prime suspects: the per-cell
|
||||
light-set SSBO slots (`SelectForCell`, d8984e87) shifting so a DIFFERENT cell reads the
|
||||
wrong 8-light set on minority frames, or the seal/punch assembly — flips a whole cell's
|
||||
lighting.** That is cell-sized, matches the captures (washed region with hard
|
||||
boundaries), and is directly instrumentable: run parked with `ACDREAM_PROBE_SEAMDRAW=1`
|
||||
(+FLAP) and diff the `[seam-blk]` applied-set lines of the WASHED cell between vis=31
|
||||
and vis=32 frames — if its applied set (or slot index) changes with 0x0181's admission,
|
||||
the indexing/rebuild site is the defect. NO band-aids on the flood admission itself
|
||||
(the sliver flap is retail-class).
|
||||
|
||||
**Acceptance:** parked pressed camera in the washed spot → lit regions steady (the
|
||||
`[flap]` vis 31↔32 flap may legitimately persist at sub-pixel visual cost); frame-pair
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue