@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,4 +1,4 @@
|
|
|
1
|
-
import type { AnyNode, AnyNodeId, LevelNode, SlabNode } from '../../schema';
|
|
1
|
+
import type { AnyNode, AnyNodeId, LevelNode, SlabNode } from '../../schema/index.js';
|
|
2
2
|
export declare function resolveLevelId(node: AnyNode, nodes: Record<string, AnyNode>): string;
|
|
3
3
|
/**
|
|
4
4
|
* Walks the parent chain of `nodeId` and returns the id of the first ancestor
|
|
@@ -28,6 +28,24 @@ export declare function findLevelAncestorId(nodeId: AnyNodeId, nodes: Record<str
|
|
|
28
28
|
*/
|
|
29
29
|
export declare function resolveBuildingForLevel(levelId: AnyNodeId, nodes: Record<AnyNodeId, AnyNode>): AnyNodeId | null;
|
|
30
30
|
export declare function initSpatialGridSync(): () => void;
|
|
31
|
+
/**
|
|
32
|
+
* Bulk slab-change guard. A scene load, reload, paste or import changes tens to
|
|
33
|
+
* thousands of slabs in one store write, and scanning every node twice per slab
|
|
34
|
+
* is O(slabs × nodes): a 4,600-slab scene blocked the main thread for ~5 s on
|
|
35
|
+
* every load. When at least this many slabs are added, removed or reshaped in
|
|
36
|
+
* one write, `markAllSlabDependents` dirties every node any slab could affect,
|
|
37
|
+
* once, and the per-slab scans are skipped. The marks are a superset of the
|
|
38
|
+
* per-slab result — and `setScene` marks every node dirty right after `set()`
|
|
39
|
+
* regardless — so load-time behaviour is unchanged; the saving is the scans.
|
|
40
|
+
*/
|
|
41
|
+
export declare const BULK_SLAB_CHANGE_THRESHOLD = 32;
|
|
42
|
+
export declare function countBulkSlabChanges(nodes: Record<string, AnyNode>, prevNodes: Record<string, AnyNode>): number;
|
|
43
|
+
/**
|
|
44
|
+
* Every node a slab change can dirty, without looking at any slab: walls and
|
|
45
|
+
* ceilings (overlap and covering-below rules), stairs (deck attachment) and
|
|
46
|
+
* level-hosted floor-placed kinds (the generic re-elevation sweep).
|
|
47
|
+
*/
|
|
48
|
+
export declare function markAllSlabDependents(nodes: Record<string, AnyNode>, markDirty: (id: AnyNodeId) => void): void;
|
|
31
49
|
/**
|
|
32
50
|
* A level's stored height moved: plane-bound walls follow the new plane,
|
|
33
51
|
* stair rise re-derives, and ceilings/fences re-resolve their clamp — mark
|
|
@@ -82,7 +100,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
82
100
|
visible: boolean;
|
|
83
101
|
metadata: Record<string, unknown>;
|
|
84
102
|
rotation: [number, number, number];
|
|
85
|
-
children: (`elevator_${string}` | `level_${string}`)[];
|
|
103
|
+
children: (`elevator_${string}` | `level_${string}` | `unit_${string}`)[];
|
|
86
104
|
type: "building";
|
|
87
105
|
name?: string | undefined;
|
|
88
106
|
camera?: {
|
|
@@ -148,13 +166,31 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
148
166
|
shaftWidth?: number | undefined;
|
|
149
167
|
shaftDepth?: number | undefined;
|
|
150
168
|
servedLevelIds?: string[] | undefined;
|
|
169
|
+
} | {
|
|
170
|
+
object: "node";
|
|
171
|
+
id: `unit_${string}`;
|
|
172
|
+
name: string;
|
|
173
|
+
parentId: string | null;
|
|
174
|
+
visible: boolean;
|
|
175
|
+
metadata: Record<string, unknown>;
|
|
176
|
+
color: string;
|
|
177
|
+
kind: "apartment" | "hotel-room" | "commercial" | "common";
|
|
178
|
+
members: `zone_${string}`[];
|
|
179
|
+
type: "unit";
|
|
180
|
+
camera?: {
|
|
181
|
+
position: [number, number, number];
|
|
182
|
+
target: [number, number, number];
|
|
183
|
+
mode: "perspective" | "orthographic";
|
|
184
|
+
fov?: number | undefined;
|
|
185
|
+
zoom?: number | undefined;
|
|
186
|
+
} | undefined;
|
|
151
187
|
} | {
|
|
152
188
|
object: "node";
|
|
153
189
|
id: `level_${string}`;
|
|
154
190
|
parentId: string | null;
|
|
155
191
|
visible: boolean;
|
|
156
192
|
metadata: Record<string, unknown>;
|
|
157
|
-
children: (`
|
|
193
|
+
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}`)[];
|
|
158
194
|
level: number;
|
|
159
195
|
baseElevation: number;
|
|
160
196
|
type: "level";
|
|
@@ -264,9 +300,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
264
300
|
visible: boolean;
|
|
265
301
|
metadata: Record<string, unknown>;
|
|
266
302
|
rotation: number;
|
|
267
|
-
|
|
303
|
+
children: string[];
|
|
268
304
|
width: number;
|
|
269
305
|
depth: number;
|
|
306
|
+
height: number;
|
|
270
307
|
baseHeight: number;
|
|
271
308
|
style: "plain" | "faceted" | "fluted" | "lathe-turned" | "dravidian-carved" | "cluster";
|
|
272
309
|
crossSection: "round" | "square" | "rectangular" | "octagonal" | "sixteen-sided";
|
|
@@ -400,7 +437,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
400
437
|
drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
|
|
401
438
|
drawingOverrides: {
|
|
402
439
|
drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
|
|
403
|
-
presentation: "
|
|
440
|
+
presentation: "shown" | "omit" | "controlled";
|
|
404
441
|
suppressedSegmentIndexes: number[];
|
|
405
442
|
}[];
|
|
406
443
|
controllingDimensionId: `construction-dimension_${string}` | null;
|
|
@@ -421,8 +458,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
421
458
|
visible: boolean;
|
|
422
459
|
metadata: Record<string, unknown>;
|
|
423
460
|
rotation: number;
|
|
424
|
-
children:
|
|
425
|
-
slots: Record<string, string>;
|
|
461
|
+
children: string[];
|
|
426
462
|
topology: {
|
|
427
463
|
vertices: {
|
|
428
464
|
id: string;
|
|
@@ -438,6 +474,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
438
474
|
materialSlot: string;
|
|
439
475
|
}[];
|
|
440
476
|
};
|
|
477
|
+
slots: Record<string, string>;
|
|
441
478
|
slotNames: Record<string, string>;
|
|
442
479
|
type: "block";
|
|
443
480
|
name?: string | undefined;
|
|
@@ -475,7 +512,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
475
512
|
parentId: string | null;
|
|
476
513
|
visible: boolean;
|
|
477
514
|
metadata: Record<string, unknown>;
|
|
478
|
-
children: (`item_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}`)[];
|
|
515
|
+
children: (`item_${string}` | `procedural-item_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}`)[];
|
|
479
516
|
start: [number, number];
|
|
480
517
|
end: [number, number];
|
|
481
518
|
frontSide: "unknown" | "interior" | "exterior";
|
|
@@ -489,7 +526,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
489
526
|
fov?: number | undefined;
|
|
490
527
|
zoom?: number | undefined;
|
|
491
528
|
} | undefined;
|
|
492
|
-
height?: number | undefined;
|
|
493
529
|
supportSlabId?: string | undefined;
|
|
494
530
|
slots?: Record<string, string> | undefined;
|
|
495
531
|
material?: {
|
|
@@ -510,6 +546,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
510
546
|
} | undefined;
|
|
511
547
|
} | undefined;
|
|
512
548
|
materialPreset?: string | undefined;
|
|
549
|
+
height?: number | undefined;
|
|
513
550
|
thickness?: number | undefined;
|
|
514
551
|
fillToTerrain?: boolean | undefined;
|
|
515
552
|
interiorMaterial?: {
|
|
@@ -604,7 +641,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
604
641
|
postCap: "flat" | "none" | "pyramid";
|
|
605
642
|
showInfill: boolean;
|
|
606
643
|
type: "fence";
|
|
607
|
-
path?: [number, number][] | undefined;
|
|
608
644
|
name?: string | undefined;
|
|
609
645
|
camera?: {
|
|
610
646
|
position: [number, number, number];
|
|
@@ -613,6 +649,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
613
649
|
fov?: number | undefined;
|
|
614
650
|
zoom?: number | undefined;
|
|
615
651
|
} | undefined;
|
|
652
|
+
path?: [number, number][] | undefined;
|
|
616
653
|
supportSlabId?: string | undefined;
|
|
617
654
|
slots?: Record<string, string> | undefined;
|
|
618
655
|
material?: {
|
|
@@ -644,7 +681,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
644
681
|
visible: boolean;
|
|
645
682
|
metadata: Record<string, unknown>;
|
|
646
683
|
rotation: number;
|
|
647
|
-
children:
|
|
684
|
+
children: string[];
|
|
648
685
|
width: number;
|
|
649
686
|
depth: number;
|
|
650
687
|
operationState: number;
|
|
@@ -793,7 +830,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
793
830
|
visible: boolean;
|
|
794
831
|
metadata: Record<string, unknown>;
|
|
795
832
|
rotation: number;
|
|
796
|
-
children:
|
|
833
|
+
children: string[];
|
|
797
834
|
width: number;
|
|
798
835
|
depth: number;
|
|
799
836
|
operationState: number;
|
|
@@ -940,9 +977,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
940
977
|
parentId: string | null;
|
|
941
978
|
visible: boolean;
|
|
942
979
|
metadata: Record<string, unknown>;
|
|
943
|
-
rotation: [number, number, number];
|
|
944
980
|
scale: [number, number, number];
|
|
945
|
-
|
|
981
|
+
rotation: [number, number, number];
|
|
982
|
+
children: string[];
|
|
946
983
|
asset: {
|
|
947
984
|
id: string;
|
|
948
985
|
category: string;
|
|
@@ -956,7 +993,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
956
993
|
scale: [number, number, number];
|
|
957
994
|
floorPlanUrl?: string | undefined;
|
|
958
995
|
isDraft?: boolean | undefined;
|
|
959
|
-
attachTo?: "wall" | "
|
|
996
|
+
attachTo?: "wall" | "ceiling" | "wall-side" | undefined;
|
|
960
997
|
recessed?: boolean | undefined;
|
|
961
998
|
tags?: string[] | undefined;
|
|
962
999
|
functionTags?: string[] | undefined;
|
|
@@ -1011,14 +1048,122 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1011
1048
|
zoom?: number | undefined;
|
|
1012
1049
|
} | undefined;
|
|
1013
1050
|
side?: "front" | "back" | undefined;
|
|
1051
|
+
supportSlabId?: string | undefined;
|
|
1052
|
+
slots?: Record<string, string> | undefined;
|
|
1053
|
+
roofSegmentId?: string | undefined;
|
|
1014
1054
|
wallId?: string | undefined;
|
|
1015
1055
|
wallT?: number | undefined;
|
|
1016
|
-
roofSegmentId?: string | undefined;
|
|
1017
1056
|
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1018
1057
|
blockFaceId?: string | undefined;
|
|
1019
|
-
supportSlabId?: string | undefined;
|
|
1020
1058
|
collectionIds?: `collection_${string}`[] | undefined;
|
|
1021
|
-
|
|
1059
|
+
} | {
|
|
1060
|
+
object: "node";
|
|
1061
|
+
position: [number, number, number];
|
|
1062
|
+
id: `procedural-item_${string}`;
|
|
1063
|
+
parentId: string | null;
|
|
1064
|
+
visible: boolean;
|
|
1065
|
+
metadata: Record<string, unknown>;
|
|
1066
|
+
rotation: [number, number, number];
|
|
1067
|
+
children: string[];
|
|
1068
|
+
slots: Record<string, string>;
|
|
1069
|
+
parameters: Record<string, number>;
|
|
1070
|
+
recipe: {
|
|
1071
|
+
version: 1;
|
|
1072
|
+
name: string;
|
|
1073
|
+
description: string;
|
|
1074
|
+
parameters: {
|
|
1075
|
+
id: string;
|
|
1076
|
+
label: string;
|
|
1077
|
+
default: number;
|
|
1078
|
+
min: number;
|
|
1079
|
+
max: number;
|
|
1080
|
+
step: number;
|
|
1081
|
+
unit: "count" | "m" | "rad";
|
|
1082
|
+
part?: string | undefined;
|
|
1083
|
+
axis?: "x" | "y" | "z" | undefined;
|
|
1084
|
+
}[];
|
|
1085
|
+
slots: {
|
|
1086
|
+
id: string;
|
|
1087
|
+
label: string;
|
|
1088
|
+
color: string;
|
|
1089
|
+
finish?: "wood" | "glass" | "metal" | undefined;
|
|
1090
|
+
}[];
|
|
1091
|
+
parts: {
|
|
1092
|
+
id: string;
|
|
1093
|
+
label: string;
|
|
1094
|
+
count: import("../../procedural-items/index.js").Expr;
|
|
1095
|
+
shapes: {
|
|
1096
|
+
id: string;
|
|
1097
|
+
primitive: "box" | "roundedBox" | "cylinder";
|
|
1098
|
+
slot: string;
|
|
1099
|
+
size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1100
|
+
position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1101
|
+
rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
|
|
1102
|
+
radius?: import("../../procedural-items/index.js").Expr | undefined;
|
|
1103
|
+
support?: boolean | undefined;
|
|
1104
|
+
}[];
|
|
1105
|
+
}[];
|
|
1106
|
+
constraints: {
|
|
1107
|
+
left: import("../../procedural-items/index.js").Expr;
|
|
1108
|
+
relation: "lte" | "gte";
|
|
1109
|
+
right: import("../../procedural-items/index.js").Expr;
|
|
1110
|
+
message: string;
|
|
1111
|
+
}[];
|
|
1112
|
+
classification?: {
|
|
1113
|
+
category: string;
|
|
1114
|
+
functionTags: string[];
|
|
1115
|
+
tags: string[];
|
|
1116
|
+
} | undefined;
|
|
1117
|
+
mounting?: {
|
|
1118
|
+
attachTo: "ceiling" | "wall-side";
|
|
1119
|
+
reference: string;
|
|
1120
|
+
} | undefined;
|
|
1121
|
+
surfaces?: {
|
|
1122
|
+
id: string;
|
|
1123
|
+
label: string;
|
|
1124
|
+
position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1125
|
+
size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
|
|
1126
|
+
part?: string | undefined;
|
|
1127
|
+
rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
|
|
1128
|
+
}[] | undefined;
|
|
1129
|
+
};
|
|
1130
|
+
attachments: Record<string, string>;
|
|
1131
|
+
type: "procedural-item";
|
|
1132
|
+
name?: string | undefined;
|
|
1133
|
+
camera?: {
|
|
1134
|
+
position: [number, number, number];
|
|
1135
|
+
target: [number, number, number];
|
|
1136
|
+
mode: "perspective" | "orthographic";
|
|
1137
|
+
fov?: number | undefined;
|
|
1138
|
+
zoom?: number | undefined;
|
|
1139
|
+
} | undefined;
|
|
1140
|
+
side?: "front" | "back" | undefined;
|
|
1141
|
+
supportSlabId?: string | undefined;
|
|
1142
|
+
wallId?: string | undefined;
|
|
1143
|
+
} | {
|
|
1144
|
+
object: "node";
|
|
1145
|
+
position: [number, number, number];
|
|
1146
|
+
id: `imesh_${string}`;
|
|
1147
|
+
parentId: string | null;
|
|
1148
|
+
visible: boolean;
|
|
1149
|
+
metadata: Record<string, unknown>;
|
|
1150
|
+
rotation: [number, number, number];
|
|
1151
|
+
primitives: {
|
|
1152
|
+
positions: number[];
|
|
1153
|
+
indices: number[];
|
|
1154
|
+
color: string;
|
|
1155
|
+
opacity: number;
|
|
1156
|
+
normals?: number[] | undefined;
|
|
1157
|
+
}[];
|
|
1158
|
+
type: "imported-mesh";
|
|
1159
|
+
name?: string | undefined;
|
|
1160
|
+
camera?: {
|
|
1161
|
+
position: [number, number, number];
|
|
1162
|
+
target: [number, number, number];
|
|
1163
|
+
mode: "perspective" | "orthographic";
|
|
1164
|
+
fov?: number | undefined;
|
|
1165
|
+
zoom?: number | undefined;
|
|
1166
|
+
} | undefined;
|
|
1022
1167
|
} | {
|
|
1023
1168
|
object: "node";
|
|
1024
1169
|
id: `zone_${string}`;
|
|
@@ -1100,7 +1245,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1100
1245
|
parentId: string | null;
|
|
1101
1246
|
visible: boolean;
|
|
1102
1247
|
metadata: Record<string, unknown>;
|
|
1103
|
-
children: `item_${string}`[];
|
|
1248
|
+
children: (`item_${string}` | `procedural-item_${string}`)[];
|
|
1104
1249
|
polygon: [number, number][];
|
|
1105
1250
|
holes: [number, number][][];
|
|
1106
1251
|
holeMetadata: {
|
|
@@ -1118,7 +1263,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1118
1263
|
fov?: number | undefined;
|
|
1119
1264
|
zoom?: number | undefined;
|
|
1120
1265
|
} | undefined;
|
|
1121
|
-
height?: number | undefined;
|
|
1122
1266
|
slots?: Record<string, string> | undefined;
|
|
1123
1267
|
material?: {
|
|
1124
1268
|
id?: string | undefined;
|
|
@@ -1138,6 +1282,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1138
1282
|
} | undefined;
|
|
1139
1283
|
} | undefined;
|
|
1140
1284
|
materialPreset?: string | undefined;
|
|
1285
|
+
height?: number | undefined;
|
|
1141
1286
|
} | {
|
|
1142
1287
|
object: "node";
|
|
1143
1288
|
position: [number, number, number];
|
|
@@ -1275,7 +1420,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1275
1420
|
overhang: number;
|
|
1276
1421
|
shingleThickness: number;
|
|
1277
1422
|
managedByParent: boolean;
|
|
1278
|
-
wallShell: "
|
|
1423
|
+
wallShell: "omit" | "auto" | "include";
|
|
1279
1424
|
shedInsetEndPanels: boolean;
|
|
1280
1425
|
gambrelLowerWidthRatio: number;
|
|
1281
1426
|
gambrelLowerHeightRatio: number;
|
|
@@ -1395,10 +1540,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1395
1540
|
visible: boolean;
|
|
1396
1541
|
metadata: Record<string, unknown>;
|
|
1397
1542
|
rotation: [number, number, number];
|
|
1398
|
-
|
|
1399
|
-
children: `item_${string}`[];
|
|
1543
|
+
children: string[];
|
|
1400
1544
|
width: number;
|
|
1401
1545
|
depth: number;
|
|
1546
|
+
height: number;
|
|
1402
1547
|
style: "wall-shelf" | "bookshelf" | "open-rack" | "cubby";
|
|
1403
1548
|
rows: number;
|
|
1404
1549
|
thickness: number;
|
|
@@ -1549,15 +1694,15 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1549
1694
|
totalRise?: number | undefined;
|
|
1550
1695
|
} | {
|
|
1551
1696
|
object: "node";
|
|
1552
|
-
length: number;
|
|
1553
1697
|
position: [number, number, number];
|
|
1554
1698
|
id: `sseg_${string}`;
|
|
1555
1699
|
parentId: string | null;
|
|
1556
1700
|
visible: boolean;
|
|
1557
1701
|
metadata: Record<string, unknown>;
|
|
1702
|
+
length: number;
|
|
1558
1703
|
rotation: number;
|
|
1559
|
-
height: number;
|
|
1560
1704
|
width: number;
|
|
1705
|
+
height: number;
|
|
1561
1706
|
thickness: number;
|
|
1562
1707
|
stepCount: number;
|
|
1563
1708
|
fillToFloor: boolean;
|
|
@@ -1597,10 +1742,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1597
1742
|
parentId: string | null;
|
|
1598
1743
|
visible: boolean;
|
|
1599
1744
|
metadata: Record<string, unknown>;
|
|
1600
|
-
rotation: [number, number, number];
|
|
1601
|
-
scale: number;
|
|
1602
|
-
url: string | null;
|
|
1603
1745
|
opacity: number;
|
|
1746
|
+
url: string | null;
|
|
1747
|
+
scale: number;
|
|
1748
|
+
rotation: [number, number, number];
|
|
1604
1749
|
captureSession: {
|
|
1605
1750
|
sessionId: string;
|
|
1606
1751
|
schemaVersion?: number | undefined;
|
|
@@ -1624,10 +1769,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1624
1769
|
parentId: string | null;
|
|
1625
1770
|
visible: boolean;
|
|
1626
1771
|
metadata: Record<string, unknown>;
|
|
1627
|
-
rotation: [number, number, number];
|
|
1628
|
-
scale: number;
|
|
1629
|
-
url: string;
|
|
1630
1772
|
opacity: number;
|
|
1773
|
+
url: string;
|
|
1774
|
+
scale: number;
|
|
1775
|
+
rotation: [number, number, number];
|
|
1631
1776
|
scaleReference: {
|
|
1632
1777
|
start: [number, number];
|
|
1633
1778
|
end: [number, number];
|
|
@@ -1767,8 +1912,8 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1767
1912
|
visible: boolean;
|
|
1768
1913
|
metadata: Record<string, unknown>;
|
|
1769
1914
|
rotation: [number, number, number];
|
|
1770
|
-
height: number;
|
|
1771
1915
|
width: number;
|
|
1916
|
+
height: number;
|
|
1772
1917
|
constructionType: "framed" | "masonry";
|
|
1773
1918
|
dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
|
|
1774
1919
|
operationState: number;
|
|
@@ -1802,9 +1947,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1802
1947
|
zoom?: number | undefined;
|
|
1803
1948
|
} | undefined;
|
|
1804
1949
|
side?: "front" | "back" | undefined;
|
|
1805
|
-
wallId?: string | undefined;
|
|
1806
|
-
roofSegmentId?: string | undefined;
|
|
1807
|
-
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1808
1950
|
slots?: Record<string, string> | undefined;
|
|
1809
1951
|
material?: {
|
|
1810
1952
|
id?: string | undefined;
|
|
@@ -1823,6 +1965,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1823
1965
|
scale?: number | undefined;
|
|
1824
1966
|
} | undefined;
|
|
1825
1967
|
} | undefined;
|
|
1968
|
+
roofSegmentId?: string | undefined;
|
|
1969
|
+
wallId?: string | undefined;
|
|
1970
|
+
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1826
1971
|
mark?: string | undefined;
|
|
1827
1972
|
roughOpeningWidth?: number | undefined;
|
|
1828
1973
|
roughOpeningHeight?: number | undefined;
|
|
@@ -1840,9 +1985,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1840
1985
|
visible: boolean;
|
|
1841
1986
|
metadata: Record<string, unknown>;
|
|
1842
1987
|
rotation: [number, number, number];
|
|
1843
|
-
height: number;
|
|
1844
1988
|
width: number;
|
|
1845
|
-
|
|
1989
|
+
height: number;
|
|
1990
|
+
leafCount: 3 | 2 | 1 | 4;
|
|
1846
1991
|
constructionType: "framed" | "masonry";
|
|
1847
1992
|
dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
|
|
1848
1993
|
doorCategory: "interior" | "garage";
|
|
@@ -1890,9 +2035,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1890
2035
|
zoom?: number | undefined;
|
|
1891
2036
|
} | undefined;
|
|
1892
2037
|
side?: "front" | "back" | undefined;
|
|
1893
|
-
wallId?: string | undefined;
|
|
1894
|
-
roofSegmentId?: string | undefined;
|
|
1895
|
-
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1896
2038
|
slots?: Record<string, string> | undefined;
|
|
1897
2039
|
material?: {
|
|
1898
2040
|
id?: string | undefined;
|
|
@@ -1911,6 +2053,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1911
2053
|
scale?: number | undefined;
|
|
1912
2054
|
} | undefined;
|
|
1913
2055
|
} | undefined;
|
|
2056
|
+
roofSegmentId?: string | undefined;
|
|
2057
|
+
wallId?: string | undefined;
|
|
2058
|
+
roofFace?: "front" | "back" | "right" | "left" | undefined;
|
|
1914
2059
|
mark?: string | undefined;
|
|
1915
2060
|
roughOpeningWidth?: number | undefined;
|
|
1916
2061
|
roughOpeningHeight?: number | undefined;
|
|
@@ -1926,10 +2071,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1926
2071
|
visible: boolean;
|
|
1927
2072
|
metadata: Record<string, unknown>;
|
|
1928
2073
|
rotation: number;
|
|
1929
|
-
height: number;
|
|
1930
2074
|
materialPreset: string;
|
|
1931
2075
|
width: number;
|
|
1932
2076
|
depth: number;
|
|
2077
|
+
height: number;
|
|
1933
2078
|
hoodOverhang: number;
|
|
1934
2079
|
topTaper: number;
|
|
1935
2080
|
capHeight: number;
|
|
@@ -1948,7 +2093,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1948
2093
|
fov?: number | undefined;
|
|
1949
2094
|
zoom?: number | undefined;
|
|
1950
2095
|
} | undefined;
|
|
1951
|
-
roofSegmentId?: string | undefined;
|
|
1952
2096
|
slots?: Record<string, string> | undefined;
|
|
1953
2097
|
material?: {
|
|
1954
2098
|
id?: string | undefined;
|
|
@@ -1967,17 +2111,18 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1967
2111
|
scale?: number | undefined;
|
|
1968
2112
|
} | undefined;
|
|
1969
2113
|
} | undefined;
|
|
2114
|
+
roofSegmentId?: string | undefined;
|
|
1970
2115
|
} | {
|
|
1971
2116
|
object: "node";
|
|
1972
|
-
length: number;
|
|
1973
2117
|
position: [number, number, number];
|
|
1974
2118
|
id: `rvent_${string}`;
|
|
1975
2119
|
parentId: string | null;
|
|
1976
2120
|
visible: boolean;
|
|
1977
2121
|
metadata: Record<string, unknown>;
|
|
2122
|
+
length: number;
|
|
1978
2123
|
rotation: number;
|
|
1979
|
-
height: number;
|
|
1980
2124
|
width: number;
|
|
2125
|
+
height: number;
|
|
1981
2126
|
style: "metal" | "standard" | "shingled";
|
|
1982
2127
|
endCaps: boolean;
|
|
1983
2128
|
type: "ridge-vent";
|
|
@@ -1989,7 +2134,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
1989
2134
|
fov?: number | undefined;
|
|
1990
2135
|
zoom?: number | undefined;
|
|
1991
2136
|
} | undefined;
|
|
1992
|
-
roofSegmentId?: string | undefined;
|
|
1993
2137
|
material?: {
|
|
1994
2138
|
id?: string | undefined;
|
|
1995
2139
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2008,6 +2152,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2008
2152
|
} | undefined;
|
|
2009
2153
|
} | undefined;
|
|
2010
2154
|
materialPreset?: string | undefined;
|
|
2155
|
+
roofSegmentId?: string | undefined;
|
|
2011
2156
|
} | {
|
|
2012
2157
|
object: "node";
|
|
2013
2158
|
position: [number, number, number];
|
|
@@ -2016,9 +2161,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2016
2161
|
visible: boolean;
|
|
2017
2162
|
metadata: Record<string, unknown>;
|
|
2018
2163
|
rotation: number;
|
|
2019
|
-
height: number;
|
|
2020
2164
|
materialPreset: string;
|
|
2021
|
-
|
|
2165
|
+
height: number;
|
|
2166
|
+
style: "cylinder" | "globe";
|
|
2022
2167
|
diameter: number;
|
|
2023
2168
|
neckHeight: number;
|
|
2024
2169
|
baseOverhang: number;
|
|
@@ -2033,7 +2178,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2033
2178
|
fov?: number | undefined;
|
|
2034
2179
|
zoom?: number | undefined;
|
|
2035
2180
|
} | undefined;
|
|
2036
|
-
roofSegmentId?: string | undefined;
|
|
2037
2181
|
slots?: Record<string, string> | undefined;
|
|
2038
2182
|
material?: {
|
|
2039
2183
|
id?: string | undefined;
|
|
@@ -2052,6 +2196,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2052
2196
|
scale?: number | undefined;
|
|
2053
2197
|
} | undefined;
|
|
2054
2198
|
} | undefined;
|
|
2199
|
+
roofSegmentId?: string | undefined;
|
|
2055
2200
|
} | {
|
|
2056
2201
|
object: "node";
|
|
2057
2202
|
position: [number, number, number];
|
|
@@ -2060,10 +2205,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2060
2205
|
visible: boolean;
|
|
2061
2206
|
metadata: Record<string, unknown>;
|
|
2062
2207
|
rotation: number;
|
|
2063
|
-
height: number;
|
|
2064
2208
|
materialPreset: string;
|
|
2065
2209
|
width: number;
|
|
2066
2210
|
depth: number;
|
|
2211
|
+
height: number;
|
|
2067
2212
|
roofStyle: "dome" | "pyramid";
|
|
2068
2213
|
finial: boolean;
|
|
2069
2214
|
type: "cupola";
|
|
@@ -2075,7 +2220,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2075
2220
|
fov?: number | undefined;
|
|
2076
2221
|
zoom?: number | undefined;
|
|
2077
2222
|
} | undefined;
|
|
2078
|
-
roofSegmentId?: string | undefined;
|
|
2079
2223
|
slots?: Record<string, string> | undefined;
|
|
2080
2224
|
material?: {
|
|
2081
2225
|
id?: string | undefined;
|
|
@@ -2094,6 +2238,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2094
2238
|
scale?: number | undefined;
|
|
2095
2239
|
} | undefined;
|
|
2096
2240
|
} | undefined;
|
|
2241
|
+
roofSegmentId?: string | undefined;
|
|
2097
2242
|
} | {
|
|
2098
2243
|
object: "node";
|
|
2099
2244
|
position: [number, number, number];
|
|
@@ -2102,10 +2247,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2102
2247
|
visible: boolean;
|
|
2103
2248
|
metadata: Record<string, unknown>;
|
|
2104
2249
|
rotation: number;
|
|
2105
|
-
height: number;
|
|
2106
2250
|
materialPreset: string;
|
|
2107
2251
|
width: number;
|
|
2108
2252
|
depth: number;
|
|
2253
|
+
height: number;
|
|
2109
2254
|
style: "half-round" | "scoop" | "slant-box";
|
|
2110
2255
|
louverCount: number;
|
|
2111
2256
|
backRatio: number;
|
|
@@ -2118,7 +2263,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2118
2263
|
fov?: number | undefined;
|
|
2119
2264
|
zoom?: number | undefined;
|
|
2120
2265
|
} | undefined;
|
|
2121
|
-
roofSegmentId?: string | undefined;
|
|
2122
2266
|
slots?: Record<string, string> | undefined;
|
|
2123
2267
|
material?: {
|
|
2124
2268
|
id?: string | undefined;
|
|
@@ -2137,21 +2281,22 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2137
2281
|
scale?: number | undefined;
|
|
2138
2282
|
} | undefined;
|
|
2139
2283
|
} | undefined;
|
|
2284
|
+
roofSegmentId?: string | undefined;
|
|
2140
2285
|
} | {
|
|
2141
2286
|
object: "node";
|
|
2142
|
-
length: number;
|
|
2143
2287
|
position: [number, number, number];
|
|
2144
2288
|
id: `gutter_${string}`;
|
|
2145
2289
|
parentId: string | null;
|
|
2146
2290
|
visible: boolean;
|
|
2147
2291
|
metadata: Record<string, unknown>;
|
|
2292
|
+
length: number;
|
|
2148
2293
|
rotation: number;
|
|
2149
2294
|
materialPreset: string;
|
|
2150
2295
|
thickness: number;
|
|
2151
2296
|
profile: "box" | "k-style" | "half-round";
|
|
2297
|
+
size: number;
|
|
2152
2298
|
hangerStyle: "none" | "strap";
|
|
2153
2299
|
hangerSpacing: number;
|
|
2154
|
-
size: number;
|
|
2155
2300
|
endCapLeft: boolean;
|
|
2156
2301
|
endCapRight: boolean;
|
|
2157
2302
|
outlets: {
|
|
@@ -2169,7 +2314,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2169
2314
|
fov?: number | undefined;
|
|
2170
2315
|
zoom?: number | undefined;
|
|
2171
2316
|
} | undefined;
|
|
2172
|
-
roofSegmentId?: string | undefined;
|
|
2173
2317
|
slots?: Record<string, string> | undefined;
|
|
2174
2318
|
material?: {
|
|
2175
2319
|
id?: string | undefined;
|
|
@@ -2188,6 +2332,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2188
2332
|
scale?: number | undefined;
|
|
2189
2333
|
} | undefined;
|
|
2190
2334
|
} | undefined;
|
|
2335
|
+
roofSegmentId?: string | undefined;
|
|
2191
2336
|
arc?: {
|
|
2192
2337
|
centerX: number;
|
|
2193
2338
|
centerZ: number;
|
|
@@ -2244,7 +2389,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2244
2389
|
fov?: number | undefined;
|
|
2245
2390
|
zoom?: number | undefined;
|
|
2246
2391
|
} | undefined;
|
|
2247
|
-
roofSegmentId?: string | undefined;
|
|
2248
2392
|
material?: {
|
|
2249
2393
|
id?: string | undefined;
|
|
2250
2394
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2263,6 +2407,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2263
2407
|
} | undefined;
|
|
2264
2408
|
} | undefined;
|
|
2265
2409
|
materialPreset?: string | undefined;
|
|
2410
|
+
roofSegmentId?: string | undefined;
|
|
2266
2411
|
topMaterial?: {
|
|
2267
2412
|
id?: string | undefined;
|
|
2268
2413
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2309,7 +2454,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2309
2454
|
fov?: number | undefined;
|
|
2310
2455
|
zoom?: number | undefined;
|
|
2311
2456
|
} | undefined;
|
|
2312
|
-
roofSegmentId?: string | undefined;
|
|
2313
2457
|
material?: {
|
|
2314
2458
|
id?: string | undefined;
|
|
2315
2459
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2328,6 +2472,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2328
2472
|
} | undefined;
|
|
2329
2473
|
} | undefined;
|
|
2330
2474
|
materialPreset?: string | undefined;
|
|
2475
|
+
roofSegmentId?: string | undefined;
|
|
2331
2476
|
panelMaterial?: {
|
|
2332
2477
|
id?: string | undefined;
|
|
2333
2478
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2356,10 +2501,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2356
2501
|
visible: boolean;
|
|
2357
2502
|
metadata: Record<string, unknown>;
|
|
2358
2503
|
rotation: number;
|
|
2359
|
-
height: number;
|
|
2360
2504
|
width: number;
|
|
2505
|
+
height: number;
|
|
2361
2506
|
operationState: number;
|
|
2362
|
-
slideDirection: "
|
|
2507
|
+
slideDirection: "x" | "z";
|
|
2363
2508
|
frameThickness: number;
|
|
2364
2509
|
frameDepth: number;
|
|
2365
2510
|
curbHeight: number;
|
|
@@ -2369,7 +2514,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2369
2514
|
lanternHeight: number;
|
|
2370
2515
|
lanternTopScale: number;
|
|
2371
2516
|
openingAngle: number;
|
|
2372
|
-
openingSide: "
|
|
2517
|
+
openingSide: "top" | "right" | "left" | "bottom";
|
|
2373
2518
|
motorHousing: boolean;
|
|
2374
2519
|
slideFraction: number;
|
|
2375
2520
|
trackWidth: number;
|
|
@@ -2384,7 +2529,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2384
2529
|
fov?: number | undefined;
|
|
2385
2530
|
zoom?: number | undefined;
|
|
2386
2531
|
} | undefined;
|
|
2387
|
-
roofSegmentId?: string | undefined;
|
|
2388
2532
|
material?: {
|
|
2389
2533
|
id?: string | undefined;
|
|
2390
2534
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2403,6 +2547,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2403
2547
|
} | undefined;
|
|
2404
2548
|
} | undefined;
|
|
2405
2549
|
materialPreset?: string | undefined;
|
|
2550
|
+
roofSegmentId?: string | undefined;
|
|
2406
2551
|
surfaceNormal?: [number, number, number] | undefined;
|
|
2407
2552
|
glassMaterial?: {
|
|
2408
2553
|
id?: string | undefined;
|
|
@@ -2430,10 +2575,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2430
2575
|
visible: boolean;
|
|
2431
2576
|
metadata: Record<string, unknown>;
|
|
2432
2577
|
rotation: number;
|
|
2433
|
-
height: number;
|
|
2434
2578
|
children: `window_${string}`[];
|
|
2435
2579
|
width: number;
|
|
2436
2580
|
depth: number;
|
|
2581
|
+
height: number;
|
|
2437
2582
|
roofType: "flat" | "hip" | "gable" | "shed" | "gambrel" | "dutch" | "mansard" | "conical";
|
|
2438
2583
|
roofHeight: number;
|
|
2439
2584
|
shedHighSide: "front" | "back";
|
|
@@ -2462,7 +2607,6 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2462
2607
|
fov?: number | undefined;
|
|
2463
2608
|
zoom?: number | undefined;
|
|
2464
2609
|
} | undefined;
|
|
2465
|
-
roofSegmentId?: string | undefined;
|
|
2466
2610
|
material?: {
|
|
2467
2611
|
id?: string | undefined;
|
|
2468
2612
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2481,6 +2625,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2481
2625
|
} | undefined;
|
|
2482
2626
|
} | undefined;
|
|
2483
2627
|
materialPreset?: string | undefined;
|
|
2628
|
+
roofSegmentId?: string | undefined;
|
|
2484
2629
|
topMaterial?: {
|
|
2485
2630
|
id?: string | undefined;
|
|
2486
2631
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -2537,11 +2682,11 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2537
2682
|
sideMaterialPreset?: string | undefined;
|
|
2538
2683
|
} | {
|
|
2539
2684
|
object: "node";
|
|
2540
|
-
length: number;
|
|
2541
2685
|
id: `downspout_${string}`;
|
|
2542
2686
|
parentId: string | null;
|
|
2543
2687
|
visible: boolean;
|
|
2544
2688
|
metadata: Record<string, unknown>;
|
|
2689
|
+
length: number;
|
|
2545
2690
|
materialPreset: string;
|
|
2546
2691
|
diameter: number;
|
|
2547
2692
|
shape: "round" | "auto" | "rect";
|
|
@@ -2581,13 +2726,13 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2581
2726
|
lengthMode?: "manual" | "to-ground" | undefined;
|
|
2582
2727
|
} | {
|
|
2583
2728
|
object: "node";
|
|
2584
|
-
path: [number, number, number][];
|
|
2585
2729
|
id: `duct-segment_${string}`;
|
|
2586
2730
|
parentId: string | null;
|
|
2587
2731
|
visible: boolean;
|
|
2588
2732
|
metadata: Record<string, unknown>;
|
|
2589
|
-
|
|
2733
|
+
path: [number, number, number][];
|
|
2590
2734
|
width: number;
|
|
2735
|
+
height: number;
|
|
2591
2736
|
diameter: number;
|
|
2592
2737
|
shape: "round" | "rect" | "oval";
|
|
2593
2738
|
roll: number;
|
|
@@ -2630,10 +2775,10 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2630
2775
|
visible: boolean;
|
|
2631
2776
|
metadata: Record<string, unknown>;
|
|
2632
2777
|
rotation: [number, number, number];
|
|
2633
|
-
height: number;
|
|
2634
2778
|
width: number;
|
|
2635
|
-
|
|
2779
|
+
height: number;
|
|
2636
2780
|
angle: number;
|
|
2781
|
+
diameter: number;
|
|
2637
2782
|
shape: "round" | "rect" | "oval";
|
|
2638
2783
|
ductMaterial: "sheet-metal" | "flex" | "duct-board";
|
|
2639
2784
|
system: "supply" | "return";
|
|
@@ -2692,9 +2837,9 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2692
2837
|
visible: boolean;
|
|
2693
2838
|
metadata: Record<string, unknown>;
|
|
2694
2839
|
rotation: number;
|
|
2695
|
-
height: number;
|
|
2696
2840
|
width: number;
|
|
2697
2841
|
depth: number;
|
|
2842
|
+
height: number;
|
|
2698
2843
|
equipmentType: "furnace" | "air-handler" | "condenser";
|
|
2699
2844
|
supplyShape: "round" | "rect" | "oval";
|
|
2700
2845
|
returnShape: "round" | "rect" | "oval";
|
|
@@ -2716,11 +2861,11 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2716
2861
|
supportSlabId?: string | undefined;
|
|
2717
2862
|
} | {
|
|
2718
2863
|
object: "node";
|
|
2719
|
-
path: [number, number, number][];
|
|
2720
2864
|
id: `lineset_${string}`;
|
|
2721
2865
|
parentId: string | null;
|
|
2722
2866
|
visible: boolean;
|
|
2723
2867
|
metadata: Record<string, unknown>;
|
|
2868
|
+
path: [number, number, number][];
|
|
2724
2869
|
insulated: boolean;
|
|
2725
2870
|
suctionDiameter: number;
|
|
2726
2871
|
liquidDiameter: number;
|
|
@@ -2735,11 +2880,11 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2735
2880
|
} | undefined;
|
|
2736
2881
|
} | {
|
|
2737
2882
|
object: "node";
|
|
2738
|
-
path: [number, number, number][];
|
|
2739
2883
|
id: `liquid-line_${string}`;
|
|
2740
2884
|
parentId: string | null;
|
|
2741
2885
|
visible: boolean;
|
|
2742
2886
|
metadata: Record<string, unknown>;
|
|
2887
|
+
path: [number, number, number][];
|
|
2743
2888
|
diameter: number;
|
|
2744
2889
|
type: "liquid-line";
|
|
2745
2890
|
name?: string | undefined;
|
|
@@ -2752,14 +2897,14 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2752
2897
|
} | undefined;
|
|
2753
2898
|
} | {
|
|
2754
2899
|
object: "node";
|
|
2755
|
-
path: [number, number, number][];
|
|
2756
2900
|
id: `pipe-segment_${string}`;
|
|
2757
2901
|
parentId: string | null;
|
|
2758
2902
|
visible: boolean;
|
|
2759
2903
|
metadata: Record<string, unknown>;
|
|
2904
|
+
path: [number, number, number][];
|
|
2760
2905
|
diameter: number;
|
|
2761
2906
|
system: "waste" | "vent";
|
|
2762
|
-
pipeMaterial: "
|
|
2907
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2763
2908
|
type: "pipe-segment";
|
|
2764
2909
|
name?: string | undefined;
|
|
2765
2910
|
camera?: {
|
|
@@ -2793,12 +2938,12 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2793
2938
|
visible: boolean;
|
|
2794
2939
|
metadata: Record<string, unknown>;
|
|
2795
2940
|
rotation: [number, number, number];
|
|
2796
|
-
diameter: number;
|
|
2797
2941
|
angle: number;
|
|
2942
|
+
diameter: number;
|
|
2798
2943
|
system: "waste" | "vent";
|
|
2799
2944
|
fittingType: "elbow" | "cross" | "reducer" | "end-cap" | "coupling" | "wye" | "sanitary-tee" | "cleanout";
|
|
2800
2945
|
diameter2: number;
|
|
2801
|
-
pipeMaterial: "
|
|
2946
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2802
2947
|
cleanoutStyle: "end" | "inline";
|
|
2803
2948
|
type: "pipe-fitting";
|
|
2804
2949
|
name?: string | undefined;
|
|
@@ -2818,7 +2963,7 @@ export declare function markSlabChangeDependents(previous: SlabNode, next: SlabN
|
|
|
2818
2963
|
metadata: Record<string, unknown>;
|
|
2819
2964
|
rotation: number;
|
|
2820
2965
|
diameter: number;
|
|
2821
|
-
pipeMaterial: "
|
|
2966
|
+
pipeMaterial: "abs" | "pvc" | "cast-iron";
|
|
2822
2967
|
armLengthM: number;
|
|
2823
2968
|
type: "pipe-trap";
|
|
2824
2969
|
name?: string | undefined;
|