mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
The second floor covers one class: the multi-wall corridor eating a neighbouring wall. The first floor brings what neither it nor any synthetic fixture has — three virtual spans, two wall columns, two solid edges with no thickness record at all, and 127 noisy coordinates. The two plans pin opposite states, which is worth more than two plans with the same defect: one records a known debt of 181 steps, the other records cleanliness at zero. A regression is caught in both directions. A declared virtual span is a declared break, not a defect, so the rule from #285 would have reddened on the first floor's own contract. Samples lying on open_spans are now excluded: 830 of 6800 on that plan, and the remaining gap count is zero. The two zero-thickness solid edges are two grid steps long and covered by the bodies of their neighbours, so the browser sees no break. Their count is therefore pinned in the model test rather than the smoke — if it grows, or if the neighbours stop covering them, that shows up before it becomes a hole. Both fixtures must stay noisy: the project's synthetic models carry exactly zero noise, which is why #258 and #248 are not reproducible on them. A profile check asserts at least a hundred noisy coordinates each, so a future write barrier run over the fixtures cannot quietly rob them of their purpose. Privacy: names, ids, markers, device bindings and layout are gone; geometry stays, coordinates unchanged, because they are the point. Issue: #286 User-Visible: no
584 lines
10 KiB
JSON
584 lines
10 KiB
JSON
{
|
|
"note": "Privacy-minimised geometry of a real first floor (issue #286 (gate introduced in #285)). Room names, ids and every device binding are removed; only geometry, thickness, virtual spans and openings remain. Coordinates are unchanged on purpose: this plan carries the coordinate noise that synthetic fixtures do not.",
|
|
"space": {
|
|
"id": "real-first-floor",
|
|
"title": "Real first floor",
|
|
"cell_cm": 5,
|
|
"view_box": [
|
|
0,
|
|
0,
|
|
1,
|
|
1
|
|
],
|
|
"settings": {
|
|
"show_borders": true,
|
|
"show_names": false,
|
|
"fill_mode": "custom",
|
|
"custom_fill": {
|
|
"c": "#607d8b",
|
|
"a": 0
|
|
},
|
|
"glow_enabled": false
|
|
},
|
|
"rooms": [
|
|
{
|
|
"id": "room-a",
|
|
"name": "Room A",
|
|
"poly": [
|
|
[
|
|
0.070833333,
|
|
0.4375
|
|
],
|
|
[
|
|
0.070833333,
|
|
0.05
|
|
],
|
|
[
|
|
0.8875,
|
|
0.05
|
|
],
|
|
[
|
|
0.8875,
|
|
0.345833333
|
|
],
|
|
[
|
|
0.691666667,
|
|
0.345833333
|
|
],
|
|
[
|
|
0.691666667,
|
|
0.55
|
|
],
|
|
[
|
|
0.620833333,
|
|
0.55
|
|
],
|
|
[
|
|
0.620833333,
|
|
0.425
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.425
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.4375
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-b",
|
|
"name": "Room B",
|
|
"poly": [
|
|
[
|
|
0.204166667,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.204166667,
|
|
0.4375
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.4375
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.645833333
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-c",
|
|
"name": "Room C",
|
|
"poly": [
|
|
[
|
|
0.2375,
|
|
0.866666667
|
|
],
|
|
[
|
|
0.2375,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.866666667
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-d",
|
|
"name": "Room D",
|
|
"poly": [
|
|
[
|
|
0.070833333,
|
|
0.866666667
|
|
],
|
|
[
|
|
0.070833333,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.2375,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.2375,
|
|
0.866666667
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-e",
|
|
"name": "Room E",
|
|
"poly": [
|
|
[
|
|
0.420833333,
|
|
0.866666667
|
|
],
|
|
[
|
|
0.420833333,
|
|
0.425
|
|
],
|
|
[
|
|
0.620833333,
|
|
0.425
|
|
],
|
|
[
|
|
0.620833333,
|
|
0.866666667
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-f",
|
|
"name": "Room F",
|
|
"poly": [
|
|
[
|
|
0.620833333,
|
|
0.866666667
|
|
],
|
|
[
|
|
0.620833333,
|
|
0.55
|
|
],
|
|
[
|
|
0.8875,
|
|
0.55
|
|
],
|
|
[
|
|
0.8875,
|
|
0.866666667
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-g",
|
|
"name": "Room G",
|
|
"poly": [
|
|
[
|
|
0.070833333,
|
|
0.645833333
|
|
],
|
|
[
|
|
0.070833333,
|
|
0.4375
|
|
],
|
|
[
|
|
0.204166667,
|
|
0.4375
|
|
],
|
|
[
|
|
0.204166667,
|
|
0.645833333
|
|
]
|
|
]
|
|
},
|
|
{
|
|
"id": "room-h",
|
|
"name": "Room H",
|
|
"poly": [
|
|
[
|
|
0.691666667,
|
|
0.345833333
|
|
],
|
|
[
|
|
0.979166667,
|
|
0.345833333
|
|
],
|
|
[
|
|
0.979166667,
|
|
0.55
|
|
],
|
|
[
|
|
0.691666667,
|
|
0.55
|
|
]
|
|
]
|
|
}
|
|
],
|
|
"walls": [
|
|
{
|
|
"key": "0.479167,0.050000@0.0000",
|
|
"cm": 29,
|
|
"a": [
|
|
0.070833333,
|
|
0.05
|
|
],
|
|
"b": [
|
|
0.8875,
|
|
0.05
|
|
]
|
|
},
|
|
{
|
|
"key": "0.420833,0.645833@1.5706",
|
|
"cm": 20,
|
|
"a": [
|
|
0.420833333,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.420833333,
|
|
0.425
|
|
]
|
|
},
|
|
{
|
|
"key": "0.070833,0.245833@1.5706",
|
|
"cm": 29,
|
|
"a": [
|
|
0.070833333,
|
|
0.4375
|
|
],
|
|
"b": [
|
|
0.070833333,
|
|
0.05
|
|
]
|
|
},
|
|
{
|
|
"key": "0.245833,0.437500@0.0000",
|
|
"cm": 33,
|
|
"a": [
|
|
0.420833333,
|
|
0.4375
|
|
],
|
|
"b": [
|
|
0.070833333,
|
|
0.4375
|
|
]
|
|
},
|
|
{
|
|
"key": "0.620833,0.708333@1.5706",
|
|
"cm": 20,
|
|
"a": [
|
|
0.620833333,
|
|
0.55
|
|
],
|
|
"b": [
|
|
0.620833333,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.887500,0.708333@1.5706",
|
|
"cm": 29,
|
|
"a": [
|
|
0.8875,
|
|
0.55
|
|
],
|
|
"b": [
|
|
0.8875,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.887500,0.195833@1.5706",
|
|
"cm": 29,
|
|
"a": [
|
|
0.8875,
|
|
0.05
|
|
],
|
|
"b": [
|
|
0.8875,
|
|
0.345833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.754167,0.550000@0.0000",
|
|
"cm": 20,
|
|
"a": [
|
|
0.620833333,
|
|
0.55
|
|
],
|
|
"b": [
|
|
0.8875,
|
|
0.55
|
|
]
|
|
},
|
|
{
|
|
"key": "0.754167,0.866667@0.0000",
|
|
"cm": 29,
|
|
"a": [
|
|
0.8875,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.620833333,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.070833,0.758333@1.5706",
|
|
"cm": 29,
|
|
"a": [
|
|
0.070833333,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.070833333,
|
|
0.645833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.237500,0.758333@1.5706",
|
|
"cm": 20,
|
|
"a": [
|
|
0.2375,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.2375,
|
|
0.645833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.312500,0.645833@0.0000",
|
|
"cm": 20,
|
|
"a": [
|
|
0.420833333,
|
|
0.645833333
|
|
],
|
|
"b": [
|
|
0.204166667,
|
|
0.645833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.070833,0.541667@1.5706",
|
|
"cm": 29,
|
|
"a": [
|
|
0.070833333,
|
|
0.645833333
|
|
],
|
|
"b": [
|
|
0.070833333,
|
|
0.4375
|
|
]
|
|
},
|
|
{
|
|
"key": "0.204167,0.541667@1.5706",
|
|
"cm": 20,
|
|
"a": [
|
|
0.204166667,
|
|
0.645833333
|
|
],
|
|
"b": [
|
|
0.204166667,
|
|
0.4375
|
|
]
|
|
},
|
|
{
|
|
"key": "0.979167,0.445833@1.5706",
|
|
"cm": 28,
|
|
"a": [
|
|
0.979166667,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.979166667,
|
|
0.55
|
|
]
|
|
},
|
|
{
|
|
"key": "0.520833,0.866667@0.0000",
|
|
"cm": 29,
|
|
"a": [
|
|
0.620833333,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.420833333,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.791667,0.345833@0.0000",
|
|
"cm": 22,
|
|
"a": [
|
|
0.8875,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.691666667,
|
|
0.345833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.329167,0.866667@0.0000",
|
|
"cm": 29,
|
|
"a": [
|
|
0.420833333,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.2375,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.154167,0.645833@0.0000",
|
|
"cm": 20,
|
|
"a": [
|
|
0.070833333,
|
|
0.645833333
|
|
],
|
|
"b": [
|
|
0.2375,
|
|
0.645833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.154167,0.866667@0.0000",
|
|
"cm": 29,
|
|
"a": [
|
|
0.2375,
|
|
0.866666667
|
|
],
|
|
"b": [
|
|
0.070833333,
|
|
0.866666667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.691667,0.400000@1.5706",
|
|
"cm": 22,
|
|
"a": [
|
|
0.691666667,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.691666667,
|
|
0.454166667
|
|
]
|
|
},
|
|
{
|
|
"key": "0.933333,0.550000@0.0000",
|
|
"cm": 22,
|
|
"a": [
|
|
0.979166667,
|
|
0.55
|
|
],
|
|
"b": [
|
|
0.8875,
|
|
0.55
|
|
]
|
|
},
|
|
{
|
|
"key": "0.933333,0.345833@0.0000",
|
|
"cm": 22,
|
|
"a": [
|
|
0.888881904,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.979166667,
|
|
0.345833333
|
|
]
|
|
},
|
|
{
|
|
"key": "0.887500,0.345833@0.0000",
|
|
"cm": 15,
|
|
"a": [
|
|
0.8875,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.888881904,
|
|
0.345833333
|
|
]
|
|
}
|
|
],
|
|
"partitions": [
|
|
{
|
|
"id": "partition_partition_partition_partition-msjey_30638872",
|
|
"a": [
|
|
0.691666667,
|
|
0.345833333
|
|
],
|
|
"b": [
|
|
0.604166667,
|
|
0.345833333
|
|
],
|
|
"cm": 22
|
|
}
|
|
],
|
|
"open_spans": [
|
|
{
|
|
"a": [
|
|
0.420833333,
|
|
0.425
|
|
],
|
|
"b": [
|
|
0.620833333,
|
|
0.425
|
|
]
|
|
},
|
|
{
|
|
"a": [
|
|
0.620833333,
|
|
0.425
|
|
],
|
|
"b": [
|
|
0.620833333,
|
|
0.541666667
|
|
]
|
|
},
|
|
{
|
|
"a": [
|
|
0.691666667,
|
|
0.454166667
|
|
],
|
|
"b": [
|
|
0.691666667,
|
|
0.55
|
|
]
|
|
}
|
|
],
|
|
"openings": [],
|
|
"wall_columns": [
|
|
{
|
|
"id": "column_column_column_column-msjeztk0_5a939_96c417e2",
|
|
"shape": "square",
|
|
"center": [
|
|
0.4,
|
|
0.441666667
|
|
],
|
|
"cm": 15
|
|
},
|
|
{
|
|
"id": "column-mt1olibe",
|
|
"shape": "square",
|
|
"center": [
|
|
0.416666667,
|
|
0.345833333
|
|
],
|
|
"cm": 29
|
|
}
|
|
]
|
|
}
|
|
}
|