#113 moved to Recently closed: the phantom staircase was the Holtburg meeting hall (AAB3, not A9B3) interior stair cells drawn unclipped from outside - the PView shell clip was routed but never GL-enabled (927fd8f). Misplaced-cell hypothesis refuted with dat evidence. #112 residual paragraph updated: retail straddle gate live-binary verified + ported (414c3de); at-doorway demote is retail-faithful, deep gaps now keep-curr. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
414c3deaf4
commit
8259598970
1 changed files with 62 additions and 48 deletions
110
docs/ISSUES.md
110
docs/ISSUES.md
|
|
@ -3749,61 +3749,75 @@ adjacent-claim shape self-heals, dat-tested) then retail keep-curr. Poisoned
|
|||
saves stay covered at the snap (#107/#111 AdjustPosition). P1 retail-golden
|
||||
gates explicitly green (11/11).
|
||||
|
||||
**RESIDUAL (documented by
|
||||
`Issue112MembershipTests.A9B3CottageGap_..._DocumentsResidual`):** at the
|
||||
doorway-region gap itself, the NORMAL outdoor-candidate path still demotes
|
||||
(the BFS reaches the exterior portal → outdoor cells enter the array). Open
|
||||
oracle read: retail's `add_all_outside_cells` gate in
|
||||
`CEnvCell::find_transit_cells` (pc:317499 region) — sphere-proximity to the
|
||||
exterior portal polygon vs mere graph reachability. If proximity-gated, the
|
||||
at-door demote disappears and the DocumentsResidual assert flips to keep-curr.
|
||||
Re-promotion at doorway cells works (retail-identical), so the demote now
|
||||
self-heals walking in — no stranding. Live gate pending: user re-walks the
|
||||
A9B3 cottage; expect interior to stay rendered (brief doorway flicker at most).
|
||||
The missing OBJECT collision in that cottage = #99 data point (A6.P4 debt).
|
||||
Scan data: standing-now → [0x103]; flip-a → []; flip-b → [0x100].
|
||||
**RESIDUAL RESOLVED 2026-06-10 (`414c3de`, live-binary oracle):** retail's
|
||||
gate read straight from the running 2013 client (cdb attach,
|
||||
`CEnvCell::find_transit_cells` @ 0052c820 — BN pseudo-C had invented
|
||||
portal_side tests in this branch): outdoor cells are admitted IFF a path
|
||||
sphere STRADDLES an exterior portal's polygon plane,
|
||||
`|dist| < radius + F_EPSILON(0.0002)`. Ported as the straddle gate on the
|
||||
membership PICK's outdoor branch; the collision cell SET keeps the A6.P5
|
||||
topology widening until #99/A6.P4 (outdoor-registered doors must stay
|
||||
findable from indoors). Consequences: (a) the at-doorway gap demote is
|
||||
RETAIL-FAITHFUL (gap point 0.23 m from 0x104's door plane < 0.48 m foot
|
||||
radius → retail straddles + demotes + self-heals inward) — test renamed
|
||||
`...DemotesRetailFaithfully`, expectation unchanged; (b) deep-interior
|
||||
containment gaps in ANY house now keep-curr like retail instead of demoting
|
||||
(new pins: `A9B3Cottage_GapBeyondStraddleDistance_KeepsCurrCell` +
|
||||
`FindTransitCellsSphere_ExitPortalStraddleGate_MatchesRetail`). Live gate
|
||||
pending: user re-walks the A9B3 cottage; expect interior to stay rendered
|
||||
(brief doorway flicker at most). The missing OBJECT collision in that
|
||||
cottage = #99 data point (A6.P4 debt). Scan data: standing-now → [0x103];
|
||||
flip-a → []; flip-b → [0x100].
|
||||
|
||||
---
|
||||
|
||||
## #113 — Phantom exterior staircase on an A9B3 building (not in retail); suspect misplaced interior cell
|
||||
|
||||
**Status:** OPEN
|
||||
**Severity:** MEDIUM (visual fidelity; suspect shares a root with the same
|
||||
building's containment gap #112 and collision gaps #99)
|
||||
**Filed:** 2026-06-10 (late — user side-by-side vs retail)
|
||||
**Component:** render / building cells (or dat interpretation)
|
||||
|
||||
**Symptom:** an A9B3 building (near the #112 hill cottage; NPCs Aun Kielerea +
|
||||
The Sentry nearby, spot ~(183, −111, 116) world) shows a stone-and-wood
|
||||
STAIRCASE attached to its exterior wall in acdream; the retail client shows a
|
||||
plain wall with a window there (user screenshots, 2026-06-10). The stairs are
|
||||
NOT pickable (clicks select only NPCs behind them) ⇒ not a stab/WorldEntity —
|
||||
building-shell or interior-cell geometry.
|
||||
|
||||
**Hypothesis (would unify three symptoms at this building):** a misplaced
|
||||
interior EnvCell — an indoor staircase cell whose world transform puts its
|
||||
geometry outside the shell. That would simultaneously explain (a) the phantom
|
||||
exterior stairs, (b) the interior containment gap (#112's dead zone = a cell
|
||||
volume sitting in the wrong place), and (c) missing collision on objects in
|
||||
the house.
|
||||
|
||||
**Next steps:** (1) ACViewer oracle — open the same landblock; stairs present
|
||||
there ⇒ shared dat-interpretation, absent ⇒ our transform/draw
|
||||
(feedback_acviewer_as_oracle). (2) Offline: dump A9B3's LandBlockInfo
|
||||
buildings + per-cell Position.Origin/rotation; look for a cell whose
|
||||
transformed AABB escapes the building footprint. (3) Identify the building id
|
||||
(the landblock's building list near the spot).
|
||||
|
||||
**Meta (user, 2026-06-10):** "we should not have to verify all houses like
|
||||
this" — agreed; the open systemic debts are A6.P4 per-cell shadows (#99,
|
||||
fixes collision everywhere), the #112 residual oracle read, and this transform
|
||||
check. If (2) finds a systematic per-building transform error, ONE fix covers
|
||||
every affected house.
|
||||
|
||||
---
|
||||
|
||||
# Recently closed
|
||||
|
||||
## #113 — Phantom exterior staircase (Holtburg meeting hall): PView shell clip was never GL-enabled — [FIXED 2026-06-10 · 927fd8f, user visual gate pending]
|
||||
|
||||
**Status:** FIXED (self-gated by screenshot comparison at the original spot —
|
||||
phantom gone; formal user visual gate pending)
|
||||
**Closed:** 2026-06-10
|
||||
**Component:** render (PView shell pass GL state)
|
||||
|
||||
**Attribution (dat-evidenced — the filed "A9B3 misplaced interior cell"
|
||||
hypothesis is REFUTED):** the building is the Holtburg MEETING HALL — AAB3
|
||||
building[0], model `0x010014C3` at AAB3-local (36,84,116), not an A9B3
|
||||
building (A9B3 has exactly ONE building, the #112 hill cottage; the user
|
||||
stood at the A9B3/AAB3 boundary — `issue112-gate1.log` cell-transit trail —
|
||||
and clicked through the hall to the NPC behind it). The hall's interior
|
||||
stair cells (0x100..0x106, a ring climbing z 116→124.5 to the deck hatch)
|
||||
have geometry COINCIDENT with the shell's west wall (both at local x=29.0).
|
||||
|
||||
**Root cause:** retail clips drawn CELL geometry to the accumulated portal
|
||||
view (`Render::set_view` :343750 + `planeMask=0xffffffff` per cell polygon
|
||||
:427922 → `polyClipFinish`). Our equivalent — `UseShellClipRouting` →
|
||||
`mesh_modern.vert` `gl_ClipDistance` — was routed with CORRECT tight clip
|
||||
regions (`Issue113MeetingHallFloodTests` proves 4–6 planes, door-aperture
|
||||
NDC boxes) but was INERT: `gl_ClipDistance` writes are ignored unless
|
||||
`GL_CLIP_DISTANCEi` is enabled, and no caller ever enabled it for the shell
|
||||
pass (born inert in `1405dd8`). Flooded interior cells drew WHOLE → the
|
||||
interior staircase painted across the exterior wall; unpickable because
|
||||
it's cell geometry. 5th instance of
|
||||
`feedback_render_self_contained_gl_state`.
|
||||
|
||||
**Fix (`927fd8f`):** enable `GL_CLIP_DISTANCE0..7` around exactly the shell
|
||||
pass in `RetailPViewRenderer.DrawEnvCellShells` (no early-outs between set
|
||||
and restore). Entities/characters stay unclipped (retail's mesh path is
|
||||
viewcone-check, not poly-clip — comment scoped). Known remaining
|
||||
approximation: slot-0 fallback slices (>8-plane apertures) still draw
|
||||
pass-all — the assembler's scissor fallback remains unimplemented (rare;
|
||||
pinned 0 such slices at the hall).
|
||||
|
||||
**Refuted along the way (evidence in `Issue113PhantomStairsDumpTests`):**
|
||||
the unifying misplaced-cell hypothesis — all 17 A9B3 cottage cells share
|
||||
one identical dat Position (nothing to misplace); the #112 gap is a real
|
||||
20 cm doorway micro-gap, not a displaced volume; missing object collision
|
||||
remains #99/A6.P4. A9B3's dat has NO stair geometry anywhere near the spot
|
||||
(shell = balcony slabs z119 + turret roof; cells flat 116/118.8).
|
||||
|
||||
## #111 — ACE-mutated indoor restores: transparent interior / wrong placement at login — [DONE 2026-06-10 · 5f1eb7c + 5706e0e + 2735695]
|
||||
|
||||
**Status:** DONE (user-gated: clean indoor logins at two different buildings —
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue