@pascal-app/core 1.0.0 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/capture/index.d.ts +2 -2
- package/dist/capture/index.js +2 -2
- package/dist/capture/schema.d.ts.map +1 -1
- package/dist/capture/schema.js +2 -0
- package/dist/capture/source.d.ts +1 -1
- package/dist/capture/source.js +1 -1
- package/dist/events/bus.d.ts +6 -3
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +4 -4
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.js +7 -12
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts +4 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts.map +1 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.js +7 -0
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +5 -8
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +23 -106
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +221 -76
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +77 -13
- package/dist/hooks/spatial-grid/support-host-patch.d.ts +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +6 -6
- package/dist/hooks/spatial-grid/use-spatial-query.d.ts +1 -1
- package/dist/hooks/spatial-grid/use-spatial-query.js +1 -1
- package/dist/index.d.ts +74 -72
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +71 -69
- package/dist/lib/door-operation.d.ts +1 -1
- package/dist/lib/item-polygon-overlap.d.ts +6 -0
- package/dist/lib/item-polygon-overlap.d.ts.map +1 -0
- package/dist/lib/item-polygon-overlap.js +67 -0
- package/dist/lib/level-name.d.ts +1 -1
- package/dist/lib/measurement-geometry.d.ts +4 -4
- package/dist/lib/plan-footprint.d.ts +41 -0
- package/dist/lib/plan-footprint.d.ts.map +1 -0
- package/dist/lib/plan-footprint.js +58 -0
- package/dist/lib/room-topology-index.d.ts +1 -1
- package/dist/lib/room-topology-index.js +1 -1
- package/dist/lib/selection-proxy.d.ts +1 -1
- package/dist/lib/slab-polygon.d.ts +2 -2
- package/dist/lib/slab-polygon.js +2 -2
- package/dist/lib/space-detection.d.ts +1 -1
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +16 -11
- package/dist/lib/terrain-brush.d.ts +1 -1
- package/dist/lib/terrain-brush.js +1 -1
- package/dist/lib/terrain-codec.d.ts +2 -2
- package/dist/lib/terrain-codec.js +1 -1
- package/dist/lib/terrain-raycast.d.ts +1 -1
- package/dist/lib/terrain-raycast.js +1 -1
- package/dist/lib/terrain-source.d.ts +3 -3
- package/dist/lib/terrain-source.js +3 -3
- package/dist/lib/terrain-support.d.ts +1 -1
- package/dist/lib/terrain-support.js +3 -3
- package/dist/lib/unit-containment.d.ts +19 -0
- package/dist/lib/unit-containment.d.ts.map +1 -0
- package/dist/lib/unit-containment.js +158 -0
- package/dist/lib/unit-report.d.ts +19 -0
- package/dist/lib/unit-report.d.ts.map +1 -0
- package/dist/lib/unit-report.js +36 -0
- package/dist/lib/wall-distance.d.ts +2 -2
- package/dist/lib/wall-distance.js +1 -1
- package/dist/lib/zone-quantities.d.ts +1 -1
- package/dist/lib/zone-quantities.js +7 -7
- package/dist/material-library.d.ts +1 -1
- package/dist/material-library.js +1 -1
- package/dist/procedural-items/fixtures.d.ts +261 -0
- package/dist/procedural-items/fixtures.d.ts.map +1 -0
- package/dist/procedural-items/fixtures.js +349 -0
- package/dist/procedural-items/index.d.ts +10 -0
- package/dist/procedural-items/index.d.ts.map +1 -0
- package/dist/procedural-items/index.js +9 -0
- package/dist/procedural-items/integration.d.ts +92 -0
- package/dist/procedural-items/integration.d.ts.map +1 -0
- package/dist/procedural-items/integration.js +19 -0
- package/dist/procedural-items/library-colors.d.ts +56 -0
- package/dist/procedural-items/library-colors.d.ts.map +1 -0
- package/dist/procedural-items/library-colors.js +84 -0
- package/dist/procedural-items/materials.d.ts +5 -0
- package/dist/procedural-items/materials.d.ts.map +1 -0
- package/dist/procedural-items/materials.js +47 -0
- package/dist/procedural-items/node.d.ts +280 -0
- package/dist/procedural-items/node.d.ts.map +1 -0
- package/dist/procedural-items/node.js +71 -0
- package/dist/procedural-items/placement.d.ts +7 -0
- package/dist/procedural-items/placement.d.ts.map +1 -0
- package/dist/procedural-items/placement.js +48 -0
- package/dist/procedural-items/query.d.ts +50 -0
- package/dist/procedural-items/query.d.ts.map +1 -0
- package/dist/procedural-items/query.js +298 -0
- package/dist/procedural-items/recipe.d.ts +144 -0
- package/dist/procedural-items/recipe.d.ts.map +1 -0
- package/dist/procedural-items/recipe.js +372 -0
- package/dist/procedural-items/spatial.d.ts +19 -0
- package/dist/procedural-items/spatial.d.ts.map +1 -0
- package/dist/procedural-items/spatial.js +39 -0
- package/dist/registry/__bench__/relations-resolver.bench.js +2 -2
- package/dist/registry/handles.d.ts +12 -4
- package/dist/registry/handles.d.ts.map +1 -1
- package/dist/registry/index.d.ts +6 -6
- package/dist/registry/index.js +4 -4
- package/dist/registry/registry.d.ts +1 -1
- package/dist/registry/relations-resolver.d.ts +2 -2
- package/dist/registry/relations-resolver.js +1 -1
- package/dist/registry/scene-api.d.ts +2 -2
- package/dist/registry/scene-api.js +2 -2
- package/dist/registry/subtree.d.ts +1 -1
- package/dist/registry/subtree.js +2 -2
- package/dist/registry/types.d.ts +21 -9
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/use-registry-version.js +1 -1
- package/dist/registry/validate-relations.d.ts +4 -0
- package/dist/registry/validate-relations.d.ts.map +1 -0
- package/dist/registry/validate-relations.js +22 -0
- package/dist/schema/__bench__/node-parsers.bench.js +3 -3
- package/dist/schema/__fixtures__/node-fixtures.d.ts +1 -1
- package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
- package/dist/schema/__fixtures__/node-fixtures.js +4 -2
- package/dist/schema/base.js +1 -1
- package/dist/schema/collections.d.ts +1 -1
- package/dist/schema/collections.js +1 -1
- package/dist/schema/compiled-node-parsers.d.ts +1 -1
- package/dist/schema/compiled-node-parsers.js +1 -1
- package/dist/schema/index.d.ts +73 -70
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +64 -61
- package/dist/schema/material.d.ts +1 -1
- package/dist/schema/material.js +1 -1
- package/dist/schema/nodes/automatic-downspout.d.ts +4 -4
- package/dist/schema/nodes/automatic-downspout.js +5 -5
- package/dist/schema/nodes/block.d.ts +1 -1
- package/dist/schema/nodes/block.d.ts.map +1 -1
- package/dist/schema/nodes/block.js +3 -4
- package/dist/schema/nodes/box-vent.js +2 -2
- package/dist/schema/nodes/building.d.ts +1 -1
- package/dist/schema/nodes/building.d.ts.map +1 -1
- package/dist/schema/nodes/building.js +8 -5
- package/dist/schema/nodes/cabinet.d.ts +2 -2
- package/dist/schema/nodes/cabinet.js +4 -4
- package/dist/schema/nodes/ceiling.d.ts +1 -1
- package/dist/schema/nodes/ceiling.js +5 -5
- package/dist/schema/nodes/chimney.js +2 -2
- package/dist/schema/nodes/column.d.ts +1 -0
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +3 -2
- package/dist/schema/nodes/construction-dimension.d.ts +3 -3
- package/dist/schema/nodes/construction-dimension.js +2 -2
- package/dist/schema/nodes/cupola.d.ts +1 -1
- package/dist/schema/nodes/cupola.js +2 -2
- package/dist/schema/nodes/door.js +2 -2
- package/dist/schema/nodes/dormer.d.ts +3 -3
- package/dist/schema/nodes/dormer.js +4 -4
- package/dist/schema/nodes/downspout.js +2 -2
- package/dist/schema/nodes/duct-fitting.js +1 -1
- package/dist/schema/nodes/duct-segment.js +2 -2
- package/dist/schema/nodes/duct-terminal.js +1 -1
- package/dist/schema/nodes/elevator.js +2 -2
- package/dist/schema/nodes/eyebrow-vent.js +2 -2
- package/dist/schema/nodes/fence.js +2 -2
- package/dist/schema/nodes/guide.js +2 -2
- package/dist/schema/nodes/gutter.d.ts +1 -1
- package/dist/schema/nodes/gutter.js +4 -4
- package/dist/schema/nodes/hvac-equipment.js +1 -1
- package/dist/schema/nodes/imported-mesh.d.ts +40 -0
- package/dist/schema/nodes/imported-mesh.d.ts.map +1 -0
- package/dist/schema/nodes/imported-mesh.js +27 -0
- package/dist/schema/nodes/item.d.ts +3 -3
- package/dist/schema/nodes/item.js +3 -3
- package/dist/schema/nodes/lean-to-extension.js +4 -4
- package/dist/schema/nodes/level.d.ts +1 -1
- package/dist/schema/nodes/level.d.ts.map +1 -1
- package/dist/schema/nodes/level.js +1 -1
- package/dist/schema/nodes/lineset.js +1 -1
- package/dist/schema/nodes/liquid-line.js +1 -1
- package/dist/schema/nodes/measurement.js +2 -2
- package/dist/schema/nodes/pipe-fitting.d.ts +1 -1
- package/dist/schema/nodes/pipe-fitting.js +1 -1
- package/dist/schema/nodes/pipe-segment.d.ts +1 -1
- package/dist/schema/nodes/pipe-segment.js +2 -2
- package/dist/schema/nodes/pipe-trap.d.ts +1 -1
- package/dist/schema/nodes/pipe-trap.js +1 -1
- package/dist/schema/nodes/ridge-vent.d.ts +1 -1
- package/dist/schema/nodes/ridge-vent.js +3 -3
- package/dist/schema/nodes/roof-segment-shape.d.ts +1 -1
- package/dist/schema/nodes/roof-segment-shape.js +1 -1
- package/dist/schema/nodes/roof-segment-walls.d.ts +1 -1
- package/dist/schema/nodes/roof-segment-walls.js +1 -1
- package/dist/schema/nodes/roof-segment.d.ts +2 -2
- package/dist/schema/nodes/roof-segment.js +2 -2
- package/dist/schema/nodes/roof.d.ts +1 -1
- package/dist/schema/nodes/roof.js +3 -3
- package/dist/schema/nodes/scan.js +3 -3
- package/dist/schema/nodes/shelf.d.ts +1 -1
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/shelf.js +3 -4
- package/dist/schema/nodes/site.js +2 -2
- package/dist/schema/nodes/skylight.d.ts +4 -4
- package/dist/schema/nodes/skylight.js +2 -2
- package/dist/schema/nodes/slab.js +3 -3
- package/dist/schema/nodes/solar-panel.js +3 -3
- package/dist/schema/nodes/spawn.js +1 -1
- package/dist/schema/nodes/stair-segment.js +2 -2
- package/dist/schema/nodes/stair.d.ts +1 -1
- package/dist/schema/nodes/stair.js +3 -3
- package/dist/schema/nodes/structural-grid.js +1 -1
- package/dist/schema/nodes/turbine-vent.d.ts +1 -1
- package/dist/schema/nodes/turbine-vent.js +2 -2
- package/dist/schema/nodes/unit.d.ts +33 -0
- package/dist/schema/nodes/unit.d.ts.map +1 -0
- package/dist/schema/nodes/unit.js +13 -0
- package/dist/schema/nodes/wall.d.ts +2 -2
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +7 -6
- package/dist/schema/nodes/window.js +2 -2
- package/dist/schema/nodes/zone.js +1 -1
- package/dist/schema/scene-material.js +2 -2
- package/dist/schema/types.d.ts +341 -19
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +56 -49
- package/dist/services/alignment-anchors.d.ts +6 -11
- package/dist/services/alignment-anchors.d.ts.map +1 -1
- package/dist/services/alignment-anchors.js +7 -34
- package/dist/services/drag-session.d.ts +4 -4
- package/dist/services/drag-session.js +1 -1
- package/dist/services/hosting.d.ts +2 -8
- package/dist/services/hosting.d.ts.map +1 -1
- package/dist/services/hosting.js +2 -12
- package/dist/services/index.d.ts +16 -13
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +16 -13
- package/dist/services/level-height.d.ts +2 -2
- package/dist/services/level-height.js +3 -3
- package/dist/services/movement.d.ts +3 -3
- package/dist/services/movement.js +2 -2
- package/dist/services/port-connectivity.d.ts +1 -1
- package/dist/services/port-connectivity.js +1 -1
- package/dist/services/riser-diagram.d.ts +1 -1
- package/dist/services/shelf-board.d.ts +5 -0
- package/dist/services/shelf-board.d.ts.map +1 -0
- package/dist/services/shelf-board.js +15 -0
- package/dist/services/storey.d.ts +2 -2
- package/dist/services/storey.js +2 -2
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +13 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.js +4691 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +1060 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.js +3127 -0
- package/dist/services/surface-hosting.d.ts +88 -0
- package/dist/services/surface-hosting.d.ts.map +1 -0
- package/dist/services/surface-hosting.js +268 -0
- package/dist/services/surface-region.d.ts +8 -0
- package/dist/services/surface-region.d.ts.map +1 -0
- package/dist/services/surface-region.js +44 -0
- package/dist/services/system-graph.d.ts +2 -2
- package/dist/services/system-graph.js +2 -2
- package/dist/services/validate-dwv.d.ts +1 -1
- package/dist/services/validate-dwv.js +1 -1
- package/dist/store/actions/node-actions.d.ts +2 -2
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +48 -9
- package/dist/store/history-control.d.ts +3 -3
- package/dist/store/history-invalidation.d.ts +1 -1
- package/dist/store/history-invalidation.js +1 -1
- package/dist/store/use-interactive.d.ts +2 -2
- package/dist/store/use-live-terrain.d.ts +1 -1
- package/dist/store/use-scene.d.ts +4 -4
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +37 -31
- package/dist/systems/elevator/elevator-dispatch.d.ts +2 -2
- package/dist/systems/elevator/elevator-dispatch.js +1 -1
- package/dist/systems/elevator/elevator-geometry.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.js +2 -2
- package/dist/systems/elevator/elevator-opening-system.js +3 -3
- package/dist/systems/elevator/elevator-runtime.d.ts +3 -3
- package/dist/systems/elevator/elevator-runtime.js +3 -3
- package/dist/systems/elevator/elevator-service.d.ts +1 -1
- package/dist/systems/elevator/elevator-service.js +1 -1
- package/dist/systems/fence/fence-centerline.d.ts +2 -2
- package/dist/systems/fence/fence-centerline.js +2 -2
- package/dist/systems/fence/fence-spline.d.ts +2 -2
- package/dist/systems/roof/roof-elevation-system.js +3 -3
- package/dist/systems/roof/roof-elevation.d.ts +2 -2
- package/dist/systems/roof/roof-elevation.js +6 -6
- package/dist/systems/roof/roof-footprint.d.ts +1 -1
- package/dist/systems/roof/roof-footprint.js +3 -3
- package/dist/systems/slab/slab-placement.d.ts +1 -1
- package/dist/systems/slab/slab-support.d.ts +1 -1
- package/dist/systems/slab/slab-support.js +4 -4
- package/dist/systems/stair/stair-flight.d.ts +2 -2
- package/dist/systems/stair/stair-flight.js +2 -2
- package/dist/systems/stair/stair-footprint.d.ts +1 -1
- package/dist/systems/stair/stair-opening-preview.d.ts +206 -79
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-preview.js +2 -2
- package/dist/systems/stair/stair-opening-sync.d.ts +1 -1
- package/dist/systems/stair/stair-opening-sync.js +6 -6
- package/dist/systems/stair/stair-opening-system.js +8 -8
- package/dist/systems/stair/stair-rise.d.ts +1 -1
- package/dist/systems/stair/stair-rise.js +3 -3
- package/dist/systems/wall/wall-curve.d.ts +2 -2
- package/dist/systems/wall/wall-footprint.d.ts +3 -3
- package/dist/systems/wall/wall-footprint.js +3 -3
- package/dist/systems/wall/wall-mitering.d.ts +1 -1
- package/dist/systems/wall/wall-mitering.js +1 -1
- package/dist/systems/wall/wall-move.d.ts +1 -1
- package/dist/systems/wall/wall-top.d.ts +1 -1
- package/dist/systems/wall/wall-topology.d.ts +2 -2
- package/dist/systems/wall/wall-topology.js +4 -4
- package/dist/utils/clone-scene-graph.d.ts +3 -3
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +9 -3
- package/dist/utils/scene-migrations.d.ts +3 -3
- package/dist/utils/scene-migrations.js +3 -3
- package/dist/utils/vertical-scene-migration.js +5 -5
- package/dist/validation/validate-build-json.d.ts +5 -2
- package/dist/validation/validate-build-json.d.ts.map +1 -1
- package/dist/validation/validate-build-json.js +45 -4
- package/package.json +14 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import type { AnyNode, AnyNodeId, CeilingNode, SlabNode } from '../../schema';
|
|
2
|
-
import { type LiveNodeOverrides } from '../../store/use-live-node-overrides';
|
|
3
|
-
import type { LiveTransform } from '../../store/use-live-transforms';
|
|
1
|
+
import type { AnyNode, AnyNodeId, CeilingNode, SlabNode } from '../../schema/index.js';
|
|
2
|
+
import { type LiveNodeOverrides } from '../../store/use-live-node-overrides.js';
|
|
3
|
+
import type { LiveTransform } from '../../store/use-live-transforms.js';
|
|
4
4
|
type SurfaceOpeningUpdate = {
|
|
5
5
|
id: AnyNodeId;
|
|
6
6
|
data: Partial<SlabNode | CeilingNode>;
|
|
@@ -43,7 +43,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
43
43
|
visible: boolean;
|
|
44
44
|
metadata: Record<string, unknown>;
|
|
45
45
|
rotation: [number, number, number];
|
|
46
|
-
children: (`elevator_${string}` | `level_${string}`)[];
|
|
46
|
+
children: (`elevator_${string}` | `level_${string}` | `unit_${string}`)[];
|
|
47
47
|
type: "building";
|
|
48
48
|
name?: string | undefined;
|
|
49
49
|
camera?: {
|
|
@@ -109,13 +109,31 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
109
109
|
shaftWidth?: number | undefined;
|
|
110
110
|
shaftDepth?: number | undefined;
|
|
111
111
|
servedLevelIds?: string[] | undefined;
|
|
112
|
+
} | {
|
|
113
|
+
object: "node";
|
|
114
|
+
id: `unit_${string}`;
|
|
115
|
+
name: string;
|
|
116
|
+
parentId: string | null;
|
|
117
|
+
visible: boolean;
|
|
118
|
+
metadata: Record<string, unknown>;
|
|
119
|
+
color: string;
|
|
120
|
+
kind: "apartment" | "hotel-room" | "commercial" | "common";
|
|
121
|
+
members: `zone_${string}`[];
|
|
122
|
+
type: "unit";
|
|
123
|
+
camera?: {
|
|
124
|
+
position: [number, number, number];
|
|
125
|
+
target: [number, number, number];
|
|
126
|
+
mode: "perspective" | "orthographic";
|
|
127
|
+
fov?: number | undefined;
|
|
128
|
+
zoom?: number | undefined;
|
|
129
|
+
} | undefined;
|
|
112
130
|
} | {
|
|
113
131
|
object: "node";
|
|
114
132
|
id: `level_${string}`;
|
|
115
133
|
parentId: string | null;
|
|
116
134
|
visible: boolean;
|
|
117
135
|
metadata: Record<string, unknown>;
|
|
118
|
-
children: (`
|
|
136
|
+
children: (`block_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `wall_${string}` | `roof_${string}` | `slab_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${string}` | `stair_${string}` | `scan_${string}` | `guide_${string}` | `measurement_${string}` | `spawn_${string}` | `shelf_${string}` | `duct-segment_${string}` | `duct-fitting_${string}` | `duct-terminal_${string}` | `hvac-equipment_${string}` | `lineset_${string}` | `liquid-line_${string}` | `pipe-segment_${string}` | `pipe-fitting_${string}` | `pipe-trap_${string}`)[];
|
|
119
137
|
level: number;
|
|
120
138
|
baseElevation: number;
|
|
121
139
|
type: "level";
|
|
@@ -225,9 +243,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
225
243
|
visible: boolean;
|
|
226
244
|
metadata: Record<string, unknown>;
|
|
227
245
|
rotation: number;
|
|
228
|
-
|
|
246
|
+
children: string[];
|
|
229
247
|
width: number;
|
|
230
248
|
depth: number;
|
|
249
|
+
height: number;
|
|
231
250
|
baseHeight: number;
|
|
232
251
|
style: "plain" | "faceted" | "fluted" | "lathe-turned" | "dravidian-carved" | "cluster";
|
|
233
252
|
crossSection: "round" | "square" | "rectangular" | "octagonal" | "sixteen-sided";
|
|
@@ -361,7 +380,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
361
380
|
drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
|
|
362
381
|
drawingOverrides: {
|
|
363
382
|
drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
|
|
364
|
-
presentation: "
|
|
383
|
+
presentation: "shown" | "omit" | "controlled";
|
|
365
384
|
suppressedSegmentIndexes: number[];
|
|
366
385
|
}[];
|
|
367
386
|
controllingDimensionId: `construction-dimension_${string}` | null;
|
|
@@ -382,8 +401,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
382
401
|
visible: boolean;
|
|
383
402
|
metadata: Record<string, unknown>;
|
|
384
403
|
rotation: number;
|
|
385
|
-
children:
|
|
386
|
-
slots: Record<string, string>;
|
|
404
|
+
children: string[];
|
|
387
405
|
topology: {
|
|
388
406
|
vertices: {
|
|
389
407
|
id: string;
|
|
@@ -399,6 +417,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
399
417
|
materialSlot: string;
|
|
400
418
|
}[];
|
|
401
419
|
};
|
|
420
|
+
slots: Record<string, string>;
|
|
402
421
|
slotNames: Record<string, string>;
|
|
403
422
|
type: "block";
|
|
404
423
|
name?: string | undefined;
|
|
@@ -436,7 +455,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
436
455
|
parentId: string | null;
|
|
437
456
|
visible: boolean;
|
|
438
457
|
metadata: Record<string, unknown>;
|
|
439
|
-
children: (`item_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}`)[];
|
|
458
|
+
children: (`item_${string}` | `procedural-item_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}`)[];
|
|
440
459
|
start: [number, number];
|
|
441
460
|
end: [number, number];
|
|
442
461
|
frontSide: "unknown" | "interior" | "exterior";
|
|
@@ -450,7 +469,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
450
469
|
fov?: number | undefined;
|
|
451
470
|
zoom?: number | undefined;
|
|
452
471
|
} | undefined;
|
|
453
|
-
height?: number | undefined;
|
|
454
472
|
supportSlabId?: string | undefined;
|
|
455
473
|
slots?: Record<string, string> | undefined;
|
|
456
474
|
material?: {
|
|
@@ -471,6 +489,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
471
489
|
} | undefined;
|
|
472
490
|
} | undefined;
|
|
473
491
|
materialPreset?: string | undefined;
|
|
492
|
+
height?: number | undefined;
|
|
474
493
|
thickness?: number | undefined;
|
|
475
494
|
fillToTerrain?: boolean | undefined;
|
|
476
495
|
interiorMaterial?: {
|
|
@@ -565,7 +584,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
565
584
|
postCap: "flat" | "none" | "pyramid";
|
|
566
585
|
showInfill: boolean;
|
|
567
586
|
type: "fence";
|
|
568
|
-
path?: [number, number][] | undefined;
|
|
569
587
|
name?: string | undefined;
|
|
570
588
|
camera?: {
|
|
571
589
|
position: [number, number, number];
|
|
@@ -574,6 +592,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
574
592
|
fov?: number | undefined;
|
|
575
593
|
zoom?: number | undefined;
|
|
576
594
|
} | undefined;
|
|
595
|
+
path?: [number, number][] | undefined;
|
|
577
596
|
supportSlabId?: string | undefined;
|
|
578
597
|
slots?: Record<string, string> | undefined;
|
|
579
598
|
material?: {
|
|
@@ -605,7 +624,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
605
624
|
visible: boolean;
|
|
606
625
|
metadata: Record<string, unknown>;
|
|
607
626
|
rotation: number;
|
|
608
|
-
children:
|
|
627
|
+
children: string[];
|
|
609
628
|
width: number;
|
|
610
629
|
depth: number;
|
|
611
630
|
operationState: number;
|
|
@@ -754,7 +773,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
754
773
|
visible: boolean;
|
|
755
774
|
metadata: Record<string, unknown>;
|
|
756
775
|
rotation: number;
|
|
757
|
-
children:
|
|
776
|
+
children: string[];
|
|
758
777
|
width: number;
|
|
759
778
|
depth: number;
|
|
760
779
|
operationState: number;
|
|
@@ -901,9 +920,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
901
920
|
parentId: string | null;
|
|
902
921
|
visible: boolean;
|
|
903
922
|
metadata: Record<string, unknown>;
|
|
904
|
-
rotation: [number, number, number];
|
|
905
923
|
scale: [number, number, number];
|
|
906
|
-
|
|
924
|
+
rotation: [number, number, number];
|
|
925
|
+
children: string[];
|
|
907
926
|
asset: {
|
|
908
927
|
id: string;
|
|
909
928
|
category: string;
|
|
@@ -917,7 +936,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
917
936
|
scale: [number, number, number];
|
|
918
937
|
floorPlanUrl?: string | undefined;
|
|
919
938
|
isDraft?: boolean | undefined;
|
|
920
|
-
attachTo?: "wall" | "
|
|
939
|
+
attachTo?: "wall" | "ceiling" | "wall-side" | undefined;
|
|
921
940
|
recessed?: boolean | undefined;
|
|
922
941
|
tags?: string[] | undefined;
|
|
923
942
|
functionTags?: string[] | undefined;
|
|
@@ -972,14 +991,122 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
972
991
|
zoom?: number | undefined;
|
|
973
992
|
} | undefined;
|
|
974
993
|
side?: "front" | "back" | undefined;
|
|
994
|
+
supportSlabId?: string | undefined;
|
|
995
|
+
slots?: Record<string, string> | undefined;
|
|
996
|
+
roofSegmentId?: string | undefined;
|
|
975
997
|
wallId?: string | undefined;
|
|
976
998
|
wallT?: number | undefined;
|
|
977
|
-
roofSegmentId?: string | undefined;
|
|
978
999
|
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
979
1000
|
blockFaceId?: string | undefined;
|
|
980
|
-
supportSlabId?: string | undefined;
|
|
981
1001
|
collectionIds?: `collection_${string}`[] | undefined;
|
|
982
|
-
|
|
1002
|
+
} | {
|
|
1003
|
+
object: "node";
|
|
1004
|
+
position: [number, number, number];
|
|
1005
|
+
id: `procedural-item_${string}`;
|
|
1006
|
+
parentId: string | null;
|
|
1007
|
+
visible: boolean;
|
|
1008
|
+
metadata: Record<string, unknown>;
|
|
1009
|
+
rotation: [number, number, number];
|
|
1010
|
+
children: string[];
|
|
1011
|
+
slots: Record<string, string>;
|
|
1012
|
+
parameters: Record<string, number>;
|
|
1013
|
+
recipe: {
|
|
1014
|
+
version: 1;
|
|
1015
|
+
name: string;
|
|
1016
|
+
description: string;
|
|
1017
|
+
parameters: {
|
|
1018
|
+
id: string;
|
|
1019
|
+
label: string;
|
|
1020
|
+
default: number;
|
|
1021
|
+
min: number;
|
|
1022
|
+
max: number;
|
|
1023
|
+
step: number;
|
|
1024
|
+
unit: "count" | "m" | "rad";
|
|
1025
|
+
part?: string | undefined;
|
|
1026
|
+
axis?: "x" | "y" | "z" | undefined;
|
|
1027
|
+
}[];
|
|
1028
|
+
slots: {
|
|
1029
|
+
id: string;
|
|
1030
|
+
label: string;
|
|
1031
|
+
color: string;
|
|
1032
|
+
finish?: "wood" | "glass" | "metal" | undefined;
|
|
1033
|
+
}[];
|
|
1034
|
+
parts: {
|
|
1035
|
+
id: string;
|
|
1036
|
+
label: string;
|
|
1037
|
+
count: import("../../procedural-items/index.js").Expr;
|
|
1038
|
+
shapes: {
|
|
1039
|
+
id: string;
|
|
1040
|
+
primitive: "box" | "roundedBox" | "cylinder";
|
|
1041
|
+
slot: string;
|
|
1042
|
+
size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1043
|
+
position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1044
|
+
rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
|
|
1045
|
+
radius?: import("../../procedural-items/index.js").Expr | undefined;
|
|
1046
|
+
support?: boolean | undefined;
|
|
1047
|
+
}[];
|
|
1048
|
+
}[];
|
|
1049
|
+
constraints: {
|
|
1050
|
+
left: import("../../procedural-items/index.js").Expr;
|
|
1051
|
+
relation: "lte" | "gte";
|
|
1052
|
+
right: import("../../procedural-items/index.js").Expr;
|
|
1053
|
+
message: string;
|
|
1054
|
+
}[];
|
|
1055
|
+
classification?: {
|
|
1056
|
+
category: string;
|
|
1057
|
+
functionTags: string[];
|
|
1058
|
+
tags: string[];
|
|
1059
|
+
} | undefined;
|
|
1060
|
+
mounting?: {
|
|
1061
|
+
attachTo: "ceiling" | "wall-side";
|
|
1062
|
+
reference: string;
|
|
1063
|
+
} | undefined;
|
|
1064
|
+
surfaces?: {
|
|
1065
|
+
id: string;
|
|
1066
|
+
label: string;
|
|
1067
|
+
position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1068
|
+
size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1069
|
+
part?: string | undefined;
|
|
1070
|
+
rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
|
|
1071
|
+
}[] | undefined;
|
|
1072
|
+
};
|
|
1073
|
+
attachments: Record<string, string>;
|
|
1074
|
+
type: "procedural-item";
|
|
1075
|
+
name?: string | undefined;
|
|
1076
|
+
camera?: {
|
|
1077
|
+
position: [number, number, number];
|
|
1078
|
+
target: [number, number, number];
|
|
1079
|
+
mode: "perspective" | "orthographic";
|
|
1080
|
+
fov?: number | undefined;
|
|
1081
|
+
zoom?: number | undefined;
|
|
1082
|
+
} | undefined;
|
|
1083
|
+
side?: "front" | "back" | undefined;
|
|
1084
|
+
supportSlabId?: string | undefined;
|
|
1085
|
+
wallId?: string | undefined;
|
|
1086
|
+
} | {
|
|
1087
|
+
object: "node";
|
|
1088
|
+
position: [number, number, number];
|
|
1089
|
+
id: `imesh_${string}`;
|
|
1090
|
+
parentId: string | null;
|
|
1091
|
+
visible: boolean;
|
|
1092
|
+
metadata: Record<string, unknown>;
|
|
1093
|
+
rotation: [number, number, number];
|
|
1094
|
+
primitives: {
|
|
1095
|
+
positions: number[];
|
|
1096
|
+
indices: number[];
|
|
1097
|
+
color: string;
|
|
1098
|
+
opacity: number;
|
|
1099
|
+
normals?: number[] | undefined;
|
|
1100
|
+
}[];
|
|
1101
|
+
type: "imported-mesh";
|
|
1102
|
+
name?: string | undefined;
|
|
1103
|
+
camera?: {
|
|
1104
|
+
position: [number, number, number];
|
|
1105
|
+
target: [number, number, number];
|
|
1106
|
+
mode: "perspective" | "orthographic";
|
|
1107
|
+
fov?: number | undefined;
|
|
1108
|
+
zoom?: number | undefined;
|
|
1109
|
+
} | undefined;
|
|
983
1110
|
} | {
|
|
984
1111
|
object: "node";
|
|
985
1112
|
id: `zone_${string}`;
|
|
@@ -1061,7 +1188,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1061
1188
|
parentId: string | null;
|
|
1062
1189
|
visible: boolean;
|
|
1063
1190
|
metadata: Record<string, unknown>;
|
|
1064
|
-
children: `item_${string}`[];
|
|
1191
|
+
children: (`item_${string}` | `procedural-item_${string}`)[];
|
|
1065
1192
|
polygon: [number, number][];
|
|
1066
1193
|
holes: [number, number][][];
|
|
1067
1194
|
holeMetadata: {
|
|
@@ -1079,7 +1206,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1079
1206
|
fov?: number | undefined;
|
|
1080
1207
|
zoom?: number | undefined;
|
|
1081
1208
|
} | undefined;
|
|
1082
|
-
height?: number | undefined;
|
|
1083
1209
|
slots?: Record<string, string> | undefined;
|
|
1084
1210
|
material?: {
|
|
1085
1211
|
id?: string | undefined;
|
|
@@ -1099,6 +1225,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1099
1225
|
} | undefined;
|
|
1100
1226
|
} | undefined;
|
|
1101
1227
|
materialPreset?: string | undefined;
|
|
1228
|
+
height?: number | undefined;
|
|
1102
1229
|
} | {
|
|
1103
1230
|
object: "node";
|
|
1104
1231
|
position: [number, number, number];
|
|
@@ -1236,7 +1363,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1236
1363
|
overhang: number;
|
|
1237
1364
|
shingleThickness: number;
|
|
1238
1365
|
managedByParent: boolean;
|
|
1239
|
-
wallShell: "
|
|
1366
|
+
wallShell: "omit" | "auto" | "include";
|
|
1240
1367
|
shedInsetEndPanels: boolean;
|
|
1241
1368
|
gambrelLowerWidthRatio: number;
|
|
1242
1369
|
gambrelLowerHeightRatio: number;
|
|
@@ -1356,10 +1483,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1356
1483
|
visible: boolean;
|
|
1357
1484
|
metadata: Record<string, unknown>;
|
|
1358
1485
|
rotation: [number, number, number];
|
|
1359
|
-
|
|
1360
|
-
children: `item_${string}`[];
|
|
1486
|
+
children: string[];
|
|
1361
1487
|
width: number;
|
|
1362
1488
|
depth: number;
|
|
1489
|
+
height: number;
|
|
1363
1490
|
style: "wall-shelf" | "bookshelf" | "open-rack" | "cubby";
|
|
1364
1491
|
rows: number;
|
|
1365
1492
|
thickness: number;
|
|
@@ -1510,15 +1637,15 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1510
1637
|
totalRise?: number | undefined;
|
|
1511
1638
|
} | {
|
|
1512
1639
|
object: "node";
|
|
1513
|
-
length: number;
|
|
1514
1640
|
position: [number, number, number];
|
|
1515
1641
|
id: `sseg_${string}`;
|
|
1516
1642
|
parentId: string | null;
|
|
1517
1643
|
visible: boolean;
|
|
1518
1644
|
metadata: Record<string, unknown>;
|
|
1645
|
+
length: number;
|
|
1519
1646
|
rotation: number;
|
|
1520
|
-
height: number;
|
|
1521
1647
|
width: number;
|
|
1648
|
+
height: number;
|
|
1522
1649
|
thickness: number;
|
|
1523
1650
|
stepCount: number;
|
|
1524
1651
|
fillToFloor: boolean;
|
|
@@ -1558,10 +1685,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1558
1685
|
parentId: string | null;
|
|
1559
1686
|
visible: boolean;
|
|
1560
1687
|
metadata: Record<string, unknown>;
|
|
1561
|
-
rotation: [number, number, number];
|
|
1562
|
-
scale: number;
|
|
1563
|
-
url: string | null;
|
|
1564
1688
|
opacity: number;
|
|
1689
|
+
url: string | null;
|
|
1690
|
+
scale: number;
|
|
1691
|
+
rotation: [number, number, number];
|
|
1565
1692
|
captureSession: {
|
|
1566
1693
|
sessionId: string;
|
|
1567
1694
|
schemaVersion?: number | undefined;
|
|
@@ -1585,10 +1712,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1585
1712
|
parentId: string | null;
|
|
1586
1713
|
visible: boolean;
|
|
1587
1714
|
metadata: Record<string, unknown>;
|
|
1588
|
-
rotation: [number, number, number];
|
|
1589
|
-
scale: number;
|
|
1590
|
-
url: string;
|
|
1591
1715
|
opacity: number;
|
|
1716
|
+
url: string;
|
|
1717
|
+
scale: number;
|
|
1718
|
+
rotation: [number, number, number];
|
|
1592
1719
|
scaleReference: {
|
|
1593
1720
|
start: [number, number];
|
|
1594
1721
|
end: [number, number];
|
|
@@ -1728,8 +1855,8 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1728
1855
|
visible: boolean;
|
|
1729
1856
|
metadata: Record<string, unknown>;
|
|
1730
1857
|
rotation: [number, number, number];
|
|
1731
|
-
height: number;
|
|
1732
1858
|
width: number;
|
|
1859
|
+
height: number;
|
|
1733
1860
|
constructionType: "framed" | "masonry";
|
|
1734
1861
|
dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
|
|
1735
1862
|
operationState: number;
|
|
@@ -1763,9 +1890,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1763
1890
|
zoom?: number | undefined;
|
|
1764
1891
|
} | undefined;
|
|
1765
1892
|
side?: "front" | "back" | undefined;
|
|
1766
|
-
wallId?: string | undefined;
|
|
1767
|
-
roofSegmentId?: string | undefined;
|
|
1768
|
-
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1769
1893
|
slots?: Record<string, string> | undefined;
|
|
1770
1894
|
material?: {
|
|
1771
1895
|
id?: string | undefined;
|
|
@@ -1784,6 +1908,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1784
1908
|
scale?: number | undefined;
|
|
1785
1909
|
} | undefined;
|
|
1786
1910
|
} | undefined;
|
|
1911
|
+
roofSegmentId?: string | undefined;
|
|
1912
|
+
wallId?: string | undefined;
|
|
1913
|
+
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1787
1914
|
mark?: string | undefined;
|
|
1788
1915
|
roughOpeningWidth?: number | undefined;
|
|
1789
1916
|
roughOpeningHeight?: number | undefined;
|
|
@@ -1801,9 +1928,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1801
1928
|
visible: boolean;
|
|
1802
1929
|
metadata: Record<string, unknown>;
|
|
1803
1930
|
rotation: [number, number, number];
|
|
1804
|
-
height: number;
|
|
1805
1931
|
width: number;
|
|
1806
|
-
|
|
1932
|
+
height: number;
|
|
1933
|
+
leafCount: 3 | 2 | 1 | 4;
|
|
1807
1934
|
constructionType: "framed" | "masonry";
|
|
1808
1935
|
dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
|
|
1809
1936
|
doorCategory: "interior" | "garage";
|
|
@@ -1851,9 +1978,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1851
1978
|
zoom?: number | undefined;
|
|
1852
1979
|
} | undefined;
|
|
1853
1980
|
side?: "front" | "back" | undefined;
|
|
1854
|
-
wallId?: string | undefined;
|
|
1855
|
-
roofSegmentId?: string | undefined;
|
|
1856
|
-
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1857
1981
|
slots?: Record<string, string> | undefined;
|
|
1858
1982
|
material?: {
|
|
1859
1983
|
id?: string | undefined;
|
|
@@ -1872,6 +1996,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1872
1996
|
scale?: number | undefined;
|
|
1873
1997
|
} | undefined;
|
|
1874
1998
|
} | undefined;
|
|
1999
|
+
roofSegmentId?: string | undefined;
|
|
2000
|
+
wallId?: string | undefined;
|
|
2001
|
+
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1875
2002
|
mark?: string | undefined;
|
|
1876
2003
|
roughOpeningWidth?: number | undefined;
|
|
1877
2004
|
roughOpeningHeight?: number | undefined;
|
|
@@ -1887,10 +2014,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1887
2014
|
visible: boolean;
|
|
1888
2015
|
metadata: Record<string, unknown>;
|
|
1889
2016
|
rotation: number;
|
|
1890
|
-
height: number;
|
|
1891
2017
|
materialPreset: string;
|
|
1892
2018
|
width: number;
|
|
1893
2019
|
depth: number;
|
|
2020
|
+
height: number;
|
|
1894
2021
|
hoodOverhang: number;
|
|
1895
2022
|
topTaper: number;
|
|
1896
2023
|
capHeight: number;
|
|
@@ -1909,7 +2036,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1909
2036
|
fov?: number | undefined;
|
|
1910
2037
|
zoom?: number | undefined;
|
|
1911
2038
|
} | undefined;
|
|
1912
|
-
roofSegmentId?: string | undefined;
|
|
1913
2039
|
slots?: Record<string, string> | undefined;
|
|
1914
2040
|
material?: {
|
|
1915
2041
|
id?: string | undefined;
|
|
@@ -1928,17 +2054,18 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1928
2054
|
scale?: number | undefined;
|
|
1929
2055
|
} | undefined;
|
|
1930
2056
|
} | undefined;
|
|
2057
|
+
roofSegmentId?: string | undefined;
|
|
1931
2058
|
} | {
|
|
1932
2059
|
object: "node";
|
|
1933
|
-
length: number;
|
|
1934
2060
|
position: [number, number, number];
|
|
1935
2061
|
id: `rvent_${string}`;
|
|
1936
2062
|
parentId: string | null;
|
|
1937
2063
|
visible: boolean;
|
|
1938
2064
|
metadata: Record<string, unknown>;
|
|
2065
|
+
length: number;
|
|
1939
2066
|
rotation: number;
|
|
1940
|
-
height: number;
|
|
1941
2067
|
width: number;
|
|
2068
|
+
height: number;
|
|
1942
2069
|
style: "metal" | "standard" | "shingled";
|
|
1943
2070
|
endCaps: boolean;
|
|
1944
2071
|
type: "ridge-vent";
|
|
@@ -1950,7 +2077,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1950
2077
|
fov?: number | undefined;
|
|
1951
2078
|
zoom?: number | undefined;
|
|
1952
2079
|
} | undefined;
|
|
1953
|
-
roofSegmentId?: string | undefined;
|
|
1954
2080
|
material?: {
|
|
1955
2081
|
id?: string | undefined;
|
|
1956
2082
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -1969,6 +2095,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1969
2095
|
} | undefined;
|
|
1970
2096
|
} | undefined;
|
|
1971
2097
|
materialPreset?: string | undefined;
|
|
2098
|
+
roofSegmentId?: string | undefined;
|
|
1972
2099
|
} | {
|
|
1973
2100
|
object: "node";
|
|
1974
2101
|
position: [number, number, number];
|
|
@@ -1977,9 +2104,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1977
2104
|
visible: boolean;
|
|
1978
2105
|
metadata: Record<string, unknown>;
|
|
1979
2106
|
rotation: number;
|
|
1980
|
-
height: number;
|
|
1981
2107
|
materialPreset: string;
|
|
1982
|
-
|
|
2108
|
+
height: number;
|
|
2109
|
+
style: "cylinder" | "globe";
|
|
1983
2110
|
diameter: number;
|
|
1984
2111
|
neckHeight: number;
|
|
1985
2112
|
baseOverhang: number;
|
|
@@ -1994,7 +2121,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
1994
2121
|
fov?: number | undefined;
|
|
1995
2122
|
zoom?: number | undefined;
|
|
1996
2123
|
} | undefined;
|
|
1997
|
-
roofSegmentId?: string | undefined;
|
|
1998
2124
|
slots?: Record<string, string> | undefined;
|
|
1999
2125
|
material?: {
|
|
2000
2126
|
id?: string | undefined;
|
|
@@ -2013,6 +2139,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2013
2139
|
scale?: number | undefined;
|
|
2014
2140
|
} | undefined;
|
|
2015
2141
|
} | undefined;
|
|
2142
|
+
roofSegmentId?: string | undefined;
|
|
2016
2143
|
} | {
|
|
2017
2144
|
object: "node";
|
|
2018
2145
|
position: [number, number, number];
|
|
@@ -2021,10 +2148,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2021
2148
|
visible: boolean;
|
|
2022
2149
|
metadata: Record<string, unknown>;
|
|
2023
2150
|
rotation: number;
|
|
2024
|
-
height: number;
|
|
2025
2151
|
materialPreset: string;
|
|
2026
2152
|
width: number;
|
|
2027
2153
|
depth: number;
|
|
2154
|
+
height: number;
|
|
2028
2155
|
roofStyle: "dome" | "pyramid";
|
|
2029
2156
|
finial: boolean;
|
|
2030
2157
|
type: "cupola";
|
|
@@ -2036,7 +2163,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2036
2163
|
fov?: number | undefined;
|
|
2037
2164
|
zoom?: number | undefined;
|
|
2038
2165
|
} | undefined;
|
|
2039
|
-
roofSegmentId?: string | undefined;
|
|
2040
2166
|
slots?: Record<string, string> | undefined;
|
|
2041
2167
|
material?: {
|
|
2042
2168
|
id?: string | undefined;
|
|
@@ -2055,6 +2181,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2055
2181
|
scale?: number | undefined;
|
|
2056
2182
|
} | undefined;
|
|
2057
2183
|
} | undefined;
|
|
2184
|
+
roofSegmentId?: string | undefined;
|
|
2058
2185
|
} | {
|
|
2059
2186
|
object: "node";
|
|
2060
2187
|
position: [number, number, number];
|
|
@@ -2063,10 +2190,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2063
2190
|
visible: boolean;
|
|
2064
2191
|
metadata: Record<string, unknown>;
|
|
2065
2192
|
rotation: number;
|
|
2066
|
-
height: number;
|
|
2067
2193
|
materialPreset: string;
|
|
2068
2194
|
width: number;
|
|
2069
2195
|
depth: number;
|
|
2196
|
+
height: number;
|
|
2070
2197
|
style: "half-round" | "scoop" | "slant-box";
|
|
2071
2198
|
louverCount: number;
|
|
2072
2199
|
backRatio: number;
|
|
@@ -2079,7 +2206,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2079
2206
|
fov?: number | undefined;
|
|
2080
2207
|
zoom?: number | undefined;
|
|
2081
2208
|
} | undefined;
|
|
2082
|
-
roofSegmentId?: string | undefined;
|
|
2083
2209
|
slots?: Record<string, string> | undefined;
|
|
2084
2210
|
material?: {
|
|
2085
2211
|
id?: string | undefined;
|
|
@@ -2098,21 +2224,22 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2098
2224
|
scale?: number | undefined;
|
|
2099
2225
|
} | undefined;
|
|
2100
2226
|
} | undefined;
|
|
2227
|
+
roofSegmentId?: string | undefined;
|
|
2101
2228
|
} | {
|
|
2102
2229
|
object: "node";
|
|
2103
|
-
length: number;
|
|
2104
2230
|
position: [number, number, number];
|
|
2105
2231
|
id: `gutter_${string}`;
|
|
2106
2232
|
parentId: string | null;
|
|
2107
2233
|
visible: boolean;
|
|
2108
2234
|
metadata: Record<string, unknown>;
|
|
2235
|
+
length: number;
|
|
2109
2236
|
rotation: number;
|
|
2110
2237
|
materialPreset: string;
|
|
2111
2238
|
thickness: number;
|
|
2112
2239
|
profile: "box" | "k-style" | "half-round";
|
|
2240
|
+
size: number;
|
|
2113
2241
|
hangerStyle: "none" | "strap";
|
|
2114
2242
|
hangerSpacing: number;
|
|
2115
|
-
size: number;
|
|
2116
2243
|
endCapLeft: boolean;
|
|
2117
2244
|
endCapRight: boolean;
|
|
2118
2245
|
outlets: {
|
|
@@ -2130,7 +2257,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2130
2257
|
fov?: number | undefined;
|
|
2131
2258
|
zoom?: number | undefined;
|
|
2132
2259
|
} | undefined;
|
|
2133
|
-
roofSegmentId?: string | undefined;
|
|
2134
2260
|
slots?: Record<string, string> | undefined;
|
|
2135
2261
|
material?: {
|
|
2136
2262
|
id?: string | undefined;
|
|
@@ -2149,6 +2275,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2149
2275
|
scale?: number | undefined;
|
|
2150
2276
|
} | undefined;
|
|
2151
2277
|
} | undefined;
|
|
2278
|
+
roofSegmentId?: string | undefined;
|
|
2152
2279
|
arc?: {
|
|
2153
2280
|
centerX: number;
|
|
2154
2281
|
centerZ: number;
|
|
@@ -2205,7 +2332,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2205
2332
|
fov?: number | undefined;
|
|
2206
2333
|
zoom?: number | undefined;
|
|
2207
2334
|
} | undefined;
|
|
2208
|
-
roofSegmentId?: string | undefined;
|
|
2209
2335
|
material?: {
|
|
2210
2336
|
id?: string | undefined;
|
|
2211
2337
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2224,6 +2350,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2224
2350
|
} | undefined;
|
|
2225
2351
|
} | undefined;
|
|
2226
2352
|
materialPreset?: string | undefined;
|
|
2353
|
+
roofSegmentId?: string | undefined;
|
|
2227
2354
|
topMaterial?: {
|
|
2228
2355
|
id?: string | undefined;
|
|
2229
2356
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2270,7 +2397,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2270
2397
|
fov?: number | undefined;
|
|
2271
2398
|
zoom?: number | undefined;
|
|
2272
2399
|
} | undefined;
|
|
2273
|
-
roofSegmentId?: string | undefined;
|
|
2274
2400
|
material?: {
|
|
2275
2401
|
id?: string | undefined;
|
|
2276
2402
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2289,6 +2415,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2289
2415
|
} | undefined;
|
|
2290
2416
|
} | undefined;
|
|
2291
2417
|
materialPreset?: string | undefined;
|
|
2418
|
+
roofSegmentId?: string | undefined;
|
|
2292
2419
|
panelMaterial?: {
|
|
2293
2420
|
id?: string | undefined;
|
|
2294
2421
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2317,10 +2444,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2317
2444
|
visible: boolean;
|
|
2318
2445
|
metadata: Record<string, unknown>;
|
|
2319
2446
|
rotation: number;
|
|
2320
|
-
height: number;
|
|
2321
2447
|
width: number;
|
|
2448
|
+
height: number;
|
|
2322
2449
|
operationState: number;
|
|
2323
|
-
slideDirection: "
|
|
2450
|
+
slideDirection: "x" | "z";
|
|
2324
2451
|
frameThickness: number;
|
|
2325
2452
|
frameDepth: number;
|
|
2326
2453
|
curbHeight: number;
|
|
@@ -2330,7 +2457,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2330
2457
|
lanternHeight: number;
|
|
2331
2458
|
lanternTopScale: number;
|
|
2332
2459
|
openingAngle: number;
|
|
2333
|
-
openingSide: "
|
|
2460
|
+
openingSide: "top" | "right" | "left" | "bottom";
|
|
2334
2461
|
motorHousing: boolean;
|
|
2335
2462
|
slideFraction: number;
|
|
2336
2463
|
trackWidth: number;
|
|
@@ -2345,7 +2472,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2345
2472
|
fov?: number | undefined;
|
|
2346
2473
|
zoom?: number | undefined;
|
|
2347
2474
|
} | undefined;
|
|
2348
|
-
roofSegmentId?: string | undefined;
|
|
2349
2475
|
material?: {
|
|
2350
2476
|
id?: string | undefined;
|
|
2351
2477
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2364,6 +2490,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2364
2490
|
} | undefined;
|
|
2365
2491
|
} | undefined;
|
|
2366
2492
|
materialPreset?: string | undefined;
|
|
2493
|
+
roofSegmentId?: string | undefined;
|
|
2367
2494
|
surfaceNormal?: [number, number, number] | undefined;
|
|
2368
2495
|
glassMaterial?: {
|
|
2369
2496
|
id?: string | undefined;
|
|
@@ -2391,10 +2518,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2391
2518
|
visible: boolean;
|
|
2392
2519
|
metadata: Record<string, unknown>;
|
|
2393
2520
|
rotation: number;
|
|
2394
|
-
height: number;
|
|
2395
2521
|
children: `window_${string}`[];
|
|
2396
2522
|
width: number;
|
|
2397
2523
|
depth: number;
|
|
2524
|
+
height: number;
|
|
2398
2525
|
roofType: "flat" | "hip" | "gable" | "shed" | "gambrel" | "dutch" | "mansard" | "conical";
|
|
2399
2526
|
roofHeight: number;
|
|
2400
2527
|
shedHighSide: "front" | "back";
|
|
@@ -2423,7 +2550,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2423
2550
|
fov?: number | undefined;
|
|
2424
2551
|
zoom?: number | undefined;
|
|
2425
2552
|
} | undefined;
|
|
2426
|
-
roofSegmentId?: string | undefined;
|
|
2427
2553
|
material?: {
|
|
2428
2554
|
id?: string | undefined;
|
|
2429
2555
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2442,6 +2568,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2442
2568
|
} | undefined;
|
|
2443
2569
|
} | undefined;
|
|
2444
2570
|
materialPreset?: string | undefined;
|
|
2571
|
+
roofSegmentId?: string | undefined;
|
|
2445
2572
|
topMaterial?: {
|
|
2446
2573
|
id?: string | undefined;
|
|
2447
2574
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2498,11 +2625,11 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2498
2625
|
sideMaterialPreset?: string | undefined;
|
|
2499
2626
|
} | {
|
|
2500
2627
|
object: "node";
|
|
2501
|
-
length: number;
|
|
2502
2628
|
id: `downspout_${string}`;
|
|
2503
2629
|
parentId: string | null;
|
|
2504
2630
|
visible: boolean;
|
|
2505
2631
|
metadata: Record<string, unknown>;
|
|
2632
|
+
length: number;
|
|
2506
2633
|
materialPreset: string;
|
|
2507
2634
|
diameter: number;
|
|
2508
2635
|
shape: "round" | "auto" | "rect";
|
|
@@ -2542,13 +2669,13 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2542
2669
|
lengthMode?: "manual" | "to-ground" | undefined;
|
|
2543
2670
|
} | {
|
|
2544
2671
|
object: "node";
|
|
2545
|
-
path: [number, number, number][];
|
|
2546
2672
|
id: `duct-segment_${string}`;
|
|
2547
2673
|
parentId: string | null;
|
|
2548
2674
|
visible: boolean;
|
|
2549
2675
|
metadata: Record<string, unknown>;
|
|
2550
|
-
|
|
2676
|
+
path: [number, number, number][];
|
|
2551
2677
|
width: number;
|
|
2678
|
+
height: number;
|
|
2552
2679
|
diameter: number;
|
|
2553
2680
|
shape: "round" | "rect" | "oval";
|
|
2554
2681
|
roll: number;
|
|
@@ -2591,10 +2718,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2591
2718
|
visible: boolean;
|
|
2592
2719
|
metadata: Record<string, unknown>;
|
|
2593
2720
|
rotation: [number, number, number];
|
|
2594
|
-
height: number;
|
|
2595
2721
|
width: number;
|
|
2596
|
-
|
|
2722
|
+
height: number;
|
|
2597
2723
|
angle: number;
|
|
2724
|
+
diameter: number;
|
|
2598
2725
|
shape: "round" | "rect" | "oval";
|
|
2599
2726
|
ductMaterial: "sheet-metal" | "flex" | "duct-board";
|
|
2600
2727
|
system: "supply" | "return";
|
|
@@ -2653,9 +2780,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2653
2780
|
visible: boolean;
|
|
2654
2781
|
metadata: Record<string, unknown>;
|
|
2655
2782
|
rotation: number;
|
|
2656
|
-
height: number;
|
|
2657
2783
|
width: number;
|
|
2658
2784
|
depth: number;
|
|
2785
|
+
height: number;
|
|
2659
2786
|
equipmentType: "furnace" | "air-handler" | "condenser";
|
|
2660
2787
|
supplyShape: "round" | "rect" | "oval";
|
|
2661
2788
|
returnShape: "round" | "rect" | "oval";
|
|
@@ -2677,11 +2804,11 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2677
2804
|
supportSlabId?: string | undefined;
|
|
2678
2805
|
} | {
|
|
2679
2806
|
object: "node";
|
|
2680
|
-
path: [number, number, number][];
|
|
2681
2807
|
id: `lineset_${string}`;
|
|
2682
2808
|
parentId: string | null;
|
|
2683
2809
|
visible: boolean;
|
|
2684
2810
|
metadata: Record<string, unknown>;
|
|
2811
|
+
path: [number, number, number][];
|
|
2685
2812
|
insulated: boolean;
|
|
2686
2813
|
suctionDiameter: number;
|
|
2687
2814
|
liquidDiameter: number;
|
|
@@ -2696,11 +2823,11 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2696
2823
|
} | undefined;
|
|
2697
2824
|
} | {
|
|
2698
2825
|
object: "node";
|
|
2699
|
-
path: [number, number, number][];
|
|
2700
2826
|
id: `liquid-line_${string}`;
|
|
2701
2827
|
parentId: string | null;
|
|
2702
2828
|
visible: boolean;
|
|
2703
2829
|
metadata: Record<string, unknown>;
|
|
2830
|
+
path: [number, number, number][];
|
|
2704
2831
|
diameter: number;
|
|
2705
2832
|
type: "liquid-line";
|
|
2706
2833
|
name?: string | undefined;
|
|
@@ -2713,14 +2840,14 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2713
2840
|
} | undefined;
|
|
2714
2841
|
} | {
|
|
2715
2842
|
object: "node";
|
|
2716
|
-
path: [number, number, number][];
|
|
2717
2843
|
id: `pipe-segment_${string}`;
|
|
2718
2844
|
parentId: string | null;
|
|
2719
2845
|
visible: boolean;
|
|
2720
2846
|
metadata: Record<string, unknown>;
|
|
2847
|
+
path: [number, number, number][];
|
|
2721
2848
|
diameter: number;
|
|
2722
2849
|
system: "waste" | "vent";
|
|
2723
|
-
pipeMaterial: "
|
|
2850
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2724
2851
|
type: "pipe-segment";
|
|
2725
2852
|
name?: string | undefined;
|
|
2726
2853
|
camera?: {
|
|
@@ -2754,12 +2881,12 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2754
2881
|
visible: boolean;
|
|
2755
2882
|
metadata: Record<string, unknown>;
|
|
2756
2883
|
rotation: [number, number, number];
|
|
2757
|
-
diameter: number;
|
|
2758
2884
|
angle: number;
|
|
2885
|
+
diameter: number;
|
|
2759
2886
|
system: "waste" | "vent";
|
|
2760
2887
|
fittingType: "elbow" | "cross" | "reducer" | "end-cap" | "coupling" | "wye" | "sanitary-tee" | "cleanout";
|
|
2761
2888
|
diameter2: number;
|
|
2762
|
-
pipeMaterial: "
|
|
2889
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2763
2890
|
cleanoutStyle: "end" | "inline";
|
|
2764
2891
|
type: "pipe-fitting";
|
|
2765
2892
|
name?: string | undefined;
|
|
@@ -2779,7 +2906,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2779
2906
|
metadata: Record<string, unknown>;
|
|
2780
2907
|
rotation: number;
|
|
2781
2908
|
diameter: number;
|
|
2782
|
-
pipeMaterial: "
|
|
2909
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2783
2910
|
armLengthM: number;
|
|
2784
2911
|
type: "pipe-trap";
|
|
2785
2912
|
name?: string | undefined;
|
|
@@ -2792,7 +2919,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
|
|
|
2792
2919
|
} | undefined;
|
|
2793
2920
|
}>;
|
|
2794
2921
|
export declare function createSurfaceOpeningPreviewController(): {
|
|
2795
|
-
previewSurfaceIds: Set<`
|
|
2922
|
+
previewSurfaceIds: Set<`block_${string}` | `bvent_${string}` | `elevator_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `site_${string}` | `building_${string}` | `level_${string}` | `wall_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}` | `roof_${string}` | `rseg_${string}` | `slab_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${string}` | `stair_${string}` | `sseg_${string}` | `scan_${string}` | `guide_${string}` | `measurement_${string}` | `spawn_${string}` | `shelf_${string}` | `duct-segment_${string}` | `duct-fitting_${string}` | `duct-terminal_${string}` | `hvac-equipment_${string}` | `lineset_${string}` | `liquid-line_${string}` | `pipe-segment_${string}` | `pipe-fitting_${string}` | `pipe-trap_${string}` | `unit_${string}` | `cabinet_${string}` | `cabinet-module_${string}` | `rvent_${string}` | `tvent_${string}` | `cupola_${string}` | `eyebrow-vent_${string}` | `gutter_${string}` | `chimney_${string}` | `solarpanel_${string}` | `skylight_${string}` | `dormer_${string}` | `downspout_${string}`>;
|
|
2796
2923
|
apply(updates: SurfaceOpeningUpdate[]): void;
|
|
2797
2924
|
clear(): void;
|
|
2798
2925
|
};
|