#119-residual: tower-ascent harness pins the roof-lip flood gap; barrel claim RETRACTED (user axiom: not in retail)

User verdict on the post-#120 build: "Barrel is gone and more stairs
exist" - the #120 fix partially cured the tower, and the earlier
"legit dat barrels on the landings" claim is RETRACTED (USER AXIOM: the
barrel is NOT in the tower in retail; what the user saw was itself a
render artifact of the corrupted floods, and what the 0x020005D8 cell
statics actually render as is unverified - do not assume barrel).

Remaining tower bugs, both PINNED by TowerAscentReplayTests (the #118
exit-walk pattern, vertical - a helix ascent with the gaze locked ON
the staircase, so a cull has no gaze excuse):
- steps 195-201 (eye z 126.9-127.3, the roof-lip band between the main
  cell's ceiling at 126.8 and the roof aperture plane at ~127.2) resolve
  OUTDOOR and the per-building exterior flood admits NOTHING (flood=1 =
  the outdoor node alone): the eye is above every side aperture's useful
  view and ON/INSIDE the roof aperture's plane, so BuildFromExterior's
  seed side-test / in-plane reject refuses every exit portal. The tower
  interior never floods -> the staircase (a 0x0107 static) cone-culls
  while staying walkable (user symptom 1), and the roof-lip cell
  geometry flaps as the live eye bobs across the band's edges (user
  symptom 2). One mechanism, both symptoms.
- The pin is committed as a SKIPPED red test
  (TowerAscent_StaircaseStaysConeVisible_EveryStep; the skip reason
  carries the defect) so the suite stays green - un-skip with the fix.
- TowerAscent_RootDoesNotPingPong + the per-step diagnostic stay active.

Fix direction (oracle-first, next): determine which side diverges from
retail - (a) viewer-cell resolution (retail curr_cell may keep the eye
INTERIOR through the band: keep-curr above open-top cells / cell BSP
classifying the parapet bowl as inside 0x010A, where our resolution
demotes to outdoor), or (b) exterior seed admission (retail
ConstructView(CBldPortal) Sidedness with an in-plane eye). Grep the
named decomp for both before touching either layer.

Suites: App 238 + 1 skip (236+3 new, 1 pinned), Core 1419+2skip,
UI 420, Net 294.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-11 18:34:45 +02:00
parent 0c55b473dd
commit 899145e1d7
3 changed files with 303 additions and 18 deletions

View file

@ -4077,23 +4077,50 @@ area:**
tracked under #112; note the #120 ping-pong fired at exactly A9B3
0103↔010F, so re-check after the #120 fix (`dede7e4`).
**DECODED + LIKELY FIXED BY #120 (2026-06-11 evening):** the user's
logout position pinned the tower (cell 0xAAB30107, AAB3 building[1]
model 0x01001117). Dat truth (`Issue119TowerDumpTests`): the stairs are
ONE static — Setup 0x020003F2, a 43-part spiral staircase at the tower
center (placement frames perfect, all parts drawable); the "extraneous
barrel" = the four 0x020005D8 wall barrels on the landings — legit dat
statics orphaned by the missing staircase. Pipeline exonerated layer by
layer (extraction, hydration ParentCellId=envCellId, per-MeshRef
registration, dispatcher compose); clean WB_DIAG counters at the tower
spawn: meshMissing=0, entSeen==entDrawn. **A screenshot of the running
post-fix build shows the staircase RENDERING.** Mechanism (most
plausible): the tower's three threshold cells portal back to 0x0107 —
climbing the stairs walks the eye through those portal planes, exactly
the #120 ping-pong window; the corrupted/aborted floods broke the
statics' viewcone per frame. The original report predates the #120 fix;
re-gate #2 did not re-check the stairs. **Pending: user verdict on the
tower stairs + barrels in the current build** — if clean, close #119.
**DECODED (2026-06-11 evening):** the user's logout position pinned the
tower (cell 0xAAB30107, AAB3 building[1] model 0x01001117). Dat truth
(`Issue119TowerDumpTests`): the stairs are ONE static — Setup
0x020003F2, a 43-part spiral staircase at the tower center (placement
frames perfect, all parts drawable). Pipeline exonerated layer by layer
(extraction, hydration ParentCellId=envCellId, per-MeshRef registration,
dispatcher compose); clean WB_DIAG counters at the tower spawn:
meshMissing=0, entSeen==entDrawn.
**⚠️ USER AXIOM (2026-06-11 late): the barrel is NOT in the tower in
retail.** The earlier "legit dat barrels on the landings" claim is
RETRACTED — what the user saw was itself a render artifact. Post-#120
verdict: "Barrel is gone and more stairs exist" — both improved
together, consistent with the "barrel" being mis-drawn staircase
geometry under the corrupted floods. (What the four 0x020005D8 cell
statics actually render as remains UNVERIFIED — do not assume barrel.)
**REMAINING (user, post-#120 build):**
1. Running UP the tower, the TOP stairs disappear visually but stay
walkable.
2. On top of the tower, the roof and edges FLAP into existence and
back.
**PINNED 2026-06-11 late (`TowerAscentReplayTests`, gaze locked ON the
staircase — no gaze excuse):** in the roof-lip band (eye z ≈ 126.9127.3,
between the main cell's ceiling at 126.8 and the roof aperture plane at
~127.2) the eye resolves OUTDOOR and the per-building exterior flood
admits NOTHING (flood=1 = the outdoor node alone): the eye sits above
every side aperture's useful view and ON/INSIDE the roof aperture's
plane, so `BuildFromExterior`'s seed side-test / in-plane reject refuses
every exit portal. The tower interior never floods → the staircase
(a 0x0107 static) culls while walkable; the roof-lip cell geometry flaps
as the live eye bobs across the band's edges. The pin is committed as a
skipped red test (`TowerAscent_StaircaseStaysConeVisible_EveryStep`,
skip reason carries the defect) — un-skip with the fix.
**Fix needs the retail oracle (next):** which side diverges —
(a) the VIEWER-CELL resolution (retail's curr_cell may keep the eye
INTERIOR through this band: keep-curr above open-top cells / the cell
BSP classifying the parapet bowl as inside 0x010A, where our resolution
demotes to outdoor), or (b) the exterior seed admission (retail
ConstructView(CBldPortal) Sidedness on an in-plane eye). Grep
`ConstructView` CBldPortal + `SmartBox::update_viewer` above open-top
cells before touching either layer.
---