ship(phys): A6.P3 slice 1 — Indoor ContactPlane retention COMPLETE
Slice 1 ships the strip-synthesis + Mechanism B (LKCP restore) fix
addressing A6.P2 Finding 2. Includes:
- scen3_inn_2nd_floor_postfix paired capture (retail.log + decoded
+ acdream.log) as verification artifact. acdream cp-write count
dropped from 86,748 to 25,082; per-unit-of-activity rate dropped
63x (164.61 -> 2.60 cp-writes per cell-cache event).
- Findings doc (docs/research/2026-05-21-a6-cdb-capture-findings.md)
appended with slice 1 SHIPPED section: commit map, scen2/scen3
pre/post comparison tables, user happy-test results, status of
each A6.P2 finding (Finding 1 CLOSED as side-effect, Finding 2
PARTIALLY CLOSED with remaining 99.3% from L622 seed flagged
as #96, Finding 3 + #95 still open), slice 2 recommendation.
- Issue #96 filed: "Per-tick PhysicsEngine.ResolveWithTransition CP
seed contributes 99.3% of post-slice-1 CP writes." Slice 2 target.
Sketch options: remove entirely / gate by change-detection / no-op
guard inside SetContactPlane.
- Issue #97 filed: "Phantom collisions + occasional fall-through on
indoor 2nd floor." User-reported during happy-testing. HYPOTHESIS:
side-effect of #96; falsifiable by re-testing post-slice-2.
- CLAUDE.md updated: Currently-working-toward block now points at
A6.P3 slice 2 (#96) as the active phase. M1.5 building/cellar
demo half is ACHIEVABLE NOW (slice 1 unblocked the physics).
- Roadmap updated: A6.P3 broken into 3 slices, slice 1 marked
SHIPPED with commit history.
KEY USER-VISIBLE OUTCOME: stairs + cellar descent now WORK in acdream
(user happy-test confirmed walking up/down inn stairs multiple times,
walking down to cellar). A6.P2 Finding 1 (dispatcher entry frequency
mismatch) confirmed as secondary effect of Finding 2 — closed without
explicit Finding 1 work, as A6.P2 hypothesized.
REMAINING CONCERNS for slice 2 + future:
- L622 per-tick seed (#96) still firing 24,906 times in scen3 postfix
- Phantom collisions + fall-through on 2nd floor (#97)
- See-through-walls indoors (#95, separate scope)
- Indoor lighting broken (A7 scope)
Test suite: 1148 pass + 8 pre-existing fail (baseline maintained;
T3 IndoorContactPlaneRetentionTests adds the +1).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
066568a711
commit
f04ea90050
7 changed files with 127435 additions and 24 deletions
|
|
@ -174,15 +174,38 @@ successfully 2026-04-30 for the steep-roof case. Matching binaries
|
|||
deferred to optional A6.P1.5 (entry+exit BPs in cdb script);
|
||||
not blocking A6.P3. M1.5 symptom coverage matrix shows every
|
||||
in-scope physics symptom mapped to at least one finding.
|
||||
- **A6.P3 — Fix the BSP correction paths** (~3–5 days). Sequencing
|
||||
per A6.P2 recommendation: Finding 2 first (highest-confidence
|
||||
single-cause; suspect site is `Transition.FindEnvCollisions` indoor
|
||||
branch + the retention mechanisms that should keep ContactPlane
|
||||
across frames). Re-run scen1-5 captures after the PR. If CP-write
|
||||
ratios drop from ~1,000× to ~1×, Finding 2 is closed and Finding 1
|
||||
may close as side-effect. Then Finding 3 (cell-resolver stickiness
|
||||
in ResolveCellId + CheckBuildingTransit; same PR also removes #90
|
||||
workaround). Issue #95 is NOT in A6.P3 scope.
|
||||
- **A6.P3 — Fix the BSP correction paths** (~3–5 days). Multi-slice.
|
||||
- **✓ SHIPPED — A6.P3 slice 1 — Indoor ContactPlane retention**
|
||||
(2026-05-21, commits `ba9655f` plan + `6b4be7f`/`c6bc2b9` T1
|
||||
research + `869edd9` T2 counter + `36975ef`/`a32f569` T3 test +
|
||||
`5aba071` T4 Mechanism B + `5f7722a`/`39fc037`/`bd5fe2e` T5 strip
|
||||
+ `066568a` scen2 postfix proof + `<this commit>` T8 bookkeeping).
|
||||
Stripped `TryFindIndoorWalkablePlane` synthesis path from
|
||||
`Transition.FindEnvCollisions` indoor branch (matches retail's
|
||||
tiny `CEnvCell::find_env_collisions` shape at acclient_2013_pseudo_c.txt:309573).
|
||||
Added Mechanism B (LKCP restore) in `Transition.ValidateTransition`
|
||||
matching retail's pattern at acclient_2013_pseudo_c.txt:272565-272583.
|
||||
Per-unit-of-activity CP-write rate dropped 63×. **Unexpected win:
|
||||
stairs + cellar descent now WORK in acdream** (user happy-test
|
||||
confirmed). A6.P2 Finding 1 (dispatcher entry frequency mismatch)
|
||||
CLOSED as side-effect (dispatcher shape now retail-like). Finding 2
|
||||
PARTIALLY CLOSED — 99.3% of remaining cp-writes come from L622
|
||||
per-tick body-CP seed at `PhysicsEngine.ResolveWithTransition:622`
|
||||
(filed as issue #96 for slice 2).
|
||||
- **A6.P3 slice 2 — Gate L622 per-tick CP seed** (issue #96,
|
||||
~1 day). Either remove the L622 seed entirely (rely on Mechanism
|
||||
A + Mechanism B for CP propagation) OR gate it to fire only on
|
||||
`body.ContactPlane` change. Verify slope walking + stair-climb +
|
||||
cellar still work. Target: scen3 cp-write ≤ 100 (matches retail
|
||||
BP7 ~0). Re-test phantom collisions + fall-through (issue #97,
|
||||
hypothesized side-effect of #96) post-slice-2.
|
||||
- **A6.P3 slice 3 — Finding 3 (cell-resolver sling-out)** (if not
|
||||
closed as side-effect of slice 1+2). Re-capture scen4 first to
|
||||
confirm whether sling-out persists. Otherwise: narrow fix in
|
||||
`ResolveCellId` + `CheckBuildingTransit` cell-stickiness; remove
|
||||
#90 workaround.
|
||||
- Issue #95 (visibility blowup) NOT in A6.P3 scope — separate work
|
||||
surface.
|
||||
- **A6.P4 — Remove workarounds + visual verification** (~1 day after
|
||||
P3). Revert #90 sphere-overlap stickiness in
|
||||
`PhysicsEngine.ResolveCellId`. Delete `Transition.TryFindIndoorWalkablePlane`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue