docs: #119-residual root cause (render lift in the visibility graph) recorded in ISSUES

This commit is contained in:
Erik 2026-06-11 19:27:14 +02:00
parent f35cb8b164
commit 2eca7f5033

View file

@ -4100,27 +4100,30 @@ statics actually render as remains UNVERIFIED — do not assume barrel.)
2. On top of the tower, the roof and edges FLAP into existence and 2. On top of the tower, the roof and edges FLAP into existence and
back. back.
**PINNED 2026-06-11 late (`TowerAscentReplayTests`, gaze locked ON the **ROOT CAUSE FOUND + FIXED 2026-06-11 (`f35cb8b`) — the +0.02 m render
staircase — no gaze excuse):** in the roof-lip band (eye z ≈ 126.9127.3, lift leaked into the portal-visibility graph.**
between the main cell's ceiling at 126.8 and the roof aperture plane at `BuildInteriorEntitiesForStreaming` lifts the render-side cell transform
~127.2) the eye resolves OUTDOOR and the per-building exterior flood 2 cm (shell z-fighting vs terrain — a DRAW concern) and passed that
admits NOTHING (flood=1 = the outdoor node alone): the eye sits above LIFTED transform to `BuildLoadedCell`, so every visibility-graph plane
every side aperture's useful view and ON/INSIDE the roof aperture's sat 2 cm high. The side test's in-plane window is ±10 mm: an eye
plane, so `BuildFromExterior`'s seed side-test / in-plane reject refuses standing ON a floor containing a HORIZONTAL portal (the tower deck lip
every exit portal. The tower interior never floods → the staircase 0x010A→0x0107, landings, cellar mouths) sits 1020 mm BELOW the lifted
(a 0x0107 static) culls while walkable; the roof-lip cell geometry flaps plane → outside the window → the cell behind the portal side-culled out
as the live eye bobs across the band's edges. The pin is committed as a of the flood. Captured live at the stair top (the user's climb +
skipped red test (`TowerAscent_StaircaseStaysConeVisible_EveryStep`, [viewer-diff]): root=0x010A, eye z=126.803 vs the plane at 126.80,
skip reason carries the defect) — un-skip with the fix. flood=1, 0x0107 dropped WHILE LOOKED AT — "stairs disappear and you can
walk on them"; the roof/edge flap = the same marginal admissions swinging
**Fix needs the retail oracle (next):** which side diverges — with the gaze. Vertical doorways immune (the lift slides their planes
(a) the VIEWER-CELL resolution (retail's curr_cell may keep the eye along themselves) — why this hit exactly stairs/decks/floors. Headless
INTERIOR through this band: keep-curr above open-top cells / the cell replay reproduces ONLY with the lift; fix = BuildLoadedCell gets the
BSP classifying the parapet bowl as inside 0x010A, where our resolution PHYSICS (unlifted) transform; shells keep their draw lift. Pins:
demotes to outdoor), or (b) the exterior seed admission (retail `CapturedTopOfStairs_MainCellStaysInFlood` (unlifted asserts admission;
ConstructView(CBldPortal) Sidedness on an in-plane eye). Grep lifted arm = the mechanism canary). Likely also feeds the #108 residual
`ConstructView` CBldPortal + `SmartBox::update_viewer` above open-top (cellar mouth = a horizontal portal) — re-check at the gate.
cells before touching either layer. The earlier synthetic roof-lip-band pin
(`TowerAscent_StaircaseStaysConeVisible_EveryStep`) stays SKIPPED — its
band came from the harness's AABB root model, not the production sweep;
re-validate against the real resolver before un-skipping.
--- ---