- ISSUES.md: #99 DONE (per-cell shadow architecture, dbfbf85+ca4b482; visual rides T5); #90 DONE (stickiness workaround removed, retail ordered-pick owns doorway hysteresis); #97 likely-closed note (the +5m pad producer deleted - verify at T5); #116 filed (slide-response family: tick-22760 lateral-slide loss + BSPStepUp D4 first-frame behavior, both pre-dating BR-7, oracle-first fix shape). - Port plan: execution stamp updated to BR-2..BR-7 ALL CODE-COMPLETE with the per-commit map; BR-7 section marked code-complete; remaining = T5, the single comprehensive user visual gate. - Memory digests (physics + render + MEMORY.md index) updated in the same session per the digest protocol. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
parent
ca4b482f8b
commit
60c10707a3
2 changed files with 52 additions and 15 deletions
|
|
@ -752,9 +752,17 @@ propagates through portal connectivity data in `CEnvCell`.
|
|||
|
||||
---
|
||||
|
||||
## #90 — Cell-id ping-pong at indoor doorway threshold
|
||||
## #90 — Cell-id ping-pong at indoor doorway threshold — [DONE 2026-06-11 · ca4b482, T6/BR-7]
|
||||
|
||||
**Status:** OPEN — **WORKAROUND in place (sphere-overlap stickiness, commit `4ca3596`). M1.5 scope (A6.P4) — workaround removal after underlying push-back fix.** User-visible symptom resolved 2026-05-20; root cause still to investigate.
|
||||
**Status:** DONE — the `4ca3596` sphere-overlap stickiness workaround was
|
||||
REMOVED in T6/BR-7: it had become dead code (its only caller path was the
|
||||
cache-null test fallback in `ResolveCellId`), and the retail mechanism that
|
||||
owns doorway hysteresis is the ordered-pick (current cell at CELLARRAY
|
||||
index 0, interior-wins-break — `BuildCellSetAndPickContaining`, the
|
||||
collide-then-pick advance), which production has used since the membership
|
||||
rewrite. The ping-pong's original harm (outdoor ticks bypassing indoor BSP)
|
||||
is structurally gone under the per-cell query: both classifications collide
|
||||
the same per-cell lists at the threshold.
|
||||
**Severity:** HIGH (workaround unblocks indoor visibility for M1.5 baseline; M1.5 acceptance requires the proper fix)
|
||||
**Filed:** 2026-05-20
|
||||
**Component:** physics — cell tracking
|
||||
|
|
@ -877,7 +885,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)
|
||||
|
||||
**Status:** OPEN — **investigate after issue #96 lands** (hypothesized to be a side-effect)
|
||||
**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.
|
||||
**Severity:** MEDIUM (intermittent; doesn't block stair-walking which works post-slice-1)
|
||||
**Filed:** 2026-05-21
|
||||
**Component:** physics, ContactPlane stability
|
||||
|
|
@ -946,9 +960,24 @@ Decomp anchors (`docs/research/named-retail/acclient_2013_pseudo_c.txt`):
|
|||
|
||||
---
|
||||
|
||||
## #99 — Run-through doors at building thresholds (regression from b3ce505)
|
||||
## #99 — Run-through doors at building thresholds (regression from b3ce505) — [DONE 2026-06-11 · dbfbf85 + ca4b482, T6/BR-7]
|
||||
|
||||
**Status:** OPEN
|
||||
**Status:** DONE — closed ARCHITECTURALLY by the A6.P4 per-cell shadow port
|
||||
(T6/BR-7): registration computes cell membership via the retail
|
||||
sphere-overlap portal flood (`CellTransit.BuildShadowCellSet` =
|
||||
`CObjCell::find_cell_list`, Ghidra 0x0052b4e0), the query iterates strictly
|
||||
per cell (`FindObjCollisionsInCell` = `find_obj_collisions` 0x0052b750,
|
||||
primary + `CheckOtherCells` per retail order), building shells dispatch via
|
||||
the per-LandCell building channel (`FindBuildingCollisions` =
|
||||
`CSortCell::find_collisions` 0x005340a0), and the b3ce505 indoor gate +
|
||||
radial sweep + 5 m pad + isViewer exemption are DELETED. The door is
|
||||
covered twice like retail: registered into every cell its spheres overlap,
|
||||
and reached from the indoor side via the straddle-admitted outdoor cells in
|
||||
the player's own array. Pins: tick-13558 (indoor approach BLOCKS),
|
||||
tick-22760 (outdoor block invariant), the flipped door apparatus, and the
|
||||
registry membership tests. Residual: the lateral-slide delta at
|
||||
near-perpendicular approach is #116 (slide response, pre-existing).
|
||||
Visual confirmation rides the T5 comprehensive gate.
|
||||
**Severity:** HIGH (M1 demo regression — opening doors was previously a working demo target)
|
||||
**Filed:** 2026-05-24
|
||||
**Component:** physics, shadow-object collision query
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue