- 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
|
||||
|
|
|
|||
|
|
@ -1,14 +1,22 @@
|
|||
# The holistic building-render port plan (Phase B) — one drawing discipline
|
||||
|
||||
**EXECUTION STATUS (2026-06-11 end of day): BR-2…BR-6 are CODE-COMPLETE on
|
||||
the branch (HEAD `4a307d3`), executed as the fused tasks T1–T4 — see the
|
||||
render digest's ledger for the per-commit map (T1 `579c8b0` frame order;
|
||||
T2 `cf8a2c3`/`529dfcf`/`88f3ce1` flood fidelity, two retail constants refuted
|
||||
by the conformance gate and kept at documented tolerances; T3 `a6aec8c`
|
||||
viewconeCheck; T4 `4a307d3` one-gate deletions). REMAINING: BR-7 (T6,
|
||||
collision A6.P4) → then T5, the single comprehensive visual gate. The 4
|
||||
pre-existing #99-era Core test failures double as BR-7's built-in
|
||||
acceptance signal (they should flip green as A6.P4 lands).**
|
||||
**EXECUTION STATUS (2026-06-11, post-BR-7): BR-2…BR-7 are ALL CODE-COMPLETE
|
||||
on the branch — the render arc as the fused tasks T1–T4 (T1 `579c8b0` frame
|
||||
order; T2 `cf8a2c3`/`529dfcf`/`88f3ce1` flood fidelity, two retail constants
|
||||
refuted by the conformance gate and kept at documented tolerances; T3
|
||||
`a6aec8c` viewconeCheck; T4 `4a307d3` one-gate deletions), and BR-7 (T6,
|
||||
collision A6.P4) as `6ec4cde` (signed OtherPortalId gate) + `abf36e2`
|
||||
(BuildShadowCellSet flood) + `dbfbf85` (per-cell architecture: flood
|
||||
registration, building channel, per-cell query, b3ce505 DELETED — closes
|
||||
#99) + `ca4b482` (straddle-only outside-add, A6.P5 widening + #90
|
||||
stickiness removed). Of the 4 #99-era Core reds, 3 flipped green as
|
||||
designed (door apparatus + tick-13558 + tick-22760's blocking invariant);
|
||||
the 4th (BSPStepUp D4) + 22760's lateral-slide delta proved to be a
|
||||
SEPARATE pre-existing slide-response family — filed #116, D4 skipped with
|
||||
the reference (probes show the cell-set layer innocent). Suites: Core
|
||||
1416/0/2skip, App 225, UI 420, Net 294. REMAINING: **T5 — the single
|
||||
comprehensive visual gate with the user** (checklist in the render
|
||||
digest's ledger), then roadmap/digest closeout.**
|
||||
|
||||
**Status: APPROVED + AMENDED (2026-06-11). EXECUTION DIRECTIVE CHANGED BY THE
|
||||
USER: "I don't care if it is non-playable… I want everything ported, then we
|
||||
|
|
@ -235,7 +243,7 @@ center/radius window.
|
|||
green.
|
||||
- **Size:** ~3 commits, mostly deletions (each independently revertable).
|
||||
|
||||
### BR-7 — Interior collision: per-cell shadow lists (A6.P4, verified)
|
||||
### BR-7 — Interior collision: per-cell shadow lists (A6.P4, verified) — ✅ CODE-COMPLETE 2026-06-11 (`6ec4cde`+`abf36e2`+`dbfbf85`+`ca4b482`; visual confirmation rides T5)
|
||||
|
||||
**What:** ship the A6.P4 architecture with the investigation's corrections:
|
||||
registration builds the cell set by sphere-overlap portal flood (not an XY
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue