zigzag-engine/fixtures/half_braid_geometry.json
Maximus Gorog 5454c02328 Fix explosion.rs over-approximation: use cospan rewrite data for correct covering relations
- Replace all-to-all sub-poset connection with rewrite-based correspondence
- Add compute_subpoint_correspondence() using cone structure for 3 cases:
  identity (1-to-1), contraction (many-to-one), insertion (index shift)
- Add compute_height_maps() for singular and regular height tracking
- Covering relations reduced from 114 to 35 for half_braid (69% reduction)
- Surface 3 (r0,s0,r0): 9 spurious successors → 3 correct successors
- 175 tests passing, 0 failures
- Regenerated fixtures/half_braid_geometry.json with corrected boundaries

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-04-08 00:54:18 -06:00

419 lines
No EOL
5.8 KiB
JSON

{
"metadata": {
"source": "half_braid.json",
"dimension": 3,
"total_points": 23,
"total_covers": 35
},
"vertices": [
{
"id": 21,
"label": "vertex_0",
"point": "s0,s0,s0",
"coords": [
1.0,
1.0,
1.0
]
},
{
"id": 22,
"label": "vertex_1",
"point": "s1,s0,s0",
"coords": [
3.0,
1.0,
1.0
]
}
],
"wires": [
{
"id": 5,
"label": "wire_0",
"point": "s0,s0,r0",
"coords": [
1.0,
1.0,
0.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
},
{
"id": 8,
"label": "wire_1",
"point": "s0,s1,r0",
"coords": [
1.0,
3.0,
0.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
},
{
"id": 14,
"label": "wire_2",
"point": "s0,s0,r1",
"coords": [
1.0,
1.0,
2.0
],
"endpoints": [
21,
21
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
1.0,
1.0,
1.0
]
]
},
{
"id": 15,
"label": "wire_3",
"point": "s1,s0,r1",
"coords": [
3.0,
1.0,
2.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
},
{
"id": 18,
"label": "wire_4",
"point": "r0,s0,s0",
"coords": [
0.0,
1.0,
1.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
},
{
"id": 19,
"label": "wire_5",
"point": "r1,s0,s0",
"coords": [
2.0,
1.0,
1.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
},
{
"id": 20,
"label": "wire_6",
"point": "r2,s0,s0",
"coords": [
4.0,
1.0,
1.0
],
"endpoints": [
21,
22
],
"endpoint_coords": [
[
1.0,
1.0,
1.0
],
[
3.0,
1.0,
1.0
]
]
}
],
"surfaces": [
{
"id": 3,
"label": "surface_0",
"point": "r0,s0,r0",
"coords": [
0.0,
1.0,
0.0
],
"boundary_wires": [
5,
8,
14,
15,
18,
19,
20
]
},
{
"id": 4,
"label": "surface_1",
"point": "r1,s0,r0",
"coords": [
2.0,
1.0,
0.0
],
"boundary_wires": [
5,
15,
19,
20
]
},
{
"id": 6,
"label": "surface_2",
"point": "r0,s1,r0",
"coords": [
0.0,
3.0,
0.0
],
"boundary_wires": [
8,
14,
15,
18,
19,
20
]
},
{
"id": 7,
"label": "surface_3",
"point": "r1,s1,r0",
"coords": [
2.0,
3.0,
0.0
],
"boundary_wires": [
8,
15,
19,
20
]
},
{
"id": 11,
"label": "surface_4",
"point": "r0,s0,r1",
"coords": [
0.0,
1.0,
2.0
],
"boundary_wires": [
14,
15,
18
]
},
{
"id": 12,
"label": "surface_5",
"point": "r1,s0,r1",
"coords": [
2.0,
1.0,
2.0
],
"boundary_wires": [
5,
8,
14,
15,
18,
19
]
},
{
"id": 13,
"label": "surface_6",
"point": "r2,s0,r1",
"coords": [
4.0,
1.0,
2.0
],
"boundary_wires": [
5,
8,
14,
15,
18,
19,
20
]
},
{
"id": 16,
"label": "surface_7",
"point": "r0,r0,s0",
"coords": [
0.0,
0.0,
1.0
],
"boundary_wires": [
14,
15,
18,
19,
20
]
},
{
"id": 17,
"label": "surface_8",
"point": "r0,r1,s0",
"coords": [
0.0,
2.0,
1.0
],
"boundary_wires": [
18
]
}
],
"volumes": [
{
"id": 0,
"label": "volume_0",
"point": "r0,r0,r0",
"coords": [
0.0,
0.0,
0.0
]
},
{
"id": 1,
"label": "volume_1",
"point": "r0,r1,r0",
"coords": [
0.0,
2.0,
0.0
]
},
{
"id": 2,
"label": "volume_2",
"point": "r0,r2,r0",
"coords": [
0.0,
4.0,
0.0
]
},
{
"id": 9,
"label": "volume_3",
"point": "r0,r0,r1",
"coords": [
0.0,
0.0,
2.0
]
},
{
"id": 10,
"label": "volume_4",
"point": "r0,r1,r1",
"coords": [
0.0,
2.0,
2.0
]
}
]
}