diff --git a/docs/ISSUES.md b/docs/ISSUES.md index f3421794..df5cdaa9 100644 --- a/docs/ISSUES.md +++ b/docs/ISSUES.md @@ -3676,18 +3676,28 @@ Unverified. The likely culprits, ranked by suspected probability: ## #108 — Cellar↔main-floor transition: terrain (grass) sweeps across the upstairs door opening -**Status:** OPEN +**Status:** OPEN — **RE-ATTRIBUTED to MEMBERSHIP 2026-06-11** (was: render) **Severity:** MEDIUM -**Component:** render / indoor PView (OutsideView slice vs interior-root depth handling) +**Component:** ~~render / indoor PView~~ → **physics / membership** (cellar-transition root flip) During the cellar→main-floor ascent (Holtburg), the door opening visible on the main floor shows the outdoor GRASS texture sweeping over it — "like outdoor ground rising up from the floor to cover it (as if watching it from below) and lowering back down when crossing up" -(user gate, 2026-06-10, post-`dac8f6a`). Likely the landscape drawn through the OutsideView -slice while the viewer is in the stairwell, with the eye below outdoor terrain height — the -terrain surface crosses the doorway region as the eye rises. Needs its own capture (probe -run on the cellar stairs) to pin whether the OutsideView region, the doorway depth-clear, -or terrain-vs-cell draw order is at fault. +(user gate, 2026-06-10, post-`dac8f6a`). + +**ROOT CAUSE FOUND (BR-2 visual gate, 2026-06-11):** this is NOT a render depth bug — it +is a MEMBERSHIP flip. The BR-2 far-Z punch (wired for OUTDOOR roots + look-in ONLY) +suppressed #108 when wired and #108 returned when reverted; since the punch never runs on a +clean interior frame, the grass-sweep frames must render through the **outdoor root**, i.e. +**the player is being classified OUTDOOR mid-cellar** (the #112/#106 cellar membership +ping-pong family). The outdoor root then draws the landscape, whose terrain crosses the +doorway region as the eye rises. The punch was MASKING it — and harmfully (it erased the +depth of dynamic objects standing in doorways, so characters went transparent by their +overlap with the opening; reverted `88be519`). **Fix belongs in the membership track:** +stop the cellar-transition root from flipping to outdoor (render is downstream of +membership). The genuine interior-root exit-door depth seal (retail +`DrawPortalPolyInternal` maxZ2, kept reserved in `PortalDepthMaskRenderer.cs`) is a +separate real mechanism to rebuild under BR-3 — it does NOT fix #108. ---