{
  "format": "mikeycad",
  "version": 4,
  "id": "graphite-terraces-charrette-03-wider-windows",
  "name": "Graphite Terraces · charrette 03 · wider windows (AI alternative)",
  "revision": 1,
  "conventions": {
    "version": 1,
    "lengthUnit": "m",
    "frame": "XY-Z-up-right-handed",
    "tolerance": 1e-7,
    "origin": [
      0,
      0,
      0
    ],
    "northRotation": 0,
    "geoAnchor": null
  },
  "nodes": [
    {
      "id": "west-setbacks",
      "name": "West wing setbacks · 0, 1 or 2 homes",
      "op": "value",
      "params": {
        "value": 1
      },
      "inputs": {}
    },
    {
      "id": "east-setbacks",
      "name": "East wing setbacks · 0, 1 or 2 homes",
      "op": "value",
      "params": {
        "value": 2
      },
      "inputs": {}
    },
    {
      "id": "storeys",
      "name": "Total storeys · 5 or 6",
      "op": "value",
      "params": {
        "value": 6
      },
      "inputs": {}
    },
    {
      "id": "ground-height",
      "name": "Ground floor-to-floor (Level 1)",
      "op": "value",
      "params": {
        "value": 4.8768,
        "dimension": "length"
      },
      "inputs": {}
    },
    {
      "id": "typical-height",
      "name": "Residential floor-to-floor",
      "op": "value",
      "params": {
        "value": 3.3528,
        "dimension": "length"
      },
      "inputs": {}
    },
    {
      "id": "level-1",
      "name": "Level 1 · ground",
      "op": "value",
      "params": {
        "expression": "0ft"
      },
      "inputs": {}
    },
    {
      "id": "level-2",
      "name": "Level 2 · garden and amenity",
      "op": "value",
      "params": {
        "expression": "g"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "level-3",
      "name": "Level 3",
      "op": "value",
      "params": {
        "expression": "g + 1*t"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "level-4",
      "name": "Level 4",
      "op": "value",
      "params": {
        "expression": "g + 2*t"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "level-5",
      "name": "Level 5",
      "op": "value",
      "params": {
        "expression": "g + 3*t"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "level-6",
      "name": "Level 6",
      "op": "value",
      "params": {
        "expression": "g + 4*t"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "level-roof",
      "name": "Roof",
      "op": "value",
      "params": {
        "expression": "g + (f - 1)*t"
      },
      "inputs": {
        "g": "ground-height",
        "t": "typical-height",
        "f": "storeys"
      }
    },
    {
      "id": "podium",
      "name": "Level 1 · podium",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.podium"
      },
      "inputs": {
        "ground": "ground-height"
      },
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    },
    {
      "id": "garden-local",
      "name": "Courtyard garden",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.garden"
      },
      "inputs": {},
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    },
    {
      "id": "garden",
      "name": "Courtyard garden on the podium roof",
      "op": "move",
      "params": {
        "offset": [
          0,
          0,
          "z"
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "source": "garden-local",
        "z": "level-2"
      }
    },
    {
      "id": "residential",
      "name": "Residential storeys · Levels 2–6",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.residential"
      },
      "inputs": {
        "ws": "west-setbacks",
        "es": "east-setbacks",
        "storeys": "storeys",
        "ground": "ground-height",
        "typical": "typical-height"
      },
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    },
    {
      "id": "roof-local",
      "name": "Roof and penthouse",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.roof"
      },
      "inputs": {
        "ws": "west-setbacks",
        "es": "east-setbacks"
      },
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    },
    {
      "id": "roof",
      "name": "Roof at the roof level",
      "op": "move",
      "params": {
        "offset": [
          0,
          0,
          "z"
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      },
      "inputs": {
        "source": "roof-local",
        "z": "level-roof"
      }
    },
    {
      "id": "canopy",
      "name": "Bronze street canopy",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.canopy"
      },
      "inputs": {
        "ground": "ground-height"
      },
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    },
    {
      "id": "site",
      "name": "Street and sidewalks",
      "op": "recipe",
      "params": {
        "definitionId": "terraces03.site"
      },
      "inputs": {},
      "placement": {
        "offset": [
          0,
          0,
          0
        ],
        "angle": 0,
        "axis": [
          0,
          0,
          1
        ]
      }
    }
  ],
  "definitions": {
    "terraces03.home-studio": {
      "id": "terraces03.home-studio",
      "name": "Studio · 540 sf",
      "description": "18 ft frontage, 30 ft deep. Living and sleeping at the window; bath and kitchen on the corridor side.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Partition height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "net-outline",
          "name": "Net outline · room separation line",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0.01905
              ],
              [
                5.3848,
                0.3048,
                0.01905
              ],
              [
                5.3848,
                9.0424,
                0.01905
              ],
              [
                0.1016,
                9.0424,
                0.01905
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "floor-outline",
          "name": "Net outline · floor finish",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0
              ],
              [
                5.3848,
                0.3048,
                0
              ],
              [
                5.3848,
                9.0424,
                0
              ],
              [
                0.1016,
                9.0424,
                0
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "partitionHeight",
          "name": "Partitions stand on the floor finish",
          "op": "value",
          "params": {
            "expression": "h - 0.75in"
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "partitions-local-paths",
          "name": "Partitions and doors · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "partitions-local-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.1016,
                    6.5532,
                    0
                  ],
                  [
                    2.5908,
                    6.5532,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    2.5908,
                    6.5532,
                    0
                  ],
                  [
                    2.5908,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "partitions-local",
          "name": "Partitions and doors",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.127,
            "join": "auto",
            "openings": [
              {
                "id": "bath",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8128,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "partition",
              "material": "wall",
              "homeType": "studio"
            }
          },
          "inputs": {
            "source": "partitions-local-paths",
            "h": "partitionHeight"
          }
        },
        {
          "id": "partitions",
          "name": "Partitions on the floor finish",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              0.01905
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "partitions-local"
          }
        },
        {
          "id": "rooms",
          "name": "Named rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0.01905,
            "walls": [
              "w1"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "living",
                "name": "Living · sleeping",
                "number": "",
                "program": "Living",
                "seed": [
                  3.6576,
                  3.048
                ]
              },
              {
                "id": "bath",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  1.2192,
                  7.7724
                ]
              }
            ]
          },
          "inputs": {
            "w1": "partitions",
            "s1": "net-outline"
          }
        },
        {
          "id": "finish",
          "name": "Floor finish · counts this home",
          "op": "extrude",
          "params": {
            "height": 0.01905,
            "userAttributes": {
              "component": "home",
              "material": "wood",
              "unitType": "studio",
              "homeType": "studio",
              "bedrooms": 0,
              "homeArea": 540
            }
          },
          "inputs": {
            "profile": "floor-outline"
          }
        },
        {
          "id": "kitchen",
          "name": "Kitchen counter",
          "op": "box",
          "params": {
            "width": 0.710184,
            "depth": 3.13944,
            "height": 0.9144,
            "origin": [
              4.66344,
              5.7912,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "counter",
              "homeType": "studio",
              "fixture": "kitchen"
            }
          },
          "inputs": {}
        },
        {
          "id": "tub",
          "name": "Tub",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              0.19304,
              8.26008,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "studio",
              "fixture": "tub"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Studio · 540 sf",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "partitions",
            "p1": "rooms",
            "p2": "finish",
            "p3": "kitchen",
            "p4": "tub"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Partition height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.home-one": {
      "id": "terraces03.home-one",
      "name": "One bedroom · 720 sf",
      "description": "24 ft frontage, 30 ft deep. Bedroom and living room share the window wall; bath and kitchen on the corridor side.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Partition height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "net-outline",
          "name": "Net outline · room separation line",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0.01905
              ],
              [
                7.2136,
                0.3048,
                0.01905
              ],
              [
                7.2136,
                9.0424,
                0.01905
              ],
              [
                0.1016,
                9.0424,
                0.01905
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "floor-outline",
          "name": "Net outline · floor finish",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0
              ],
              [
                7.2136,
                0.3048,
                0
              ],
              [
                7.2136,
                9.0424,
                0
              ],
              [
                0.1016,
                9.0424,
                0
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "partitionHeight",
          "name": "Partitions stand on the floor finish",
          "op": "value",
          "params": {
            "expression": "h - 0.75in"
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "partitions-local-paths",
          "name": "Partitions and doors · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "partitions-local-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    3.6576,
                    0.3048,
                    0
                  ],
                  [
                    3.6576,
                    4.2672,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.1016,
                    4.2672,
                    0
                  ],
                  [
                    3.6576,
                    4.2672,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.1016,
                    6.5532,
                    0
                  ],
                  [
                    2.5908,
                    6.5532,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    2.5908,
                    6.5532,
                    0
                  ],
                  [
                    2.5908,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "partitions-local",
          "name": "Partitions and doors",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.127,
            "join": "auto",
            "openings": [
              {
                "id": "bedroom",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.34544,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-end-right"
              },
              {
                "id": "bath",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8128,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "partition",
              "material": "wall",
              "homeType": "one"
            }
          },
          "inputs": {
            "source": "partitions-local-paths",
            "h": "partitionHeight"
          }
        },
        {
          "id": "partitions",
          "name": "Partitions on the floor finish",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              0.01905
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "partitions-local"
          }
        },
        {
          "id": "rooms",
          "name": "Named rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0.01905,
            "walls": [
              "w1"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "bedroom",
                "name": "Bedroom",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.8288,
                  2.1336
                ]
              },
              {
                "id": "living",
                "name": "Living · kitchen",
                "number": "",
                "program": "Living",
                "seed": [
                  5.4864,
                  3.048
                ]
              },
              {
                "id": "bath",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  1.2192,
                  7.7724
                ]
              }
            ]
          },
          "inputs": {
            "w1": "partitions",
            "s1": "net-outline"
          }
        },
        {
          "id": "finish",
          "name": "Floor finish · counts this home",
          "op": "extrude",
          "params": {
            "height": 0.01905,
            "userAttributes": {
              "component": "home",
              "material": "wood",
              "unitType": "one",
              "homeType": "one",
              "bedrooms": 1,
              "homeArea": 720
            }
          },
          "inputs": {
            "profile": "floor-outline"
          }
        },
        {
          "id": "kitchen",
          "name": "Kitchen counter",
          "op": "box",
          "params": {
            "width": 0.710184,
            "depth": 4.05384,
            "height": 0.9144,
            "origin": [
              6.49224,
              4.8768,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "counter",
              "homeType": "one",
              "fixture": "kitchen"
            }
          },
          "inputs": {}
        },
        {
          "id": "tub",
          "name": "Tub",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              0.19304,
              8.26008,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "one",
              "fixture": "tub"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "One bedroom · 720 sf",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "partitions",
            "p1": "rooms",
            "p2": "finish",
            "p3": "kitchen",
            "p4": "tub"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Partition height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.home-two": {
      "id": "terraces03.home-two",
      "name": "Two bedrooms · 1,080 sf",
      "description": "36 ft frontage, 30 ft deep. Two bedrooms and the living room on the window wall; two baths and the kitchen on the corridor side.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Partition height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "net-outline",
          "name": "Net outline · room separation line",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0.01905
              ],
              [
                10.8712,
                0.3048,
                0.01905
              ],
              [
                10.8712,
                9.0424,
                0.01905
              ],
              [
                0.1016,
                9.0424,
                0.01905
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "floor-outline",
          "name": "Net outline · floor finish",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.1016,
                0.3048,
                0
              ],
              [
                10.8712,
                0.3048,
                0
              ],
              [
                10.8712,
                9.0424,
                0
              ],
              [
                0.1016,
                9.0424,
                0
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "partitionHeight",
          "name": "Partitions stand on the floor finish",
          "op": "value",
          "params": {
            "expression": "h - 0.75in"
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "partitions-local-paths",
          "name": "Partitions and doors · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "partitions-local-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    3.5052,
                    0.3048,
                    0
                  ],
                  [
                    3.5052,
                    4.2672,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    7.1628,
                    0.3048,
                    0
                  ],
                  [
                    7.1628,
                    4.2672,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.1016,
                    4.2672,
                    0
                  ],
                  [
                    7.1628,
                    4.2672,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.1016,
                    6.5532,
                    0
                  ],
                  [
                    5.081016,
                    6.5532,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    2.5908,
                    6.5532,
                    0
                  ],
                  [
                    2.5908,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    5.081016,
                    6.5532,
                    0
                  ],
                  [
                    5.081016,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "partitions-local",
          "name": "Partitions and doors",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.127,
            "join": "auto",
            "openings": [
              {
                "id": "bedroom-1",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.65024,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-end-right"
              },
              {
                "id": "bedroom-2",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.9812,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "bath-1",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.69088,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bath-2",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.73152,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "partition",
              "material": "wall",
              "homeType": "two"
            }
          },
          "inputs": {
            "source": "partitions-local-paths",
            "h": "partitionHeight"
          }
        },
        {
          "id": "partitions",
          "name": "Partitions on the floor finish",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              0.01905
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "partitions-local"
          }
        },
        {
          "id": "rooms",
          "name": "Named rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0.01905,
            "walls": [
              "w1"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "bedroom-1",
                "name": "Bedroom 1",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.8288,
                  2.1336
                ]
              },
              {
                "id": "bedroom-2",
                "name": "Bedroom 2",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  5.1816,
                  2.1336
                ]
              },
              {
                "id": "living",
                "name": "Living · kitchen",
                "number": "",
                "program": "Living",
                "seed": [
                  8.8392,
                  3.048
                ]
              },
              {
                "id": "bath-1",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  1.2192,
                  7.7724
                ]
              },
              {
                "id": "bath-2",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  3.81,
                  7.7724
                ]
              }
            ]
          },
          "inputs": {
            "w1": "partitions",
            "s1": "net-outline"
          }
        },
        {
          "id": "finish",
          "name": "Floor finish · counts this home",
          "op": "extrude",
          "params": {
            "height": 0.01905,
            "userAttributes": {
              "component": "home",
              "material": "wood",
              "unitType": "two",
              "homeType": "two",
              "bedrooms": 2,
              "homeArea": 1080
            }
          },
          "inputs": {
            "profile": "floor-outline"
          }
        },
        {
          "id": "kitchen",
          "name": "Kitchen counter",
          "op": "box",
          "params": {
            "width": 0.710184,
            "depth": 4.35864,
            "height": 0.9144,
            "origin": [
              10.14984,
              4.572,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "counter",
              "homeType": "two",
              "fixture": "kitchen"
            }
          },
          "inputs": {}
        },
        {
          "id": "tub",
          "name": "Tub",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              0.19304,
              8.26008,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "two",
              "fixture": "tub"
            }
          },
          "inputs": {}
        },
        {
          "id": "shower",
          "name": "Shower",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              2.68224,
              8.26008,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "two",
              "fixture": "shower"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Two bedrooms · 1,080 sf",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5"
            ]
          },
          "inputs": {
            "p0": "partitions",
            "p1": "rooms",
            "p2": "finish",
            "p3": "kitchen",
            "p4": "tub",
            "p5": "shower"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Partition height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.home-two-corner": {
      "id": "terraces03.home-two-corner",
      "name": "Two bedrooms · corner · 1,080 sf",
      "description": "Wing-end corner home, 36 × 30 ft. Bedrooms on the side street; living room on the corner facing the street and courtyard.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Partition height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "net-outline",
          "name": "Net outline · room separation line",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.3048,
                0.3048,
                0.01905
              ],
              [
                10.668,
                0.3048,
                0.01905
              ],
              [
                10.668,
                9.0424,
                0.01905
              ],
              [
                0.3048,
                9.0424,
                0.01905
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "floor-outline",
          "name": "Net outline · floor finish",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.3048,
                0.3048,
                0
              ],
              [
                10.668,
                0.3048,
                0
              ],
              [
                10.668,
                9.0424,
                0
              ],
              [
                0.3048,
                9.0424,
                0
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "partitionHeight",
          "name": "Partitions stand on the floor finish",
          "op": "value",
          "params": {
            "expression": "h - 0.75in"
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "partitions-local-paths",
          "name": "Partitions and doors · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "partitions-local-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    3.81,
                    0.3048,
                    0
                  ],
                  [
                    3.81,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.3048,
                    3.6576,
                    0
                  ],
                  [
                    3.81,
                    3.6576,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.3048,
                    7.3152,
                    0
                  ],
                  [
                    3.81,
                    7.3152,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    2.5908,
                    7.3152,
                    0
                  ],
                  [
                    2.5908,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    3.81,
                    6.5532,
                    0
                  ],
                  [
                    6.2484,
                    6.5532,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    6.2484,
                    6.5532,
                    0
                  ],
                  [
                    6.2484,
                    9.0424,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "partitions-local",
          "name": "Partitions and doors",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.127,
            "join": "auto",
            "openings": [
              {
                "id": "bedroom-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 2.3368,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bedroom-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8128,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "laundry",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.3556,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bath-2",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.6604,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bath-1",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8128,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "partition",
              "material": "wall",
              "homeType": "two-corner"
            }
          },
          "inputs": {
            "source": "partitions-local-paths",
            "h": "partitionHeight"
          }
        },
        {
          "id": "partitions",
          "name": "Partitions on the floor finish",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              0.01905
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "partitions-local"
          }
        },
        {
          "id": "rooms",
          "name": "Named rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0.01905,
            "walls": [
              "w1"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "bedroom-1",
                "name": "Bedroom 1",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.8288,
                  2.1336
                ]
              },
              {
                "id": "bedroom-2",
                "name": "Bedroom 2",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.8288,
                  5.4864
                ]
              },
              {
                "id": "bath-2",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  1.3716,
                  8.2296
                ]
              },
              {
                "id": "laundry",
                "name": "Laundry",
                "number": "",
                "program": "Utility",
                "seed": [
                  3.2004,
                  8.2296
                ]
              },
              {
                "id": "bath-1",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  5.0292,
                  7.7724
                ]
              },
              {
                "id": "living",
                "name": "Living · kitchen",
                "number": "",
                "program": "Living",
                "seed": [
                  7.62,
                  3.6576
                ]
              }
            ]
          },
          "inputs": {
            "w1": "partitions",
            "s1": "net-outline"
          }
        },
        {
          "id": "finish",
          "name": "Floor finish · counts this home",
          "op": "extrude",
          "params": {
            "height": 0.01905,
            "userAttributes": {
              "component": "home",
              "material": "wood",
              "unitType": "two",
              "homeType": "two-corner",
              "bedrooms": 2,
              "homeArea": 1080
            }
          },
          "inputs": {
            "profile": "floor-outline"
          }
        },
        {
          "id": "kitchen",
          "name": "Kitchen counter",
          "op": "box",
          "params": {
            "width": 2.4384,
            "depth": 0.710184,
            "height": 0.9144,
            "origin": [
              6.5532,
              8.32104,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "counter",
              "homeType": "two-corner",
              "fixture": "kitchen"
            }
          },
          "inputs": {}
        },
        {
          "id": "tub",
          "name": "Tub",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              3.90144,
              8.26008,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "two-corner",
              "fixture": "tub"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Two bedrooms · corner · 1,080 sf",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "partitions",
            "p1": "rooms",
            "p2": "finish",
            "p3": "kitchen",
            "p4": "tub"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Partition height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.home-three-corner": {
      "id": "terraces03.home-three-corner",
      "name": "Three bedrooms · corner · 1,260 sf",
      "description": "Corner home at the outside corner, 36 × 36 ft less the gallery junction. Three bedrooms on the side street; living room facing north.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Partition height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "net-outline",
          "name": "Net outline · room separation line",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.3048,
                29.3624,
                0.01905
              ],
              [
                9.0424,
                29.3624,
                0.01905
              ],
              [
                9.0424,
                31.1912,
                0.01905
              ],
              [
                10.8712,
                31.1912,
                0.01905
              ],
              [
                10.8712,
                39.9288,
                0.01905
              ],
              [
                0.3048,
                39.9288,
                0.01905
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "floor-outline",
          "name": "Net outline · floor finish",
          "op": "polyline",
          "params": {
            "points": [
              [
                0.3048,
                29.3624,
                0
              ],
              [
                9.0424,
                29.3624,
                0
              ],
              [
                9.0424,
                31.1912,
                0
              ],
              [
                10.8712,
                31.1912,
                0
              ],
              [
                10.8712,
                39.9288,
                0
              ],
              [
                0.3048,
                39.9288,
                0
              ]
            ],
            "closed": true
          },
          "inputs": {}
        },
        {
          "id": "partitionHeight",
          "name": "Partitions stand on the floor finish",
          "op": "value",
          "params": {
            "expression": "h - 0.75in"
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "partitions-local-paths",
          "name": "Partitions and doors · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "partitions-local-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    3.81,
                    29.3624,
                    0
                  ],
                  [
                    3.81,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.3048,
                    32.766,
                    0
                  ],
                  [
                    3.81,
                    32.766,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    0.3048,
                    36.576,
                    0
                  ],
                  [
                    3.81,
                    36.576,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    5.0292,
                    29.3624,
                    0
                  ],
                  [
                    5.0292,
                    37.7952,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    5.0292,
                    32.9184,
                    0
                  ],
                  [
                    9.0424,
                    32.9184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    7.3152,
                    29.3624,
                    0
                  ],
                  [
                    7.3152,
                    32.9184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "partitions-local-plane",
                "points": [
                  [
                    9.0424,
                    31.1912,
                    0
                  ],
                  [
                    9.0424,
                    32.9184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "partitions-local",
          "name": "Partitions and doors",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.127,
            "join": "auto",
            "openings": [
              {
                "id": "bedroom-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.94056,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bedroom-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.88976,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bedroom-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.18288,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bath-1",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.94056,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "bath-2",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.508,
                "width": 0.8128,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "partition",
              "material": "wall",
              "homeType": "three-corner"
            }
          },
          "inputs": {
            "source": "partitions-local-paths",
            "h": "partitionHeight"
          }
        },
        {
          "id": "partitions",
          "name": "Partitions on the floor finish",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              0.01905
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "partitions-local"
          }
        },
        {
          "id": "rooms",
          "name": "Named rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0.01905,
            "walls": [
              "w1"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "bedroom-1",
                "name": "Bedroom 1",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.9812,
                  38.1
                ]
              },
              {
                "id": "bedroom-2",
                "name": "Bedroom 2",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.9812,
                  34.4424
                ]
              },
              {
                "id": "bedroom-3",
                "name": "Bedroom 3",
                "number": "",
                "program": "Bedroom",
                "seed": [
                  1.9812,
                  31.0896
                ]
              },
              {
                "id": "bath-1",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  6.096,
                  31.0896
                ]
              },
              {
                "id": "bath-2",
                "name": "Bath",
                "number": "",
                "program": "Bath",
                "seed": [
                  8.2296,
                  31.6992
                ]
              },
              {
                "id": "living",
                "name": "Living · kitchen",
                "number": "",
                "program": "Living",
                "seed": [
                  7.9248,
                  36.576
                ]
              }
            ]
          },
          "inputs": {
            "w1": "partitions",
            "s1": "net-outline"
          }
        },
        {
          "id": "finish",
          "name": "Floor finish · counts this home",
          "op": "extrude",
          "params": {
            "height": 0.01905,
            "userAttributes": {
              "component": "home",
              "material": "wood",
              "unitType": "three",
              "homeType": "three-corner",
              "bedrooms": 3,
              "homeArea": 1260
            }
          },
          "inputs": {
            "profile": "floor-outline"
          }
        },
        {
          "id": "kitchen",
          "name": "Kitchen counter",
          "op": "box",
          "params": {
            "width": 0.710184,
            "depth": 4.572,
            "height": 0.9144,
            "origin": [
              10.14984,
              33.528,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "counter",
              "homeType": "three-corner",
              "fixture": "kitchen"
            }
          },
          "inputs": {}
        },
        {
          "id": "tub",
          "name": "Tub",
          "op": "box",
          "params": {
            "width": 1.524,
            "depth": 0.762,
            "height": 0.509016,
            "origin": [
              5.12064,
              29.44368,
              0.01905
            ],
            "userAttributes": {
              "component": "fixture",
              "material": "porcelain",
              "homeType": "three-corner",
              "fixture": "tub"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Three bedrooms · corner · 1,260 sf",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "partitions",
            "p1": "rooms",
            "p2": "finish",
            "p3": "kitchen",
            "p4": "tub"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Partition height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.window": {
      "id": "terraces03.window",
      "name": "Window unit",
      "description": "Glazing set 6 in back from the exterior face, so every opening shows a deep mineral reveal. Width and height follow the hosting opening.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "width",
          "name": "Opening width",
          "op": "value",
          "params": {
            "value": 0.9144,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "height",
          "name": "Opening height",
          "op": "value",
          "params": {
            "value": 2.1336,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "glass",
          "name": "Window glazing",
          "op": "box",
          "params": {
            "width": "w",
            "depth": 0.0508,
            "height": "h",
            "origin": [
              0,
              0.1524,
              0
            ],
            "userAttributes": {
              "component": "window",
              "material": "glass"
            }
          },
          "inputs": {
            "w": "width",
            "h": "height"
          }
        },
        {
          "id": "assembly",
          "name": "Window unit",
          "op": "merge",
          "params": {
            "ports": [
              "p0"
            ]
          },
          "inputs": {
            "p0": "glass"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "width",
          "label": "Opening width",
          "kind": "length",
          "default": 0.9144,
          "target": {
            "nodeId": "width",
            "param": "value"
          },
          "ui": {
            "min": 0.6096,
            "max": 3.6576,
            "step": 0.3048
          }
        },
        {
          "key": "height",
          "label": "Opening height",
          "kind": "length",
          "default": 2.1336,
          "target": {
            "nodeId": "height",
            "param": "value"
          },
          "ui": {
            "min": 0.9144,
            "max": 3.048,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.guard": {
      "id": "terraces03.guard",
      "name": "Guard · bronze posts, glass panels, 42\" top rail",
      "description": "IBC 1015 guard: 42 in to the top rail, panels spaced well under a 4 in sphere. Laminated glass per IBC 2407 with a continuous metal top rail.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "length",
          "name": "Guard length",
          "op": "value",
          "params": {
            "value": 3.6576,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "bays",
          "name": "Panel bays",
          "op": "value",
          "params": {
            "expression": "max(1, ceil(l / 4ft))"
          },
          "inputs": {
            "l": "length"
          }
        },
        {
          "id": "post",
          "name": "Post",
          "op": "box",
          "params": {
            "width": 0.0508,
            "depth": 0.0508,
            "height": 1.016,
            "origin": [
              0,
              -0.0254,
              0
            ],
            "userAttributes": {
              "component": "guard",
              "material": "bronze"
            }
          },
          "inputs": {}
        },
        {
          "id": "posts",
          "name": "Posts at equal spacing",
          "op": "array",
          "params": {
            "count": "b + 1",
            "step": [
              "(l - 2in) / b",
              0,
              0
            ]
          },
          "inputs": {
            "source": "post",
            "l": "length",
            "b": "bays"
          }
        },
        {
          "id": "panel",
          "name": "Laminated glass panel",
          "op": "box",
          "params": {
            "width": "(l - 2in) / b - 3in",
            "depth": 0.0127,
            "height": 0.9144,
            "origin": [
              "2.5in",
              -0.00635,
              "2in"
            ],
            "userAttributes": {
              "component": "guard",
              "material": "railglass"
            }
          },
          "inputs": {
            "l": "length",
            "b": "bays"
          }
        },
        {
          "id": "panels",
          "name": "Glass panels",
          "op": "array",
          "params": {
            "count": "b",
            "step": [
              "(l - 2in) / b",
              0,
              0
            ]
          },
          "inputs": {
            "source": "panel",
            "l": "length",
            "b": "bays"
          }
        },
        {
          "id": "rail",
          "name": "Continuous top rail at 42\"",
          "op": "box",
          "params": {
            "width": "l",
            "depth": 0.0635,
            "height": 0.0508,
            "origin": [
              0,
              -0.03175,
              1.016
            ],
            "userAttributes": {
              "component": "guard",
              "material": "bronze"
            }
          },
          "inputs": {
            "l": "length"
          }
        },
        {
          "id": "assembly",
          "name": "Guard · bronze posts, glass panels, 42\" top rail",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "posts",
            "p1": "panels",
            "p2": "rail"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "length",
          "label": "Guard length",
          "kind": "length",
          "default": 3.6576,
          "target": {
            "nodeId": "length",
            "param": "value"
          },
          "ui": {
            "min": 0.6096,
            "max": 36.576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.exit-stair": {
      "id": "terraces03.exit-stair",
      "name": "Exit stair · one storey, U switchback",
      "description": "Two 44 in flights either side of a 4 in well, risers at most 7 in, 11 in treads, 3 ft 10 in landings. The first flight starts at the placement point and climbs north.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "rise",
          "name": "Floor-to-floor rise",
          "op": "value",
          "params": {
            "value": 3.3528,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "risers",
          "name": "Even riser count, 7 in maximum",
          "op": "value",
          "params": {
            "expression": "2*ceil(r/14in)"
          },
          "inputs": {
            "r": "rise"
          }
        },
        {
          "id": "layout",
          "name": "U stair layout",
          "op": "stair",
          "params": {
            "version": 1,
            "layout": "u",
            "turn": "left",
            "countMode": "fixed-count",
            "runMode": "fixed-going",
            "bottomElevation": 0,
            "topElevation": "r",
            "targetRiser": 0.1778,
            "riserCount": "n",
            "firstFlightRisers": 0,
            "width": 1.1176,
            "going": 0.2794,
            "landingDepth": 1.1684,
            "wellWidth": 0.1016,
            "availableRun": 0,
            "originX": 0,
            "originY": 0,
            "angle": 90,
            "headroom": 2.032,
            "includeTopLanding": false,
            "includeBottomLanding": false
          },
          "inputs": {
            "r": "rise",
            "n": "risers"
          }
        },
        {
          "id": "treads",
          "name": "Treads",
          "op": "extrude",
          "params": {
            "height": -0.1524,
            "regionMode": "each",
            "userAttributes": {
              "component": "stair",
              "material": "concrete"
            }
          },
          "inputs": {
            "profile": {
              "nodeId": "layout",
              "output": "treads"
            }
          }
        },
        {
          "id": "landings",
          "name": "Mid landing",
          "op": "extrude",
          "params": {
            "height": -0.1524,
            "regionMode": "each",
            "userAttributes": {
              "component": "stair",
              "material": "concrete"
            }
          },
          "inputs": {
            "profile": {
              "nodeId": "layout",
              "output": "landings"
            }
          }
        },
        {
          "id": "flight",
          "name": "One concrete stair",
          "op": "boolean",
          "params": {
            "mode": "fuse",
            "collection": {
              "version": 1,
              "kind": "reduce"
            },
            "userAttributes": {
              "component": "stair",
              "material": "concrete"
            }
          },
          "inputs": {
            "a": "treads",
            "b": "landings"
          }
        },
        {
          "id": "assembly",
          "name": "Exit stair · one storey, U switchback",
          "op": "merge",
          "params": {
            "ports": [
              "p0"
            ]
          },
          "inputs": {
            "p0": "flight"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "rise",
          "label": "Floor-to-floor rise",
          "kind": "length",
          "default": 3.3528,
          "target": {
            "nodeId": "rise",
            "param": "value"
          },
          "ui": {
            "min": 2.7432,
            "max": 5.4864,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.wing-0": {
      "id": "terraces03.wing-0",
      "name": "West wing plan · full length",
      "description": "Single-loaded wing with an open courtyard gallery. 4 wing homes plus the north-west corner home. The east wing mirrors this plan.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "exterior-paths",
          "name": "Exterior walls · limestone · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "exterior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "exterior-plane",
                "points": [
                  [
                    10.8204,
                    9.2456,
                    0
                  ],
                  [
                    10.8204,
                    0.1524,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "exterior-plane",
                "points": [
                  [
                    10.8204,
                    0.1524,
                    0
                  ],
                  [
                    0.1524,
                    0.1524,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    0.1524,
                    0
                  ],
                  [
                    0.1524,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    40.0812,
                    0
                  ],
                  [
                    10.9728,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "exterior",
          "name": "Exterior walls · limestone",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.9811999999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.81,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-3",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6388,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.4676,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.2964,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.1252,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 12.954,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 14.7828,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 16.6116,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.4404,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-11",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 20.2692,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 22.098,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 23.9268,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-14",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 25.7556,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 27.5844,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 29.4132,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-17",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 31.242,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-18",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 33.0708,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-19",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 34.8996,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-20",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 36.7284,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-21",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.9811999999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-22",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.81,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-23",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6388,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-24",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.4676,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-25",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.2964,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-26",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.1148,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-27",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.4572,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-28",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 6.1976,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-29",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 2.54,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "exterior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "demising-paths",
          "name": "Demising walls, gallery wall and entries · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "demising-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "demising-plane",
                "points": [
                  [
                    9.144,
                    9.144,
                    0
                  ],
                  [
                    9.144,
                    30.988,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    9.144,
                    0
                  ],
                  [
                    10.668,
                    9.144,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    16.4592,
                    0
                  ],
                  [
                    9.144,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    21.9456,
                    0
                  ],
                  [
                    9.144,
                    21.9456,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    29.2608,
                    0
                  ],
                  [
                    9.144,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "demising",
          "name": "Demising walls, gallery wall and entries",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "entry-W1",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.4572,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "entry-W2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-W3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.2192,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-W4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "demising-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "homes",
          "name": "Shared homes",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "W1",
            "p1": "W2",
            "p2": "W3",
            "p3": "W4",
            "p4": "NW"
          }
        },
        {
          "id": "W1",
          "name": "W1 · Two bedrooms · corner · 1,080 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two-corner",
            "userAttributes": {
              "wingSlot": 1,
              "homeId": "W1"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W2",
          "name": "W2 · One bedroom · 720 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "wingSlot": 2,
              "homeId": "W2"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              16.4592,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W3",
          "name": "W3 · Studio · 540 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-studio",
            "userAttributes": {
              "wingSlot": 3,
              "homeId": "W3"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              21.9456,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W4",
          "name": "W4 · One bedroom · 720 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "wingSlot": 4,
              "homeId": "W4"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              29.2608,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "NW",
          "name": "NW · Three bedrooms · corner",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-three-corner",
            "userAttributes": {
              "wingSlot": 5,
              "homeId": "NW"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows-unit",
          "name": "West windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              -9.331808609502834e-18,
              3.3528000000000002,
              0.4572
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows",
          "name": "West windows",
          "op": "array",
          "params": {
            "count": 20,
            "step": [
              0,
              1.8288,
              0
            ]
          },
          "inputs": {
            "source": "west-windows-unit"
          }
        },
        {
          "id": "north-windows-unit",
          "name": "North windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              3.3528000000000002,
              40.2336,
              0.4572
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows",
          "name": "North windows",
          "op": "array",
          "params": {
            "count": 5,
            "step": [
              1.8288,
              0,
              0
            ]
          },
          "inputs": {
            "source": "north-windows-unit"
          }
        },
        {
          "id": "end-windows-unit",
          "name": "Street end glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              4.2672,
              0,
              0.4572
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-windows",
          "name": "Street end glazing",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              3.6576,
              0,
              0
            ]
          },
          "inputs": {
            "source": "end-windows-unit"
          }
        },
        {
          "id": "court-windows-unit",
          "name": "Courtyard glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              10.9728,
              0.6096,
              0.4572
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "court-windows",
          "name": "Courtyard glazing",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              0,
              3.6576,
              0
            ]
          },
          "inputs": {
            "source": "court-windows-unit"
          }
        },
        {
          "id": "fin",
          "name": "Bronze fin",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": 0.1016,
            "height": "h + 14in",
            "origin": [
              -0.3048,
              18.2372,
              -0.3556
            ],
            "userAttributes": {
              "component": "facade",
              "material": "bronze"
            }
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "fins",
          "name": "Bronze fins on the 12 ft piers",
          "op": "array",
          "params": {
            "count": 6,
            "step": [
              0,
              3.6576,
              0
            ]
          },
          "inputs": {
            "source": "fin"
          }
        },
        {
          "id": "gallery-guard",
          "name": "Gallery guard at the courtyard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 10.8712,
            "userAttributes": {
              "component": "gallery-guard"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              10.8966,
              9.2456,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "envelope",
          "name": "Walls, windows and fins",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6"
            ]
          },
          "inputs": {
            "p0": "exterior",
            "p1": "demising",
            "p2": "west-windows",
            "p3": "north-windows",
            "p4": "end-windows",
            "p5": "court-windows",
            "p6": "fins"
          }
        },
        {
          "id": "assembly",
          "name": "West wing plan · full length",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "envelope",
            "p1": "homes",
            "p2": "gallery-guard"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.home-two-corner",
        "terraces03.home-one",
        "terraces03.home-studio",
        "terraces03.home-three-corner",
        "terraces03.window",
        "terraces03.guard"
      ]
    },
    "terraces03.wing-1": {
      "id": "terraces03.wing-1",
      "name": "West wing plan · one home set back",
      "description": "Single-loaded wing with an open courtyard gallery. 3 wing homes plus the north-west corner home. The east wing mirrors this plan.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "exterior-paths",
          "name": "Exterior walls · limestone · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "exterior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    9.2456,
                    0
                  ],
                  [
                    0.1524,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    40.0812,
                    0
                  ],
                  [
                    10.9728,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "exterior",
          "name": "Exterior walls · limestone",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 2.032,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.8608000000000002,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6895999999999995,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.5184,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.347199999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.176,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 13.0048,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 14.8336,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 16.6624,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.4912,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-11",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 20.32,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 22.1488,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 23.9776,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-14",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 25.8064,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 27.6352,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.9811999999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-17",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.81,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-18",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6388,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-19",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.4676,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-20",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.2964,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "exterior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "demising-paths",
          "name": "Demising walls, gallery wall and entries · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "demising-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "demising-plane",
                "points": [
                  [
                    9.144,
                    9.144,
                    0
                  ],
                  [
                    9.144,
                    30.988,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    16.4592,
                    0
                  ],
                  [
                    9.144,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    21.9456,
                    0
                  ],
                  [
                    9.144,
                    21.9456,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    29.2608,
                    0
                  ],
                  [
                    9.144,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "demising",
          "name": "Demising walls, gallery wall and entries",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "entry-W2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-W3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.2192,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-W4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "demising-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "terrace-wall-paths",
          "name": "Terrace wall · glazed · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "terrace-wall-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "terrace-wall-plane",
                "points": [
                  [
                    0,
                    9.144,
                    0
                  ],
                  [
                    9.0424,
                    9.144,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "terrace-wall",
          "name": "Terrace wall · glazed",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.4572,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.3528,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "terrace-wall-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "homes",
          "name": "Shared homes",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3"
            ]
          },
          "inputs": {
            "p0": "W2",
            "p1": "W3",
            "p2": "W4",
            "p3": "NW"
          }
        },
        {
          "id": "W2",
          "name": "W2 · One bedroom · 720 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "wingSlot": 2,
              "homeId": "W2"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              16.4592,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W3",
          "name": "W3 · Studio · 540 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-studio",
            "userAttributes": {
              "wingSlot": 3,
              "homeId": "W3"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              21.9456,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W4",
          "name": "W4 · One bedroom · 720 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "wingSlot": 4,
              "homeId": "W4"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              29.2608,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "NW",
          "name": "NW · Three bedrooms · corner",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-three-corner",
            "userAttributes": {
              "wingSlot": 5,
              "homeId": "NW"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows-unit",
          "name": "West windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              -9.331808609502834e-18,
              12.4968,
              0.4572
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows",
          "name": "West windows",
          "op": "array",
          "params": {
            "count": 15,
            "step": [
              0,
              1.8288,
              0
            ]
          },
          "inputs": {
            "source": "west-windows-unit"
          }
        },
        {
          "id": "north-windows-unit",
          "name": "North windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              3.3528000000000002,
              40.2336,
              0.4572
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows",
          "name": "North windows",
          "op": "array",
          "params": {
            "count": 5,
            "step": [
              1.8288,
              0,
              0
            ]
          },
          "inputs": {
            "source": "north-windows-unit"
          }
        },
        {
          "id": "end-windows-unit",
          "name": "Terrace glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              0.4572,
              9.0424,
              0.4572
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-windows",
          "name": "Terrace glazing",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              2.8956,
              0,
              0
            ]
          },
          "inputs": {
            "source": "end-windows-unit"
          }
        },
        {
          "id": "fin",
          "name": "Bronze fin",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": 0.1016,
            "height": "h + 14in",
            "origin": [
              -0.3048,
              18.2372,
              -0.3556
            ],
            "userAttributes": {
              "component": "facade",
              "material": "bronze"
            }
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "fins",
          "name": "Bronze fins on the 12 ft piers",
          "op": "array",
          "params": {
            "count": 6,
            "step": [
              0,
              3.6576,
              0
            ]
          },
          "inputs": {
            "source": "fin"
          }
        },
        {
          "id": "gallery-guard",
          "name": "Gallery guard at the courtyard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 10.9728,
            "userAttributes": {
              "component": "gallery-guard"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              10.8966,
              9.144,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-guard",
          "name": "Gallery end guard · above a lower terrace",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 1.611376,
            "userAttributes": {
              "component": "gallery-guard",
              "galleryEnd": "guard"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              9.2456,
              9.2202,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-gate",
          "name": "Gallery end gate · onto this level’s terrace",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 1.611376,
            "userAttributes": {
              "component": "gallery-gate",
              "galleryEnd": "gate"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              9.2456,
              9.2202,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "envelope",
          "name": "Walls, windows and fins",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6"
            ]
          },
          "inputs": {
            "p0": "exterior",
            "p1": "demising",
            "p2": "terrace-wall",
            "p3": "west-windows",
            "p4": "north-windows",
            "p5": "end-windows",
            "p6": "fins"
          }
        },
        {
          "id": "assembly",
          "name": "West wing plan · one home set back",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "envelope",
            "p1": "homes",
            "p2": "gallery-guard",
            "p3": "end-guard",
            "p4": "end-gate"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.home-one",
        "terraces03.home-studio",
        "terraces03.home-three-corner",
        "terraces03.window",
        "terraces03.guard"
      ]
    },
    "terraces03.wing-2": {
      "id": "terraces03.wing-2",
      "name": "West wing plan · two homes set back",
      "description": "Single-loaded wing with an open courtyard gallery. 2 wing homes plus the north-west corner home. The east wing mirrors this plan.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "exterior-paths",
          "name": "Exterior walls · limestone · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "exterior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    16.5608,
                    0
                  ],
                  [
                    0.1524,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "exterior-plane",
                "points": [
                  [
                    0.1524,
                    40.0812,
                    0
                  ],
                  [
                    10.9728,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "exterior",
          "name": "Exterior walls · limestone",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 2.032,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.8608000000000002,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6895999999999995,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.5184,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.347199999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.176,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 13.0048,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 14.8336,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 16.6624,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.4912,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-11",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 20.32,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.9811999999999999,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.81,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-14",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.6388,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.4676,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.2964,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "exterior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "demising-paths",
          "name": "Demising walls, gallery wall and entries · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "demising-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "demising-plane",
                "points": [
                  [
                    9.144,
                    16.4592,
                    0
                  ],
                  [
                    9.144,
                    30.988,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    21.9456,
                    0
                  ],
                  [
                    9.144,
                    21.9456,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "demising-plane",
                "points": [
                  [
                    0.3048,
                    29.2608,
                    0
                  ],
                  [
                    9.144,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "demising",
          "name": "Demising walls, gallery wall and entries",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "entry-W3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.2192,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-W4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "demising-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "terrace-wall-paths",
          "name": "Terrace wall · glazed · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "terrace-wall-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "terrace-wall-plane",
                "points": [
                  [
                    0,
                    16.4592,
                    0
                  ],
                  [
                    9.0424,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "terrace-wall",
          "name": "Terrace wall · glazed",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.4572,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.3528,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "terrace-wall-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "homes",
          "name": "Shared homes",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "W3",
            "p1": "W4",
            "p2": "NW"
          }
        },
        {
          "id": "W3",
          "name": "W3 · Studio · 540 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-studio",
            "userAttributes": {
              "wingSlot": 3,
              "homeId": "W3"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              21.9456,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "W4",
          "name": "W4 · One bedroom · 720 sf",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "wingSlot": 4,
              "homeId": "W4"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              29.2608,
              0
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "NW",
          "name": "NW · Three bedrooms · corner",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-three-corner",
            "userAttributes": {
              "wingSlot": 5,
              "homeId": "NW"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows-unit",
          "name": "West windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              -9.331808609502834e-18,
              19.812,
              0.4572
            ],
            "angle": -90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-windows",
          "name": "West windows",
          "op": "array",
          "params": {
            "count": 11,
            "step": [
              0,
              1.8288,
              0
            ]
          },
          "inputs": {
            "source": "west-windows-unit"
          }
        },
        {
          "id": "north-windows-unit",
          "name": "North windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              3.3528000000000002,
              40.2336,
              0.4572
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows",
          "name": "North windows",
          "op": "array",
          "params": {
            "count": 5,
            "step": [
              1.8288,
              0,
              0
            ]
          },
          "inputs": {
            "source": "north-windows-unit"
          }
        },
        {
          "id": "end-windows-unit",
          "name": "Terrace glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              0.4572,
              16.3576,
              0.4572
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-windows",
          "name": "Terrace glazing",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              2.8956,
              0,
              0
            ]
          },
          "inputs": {
            "source": "end-windows-unit"
          }
        },
        {
          "id": "fin",
          "name": "Bronze fin",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": 0.1016,
            "height": "h + 14in",
            "origin": [
              -0.3048,
              20.066,
              -0.3556
            ],
            "userAttributes": {
              "component": "facade",
              "material": "bronze"
            }
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "fins",
          "name": "Bronze fins on the 12 ft piers",
          "op": "array",
          "params": {
            "count": 5,
            "step": [
              0,
              3.6576,
              0
            ]
          },
          "inputs": {
            "source": "fin"
          }
        },
        {
          "id": "gallery-guard",
          "name": "Gallery guard at the courtyard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 3.6576,
            "userAttributes": {
              "component": "gallery-guard"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              10.8966,
              16.4592,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-guard",
          "name": "Gallery end guard · above a lower terrace",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 1.611376,
            "userAttributes": {
              "component": "gallery-guard",
              "galleryEnd": "guard"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              9.2456,
              16.5354,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "end-gate",
          "name": "Gallery end gate · onto this level’s terrace",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 1.611376,
            "userAttributes": {
              "component": "gallery-gate",
              "galleryEnd": "gate"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              9.2456,
              16.5354,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "envelope",
          "name": "Walls, windows and fins",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6"
            ]
          },
          "inputs": {
            "p0": "exterior",
            "p1": "demising",
            "p2": "terrace-wall",
            "p3": "west-windows",
            "p4": "north-windows",
            "p5": "end-windows",
            "p6": "fins"
          }
        },
        {
          "id": "assembly",
          "name": "West wing plan · two homes set back",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "envelope",
            "p1": "homes",
            "p2": "gallery-guard",
            "p3": "end-guard",
            "p4": "end-gate"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.home-studio",
        "terraces03.home-one",
        "terraces03.home-three-corner",
        "terraces03.window",
        "terraces03.guard"
      ]
    },
    "terraces03.bar-typical": {
      "id": "terraces03.bar-typical",
      "name": "North bar plan · typical",
      "description": "Double-loaded north bar: three two-bedroom homes face north; a two-bedroom and a one-bedroom home face the courtyard.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "exterior-paths",
          "name": "Exterior walls · north street and courtyard · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "exterior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "exterior-plane",
                "points": [
                  [
                    10.9728,
                    40.0812,
                    0
                  ],
                  [
                    43.8912,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "exterior-plane",
                "points": [
                  [
                    18.3896,
                    20.2692,
                    0
                  ],
                  [
                    40.132,
                    20.2692,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "exterior",
          "name": "Exterior walls · north street and courtyard",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.30479999999999996,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 2.1336,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.9623999999999997,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.7912,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.62,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.4488,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.2776,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 13.1064,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 14.9352,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 16.764,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-11",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.5928,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 20.4216,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 22.2504,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-14",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 24.0792,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 25.908,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 27.7368,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-17",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 29.5656,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-18",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 31.3944,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-19",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.508,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-20",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.1656,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-21",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.8232,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-22",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.4808,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-23",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 15.1384,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-24",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.796,
                "width": 2.4384,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "exterior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "demising-paths",
          "name": "Corridor and demising walls, entries · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "demising-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "demising-plane",
                "points": [
                  [
                    9.0424,
                    31.0896,
                    0
                  ],
                  [
                    45.8216,
                    31.0896,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    29.2608,
                    0
                  ],
                  [
                    40.132,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    20.4216,
                    0
                  ],
                  [
                    21.9456,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "demising-plane",
                "points": [
                  [
                    32.9184,
                    20.4216,
                    0
                  ],
                  [
                    32.9184,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "demising-plane",
                "points": [
                  [
                    10.9728,
                    31.0896,
                    0
                  ],
                  [
                    10.9728,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    31.0896,
                    0
                  ],
                  [
                    21.9456,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "demising-plane",
                "points": [
                  [
                    32.9184,
                    31.0896,
                    0
                  ],
                  [
                    32.9184,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "demising-plane",
                "points": [
                  [
                    43.8912,
                    31.0896,
                    0
                  ],
                  [
                    43.8912,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "demising",
          "name": "Corridor and demising walls, entries",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "entry-NW",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.5588,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-NE",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.4572,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-S1",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.7912,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "entry-S2",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.3528,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "demising-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "N1",
          "name": "N1 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N1"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              21.9456,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "N2",
          "name": "N2 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N2"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              32.9184,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "N3",
          "name": "N3 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N3"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              43.8912,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "S1",
          "name": "S1 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "S1"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              21.9456,
              20.1168,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "S2",
          "name": "S2 · One bedroom",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-one",
            "userAttributes": {
              "homeId": "S2"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              32.9184,
              20.1168,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows-unit",
          "name": "North windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              12.4968,
              40.2336,
              0.4572
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows",
          "name": "North windows",
          "op": "array",
          "params": {
            "count": 18,
            "step": [
              1.8288,
              0,
              0
            ]
          },
          "inputs": {
            "source": "north-windows-unit"
          }
        },
        {
          "id": "court-windows-unit",
          "name": "Courtyard glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              18.8976,
              20.1168,
              0.4572
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "court-windows",
          "name": "Courtyard glazing",
          "op": "array",
          "params": {
            "count": 6,
            "step": [
              3.6576,
              0,
              0
            ]
          },
          "inputs": {
            "source": "court-windows-unit"
          }
        },
        {
          "id": "fin",
          "name": "Bronze fin",
          "op": "box",
          "params": {
            "width": 0.1016,
            "depth": 0.3048,
            "height": "h + 14in",
            "origin": [
              14.5796,
              40.2336,
              -0.3556
            ],
            "userAttributes": {
              "component": "facade",
              "material": "bronze"
            }
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "fins",
          "name": "Bronze fins on the 12 ft piers",
          "op": "array",
          "params": {
            "count": 8,
            "step": [
              3.6576,
              0,
              0
            ]
          },
          "inputs": {
            "source": "fin"
          }
        },
        {
          "id": "assembly",
          "name": "North bar plan · typical",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8",
              "p9"
            ]
          },
          "inputs": {
            "p0": "exterior",
            "p1": "demising",
            "p2": "north-windows",
            "p3": "court-windows",
            "p4": "fins",
            "p5": "N1",
            "p6": "N2",
            "p7": "N3",
            "p8": "S1",
            "p9": "S2"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.home-two",
        "terraces03.home-one",
        "terraces03.window"
      ]
    },
    "terraces03.bar-amenity": {
      "id": "terraces03.bar-amenity",
      "name": "North bar plan · Level 2 amenity",
      "description": "Double-loaded north bar. Fitness room and clubhouse open onto the raised garden; three two-bedroom homes face north.",
      "version": 2,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "exterior-paths",
          "name": "Exterior walls · north street and courtyard · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "exterior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "exterior-plane",
                "points": [
                  [
                    10.9728,
                    40.0812,
                    0
                  ],
                  [
                    43.8912,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "exterior-plane",
                "points": [
                  [
                    18.3896,
                    20.2692,
                    0
                  ],
                  [
                    40.132,
                    20.2692,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "exterior",
          "name": "Exterior walls · north street and courtyard",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.30479999999999996,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 2.1336,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.9623999999999997,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.7912,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.62,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 9.4488,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.2776,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 13.1064,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 14.9352,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 16.764,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-11",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.5928,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 20.4216,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 22.2504,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-14",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 24.0792,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 25.908,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 27.7368,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-17",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 29.5656,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-18",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 31.3944,
                "width": 1.2192,
                "height": 2.1336,
                "sill": 0.4572,
                "planSymbol": "window"
              },
              {
                "id": "window-19",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.508,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              },
              {
                "id": "window-20",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.1656,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              },
              {
                "id": "window-21",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.8232,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              },
              {
                "id": "window-22",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 11.4808,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              },
              {
                "id": "window-23",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 15.1384,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              },
              {
                "id": "window-24",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 18.796,
                "width": 2.4384,
                "height": 2.4384,
                "sill": 0,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "exterior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "demising-paths",
          "name": "Corridor and demising walls, entries · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "demising-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "demising-plane",
                "points": [
                  [
                    9.0424,
                    31.0896,
                    0
                  ],
                  [
                    45.8216,
                    31.0896,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    29.2608,
                    0
                  ],
                  [
                    40.132,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    20.4216,
                    0
                  ],
                  [
                    21.9456,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "demising-plane",
                "points": [
                  [
                    29.2608,
                    20.4216,
                    0
                  ],
                  [
                    29.2608,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "demising-plane",
                "points": [
                  [
                    10.9728,
                    31.0896,
                    0
                  ],
                  [
                    10.9728,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "demising-plane",
                "points": [
                  [
                    21.9456,
                    31.0896,
                    0
                  ],
                  [
                    21.9456,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "demising-plane",
                "points": [
                  [
                    32.9184,
                    31.0896,
                    0
                  ],
                  [
                    32.9184,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "demising-plane",
                "points": [
                  [
                    43.8912,
                    31.0896,
                    0
                  ],
                  [
                    43.8912,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "demising",
          "name": "Corridor and demising walls, entries",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "entry-NW",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.5588,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-N3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.2672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "entry-NE",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.4572,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "fitness",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 2.7432,
                "width": 1.8288,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "clubhouse",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.572,
                "width": 1.8288,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "fitness-clubhouse",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.9624,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "demising-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "N1",
          "name": "N1 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N1"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              21.9456,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "N2",
          "name": "N2 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N2"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              32.9184,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "N3",
          "name": "N3 · Two bedrooms",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.home-two",
            "userAttributes": {
              "homeId": "N3"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              43.8912,
              40.2336,
              0
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows-unit",
          "name": "North windows · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 1.2192,
            "height": 2.1336
          },
          "inputs": {},
          "placement": {
            "offset": [
              12.4968,
              40.2336,
              0.4572
            ],
            "angle": 180,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "north-windows",
          "name": "North windows",
          "op": "array",
          "params": {
            "count": 18,
            "step": [
              1.8288,
              0,
              0
            ]
          },
          "inputs": {
            "source": "north-windows-unit"
          }
        },
        {
          "id": "court-windows-unit",
          "name": "Garden doors and glazing · window",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.window",
            "width": 2.4384,
            "height": 2.4384
          },
          "inputs": {},
          "placement": {
            "offset": [
              18.8976,
              20.1168,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "court-windows",
          "name": "Garden doors and glazing",
          "op": "array",
          "params": {
            "count": 6,
            "step": [
              3.6576,
              0,
              0
            ]
          },
          "inputs": {
            "source": "court-windows-unit"
          }
        },
        {
          "id": "fin",
          "name": "Bronze fin",
          "op": "box",
          "params": {
            "width": 0.1016,
            "depth": 0.3048,
            "height": "h + 14in",
            "origin": [
              14.5796,
              40.2336,
              -0.3556
            ],
            "userAttributes": {
              "component": "facade",
              "material": "bronze"
            }
          },
          "inputs": {
            "h": "wallHeight"
          }
        },
        {
          "id": "fins",
          "name": "Bronze fins on the 12 ft piers",
          "op": "array",
          "params": {
            "count": 8,
            "step": [
              3.6576,
              0,
              0
            ]
          },
          "inputs": {
            "source": "fin"
          }
        },
        {
          "id": "amenity-edge",
          "name": "Amenity edge · room separation line at Stair B",
          "op": "polyline",
          "params": {
            "points": [
              [
                40.132,
                20.4216,
                0
              ],
              [
                40.132,
                29.1592,
                0
              ]
            ],
            "closed": false
          },
          "inputs": {}
        },
        {
          "id": "lobby-edge",
          "name": "Elevator lobby edge · separation line at Core A",
          "op": "polyline",
          "params": {
            "points": [
              [
                18.3896,
                20.4216,
                0
              ],
              [
                18.3896,
                29.1592,
                0
              ]
            ],
            "closed": false
          },
          "inputs": {}
        },
        {
          "id": "amenity-rooms",
          "name": "Amenity rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1",
              "w2"
            ],
            "separators": [
              "s1"
            ],
            "rooms": [
              {
                "id": "fitness",
                "name": "Fitness",
                "number": "",
                "program": "Amenity",
                "seed": [
                  25.6032,
                  24.384
                ]
              },
              {
                "id": "clubhouse",
                "name": "Clubhouse",
                "number": "",
                "program": "Amenity",
                "seed": [
                  34.7472,
                  24.384
                ]
              }
            ]
          },
          "inputs": {
            "w1": "exterior",
            "w2": "demising",
            "s1": "amenity-edge"
          }
        },
        {
          "id": "assembly",
          "name": "North bar plan · Level 2 amenity",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8"
            ]
          },
          "inputs": {
            "p0": "exterior",
            "p1": "demising",
            "p2": "north-windows",
            "p3": "court-windows",
            "p4": "fins",
            "p5": "N1",
            "p6": "N2",
            "p7": "N3",
            "p8": "amenity-rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.home-two",
        "terraces03.window"
      ]
    },
    "terraces03.core-a-typical": {
      "id": "terraces03.core-a-typical",
      "name": "Core A · stair, two elevators and trash · typical storey",
      "description": "Two-hour enclosure: U-shaped exit stair, two stretcher elevators opening onto the elevator lobby, trash chute and electrical room.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "shafts-paths",
          "name": "Core A · 2-hour shaft walls · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "shafts-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    20.2184,
                    0
                  ],
                  [
                    18.288,
                    20.2184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    20.2184,
                    0
                  ],
                  [
                    11.0744,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    29.2608,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "shafts-plane",
                "points": [
                  [
                    18.288,
                    20.2184,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    22.5552,
                    0
                  ],
                  [
                    14.0208,
                    22.5552,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "shafts-plane",
                "points": [
                  [
                    14.0208,
                    22.5552,
                    0
                  ],
                  [
                    14.0208,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "shafts-plane",
                "points": [
                  [
                    14.0208,
                    26.8224,
                    0
                  ],
                  [
                    15.8496,
                    26.8224,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    20.2184,
                    0
                  ],
                  [
                    15.8496,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-8",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    23.7744,
                    0
                  ],
                  [
                    18.288,
                    23.7744,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-9",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    26.5176,
                    0
                  ],
                  [
                    18.288,
                    26.5176,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "shafts",
          "name": "Core A · 2-hour shaft walls",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "stair-a",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.3048,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "electrical",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.6604,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "elevator-1",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8382,
                "width": 1.0668,
                "height": 2.1336,
                "planSymbol": "none"
              },
              {
                "id": "elevator-2",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8382,
                "width": 1.0668,
                "height": 2.1336,
                "planSymbol": "none"
              },
              {
                "id": "controller",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.27,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "trash",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.507492,
                "width": 0.813816,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "core",
              "material": "concrete"
            }
          },
          "inputs": {
            "source": "shafts-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "rooms",
          "name": "Core rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1"
            ],
            "rooms": [
              {
                "id": "stair",
                "name": "Stair A",
                "number": "",
                "program": "Core",
                "seed": [
                  12.4968,
                  25.908
                ]
              },
              {
                "id": "electrical",
                "name": "Electrical",
                "number": "",
                "program": "Core",
                "seed": [
                  12.192,
                  21.336
                ]
              },
              {
                "id": "trash",
                "name": "Trash chute",
                "number": "",
                "program": "Core",
                "seed": [
                  14.9352,
                  28.0416
                ]
              },
              {
                "id": "elevator-1",
                "name": "Elevator",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  25.146
                ]
              },
              {
                "id": "elevator-2",
                "name": "Elevator",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  27.8892
                ]
              },
              {
                "id": "controller",
                "name": "Elevator controls",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  21.9456
                ]
              }
            ]
          },
          "inputs": {
            "w1": "shafts"
          }
        },
        {
          "id": "assembly",
          "name": "Core A · stair, two elevators and trash · typical storey",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "shafts",
            "p1": "rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.core-a-ground": {
      "id": "terraces03.core-a-ground",
      "name": "Core A · stair, two elevators and trash · ground storey",
      "description": "Two-hour enclosure: U-shaped exit stair, two stretcher elevators opening onto the elevator lobby, trash chute and electrical room.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "shafts-paths",
          "name": "Core A · 2-hour shaft walls · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "shafts-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    20.2184,
                    0
                  ],
                  [
                    18.288,
                    20.2184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    20.2184,
                    0
                  ],
                  [
                    11.0744,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    29.2608,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "shafts-plane",
                "points": [
                  [
                    18.288,
                    20.2184,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "shafts-plane",
                "points": [
                  [
                    11.0744,
                    22.5552,
                    0
                  ],
                  [
                    14.0208,
                    22.5552,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "shafts-plane",
                "points": [
                  [
                    14.0208,
                    22.5552,
                    0
                  ],
                  [
                    14.0208,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "shafts-plane",
                "points": [
                  [
                    14.0208,
                    26.8224,
                    0
                  ],
                  [
                    15.8496,
                    26.8224,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    20.2184,
                    0
                  ],
                  [
                    15.8496,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-8",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    23.7744,
                    0
                  ],
                  [
                    18.288,
                    23.7744,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-9",
                "planeId": "shafts-plane",
                "points": [
                  [
                    15.8496,
                    26.5176,
                    0
                  ],
                  [
                    18.288,
                    26.5176,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "shafts",
          "name": "Core A · 2-hour shaft walls",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "stair-a",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.9652,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "exit-vestibule",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.9652,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "elevator-1",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8382,
                "width": 1.0668,
                "height": 2.1336,
                "planSymbol": "none"
              },
              {
                "id": "elevator-2",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.8382,
                "width": 1.0668,
                "height": 2.1336,
                "planSymbol": "none"
              },
              {
                "id": "controller",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.27,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "trash",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.507492,
                "width": 0.813816,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "core",
              "material": "concrete"
            }
          },
          "inputs": {
            "source": "shafts-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "rooms",
          "name": "Core rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1"
            ],
            "rooms": [
              {
                "id": "stair",
                "name": "Stair A",
                "number": "",
                "program": "Core",
                "seed": [
                  12.4968,
                  25.908
                ]
              },
              {
                "id": "electrical",
                "name": "Exit vestibule",
                "number": "",
                "program": "Core",
                "seed": [
                  12.192,
                  21.336
                ]
              },
              {
                "id": "trash",
                "name": "Trash chute",
                "number": "",
                "program": "Core",
                "seed": [
                  14.9352,
                  28.0416
                ]
              },
              {
                "id": "elevator-1",
                "name": "Elevator",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  25.146
                ]
              },
              {
                "id": "elevator-2",
                "name": "Elevator",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  27.8892
                ]
              },
              {
                "id": "controller",
                "name": "Elevator controls",
                "number": "",
                "program": "Core",
                "seed": [
                  17.0688,
                  21.9456
                ]
              }
            ]
          },
          "inputs": {
            "w1": "shafts"
          }
        },
        {
          "id": "assembly",
          "name": "Core A · stair, two elevators and trash · ground storey",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "shafts",
            "p1": "rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.core-b-typical": {
      "id": "terraces03.core-b-typical",
      "name": "Stair B · typical storey",
      "description": "Two-hour exit stair enclosure with a standpipe closet.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "shafts-paths",
          "name": "Stair B · 2-hour shaft walls · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "shafts-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    20.2184,
                    0
                  ],
                  [
                    43.7896,
                    20.2184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "shafts-plane",
                "points": [
                  [
                    43.7896,
                    20.2184,
                    0
                  ],
                  [
                    43.7896,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    29.2608,
                    0
                  ],
                  [
                    43.7896,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    20.2184,
                    0
                  ],
                  [
                    40.2336,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    26.8224,
                    0
                  ],
                  [
                    43.7896,
                    26.8224,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "shafts",
          "name": "Stair B · 2-hour shaft walls",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "stair-b",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.508,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "riser",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.27,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "core",
              "material": "concrete"
            }
          },
          "inputs": {
            "source": "shafts-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "rooms",
          "name": "Core rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1"
            ],
            "rooms": [
              {
                "id": "stair",
                "name": "Stair B",
                "number": "",
                "program": "Core",
                "seed": [
                  42.0624,
                  23.7744
                ]
              },
              {
                "id": "riser",
                "name": "Standpipe",
                "number": "",
                "program": "Core",
                "seed": [
                  42.0624,
                  28.0416
                ]
              }
            ]
          },
          "inputs": {
            "w1": "shafts"
          }
        },
        {
          "id": "assembly",
          "name": "Stair B · typical storey",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "shafts",
            "p1": "rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.core-b-ground": {
      "id": "terraces03.core-b-ground",
      "name": "Stair B · ground storey",
      "description": "Two-hour exit stair enclosure with a standpipe closet.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "shafts-paths",
          "name": "Stair B · 2-hour shaft walls · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "shafts-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    20.2184,
                    0
                  ],
                  [
                    43.7896,
                    20.2184,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "shafts-plane",
                "points": [
                  [
                    43.7896,
                    20.2184,
                    0
                  ],
                  [
                    43.7896,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    29.2608,
                    0
                  ],
                  [
                    43.7896,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    20.2184,
                    0
                  ],
                  [
                    40.2336,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "shafts-plane",
                "points": [
                  [
                    40.2336,
                    26.8224,
                    0
                  ],
                  [
                    43.7896,
                    26.8224,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "shafts",
          "name": "Stair B · 2-hour shaft walls",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "stair-b",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.3716,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "riser",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.27,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "core",
              "material": "concrete"
            }
          },
          "inputs": {
            "source": "shafts-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "rooms",
          "name": "Core rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1"
            ],
            "rooms": [
              {
                "id": "stair",
                "name": "Stair B",
                "number": "",
                "program": "Core",
                "seed": [
                  42.0624,
                  23.7744
                ]
              },
              {
                "id": "riser",
                "name": "Standpipe",
                "number": "",
                "program": "Core",
                "seed": [
                  42.0624,
                  28.0416
                ]
              }
            ]
          },
          "inputs": {
            "w1": "shafts"
          }
        },
        {
          "id": "assembly",
          "name": "Stair B · ground storey",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "shafts",
            "p1": "rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.plan-options": {
      "id": "terraces03.plan-options",
      "name": "Residential plan options",
      "description": "Every plan a residential level can use, built once: the wing with 0, 1 or 2 homes set back (mirrored for the east wing), the north bar with homes or the Level 2 amenity, Core A, Stair B and one storey of each exit stair. Each storey selects its plan with one Query.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "wallHeight",
          "name": "Wall height",
          "op": "value",
          "params": {
            "value": 2.9972,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "rise",
          "name": "Residential floor-to-floor",
          "op": "value",
          "params": {
            "value": 3.3528,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "wing-0",
          "name": "Wing plan · 0 homes set back",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.wing-0",
            "userAttributes": {
              "option": "west",
              "optionValue": 0
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "wing-1",
          "name": "Wing plan · 1 home set back",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.wing-1",
            "userAttributes": {
              "option": "west",
              "optionValue": 1
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "wing-2",
          "name": "Wing plan · 2 homes set back",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.wing-2",
            "userAttributes": {
              "option": "west",
              "optionValue": 2
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west",
          "name": "West wing options",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "wing-0",
            "p1": "wing-1",
            "p2": "wing-2"
          }
        },
        {
          "id": "east",
          "name": "East wing options · mirrored",
          "op": "mirror",
          "params": {
            "version": 1,
            "origin": [
              27.432,
              0,
              0
            ],
            "normal": [
              1,
              0,
              0
            ],
            "keepSource": false,
            "userAttributes": {
              "option": "east"
            }
          },
          "inputs": {
            "source": "west"
          }
        },
        {
          "id": "bar-typical",
          "name": "North bar · homes",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.bar-typical",
            "userAttributes": {
              "option": "bar",
              "optionValue": 0
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bar-amenity",
          "name": "North bar · Level 2 amenity",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.bar-amenity",
            "userAttributes": {
              "option": "bar",
              "optionValue": 1
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "core-a",
          "name": "Core A storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.core-a-typical",
            "userAttributes": {
              "option": "core",
              "optionValue": 0
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-b",
          "name": "Stair B storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.core-b-typical",
            "userAttributes": {
              "option": "core",
              "optionValue": 0
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "flight-a",
          "name": "Stair A · one storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.exit-stair",
            "userAttributes": {
              "option": "stair-a",
              "optionValue": 0
            }
          },
          "inputs": {
            "rise": "rise"
          },
          "placement": {
            "offset": [
              13.1064,
              23.9268,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "flight-b",
          "name": "Stair B · one storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.exit-stair",
            "userAttributes": {
              "option": "stair-b",
              "optionValue": 0
            }
          },
          "inputs": {
            "rise": "rise"
          },
          "placement": {
            "offset": [
              42.9768,
              21.4884,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "assembly",
          "name": "Residential plan options",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7"
            ]
          },
          "inputs": {
            "p0": "west",
            "p1": "east",
            "p2": "bar-typical",
            "p3": "bar-amenity",
            "p4": "core-a",
            "p5": "stair-b",
            "p6": "flight-a",
            "p7": "flight-b"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "wallHeight",
          "label": "Wall height",
          "kind": "length",
          "default": 2.9972,
          "target": {
            "nodeId": "wallHeight",
            "param": "value"
          },
          "ui": {
            "min": 2.4384,
            "max": 3.6576,
            "step": 0.3048
          }
        },
        {
          "key": "rise",
          "label": "Residential floor-to-floor",
          "kind": "length",
          "default": 3.3528,
          "target": {
            "nodeId": "rise",
            "param": "value"
          },
          "ui": {
            "min": 3.048,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.wing-0",
        "terraces03.wing-1",
        "terraces03.wing-2",
        "terraces03.bar-typical",
        "terraces03.bar-amenity",
        "terraces03.core-a-typical",
        "terraces03.core-b-typical",
        "terraces03.exit-stair"
      ]
    },
    "terraces03.footprint": {
      "id": "terraces03.footprint",
      "name": "Level footprint",
      "description": "The building outline at one level: the north bar and both wings, each wing shortened by its setback. Massing volumes and floor plates are both made from it.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "kW",
          "name": "West wing homes set back",
          "op": "value",
          "params": {
            "value": 0
          },
          "inputs": {}
        },
        {
          "id": "kE",
          "name": "East wing homes set back",
          "op": "value",
          "params": {
            "value": 0
          },
          "inputs": {}
        },
        {
          "id": "height",
          "name": "Height",
          "op": "value",
          "params": {
            "value": 3.3528,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "bar",
          "name": "North bar",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 20.1168,
            "height": "h",
            "origin": [
              0,
              20.1168,
              0
            ],
            "userAttributes": {}
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE",
            "h": "height"
          }
        },
        {
          "id": "west",
          "name": "West wing",
          "op": "box",
          "params": {
            "width": 10.9728,
            "depth": "66ft - (30ft*min(kW,1) + 24ft*max(kW-1,0))",
            "height": "h",
            "origin": [
              0,
              "30ft*min(kW,1) + 24ft*max(kW-1,0)",
              0
            ],
            "userAttributes": {}
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE",
            "h": "height"
          }
        },
        {
          "id": "east",
          "name": "East wing",
          "op": "box",
          "params": {
            "width": 10.9728,
            "depth": "66ft - (30ft*min(kE,1) + 24ft*max(kE-1,0))",
            "height": "h",
            "origin": [
              43.8912,
              "30ft*min(kE,1) + 24ft*max(kE-1,0)",
              0
            ],
            "userAttributes": {}
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE",
            "h": "height"
          }
        },
        {
          "id": "assembly",
          "name": "Level footprint",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "bar",
            "p1": "west",
            "p2": "east"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "kW",
          "label": "West wing homes set back",
          "kind": "number",
          "default": 0,
          "target": {
            "nodeId": "kW",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "kE",
          "label": "East wing homes set back",
          "kind": "number",
          "default": 0,
          "target": {
            "nodeId": "kE",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "height",
          "label": "Height",
          "kind": "length",
          "default": 3.3528,
          "target": {
            "nodeId": "height",
            "param": "value"
          },
          "ui": {
            "min": 0.1524,
            "max": 6.096,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.plate": {
      "id": "terraces03.plate",
      "name": "Floor plate · 14\" with shaft voids",
      "description": "Concrete-topped floor over the level footprint, top at the placement point, with the stair, hoistway and chute voids cut through.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "kW",
          "name": "West wing homes set back",
          "op": "value",
          "params": {
            "value": 0
          },
          "inputs": {}
        },
        {
          "id": "kE",
          "name": "East wing homes set back",
          "op": "value",
          "params": {
            "value": 0
          },
          "inputs": {}
        },
        {
          "id": "outline",
          "name": "Level footprint",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.footprint",
            "height": 0.3556
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "lowered",
          "name": "Top at the floor level",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "-14in"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "outline"
          }
        },
        {
          "id": "void-stair-a",
          "name": "Stair A flights",
          "op": "box",
          "params": {
            "width": 2.7432,
            "depth": 5.2324,
            "height": 1.2192,
            "origin": [
              11.176,
              23.9268,
              -0.6096
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-stair-b",
          "name": "Stair B flights",
          "op": "box",
          "params": {
            "width": 3.3528,
            "depth": 5.2324,
            "height": 1.2192,
            "origin": [
              40.3352,
              21.4884,
              -0.6096
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-lifts",
          "name": "Elevator hoistways",
          "op": "box",
          "params": {
            "width": 2.2352,
            "depth": 5.2832,
            "height": 1.2192,
            "origin": [
              15.9512,
              23.876,
              -0.6096
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-chute",
          "name": "Trash chute",
          "op": "box",
          "params": {
            "width": 1.6256,
            "depth": 2.2352,
            "height": 1.2192,
            "origin": [
              14.1224,
              26.924,
              -0.6096
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "voids",
          "name": "Shaft voids",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3"
            ]
          },
          "inputs": {
            "p0": "void-stair-a",
            "p1": "void-stair-b",
            "p2": "void-lifts",
            "p3": "void-chute"
          }
        },
        {
          "id": "plate",
          "name": "Plate with shaft voids",
          "op": "boolean",
          "params": {
            "mode": "cut",
            "collection": {
              "version": 1,
              "kind": "each-a-all-b"
            },
            "userAttributes": {
              "component": "slab",
              "material": "concrete"
            }
          },
          "inputs": {
            "a": "lowered",
            "b": "voids"
          }
        },
        {
          "id": "assembly",
          "name": "Floor plate · 14\" with shaft voids",
          "op": "merge",
          "params": {
            "ports": [
              "p0"
            ]
          },
          "inputs": {
            "p0": "plate"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "kW",
          "label": "West wing homes set back",
          "kind": "number",
          "default": 0,
          "target": {
            "nodeId": "kW",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "kE",
          "label": "East wing homes set back",
          "kind": "number",
          "default": 0,
          "target": {
            "nodeId": "kE",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        }
      ],
      "dependencies": [
        "terraces03.footprint"
      ]
    },
    "terraces03.terrace": {
      "id": "terraces03.terrace",
      "name": "Roof terrace · pavers and guards",
      "description": "Common roof terrace over a stepped-back wing end, reached through the gallery-end gate. Every open edge has a 42 in guard.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "from",
          "name": "Street edge (ft from the street)",
          "op": "value",
          "params": {
            "value": 0,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "to",
          "name": "Building face (ft from the street)",
          "op": "value",
          "params": {
            "value": 9.144,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "depth",
          "name": "Guard run to the terrace wall",
          "op": "value",
          "params": {
            "expression": "(b - a) - 10in"
          },
          "inputs": {
            "a": "from",
            "b": "to"
          }
        },
        {
          "id": "pavers",
          "name": "Pavers on pedestals",
          "op": "box",
          "params": {
            "width": 10.668,
            "depth": "(b - a) - 9in",
            "height": 0.0762,
            "origin": [
              0.1524,
              "a + 5in",
              0
            ],
            "userAttributes": {
              "component": "terrace",
              "material": "paver"
            }
          },
          "inputs": {
            "a": "from",
            "b": "to"
          }
        },
        {
          "id": "street-guard",
          "name": "Street edge guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 10.8204
          },
          "inputs": {},
          "placement": {
            "offset": [
              0.0762,
              0.0762,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "side-guard",
          "name": "Side street edge guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard"
          },
          "inputs": {
            "length": "depth"
          },
          "placement": {
            "offset": [
              0.0762,
              0.1524,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "court-guard",
          "name": "Courtyard edge guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard"
          },
          "inputs": {
            "length": "depth"
          },
          "placement": {
            "offset": [
              10.8966,
              0.1524,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "guards-local",
          "name": "Terrace guards",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "street-guard",
            "p1": "side-guard",
            "p2": "court-guard"
          }
        },
        {
          "id": "guards",
          "name": "Guards at the street edge",
          "op": "move",
          "params": {
            "offset": [
              0,
              "a",
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "guards-local",
            "a": "from"
          }
        },
        {
          "id": "assembly",
          "name": "Roof terrace · pavers and guards",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "pavers",
            "p1": "guards"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "from",
          "label": "Street edge",
          "kind": "length",
          "default": 0,
          "target": {
            "nodeId": "from",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 16.4592,
            "step": 0.3048
          }
        },
        {
          "key": "to",
          "label": "Building face",
          "kind": "length",
          "default": 9.144,
          "target": {
            "nodeId": "to",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 16.4592,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.guard"
      ]
    },
    "terraces03.storey": {
      "id": "terraces03.storey",
      "name": "Residential storey",
      "description": "One residential level: massing volume, floor plan, the plate above, one storey of each exit stair, and any terrace this level’s setback creates. The setback rule steps each wing one home every two floors down from the top.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "level",
          "name": "Level number",
          "op": "value",
          "params": {
            "value": 3
          },
          "inputs": {}
        },
        {
          "id": "storeys",
          "name": "Total storeys",
          "op": "value",
          "params": {
            "value": 6
          },
          "inputs": {}
        },
        {
          "id": "ws",
          "name": "West wing setbacks (0–2)",
          "op": "value",
          "params": {
            "value": 1
          },
          "inputs": {}
        },
        {
          "id": "es",
          "name": "East wing setbacks (0–2)",
          "op": "value",
          "params": {
            "value": 2
          },
          "inputs": {}
        },
        {
          "id": "height",
          "name": "Floor-to-floor height",
          "op": "value",
          "params": {
            "value": 3.3528,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "kW",
          "name": "West homes set back here",
          "op": "value",
          "params": {
            "expression": "level <= 2 ? 0 : clamp(ws - floor((f - level)/2), 0, 2)"
          },
          "inputs": {
            "ws": "ws",
            "f": "storeys",
            "level": "level"
          }
        },
        {
          "id": "kE",
          "name": "East homes set back here",
          "op": "value",
          "params": {
            "expression": "level <= 2 ? 0 : clamp(es - floor((f - level)/2), 0, 2)"
          },
          "inputs": {
            "es": "es",
            "f": "storeys",
            "level": "level"
          }
        },
        {
          "id": "kWb",
          "name": "West homes set back below",
          "op": "value",
          "params": {
            "expression": "(level - 1) <= 2 ? 0 : clamp(ws - floor((f - (level - 1))/2), 0, 2)"
          },
          "inputs": {
            "ws": "ws",
            "f": "storeys",
            "level": "level"
          }
        },
        {
          "id": "kEb",
          "name": "East homes set back below",
          "op": "value",
          "params": {
            "expression": "(level - 1) <= 2 ? 0 : clamp(es - floor((f - (level - 1))/2), 0, 2)"
          },
          "inputs": {
            "es": "es",
            "f": "storeys",
            "level": "level"
          }
        },
        {
          "id": "tW",
          "name": "West terrace here",
          "op": "value",
          "params": {
            "expression": "kW > kWb ? 1 : 0"
          },
          "inputs": {
            "kW": "kW",
            "kWb": "kWb"
          }
        },
        {
          "id": "tE",
          "name": "East terrace here",
          "op": "value",
          "params": {
            "expression": "kE > kEb ? 1 : 0"
          },
          "inputs": {
            "kE": "kE",
            "kEb": "kEb"
          }
        },
        {
          "id": "massing",
          "name": "Massing volume",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.footprint",
            "userAttributes": {
              "component": "massing",
              "material": "massing"
            }
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE",
            "height": "height"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "options",
          "name": "Residential plan options",
          "op": "merge",
          "params": {
            "ports": [
              "source"
            ]
          },
          "inputs": {}
        },
        {
          "id": "floor",
          "name": "This level’s plan · wings at their setback, north bar, cores",
          "op": "query",
          "params": {
            "expression": "((@option == \"west\" && @optionValue == kW && (!hasAttr(\"galleryEnd\") || @galleryEnd == (tW > 0 ? \"gate\" : \"guard\"))) || (@option == \"east\" && @optionValue == kE && (!hasAttr(\"galleryEnd\") || @galleryEnd == (tE > 0 ? \"gate\" : \"guard\"))) || (@option == \"bar\" && @optionValue == (level == 2 ? 1 : 0)) || @option == \"core\" || @option == \"stair-a\" || (@option == \"stair-b\" && level < f)) && (level > 2 || !hasAttr(\"component\") || @component != \"gallery-guard\")"
          },
          "inputs": {
            "source": "options",
            "kW": "kW",
            "kE": "kE",
            "tW": "tW",
            "tE": "tE",
            "f": "storeys",
            "level": "level"
          }
        },
        {
          "id": "plate-local",
          "name": "Floor plate above",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.plate"
          },
          "inputs": {
            "kW": "kW",
            "kE": "kE"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "plate",
          "name": "Plate at the next level",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "plate-local",
            "t": "height"
          }
        },
        {
          "id": "west-terrace-1",
          "name": "West terrace · step 1",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.terrace",
            "from": 0,
            "to": 9.144,
            "userAttributes": {
              "terraceStep": 1,
              "wing": "west"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-terrace-2",
          "name": "West terrace · step 2",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.terrace",
            "from": 9.144,
            "to": 16.4592,
            "userAttributes": {
              "terraceStep": 2,
              "wing": "west"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "west-terrace-options",
          "name": "West terrace options",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "west-terrace-1",
            "p1": "west-terrace-2"
          }
        },
        {
          "id": "west-terrace",
          "name": "West terrace where this level steps back",
          "op": "query",
          "params": {
            "expression": "@terraceStep == (k > b ? k : 0)"
          },
          "inputs": {
            "source": "west-terrace-options",
            "k": "kW",
            "b": "kWb"
          }
        },
        {
          "id": "east-terrace-1",
          "name": "East terrace · step 1",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.terrace",
            "from": 0,
            "to": 9.144,
            "userAttributes": {
              "terraceStep": 1,
              "wing": "east"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "east-terrace-2",
          "name": "East terrace · step 2",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.terrace",
            "from": 9.144,
            "to": 16.4592,
            "userAttributes": {
              "terraceStep": 2,
              "wing": "east"
            }
          },
          "inputs": {},
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "east-terrace-options",
          "name": "East terrace options",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "east-terrace-1",
            "p1": "east-terrace-2"
          }
        },
        {
          "id": "east-terrace-local",
          "name": "East terrace where this level steps back",
          "op": "query",
          "params": {
            "expression": "@terraceStep == (k > b ? k : 0)"
          },
          "inputs": {
            "source": "east-terrace-options",
            "k": "kE",
            "b": "kEb"
          }
        },
        {
          "id": "east-terrace",
          "name": "East terrace · mirrored",
          "op": "mirror",
          "params": {
            "version": 1,
            "origin": [
              27.432,
              0,
              0
            ],
            "normal": [
              1,
              0,
              0
            ],
            "keepSource": false
          },
          "inputs": {
            "source": "east-terrace-local"
          }
        },
        {
          "id": "assembly",
          "name": "Residential storey",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "massing",
            "p1": "floor",
            "p2": "plate",
            "p3": "west-terrace",
            "p4": "east-terrace"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "level",
          "label": "Level number",
          "kind": "number",
          "default": 3,
          "target": {
            "nodeId": "level",
            "param": "value"
          },
          "ui": {
            "min": 2,
            "max": 6,
            "step": 1,
            "slider": {
              "min": 2,
              "max": 6
            }
          }
        },
        {
          "key": "storeys",
          "label": "Total storeys",
          "kind": "number",
          "default": 6,
          "target": {
            "nodeId": "storeys",
            "param": "value"
          },
          "ui": {
            "min": 5,
            "max": 6,
            "step": 1,
            "slider": {
              "min": 5,
              "max": 6
            }
          }
        },
        {
          "key": "ws",
          "label": "West wing setbacks",
          "kind": "number",
          "default": 1,
          "target": {
            "nodeId": "ws",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "es",
          "label": "East wing setbacks",
          "kind": "number",
          "default": 2,
          "target": {
            "nodeId": "es",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "height",
          "label": "Floor-to-floor height",
          "kind": "length",
          "default": 3.3528,
          "target": {
            "nodeId": "height",
            "param": "value"
          },
          "ui": {
            "min": 3.048,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "geometryInputs": [
        {
          "key": "options",
          "label": "Residential plan options",
          "kind": "geometry",
          "target": {
            "nodeId": "options",
            "port": "source"
          }
        }
      ],
      "dependencies": [
        "terraces03.footprint",
        "terraces03.plate",
        "terraces03.terrace"
      ]
    },
    "terraces03.residential": {
      "id": "terraces03.residential",
      "name": "Residential storeys",
      "description": "Levels 2–6 above the podium, each an instance of the shared Residential storey. Total storeys drops Level 6; setbacks and floor heights pass to every storey.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "ws",
          "name": "West wing setbacks (0–2)",
          "op": "value",
          "params": {
            "value": 1
          },
          "inputs": {}
        },
        {
          "id": "es",
          "name": "East wing setbacks (0–2)",
          "op": "value",
          "params": {
            "value": 2
          },
          "inputs": {}
        },
        {
          "id": "storeys",
          "name": "Total storeys",
          "op": "value",
          "params": {
            "value": 6
          },
          "inputs": {}
        },
        {
          "id": "ground",
          "name": "Ground floor-to-floor",
          "op": "value",
          "params": {
            "value": 4.8768,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "typical",
          "name": "Residential floor-to-floor",
          "op": "value",
          "params": {
            "value": 3.3528,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "wallHeight",
          "name": "Wall height below the plate",
          "op": "value",
          "params": {
            "expression": "t - 14in"
          },
          "inputs": {
            "t": "typical"
          }
        },
        {
          "id": "plan-options",
          "name": "Residential plan options",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.plan-options"
          },
          "inputs": {
            "wallHeight": "wallHeight",
            "rise": "typical"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "storey-2",
          "name": "Level 2",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.storey",
            "level": 2,
            "userAttributes": {
              "levelNumber": 2
            }
          },
          "inputs": {
            "storeys": "storeys",
            "ws": "ws",
            "es": "es",
            "height": "typical",
            "options": "plan-options"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "level-2",
          "name": "Level 2 at its elevation",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "g + 0*t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "storey-2",
            "g": "ground",
            "t": "typical"
          }
        },
        {
          "id": "storey-3",
          "name": "Level 3",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.storey",
            "level": 3,
            "userAttributes": {
              "levelNumber": 3
            }
          },
          "inputs": {
            "storeys": "storeys",
            "ws": "ws",
            "es": "es",
            "height": "typical",
            "options": "plan-options"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "level-3",
          "name": "Level 3 at its elevation",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "g + 1*t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "storey-3",
            "g": "ground",
            "t": "typical"
          }
        },
        {
          "id": "storey-4",
          "name": "Level 4",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.storey",
            "level": 4,
            "userAttributes": {
              "levelNumber": 4
            }
          },
          "inputs": {
            "storeys": "storeys",
            "ws": "ws",
            "es": "es",
            "height": "typical",
            "options": "plan-options"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "level-4",
          "name": "Level 4 at its elevation",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "g + 2*t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "storey-4",
            "g": "ground",
            "t": "typical"
          }
        },
        {
          "id": "storey-5",
          "name": "Level 5",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.storey",
            "level": 5,
            "userAttributes": {
              "levelNumber": 5
            }
          },
          "inputs": {
            "storeys": "storeys",
            "ws": "ws",
            "es": "es",
            "height": "typical",
            "options": "plan-options"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "level-5",
          "name": "Level 5 at its elevation",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "g + 3*t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "storey-5",
            "g": "ground",
            "t": "typical"
          }
        },
        {
          "id": "storey-6",
          "name": "Level 6",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.storey",
            "level": 6,
            "userAttributes": {
              "levelNumber": 6
            }
          },
          "inputs": {
            "storeys": "storeys",
            "ws": "ws",
            "es": "es",
            "height": "typical",
            "options": "plan-options"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "level-6",
          "name": "Level 6 at its elevation",
          "op": "move",
          "params": {
            "offset": [
              0,
              0,
              "g + 4*t"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "storey-6",
            "g": "ground",
            "t": "typical"
          }
        },
        {
          "id": "all-levels",
          "name": "Levels 2–6",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "level-2",
            "p1": "level-3",
            "p2": "level-4",
            "p3": "level-5",
            "p4": "level-6"
          }
        },
        {
          "id": "levels",
          "name": "Levels up to the storey count",
          "op": "query",
          "params": {
            "expression": "@levelNumber <= f"
          },
          "inputs": {
            "source": "all-levels",
            "f": "storeys"
          }
        },
        {
          "id": "assembly",
          "name": "Residential storeys",
          "op": "merge",
          "params": {
            "ports": [
              "p0"
            ]
          },
          "inputs": {
            "p0": "levels"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "ws",
          "label": "West wing setbacks",
          "kind": "number",
          "default": 1,
          "target": {
            "nodeId": "ws",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "es",
          "label": "East wing setbacks",
          "kind": "number",
          "default": 2,
          "target": {
            "nodeId": "es",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "storeys",
          "label": "Total storeys",
          "kind": "number",
          "default": 6,
          "target": {
            "nodeId": "storeys",
            "param": "value"
          },
          "ui": {
            "min": 5,
            "max": 6,
            "step": 1,
            "slider": {
              "min": 5,
              "max": 6
            }
          }
        },
        {
          "key": "ground",
          "label": "Ground floor-to-floor",
          "kind": "length",
          "default": 4.8768,
          "target": {
            "nodeId": "ground",
            "param": "value"
          },
          "ui": {
            "min": 4.2672,
            "max": 5.1816,
            "step": 0.3048
          }
        },
        {
          "key": "typical",
          "label": "Residential floor-to-floor",
          "kind": "length",
          "default": 3.3528,
          "target": {
            "nodeId": "typical",
            "param": "value"
          },
          "ui": {
            "min": 3.048,
            "max": 3.6576,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.plan-options",
        "terraces03.storey"
      ]
    },
    "terraces03.podium-envelope": {
      "id": "terraces03.podium-envelope",
      "name": "Level 1 · street envelope",
      "description": "Concrete piers on the 36 ft grid, a bronze storefront with mullions on a 6 ft module and glass doors to every shop, the lobby and the garden stair vestibule, and a solid service wall to the north.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "height",
          "name": "Storefront height",
          "op": "value",
          "params": {
            "value": 4.2672,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "piers-paths",
          "name": "Concrete piers on the grid · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "piers-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "piers-plane",
                "points": [
                  [
                    0,
                    0.3048,
                    0
                  ],
                  [
                    0.6096,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "piers-plane",
                "points": [
                  [
                    10.668,
                    0.3048,
                    0
                  ],
                  [
                    11.2776,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "piers-plane",
                "points": [
                  [
                    21.6408,
                    0.3048,
                    0
                  ],
                  [
                    22.2504,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "piers-plane",
                "points": [
                  [
                    32.6136,
                    0.3048,
                    0
                  ],
                  [
                    33.2232,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "piers-plane",
                "points": [
                  [
                    43.5864,
                    0.3048,
                    0
                  ],
                  [
                    44.196,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "piers-plane",
                "points": [
                  [
                    54.2544,
                    0.3048,
                    0
                  ],
                  [
                    54.864,
                    0.3048,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "piers-plane",
                "points": [
                  [
                    0.3048,
                    8.8392,
                    0
                  ],
                  [
                    0.3048,
                    9.4488,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "piers-plane",
                "points": [
                  [
                    54.5592,
                    8.8392,
                    0
                  ],
                  [
                    54.5592,
                    9.4488,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-8",
                "planeId": "piers-plane",
                "points": [
                  [
                    0.3048,
                    16.1544,
                    0
                  ],
                  [
                    0.3048,
                    16.764,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-9",
                "planeId": "piers-plane",
                "points": [
                  [
                    54.5592,
                    16.1544,
                    0
                  ],
                  [
                    54.5592,
                    16.764,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-10",
                "planeId": "piers-plane",
                "points": [
                  [
                    0.3048,
                    19.812,
                    0
                  ],
                  [
                    0.3048,
                    20.4216,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-11",
                "planeId": "piers-plane",
                "points": [
                  [
                    54.5592,
                    19.812,
                    0
                  ],
                  [
                    54.5592,
                    20.4216,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-12",
                "planeId": "piers-plane",
                "points": [
                  [
                    0.3048,
                    28.956,
                    0
                  ],
                  [
                    0.3048,
                    29.5656,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-13",
                "planeId": "piers-plane",
                "points": [
                  [
                    54.5592,
                    28.956,
                    0
                  ],
                  [
                    54.5592,
                    29.5656,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "piers",
          "name": "Concrete piers on the grid",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.6096,
            "join": "auto",
            "openings": [],
            "userAttributes": {
              "component": "structure",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "piers-paths",
            "h": "height"
          }
        },
        {
          "id": "storefront-paths",
          "name": "Bronze storefront frame · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "storefront-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "storefront-plane",
                "points": [
                  [
                    0.6096,
                    0.2286,
                    0
                  ],
                  [
                    10.668,
                    0.2286,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "storefront-plane",
                "points": [
                  [
                    11.2776,
                    0.2286,
                    0
                  ],
                  [
                    21.6408,
                    0.2286,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "storefront-plane",
                "points": [
                  [
                    22.2504,
                    0.2286,
                    0
                  ],
                  [
                    32.6136,
                    0.2286,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "storefront-plane",
                "points": [
                  [
                    33.2232,
                    0.2286,
                    0
                  ],
                  [
                    43.5864,
                    0.2286,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "storefront-plane",
                "points": [
                  [
                    44.196,
                    0.2286,
                    0
                  ],
                  [
                    54.2544,
                    0.2286,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "storefront-plane",
                "points": [
                  [
                    0.2286,
                    0.6096,
                    0
                  ],
                  [
                    0.2286,
                    8.8392,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "storefront-plane",
                "points": [
                  [
                    0.2286,
                    9.4488,
                    0
                  ],
                  [
                    0.2286,
                    16.1544,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "storefront-plane",
                "points": [
                  [
                    0.2286,
                    16.764,
                    0
                  ],
                  [
                    0.2286,
                    19.812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-8",
                "planeId": "storefront-plane",
                "points": [
                  [
                    0.2286,
                    20.4216,
                    0
                  ],
                  [
                    0.2286,
                    28.956,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-9",
                "planeId": "storefront-plane",
                "points": [
                  [
                    54.6354,
                    0.6096,
                    0
                  ],
                  [
                    54.6354,
                    8.8392,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-10",
                "planeId": "storefront-plane",
                "points": [
                  [
                    54.6354,
                    9.4488,
                    0
                  ],
                  [
                    54.6354,
                    16.1544,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-11",
                "planeId": "storefront-plane",
                "points": [
                  [
                    54.6354,
                    16.764,
                    0
                  ],
                  [
                    54.6354,
                    19.812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-12",
                "planeId": "storefront-plane",
                "points": [
                  [
                    54.6354,
                    20.4216,
                    0
                  ],
                  [
                    54.6354,
                    28.956,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "storefront",
          "name": "Bronze storefront frame",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.1524,
            "join": "auto",
            "openings": [
              {
                "id": "window-1",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.03632,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-2",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.2954,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-3",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.429,
                "width": 1.0668,
                "height": 2.4384,
                "planSymbol": "door-start-left"
              },
              {
                "id": "window-4",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.953,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-5",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 6.7818,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-6",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 8.6106,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-7",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-8",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-9",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-10",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 8.9154,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-11",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 2.4384,
                "width": 1.8288,
                "height": 2.4384,
                "planSymbol": "door-start-left"
              },
              {
                "id": "window-12",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-13",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-14",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.7338,
                "width": 1.0668,
                "height": 2.4384,
                "planSymbol": "door-start-left"
              },
              {
                "id": "window-15",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-16",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-17",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 8.9154,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-18",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-19",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-20",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.7338,
                "width": 1.0668,
                "height": 2.4384,
                "planSymbol": "door-start-left"
              },
              {
                "id": "window-21",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-22",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-23",
                "segmentKey": "segment:[[\"[\\\"path-3\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-3\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 8.9154,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-24",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-25",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-26",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 3.7338,
                "width": 1.0668,
                "height": 2.4384,
                "planSymbol": "door-start-left"
              },
              {
                "id": "window-27",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-28",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-29",
                "segmentKey": "segment:[[\"[\\\"path-4\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 8.9154,
                "width": 1.03632,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-30",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.03632,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-31",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.2954,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-32",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.1242,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-33",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.953,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-34",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 6.7818,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-35",
                "segmentKey": "segment:[[\"[\\\"path-6\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-36",
                "segmentKey": "segment:[[\"[\\\"path-6\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-37",
                "segmentKey": "segment:[[\"[\\\"path-6\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.429,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-38",
                "segmentKey": "segment:[[\"[\\\"path-6\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-39",
                "segmentKey": "segment:[[\"[\\\"path-7\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-40",
                "segmentKey": "segment:[[\"[\\\"path-7\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-41",
                "segmentKey": "segment:[[\"[\\\"path-8\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-42",
                "segmentKey": "segment:[[\"[\\\"path-8\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-43",
                "segmentKey": "segment:[[\"[\\\"path-8\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.429,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-44",
                "segmentKey": "segment:[[\"[\\\"path-8\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-45",
                "segmentKey": "segment:[[\"[\\\"path-8\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-8\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-46",
                "segmentKey": "segment:[[\"[\\\"path-9\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.03632,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-47",
                "segmentKey": "segment:[[\"[\\\"path-9\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.2954,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-48",
                "segmentKey": "segment:[[\"[\\\"path-9\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.1242,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-49",
                "segmentKey": "segment:[[\"[\\\"path-9\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 4.953,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-50",
                "segmentKey": "segment:[[\"[\\\"path-9\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 6.7818,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-51",
                "segmentKey": "segment:[[\"[\\\"path-10\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-52",
                "segmentKey": "segment:[[\"[\\\"path-10\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-53",
                "segmentKey": "segment:[[\"[\\\"path-10\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.429,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-54",
                "segmentKey": "segment:[[\"[\\\"path-10\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-10\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "door-55",
                "segmentKey": "segment:[[\"[\\\"path-11\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-11\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-11\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.3048,
                "width": 1.0668,
                "height": 2.4384,
                "planSymbol": "door-start-right"
              },
              {
                "id": "window-56",
                "segmentKey": "segment:[[\"[\\\"path-11\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-11\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-11\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-57",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 0.10668,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-58",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 1.6002,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-59",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 3.429,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-60",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 5.2578,
                "width": 1.6764,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              },
              {
                "id": "window-61",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "window",
                "offset": 7.0866,
                "width": 1.34112,
                "height": 3.2004,
                "sill": 0.3048,
                "planSymbol": "window"
              }
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "bronze"
            }
          },
          "inputs": {
            "source": "storefront-paths",
            "h": "height"
          }
        },
        {
          "id": "service-paths",
          "name": "Service wall · concrete · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "service-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "service-plane",
                "points": [
                  [
                    0.1524,
                    29.5656,
                    0
                  ],
                  [
                    0.1524,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "service-plane",
                "points": [
                  [
                    0.1524,
                    40.0812,
                    0
                  ],
                  [
                    54.7116,
                    40.0812,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "service-plane",
                "points": [
                  [
                    54.7116,
                    40.0812,
                    0
                  ],
                  [
                    54.7116,
                    29.5656,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "service",
          "name": "Service wall · concrete",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.3048,
            "join": "auto",
            "openings": [
              {
                "id": "maintenance",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.8768,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "trash",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 12.6492,
                "width": 1.8288,
                "height": 2.4384,
                "planSymbol": "door-start-right"
              },
              {
                "id": "loading",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 17.526,
                "width": 3.048,
                "height": 3.048,
                "planSymbol": "none"
              },
              {
                "id": "fire-riser",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 24.0792,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "water",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 29.5656,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "electrical",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 34.9758,
                "width": 1.0668,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "mechanical",
                "segmentKey": "segment:[[\"[\\\"path-1\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 45.5676,
                "width": 1.8288,
                "height": 2.4384,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "exterior-wall",
              "material": "concrete"
            }
          },
          "inputs": {
            "source": "service-paths",
            "h": "height"
          }
        },
        {
          "id": "glass-1a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 3.429,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              0.6096,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-1b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 5.5626,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              5.1054,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-2a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 2.4384,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              11.2776,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-2b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 6.096,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              15.5448,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-3a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 3.7338,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              22.2504,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-3b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 5.5626,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              27.051,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-4a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 3.7338,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              33.2232,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-4b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 5.5626,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              38.0238,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-5a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 3.7338,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              44.196,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-5b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 5.2578,
            "depth": 0.0254,
            "height": 3.2004,
            "origin": [
              48.9966,
              0.12192,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-6",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 8.2296,
            "height": 3.2004,
            "origin": [
              0.12192,
              0.6096,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-7",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 6.7056,
            "height": 3.2004,
            "origin": [
              0.12192,
              9.4488,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-8",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 3.048,
            "height": 3.2004,
            "origin": [
              0.12192,
              16.764,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-9",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 8.5344,
            "height": 3.2004,
            "origin": [
              0.12192,
              20.4216,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-10",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 8.2296,
            "height": 3.2004,
            "origin": [
              54.717696,
              0.6096,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-11",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 6.7056,
            "height": 3.2004,
            "origin": [
              54.717696,
              9.4488,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-12a",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 0.3048,
            "height": 3.2004,
            "origin": [
              54.717696,
              16.764,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-12b",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 1.6764,
            "height": 3.2004,
            "origin": [
              54.717696,
              18.1356,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-13",
          "name": "Storefront glass",
          "op": "box",
          "params": {
            "width": 0.0254,
            "depth": 8.5344,
            "height": 3.2004,
            "origin": [
              54.717696,
              20.4216,
              0.3048
            ],
            "userAttributes": {
              "component": "storefront",
              "material": "glass"
            }
          },
          "inputs": {}
        },
        {
          "id": "glass-group-1",
          "name": "Storefront glass 1",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8",
              "p9",
              "p10",
              "p11",
              "p12",
              "p13",
              "p14",
              "p15"
            ]
          },
          "inputs": {
            "p0": "glass-1a",
            "p1": "glass-1b",
            "p2": "glass-2a",
            "p3": "glass-2b",
            "p4": "glass-3a",
            "p5": "glass-3b",
            "p6": "glass-4a",
            "p7": "glass-4b",
            "p8": "glass-5a",
            "p9": "glass-5b",
            "p10": "glass-6",
            "p11": "glass-7",
            "p12": "glass-8",
            "p13": "glass-9",
            "p14": "glass-10",
            "p15": "glass-11"
          }
        },
        {
          "id": "glass-group-2",
          "name": "Storefront glass 2",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "glass-12a",
            "p1": "glass-12b",
            "p2": "glass-13"
          }
        },
        {
          "id": "glass",
          "name": "Storefront glass",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "glass-group-1",
            "p1": "glass-group-2"
          }
        },
        {
          "id": "assembly",
          "name": "Level 1 · street envelope",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3"
            ]
          },
          "inputs": {
            "p0": "piers",
            "p1": "storefront",
            "p2": "service",
            "p3": "glass"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "height",
          "label": "Storefront height",
          "kind": "length",
          "default": 4.2672,
          "target": {
            "nodeId": "height",
            "param": "value"
          },
          "ui": {
            "min": 3.6576,
            "max": 4.8768,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.podium": {
      "id": "terraces03.podium",
      "name": "Level 1 · podium",
      "description": "Type IA concrete podium: four shops, the residential lobby with mail and the elevator lobby, leasing and parcels, bikes, storage, co-work, loading and building services. Stair A discharges through the lobby; Stair B by a 2-hour passageway to the east street.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "ground",
          "name": "Ground floor-to-floor",
          "op": "value",
          "params": {
            "value": 4.8768,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "wallHeight",
          "name": "Podium wall height",
          "op": "value",
          "params": {
            "expression": "g - 2ft"
          },
          "inputs": {
            "g": "ground"
          }
        },
        {
          "id": "storeys",
          "name": "Total storeys",
          "op": "value",
          "params": {
            "value": 6
          },
          "inputs": {}
        },
        {
          "id": "slab",
          "name": "Slab on grade",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 40.2336,
            "height": 0.1524,
            "origin": [
              0,
              0,
              -0.1524
            ],
            "userAttributes": {
              "component": "slab",
              "material": "concrete"
            }
          },
          "inputs": {}
        },
        {
          "id": "massing",
          "name": "Podium massing",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 40.2336,
            "height": "g",
            "origin": [
              0,
              0,
              0
            ],
            "userAttributes": {
              "component": "massing",
              "material": "massing"
            }
          },
          "inputs": {
            "g": "ground"
          }
        },
        {
          "id": "envelope",
          "name": "Street envelope",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.podium-envelope"
          },
          "inputs": {
            "height": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "interior-paths",
          "name": "Rooms, retail and services · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "interior-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "interior-plane",
                "points": [
                  [
                    10.9728,
                    0.6096,
                    0
                  ],
                  [
                    10.9728,
                    20.1168,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "interior-plane",
                "points": [
                  [
                    0.6096,
                    16.4592,
                    0
                  ],
                  [
                    10.9728,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "interior-plane",
                "points": [
                  [
                    0.6096,
                    29.2608,
                    0
                  ],
                  [
                    10.9728,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "interior-plane",
                "points": [
                  [
                    10.9728,
                    29.3624,
                    0
                  ],
                  [
                    10.9728,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "interior-plane",
                "points": [
                  [
                    16.4592,
                    29.3624,
                    0
                  ],
                  [
                    16.4592,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "interior-plane",
                "points": [
                  [
                    18.3896,
                    29.2608,
                    0
                  ],
                  [
                    40.132,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "interior-plane",
                "points": [
                  [
                    21.9456,
                    0.6096,
                    0
                  ],
                  [
                    21.9456,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "interior-plane",
                "points": [
                  [
                    21.9456,
                    29.2608,
                    0
                  ],
                  [
                    21.9456,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-8",
                "planeId": "interior-plane",
                "points": [
                  [
                    27.432,
                    29.2608,
                    0
                  ],
                  [
                    27.432,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-9",
                "planeId": "interior-plane",
                "points": [
                  [
                    32.9184,
                    29.2608,
                    0
                  ],
                  [
                    32.9184,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-10",
                "planeId": "interior-plane",
                "points": [
                  [
                    38.4048,
                    29.2608,
                    0
                  ],
                  [
                    38.4048,
                    39.9288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-11",
                "planeId": "interior-plane",
                "points": [
                  [
                    43.8912,
                    29.2608,
                    0
                  ],
                  [
                    54.2544,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-12",
                "planeId": "interior-plane",
                "points": [
                  [
                    18.288,
                    0.3048,
                    0
                  ],
                  [
                    18.288,
                    12.8016,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-13",
                "planeId": "interior-plane",
                "points": [
                  [
                    18.288,
                    12.8016,
                    0
                  ],
                  [
                    21.9456,
                    12.8016,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-14",
                "planeId": "interior-plane",
                "points": [
                  [
                    32.9184,
                    0.6096,
                    0
                  ],
                  [
                    32.9184,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-15",
                "planeId": "interior-plane",
                "points": [
                  [
                    43.8912,
                    0.6096,
                    0
                  ],
                  [
                    43.8912,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-16",
                "planeId": "interior-plane",
                "points": [
                  [
                    21.9456,
                    16.4592,
                    0
                  ],
                  [
                    54.2544,
                    16.4592,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-17",
                "planeId": "interior-plane",
                "points": [
                  [
                    21.9456,
                    18.288,
                    0
                  ],
                  [
                    40.2336,
                    18.288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-18",
                "planeId": "interior-plane",
                "points": [
                  [
                    43.8912,
                    18.288,
                    0
                  ],
                  [
                    54.5592,
                    18.288,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-19",
                "planeId": "interior-plane",
                "points": [
                  [
                    40.2336,
                    18.288,
                    0
                  ],
                  [
                    40.2336,
                    20.1168,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-20",
                "planeId": "interior-plane",
                "points": [
                  [
                    43.8912,
                    18.288,
                    0
                  ],
                  [
                    43.8912,
                    20.1168,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-21",
                "planeId": "interior-plane",
                "points": [
                  [
                    32.9184,
                    18.288,
                    0
                  ],
                  [
                    32.9184,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "interior",
          "name": "Rooms, retail and services",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "leasing",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.3716,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "maintenance",
                "segmentKey": "segment:[[\"[\\\"path-2\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-2\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 4.4196,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "move-in",
                "segmentKey": "segment:[[\"[\\\"path-5\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-5\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.1176,
                "width": 1.2192,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "bikes",
                "segmentKey": "segment:[[\"[\\\"path-6\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-17\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-6\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-7\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.6388,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "garden-vestibule",
                "segmentKey": "segment:[[\"[\\\"path-12\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-12\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-13\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.42672,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              },
              {
                "id": "retail-b-rear",
                "segmentKey": "segment:[[\"[\\\"path-16\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-14\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-16\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.0292,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "retail-c-rear",
                "segmentKey": "segment:[[\"[\\\"path-16\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-14\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-15\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.0292,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "retail-d-rear",
                "segmentKey": "segment:[[\"[\\\"path-16\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-15\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-16\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.0292,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "co-work",
                "segmentKey": "segment:[[\"[\\\"path-18\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-18\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-20\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-18\\\\\\\",\\\\\\\"b\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 1.3716,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-left"
              },
              {
                "id": "storage",
                "segmentKey": "segment:[[\"[\\\"path-21\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-21\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-21\\\\\\\",\\\\\\\"b\\\\\\\"]\\\",\\\"[\\\\\\\"path-9\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 5.0292,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "demising-wall",
              "material": "wall"
            }
          },
          "inputs": {
            "source": "interior-paths",
            "h": "wallHeight"
          }
        },
        {
          "id": "core-a",
          "name": "Core A · ground storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.core-a-ground",
            "userAttributes": {
              "component": "core"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-b",
          "name": "Stair B · ground storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.core-b-ground",
            "userAttributes": {
              "component": "core"
            }
          },
          "inputs": {
            "wallHeight": "wallHeight"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-a-flight",
          "name": "Stair A · ground storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.exit-stair",
            "userAttributes": {
              "component": "stair"
            }
          },
          "inputs": {
            "rise": "ground"
          },
          "placement": {
            "offset": [
              13.1064,
              23.9268,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-b-flight",
          "name": "Stair B · ground storey",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.exit-stair",
            "userAttributes": {
              "component": "stair"
            }
          },
          "inputs": {
            "rise": "ground"
          },
          "placement": {
            "offset": [
              42.9768,
              21.4884,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "garden-stair",
          "name": "Garden stair",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.garden-stair"
          },
          "inputs": {
            "rise": "ground"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "rooms",
          "name": "Level 1 rooms",
          "op": "rooms",
          "params": {
            "version": 1,
            "elevation": 0,
            "walls": [
              "w1",
              "w2",
              "w3",
              "w4"
            ],
            "rooms": [
              {
                "id": "retail-a",
                "name": "Retail A",
                "number": "",
                "program": "Retail",
                "seed": [
                  5.4864,
                  8.2296
                ]
              },
              {
                "id": "leasing",
                "name": "Leasing and parcels",
                "number": "",
                "program": "Residential support",
                "seed": [
                  5.4864,
                  22.86
                ]
              },
              {
                "id": "lobby",
                "name": "Residential lobby · mail",
                "number": "",
                "program": "Lobby",
                "seed": [
                  14.6304,
                  9.144
                ]
              },
              {
                "id": "retail-b",
                "name": "Retail B",
                "number": "",
                "program": "Retail",
                "seed": [
                  27.432,
                  8.2296
                ]
              },
              {
                "id": "retail-c",
                "name": "Retail C",
                "number": "",
                "program": "Retail",
                "seed": [
                  38.4048,
                  8.2296
                ]
              },
              {
                "id": "retail-d",
                "name": "Retail D",
                "number": "",
                "program": "Retail",
                "seed": [
                  49.3776,
                  8.2296
                ]
              },
              {
                "id": "bikes",
                "name": "Bike room",
                "number": "",
                "program": "Residential support",
                "seed": [
                  27.432,
                  23.7744
                ]
              },
              {
                "id": "storage",
                "name": "Resident storage",
                "number": "",
                "program": "Residential support",
                "seed": [
                  36.576,
                  23.7744
                ]
              },
              {
                "id": "flex",
                "name": "Co-work and flex",
                "number": "",
                "program": "Amenity",
                "seed": [
                  49.3776,
                  23.7744
                ]
              },
              {
                "id": "maintenance",
                "name": "Maintenance",
                "number": "",
                "program": "Service",
                "seed": [
                  5.4864,
                  34.7472
                ]
              },
              {
                "id": "trash",
                "name": "Trash and recycling",
                "number": "",
                "program": "Service",
                "seed": [
                  13.716,
                  34.7472
                ]
              },
              {
                "id": "loading",
                "name": "Move-in and loading",
                "number": "",
                "program": "Service",
                "seed": [
                  19.2024,
                  34.7472
                ]
              },
              {
                "id": "fire",
                "name": "Fire riser and pump",
                "number": "",
                "program": "Service",
                "seed": [
                  24.6888,
                  34.7472
                ]
              },
              {
                "id": "water",
                "name": "Domestic water",
                "number": "",
                "program": "Service",
                "seed": [
                  30.1752,
                  34.7472
                ]
              },
              {
                "id": "electrical",
                "name": "Electrical and MPOE",
                "number": "",
                "program": "Service",
                "seed": [
                  35.6616,
                  34.7472
                ]
              },
              {
                "id": "mechanical",
                "name": "Mechanical",
                "number": "",
                "program": "Service",
                "seed": [
                  46.6344,
                  34.7472
                ]
              },
              {
                "id": "passageway",
                "name": "Exit passageway",
                "number": "",
                "program": "Egress",
                "seed": [
                  30.48,
                  17.3736
                ]
              },
              {
                "id": "garden-stair",
                "name": "Garden stair",
                "number": "",
                "program": "Circulation",
                "seed": [
                  20.1168,
                  6.096
                ]
              }
            ]
          },
          "inputs": {
            "w1": "envelope",
            "w2": "interior",
            "w3": "core-a",
            "w4": "stair-b"
          }
        },
        {
          "id": "assembly",
          "name": "Level 1 · podium",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8",
              "p9"
            ]
          },
          "inputs": {
            "p0": "slab",
            "p1": "massing",
            "p2": "envelope",
            "p3": "interior",
            "p4": "core-a",
            "p5": "stair-b",
            "p6": "stair-a-flight",
            "p7": "stair-b-flight",
            "p8": "garden-stair",
            "p9": "rooms"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "ground",
          "label": "Ground floor-to-floor",
          "kind": "length",
          "default": 4.8768,
          "target": {
            "nodeId": "ground",
            "param": "value"
          },
          "ui": {
            "min": 4.2672,
            "max": 5.1816,
            "step": 0.3048
          }
        }
      ],
      "dependencies": [
        "terraces03.podium-envelope",
        "terraces03.core-a-ground",
        "terraces03.core-b-ground",
        "terraces03.exit-stair",
        "terraces03.garden-stair"
      ]
    },
    "terraces03.garden-stair": {
      "id": "terraces03.garden-stair",
      "name": "Garden stair · street to courtyard",
      "description": "Exterior stair in an open slot beside the lobby. Its first riser is 6 ft behind the storefront, inside a glazed vestibule entered only from the lobby. Two flights of 15 risers (6.4 in at the default 16 ft ground floor, never over 7 in in the 14–17 ft range), 12 in treads, an 8 ft landing.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "rise",
          "name": "Ground floor-to-floor",
          "op": "value",
          "params": {
            "value": 4.8768,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "lower-layout",
          "name": "Lower flight · 15 risers",
          "op": "stair",
          "params": {
            "version": 1,
            "layout": "straight",
            "turn": "left",
            "countMode": "fixed-count",
            "runMode": "fixed-going",
            "bottomElevation": 0,
            "topElevation": "r / 2",
            "targetRiser": 0.1778,
            "riserCount": 15,
            "firstFlightRisers": 0,
            "width": 3.048,
            "going": 0.3048,
            "landingDepth": 0.9144,
            "wellWidth": 0,
            "availableRun": 0,
            "originX": 0,
            "originY": 0,
            "angle": 90,
            "headroom": 2.032,
            "includeTopLanding": false,
            "includeBottomLanding": false
          },
          "inputs": {
            "r": "rise"
          }
        },
        {
          "id": "lower-treads",
          "name": "Lower flight · stone treads, one riser deep",
          "op": "extrude",
          "params": {
            "height": "-(r / 30)",
            "regionMode": "each",
            "userAttributes": {
              "component": "garden-stair",
              "material": "limestone"
            }
          },
          "inputs": {
            "profile": "lower-layout",
            "r": "rise"
          }
        },
        {
          "id": "lower",
          "name": "Lower flight in the slot",
          "op": "move",
          "params": {
            "offset": [
              20.1168,
              1.8288,
              "0ft"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "lower-treads",
            "r": "rise"
          }
        },
        {
          "id": "landing",
          "name": "Mid landing · 8 ft",
          "op": "box",
          "params": {
            "width": 3.048,
            "depth": 2.4384,
            "height": 0.1778,
            "origin": [
              18.5928,
              6.096,
              "r/2 - 7in"
            ],
            "userAttributes": {
              "component": "garden-stair",
              "material": "limestone"
            }
          },
          "inputs": {
            "r": "rise"
          }
        },
        {
          "id": "upper-layout",
          "name": "Upper flight · 15 risers",
          "op": "stair",
          "params": {
            "version": 1,
            "layout": "straight",
            "turn": "left",
            "countMode": "fixed-count",
            "runMode": "fixed-going",
            "bottomElevation": 0,
            "topElevation": "r / 2",
            "targetRiser": 0.1778,
            "riserCount": 15,
            "firstFlightRisers": 0,
            "width": 3.048,
            "going": 0.3048,
            "landingDepth": 0.9144,
            "wellWidth": 0,
            "availableRun": 0,
            "originX": 0,
            "originY": 0,
            "angle": 90,
            "headroom": 2.032,
            "includeTopLanding": false,
            "includeBottomLanding": false
          },
          "inputs": {
            "r": "rise"
          }
        },
        {
          "id": "upper-treads",
          "name": "Upper flight · stone treads, one riser deep",
          "op": "extrude",
          "params": {
            "height": "-(r / 30)",
            "regionMode": "each",
            "userAttributes": {
              "component": "garden-stair",
              "material": "limestone"
            }
          },
          "inputs": {
            "profile": "upper-layout",
            "r": "rise"
          }
        },
        {
          "id": "upper",
          "name": "Upper flight in the slot",
          "op": "move",
          "params": {
            "offset": [
              20.1168,
              8.5344,
              "r / 2"
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "upper-treads",
            "r": "rise"
          }
        },
        {
          "id": "assembly",
          "name": "Garden stair · street to courtyard",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2"
            ]
          },
          "inputs": {
            "p0": "lower",
            "p1": "landing",
            "p2": "upper"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "rise",
          "label": "Ground floor-to-floor",
          "kind": "length",
          "default": 4.8768,
          "target": {
            "nodeId": "rise",
            "param": "value"
          },
          "ui": {
            "min": 4.2672,
            "max": 5.1816,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.garden": {
      "id": "terraces03.garden",
      "name": "Raised courtyard garden",
      "description": "The podium roof: a 2 ft transfer deck with the garden stair opening and shaft voids, pavers, planters kept clear of every guard, trees, and guards at the street edge and around the stair opening.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "deck-solid",
          "name": "Podium transfer deck · 2 ft",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 40.2336,
            "height": 0.6096,
            "origin": [
              0,
              0,
              -0.6096
            ],
            "userAttributes": {
              "component": "slab",
              "material": "concrete"
            }
          },
          "inputs": {}
        },
        {
          "id": "stair-opening",
          "name": "Garden stair opening",
          "op": "box",
          "params": {
            "width": 3.4544,
            "depth": 10.9728,
            "height": 1.2192,
            "origin": [
              18.3896,
              1.8288,
              -0.9144
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-stair-a",
          "name": "Stair A flights",
          "op": "box",
          "params": {
            "width": 2.7432,
            "depth": 5.2324,
            "height": 1.2192,
            "origin": [
              11.176,
              23.9268,
              -0.9144
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-stair-b",
          "name": "Stair B flights",
          "op": "box",
          "params": {
            "width": 3.3528,
            "depth": 5.2324,
            "height": 1.2192,
            "origin": [
              40.3352,
              21.4884,
              -0.9144
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-lifts",
          "name": "Elevator hoistways",
          "op": "box",
          "params": {
            "width": 2.2352,
            "depth": 5.2832,
            "height": 1.2192,
            "origin": [
              15.9512,
              23.876,
              -0.9144
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "void-chute",
          "name": "Trash chute",
          "op": "box",
          "params": {
            "width": 1.6256,
            "depth": 2.2352,
            "height": 1.2192,
            "origin": [
              14.1224,
              26.924,
              -0.9144
            ],
            "userAttributes": {
              "component": "void"
            }
          },
          "inputs": {}
        },
        {
          "id": "voids",
          "name": "Openings through the deck",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "stair-opening",
            "p1": "void-stair-a",
            "p2": "void-stair-b",
            "p3": "void-lifts",
            "p4": "void-chute"
          }
        },
        {
          "id": "deck",
          "name": "Deck with openings",
          "op": "boolean",
          "params": {
            "mode": "cut",
            "collection": {
              "version": 1,
              "kind": "each-a-all-b"
            },
            "userAttributes": {
              "component": "slab",
              "material": "concrete"
            }
          },
          "inputs": {
            "a": "deck-solid",
            "b": "voids"
          }
        },
        {
          "id": "pavers",
          "name": "Garden pavers",
          "op": "box",
          "params": {
            "width": 7.0866,
            "depth": 19.812,
            "height": 0.0762,
            "origin": [
              11.1252,
              0.1524,
              0
            ],
            "userAttributes": {
              "component": "landscape",
              "material": "paver"
            }
          },
          "inputs": {}
        },
        {
          "id": "pavers-east",
          "name": "Garden pavers",
          "op": "box",
          "params": {
            "width": 21.6408,
            "depth": 19.812,
            "height": 0.0762,
            "origin": [
              22.098,
              0.1524,
              0
            ],
            "userAttributes": {
              "component": "landscape",
              "material": "paver"
            }
          },
          "inputs": {}
        },
        {
          "id": "pavers-arrival",
          "name": "Garden stair arrival",
          "op": "box",
          "params": {
            "width": 3.5052,
            "depth": 7.0104,
            "height": 0.0762,
            "origin": [
              18.4404,
              12.954,
              0
            ],
            "userAttributes": {
              "component": "landscape",
              "material": "paver"
            }
          },
          "inputs": {}
        },
        {
          "id": "planter",
          "name": "Planter and bench",
          "op": "box",
          "params": {
            "width": 6.096,
            "depth": 2.4384,
            "height": 0.4572,
            "origin": [
              0,
              0,
              0.0762
            ],
            "userAttributes": {
              "component": "landscape",
              "material": "limestone"
            }
          },
          "inputs": {}
        },
        {
          "id": "planting",
          "name": "Planting",
          "op": "box",
          "params": {
            "width": 5.7912,
            "depth": 2.1336,
            "height": 0.12192,
            "origin": [
              0.1524,
              0.1524,
              0.5334
            ],
            "userAttributes": {
              "component": "landscape",
              "material": "planting"
            }
          },
          "inputs": {}
        },
        {
          "id": "bed",
          "name": "Planted bed",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "planter",
            "p1": "planting"
          }
        },
        {
          "id": "beds",
          "name": "Planted beds, 5 ft clear of guards",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              0,
              6.7056,
              0
            ]
          },
          "inputs": {
            "source": "bed"
          }
        },
        {
          "id": "west-beds",
          "name": "West garden beds",
          "op": "move",
          "params": {
            "offset": [
              11.2776,
              4.8768,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "beds"
          }
        },
        {
          "id": "east-beds",
          "name": "East garden beds",
          "op": "move",
          "params": {
            "offset": [
              30.48,
              4.8768,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "beds"
          }
        },
        {
          "id": "trunk",
          "name": "Tree trunk",
          "op": "cylinder",
          "params": {
            "radius": 0.12192,
            "height": 1.78308,
            "origin": [
              3.048,
              1.2192,
              0.65532
            ],
            "userAttributes": {
              "component": "tree",
              "material": "wood"
            }
          },
          "inputs": {}
        },
        {
          "id": "crown",
          "name": "Tree crown",
          "op": "cylinder",
          "params": {
            "radius": 1.8288,
            "height": 1.8288,
            "origin": [
              3.048,
              1.2192,
              2.4384
            ],
            "userAttributes": {
              "component": "tree",
              "material": "foliage"
            }
          },
          "inputs": {}
        },
        {
          "id": "tree",
          "name": "Garden tree",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1"
            ]
          },
          "inputs": {
            "p0": "trunk",
            "p1": "crown"
          }
        },
        {
          "id": "trees",
          "name": "Trees in the beds",
          "op": "array",
          "params": {
            "count": 2,
            "step": [
              0,
              6.7056,
              0
            ]
          },
          "inputs": {
            "source": "tree"
          }
        },
        {
          "id": "west-trees",
          "name": "West trees",
          "op": "move",
          "params": {
            "offset": [
              11.2776,
              4.8768,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "trees"
          }
        },
        {
          "id": "east-trees",
          "name": "East trees",
          "op": "move",
          "params": {
            "offset": [
              30.48,
              4.8768,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          },
          "inputs": {
            "source": "trees"
          }
        },
        {
          "id": "street-guard",
          "name": "Street edge guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 32.9184
          },
          "inputs": {},
          "placement": {
            "offset": [
              10.9728,
              0.0762,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-guard-south",
          "name": "Stair opening guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 3.4544
          },
          "inputs": {},
          "placement": {
            "offset": [
              18.3896,
              1.7526,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-guard-west",
          "name": "Stair opening guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 10.9728
          },
          "inputs": {},
          "placement": {
            "offset": [
              18.288,
              1.8288,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "stair-guard-east",
          "name": "Stair opening guard",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.guard",
            "length": 10.9728
          },
          "inputs": {},
          "placement": {
            "offset": [
              21.9456,
              1.8288,
              0
            ],
            "angle": 90,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "guards",
          "name": "Garden guards",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3"
            ]
          },
          "inputs": {
            "p0": "street-guard",
            "p1": "stair-guard-south",
            "p2": "stair-guard-west",
            "p3": "stair-guard-east"
          }
        },
        {
          "id": "assembly",
          "name": "Raised courtyard garden",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8"
            ]
          },
          "inputs": {
            "p0": "deck",
            "p1": "pavers",
            "p2": "pavers-east",
            "p3": "pavers-arrival",
            "p4": "west-beds",
            "p5": "east-beds",
            "p6": "west-trees",
            "p7": "east-trees",
            "p8": "guards"
          }
        }
      ],
      "output": "assembly",
      "inputs": [],
      "dependencies": [
        "terraces03.guard"
      ]
    },
    "terraces03.roof": {
      "id": "terraces03.roof",
      "name": "Roof, parapets and penthouse",
      "description": "A 3 ft 6 in limestone parapet follows the top-floor outline. One penthouse over Core A holds the roof-access stair and the elevator overrun, 8 ft back from the courtyard parapet and 36 ft from the street parapets.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "ws",
          "name": "West wing setbacks",
          "op": "value",
          "params": {
            "value": 1
          },
          "inputs": {}
        },
        {
          "id": "es",
          "name": "East wing setbacks",
          "op": "value",
          "params": {
            "value": 2
          },
          "inputs": {}
        },
        {
          "id": "west-parapet",
          "name": "West parapet",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": "131ft - (30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0))",
            "height": 1.0668,
            "origin": [
              0,
              "30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0)",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "west-end-parapet",
          "name": "West wing end parapet",
          "op": "box",
          "params": {
            "width": 10.668,
            "depth": 0.3048,
            "height": 1.0668,
            "origin": [
              0.3048,
              "30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0)",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "west-court-parapet",
          "name": "West courtyard parapet",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": "65ft - (30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0))",
            "height": 1.0668,
            "origin": [
              10.668,
              "30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0) + 1ft",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "east-parapet",
          "name": "East parapet",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": "131ft - (30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0))",
            "height": 1.0668,
            "origin": [
              54.5592,
              "30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0)",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "east-end-parapet",
          "name": "East wing end parapet",
          "op": "box",
          "params": {
            "width": 10.668,
            "depth": 0.3048,
            "height": 1.0668,
            "origin": [
              43.8912,
              "30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0)",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "east-court-parapet",
          "name": "East courtyard parapet",
          "op": "box",
          "params": {
            "width": 0.3048,
            "depth": "65ft - (30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0))",
            "height": 1.0668,
            "origin": [
              43.8912,
              "30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0) + 1ft",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "court-parapet",
          "name": "North bar courtyard parapet",
          "op": "box",
          "params": {
            "width": 32.9184,
            "depth": 0.3048,
            "height": 1.0668,
            "origin": [
              10.9728,
              20.1168,
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {}
        },
        {
          "id": "north-parapet",
          "name": "North parapet",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 0.3048,
            "height": 1.0668,
            "origin": [
              0,
              39.9288,
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {}
        },
        {
          "id": "green-north",
          "name": "Green roof",
          "op": "box",
          "params": {
            "width": 34.1376,
            "depth": 7.9248,
            "height": 0.1524,
            "origin": [
              19.5072,
              31.0896,
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "planting"
            }
          },
          "inputs": {}
        },
        {
          "id": "green-west",
          "name": "Green roof",
          "op": "box",
          "params": {
            "width": 8.5344,
            "depth": "58ft - (30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0))",
            "height": 0.1524,
            "origin": [
              1.2192,
              "30ft*min(min(ws, 2),1) + 24ft*max(min(ws, 2)-1,0) + 4ft",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "planting"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "green-east",
          "name": "Green roof",
          "op": "box",
          "params": {
            "width": 8.5344,
            "depth": "58ft - (30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0))",
            "height": 0.1524,
            "origin": [
              45.1104,
              "30ft*min(min(es, 2),1) + 24ft*max(min(es, 2)-1,0) + 4ft",
              0
            ],
            "userAttributes": {
              "component": "roof",
              "material": "planting"
            }
          },
          "inputs": {
            "ws": "ws",
            "es": "es"
          }
        },
        {
          "id": "cap-stair-b",
          "name": "Roof over Stair B",
          "op": "box",
          "params": {
            "width": 3.3528,
            "depth": 5.2324,
            "height": 0.3556,
            "origin": [
              40.3352,
              21.4884,
              -0.3556
            ],
            "userAttributes": {
              "component": "slab",
              "material": "concrete"
            }
          },
          "inputs": {}
        },
        {
          "id": "cap-chute",
          "name": "Chute vent cap",
          "op": "box",
          "params": {
            "width": 1.6256,
            "depth": 2.2352,
            "height": 0.9652,
            "origin": [
              14.1224,
              26.924,
              -0.3556
            ],
            "userAttributes": {
              "component": "roof",
              "material": "concrete"
            }
          },
          "inputs": {}
        },
        {
          "id": "penthouse-height",
          "name": "Penthouse height",
          "op": "value",
          "params": {
            "value": 3.6576,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "penthouse-walls-paths",
          "name": "Penthouse · stair and elevator overrun · paths",
          "op": "sketch",
          "params": {
            "plane": {
              "id": "penthouse-walls-plane",
              "origin": [
                0,
                0,
                0
              ],
              "xAxis": [
                1,
                0,
                0
              ],
              "yAxis": [
                0,
                1,
                0
              ]
            },
            "strokes": [
              {
                "id": "path-0",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    11.0744,
                    22.5552,
                    0
                  ],
                  [
                    18.288,
                    22.5552,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-1",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    11.0744,
                    22.5552,
                    0
                  ],
                  [
                    11.0744,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-2",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    11.0744,
                    29.2608,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-3",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    18.288,
                    22.5552,
                    0
                  ],
                  [
                    18.288,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-4",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    14.0208,
                    22.5552,
                    0
                  ],
                  [
                    14.0208,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-5",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    15.8496,
                    23.7744,
                    0
                  ],
                  [
                    18.288,
                    23.7744,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-6",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    15.8496,
                    23.7744,
                    0
                  ],
                  [
                    15.8496,
                    29.2608,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              },
              {
                "id": "path-7",
                "planeId": "penthouse-walls-plane",
                "points": [
                  [
                    15.8496,
                    26.5176,
                    0
                  ],
                  [
                    18.288,
                    26.5176,
                    0
                  ]
                ],
                "vertexIds": [
                  "a",
                  "b"
                ],
                "closed": false
              }
            ]
          },
          "inputs": {}
        },
        {
          "id": "penthouse-walls",
          "name": "Penthouse · stair and elevator overrun",
          "op": "walls",
          "params": {
            "height": "h",
            "thickness": 0.2032,
            "join": "auto",
            "openings": [
              {
                "id": "roof-access",
                "segmentKey": "segment:[[\"[\\\"path-0\\\",\\\"a\\\",\\\"b\\\"]\"],[\"vertex:[\\\"[\\\\\\\"path-0\\\\\\\",\\\\\\\"a\\\\\\\"]\\\",\\\"[\\\\\\\"path-1\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\",\"vertex:[\\\"[\\\\\\\"path-4\\\\\\\",\\\\\\\"a\\\\\\\"]\\\"]\"]]",
                "kind": "door",
                "offset": 0.9652,
                "width": 0.9144,
                "height": 2.1336,
                "planSymbol": "door-start-right"
              }
            ],
            "userAttributes": {
              "component": "core",
              "material": "limestone"
            }
          },
          "inputs": {
            "source": "penthouse-walls-paths",
            "h": "penthouse-height"
          }
        },
        {
          "id": "penthouse-roof",
          "name": "Penthouse roof",
          "op": "box",
          "params": {
            "width": 7.3152,
            "depth": 6.7056,
            "height": 0.3048,
            "origin": [
              10.9728,
              22.5552,
              3.6576
            ],
            "userAttributes": {
              "component": "roof",
              "material": "limestone"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Roof, parapets and penthouse",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4",
              "p5",
              "p6",
              "p7",
              "p8",
              "p9",
              "p10",
              "p11",
              "p12",
              "p13",
              "p14"
            ]
          },
          "inputs": {
            "p0": "west-parapet",
            "p1": "west-end-parapet",
            "p2": "west-court-parapet",
            "p3": "east-parapet",
            "p4": "east-end-parapet",
            "p5": "east-court-parapet",
            "p6": "court-parapet",
            "p7": "north-parapet",
            "p8": "green-north",
            "p9": "green-west",
            "p10": "green-east",
            "p11": "cap-stair-b",
            "p12": "cap-chute",
            "p13": "penthouse-walls",
            "p14": "penthouse-roof"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "ws",
          "label": "West wing setbacks",
          "kind": "number",
          "default": 1,
          "target": {
            "nodeId": "ws",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        },
        {
          "key": "es",
          "label": "East wing setbacks",
          "kind": "number",
          "default": 2,
          "target": {
            "nodeId": "es",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 2,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 2
            }
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.canopy-bay": {
      "id": "terraces03.canopy-bay",
      "name": "Wave canopy bay · one 36 ft structural bay",
      "description": "36 bronze blades at 12 in. Each blade reads the canopy's two cosine waves at its own position along the street, measured from the centre of the 180 ft canopy: one wave sets its projection, one its pitch. Pitch is limited so every tip keeps 8 ft clear over the sidewalk (IBC 3202.3.1).",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "projection",
          "name": "Base projection",
          "op": "value",
          "params": {
            "value": 3.048,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "ground",
          "name": "Ground floor-to-floor",
          "op": "value",
          "params": {
            "value": 4.8768,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "length-amplitude",
          "name": "Projection wave · amplitude",
          "op": "value",
          "params": {
            "value": 0.9144,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "length-waves",
          "name": "Projection wave · waves along the canopy",
          "op": "value",
          "params": {
            "value": 1
          },
          "inputs": {}
        },
        {
          "id": "angle-amplitude",
          "name": "Pitch wave · amplitude (degrees)",
          "op": "value",
          "params": {
            "value": 12
          },
          "inputs": {}
        },
        {
          "id": "angle-waves",
          "name": "Pitch wave · waves along the canopy",
          "op": "value",
          "params": {
            "value": 2
          },
          "inputs": {}
        },
        {
          "id": "start",
          "name": "Bay start along the street",
          "op": "value",
          "params": {
            "value": 0,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "span",
          "name": "Canopy length",
          "op": "value",
          "params": {
            "value": 54.864,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "blades",
          "name": "Wave blades",
          "op": "script",
          "params": {
            "source": "const blades = [];\nconst mount = ground - 3ft;\nconst half = 7in;\nfor (let i = 0; i < count; i++) {\n  const x = start + (i + 0.5) * spacing;\n  const phase = (x - span / 2) / span;\n  const reach = max(projection + lengthAmplitude * cos(360deg * lengthWaves * phase), 2ft);\n  const length = reach - 6in;\n  const wanted = angleAmplitude * 1deg * cos(360deg * angleWaves * phase);\n  const lowest = -1 * asin(clamp((mount - 8ft) / length, 0, 1));\n  const pitch = max(wanted, lowest);\n  // Turned half a revolution the blade points to the street; the pitch lifts its tip about its mid-depth hinge.\n  const turned = ops.rotate(ops.box(1in, length, 14in), 180deg - pitch, [1, 0, 0]);\n  blades.push(ops.move(turned, [x - 0.5in, half * sin(pitch) - 6in, mount + half + half * cos(pitch)]));\n}\nreturn {blades: blades};",
            "inputSchema": {
              "count": "number",
              "spacing": "length",
              "start": "length",
              "span": "length",
              "projection": "length",
              "ground": "length",
              "lengthAmplitude": "length",
              "lengthWaves": "number",
              "angleAmplitude": "number",
              "angleWaves": "number"
            },
            "outputSchema": {
              "blades": {
                "list": "geometry"
              }
            },
            "values": {
              "count": 36,
              "spacing": {
                "value": 0.3048,
                "dimension": "length"
              }
            },
            "userAttributes": {
              "component": "canopy",
              "material": "bronze"
            }
          },
          "inputs": {
            "start": "start",
            "span": "span",
            "projection": "projection",
            "ground": "ground",
            "lengthAmplitude": "length-amplitude",
            "lengthWaves": "length-waves",
            "angleAmplitude": "angle-amplitude",
            "angleWaves": "angle-waves"
          }
        },
        {
          "id": "assembly",
          "name": "Wave canopy bay · one 36 ft structural bay",
          "op": "merge",
          "params": {
            "ports": [
              "p0"
            ]
          },
          "inputs": {
            "p0": "blades"
          }
        }
      ],
      "output": "assembly",
      "inputs": [
        {
          "key": "projection",
          "label": "Base projection",
          "kind": "length",
          "default": 3.048,
          "target": {
            "nodeId": "projection",
            "param": "value"
          },
          "ui": {
            "min": 1.8288,
            "max": 4.2672,
            "step": 0.3048
          }
        },
        {
          "key": "ground",
          "label": "Ground floor-to-floor",
          "kind": "length",
          "default": 4.8768,
          "target": {
            "nodeId": "ground",
            "param": "value"
          },
          "ui": {
            "min": 4.2672,
            "max": 5.1816,
            "step": 0.3048
          }
        },
        {
          "key": "length-amplitude",
          "label": "Projection wave · amplitude",
          "kind": "length",
          "default": 0.9144,
          "target": {
            "nodeId": "length-amplitude",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 1.2192,
            "step": 0.3048
          }
        },
        {
          "key": "length-waves",
          "label": "Projection wave · waves along the canopy",
          "kind": "number",
          "default": 1,
          "target": {
            "nodeId": "length-waves",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 4,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 4
            }
          }
        },
        {
          "key": "angle-amplitude",
          "label": "Pitch wave · amplitude (degrees)",
          "kind": "number",
          "default": 12,
          "target": {
            "nodeId": "angle-amplitude",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 30,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 30
            }
          }
        },
        {
          "key": "angle-waves",
          "label": "Pitch wave · waves along the canopy",
          "kind": "number",
          "default": 2,
          "target": {
            "nodeId": "angle-waves",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 4,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 4
            }
          }
        },
        {
          "key": "start",
          "label": "Bay start along the street",
          "kind": "length",
          "default": 0,
          "target": {
            "nodeId": "start",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 54.864,
            "step": 0.3048
          }
        },
        {
          "key": "span",
          "label": "Canopy length",
          "kind": "length",
          "default": 54.864,
          "target": {
            "nodeId": "span",
            "param": "value"
          },
          "ui": {
            "min": 10.9728,
            "max": 109.728,
            "step": 0.3048
          }
        }
      ],
      "dependencies": []
    },
    "terraces03.canopy": {
      "id": "terraces03.canopy",
      "name": "Bronze wave canopy",
      "description": "180 bronze blades at 12 in along the street, in five 36 ft bays, 3 ft below the podium deck. Two cosine waves that peak at the centre of the canopy set every blade: one its projection, one its pitch.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "projection",
          "name": "Base projection",
          "op": "value",
          "params": {
            "value": 3.048,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "ground",
          "name": "Ground floor-to-floor",
          "op": "value",
          "params": {
            "value": 4.8768,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "length-amplitude",
          "name": "Projection wave · amplitude",
          "op": "value",
          "params": {
            "value": 0.9144,
            "dimension": "length"
          },
          "inputs": {}
        },
        {
          "id": "length-waves",
          "name": "Projection wave · waves along the canopy",
          "op": "value",
          "params": {
            "value": 1
          },
          "inputs": {}
        },
        {
          "id": "angle-amplitude",
          "name": "Pitch wave · amplitude (degrees)",
          "op": "value",
          "params": {
            "value": 12
          },
          "inputs": {}
        },
        {
          "id": "angle-waves",
          "name": "Pitch wave · waves along the canopy",
          "op": "value",
          "params": {
            "value": 2
          },
          "inputs": {}
        },
        {
          "id": "bay-1",
          "name": "Bay 1 · 0–36 ft",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.canopy-bay",
            "start": 0
          },
          "inputs": {
            "projection": "projection",
            "ground": "ground",
            "length-amplitude": "length-amplitude",
            "length-waves": "length-waves",
            "angle-amplitude": "angle-amplitude",
            "angle-waves": "angle-waves"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bay-2",
          "name": "Bay 2 · 36–72 ft",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.canopy-bay",
            "start": 10.9728
          },
          "inputs": {
            "projection": "projection",
            "ground": "ground",
            "length-amplitude": "length-amplitude",
            "length-waves": "length-waves",
            "angle-amplitude": "angle-amplitude",
            "angle-waves": "angle-waves"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bay-3",
          "name": "Bay 3 · 72–108 ft",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.canopy-bay",
            "start": 21.9456
          },
          "inputs": {
            "projection": "projection",
            "ground": "ground",
            "length-amplitude": "length-amplitude",
            "length-waves": "length-waves",
            "angle-amplitude": "angle-amplitude",
            "angle-waves": "angle-waves"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bay-4",
          "name": "Bay 4 · 108–144 ft",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.canopy-bay",
            "start": 32.9184
          },
          "inputs": {
            "projection": "projection",
            "ground": "ground",
            "length-amplitude": "length-amplitude",
            "length-waves": "length-waves",
            "angle-amplitude": "angle-amplitude",
            "angle-waves": "angle-waves"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bay-5",
          "name": "Bay 5 · 144–180 ft",
          "op": "recipe",
          "params": {
            "definitionId": "terraces03.canopy-bay",
            "start": 43.8912
          },
          "inputs": {
            "projection": "projection",
            "ground": "ground",
            "length-amplitude": "length-amplitude",
            "length-waves": "length-waves",
            "angle-amplitude": "angle-amplitude",
            "angle-waves": "angle-waves"
          },
          "placement": {
            "offset": [
              0,
              0,
              0
            ],
            "angle": 0,
            "axis": [
              0,
              0,
              1
            ]
          }
        },
        {
          "id": "bays",
          "name": "Five wave bays",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "bay-1",
            "p1": "bay-2",
            "p2": "bay-3",
            "p3": "bay-4",
            "p4": "bay-5"
          }
        }
      ],
      "output": "bays",
      "inputs": [
        {
          "key": "projection",
          "label": "Base projection",
          "kind": "length",
          "default": 3.048,
          "target": {
            "nodeId": "projection",
            "param": "value"
          },
          "ui": {
            "min": 1.8288,
            "max": 4.2672,
            "step": 0.3048
          }
        },
        {
          "key": "ground",
          "label": "Ground floor-to-floor",
          "kind": "length",
          "default": 4.8768,
          "target": {
            "nodeId": "ground",
            "param": "value"
          },
          "ui": {
            "min": 4.2672,
            "max": 5.1816,
            "step": 0.3048
          }
        },
        {
          "key": "length-amplitude",
          "label": "Projection wave · amplitude",
          "kind": "length",
          "default": 0.9144,
          "target": {
            "nodeId": "length-amplitude",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 1.2192,
            "step": 0.3048
          }
        },
        {
          "key": "length-waves",
          "label": "Projection wave · waves along the canopy",
          "kind": "number",
          "default": 1,
          "target": {
            "nodeId": "length-waves",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 4,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 4
            }
          }
        },
        {
          "key": "angle-amplitude",
          "label": "Pitch wave · amplitude (degrees)",
          "kind": "number",
          "default": 12,
          "target": {
            "nodeId": "angle-amplitude",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 30,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 30
            }
          }
        },
        {
          "key": "angle-waves",
          "label": "Pitch wave · waves along the canopy",
          "kind": "number",
          "default": 2,
          "target": {
            "nodeId": "angle-waves",
            "param": "value"
          },
          "ui": {
            "min": 0,
            "max": 4,
            "step": 1,
            "slider": {
              "min": 0,
              "max": 4
            }
          }
        }
      ],
      "dependencies": [
        "terraces03.canopy-bay"
      ]
    },
    "terraces03.site": {
      "id": "terraces03.site",
      "name": "Street and sidewalks",
      "description": "Sidewalks on three streets and a service alley to the north.",
      "version": 1,
      "locked": false,
      "construction": [
        {
          "id": "sidewalk-south",
          "name": "South sidewalk",
          "op": "box",
          "params": {
            "width": 62.1792,
            "depth": 4.2672,
            "height": 0.1524,
            "origin": [
              -3.6576,
              -4.2672,
              -0.1524
            ],
            "userAttributes": {
              "component": "site",
              "material": "pavement"
            }
          },
          "inputs": {}
        },
        {
          "id": "sidewalk-west",
          "name": "West sidewalk",
          "op": "box",
          "params": {
            "width": 3.6576,
            "depth": 43.8912,
            "height": 0.1524,
            "origin": [
              -3.6576,
              0,
              -0.1524
            ],
            "userAttributes": {
              "component": "site",
              "material": "pavement"
            }
          },
          "inputs": {}
        },
        {
          "id": "sidewalk-east",
          "name": "East sidewalk",
          "op": "box",
          "params": {
            "width": 3.6576,
            "depth": 43.8912,
            "height": 0.1524,
            "origin": [
              54.864,
              0,
              -0.1524
            ],
            "userAttributes": {
              "component": "site",
              "material": "pavement"
            }
          },
          "inputs": {}
        },
        {
          "id": "alley",
          "name": "Service alley",
          "op": "box",
          "params": {
            "width": 54.864,
            "depth": 3.6576,
            "height": 0.18288,
            "origin": [
              0,
              40.2336,
              -0.18288
            ],
            "userAttributes": {
              "component": "site",
              "material": "road"
            }
          },
          "inputs": {}
        },
        {
          "id": "street",
          "name": "South street",
          "op": "box",
          "params": {
            "width": 69.4944,
            "depth": 10.9728,
            "height": 0.09144,
            "origin": [
              -7.3152,
              -15.24,
              -0.24384
            ],
            "userAttributes": {
              "component": "site",
              "material": "road"
            }
          },
          "inputs": {}
        },
        {
          "id": "assembly",
          "name": "Street and sidewalks",
          "op": "merge",
          "params": {
            "ports": [
              "p0",
              "p1",
              "p2",
              "p3",
              "p4"
            ]
          },
          "inputs": {
            "p0": "sidewalk-south",
            "p1": "sidewalk-west",
            "p2": "sidewalk-east",
            "p3": "alley",
            "p4": "street"
          }
        }
      ],
      "output": "assembly",
      "inputs": [],
      "dependencies": []
    }
  },
  "hosts": [],
  "exceptions": {},
  "presentation": {
    "version": 1,
    "materialPaletteId": "architectural",
    "attributes": {
      "material": {
        "key": "material",
        "label": "Material",
        "kind": "text",
        "unit": "",
        "description": "Semantic material tag; appearance does not establish physical performance."
      },
      "insulation_r_value": {
        "key": "insulation_r_value",
        "label": "Insulation R-value",
        "kind": "number",
        "unit": "ft²·°F·h/Btu",
        "description": "Whole-assembly thermal resistance in US customary R-value units. Enter known assembly performance independently of the material tag."
      },
      "area": {
        "key": "area",
        "label": "Area",
        "kind": "area",
        "unit": "m²",
        "description": "Exact evaluated area."
      },
      "volume": {
        "key": "volume",
        "label": "Volume",
        "kind": "volume",
        "unit": "m³",
        "description": "Exact evaluated volume."
      },
      "unitType": {
        "key": "unitType",
        "label": "Home type",
        "kind": "text",
        "unit": "",
        "description": "Home type of the shared home recipe."
      },
      "homeArea": {
        "key": "homeArea",
        "label": "Home area",
        "kind": "number",
        "unit": "sf",
        "description": "Gross home area: exterior face to demising and corridor wall centrelines."
      }
    },
    "appearances": {
      "neutral": {
        "id": "neutral",
        "label": "Graphite4D neutral",
        "color": [
          0.72,
          0.76,
          0.8
        ],
        "roughness": 0.8,
        "metalness": 0,
        "opacity": 1
      },
      "concrete": {
        "id": "concrete",
        "label": "Concrete",
        "color": [
          0.62,
          0.6,
          0.56
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "stone": {
        "id": "stone",
        "label": "Stone",
        "color": [
          0.4,
          0.34,
          0.25
        ],
        "roughness": 0.95,
        "metalness": 0,
        "opacity": 1
      },
      "wood": {
        "id": "wood",
        "label": "Wood",
        "color": [
          0.3,
          0.14,
          0.055
        ],
        "roughness": 0.65,
        "metalness": 0,
        "opacity": 1
      },
      "metal": {
        "id": "metal",
        "label": "Metal",
        "color": [
          0.55,
          0.58,
          0.62
        ],
        "roughness": 0.35,
        "metalness": 1,
        "opacity": 1
      },
      "plaster": {
        "id": "plaster",
        "label": "Plaster",
        "color": [
          0.82,
          0.8,
          0.75
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "glass": {
        "id": "glass",
        "label": "Glass",
        "color": [
          0.258,
          0.474,
          0.584
        ],
        "roughness": 0.15,
        "metalness": 0,
        "opacity": 0.42
      },
      "brick": {
        "id": "brick",
        "label": "Brick",
        "color": [
          0.4851499400560704,
          0.1559264637078274,
          0.08437621154414882
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "missing": {
        "id": "missing",
        "label": "Missing value",
        "color": [
          0.2961382707983211,
          0.3277780980565422,
          0.38132601143253014
        ],
        "roughness": 0.8,
        "metalness": 0,
        "opacity": 1
      },
      "invalid": {
        "id": "invalid",
        "label": "Invalid value",
        "color": [
          0.7156935005064807,
          0.09305896284668745,
          0.4793201831008268
        ],
        "roughness": 0.8,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-limestone": {
        "id": "terraces-limestone",
        "label": "Limestone",
        "color": [
          0.6938717612919899,
          0.6514056374198242,
          0.5647115057049292
        ],
        "roughness": 0.82,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-wall": {
        "id": "terraces-wall",
        "label": "Wall",
        "color": [
          0.8549926081242338,
          0.8227857543962835,
          0.7605245046752924
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-concrete": {
        "id": "terraces-concrete",
        "label": "Concrete",
        "color": [
          0.4851499400560704,
          0.467783796112159,
          0.4232676699860717
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-graphite": {
        "id": "terraces-graphite",
        "label": "Graphite",
        "color": [
          0.042311410620809675,
          0.052860647023180246,
          0.05612849004960009
        ],
        "roughness": 0.5,
        "metalness": 0.3,
        "opacity": 1
      },
      "terraces-bronze": {
        "id": "terraces-bronze",
        "label": "Bronze",
        "color": [
          0.32314320911295075,
          0.16826940018969075,
          0.06662593864377289
        ],
        "roughness": 0.36,
        "metalness": 0.75,
        "opacity": 1
      },
      "terraces-glass": {
        "id": "terraces-glass",
        "label": "Glass",
        "color": [
          0.21223075741405523,
          0.31854677812509186,
          0.3277780980565422
        ],
        "roughness": 0.1,
        "metalness": 0.1,
        "opacity": 0.38
      },
      "terraces-railglass": {
        "id": "terraces-railglass",
        "label": "Railglass",
        "color": [
          0.39675523072562685,
          0.4851499400560704,
          0.47353149614800955
        ],
        "roughness": 0.15,
        "metalness": 0.05,
        "opacity": 0.3
      },
      "terraces-wood": {
        "id": "terraces-wood",
        "label": "Wood",
        "color": [
          0.45641102318040466,
          0.26225065752969623,
          0.11953842798834562
        ],
        "roughness": 0.72,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-counter": {
        "id": "terraces-counter",
        "label": "Counter",
        "color": [
          0.7156935005064807,
          0.6724431569576875,
          0.5972017883637634
        ],
        "roughness": 0.6,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-porcelain": {
        "id": "terraces-porcelain",
        "label": "Porcelain",
        "color": [
          0.8962693533742664,
          0.8962693533742664,
          0.8631572134541023
        ],
        "roughness": 0.3,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-paver": {
        "id": "terraces-paver",
        "label": "Paver",
        "color": [
          0.5775804404296506,
          0.5332764040105052,
          0.4396571738409188
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-planting": {
        "id": "terraces-planting",
        "label": "Planting",
        "color": [
          0.15292615199615017,
          0.2195261997292692,
          0.11697066775851084
        ],
        "roughness": 1,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-foliage": {
        "id": "terraces-foliage",
        "label": "Foliage",
        "color": [
          0.20507873639031693,
          0.2874408377269175,
          0.13286832155381798
        ],
        "roughness": 1,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-pavement": {
        "id": "terraces-pavement",
        "label": "Pavement",
        "color": [
          0.39675523072562685,
          0.41254261348390375,
          0.386429433787049
        ],
        "roughness": 0.95,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-road": {
        "id": "terraces-road",
        "label": "Road",
        "color": [
          0.15292615199615017,
          0.16826940018969075,
          0.16826940018969075
        ],
        "roughness": 1,
        "metalness": 0,
        "opacity": 1
      },
      "terraces-massing": {
        "id": "terraces-massing",
        "label": "Massing",
        "color": [
          0.6104955708078648,
          0.5209955732043543,
          0.3467040563550296
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 0.55
      },
      "mix-studio": {
        "id": "mix-studio",
        "label": "Studio",
        "color": [
          0.5775804404296506,
          0.3005437944157765,
          0.11443537382697373
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "mix-one": {
        "id": "mix-one",
        "label": "One bedroom",
        "color": [
          0.14412847085805777,
          0.3467040563550296,
          0.3277780980565422
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "mix-two": {
        "id": "mix-two",
        "label": "Two bedrooms",
        "color": [
          0.23455058216100522,
          0.22696587351009836,
          0.4178850708481375
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      },
      "mix-three": {
        "id": "mix-three",
        "label": "Three bedrooms",
        "color": [
          0.4793201831008268,
          0.1589608350608804,
          0.12477181756095049
        ],
        "roughness": 0.9,
        "metalness": 0,
        "opacity": 1
      }
    },
    "palettes": {
      "architectural": {
        "id": "architectural",
        "label": "Architectural palette",
        "entries": {
          "concrete": "terraces-concrete",
          "stone": "stone",
          "wood": "terraces-wood",
          "timber": "wood",
          "metal": "metal",
          "steel": "metal",
          "aluminum": "metal",
          "aluminium": "metal",
          "plaster": "plaster",
          "glass": "terraces-glass",
          "brick": "brick",
          "limestone": "terraces-limestone",
          "wall": "terraces-wall",
          "graphite": "terraces-graphite",
          "bronze": "terraces-bronze",
          "railglass": "terraces-railglass",
          "counter": "terraces-counter",
          "porcelain": "terraces-porcelain",
          "paver": "terraces-paver",
          "planting": "terraces-planting",
          "foliage": "terraces-foliage",
          "pavement": "terraces-pavement",
          "road": "terraces-road",
          "massing": "terraces-massing"
        },
        "fallback": "neutral"
      }
    },
    "views": {
      "drafting": {
        "id": "drafting",
        "label": "Drafting",
        "base": "drafting",
        "paletteId": null,
        "rules": [],
        "exceptions": [],
        "showLegend": true
      },
      "materials": {
        "id": "materials",
        "label": "Full building",
        "base": "materials",
        "paletteId": null,
        "rules": [],
        "exceptions": [],
        "showLegend": true,
        "show": "(!hasAttr(\"component\") || @component != \"massing\") && (!hasAttr(\"role\") || @role != \"room\")"
      },
      "home-mix": {
        "id": "home-mix",
        "label": "Home mix",
        "base": "materials",
        "paletteId": null,
        "rules": [
          {
            "id": "mix",
            "label": "Home type",
            "filter": "hasAttr(\"unitType\")",
            "mapping": {
              "kind": "categories",
              "attribute": "unitType",
              "entries": [
                {
                  "value": "studio",
                  "appearanceId": "mix-studio"
                },
                {
                  "value": "one",
                  "appearanceId": "mix-one"
                },
                {
                  "value": "two",
                  "appearanceId": "mix-two"
                },
                {
                  "value": "three",
                  "appearanceId": "mix-three"
                }
              ],
              "missing": "terraces-limestone",
              "other": "terraces-limestone"
            }
          }
        ],
        "exceptions": [],
        "showLegend": true,
        "show": "(!hasAttr(\"component\") || @component != \"massing\") && (!hasAttr(\"role\") || @role != \"room\")"
      },
      "massing": {
        "id": "massing",
        "label": "Massing only",
        "base": "materials",
        "paletteId": null,
        "rules": [],
        "exceptions": [],
        "showLegend": false,
        "show": "hasAttr(\"component\") && (@component == \"massing\")"
      },
      "facade-shell": {
        "id": "facade-shell",
        "label": "Facade shell only",
        "base": "materials",
        "paletteId": null,
        "rules": [],
        "exceptions": [],
        "showLegend": false,
        "show": "hasAttr(\"component\") && (@component == \"exterior-wall\" || @component == \"window\" || @component == \"facade\" || @component == \"storefront\" || @component == \"structure\" || @component == \"roof\" || @component == \"canopy\")"
      },
      "floors-cores": {
        "id": "floors-cores",
        "label": "Floors, demising walls and cores",
        "base": "materials",
        "paletteId": null,
        "rules": [],
        "exceptions": [],
        "showLegend": false,
        "show": "hasAttr(\"component\") && (@component == \"slab\" || @component == \"demising-wall\" || @component == \"core\" || @component == \"stair\")"
      }
    },
    "activeView": "materials",
    "environment": {
      "preset": "daylight",
      "intensity": 0.8,
      "rotation": 35,
      "background": false
    }
  },
  "documentation": {
    "version": 1,
    "views": {
      "level-1-plan": {
        "id": "level-1-plan",
        "name": "Level 1 · ground floor plan",
        "kind": "plan",
        "frame": {
          "origin": [
            0,
            0,
            0
          ],
          "xAxis": [
            1,
            0,
            0
          ],
          "yAxis": [
            0,
            1,
            0
          ]
        },
        "datumId": "level-1",
        "range": {
          "near": 2.4384,
          "cut": 1.2192,
          "far": -0.4572
        },
        "overhead": false,
        "hiddenLines": false,
        "scale": 192,
        "detail": "fine",
        "styleId": "architectural",
        "crop": {
          "min": [
            -7.3152,
            -7.3152
          ],
          "max": [
            62.1792,
            47.5488
          ]
        },
        "sources": {
          "kind": "published",
          "filter": "(!hasAttr(\"component\") || (@component != \"massing\" && @component != \"window\" && @component != \"home\" && @component != \"void\" && @component != \"tree\" && @component != \"site\")) && (!hasAttr(\"role\") || @role != \"room\")"
        },
        "annotate": {
          "rooms": true,
          "gridDimensions": true
        }
      },
      "level-3-plan": {
        "id": "level-3-plan",
        "name": "Level 3 · typical residential plan",
        "kind": "plan",
        "frame": {
          "origin": [
            0,
            0,
            0
          ],
          "xAxis": [
            1,
            0,
            0
          ],
          "yAxis": [
            0,
            1,
            0
          ]
        },
        "datumId": "level-3",
        "range": {
          "near": 2.4384,
          "cut": 1.2192,
          "far": -0.4572
        },
        "overhead": false,
        "hiddenLines": false,
        "scale": 192,
        "detail": "fine",
        "styleId": "architectural",
        "crop": {
          "min": [
            -7.3152,
            -7.3152
          ],
          "max": [
            62.1792,
            47.5488
          ]
        },
        "sources": {
          "kind": "published",
          "filter": "(!hasAttr(\"component\") || (@component != \"massing\" && @component != \"window\" && @component != \"home\" && @component != \"void\" && @component != \"tree\" && @component != \"site\")) && (!hasAttr(\"role\") || @role != \"room\")"
        },
        "annotate": {
          "rooms": true,
          "gridDimensions": true
        }
      },
      "level-6-plan": {
        "id": "level-6-plan",
        "name": "Level 6 · stepped upper floor plan and terraces below",
        "kind": "plan",
        "frame": {
          "origin": [
            0,
            0,
            0
          ],
          "xAxis": [
            1,
            0,
            0
          ],
          "yAxis": [
            0,
            1,
            0
          ]
        },
        "datumId": "level-6",
        "range": {
          "near": 2.4384,
          "cut": 1.2192,
          "far": -3.6576
        },
        "overhead": false,
        "hiddenLines": false,
        "scale": 192,
        "detail": "fine",
        "styleId": "architectural",
        "crop": {
          "min": [
            -7.3152,
            -7.3152
          ],
          "max": [
            62.1792,
            47.5488
          ]
        },
        "sources": {
          "kind": "published",
          "filter": "(!hasAttr(\"component\") || (@component != \"massing\" && @component != \"window\" && @component != \"home\" && @component != \"void\" && @component != \"tree\" && @component != \"site\")) && (!hasAttr(\"role\") || @role != \"room\")"
        },
        "annotate": {
          "rooms": true,
          "gridDimensions": true
        }
      },
      "roof-plan": {
        "id": "roof-plan",
        "name": "Roof plan",
        "kind": "plan",
        "frame": {
          "origin": [
            0,
            0,
            0
          ],
          "xAxis": [
            1,
            0,
            0
          ],
          "yAxis": [
            0,
            1,
            0
          ]
        },
        "datumId": "level-roof",
        "range": {
          "near": 3.048,
          "cut": 1.8288,
          "far": -0.4572
        },
        "overhead": false,
        "hiddenLines": false,
        "scale": 192,
        "detail": "fine",
        "styleId": "architectural",
        "crop": {
          "min": [
            -7.3152,
            -7.3152
          ],
          "max": [
            62.1792,
            47.5488
          ]
        },
        "sources": {
          "kind": "published",
          "filter": "(!hasAttr(\"component\") || (@component != \"massing\" && @component != \"window\" && @component != \"home\" && @component != \"void\" && @component != \"tree\" && @component != \"site\")) && (!hasAttr(\"role\") || @role != \"room\")"
        },
        "annotate": {
          "rooms": true,
          "gridDimensions": true
        }
      },
      "section-a": {
        "id": "section-a",
        "name": "Section A · garden stair, courtyard and west wing terraces",
        "kind": "section",
        "frame": {
          "origin": [
            20.1168,
            0,
            0
          ],
          "xAxis": [
            0,
            1,
            0
          ],
          "yAxis": [
            0,
            0,
            1
          ]
        },
        "datumId": null,
        "range": {
          "near": 0,
          "cut": 0,
          "far": -21.336
        },
        "overhead": false,
        "hiddenLines": false,
        "scale": 192,
        "detail": "fine",
        "styleId": "architectural",
        "crop": {
          "min": [
            -7.3152,
            -1.8288
          ],
          "max": [
            45.72,
            28.0416
          ]
        },
        "sources": {
          "kind": "published",
          "filter": "(!hasAttr(\"component\") || (@component != \"massing\" && @component != \"void\" && @component != \"home\")) && (!hasAttr(\"role\") || @role != \"room\")"
        }
      }
    },
    "datums": {
      "level-1": {
        "id": "level-1",
        "name": "Level 1",
        "elevation": {
          "kind": "binding",
          "source": "level-1"
        }
      },
      "level-2": {
        "id": "level-2",
        "name": "Level 2",
        "elevation": {
          "kind": "binding",
          "source": "level-2"
        }
      },
      "level-3": {
        "id": "level-3",
        "name": "Level 3",
        "elevation": {
          "kind": "binding",
          "source": "level-3"
        }
      },
      "level-4": {
        "id": "level-4",
        "name": "Level 4",
        "elevation": {
          "kind": "binding",
          "source": "level-4"
        }
      },
      "level-5": {
        "id": "level-5",
        "name": "Level 5",
        "elevation": {
          "kind": "binding",
          "source": "level-5"
        }
      },
      "level-6": {
        "id": "level-6",
        "name": "Level 6",
        "elevation": {
          "kind": "binding",
          "source": "level-6"
        }
      },
      "level-roof": {
        "id": "level-roof",
        "name": "Roof",
        "elevation": {
          "kind": "binding",
          "source": "level-roof"
        }
      }
    },
    "styles": {
      "architectural": {
        "id": "architectural",
        "name": "Architectural",
        "paper": "#fffefa",
        "cutFill": "#d5d0c6",
        "pens": {
          "cut": {
            "width": 0.5,
            "color": "#24231f",
            "dash": []
          },
          "interface": {
            "width": 0.35,
            "color": "#393730",
            "dash": []
          },
          "outline": {
            "width": 0.25,
            "color": "#48453e",
            "dash": []
          },
          "detail": {
            "width": 0.13,
            "color": "#69655d",
            "dash": []
          },
          "hidden": {
            "width": 0.13,
            "color": "#8a867e",
            "dash": [
              1.5,
              0.8
            ]
          },
          "overhead": {
            "width": 0.13,
            "color": "#69655d",
            "dash": [
              3,
              1
            ]
          },
          "annotation": {
            "width": 0.13,
            "color": "#48453e",
            "dash": []
          },
          "underlay": {
            "width": 0.09,
            "color": "#b8b3a9",
            "dash": []
          }
        }
      }
    },
    "grids": {
      "1": {
        "id": "1",
        "label": "1",
        "start": [
          -5.4864,
          0
        ],
        "end": [
          60.3504,
          0
        ]
      },
      "2": {
        "id": "2",
        "label": "2",
        "start": [
          -5.4864,
          9.144
        ],
        "end": [
          60.3504,
          9.144
        ]
      },
      "3": {
        "id": "3",
        "label": "3",
        "start": [
          -5.4864,
          16.4592
        ],
        "end": [
          60.3504,
          16.4592
        ]
      },
      "4": {
        "id": "4",
        "label": "4",
        "start": [
          -5.4864,
          20.1168
        ],
        "end": [
          60.3504,
          20.1168
        ]
      },
      "5": {
        "id": "5",
        "label": "5",
        "start": [
          -5.4864,
          29.2608
        ],
        "end": [
          60.3504,
          29.2608
        ]
      },
      "6": {
        "id": "6",
        "label": "6",
        "start": [
          -5.4864,
          40.2336
        ],
        "end": [
          60.3504,
          40.2336
        ]
      },
      "A": {
        "id": "A",
        "label": "A",
        "start": [
          0,
          -5.4864
        ],
        "end": [
          0,
          45.72
        ]
      },
      "B": {
        "id": "B",
        "label": "B",
        "start": [
          10.9728,
          -5.4864
        ],
        "end": [
          10.9728,
          45.72
        ]
      },
      "C": {
        "id": "C",
        "label": "C",
        "start": [
          21.9456,
          -5.4864
        ],
        "end": [
          21.9456,
          45.72
        ]
      },
      "D": {
        "id": "D",
        "label": "D",
        "start": [
          32.9184,
          -5.4864
        ],
        "end": [
          32.9184,
          45.72
        ]
      },
      "E": {
        "id": "E",
        "label": "E",
        "start": [
          43.8912,
          -5.4864
        ],
        "end": [
          43.8912,
          45.72
        ]
      },
      "F": {
        "id": "F",
        "label": "F",
        "start": [
          54.864,
          -5.4864
        ],
        "end": [
          54.864,
          45.72
        ]
      }
    },
    "annotations": {
      "section-a-level-1": {
        "id": "section-a-level-1",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-1",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-2": {
        "id": "section-a-level-2",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-2",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-3": {
        "id": "section-a-level-3",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-3",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-4": {
        "id": "section-a-level-4",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-4",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-5": {
        "id": "section-a-level-5",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-5",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-6": {
        "id": "section-a-level-6",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-6",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      },
      "section-a-level-roof": {
        "id": "section-a-level-roof",
        "viewId": "section-a",
        "kind": "level",
        "datumId": "level-roof",
        "position": [
          -4.8768,
          0
        ],
        "height": 2.5
      }
    }
  }
}
