acdream/tests/AcDream.Core.Tests/Fixtures/issue98/0xA9B40143.json
Erik 3f56915bc6 capture(phys): A6.P3 #98 — cellar/cottage cell fixtures from live capture
Step 2 capture step. Launched the live client with
ACDREAM_DUMP_CELLS=0xA9B40143,0xA9B40146,0xA9B40147 and walked into a
Holtburg cottage cellar. The probe fired on first-cache of each cell
and emitted JSON dumps to tests/AcDream.Core.Tests/Fixtures/issue98/.

Cell contents (resolved polygons + portals):
- 0xA9B40143: 14 polys + 4 portals (~18.7 KB)
- 0xA9B40146:  4 polys + 2 portals (~7.0 KB)
- 0xA9B40147: 37 polys + 2 portals (~45.7 KB) — cellar, biggest
All three share worldOrigin=(130.5, 11.5, 94.0) with 180° yaw rotation
(M11=M22=-1), matching the failing-frame's local-to-world projection.

Reproduction during capture: spawn at (141.6, 8.4, 91.5) @ 0xA9B40147
— almost exactly the slice 7 handoff's failing-frame position. User
tried to walk up the cellar stair and got stuck (issue #98 reproduction
confirmed).

Surprise: 0xA9B40146 with only 4 polys + 2 portals is too sparse to be
the "cottage main floor cell" that the slice 5 handoff inferred — that
designation was a guess, not verified. 0xA9B40143 (14 polys) is the
better candidate. Step 3 (replay harness) will confirm by inspecting
the actual polygon geometry against the failing-frame sphere position.

Cells are real geometry from client_cell_1.dat, not synthetic fixtures.
The replay harness can now drive the leaf-level walkable predicates on
this exact data without launching a window.

Next: Issue98CellarUpReplayTests (Step 3).
2026-05-23 15:21:44 +02:00

1124 lines
No EOL
17 KiB
JSON

{
"CellId": 2847146307,
"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": 130.5,
"M42": 11.5,
"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": 130.5,
"M42": 11.500011,
"M43": -94,
"M44": 1
},
"ResolvedPolygons": [
{
"Id": 0,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 1,
"Z": 0
},
"D": 1.6
},
"Vertices": [
{
"X": -11.6,
"Y": -1.6,
"Z": 0
},
{
"X": -11.6,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 1,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 1,
"Y": 0,
"Z": 0
},
"D": 11.6
},
"Vertices": [
{
"X": -11.6,
"Y": 7.6,
"Z": 0
},
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": -1.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 2,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": -1,
"Z": 0
},
"D": 7.6
},
"Vertices": [
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 3,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": -1
},
"D": 2.8
},
"Vertices": [
{
"X": -11.6,
"Y": -1.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
}
]
},
{
"Id": 4,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 2.8,
"Z": 0
}
]
},
{
"Id": 5,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 2.8,
"Z": 0
}
]
},
{
"Id": 6,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.2
},
"Vertices": [
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 7,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.1999993
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 8,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.2
},
"Vertices": [
{
"X": -6.2,
"Y": 5.4,
"Z": 2.5
},
{
"X": -6.2,
"Y": 5.4,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 2.5
}
]
},
{
"Id": 9,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 0
}
]
},
{
"Id": 10,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
}
]
},
{
"Id": 11,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 12,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -11.6,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": -1.6,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 13,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.1999993
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
}
]
}
],
"PortalPolygons": [
{
"Id": 0,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 1,
"Z": 0
},
"D": 1.6
},
"Vertices": [
{
"X": -11.6,
"Y": -1.6,
"Z": 0
},
{
"X": -11.6,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 1,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -11.6,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": -1.6,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 2,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 2.8,
"Z": 0
}
]
},
{
"Id": 3,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 4,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
}
]
},
{
"Id": 5,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 2.8,
"Z": 0
}
]
},
{
"Id": 6,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": 1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 0
}
]
},
{
"Id": 7,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 1,
"Y": 0,
"Z": 0
},
"D": 11.6
},
"Vertices": [
{
"X": -11.6,
"Y": 7.6,
"Z": 0
},
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": -1.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": -1.6,
"Z": 0
}
]
},
{
"Id": 8,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": -1
},
"D": 2.8
},
"Vertices": [
{
"X": -11.6,
"Y": -1.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
}
]
},
{
"Id": 9,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": -1,
"Z": 0
},
"D": 7.6
},
"Vertices": [
{
"X": -11.6,
"Y": 7.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 10,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.2
},
"Vertices": [
{
"X": -6.2,
"Y": 7.6,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 11,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.1999993
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
}
]
},
{
"Id": 12,
"NumPoints": 3,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.1999993
},
"Vertices": [
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
},
{
"X": -6.2,
"Y": 7.6,
"Z": 2.8
}
]
},
{
"Id": 13,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": -1,
"Y": 0,
"Z": 0
},
"D": -6.2
},
"Vertices": [
{
"X": -6.2,
"Y": 5.4,
"Z": 2.5
},
{
"X": -6.2,
"Y": 5.4,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 2.5
}
]
},
{
"Id": 14,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 1,
"Y": 0,
"Z": 0
},
"D": 6.2
},
"Vertices": [
{
"X": -6.2,
"Y": -1.6,
"Z": 2.5
},
{
"X": -6.2,
"Y": -1.6,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 0
},
{
"X": -6.2,
"Y": 3.66,
"Z": 2.5
}
]
},
{
"Id": 15,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 1,
"Y": 0,
"Z": 0
},
"D": 6.2
},
"Vertices": [
{
"X": -6.2,
"Y": 5.4,
"Z": 2.5
},
{
"X": -6.2,
"Y": 5.4,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 0
},
{
"X": -6.2,
"Y": 7.3,
"Z": 2.5
}
]
},
{
"Id": 16,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": 0,
"Z": -1
},
"D": -0
},
"Vertices": [
{
"X": -10,
"Y": 7.6,
"Z": 0
},
{
"X": -10,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": 2.8,
"Z": 0
},
{
"X": -11.6,
"Y": 7.6,
"Z": 0
}
]
},
{
"Id": 17,
"NumPoints": 4,
"SidesType": 0,
"Plane": {
"Normal": {
"X": 0,
"Y": -1,
"Z": 0
},
"D": -1.6
},
"Vertices": [
{
"X": -11.6,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 1
},
{
"X": -6.2,
"Y": -1.6,
"Z": 2.8
},
{
"X": -11.6,
"Y": -1.6,
"Z": 2.8
}
]
}
],
"Portals": [
{
"OtherCellId": 326,
"PolygonId": 16,
"Flags": 1
},
{
"OtherCellId": 325,
"PolygonId": 15,
"Flags": 1
},
{
"OtherCellId": 324,
"PolygonId": 14,
"Flags": 1
},
{
"OtherCellId": 322,
"PolygonId": 17,
"Flags": 1
}
],
"VisibleCellIds": [
2847146303,
2847146304,
2847146305,
2847146306,
2847146308,
2847146309,
2847146310,
2847146311,
2847146312,
2847146313,
2847146314,
2847146315,
2847146316,
2847146317,
2847146318,
2847146319,
2847146320
]
}