Adds a Coordinate conventions section to packages/mcp/README.md and a 71-node MCP demo scene that exercises every claim it makes. Closes #337. Covers: right-handed scene with X/Z ground plane and Y up; metres for lengths and radians for rotations as Euler [x, y, z]; the [x, z] → (x, y, z) plan-to-world mapping with no sign flip in the stored contract; level/building-local framing (world only under identity transform); rotation-not-reflection caveat for the 2-D plan panel and the iso-default top-down azimuth offset; a worked 30° rotated slab example; and the wall-local-metres trap for door/window/place_item coordinates. Companion: examples/coordinate-conventions-demo.{json,md} with a reference compass at the origin and Demos A/B/C/D illustrating axis-aligned baseline, the rotated example, and the page-intent vs world-result L pair. Co-authored-by: Marcel Gruber <marcel@grubertech.com>
2124 lines
39 KiB
JSON
2124 lines
39 KiB
JSON
{
|
|
"nodes": {
|
|
"slab_demo_a": {
|
|
"id": "slab_demo_a",
|
|
"name": "DEMO A -- 6x4 m axis-aligned (baseline)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
18,
|
|
0
|
|
],
|
|
[
|
|
24,
|
|
0
|
|
],
|
|
[
|
|
24,
|
|
4
|
|
],
|
|
[
|
|
18,
|
|
4
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_b": {
|
|
"id": "slab_demo_b",
|
|
"name": "DEMO B -- 6x4 m rotated 30 deg from +X (verbatim)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
18,
|
|
10
|
|
],
|
|
[
|
|
23.195999999999998,
|
|
13
|
|
],
|
|
[
|
|
21.196,
|
|
16.464
|
|
],
|
|
[
|
|
16,
|
|
13.464
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_origin": {
|
|
"id": "slab_origin",
|
|
"name": "Origin",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.3,
|
|
-0.3
|
|
],
|
|
[
|
|
0.3,
|
|
-0.3
|
|
],
|
|
[
|
|
0.3,
|
|
0.3
|
|
],
|
|
[
|
|
-0.3,
|
|
0.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"site_conv_demo": {
|
|
"id": "site_conv_demo",
|
|
"name": "Coords conv demo site",
|
|
"type": "site",
|
|
"object": "node",
|
|
"polygon": {
|
|
"type": "polygon",
|
|
"points": [
|
|
[
|
|
-6,
|
|
-12
|
|
],
|
|
[
|
|
44,
|
|
-12
|
|
],
|
|
[
|
|
44,
|
|
40
|
|
],
|
|
[
|
|
-6,
|
|
40
|
|
]
|
|
]
|
|
},
|
|
"visible": true,
|
|
"children": [
|
|
"building_conv_demo"
|
|
],
|
|
"metadata": {},
|
|
"parentId": null
|
|
},
|
|
"level_conv_demo": {
|
|
"id": "level_conv_demo",
|
|
"name": "Coords conv demo ground level",
|
|
"type": "level",
|
|
"level": 0,
|
|
"object": "node",
|
|
"visible": true,
|
|
"children": [
|
|
"slab_axis_x_bar",
|
|
"slab_axis_x_tip",
|
|
"slab_axis_z_bar",
|
|
"slab_axis_z_tip",
|
|
"slab_axis_neg_x",
|
|
"slab_axis_neg_z",
|
|
"slab_origin",
|
|
"zone_lbl_compass_a",
|
|
"zone_lbl_compass_b",
|
|
"zone_lbl_axis_x",
|
|
"zone_lbl_axis_z",
|
|
"zone_lbl_axis_neg_x",
|
|
"zone_lbl_axis_neg_z",
|
|
"zone_lbl_origin",
|
|
"zone_lbl_caveat_1",
|
|
"zone_lbl_caveat_2",
|
|
"zone_lbl_caveat_3",
|
|
"zone_lbl_caveat_4",
|
|
"slab_demo_a",
|
|
"zone_lbl_a_title",
|
|
"zone_lbl_a_long",
|
|
"zone_lbl_a_short",
|
|
"zone_lbl_a_origin",
|
|
"zone_lbl_a_baseline",
|
|
"slab_demo_b",
|
|
"zone_lbl_b_title_1",
|
|
"zone_lbl_b_title_2",
|
|
"zone_lbl_b_verified_1",
|
|
"zone_lbl_b_verified_2",
|
|
"zone_lbl_b_verified_3",
|
|
"zone_lbl_b_origin",
|
|
"slab_demo_c_page",
|
|
"slab_demo_c_page_ax_x",
|
|
"slab_demo_c_page_ax_y",
|
|
"zone_lbl_c_p_title",
|
|
"zone_lbl_c_p_axx",
|
|
"zone_lbl_c_p_axy",
|
|
"zone_lbl_c_p_stem",
|
|
"zone_lbl_c_p_foot",
|
|
"zone_lbl_c_arrow",
|
|
"slab_demo_c_world",
|
|
"zone_lbl_c_w_title",
|
|
"zone_lbl_c_w_stem",
|
|
"zone_lbl_c_w_foot",
|
|
"zone_lbl_c_w_screen_1",
|
|
"zone_lbl_c_w_screen_2",
|
|
"slab_demo_d_page",
|
|
"slab_demo_d_page_ax_x",
|
|
"slab_demo_d_page_ax_y",
|
|
"zone_lbl_d_p_title_1",
|
|
"zone_lbl_d_p_title_2",
|
|
"zone_lbl_d_p_axx",
|
|
"zone_lbl_d_p_axy",
|
|
"zone_lbl_d_p_hope",
|
|
"zone_lbl_d_arrow",
|
|
"slab_demo_d_world",
|
|
"zone_lbl_d_w_title",
|
|
"zone_lbl_d_w_note_1",
|
|
"zone_lbl_d_w_note_2",
|
|
"zone_lbl_d_w_note_3",
|
|
"zone_lbl_d_w_note_4",
|
|
"zone_lbl_d_w_note_5",
|
|
"zone_takeaway_band",
|
|
"zone_lbl_take_1",
|
|
"zone_lbl_take_2",
|
|
"zone_lbl_take_3",
|
|
"zone_lbl_take_4",
|
|
"zone_lbl_take_5"
|
|
],
|
|
"metadata": {
|
|
"label": "Coords conv demo"
|
|
},
|
|
"parentId": "building_conv_demo"
|
|
},
|
|
"slab_axis_neg_x": {
|
|
"id": "slab_axis_neg_x",
|
|
"name": "-X stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-2.5,
|
|
-0.06
|
|
],
|
|
[
|
|
0,
|
|
-0.06
|
|
],
|
|
[
|
|
0,
|
|
0.06
|
|
],
|
|
[
|
|
-2.5,
|
|
0.06
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_axis_neg_z": {
|
|
"id": "slab_axis_neg_z",
|
|
"name": "-Z stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.06,
|
|
-2.5
|
|
],
|
|
[
|
|
0.06,
|
|
-2.5
|
|
],
|
|
[
|
|
0.06,
|
|
0
|
|
],
|
|
[
|
|
-0.06,
|
|
0
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_axis_x_bar": {
|
|
"id": "slab_axis_x_bar",
|
|
"name": "+X axis bar",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0,
|
|
-0.06
|
|
],
|
|
[
|
|
12,
|
|
-0.06
|
|
],
|
|
[
|
|
12,
|
|
0.06
|
|
],
|
|
[
|
|
0,
|
|
0.06
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_axis_x_tip": {
|
|
"id": "slab_axis_x_tip",
|
|
"name": "+X tip",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
12,
|
|
-0.4
|
|
],
|
|
[
|
|
12.9,
|
|
0
|
|
],
|
|
[
|
|
12,
|
|
0.4
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_axis_z_bar": {
|
|
"id": "slab_axis_z_bar",
|
|
"name": "+Z axis bar",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.06,
|
|
0
|
|
],
|
|
[
|
|
0.06,
|
|
0
|
|
],
|
|
[
|
|
0.06,
|
|
12
|
|
],
|
|
[
|
|
-0.06,
|
|
12
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_axis_z_tip": {
|
|
"id": "slab_axis_z_tip",
|
|
"name": "+Z tip",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.4,
|
|
12
|
|
],
|
|
[
|
|
0.4,
|
|
12
|
|
],
|
|
[
|
|
0,
|
|
12.9
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"zone_lbl_a_long": {
|
|
"id": "zone_lbl_a_long",
|
|
"name": "Long edge: 6 m along world +X",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
20.7,
|
|
1.3
|
|
],
|
|
[
|
|
21.3,
|
|
1.3
|
|
],
|
|
[
|
|
21.3,
|
|
1.9000000000000001
|
|
],
|
|
[
|
|
20.7,
|
|
1.9000000000000001
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_axis_x": {
|
|
"id": "zone_lbl_axis_x",
|
|
"name": "+X axis = plan first component (12 m long)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
13.299999999999999,
|
|
-1.3
|
|
],
|
|
[
|
|
13.9,
|
|
-1.3
|
|
],
|
|
[
|
|
13.9,
|
|
-0.7
|
|
],
|
|
[
|
|
13.299999999999999,
|
|
-0.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_axis_z": {
|
|
"id": "zone_lbl_axis_z",
|
|
"name": "+Z axis = plan second component (12 m long)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-1.3,
|
|
13.299999999999999
|
|
],
|
|
[
|
|
-0.7,
|
|
13.299999999999999
|
|
],
|
|
[
|
|
-0.7,
|
|
13.9
|
|
],
|
|
[
|
|
-1.3,
|
|
13.9
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_origin": {
|
|
"id": "zone_lbl_origin",
|
|
"name": "Origin (0, 0) -- all demo coords are world space, metres",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
1.2,
|
|
1.2
|
|
],
|
|
[
|
|
1.8,
|
|
1.2
|
|
],
|
|
[
|
|
1.8,
|
|
1.8
|
|
],
|
|
[
|
|
1.2,
|
|
1.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_take_1": {
|
|
"id": "zone_lbl_take_1",
|
|
"name": "TAKEAWAY (1/5): [x,z] -> world (x, 0, z) exactly, no sign flip",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
2.7,
|
|
32.7
|
|
],
|
|
[
|
|
3.3,
|
|
32.7
|
|
],
|
|
[
|
|
3.3,
|
|
33.3
|
|
],
|
|
[
|
|
2.7,
|
|
33.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_take_2": {
|
|
"id": "zone_lbl_take_2",
|
|
"name": "(2/5): Demo B verified: 6x4 m, 30 deg, AB perp AD",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
2.7,
|
|
33.5
|
|
],
|
|
[
|
|
3.3,
|
|
33.5
|
|
],
|
|
[
|
|
3.3,
|
|
34.099999999999994
|
|
],
|
|
[
|
|
2.7,
|
|
34.099999999999994
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_take_3": {
|
|
"id": "zone_lbl_take_3",
|
|
"name": "(3/5): On-screen orientation is viewport-dependent",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
2.7,
|
|
34.300000000000004
|
|
],
|
|
[
|
|
3.3,
|
|
34.300000000000004
|
|
],
|
|
[
|
|
3.3,
|
|
34.9
|
|
],
|
|
[
|
|
2.7,
|
|
34.9
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_take_4": {
|
|
"id": "zone_lbl_take_4",
|
|
"name": "(4/5): 2D plan rotates +90 deg; 3D top-down ~45 deg offset",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
2.7,
|
|
35.1
|
|
],
|
|
[
|
|
3.3,
|
|
35.1
|
|
],
|
|
[
|
|
3.3,
|
|
35.699999999999996
|
|
],
|
|
[
|
|
2.7,
|
|
35.699999999999996
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_take_5": {
|
|
"id": "zone_lbl_take_5",
|
|
"name": "(5/5): Verify with a scaled guide image at known anchors",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
32.7
|
|
],
|
|
[
|
|
22.3,
|
|
32.7
|
|
],
|
|
[
|
|
22.3,
|
|
33.3
|
|
],
|
|
[
|
|
21.7,
|
|
33.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"slab_demo_c_page": {
|
|
"id": "slab_demo_c_page",
|
|
"name": "DEMO C -- PAGE INTENT (1/2 scale)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0,
|
|
22
|
|
],
|
|
[
|
|
2,
|
|
22
|
|
],
|
|
[
|
|
2,
|
|
22.5
|
|
],
|
|
[
|
|
0.5,
|
|
22.5
|
|
],
|
|
[
|
|
0.5,
|
|
24.5
|
|
],
|
|
[
|
|
0,
|
|
24.5
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_d_page": {
|
|
"id": "slab_demo_d_page",
|
|
"name": "DEMO D -- PAGE INTENT (z reflected, 1/2 scale)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
22,
|
|
24.5
|
|
],
|
|
[
|
|
24,
|
|
24.5
|
|
],
|
|
[
|
|
24,
|
|
24
|
|
],
|
|
[
|
|
22.5,
|
|
24
|
|
],
|
|
[
|
|
22.5,
|
|
22
|
|
],
|
|
[
|
|
22,
|
|
22
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"zone_lbl_a_short": {
|
|
"id": "zone_lbl_a_short",
|
|
"name": "Short edge: 4 m along world +Z",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
24.5,
|
|
1.7
|
|
],
|
|
[
|
|
25.1,
|
|
1.7
|
|
],
|
|
[
|
|
25.1,
|
|
2.3
|
|
],
|
|
[
|
|
24.5,
|
|
2.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_a_title": {
|
|
"id": "zone_lbl_a_title",
|
|
"name": "DEMO A -- axis-aligned 6x4 m rectangle",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
20.7,
|
|
-1.3
|
|
],
|
|
[
|
|
21.3,
|
|
-1.3
|
|
],
|
|
[
|
|
21.3,
|
|
-0.7
|
|
],
|
|
[
|
|
20.7,
|
|
-0.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_arrow": {
|
|
"id": "zone_lbl_c_arrow",
|
|
"name": "pasted [x,z] UNCORRECTED -->",
|
|
"type": "zone",
|
|
"color": "#ffe9c2",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
6.2,
|
|
24.2
|
|
],
|
|
[
|
|
6.8,
|
|
24.2
|
|
],
|
|
[
|
|
6.8,
|
|
24.8
|
|
],
|
|
[
|
|
6.2,
|
|
24.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_p_axx": {
|
|
"id": "zone_lbl_c_p_axx",
|
|
"name": "page +x = author's 'east'",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
2.1,
|
|
21.5
|
|
],
|
|
[
|
|
2.6999999999999997,
|
|
21.5
|
|
],
|
|
[
|
|
2.6999999999999997,
|
|
22.1
|
|
],
|
|
[
|
|
2.1,
|
|
22.1
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_p_axy": {
|
|
"id": "zone_lbl_c_p_axy",
|
|
"name": "page +y = author's 'north'",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.7,
|
|
24.099999999999998
|
|
],
|
|
[
|
|
-0.10000000000000003,
|
|
24.099999999999998
|
|
],
|
|
[
|
|
-0.10000000000000003,
|
|
24.7
|
|
],
|
|
[
|
|
-0.7,
|
|
24.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_arrow": {
|
|
"id": "zone_lbl_d_arrow",
|
|
"name": "pasted as [x,z] -->",
|
|
"type": "zone",
|
|
"color": "#ffe9c2",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
28.2,
|
|
24.2
|
|
],
|
|
[
|
|
28.8,
|
|
24.2
|
|
],
|
|
[
|
|
28.8,
|
|
24.8
|
|
],
|
|
[
|
|
28.2,
|
|
24.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_p_axx": {
|
|
"id": "zone_lbl_d_p_axx",
|
|
"name": "page +x",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
24.099999999999998,
|
|
21.5
|
|
],
|
|
[
|
|
24.7,
|
|
21.5
|
|
],
|
|
[
|
|
24.7,
|
|
22.1
|
|
],
|
|
[
|
|
24.099999999999998,
|
|
22.1
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_p_axy": {
|
|
"id": "zone_lbl_d_p_axy",
|
|
"name": "page +y",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.3,
|
|
24.099999999999998
|
|
],
|
|
[
|
|
21.900000000000002,
|
|
24.099999999999998
|
|
],
|
|
[
|
|
21.900000000000002,
|
|
24.7
|
|
],
|
|
[
|
|
21.3,
|
|
24.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"slab_demo_c_world": {
|
|
"id": "slab_demo_c_world",
|
|
"name": "DEMO C -- WORLD RESULT (uncorrected)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
10,
|
|
22
|
|
],
|
|
[
|
|
14,
|
|
22
|
|
],
|
|
[
|
|
14,
|
|
23
|
|
],
|
|
[
|
|
11,
|
|
23
|
|
],
|
|
[
|
|
11,
|
|
27
|
|
],
|
|
[
|
|
10,
|
|
27
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_d_world": {
|
|
"id": "slab_demo_d_world",
|
|
"name": "DEMO D -- WORLD RESULT (mirror image of Demo C)",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
32,
|
|
27
|
|
],
|
|
[
|
|
36,
|
|
27
|
|
],
|
|
[
|
|
36,
|
|
26
|
|
],
|
|
[
|
|
33,
|
|
26
|
|
],
|
|
[
|
|
33,
|
|
22
|
|
],
|
|
[
|
|
32,
|
|
22
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"zone_lbl_a_origin": {
|
|
"id": "zone_lbl_a_origin",
|
|
"name": "First corner at world (18, 0)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
18.2,
|
|
0.2
|
|
],
|
|
[
|
|
18.8,
|
|
0.2
|
|
],
|
|
[
|
|
18.8,
|
|
0.8
|
|
],
|
|
[
|
|
18.2,
|
|
0.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_b_origin": {
|
|
"id": "zone_lbl_b_origin",
|
|
"name": "First vertex (18, 10) -- canonical [[0,0],[5.196,3],...] + offset",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
18.2,
|
|
10.2
|
|
],
|
|
[
|
|
18.8,
|
|
10.2
|
|
],
|
|
[
|
|
18.8,
|
|
10.8
|
|
],
|
|
[
|
|
18.2,
|
|
10.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_p_foot": {
|
|
"id": "zone_lbl_c_p_foot",
|
|
"name": "foot: 4 m along page +x",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
1.2,
|
|
21.2
|
|
],
|
|
[
|
|
1.8,
|
|
21.2
|
|
],
|
|
[
|
|
1.8,
|
|
21.8
|
|
],
|
|
[
|
|
1.2,
|
|
21.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_p_stem": {
|
|
"id": "zone_lbl_c_p_stem",
|
|
"name": "stem: 5 m along page +y",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-1.1,
|
|
23.099999999999998
|
|
],
|
|
[
|
|
-0.5,
|
|
23.099999999999998
|
|
],
|
|
[
|
|
-0.5,
|
|
23.7
|
|
],
|
|
[
|
|
-1.1,
|
|
23.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_w_foot": {
|
|
"id": "zone_lbl_c_w_foot",
|
|
"name": "foot along world +X (was author's east)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
12.2,
|
|
22.2
|
|
],
|
|
[
|
|
12.8,
|
|
22.2
|
|
],
|
|
[
|
|
12.8,
|
|
22.8
|
|
],
|
|
[
|
|
12.2,
|
|
22.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_w_stem": {
|
|
"id": "zone_lbl_c_w_stem",
|
|
"name": "stem along world +Z (was author's north)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
10.2,
|
|
24.2
|
|
],
|
|
[
|
|
10.8,
|
|
24.2
|
|
],
|
|
[
|
|
10.8,
|
|
24.8
|
|
],
|
|
[
|
|
10.2,
|
|
24.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_caveat_1": {
|
|
"id": "zone_lbl_caveat_1",
|
|
"name": "Viewports may rotate world axes on screen",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-6.3
|
|
],
|
|
[
|
|
5.3,
|
|
-6.3
|
|
],
|
|
[
|
|
5.3,
|
|
-5.7
|
|
],
|
|
[
|
|
4.7,
|
|
-5.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_caveat_2": {
|
|
"id": "zone_lbl_caveat_2",
|
|
"name": "2D plan panel applies +90 deg rotation",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-7.3
|
|
],
|
|
[
|
|
5.3,
|
|
-7.3
|
|
],
|
|
[
|
|
5.3,
|
|
-6.7
|
|
],
|
|
[
|
|
4.7,
|
|
-6.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_caveat_3": {
|
|
"id": "zone_lbl_caveat_3",
|
|
"name": "3D 'top-down' camera defaults to ~45 deg offset",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-8.3
|
|
],
|
|
[
|
|
5.3,
|
|
-8.3
|
|
],
|
|
[
|
|
5.3,
|
|
-7.7
|
|
],
|
|
[
|
|
4.7,
|
|
-7.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_caveat_4": {
|
|
"id": "zone_lbl_caveat_4",
|
|
"name": "World axes themselves are stable; only display rotates",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-9.3
|
|
],
|
|
[
|
|
5.3,
|
|
-9.3
|
|
],
|
|
[
|
|
5.3,
|
|
-8.7
|
|
],
|
|
[
|
|
4.7,
|
|
-8.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_p_hope": {
|
|
"id": "zone_lbl_d_p_hope",
|
|
"name": "Hope: 'reflecting z will un-mirror the result'",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
22.7,
|
|
25.2
|
|
],
|
|
[
|
|
23.3,
|
|
25.2
|
|
],
|
|
[
|
|
23.3,
|
|
25.8
|
|
],
|
|
[
|
|
22.7,
|
|
25.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"building_conv_demo": {
|
|
"id": "building_conv_demo",
|
|
"name": "Demo bld",
|
|
"type": "building",
|
|
"object": "node",
|
|
"visible": true,
|
|
"children": [
|
|
"level_conv_demo"
|
|
],
|
|
"metadata": {},
|
|
"parentId": "site_conv_demo",
|
|
"position": [
|
|
0,
|
|
0,
|
|
0
|
|
],
|
|
"rotation": [
|
|
0,
|
|
0,
|
|
0
|
|
]
|
|
},
|
|
"zone_lbl_b_title_1": {
|
|
"id": "zone_lbl_b_title_1",
|
|
"name": "DEMO B -- 6x4 m rectangle",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
8.2
|
|
],
|
|
[
|
|
22.3,
|
|
8.2
|
|
],
|
|
[
|
|
22.3,
|
|
8.8
|
|
],
|
|
[
|
|
21.7,
|
|
8.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_b_title_2": {
|
|
"id": "zone_lbl_b_title_2",
|
|
"name": "Rotated 30 deg CCW from world +X",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
9
|
|
],
|
|
[
|
|
22.3,
|
|
9
|
|
],
|
|
[
|
|
22.3,
|
|
9.600000000000001
|
|
],
|
|
[
|
|
21.7,
|
|
9.600000000000001
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_p_title": {
|
|
"id": "zone_lbl_c_p_title",
|
|
"name": "DEMO C -- PAGE INTENT (north-up, 1/2 scale)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0.7,
|
|
20.7
|
|
],
|
|
[
|
|
1.3,
|
|
20.7
|
|
],
|
|
[
|
|
1.3,
|
|
21.3
|
|
],
|
|
[
|
|
0.7,
|
|
21.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_w_title": {
|
|
"id": "zone_lbl_c_w_title",
|
|
"name": "DEMO C -- WORLD RESULT (full scale)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
11.7,
|
|
20.7
|
|
],
|
|
[
|
|
12.3,
|
|
20.7
|
|
],
|
|
[
|
|
12.3,
|
|
21.3
|
|
],
|
|
[
|
|
11.7,
|
|
21.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_compass_a": {
|
|
"id": "zone_lbl_compass_a",
|
|
"name": "WORLD AXES (authoritative)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-3.8
|
|
],
|
|
[
|
|
5.3,
|
|
-3.8
|
|
],
|
|
[
|
|
5.3,
|
|
-3.2
|
|
],
|
|
[
|
|
4.7,
|
|
-3.2
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_compass_b": {
|
|
"id": "zone_lbl_compass_b",
|
|
"name": "Plan [x,z] maps to world (x, 0, z) -- no sign flip",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
4.7,
|
|
-4.8
|
|
],
|
|
[
|
|
5.3,
|
|
-4.8
|
|
],
|
|
[
|
|
5.3,
|
|
-4.2
|
|
],
|
|
[
|
|
4.7,
|
|
-4.2
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_title": {
|
|
"id": "zone_lbl_d_w_title",
|
|
"name": "DEMO D -- WORLD RESULT (full scale)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
20.7
|
|
],
|
|
[
|
|
34.3,
|
|
20.7
|
|
],
|
|
[
|
|
34.3,
|
|
21.3
|
|
],
|
|
[
|
|
33.7,
|
|
21.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_takeaway_band": {
|
|
"id": "zone_takeaway_band",
|
|
"name": "TAKEAWAY band",
|
|
"type": "zone",
|
|
"color": "#fff5d6",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0,
|
|
32
|
|
],
|
|
[
|
|
40,
|
|
32
|
|
],
|
|
[
|
|
40,
|
|
36
|
|
],
|
|
[
|
|
0,
|
|
36
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_a_baseline": {
|
|
"id": "zone_lbl_a_baseline",
|
|
"name": "Baseline -- matches generate-apartment.md style",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
20.7,
|
|
5.2
|
|
],
|
|
[
|
|
21.3,
|
|
5.2
|
|
],
|
|
[
|
|
21.3,
|
|
5.8
|
|
],
|
|
[
|
|
20.7,
|
|
5.8
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_axis_neg_x": {
|
|
"id": "zone_lbl_axis_neg_x",
|
|
"name": "-X (negative first component)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-2.3,
|
|
0.7
|
|
],
|
|
[
|
|
-1.7,
|
|
0.7
|
|
],
|
|
[
|
|
-1.7,
|
|
1.3
|
|
],
|
|
[
|
|
-2.3,
|
|
1.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_axis_neg_z": {
|
|
"id": "zone_lbl_axis_neg_z",
|
|
"name": "-Z (negative second component)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0.7,
|
|
-2.3
|
|
],
|
|
[
|
|
1.3,
|
|
-2.3
|
|
],
|
|
[
|
|
1.3,
|
|
-1.7
|
|
],
|
|
[
|
|
0.7,
|
|
-1.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_note_1": {
|
|
"id": "zone_lbl_d_w_note_1",
|
|
"name": "Note: z-reflection only helps against a true MIRROR",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
27.3
|
|
],
|
|
[
|
|
34.3,
|
|
27.3
|
|
],
|
|
[
|
|
34.3,
|
|
27.900000000000002
|
|
],
|
|
[
|
|
33.7,
|
|
27.900000000000002
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_note_2": {
|
|
"id": "zone_lbl_d_w_note_2",
|
|
"name": "Pascal's view rotates, not mirrors",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
28.099999999999998
|
|
],
|
|
[
|
|
34.3,
|
|
28.099999999999998
|
|
],
|
|
[
|
|
34.3,
|
|
28.7
|
|
],
|
|
[
|
|
33.7,
|
|
28.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_note_3": {
|
|
"id": "zone_lbl_d_w_note_3",
|
|
"name": "So this 'fix' doesn't correct on-screen orientation",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
28.9
|
|
],
|
|
[
|
|
34.3,
|
|
28.9
|
|
],
|
|
[
|
|
34.3,
|
|
29.5
|
|
],
|
|
[
|
|
33.7,
|
|
29.5
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_note_4": {
|
|
"id": "zone_lbl_d_w_note_4",
|
|
"name": "Real fix: apply whatever rotation matches your viewport",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
29.7
|
|
],
|
|
[
|
|
34.3,
|
|
29.7
|
|
],
|
|
[
|
|
34.3,
|
|
30.3
|
|
],
|
|
[
|
|
33.7,
|
|
30.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_w_note_5": {
|
|
"id": "zone_lbl_d_w_note_5",
|
|
"name": "Or verify against a scaled guide image",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
33.7,
|
|
30.5
|
|
],
|
|
[
|
|
34.3,
|
|
30.5
|
|
],
|
|
[
|
|
34.3,
|
|
31.1
|
|
],
|
|
[
|
|
33.7,
|
|
31.1
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_p_title_1": {
|
|
"id": "zone_lbl_d_p_title_1",
|
|
"name": "DEMO D -- PAGE INTENT (1/2 scale)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
22.7,
|
|
20.7
|
|
],
|
|
[
|
|
23.3,
|
|
20.7
|
|
],
|
|
[
|
|
23.3,
|
|
21.3
|
|
],
|
|
[
|
|
22.7,
|
|
21.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_d_p_title_2": {
|
|
"id": "zone_lbl_d_p_title_2",
|
|
"name": "Author applied z -> 5-z before paste",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
22.7,
|
|
19.9
|
|
],
|
|
[
|
|
23.3,
|
|
19.9
|
|
],
|
|
[
|
|
23.3,
|
|
20.5
|
|
],
|
|
[
|
|
22.7,
|
|
20.5
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"slab_demo_c_page_ax_x": {
|
|
"id": "slab_demo_c_page_ax_x",
|
|
"name": "C page +x stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
0.1,
|
|
21.95
|
|
],
|
|
[
|
|
1.9,
|
|
21.95
|
|
],
|
|
[
|
|
1.9,
|
|
22.05
|
|
],
|
|
[
|
|
0.1,
|
|
22.05
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_c_page_ax_y": {
|
|
"id": "slab_demo_c_page_ax_y",
|
|
"name": "C page +y stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
-0.05,
|
|
22.1
|
|
],
|
|
[
|
|
0.05,
|
|
22.1
|
|
],
|
|
[
|
|
0.05,
|
|
23.9
|
|
],
|
|
[
|
|
-0.05,
|
|
23.9
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_d_page_ax_x": {
|
|
"id": "slab_demo_d_page_ax_x",
|
|
"name": "D page +x stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
22.1,
|
|
21.95
|
|
],
|
|
[
|
|
23.9,
|
|
21.95
|
|
],
|
|
[
|
|
23.9,
|
|
22.05
|
|
],
|
|
[
|
|
22.1,
|
|
22.05
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"slab_demo_d_page_ax_y": {
|
|
"id": "slab_demo_d_page_ax_y",
|
|
"name": "D page +y stub",
|
|
"type": "slab",
|
|
"holes": [],
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.95,
|
|
22.1
|
|
],
|
|
[
|
|
22.05,
|
|
22.1
|
|
],
|
|
[
|
|
22.05,
|
|
23.9
|
|
],
|
|
[
|
|
21.95,
|
|
23.9
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo",
|
|
"elevation": 0.01,
|
|
"holeMetadata": [],
|
|
"autoFromWalls": false
|
|
},
|
|
"zone_lbl_b_verified_1": {
|
|
"id": "zone_lbl_b_verified_1",
|
|
"name": "Verified: side lengths 6/4/6/4 m",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
16.7
|
|
],
|
|
[
|
|
22.3,
|
|
16.7
|
|
],
|
|
[
|
|
22.3,
|
|
17.3
|
|
],
|
|
[
|
|
21.7,
|
|
17.3
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_b_verified_2": {
|
|
"id": "zone_lbl_b_verified_2",
|
|
"name": "Verified: AB perpendicular to AD (dot=0)",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
17.5
|
|
],
|
|
[
|
|
22.3,
|
|
17.5
|
|
],
|
|
[
|
|
22.3,
|
|
18.1
|
|
],
|
|
[
|
|
21.7,
|
|
18.1
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_b_verified_3": {
|
|
"id": "zone_lbl_b_verified_3",
|
|
"name": "Verified: first edge heading = 30.0 deg from +X",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
21.7,
|
|
18.3
|
|
],
|
|
[
|
|
22.3,
|
|
18.3
|
|
],
|
|
[
|
|
22.3,
|
|
18.900000000000002
|
|
],
|
|
[
|
|
21.7,
|
|
18.900000000000002
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_w_screen_1": {
|
|
"id": "zone_lbl_c_w_screen_1",
|
|
"name": "On-screen orientation depends on viewport",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
11.7,
|
|
27.3
|
|
],
|
|
[
|
|
12.3,
|
|
27.3
|
|
],
|
|
[
|
|
12.3,
|
|
27.900000000000002
|
|
],
|
|
[
|
|
11.7,
|
|
27.900000000000002
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
},
|
|
"zone_lbl_c_w_screen_2": {
|
|
"id": "zone_lbl_c_w_screen_2",
|
|
"name": "2D plan: rotated 90 deg; 3D top-down: ~45 deg offset",
|
|
"type": "zone",
|
|
"color": "#f0f0f0",
|
|
"object": "node",
|
|
"polygon": [
|
|
[
|
|
11.7,
|
|
28.099999999999998
|
|
],
|
|
[
|
|
12.3,
|
|
28.099999999999998
|
|
],
|
|
[
|
|
12.3,
|
|
28.7
|
|
],
|
|
[
|
|
11.7,
|
|
28.7
|
|
]
|
|
],
|
|
"visible": true,
|
|
"metadata": {},
|
|
"parentId": "level_conv_demo"
|
|
}
|
|
},
|
|
"rootNodeIds": [
|
|
"site_conv_demo"
|
|
],
|
|
"collections": {}
|
|
} |