docs: T5 comprehensive gate verdict - PARTIAL PASS; #108/#109/#97 closed, #117-#120 filed

The single comprehensive visual gate (2026-06-11, user-driven):

CONFIRMED (user axioms): doors block both ways incl. off-center (#99
visual pass), cellar descent/ascent clean + #108 grass-sweep GONE, inn
2nd floor clean (#97 CLOSED), interiors stable through doorways incl.
edge-on, #109 far-door oscillation GONE, formerly-popping stairs now
stable at all ranges. The entire T6/BR-7 collision port passed 100%.

REMAINING (render, filed at mechanism level - no live whack-a-mole):
- #117 aperture-shaped see-through: doors/interiors visible through
  terrain hills and through nearer buildings (the far-Z punch erases
  occluder depth at aperture pixels). Decomp direction:
  DrawPortalPolyInternal depth state vs draw order.
- #118 character clipped + vanishes momentarily on house exit
  (viewer-indoor/player-outdoor transition frames; local-player
  partition / aperture-clip suspects).
- #119 old-tower stairs partially invisible + extraneous water barrel
  (pre-existing); T5-log lead: [up-null] 0x010002B4 + 0x010008A8
  cached EMPTY render data, permanently invisible.
- #120 [pv-ERROR] in-place propagation tripwire at depth 128 on the
  cottage interior cells (T2 convergence invariant break, self-detected
  during the gate) - investigate FIRST.

Rain-indoors not verifiable (clear weather).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Erik 2026-06-11 15:46:30 +02:00
parent 60c10707a3
commit af5d424df0
2 changed files with 124 additions and 15 deletions

View file

@ -883,15 +883,13 @@ Retail oracle for cell-id hysteresis: `acclient_2013_pseudo_c.txt:308742-308783`
---
## #97 — Phantom collisions + occasional fall-through on indoor 2nd floor (post-slice-1 happy-testing)
## #97 — Phantom collisions + occasional fall-through on indoor 2nd floor (post-slice-1 happy-testing) — [DONE 2026-06-11 · T6/BR-7 + T5 gate]
**Status:** OPEN — **LIKELY CLOSED by T6/BR-7 (2026-06-11), verify at the T5
visual gate.** The +5 m radial query pad that made spheres test objects in
cells they never overlapped (the structural producer of this phantom class,
per the WF1 verification) is deleted with the per-cell query; indoor 2nd
floor now tests only the overlapped cells' own shadow lists. If T5's inn
2nd-floor walk is clean, close; if phantoms persist they have a different
mechanism and this gets a fresh capture.
**Status:** DONE — closed by T6/BR-7 (the +5 m radial query pad that made
spheres test objects in cells they never overlapped — the structural
producer of this phantom class per the WF1 verification — was deleted with
the per-cell query) and **user-confirmed at the T5 gate** ("5. Check" —
clean inn 2nd-floor walk, no invisible barriers).
**Severity:** MEDIUM (intermittent; doesn't block stair-walking which works post-slice-1)
**Filed:** 2026-05-21
**Component:** physics, ContactPlane stability
@ -3703,9 +3701,14 @@ Unverified. The likely culprits, ranked by suspected probability:
---
## #108 — Cellar↔main-floor transition: terrain (grass) sweeps across the upstairs door opening
## #108 — Cellar↔main-floor transition: terrain (grass) sweeps across the upstairs door opening — [DONE 2026-06-11 · T5 gate]
**Status:** OPEN — **RE-ATTRIBUTED to MEMBERSHIP 2026-06-11** (was: render)
**Status:** DONE — user-confirmed GONE at the T5 comprehensive gate
("3. Check" — cellar descent + ascent with the upstairs doorway watched
during the transition). Closed by the holistic-port stack: the T1 retail
frame order + T2 flood fidelity + the BR-7 membership/collision work
(the punch that previously masked-then-exposed it was rebuilt as part of
the discipline). No isolated fix commit — the discipline retired the class.
**Severity:** MEDIUM
**Component:** ~~render / indoor PView~~**physics / membership** (cellar-transition root flip)
@ -3730,9 +3733,12 @@ separate real mechanism to rebuild under BR-3 — it does NOT fix #108.
---
## #109 — Exit door across the room oscillates between door texture and background color
## #109 — Exit door across the room oscillates between door texture and background color — [DONE 2026-06-11 · T5 gate]
**Status:** OPEN
**Status:** DONE — user-confirmed at the T5 comprehensive gate ("7. No."
— the far exit door no longer oscillates). Closed by the holistic-port
stack (T1 dynamics-last frame order + depth discipline + T2 flood
fidelity). No isolated fix commit — the discipline retired the class.
**Severity:** MEDIUM
**Component:** render / indoor PView (exit-portal region vs door entity draw order)
@ -3904,6 +3910,94 @@ ad hoc — the DO-NOT-RETRY table's slide entries (physics digest) apply.
---
## #117 — Aperture-shaped see-through: doors/interiors visible through terrain hills and through nearer buildings
**Status:** OPEN
**Severity:** HIGH (the most visible remaining render artifact post-port)
**Filed:** 2026-06-11 (T5 comprehensive gate, user items 11a+11b)
**Component:** render — aperture depth discipline (the T1 punch pass)
**Symptom (user, axioms):** (a) "looking downhill I can see certain parts
of houses (not everything) like doors and some textures" through the
terrain; (b) "when I'm behind a house I can see the openings on the house
behind that house through the house in front of me, like doors and
windows." Both shapes are APERTURE-shaped (doors/windows), which points at
one mechanism: the far-Z punch erases the depth of NEARER occluders
(terrain hills, closer buildings) at the punched aperture pixels, so
interior content + door entities (dynamics drawn last) paint over them.
**Diagnosis direction (mechanism, not live-probing):** decomp
`DrawPortalPolyInternal` (Ghidra 0x0059bc90) for the punch's depth STATE —
retail either depth-tests the punch polygon against the existing buffer
(only punching where the aperture is actually visible) or relies on
far→near per-building draw order so nearer geometry re-establishes depth
AFTER the punch. Compare against the T1 (`579c8b0`) punch pass wiring.
---
## #118 — Character clipped + disappears for a moment when exiting houses
**Status:** OPEN
**Severity:** MEDIUM-HIGH (every house exit, brief)
**Filed:** 2026-06-11 (T5 comprehensive gate, user item 10)
**Component:** render — dynamics handling at the indoor→outdoor transition
**Symptom (user):** "We get clipped and disappear when we exit houses.
Like when we are just outside for a moment." Transition frames where the
viewer is still indoors and the player is just outside the door.
**Suspects (in order):** (1) the LOCAL player entity's partition in
`InteriorEntityPartition` — T1's rule routes `ServerGuid != 0` to
Dynamics (never dropped); the local player may carry ServerGuid==0 and
fall into a per-cell static class that drops when its cell isn't in the
flood; (2) the landscape-through-aperture pass's plane clips slicing the
player if it draws in that pass ("clipped" wording). Check the partition
first.
---
## #119 — Old tower: stairs partially invisible + extraneous water barrel; two meshes permanently invisible at startup
**Status:** OPEN
**Severity:** MEDIUM (pre-existing — "same issue as before" per the user)
**Filed:** 2026-06-11 (T5 comprehensive gate, user items 9+13)
**Component:** render — mesh upload / content inclusion
**Symptom (user):** the old tower has missing stair parts (pre-existing;
the tower stairs ARE visible in retail — user axiom recorded 2026-06-11
in the render digest) and shows a water barrel that retail doesn't.
**Lead (from the T5 launch log):** exactly two
`[up-null] upload returned null for 0x00010002B4 / 0x00010008A8 — caching
EMPTY render data (permanently invisible)` lines at startup. Identify
which models those are (likely GfxObjs 0x010002B4 / 0x010008A8 — plausibly
the stair parts) and why `ObjectMeshManager`'s upload returned null; the
"permanently invisible" cache makes any transient failure sticky. The
barrel is a separate static-inclusion question (which cell owns it, and
is it admitted by a view it shouldn't be).
---
## #120 — [pv-ERROR] in-place propagation tripwire: convergence invariant broken at depth 128 (cottage interior cells)
**Status:** OPEN
**Severity:** HIGH (self-detected invariant break in the new flood growth)
**Filed:** 2026-06-11 (T5 launch log; fired during normal cottage play)
**Component:** render — PortalVisibilityBuilder in-place growth (T2/BR-4)
**Evidence:** `[pv-ERROR] in-place propagation tripwire at depth 128 on
cell=0xA9B40175 / 0xA9B40174 / 0xA9B40162 — convergence invariant broken,
investigate` (3+ firings in the T5 session, exactly the cottage interior
cells the user was walking). T2's in-place growth (which replaced the
`MaxReprocessPerCell=16` cap) re-propagated one cell's view 128 times
within a single build — a re-emission cycle the dedup misses, or growth
ping-ponging through a reciprocal portal pair. May be load-bearing for
#117/#118 (runaway view growth → wrong clip/punch volumes). Investigate
FIRST among the post-T5 set: loudest signal, cheapest repro (the tripwire
self-reports), and a correctness invariant of the new code.
---
# Recently closed
## #113 — Phantom staircase: REOPENED 2026-06-11, folded into the HOLISTIC BUILDING-RENDER PORT