P2 / M1.5 "blocked at the last step" cellar-lip wedge. This session built a faithful deterministic reproduction and peeled the cause through six evidence-disproven framings to one bounded question. NO fix landed — the last layers were each disproven by evidence, and guessing at the load-bearing collision code is the saga's failure mode. Apparatus: - CellarLipWedgeTests.cs + Fixtures/cellar-lip/ (3 real cell dumps + wedge-records.jsonl = 29 captured ACDREAM_CAPTURE_RESOLVE wedge calls). Replays the exact calls + body-before through the lip-cell engine: all 29 reproduce at 0% advance in <200 ms. Tests are documents-the-bug / diagnostics (GREEN while the wedge exists). - TEMP probes ([path5-wall]/[fw-enter]/[find-walkable] in BSPQuery; [neg-poly]/[stepsphereup]/ [stepdown-decide]/CheckOtherCells cn/sn/negHit in TransitionTypes), gated on ACDREAM_PROBE_INDOOR_BSP, marked STRIP. TransitionTypes neg-poly shortcut has a reverted-fix comment (slide attempt didn't clear the wedge). - tools/cdb/retail-*-trace.cdb (retail cdb traces). Findings (handoff: docs/research/2026-06-04-p2-cellar-lip-flatfloor-cp-handoff.md, see the "NEXT-SESSION KICKOFF" at top): - Flat-floor contact plane is retail-faithful (v1 trace, full-file correlation). NOT the bug. - PosHitsSphere cull sign is retail-faithful (cdb -z verified; the Binary Ninja `test ah,N; jp` parity-jump reads inverted — caught + reverted a wrong fix from that mis-read). - Sphere radius correct (0.48 player / 0.30 camera probe). - Retail connector cell 0xA9B40175 never blocks (CEnvCell::find_collisions trace: 0 Collided/Slid). - PINNED: during the step-up's step-down, BSPQuery.FindWalkableInternal is never called for cell 0171, so the cottage floor (poly 0x0023, Z=94) is never tested as walkable -> no contact plane -> step-up fails -> StepUpSlide=Collided -> wedge. Next: trace FindEnvCollisions -> FindCollisions path dispatch for 0171 during StepDown=true (why StepSphereDown/find_walkable is skipped), port retail, validate via CellarLipWedgeTests, regress DoorBugTrajectoryReplayTests + visual gate. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
583 lines
No EOL
9.2 KiB
JSON
583 lines
No EOL
9.2 KiB
JSON
{
|
|
"CellId": 2847146356,
|
|
"WorldTransform": {
|
|
"M11": -1,
|
|
"M12": 8.74228E-08,
|
|
"M13": 0,
|
|
"M14": 0,
|
|
"M21": -8.74228E-08,
|
|
"M22": -1,
|
|
"M23": 0,
|
|
"M24": 0,
|
|
"M31": 0,
|
|
"M32": 0,
|
|
"M33": 1,
|
|
"M34": 0,
|
|
"M41": 161.929,
|
|
"M42": 7.50315,
|
|
"M43": 94,
|
|
"M44": 1
|
|
},
|
|
"InverseWorldTransform": {
|
|
"M11": -1,
|
|
"M12": -8.74228E-08,
|
|
"M13": 0,
|
|
"M14": -0,
|
|
"M21": 8.74228E-08,
|
|
"M22": -1,
|
|
"M23": 0,
|
|
"M24": 0,
|
|
"M31": 0,
|
|
"M32": 0,
|
|
"M33": 1,
|
|
"M34": -0,
|
|
"M41": 161.929,
|
|
"M42": 7.5031643,
|
|
"M43": -94,
|
|
"M44": 1
|
|
},
|
|
"ResolvedPolygons": [
|
|
{
|
|
"Id": 0,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": 1
|
|
},
|
|
"D": 3.999
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 1,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": -1,
|
|
"Y": 0,
|
|
"Z": 0
|
|
},
|
|
"D": 9
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 2,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": -1
|
|
},
|
|
"D": -0.364
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 7,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 3,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": -1,
|
|
"Z": 0
|
|
},
|
|
"D": 2.98
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 4,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": -1
|
|
},
|
|
"D": -0.364
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 7,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 7,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 5,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 0
|
|
},
|
|
"D": 2.85
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 6,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 1,
|
|
"Y": 0,
|
|
"Z": 0
|
|
},
|
|
"D": 2.664
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"PortalPolygons": [
|
|
{
|
|
"Id": 0,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": 1
|
|
},
|
|
"D": 3.999
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 1,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 1,
|
|
"Z": 0
|
|
},
|
|
"D": 2.85
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 2,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": -1,
|
|
"Y": 0,
|
|
"Z": 0
|
|
},
|
|
"D": 9
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 3,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": -1,
|
|
"Z": 0
|
|
},
|
|
"D": 2.98
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 4,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 1,
|
|
"Y": 0,
|
|
"Z": 0
|
|
},
|
|
"D": 2.664
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -3.999
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -3.999
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 5,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": -1
|
|
},
|
|
"D": -0.364
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 9,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 7,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 6,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": -1
|
|
},
|
|
"D": -0.364
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 7,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 7,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": -2.664,
|
|
"Y": 2.98,
|
|
"Z": -0.364
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"Id": 7,
|
|
"NumPoints": 4,
|
|
"SidesType": 0,
|
|
"Plane": {
|
|
"Normal": {
|
|
"X": 0,
|
|
"Y": 0,
|
|
"Z": 1
|
|
},
|
|
"D": 0.364
|
|
},
|
|
"Vertices": [
|
|
{
|
|
"X": 7,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 7,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": -2.85,
|
|
"Z": -0.364
|
|
},
|
|
{
|
|
"X": 9,
|
|
"Y": 1.15,
|
|
"Z": -0.364
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"Portals": [
|
|
{
|
|
"OtherCellId": 373,
|
|
"PolygonId": 7,
|
|
"Flags": 1
|
|
}
|
|
],
|
|
"VisibleCellIds": [
|
|
2847146351,
|
|
2847146352,
|
|
2847146353,
|
|
2847146354,
|
|
2847146355,
|
|
2847146357
|
|
]
|
|
} |