@pascal-app/core 1.0.3 → 1.0.4
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/agent-operations/__fixtures__/add-object-cases.d.ts +235 -0
- package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/add-object-cases.js +129 -0
- package/dist/agent-operations/__fixtures__/build-room-cases.d.ts +4 -0
- package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/build-room-cases.js +635 -0
- package/dist/agent-operations/__fixtures__/cases.d.ts +52 -0
- package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/cases.js +689 -0
- package/dist/agent-operations/__fixtures__/find-by-type-cases.d.ts +7 -0
- package/dist/agent-operations/__fixtures__/find-by-type-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/find-by-type-cases.js +21 -0
- package/dist/agent-operations/__fixtures__/place-items-cases.d.ts +17 -0
- package/dist/agent-operations/__fixtures__/place-items-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/place-items-cases.js +506 -0
- package/dist/agent-operations/__fixtures__/room-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/room-cases.js +338 -0
- package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts +5 -0
- package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/search-assets-cases.js +137 -0
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts +6 -0
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/structure-cases.js +588 -0
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/verify-scene-cases.js +302 -0
- package/dist/agent-operations/achieved.d.ts +16 -0
- package/dist/agent-operations/achieved.d.ts.map +1 -0
- package/dist/agent-operations/achieved.js +28 -0
- package/dist/agent-operations/add-column.d.ts +23 -0
- package/dist/agent-operations/add-column.d.ts.map +1 -0
- package/dist/agent-operations/add-column.js +97 -0
- package/dist/agent-operations/add-level.d.ts +14 -0
- package/dist/agent-operations/add-level.d.ts.map +1 -0
- package/dist/agent-operations/add-level.js +94 -0
- package/dist/agent-operations/add-object.d.ts +114 -0
- package/dist/agent-operations/add-object.d.ts.map +1 -0
- package/dist/agent-operations/add-object.js +361 -0
- package/dist/agent-operations/add-wall.d.ts +15 -0
- package/dist/agent-operations/add-wall.d.ts.map +1 -0
- package/dist/agent-operations/add-wall.js +47 -0
- package/dist/agent-operations/apply-changes.d.ts +16 -0
- package/dist/agent-operations/apply-changes.d.ts.map +1 -0
- package/dist/agent-operations/apply-changes.js +93 -0
- package/dist/agent-operations/apply-outcome.d.ts +15 -0
- package/dist/agent-operations/apply-outcome.d.ts.map +1 -0
- package/dist/agent-operations/apply-outcome.js +18 -0
- package/dist/agent-operations/collections.d.ts +28 -0
- package/dist/agent-operations/collections.d.ts.map +1 -0
- package/dist/agent-operations/collections.js +130 -0
- package/dist/agent-operations/create-room.d.ts +36 -0
- package/dist/agent-operations/create-room.d.ts.map +1 -0
- package/dist/agent-operations/create-room.js +177 -0
- package/dist/agent-operations/create-stair.d.ts +33 -0
- package/dist/agent-operations/create-stair.d.ts.map +1 -0
- package/dist/agent-operations/create-stair.js +247 -0
- package/dist/agent-operations/delete-node.d.ts +6 -0
- package/dist/agent-operations/delete-node.d.ts.map +1 -0
- package/dist/agent-operations/delete-node.js +9 -0
- package/dist/agent-operations/door-clearance.d.ts +135 -0
- package/dist/agent-operations/door-clearance.d.ts.map +1 -0
- package/dist/agent-operations/door-clearance.js +334 -0
- package/dist/agent-operations/duplicate-level.d.ts +12 -0
- package/dist/agent-operations/duplicate-level.d.ts.map +1 -0
- package/dist/agent-operations/duplicate-level.js +54 -0
- package/dist/agent-operations/find-by-type.d.ts +11 -0
- package/dist/agent-operations/find-by-type.d.ts.map +1 -0
- package/dist/agent-operations/find-by-type.js +94 -0
- package/dist/agent-operations/furnish-room.d.ts +18 -0
- package/dist/agent-operations/furnish-room.d.ts.map +1 -0
- package/dist/agent-operations/furnish-room.js +259 -0
- package/dist/agent-operations/get-node.d.ts +9 -0
- package/dist/agent-operations/get-node.d.ts.map +1 -0
- package/dist/agent-operations/get-node.js +33 -0
- package/dist/agent-operations/hosted-services.d.ts +13 -0
- package/dist/agent-operations/hosted-services.d.ts.map +1 -0
- package/dist/agent-operations/hosted-services.js +22 -0
- package/dist/agent-operations/index.d.ts +277 -0
- package/dist/agent-operations/index.d.ts.map +1 -0
- package/dist/agent-operations/index.js +80 -0
- package/dist/agent-operations/layout-clearance.d.ts +108 -0
- package/dist/agent-operations/layout-clearance.d.ts.map +1 -0
- package/dist/agent-operations/layout-clearance.js +190 -0
- package/dist/agent-operations/level-reads.d.ts +33 -0
- package/dist/agent-operations/level-reads.d.ts.map +1 -0
- package/dist/agent-operations/level-reads.js +161 -0
- package/dist/agent-operations/level-target.d.ts +11 -0
- package/dist/agent-operations/level-target.d.ts.map +1 -0
- package/dist/agent-operations/level-target.js +29 -0
- package/dist/agent-operations/list-levels.d.ts +4 -0
- package/dist/agent-operations/list-levels.d.ts.map +1 -0
- package/dist/agent-operations/list-levels.js +31 -0
- package/dist/agent-operations/material-preset.d.ts +11 -0
- package/dist/agent-operations/material-preset.d.ts.map +1 -0
- package/dist/agent-operations/material-preset.js +74 -0
- package/dist/agent-operations/material-refs.d.ts +24 -0
- package/dist/agent-operations/material-refs.d.ts.map +1 -0
- package/dist/agent-operations/material-refs.js +100 -0
- package/dist/agent-operations/node-patch.d.ts +3 -0
- package/dist/agent-operations/node-patch.d.ts.map +1 -0
- package/dist/agent-operations/node-patch.js +114 -0
- package/dist/agent-operations/paint.d.ts +21 -0
- package/dist/agent-operations/paint.d.ts.map +1 -0
- package/dist/agent-operations/paint.js +219 -0
- package/dist/agent-operations/place-items.d.ts +20 -0
- package/dist/agent-operations/place-items.d.ts.map +1 -0
- package/dist/agent-operations/place-items.js +226 -0
- package/dist/agent-operations/plan-geometry.d.ts +24 -0
- package/dist/agent-operations/plan-geometry.d.ts.map +1 -0
- package/dist/agent-operations/plan-geometry.js +94 -0
- package/dist/agent-operations/room-structure.d.ts +87 -0
- package/dist/agent-operations/room-structure.d.ts.map +1 -0
- package/dist/agent-operations/room-structure.js +144 -0
- package/dist/agent-operations/scene-materials.d.ts +15 -0
- package/dist/agent-operations/scene-materials.d.ts.map +1 -0
- package/dist/agent-operations/scene-materials.js +62 -0
- package/dist/agent-operations/scene-measure.d.ts +73 -0
- package/dist/agent-operations/scene-measure.d.ts.map +1 -0
- package/dist/agent-operations/scene-measure.js +73 -0
- package/dist/agent-operations/scene-queries.d.ts +4510 -0
- package/dist/agent-operations/scene-queries.d.ts.map +1 -0
- package/dist/agent-operations/scene-queries.js +84 -0
- package/dist/agent-operations/scene-view.d.ts +98 -0
- package/dist/agent-operations/scene-view.d.ts.map +1 -0
- package/dist/agent-operations/scene-view.js +559 -0
- package/dist/agent-operations/search-assets.d.ts +14 -0
- package/dist/agent-operations/search-assets.d.ts.map +1 -0
- package/dist/agent-operations/search-assets.js +42 -0
- package/dist/agent-operations/search-materials.d.ts +12 -0
- package/dist/agent-operations/search-materials.d.ts.map +1 -0
- package/dist/agent-operations/search-materials.js +111 -0
- package/dist/agent-operations/stairs.d.ts +5 -0
- package/dist/agent-operations/stairs.d.ts.map +1 -0
- package/dist/agent-operations/stairs.js +70 -0
- package/dist/agent-operations/types.d.ts +59 -0
- package/dist/agent-operations/types.d.ts.map +1 -0
- package/dist/agent-operations/types.js +1 -0
- package/dist/agent-operations/verify-scene.d.ts +50 -0
- package/dist/agent-operations/verify-scene.d.ts.map +1 -0
- package/dist/agent-operations/verify-scene.js +369 -0
- package/dist/agent-operations/wall-opening.d.ts +65 -0
- package/dist/agent-operations/wall-opening.d.ts.map +1 -0
- package/dist/agent-operations/wall-opening.js +55 -0
- package/dist/agent-tools/achieved.d.ts +9 -0
- package/dist/agent-tools/achieved.d.ts.map +1 -0
- package/dist/agent-tools/achieved.js +8 -0
- package/dist/agent-tools/add-object.d.ts +43 -0
- package/dist/agent-tools/add-object.d.ts.map +1 -0
- package/dist/agent-tools/add-object.js +86 -0
- package/dist/agent-tools/assets.d.ts +13 -0
- package/dist/agent-tools/assets.d.ts.map +1 -0
- package/dist/agent-tools/assets.js +18 -0
- package/dist/agent-tools/clear-scene.d.ts +10 -0
- package/dist/agent-tools/clear-scene.d.ts.map +1 -0
- package/dist/agent-tools/clear-scene.js +9 -0
- package/dist/agent-tools/collections.d.ts +35 -0
- package/dist/agent-tools/collections.d.ts.map +1 -0
- package/dist/agent-tools/collections.js +31 -0
- package/dist/agent-tools/columns.d.ts +44 -0
- package/dist/agent-tools/columns.d.ts.map +1 -0
- package/dist/agent-tools/columns.js +59 -0
- package/dist/agent-tools/contract.d.ts +68 -0
- package/dist/agent-tools/contract.d.ts.map +1 -0
- package/dist/agent-tools/contract.js +1 -0
- package/dist/agent-tools/create-room.d.ts +63 -0
- package/dist/agent-tools/create-room.d.ts.map +1 -0
- package/dist/agent-tools/create-room.js +90 -0
- package/dist/agent-tools/find-by-type.d.ts +11 -0
- package/dist/agent-tools/find-by-type.d.ts.map +1 -0
- package/dist/agent-tools/find-by-type.js +14 -0
- package/dist/agent-tools/furnish-room.d.ts +26 -0
- package/dist/agent-tools/furnish-room.d.ts.map +1 -0
- package/dist/agent-tools/furnish-room.js +35 -0
- package/dist/agent-tools/hosted-services.d.ts +402 -0
- package/dist/agent-tools/hosted-services.d.ts.map +1 -0
- package/dist/agent-tools/hosted-services.js +148 -0
- package/dist/agent-tools/index.d.ts +864 -0
- package/dist/agent-tools/index.d.ts.map +1 -0
- package/dist/agent-tools/index.js +82 -0
- package/dist/agent-tools/levels.d.ts +72 -0
- package/dist/agent-tools/levels.d.ts.map +1 -0
- package/dist/agent-tools/levels.js +76 -0
- package/dist/agent-tools/measurement.d.ts +37 -0
- package/dist/agent-tools/measurement.d.ts.map +1 -0
- package/dist/agent-tools/measurement.js +94 -0
- package/dist/agent-tools/node-id.d.ts +3 -0
- package/dist/agent-tools/node-id.d.ts.map +1 -0
- package/dist/agent-tools/node-id.js +2 -0
- package/dist/agent-tools/nodes.d.ts +17 -0
- package/dist/agent-tools/nodes.d.ts.map +1 -0
- package/dist/agent-tools/nodes.js +13 -0
- package/dist/agent-tools/paint.d.ts +46 -0
- package/dist/agent-tools/paint.d.ts.map +1 -0
- package/dist/agent-tools/paint.js +29 -0
- package/dist/agent-tools/place-items.d.ts +19 -0
- package/dist/agent-tools/place-items.d.ts.map +1 -0
- package/dist/agent-tools/place-items.js +29 -0
- package/dist/agent-tools/refusal.d.ts +20 -0
- package/dist/agent-tools/refusal.d.ts.map +1 -0
- package/dist/agent-tools/refusal.js +29 -0
- package/dist/agent-tools/room-structure.d.ts +438 -0
- package/dist/agent-tools/room-structure.d.ts.map +1 -0
- package/dist/agent-tools/room-structure.js +207 -0
- package/dist/agent-tools/search-materials.d.ts +20 -0
- package/dist/agent-tools/search-materials.d.ts.map +1 -0
- package/dist/agent-tools/search-materials.js +32 -0
- package/dist/agent-tools/stairs.d.ts +86 -0
- package/dist/agent-tools/stairs.d.ts.map +1 -0
- package/dist/agent-tools/stairs.js +103 -0
- package/dist/agent-tools/verify-scene.d.ts +13 -0
- package/dist/agent-tools/verify-scene.d.ts.map +1 -0
- package/dist/agent-tools/verify-scene.js +21 -0
- package/dist/agent-tools/view-scene.d.ts +43 -0
- package/dist/agent-tools/view-scene.d.ts.map +1 -0
- package/dist/agent-tools/view-scene.js +80 -0
- package/dist/agent-tools/wall-openings.d.ts +163 -0
- package/dist/agent-tools/wall-openings.d.ts.map +1 -0
- package/dist/agent-tools/wall-openings.js +144 -0
- package/dist/agent-tools/walls.d.ts +21 -0
- package/dist/agent-tools/walls.d.ts.map +1 -0
- package/dist/agent-tools/walls.js +30 -0
- package/dist/agent-tools/write-target.d.ts +12 -0
- package/dist/agent-tools/write-target.d.ts.map +1 -0
- package/dist/agent-tools/write-target.js +10 -0
- package/dist/building/__fixtures__/wall-opening-cases.d.ts +736 -0
- package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -0
- package/dist/building/__fixtures__/wall-opening-cases.js +307 -0
- package/dist/building/door-types.d.ts +22 -0
- package/dist/building/door-types.d.ts.map +1 -0
- package/dist/building/door-types.js +167 -0
- package/dist/building/floor-item-fit.d.ts +38 -0
- package/dist/building/floor-item-fit.d.ts.map +1 -0
- package/dist/building/floor-item-fit.js +47 -0
- package/dist/building/index.d.ts +7 -0
- package/dist/building/index.d.ts.map +1 -0
- package/dist/building/index.js +6 -0
- package/dist/building/level-duplication.d.ts +8983 -0
- package/dist/building/level-duplication.d.ts.map +1 -0
- package/dist/building/level-duplication.js +314 -0
- package/dist/building/opening-style-presets.d.ts +46 -0
- package/dist/building/opening-style-presets.d.ts.map +1 -0
- package/dist/building/opening-style-presets.js +195 -0
- package/dist/building/wall-openings.d.ts +445 -0
- package/dist/building/wall-openings.d.ts.map +1 -0
- package/dist/building/wall-openings.js +231 -0
- package/dist/building/window-types.d.ts +17 -0
- package/dist/building/window-types.d.ts.map +1 -0
- package/dist/building/window-types.js +31 -0
- package/dist/commands/structure/apply-zone-transform.d.ts +23 -0
- package/dist/commands/structure/apply-zone-transform.d.ts.map +1 -0
- package/dist/commands/structure/apply-zone-transform.js +55 -0
- package/dist/commands/structure/create-mezzanine.d.ts +12 -0
- package/dist/commands/structure/create-mezzanine.d.ts.map +1 -0
- package/dist/commands/structure/create-mezzanine.js +46 -0
- package/dist/commands/structure/create-zone.d.ts +32 -0
- package/dist/commands/structure/create-zone.d.ts.map +1 -0
- package/dist/commands/structure/create-zone.js +126 -0
- package/dist/commands/structure/delete-zone.d.ts +51 -0
- package/dist/commands/structure/delete-zone.d.ts.map +1 -0
- package/dist/commands/structure/delete-zone.js +354 -0
- package/dist/commands/structure/divide-zone.d.ts +38 -0
- package/dist/commands/structure/divide-zone.d.ts.map +1 -0
- package/dist/commands/structure/divide-zone.js +186 -0
- package/dist/commands/structure/duplicate-zone.d.ts +7 -0
- package/dist/commands/structure/duplicate-zone.d.ts.map +1 -0
- package/dist/commands/structure/duplicate-zone.js +21 -0
- package/dist/commands/structure/floor-opening.d.ts +36 -0
- package/dist/commands/structure/floor-opening.d.ts.map +1 -0
- package/dist/commands/structure/floor-opening.js +124 -0
- package/dist/commands/structure/index.d.ts +22 -0
- package/dist/commands/structure/index.d.ts.map +1 -0
- package/dist/commands/structure/index.js +20 -0
- package/dist/commands/structure/lock-outside-faces.d.ts +12 -0
- package/dist/commands/structure/lock-outside-faces.d.ts.map +1 -0
- package/dist/commands/structure/lock-outside-faces.js +32 -0
- package/dist/commands/structure/merge-zones.d.ts +5 -0
- package/dist/commands/structure/merge-zones.d.ts.map +1 -0
- package/dist/commands/structure/merge-zones.js +22 -0
- package/dist/commands/structure/mezzanine-content.d.ts +16 -0
- package/dist/commands/structure/mezzanine-content.d.ts.map +1 -0
- package/dist/commands/structure/mezzanine-content.js +109 -0
- package/dist/commands/structure/plan-mezzanine-stair.d.ts +7 -0
- package/dist/commands/structure/plan-mezzanine-stair.d.ts.map +1 -0
- package/dist/commands/structure/plan-mezzanine-stair.js +127 -0
- package/dist/commands/structure/plan-wall-deletion.d.ts +9 -0
- package/dist/commands/structure/plan-wall-deletion.d.ts.map +1 -0
- package/dist/commands/structure/plan-wall-deletion.js +151 -0
- package/dist/commands/structure/rebase-floor-reference.d.ts +7 -0
- package/dist/commands/structure/rebase-floor-reference.d.ts.map +1 -0
- package/dist/commands/structure/rebase-floor-reference.js +90 -0
- package/dist/commands/structure/resize-mezzanine.d.ts +8 -0
- package/dist/commands/structure/resize-mezzanine.d.ts.map +1 -0
- package/dist/commands/structure/resize-mezzanine.js +43 -0
- package/dist/commands/structure/rotate-zone.d.ts +8 -0
- package/dist/commands/structure/rotate-zone.d.ts.map +1 -0
- package/dist/commands/structure/rotate-zone.js +28 -0
- package/dist/commands/structure/set-floor-foundation.d.ts +62 -0
- package/dist/commands/structure/set-floor-foundation.d.ts.map +1 -0
- package/dist/commands/structure/set-floor-foundation.js +162 -0
- package/dist/commands/structure/set-room-floor-construction.d.ts +8 -0
- package/dist/commands/structure/set-room-floor-construction.d.ts.map +1 -0
- package/dist/commands/structure/set-room-floor-construction.js +72 -0
- package/dist/commands/structure/set-wall-geometry.d.ts +10 -0
- package/dist/commands/structure/set-wall-geometry.d.ts.map +1 -0
- package/dist/commands/structure/set-wall-geometry.js +52 -0
- package/dist/commands/structure/set-zone-edges.d.ts +14 -0
- package/dist/commands/structure/set-zone-edges.d.ts.map +1 -0
- package/dist/commands/structure/set-zone-edges.js +143 -0
- package/dist/commands/structure/set-zone-intent.d.ts +39 -0
- package/dist/commands/structure/set-zone-intent.d.ts.map +1 -0
- package/dist/commands/structure/set-zone-intent.js +125 -0
- package/dist/commands/structure/shared.d.ts +4512 -0
- package/dist/commands/structure/shared.d.ts.map +1 -0
- package/dist/commands/structure/shared.js +102 -0
- package/dist/commands/structure/transform-zone.d.ts +23 -0
- package/dist/commands/structure/transform-zone.d.ts.map +1 -0
- package/dist/commands/structure/transform-zone.js +472 -0
- package/dist/commands/structure/validate-mezzanine.d.ts +5 -0
- package/dist/commands/structure/validate-mezzanine.d.ts.map +1 -0
- package/dist/commands/structure/validate-mezzanine.js +46 -0
- package/dist/commands/structure/zone-crossings.d.ts +8 -0
- package/dist/commands/structure/zone-crossings.d.ts.map +1 -0
- package/dist/commands/structure/zone-crossings.js +162 -0
- package/dist/commands/structure/zone-drop.d.ts +4 -0
- package/dist/commands/structure/zone-drop.d.ts.map +1 -0
- package/dist/commands/structure/zone-drop.js +68 -0
- package/dist/commands/structure/zone-insertion.d.ts +4 -0
- package/dist/commands/structure/zone-insertion.d.ts.map +1 -0
- package/dist/commands/structure/zone-insertion.js +200 -0
- package/dist/commands/structure/zone-transform-content.d.ts +6 -0
- package/dist/commands/structure/zone-transform-content.d.ts.map +1 -0
- package/dist/commands/structure/zone-transform-content.js +117 -0
- package/dist/commands/structure/zone-wall-merge.d.ts +4977 -0
- package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -0
- package/dist/commands/structure/zone-wall-merge.js +135 -0
- package/dist/contracts/reference-discovery.d.ts +18 -0
- package/dist/contracts/reference-discovery.d.ts.map +1 -0
- package/dist/contracts/reference-discovery.js +100 -0
- package/dist/contracts/reference-inventory.d.ts +44 -0
- package/dist/contracts/reference-inventory.d.ts.map +1 -0
- package/dist/contracts/reference-inventory.js +872 -0
- package/dist/events/bus.d.ts +70 -9
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/hooks/scene-registry/item-clip-registry.d.ts +6 -3
- package/dist/hooks/scene-registry/item-clip-registry.d.ts.map +1 -1
- package/dist/hooks/scene-registry/item-clip-registry.js +2 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.js +15 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +3 -2
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +53 -66
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +1612 -127
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +86 -83
- package/dist/hooks/spatial-grid/support-host-patch.d.ts +1 -0
- package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +12 -5
- package/dist/index.d.ts +80 -13
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +75 -11
- package/dist/lib/__bench__/near-linear-walls.d.ts +2 -0
- package/dist/lib/__bench__/near-linear-walls.d.ts.map +1 -0
- package/dist/lib/__bench__/near-linear-walls.js +24 -0
- package/dist/lib/__bench__/structure-preview.bench.d.ts +2 -0
- package/dist/lib/__bench__/structure-preview.bench.d.ts.map +1 -0
- package/dist/lib/__bench__/structure-preview.bench.js +72 -0
- package/dist/lib/__fixtures__/mezzanine.d.ts +13968 -0
- package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -0
- package/dist/lib/__fixtures__/mezzanine.js +43 -0
- package/dist/lib/absorb-wall-separators.d.ts +4483 -0
- package/dist/lib/absorb-wall-separators.d.ts.map +1 -0
- package/dist/lib/absorb-wall-separators.js +65 -0
- package/dist/lib/angle-accumulator.d.ts +3 -0
- package/dist/lib/angle-accumulator.d.ts.map +1 -0
- package/dist/lib/angle-accumulator.js +13 -0
- package/dist/lib/artifact-store.d.ts +31 -0
- package/dist/lib/artifact-store.d.ts.map +1 -0
- package/dist/lib/artifact-store.js +42 -0
- package/dist/lib/assembly-stack.d.ts +54 -0
- package/dist/lib/assembly-stack.d.ts.map +1 -0
- package/dist/lib/assembly-stack.js +52 -0
- package/dist/lib/asset-storage.d.ts.map +1 -1
- package/dist/lib/asset-storage.js +3 -0
- package/dist/lib/canonical-opening-ring.d.ts +3 -0
- package/dist/lib/canonical-opening-ring.d.ts.map +1 -0
- package/dist/lib/canonical-opening-ring.js +14 -0
- package/dist/lib/ceiling-children.d.ts +8 -0
- package/dist/lib/ceiling-children.d.ts.map +1 -0
- package/dist/lib/ceiling-children.js +36 -0
- package/dist/lib/ceiling-surface.d.ts +40 -0
- package/dist/lib/ceiling-surface.d.ts.map +1 -0
- package/dist/lib/ceiling-surface.js +65 -0
- package/dist/lib/cutter-host.d.ts +5 -0
- package/dist/lib/cutter-host.d.ts.map +1 -0
- package/dist/lib/cutter-host.js +30 -0
- package/dist/lib/floor-construction-lift.d.ts +4 -0
- package/dist/lib/floor-construction-lift.d.ts.map +1 -0
- package/dist/lib/floor-construction-lift.js +54 -0
- package/dist/lib/floor-footprint-key.d.ts +3 -0
- package/dist/lib/floor-footprint-key.d.ts.map +1 -0
- package/dist/lib/floor-footprint-key.js +9 -0
- package/dist/lib/floor-footprint-name.d.ts +11 -0
- package/dist/lib/floor-footprint-name.d.ts.map +1 -0
- package/dist/lib/floor-footprint-name.js +52 -0
- package/dist/lib/floor-foundation-datum.d.ts +31 -0
- package/dist/lib/floor-foundation-datum.d.ts.map +1 -0
- package/dist/lib/floor-foundation-datum.js +226 -0
- package/dist/lib/floor-foundation-stack.d.ts +16 -0
- package/dist/lib/floor-foundation-stack.d.ts.map +1 -0
- package/dist/lib/floor-foundation-stack.js +214 -0
- package/dist/lib/floor-intent-changes.d.ts +10 -0
- package/dist/lib/floor-intent-changes.d.ts.map +1 -0
- package/dist/lib/floor-intent-changes.js +461 -0
- package/dist/lib/floor-opening-footprints.d.ts +24 -0
- package/dist/lib/floor-opening-footprints.d.ts.map +1 -0
- package/dist/lib/floor-opening-footprints.js +127 -0
- package/dist/lib/floor-opening-intent.d.ts +16 -0
- package/dist/lib/floor-opening-intent.d.ts.map +1 -0
- package/dist/lib/floor-opening-intent.js +82 -0
- package/dist/lib/floor-plate-id.d.ts +5 -0
- package/dist/lib/floor-plate-id.d.ts.map +1 -0
- package/dist/lib/floor-plate-id.js +20 -0
- package/dist/lib/floor-plate-paint.d.ts +8 -0
- package/dist/lib/floor-plate-paint.d.ts.map +1 -0
- package/dist/lib/floor-plate-paint.js +11 -0
- package/dist/lib/floor-plates.d.ts +211 -0
- package/dist/lib/floor-plates.d.ts.map +1 -0
- package/dist/lib/floor-plates.js +729 -0
- package/dist/lib/floor-room-faces.d.ts +5 -0
- package/dist/lib/floor-room-faces.d.ts.map +1 -0
- package/dist/lib/floor-room-faces.js +29 -0
- package/dist/lib/floor-step-finish.d.ts +49 -0
- package/dist/lib/floor-step-finish.d.ts.map +1 -0
- package/dist/lib/floor-step-finish.js +128 -0
- package/dist/lib/geometry-script-node.d.ts +82 -0
- package/dist/lib/geometry-script-node.d.ts.map +1 -0
- package/dist/lib/geometry-script-node.js +147 -0
- package/dist/lib/geometry-surfaces.d.ts +61 -0
- package/dist/lib/geometry-surfaces.d.ts.map +1 -0
- package/dist/lib/geometry-surfaces.js +156 -0
- package/dist/lib/item-slab-support.d.ts +14 -0
- package/dist/lib/item-slab-support.d.ts.map +1 -0
- package/dist/lib/item-slab-support.js +40 -0
- package/dist/lib/level-footprints.d.ts +23 -0
- package/dist/lib/level-footprints.d.ts.map +1 -0
- package/dist/lib/level-footprints.js +398 -0
- package/dist/lib/level-name.d.ts +7 -0
- package/dist/lib/level-name.d.ts.map +1 -1
- package/dist/lib/level-name.js +11 -3
- package/dist/lib/new-zone.d.ts +10 -0
- package/dist/lib/new-zone.d.ts.map +1 -0
- package/dist/lib/new-zone.js +10 -0
- package/dist/lib/node-ancestry.d.ts +30 -0
- package/dist/lib/node-ancestry.d.ts.map +1 -0
- package/dist/lib/node-ancestry.js +76 -0
- package/dist/lib/object-cuts.d.ts +11 -0
- package/dist/lib/object-cuts.d.ts.map +1 -0
- package/dist/lib/object-cuts.js +63 -0
- package/dist/lib/opening-floor-datum.d.ts +24 -0
- package/dist/lib/opening-floor-datum.d.ts.map +1 -0
- package/dist/lib/opening-floor-datum.js +145 -0
- package/dist/lib/own-floor-intent.d.ts +15 -0
- package/dist/lib/own-floor-intent.d.ts.map +1 -0
- package/dist/lib/own-floor-intent.js +201 -0
- package/dist/lib/plate-reference.d.ts +3 -0
- package/dist/lib/plate-reference.d.ts.map +1 -0
- package/dist/lib/plate-reference.js +91 -0
- package/dist/lib/plate-surface.d.ts +120 -0
- package/dist/lib/plate-surface.d.ts.map +1 -0
- package/dist/lib/plate-surface.js +725 -0
- package/dist/lib/polygon-boolean.d.ts +17 -0
- package/dist/lib/polygon-boolean.d.ts.map +1 -0
- package/dist/lib/polygon-boolean.js +195 -0
- package/dist/lib/polygon-label.d.ts +7 -0
- package/dist/lib/polygon-label.d.ts.map +1 -0
- package/dist/lib/polygon-label.js +94 -0
- package/dist/lib/room-drawn-floor.d.ts +29 -0
- package/dist/lib/room-drawn-floor.d.ts.map +1 -0
- package/dist/lib/room-drawn-floor.js +88 -0
- package/dist/lib/room-floor-choices.d.ts +11 -0
- package/dist/lib/room-floor-choices.d.ts.map +1 -0
- package/dist/lib/room-floor-choices.js +60 -0
- package/dist/lib/room-floor-feasibility.d.ts +25 -0
- package/dist/lib/room-floor-feasibility.d.ts.map +1 -0
- package/dist/lib/room-floor-feasibility.js +293 -0
- package/dist/lib/room-floor-plate.d.ts +3 -0
- package/dist/lib/room-floor-plate.d.ts.map +1 -0
- package/dist/lib/room-floor-plate.js +4 -0
- package/dist/lib/room-graph.d.ts +79 -0
- package/dist/lib/room-graph.d.ts.map +1 -0
- package/dist/lib/room-graph.js +1265 -0
- package/dist/lib/room-name.d.ts +10 -0
- package/dist/lib/room-name.d.ts.map +1 -0
- package/dist/lib/room-name.js +22 -0
- package/dist/lib/room-topology-index.d.ts +53 -5
- package/dist/lib/room-topology-index.d.ts.map +1 -1
- package/dist/lib/room-topology-index.js +176 -30
- package/dist/lib/room-vertical-placement.d.ts +12 -0
- package/dist/lib/room-vertical-placement.d.ts.map +1 -0
- package/dist/lib/room-vertical-placement.js +28 -0
- package/dist/lib/room-zone-adoption.d.ts +74 -0
- package/dist/lib/room-zone-adoption.d.ts.map +1 -0
- package/dist/lib/room-zone-adoption.js +150 -0
- package/dist/lib/setback-envelope.d.ts +73 -0
- package/dist/lib/setback-envelope.d.ts.map +1 -0
- package/dist/lib/setback-envelope.js +506 -0
- package/dist/lib/slab-polygon.d.ts.map +1 -1
- package/dist/lib/slab-polygon.js +33 -12
- package/dist/lib/slots.d.ts +20 -0
- package/dist/lib/slots.d.ts.map +1 -1
- package/dist/lib/slots.js +44 -0
- package/dist/lib/space-detection.d.ts +14 -94
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +244 -1616
- package/dist/lib/structure-commit.d.ts +38 -0
- package/dist/lib/structure-commit.d.ts.map +1 -0
- package/dist/lib/structure-commit.js +52 -0
- package/dist/lib/structure-kernel.d.ts +66 -0
- package/dist/lib/structure-kernel.d.ts.map +1 -0
- package/dist/lib/structure-kernel.js +735 -0
- package/dist/lib/structure-reconcile.d.ts +15 -0
- package/dist/lib/structure-reconcile.d.ts.map +1 -0
- package/dist/lib/structure-reconcile.js +218 -0
- package/dist/lib/terrain-contours.d.ts +29 -0
- package/dist/lib/terrain-contours.d.ts.map +1 -0
- package/dist/lib/terrain-contours.js +199 -0
- package/dist/lib/terrain-source-persisted.d.ts +42 -0
- package/dist/lib/terrain-source-persisted.d.ts.map +1 -0
- package/dist/lib/terrain-source-persisted.js +68 -0
- package/dist/lib/terrain-source.d.ts +2 -40
- package/dist/lib/terrain-source.d.ts.map +1 -1
- package/dist/lib/terrain-source.js +2 -68
- package/dist/lib/terrain-support-query.d.ts +83 -0
- package/dist/lib/terrain-support-query.d.ts.map +1 -0
- package/dist/lib/terrain-support-query.js +187 -0
- package/dist/lib/terrain-support.d.ts +1 -77
- package/dist/lib/terrain-support.d.ts.map +1 -1
- package/dist/lib/terrain-support.js +3 -181
- package/dist/lib/unit-containment.js +2 -2
- package/dist/lib/unit-report.d.ts.map +1 -1
- package/dist/lib/unit-report.js +5 -4
- package/dist/lib/zone-colors.d.ts +11 -0
- package/dist/lib/zone-colors.d.ts.map +1 -0
- package/dist/lib/zone-colors.js +32 -0
- package/dist/lib/zone-quantities.d.ts.map +1 -1
- package/dist/lib/zone-quantities.js +113 -223
- package/dist/material-library.d.ts +9 -1
- package/dist/material-library.d.ts.map +1 -1
- package/dist/material-library.js +550 -1
- package/dist/node-slots/block.d.ts +7 -0
- package/dist/node-slots/block.d.ts.map +1 -0
- package/dist/node-slots/block.js +27 -0
- package/dist/node-slots/cabinet.d.ts +4 -0
- package/dist/node-slots/cabinet.d.ts.map +1 -0
- package/dist/node-slots/cabinet.js +24 -0
- package/dist/node-slots/ceiling.d.ts +6 -0
- package/dist/node-slots/ceiling.d.ts.map +1 -0
- package/dist/node-slots/ceiling.js +7 -0
- package/dist/node-slots/column.d.ts +9 -0
- package/dist/node-slots/column.d.ts.map +1 -0
- package/dist/node-slots/column.js +24 -0
- package/dist/node-slots/door.d.ts +9 -0
- package/dist/node-slots/door.d.ts.map +1 -0
- package/dist/node-slots/door.js +20 -0
- package/dist/node-slots/duct.d.ts +5 -0
- package/dist/node-slots/duct.d.ts.map +1 -0
- package/dist/node-slots/duct.js +5 -0
- package/dist/node-slots/elevator.d.ts +9 -0
- package/dist/node-slots/elevator.d.ts.map +1 -0
- package/dist/node-slots/elevator.js +17 -0
- package/dist/node-slots/fence.d.ts +10 -0
- package/dist/node-slots/fence.d.ts.map +1 -0
- package/dist/node-slots/fence.js +23 -0
- package/dist/node-slots/index.d.ts +25 -0
- package/dist/node-slots/index.d.ts.map +1 -0
- package/dist/node-slots/index.js +92 -0
- package/dist/node-slots/lean-to-extension.d.ts +5 -0
- package/dist/node-slots/lean-to-extension.d.ts.map +1 -0
- package/dist/node-slots/lean-to-extension.js +15 -0
- package/dist/node-slots/procedural-item.d.ts +4 -0
- package/dist/node-slots/procedural-item.d.ts.map +1 -0
- package/dist/node-slots/procedural-item.js +3 -0
- package/dist/node-slots/roof-accessories.d.ts +9 -0
- package/dist/node-slots/roof-accessories.d.ts.map +1 -0
- package/dist/node-slots/roof-accessories.js +34 -0
- package/dist/node-slots/shelf.d.ts +9 -0
- package/dist/node-slots/shelf.d.ts.map +1 -0
- package/dist/node-slots/shelf.js +30 -0
- package/dist/node-slots/slab.d.ts +7 -0
- package/dist/node-slots/slab.d.ts.map +1 -0
- package/dist/node-slots/slab.js +21 -0
- package/dist/node-slots/stair.d.ts +8 -0
- package/dist/node-slots/stair.d.ts.map +1 -0
- package/dist/node-slots/stair.js +17 -0
- package/dist/node-slots/wall.d.ts +12 -0
- package/dist/node-slots/wall.d.ts.map +1 -0
- package/dist/node-slots/wall.js +55 -0
- package/dist/node-slots/window.d.ts +5 -0
- package/dist/node-slots/window.d.ts.map +1 -0
- package/dist/node-slots/window.js +11 -0
- package/dist/procedural-items/design-placement.d.ts +49 -0
- package/dist/procedural-items/design-placement.d.ts.map +1 -0
- package/dist/procedural-items/design-placement.js +129 -0
- package/dist/procedural-items/design.d.ts +261 -0
- package/dist/procedural-items/design.d.ts.map +1 -0
- package/dist/procedural-items/design.js +707 -0
- package/dist/procedural-items/fixtures.d.ts +464 -24
- package/dist/procedural-items/fixtures.d.ts.map +1 -1
- package/dist/procedural-items/index.d.ts +5 -0
- package/dist/procedural-items/index.d.ts.map +1 -1
- package/dist/procedural-items/index.js +5 -0
- package/dist/procedural-items/integration.d.ts +127 -6
- package/dist/procedural-items/integration.d.ts.map +1 -1
- package/dist/procedural-items/joints.d.ts +56 -0
- package/dist/procedural-items/joints.d.ts.map +1 -0
- package/dist/procedural-items/joints.js +251 -0
- package/dist/procedural-items/library-colors.d.ts +12 -0
- package/dist/procedural-items/library-colors.d.ts.map +1 -1
- package/dist/procedural-items/library-colors.js +37 -3
- package/dist/procedural-items/motion-controller.d.ts +29 -0
- package/dist/procedural-items/motion-controller.d.ts.map +1 -0
- package/dist/procedural-items/motion-controller.js +130 -0
- package/dist/procedural-items/node.d.ts +490 -24
- package/dist/procedural-items/node.d.ts.map +1 -1
- package/dist/procedural-items/query.d.ts +18 -1
- package/dist/procedural-items/query.d.ts.map +1 -1
- package/dist/procedural-items/query.js +78 -39
- package/dist/procedural-items/recipe.d.ts +258 -14
- package/dist/procedural-items/recipe.d.ts.map +1 -1
- package/dist/procedural-items/recipe.js +933 -61
- package/dist/procedural-items/section.d.ts +27 -0
- package/dist/procedural-items/section.d.ts.map +1 -0
- package/dist/procedural-items/section.js +237 -0
- package/dist/procedural-items/spatial.d.ts +21 -0
- package/dist/procedural-items/spatial.d.ts.map +1 -1
- package/dist/procedural-items/spatial.js +90 -0
- package/dist/registry/handles.d.ts +2 -0
- package/dist/registry/handles.d.ts.map +1 -1
- package/dist/registry/index.d.ts +6 -4
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -2
- package/dist/registry/mechanism.d.ts +9 -0
- package/dist/registry/mechanism.d.ts.map +1 -0
- package/dist/registry/mechanism.js +21 -0
- package/dist/registry/registry.d.ts +6 -3
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +59 -22
- package/dist/registry/scene-api.d.ts +20 -0
- package/dist/registry/scene-api.d.ts.map +1 -1
- package/dist/registry/scene-api.js +26 -13
- package/dist/registry/subtree.d.ts +8 -0
- package/dist/registry/subtree.d.ts.map +1 -1
- package/dist/registry/subtree.js +53 -0
- package/dist/registry/types.d.ts +340 -11
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
- package/dist/schema/__fixtures__/node-fixtures.js +2 -0
- package/dist/schema/assembly.d.ts +153 -0
- package/dist/schema/assembly.d.ts.map +1 -0
- package/dist/schema/assembly.js +155 -0
- package/dist/schema/asset-url.d.ts +2 -1
- package/dist/schema/asset-url.d.ts.map +1 -1
- package/dist/schema/asset-url.js +5 -2
- package/dist/schema/base.d.ts +26 -0
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +2 -0
- package/dist/schema/collection-templates.d.ts +46 -0
- package/dist/schema/collection-templates.d.ts.map +1 -0
- package/dist/schema/collection-templates.js +14 -0
- package/dist/schema/collections.d.ts +7 -0
- package/dist/schema/collections.d.ts.map +1 -1
- package/dist/schema/cut.d.ts +29 -0
- package/dist/schema/cut.d.ts.map +1 -0
- package/dist/schema/cut.js +50 -0
- package/dist/schema/geometry-metadata.d.ts +51 -0
- package/dist/schema/geometry-metadata.d.ts.map +1 -0
- package/dist/schema/geometry-metadata.js +57 -0
- package/dist/schema/geometry-source.d.ts +250 -0
- package/dist/schema/geometry-source.d.ts.map +1 -0
- package/dist/schema/geometry-source.js +130 -0
- package/dist/schema/index.d.ts +19 -7
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +21 -5
- package/dist/schema/nodes/block.d.ts +26 -0
- package/dist/schema/nodes/block.d.ts.map +1 -1
- package/dist/schema/nodes/block.js +1 -1
- package/dist/schema/nodes/box-vent.d.ts +26 -0
- package/dist/schema/nodes/box-vent.d.ts.map +1 -1
- package/dist/schema/nodes/building.d.ts +26 -0
- package/dist/schema/nodes/building.d.ts.map +1 -1
- package/dist/schema/nodes/cabinet.d.ts +61 -9
- package/dist/schema/nodes/cabinet.d.ts.map +1 -1
- package/dist/schema/nodes/ceiling.d.ts +37 -0
- package/dist/schema/nodes/ceiling.d.ts.map +1 -1
- package/dist/schema/nodes/ceiling.js +8 -0
- package/dist/schema/nodes/chimney.d.ts +26 -0
- package/dist/schema/nodes/chimney.d.ts.map +1 -1
- package/dist/schema/nodes/column.d.ts +126 -0
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +2 -0
- package/dist/schema/nodes/construction-dimension.d.ts +26 -0
- package/dist/schema/nodes/construction-dimension.d.ts.map +1 -1
- package/dist/schema/nodes/cupola.d.ts +26 -0
- package/dist/schema/nodes/cupola.d.ts.map +1 -1
- package/dist/schema/nodes/curtain-wall.d.ts +5 -5
- package/dist/schema/nodes/door.d.ts +139 -20
- package/dist/schema/nodes/door.d.ts.map +1 -1
- package/dist/schema/nodes/door.js +18 -33
- package/dist/schema/nodes/dormer.d.ts +28 -2
- package/dist/schema/nodes/dormer.d.ts.map +1 -1
- package/dist/schema/nodes/downspout.d.ts +27 -1
- package/dist/schema/nodes/downspout.d.ts.map +1 -1
- package/dist/schema/nodes/duct-fitting.d.ts +27 -1
- package/dist/schema/nodes/duct-fitting.d.ts.map +1 -1
- package/dist/schema/nodes/duct-segment.d.ts +27 -1
- package/dist/schema/nodes/duct-segment.d.ts.map +1 -1
- package/dist/schema/nodes/duct-terminal.d.ts +26 -0
- package/dist/schema/nodes/duct-terminal.d.ts.map +1 -1
- package/dist/schema/nodes/elevator.d.ts +26 -0
- package/dist/schema/nodes/elevator.d.ts.map +1 -1
- package/dist/schema/nodes/eyebrow-vent.d.ts +26 -0
- package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
- package/dist/schema/nodes/fence-feature.d.ts +141 -0
- package/dist/schema/nodes/fence-feature.d.ts.map +1 -0
- package/dist/schema/nodes/fence-feature.js +21 -0
- package/dist/schema/nodes/fence.d.ts +186 -0
- package/dist/schema/nodes/fence.d.ts.map +1 -1
- package/dist/schema/nodes/fence.js +92 -7
- package/dist/schema/nodes/floor-opening.d.ts +61 -0
- package/dist/schema/nodes/floor-opening.d.ts.map +1 -0
- package/dist/schema/nodes/floor-opening.js +17 -0
- package/dist/schema/nodes/guide.d.ts +26 -0
- package/dist/schema/nodes/guide.d.ts.map +1 -1
- package/dist/schema/nodes/gutter.d.ts +26 -0
- package/dist/schema/nodes/gutter.d.ts.map +1 -1
- package/dist/schema/nodes/hvac-equipment.d.ts +26 -0
- package/dist/schema/nodes/hvac-equipment.d.ts.map +1 -1
- package/dist/schema/nodes/imported-mesh.d.ts +26 -0
- package/dist/schema/nodes/imported-mesh.d.ts.map +1 -1
- package/dist/schema/nodes/item.d.ts +153 -2
- package/dist/schema/nodes/item.d.ts.map +1 -1
- package/dist/schema/nodes/item.js +13 -0
- package/dist/schema/nodes/lean-to-extension.d.ts +26 -0
- package/dist/schema/nodes/lean-to-extension.d.ts.map +1 -1
- package/dist/schema/nodes/level.d.ts +27 -1
- package/dist/schema/nodes/level.d.ts.map +1 -1
- package/dist/schema/nodes/lineset.d.ts +26 -0
- package/dist/schema/nodes/lineset.d.ts.map +1 -1
- package/dist/schema/nodes/liquid-line.d.ts +26 -0
- package/dist/schema/nodes/liquid-line.d.ts.map +1 -1
- package/dist/schema/nodes/measurement.d.ts +26 -0
- package/dist/schema/nodes/measurement.d.ts.map +1 -1
- package/dist/schema/nodes/opening-types.d.ts +41 -0
- package/dist/schema/nodes/opening-types.d.ts.map +1 -0
- package/dist/schema/nodes/opening-types.js +48 -0
- package/dist/schema/nodes/pipe-fitting.d.ts +26 -0
- package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -1
- package/dist/schema/nodes/pipe-segment.d.ts +26 -0
- package/dist/schema/nodes/pipe-segment.d.ts.map +1 -1
- package/dist/schema/nodes/pipe-trap.d.ts +26 -0
- package/dist/schema/nodes/pipe-trap.d.ts.map +1 -1
- package/dist/schema/nodes/ridge-vent.d.ts +26 -0
- package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-walls.js +2 -1
- package/dist/schema/nodes/roof-segment.d.ts +30 -2
- package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.js +9 -0
- package/dist/schema/nodes/roof.d.ts +101 -0
- package/dist/schema/nodes/roof.d.ts.map +1 -1
- package/dist/schema/nodes/roof.js +6 -0
- package/dist/schema/nodes/scan.d.ts +26 -0
- package/dist/schema/nodes/scan.d.ts.map +1 -1
- package/dist/schema/nodes/separator.d.ts +50 -0
- package/dist/schema/nodes/separator.d.ts.map +1 -0
- package/dist/schema/nodes/separator.js +8 -0
- package/dist/schema/nodes/shelf.d.ts +26 -0
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/site.d.ts +192 -0
- package/dist/schema/nodes/site.d.ts.map +1 -1
- package/dist/schema/nodes/site.js +178 -1
- package/dist/schema/nodes/skylight.d.ts +30 -4
- package/dist/schema/nodes/skylight.d.ts.map +1 -1
- package/dist/schema/nodes/slab.d.ts +84 -0
- package/dist/schema/nodes/slab.d.ts.map +1 -1
- package/dist/schema/nodes/slab.js +37 -2
- package/dist/schema/nodes/solar-panel.d.ts +26 -0
- package/dist/schema/nodes/solar-panel.d.ts.map +1 -1
- package/dist/schema/nodes/spawn.d.ts +26 -0
- package/dist/schema/nodes/spawn.d.ts.map +1 -1
- package/dist/schema/nodes/stair-construction.d.ts +21 -0
- package/dist/schema/nodes/stair-construction.d.ts.map +1 -0
- package/dist/schema/nodes/stair-construction.js +13 -0
- package/dist/schema/nodes/stair-design-targets.d.ts +9 -0
- package/dist/schema/nodes/stair-design-targets.d.ts.map +1 -0
- package/dist/schema/nodes/stair-design-targets.js +7 -0
- package/dist/schema/nodes/stair-segment.d.ts +72 -4
- package/dist/schema/nodes/stair-segment.d.ts.map +1 -1
- package/dist/schema/nodes/stair-segment.js +13 -0
- package/dist/schema/nodes/stair.d.ts +119 -2
- package/dist/schema/nodes/stair.d.ts.map +1 -1
- package/dist/schema/nodes/stair.js +59 -2
- package/dist/schema/nodes/structural-grid.d.ts +26 -0
- package/dist/schema/nodes/structural-grid.d.ts.map +1 -1
- package/dist/schema/nodes/surface-hole-metadata.d.ts +3 -0
- package/dist/schema/nodes/surface-hole-metadata.d.ts.map +1 -1
- package/dist/schema/nodes/surface-hole-metadata.js +2 -1
- package/dist/schema/nodes/surface-paint-region.d.ts +14 -0
- package/dist/schema/nodes/surface-paint-region.d.ts.map +1 -0
- package/dist/schema/nodes/surface-paint-region.js +12 -0
- package/dist/schema/nodes/turbine-vent.d.ts +26 -0
- package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
- package/dist/schema/nodes/unit.d.ts +26 -0
- package/dist/schema/nodes/unit.d.ts.map +1 -1
- package/dist/schema/nodes/wall.d.ts +352 -61
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +185 -186
- package/dist/schema/nodes/window.d.ts +139 -20
- package/dist/schema/nodes/window.d.ts.map +1 -1
- package/dist/schema/nodes/window.js +12 -14
- package/dist/schema/nodes/zone.d.ts +69 -1
- package/dist/schema/nodes/zone.d.ts.map +1 -1
- package/dist/schema/nodes/zone.js +46 -0
- package/dist/schema/provenance.d.ts +118 -0
- package/dist/schema/provenance.d.ts.map +1 -0
- package/dist/schema/provenance.js +76 -0
- package/dist/schema/source-ref.d.ts +23 -0
- package/dist/schema/source-ref.d.ts.map +1 -0
- package/dist/schema/source-ref.js +29 -0
- package/dist/schema/types.d.ts +3317 -68
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +7 -0
- package/dist/services/alignment-anchors.d.ts +2 -1
- package/dist/services/alignment-anchors.d.ts.map +1 -1
- package/dist/services/alignment-anchors.js +9 -6
- package/dist/services/index.d.ts +1 -1
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -1
- package/dist/services/level-height.d.ts.map +1 -1
- package/dist/services/level-height.js +6 -4
- package/dist/services/storey.d.ts +21 -1
- package/dist/services/storey.d.ts.map +1 -1
- package/dist/services/storey.js +94 -8
- package/dist/services/surface-hosting.d.ts.map +1 -1
- package/dist/services/surface-hosting.js +4 -1
- package/dist/store/actions/node-actions.d.ts +4563 -8
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +495 -174
- package/dist/store/derived-node-guard.d.ts +84 -0
- package/dist/store/derived-node-guard.d.ts.map +1 -0
- package/dist/store/derived-node-guard.js +586 -0
- package/dist/store/history-control.d.ts +34 -0
- package/dist/store/history-control.d.ts.map +1 -1
- package/dist/store/history-control.js +99 -1
- package/dist/store/history-drafts.d.ts +48 -0
- package/dist/store/history-drafts.d.ts.map +1 -0
- package/dist/store/history-drafts.js +403 -0
- package/dist/store/history-invalidation.d.ts.map +1 -1
- package/dist/store/history-invalidation.js +1 -0
- package/dist/store/item-interaction.d.ts +28 -0
- package/dist/store/item-interaction.d.ts.map +1 -0
- package/dist/store/item-interaction.js +34 -0
- package/dist/store/registered-node-defaults.d.ts +11 -0
- package/dist/store/registered-node-defaults.d.ts.map +1 -0
- package/dist/store/registered-node-defaults.js +25 -0
- package/dist/store/scene-annotations.d.ts +8969 -0
- package/dist/store/scene-annotations.d.ts.map +1 -0
- package/dist/store/scene-annotations.js +107 -0
- package/dist/store/use-interactive.d.ts +23 -1
- package/dist/store/use-interactive.d.ts.map +1 -1
- package/dist/store/use-interactive.js +128 -5
- package/dist/store/use-scene.d.ts +68 -12
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +416 -305
- package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -1
- package/dist/systems/elevator/elevator-opening-sync.js +4 -6
- package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
- package/dist/systems/elevator/elevator-opening-system.js +12 -6
- package/dist/systems/elevator/elevator-service.d.ts.map +1 -1
- package/dist/systems/elevator/elevator-service.js +8 -3
- package/dist/systems/fence/fence-centerline.d.ts.map +1 -1
- package/dist/systems/fence/fence-centerline.js +6 -5
- package/dist/systems/fence/fence-features.d.ts +36 -0
- package/dist/systems/fence/fence-features.d.ts.map +1 -0
- package/dist/systems/fence/fence-features.js +105 -0
- package/dist/systems/fence/fence-spline.d.ts +8 -5
- package/dist/systems/fence/fence-spline.d.ts.map +1 -1
- package/dist/systems/fence/fence-spline.js +51 -16
- package/dist/systems/owned-floor-openings.d.ts +9 -0
- package/dist/systems/owned-floor-openings.d.ts.map +1 -0
- package/dist/systems/owned-floor-openings.js +326 -0
- package/dist/systems/reconcile-owned-floor-openings.d.ts +3 -0
- package/dist/systems/reconcile-owned-floor-openings.d.ts.map +1 -0
- package/dist/systems/reconcile-owned-floor-openings.js +25 -0
- package/dist/systems/slab/__fixtures__/doorway-steps.d.ts +8 -0
- package/dist/systems/slab/__fixtures__/doorway-steps.d.ts.map +1 -0
- package/dist/systems/slab/__fixtures__/doorway-steps.js +62 -0
- package/dist/systems/slab/__fixtures__/floor-step.d.ts +5636 -0
- package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -0
- package/dist/systems/slab/__fixtures__/floor-step.js +66 -0
- package/dist/systems/slab/__fixtures__/raised-room.d.ts +5775 -0
- package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -0
- package/dist/systems/slab/__fixtures__/raised-room.js +54 -0
- package/dist/systems/slab/ensure-slab-openings.d.ts +9 -0
- package/dist/systems/slab/ensure-slab-openings.d.ts.map +1 -0
- package/dist/systems/slab/ensure-slab-openings.js +41 -0
- package/dist/systems/slab/slab-support.d.ts +25 -6
- package/dist/systems/slab/slab-support.d.ts.map +1 -1
- package/dist/systems/slab/slab-support.js +471 -54
- package/dist/systems/stair/stair-base-elevation.d.ts +3 -0
- package/dist/systems/stair/stair-base-elevation.d.ts.map +1 -0
- package/dist/systems/stair/stair-base-elevation.js +49 -0
- package/dist/systems/stair/stair-clearance.d.ts +39 -0
- package/dist/systems/stair/stair-clearance.d.ts.map +1 -0
- package/dist/systems/stair/stair-clearance.js +508 -0
- package/dist/systems/stair/stair-construction.d.ts +37 -0
- package/dist/systems/stair/stair-construction.d.ts.map +1 -0
- package/dist/systems/stair/stair-construction.js +314 -0
- package/dist/systems/stair/stair-detail-budget.d.ts +13 -0
- package/dist/systems/stair/stair-detail-budget.d.ts.map +1 -0
- package/dist/systems/stair/stair-detail-budget.js +64 -0
- package/dist/systems/stair/stair-flight.d.ts +2 -2
- package/dist/systems/stair/stair-flight.d.ts.map +1 -1
- package/dist/systems/stair/stair-flight.js +4 -3
- package/dist/systems/stair/stair-floor-footprints.d.ts +7 -0
- package/dist/systems/stair/stair-floor-footprints.d.ts.map +1 -0
- package/dist/systems/stair/stair-floor-footprints.js +113 -0
- package/dist/systems/stair/stair-footprint.d.ts +3 -1
- package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
- package/dist/systems/stair/stair-footprint.js +97 -44
- package/dist/systems/stair/stair-layout.d.ts +39 -0
- package/dist/systems/stair/stair-layout.d.ts.map +1 -0
- package/dist/systems/stair/stair-layout.js +58 -0
- package/dist/systems/stair/stair-opening-preview.d.ts +1612 -80
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-sync.d.ts +8 -2
- package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-sync.js +136 -315
- package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-system.js +40 -8
- package/dist/systems/stair/stair-presets.d.ts +276 -0
- package/dist/systems/stair/stair-presets.d.ts.map +1 -0
- package/dist/systems/stair/stair-presets.js +151 -0
- package/dist/systems/stair/stair-rail-budget.d.ts +6 -0
- package/dist/systems/stair/stair-rail-budget.d.ts.map +1 -0
- package/dist/systems/stair/stair-rail-budget.js +36 -0
- package/dist/systems/stair/stair-rail-path.d.ts +22 -0
- package/dist/systems/stair/stair-rail-path.d.ts.map +1 -0
- package/dist/systems/stair/stair-rail-path.js +497 -0
- package/dist/systems/stair/stair-rise-edit.d.ts +9 -0
- package/dist/systems/stair/stair-rise-edit.d.ts.map +1 -0
- package/dist/systems/stair/stair-rise-edit.js +46 -0
- package/dist/systems/stair/stair-rise-query.d.ts +24 -0
- package/dist/systems/stair/stair-rise-query.d.ts.map +1 -0
- package/dist/systems/stair/stair-rise-query.js +125 -0
- package/dist/systems/stair/stair-rise.d.ts +4 -19
- package/dist/systems/stair/stair-rise.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise.js +8 -71
- package/dist/systems/stair/stair-sizing.d.ts +414 -0
- package/dist/systems/stair/stair-sizing.d.ts.map +1 -0
- package/dist/systems/stair/stair-sizing.js +255 -0
- package/dist/systems/stair/stair-sweep-edit.d.ts +7 -0
- package/dist/systems/stair/stair-sweep-edit.d.ts.map +1 -0
- package/dist/systems/stair/stair-sweep-edit.js +8 -0
- package/dist/systems/stair/stair-walking-line.d.ts +5 -0
- package/dist/systems/stair/stair-walking-line.d.ts.map +1 -0
- package/dist/systems/stair/stair-walking-line.js +91 -0
- package/dist/systems/stair/stair-winder.d.ts +36 -0
- package/dist/systems/stair/stair-winder.d.ts.map +1 -0
- package/dist/systems/stair/stair-winder.js +173 -0
- package/dist/systems/wall/wall-assembly.d.ts +234 -0
- package/dist/systems/wall/wall-assembly.d.ts.map +1 -0
- package/dist/systems/wall/wall-assembly.js +854 -0
- package/dist/systems/wall/wall-curve.d.ts +2 -1
- package/dist/systems/wall/wall-curve.d.ts.map +1 -1
- package/dist/systems/wall/wall-curve.js +21 -5
- package/dist/systems/wall/wall-finish.d.ts +102 -0
- package/dist/systems/wall/wall-finish.d.ts.map +1 -0
- package/dist/systems/wall/wall-finish.js +264 -0
- package/dist/systems/wall/wall-footprint.d.ts +3 -0
- package/dist/systems/wall/wall-footprint.d.ts.map +1 -1
- package/dist/systems/wall/wall-footprint.js +15 -13
- package/dist/systems/wall/wall-frame.d.ts +45 -0
- package/dist/systems/wall/wall-frame.d.ts.map +1 -0
- package/dist/systems/wall/wall-frame.js +162 -0
- package/dist/systems/wall/wall-layer-bands.d.ts +38 -0
- package/dist/systems/wall/wall-layer-bands.d.ts.map +1 -0
- package/dist/systems/wall/wall-layer-bands.js +109 -0
- package/dist/systems/wall/wall-merge.d.ts +20 -1
- package/dist/systems/wall/wall-merge.d.ts.map +1 -1
- package/dist/systems/wall/wall-merge.js +189 -18
- package/dist/systems/wall/wall-mitering.d.ts +6 -5
- package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
- package/dist/systems/wall/wall-mitering.js +70 -20
- package/dist/systems/wall/wall-operations.d.ts +1 -1
- package/dist/systems/wall/wall-operations.d.ts.map +1 -1
- package/dist/systems/wall/wall-operations.js +2 -1
- package/dist/systems/wall/wall-paint-plan.d.ts +30 -0
- package/dist/systems/wall/wall-paint-plan.d.ts.map +1 -0
- package/dist/systems/wall/wall-paint-plan.js +167 -0
- package/dist/systems/wall/wall-room-sides.d.ts +6 -0
- package/dist/systems/wall/wall-room-sides.d.ts.map +1 -0
- package/dist/systems/wall/wall-room-sides.js +14 -0
- package/dist/systems/wall/wall-step-openings.d.ts +17 -0
- package/dist/systems/wall/wall-step-openings.d.ts.map +1 -0
- package/dist/systems/wall/wall-step-openings.js +32 -0
- package/dist/systems/wall/wall-top.d.ts +2 -6
- package/dist/systems/wall/wall-top.d.ts.map +1 -1
- package/dist/systems/wall/wall-top.js +3 -9
- package/dist/systems/wall/wall-topology.d.ts +21 -0
- package/dist/systems/wall/wall-topology.d.ts.map +1 -1
- package/dist/systems/wall/wall-topology.js +405 -4
- package/dist/utils/clone-scene-graph.d.ts +6 -0
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +123 -15
- package/dist/utils/ensure-scene-openings.d.ts +8965 -0
- package/dist/utils/ensure-scene-openings.d.ts.map +1 -0
- package/dist/utils/ensure-scene-openings.js +29 -0
- package/dist/utils/exterior-threshold-migration.d.ts +4 -0
- package/dist/utils/exterior-threshold-migration.d.ts.map +1 -0
- package/dist/utils/exterior-threshold-migration.js +114 -0
- package/dist/utils/floor-follow-migration.d.ts +3 -0
- package/dist/utils/floor-follow-migration.d.ts.map +1 -0
- package/dist/utils/floor-follow-migration.js +29 -0
- package/dist/utils/floor-opening-migration.d.ts +13 -0
- package/dist/utils/floor-opening-migration.d.ts.map +1 -0
- package/dist/utils/floor-opening-migration.js +148 -0
- package/dist/utils/floor-piece-adoption.d.ts +50 -0
- package/dist/utils/floor-piece-adoption.d.ts.map +1 -0
- package/dist/utils/floor-piece-adoption.js +182 -0
- package/dist/utils/floor-plate-migration.d.ts +4507 -0
- package/dist/utils/floor-plate-migration.d.ts.map +1 -0
- package/dist/utils/floor-plate-migration.js +1360 -0
- package/dist/utils/heal-plan-coordinates.d.ts +2 -0
- package/dist/utils/heal-plan-coordinates.d.ts.map +1 -0
- package/dist/utils/heal-plan-coordinates.js +69 -0
- package/dist/utils/heal-scene-graph.d.ts +20 -6
- package/dist/utils/heal-scene-graph.d.ts.map +1 -1
- package/dist/utils/heal-scene-graph.js +61 -16
- package/dist/utils/legacy-material-slots.d.ts +23 -0
- package/dist/utils/legacy-material-slots.d.ts.map +1 -0
- package/dist/utils/legacy-material-slots.js +120 -0
- package/dist/utils/legacy-opening-datums.d.ts +11 -0
- package/dist/utils/legacy-opening-datums.d.ts.map +1 -0
- package/dist/utils/legacy-opening-datums.js +92 -0
- package/dist/utils/legacy-wall-datums.d.ts +6 -0
- package/dist/utils/legacy-wall-datums.d.ts.map +1 -0
- package/dist/utils/legacy-wall-datums.js +199 -0
- package/dist/utils/load-migration.d.ts +28 -0
- package/dist/utils/load-migration.d.ts.map +1 -0
- package/dist/utils/load-migration.js +89 -0
- package/dist/utils/node-defaults.d.ts +37 -0
- package/dist/utils/node-defaults.d.ts.map +1 -0
- package/dist/utils/node-defaults.js +96 -0
- package/dist/utils/normalize-legacy-structure.d.ts +2 -0
- package/dist/utils/normalize-legacy-structure.d.ts.map +1 -0
- package/dist/utils/normalize-legacy-structure.js +61 -0
- package/dist/utils/omit-undefined.d.ts +2 -0
- package/dist/utils/omit-undefined.d.ts.map +1 -0
- package/dist/utils/omit-undefined.js +17 -0
- package/dist/utils/owned-floor-opening-migration.d.ts +4489 -0
- package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -0
- package/dist/utils/owned-floor-opening-migration.js +365 -0
- package/dist/utils/reconcile-structure-on-load.d.ts +8965 -0
- package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -0
- package/dist/utils/reconcile-structure-on-load.js +307 -0
- package/dist/utils/room-zone-migration.d.ts +18 -0
- package/dist/utils/room-zone-migration.d.ts.map +1 -0
- package/dist/utils/room-zone-migration.js +258 -0
- package/dist/utils/scene-migrations.d.ts +16 -1
- package/dist/utils/scene-migrations.d.ts.map +1 -1
- package/dist/utils/scene-migrations.js +15 -1
- package/dist/utils/structure-id.d.ts +4 -0
- package/dist/utils/structure-id.d.ts.map +1 -0
- package/dist/utils/structure-id.js +115 -0
- package/dist/utils/vertical-scene-migration.d.ts +8 -8
- package/dist/utils/vertical-scene-migration.d.ts.map +1 -1
- package/dist/utils/vertical-scene-migration.js +18 -8
- package/dist/utils/wall-assembly-migration.d.ts +14 -0
- package/dist/utils/wall-assembly-migration.d.ts.map +1 -0
- package/dist/utils/wall-assembly-migration.js +23 -0
- package/dist/utils/wall-face-migration.d.ts +23 -0
- package/dist/utils/wall-face-migration.d.ts.map +1 -0
- package/dist/utils/wall-face-migration.js +246 -0
- package/dist/validation/opening-bounds.d.ts +36 -0
- package/dist/validation/opening-bounds.d.ts.map +1 -0
- package/dist/validation/opening-bounds.js +34 -0
- package/dist/validation/validate-build-json.d.ts +2 -0
- package/dist/validation/validate-build-json.d.ts.map +1 -1
- package/dist/validation/validate-build-json.js +36 -1
- package/package.json +36 -3
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +0 -13
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +0 -1
- package/dist/services/surface-hosting-procedural-parity.fixtures.js +0 -4691
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +0 -1060
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +0 -1
- package/dist/services/surface-hosting-shelf-parity.fixtures.js +0 -3127
package/dist/registry/types.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { ComponentType } from 'react';
|
|
2
2
|
import type { AnimationClip, BufferGeometry, Object3D, Ray } from 'three';
|
|
3
3
|
import type { ZodObject, z } from 'zod';
|
|
4
|
+
import type { CutIntent } from '../schema/cut.js';
|
|
4
5
|
import type { MaterialSchema, MaterialTarget } from '../schema/material.js';
|
|
5
6
|
import type { AssetInput, ItemNode } from '../schema/nodes/item.js';
|
|
6
7
|
import type { MeasurementFeatureReference, MeasurementPoint } from '../schema/nodes/measurement.js';
|
|
7
8
|
import type { SceneMaterial, SceneMaterialId } from '../schema/scene-material.js';
|
|
8
|
-
import type { AnyNode, AnyNodeId } from '../schema/types.js';
|
|
9
|
+
import type { AnyNode, AnyNodeId, Discipline, DisplayFamily, PartKey } from '../schema/types.js';
|
|
9
10
|
import type { SurfaceProvider } from '../services/surface-hosting.js';
|
|
11
|
+
import type { InteractiveState } from '../store/use-interactive.js';
|
|
10
12
|
import type { HandleList } from './handles.js';
|
|
11
13
|
import type { CloneNodesIntoOptions, Subtree } from './subtree.js';
|
|
12
14
|
export type GeometryContext = {
|
|
@@ -37,6 +39,10 @@ export type GeometryContext = {
|
|
|
37
39
|
* in 2D.
|
|
38
40
|
*/
|
|
39
41
|
levelBaseAt?: (x: number, z: number) => number;
|
|
42
|
+
/** Height of a rendered node's upward-facing top at level-local XZ, or null outside it. */
|
|
43
|
+
surfaceHeightAt?: (hostId: AnyNodeId, x: number, z: number) => number | null;
|
|
44
|
+
/** Highest terrain, slab, or shaped top at a level-local point. */
|
|
45
|
+
supportHeightAt?: (x: number, z: number, selectedHostId?: AnyNodeId) => number;
|
|
40
46
|
/**
|
|
41
47
|
* Pre-computed level-batch data, populated by the dispatcher when the
|
|
42
48
|
* kind declares `def.computeLevelData` (3D) or
|
|
@@ -262,6 +268,26 @@ export type NodePort = {
|
|
|
262
268
|
* face at roll 0, height the vertical one. */
|
|
263
269
|
width?: number;
|
|
264
270
|
height?: number;
|
|
271
|
+
/** Ports sharing a group are one flow path of one system (F6). Unread until F6. */
|
|
272
|
+
group?: string;
|
|
273
|
+
/** Membership label of this port's group; labels, never connects (F6). Unread until F6. */
|
|
274
|
+
systemId?: string;
|
|
275
|
+
};
|
|
276
|
+
/**
|
|
277
|
+
* One end of an explicit, persisted connection edge (F6). Proximity only
|
|
278
|
+
* proposes a connection; an edge is declared in `capabilities.refs` with role
|
|
279
|
+
* `connection` and stored by the end that joins. A `port` end names a declared
|
|
280
|
+
* port; a `tap` end is a station on a run's body, `at` metres of arc length
|
|
281
|
+
* from the run's start, where a branch joins midway along a duct or pipe.
|
|
282
|
+
*/
|
|
283
|
+
export type PortRef = {
|
|
284
|
+
kind: 'port';
|
|
285
|
+
nodeId: AnyNodeId;
|
|
286
|
+
portId: string;
|
|
287
|
+
} | {
|
|
288
|
+
kind: 'tap';
|
|
289
|
+
nodeId: AnyNodeId;
|
|
290
|
+
at: number;
|
|
265
291
|
};
|
|
266
292
|
export type ToolHint = {
|
|
267
293
|
/** Key combo or input label, e.g. 'Left click', 'Shift', 'Esc'. */
|
|
@@ -668,6 +694,12 @@ export type FloorplanGeometry = ({
|
|
|
668
694
|
text: string;
|
|
669
695
|
/** Optional override for the line/text colour. Defaults to the palette accent. */
|
|
670
696
|
stroke?: string;
|
|
697
|
+
/**
|
|
698
|
+
* WS3: the text is an author override rather than the measured value.
|
|
699
|
+
* Set when a typed dimension could not drive geometry and fell back to
|
|
700
|
+
* `textOverride`; the 2D renderer draws a small "override" badge.
|
|
701
|
+
*/
|
|
702
|
+
overridden?: boolean;
|
|
671
703
|
} | {
|
|
672
704
|
kind: 'dimension-string';
|
|
673
705
|
segments: readonly {
|
|
@@ -858,8 +890,8 @@ export type DistributionRole = 'run' | 'fitting' | 'terminal' | 'equipment';
|
|
|
858
890
|
*/
|
|
859
891
|
export type SnapProfile = 'item' | 'structural';
|
|
860
892
|
/**
|
|
861
|
-
* How a kind is treated by the GLB bake and the baked `/viewer`. See
|
|
862
|
-
*
|
|
893
|
+
* How a kind is treated by the GLB bake and the baked `/viewer`. See "Bake policy" in
|
|
894
|
+
* wiki/architecture/node-definitions.md.
|
|
863
895
|
* - `'static'` (default) — baked as geometry; the viewer shows the baked mesh.
|
|
864
896
|
* - `'strip'` — excluded from the bake; the viewer rebuilds it live from
|
|
865
897
|
* `scene_graph` via the registry renderer (heavy reference assets: scans, guides).
|
|
@@ -983,7 +1015,7 @@ export type NodeDefinition<S extends ZodObject<any>> = {
|
|
|
983
1015
|
* free) instead of the frozen baked meshes (which the viewer hides). Needed when
|
|
984
1016
|
* the normal per-node `renderer` can't stand alone in a baked scene (e.g. an
|
|
985
1017
|
* instanced kind whose `renderer` is an invisible selection proxy and whose real
|
|
986
|
-
* geometry comes from a `system`). See
|
|
1018
|
+
* geometry comes from a `system`). See "Bake policy" in wiki/architecture/node-definitions.md.
|
|
987
1019
|
*/
|
|
988
1020
|
bakeReplaceRenderer?: BakeReplaceRenderer<z.infer<S>>;
|
|
989
1021
|
/**
|
|
@@ -1075,6 +1107,17 @@ export type NodeDefinition<S extends ZodObject<any>> = {
|
|
|
1075
1107
|
* `nodes` is the committed scene, for dependencies the node doesn't name itself
|
|
1076
1108
|
* (a zone's owning unit lists the zone, not the other way round). */
|
|
1077
1109
|
floorplanDependencies?: (node: z.infer<S>, nodes: Readonly<Record<AnyNodeId, AnyNode>>) => readonly AnyNodeId[];
|
|
1110
|
+
/**
|
|
1111
|
+
* Why the node does not fit where it stands, for the person placing, moving or selecting it:
|
|
1112
|
+
* the editor shows `line` in the HUD's "!" row while the node is in hand, and `line` with
|
|
1113
|
+
* `detail` at the top of its panel. A warning, never a block. Pure: `live` is the node's
|
|
1114
|
+
* in-flight drag pose, which the kind merges in its own frame. Null when it fits, or when the
|
|
1115
|
+
* check doesn't apply.
|
|
1116
|
+
*/
|
|
1117
|
+
placementNotice?: (node: z.infer<S>, ctx: {
|
|
1118
|
+
nodes: Readonly<Record<string, AnyNode>>;
|
|
1119
|
+
live?: LiveTransformLike;
|
|
1120
|
+
}) => PlacementNotice | null;
|
|
1078
1121
|
/** Stable semantic geometry that associative measurement anchors may reference. */
|
|
1079
1122
|
measurement?: MeasurementContribution<z.infer<S>>;
|
|
1080
1123
|
/**
|
|
@@ -1221,9 +1264,11 @@ export type NodeDefinition<S extends ZodObject<any>> = {
|
|
|
1221
1264
|
* returns LEVEL-LOCAL positions/directions (the kind applies its own
|
|
1222
1265
|
* transform). Consumed by placement tools for port-snapping and, in a
|
|
1223
1266
|
* later slice, by the system graph for connectivity. Kinds with no
|
|
1224
|
-
* connectable geometry omit this.
|
|
1267
|
+
* connectable geometry omit this. `ctx` stays optional for API v1 (R1):
|
|
1268
|
+
* hosts must always pass it, and an implementation falls back to the
|
|
1269
|
+
* stored pose only when it is absent.
|
|
1225
1270
|
*/
|
|
1226
|
-
ports?: (node: z.infer<S
|
|
1271
|
+
ports?: (node: z.infer<S>, ctx?: EvaluationContext) => NodePort[];
|
|
1227
1272
|
system?: SystemContribution;
|
|
1228
1273
|
tool?: LazyComponent;
|
|
1229
1274
|
/**
|
|
@@ -1495,14 +1540,25 @@ export type Capabilities = {
|
|
|
1495
1540
|
scalable?: ScalableConfig;
|
|
1496
1541
|
hostable?: HostableConfig;
|
|
1497
1542
|
surfacePlacement?: 'floor-only';
|
|
1543
|
+
/**
|
|
1544
|
+
* @deprecated Ignored: nothing has ever read it. Declare {@link Capabilities.cuts}
|
|
1545
|
+
* instead. Kept so plugin API v1 definitions still compile; removed in v2.
|
|
1546
|
+
*/
|
|
1498
1547
|
cuttable?: CuttableConfig;
|
|
1548
|
+
/**
|
|
1549
|
+
* What the node cuts out of its host(s), as cut intents (F5b). Frozen
|
|
1550
|
+
* contract, not read yet: DT-03b (walls, ceilings, slabs) and RL-02 (roofs)
|
|
1551
|
+
* consume it beside today's paths (`collectCutoutBrushes`,
|
|
1552
|
+
* `roofAccessory.buildCut`, `ceilingCut`), which it later replaces.
|
|
1553
|
+
*/
|
|
1554
|
+
cuts?: (node: AnyNode, ctx: CutsContext) => CutIntent[];
|
|
1499
1555
|
snappable?: SnappableConfig;
|
|
1500
1556
|
surfaces?: SurfacesConfig;
|
|
1501
1557
|
faceHost?: FaceHostCapability<any>;
|
|
1502
1558
|
duplicable?: boolean | DuplicableConfig;
|
|
1503
1559
|
deletable?: boolean;
|
|
1504
1560
|
groupable?: boolean;
|
|
1505
|
-
selectable?: SelectableConfig;
|
|
1561
|
+
selectable?: SelectableConfig | false;
|
|
1506
1562
|
/**
|
|
1507
1563
|
* Whether selecting this kind should replace its rendered mesh materials
|
|
1508
1564
|
* with the editor's selection tint. Defaults to `true`. Set to `false` for
|
|
@@ -1512,6 +1568,13 @@ export type Capabilities = {
|
|
|
1512
1568
|
selectionHighlight?: boolean;
|
|
1513
1569
|
interactive?: boolean;
|
|
1514
1570
|
floorPlaced?: FloorPlacedConfig;
|
|
1571
|
+
/**
|
|
1572
|
+
* Opt this kind into node draw batching. Its opaque single-material meshes
|
|
1573
|
+
* join its level's shared `BatchedMesh` containers while the node is
|
|
1574
|
+
* static; the sources stay mounted, pickable and exported. See
|
|
1575
|
+
* `BatchableConfig`.
|
|
1576
|
+
*/
|
|
1577
|
+
batchable?: BatchableConfig;
|
|
1515
1578
|
/**
|
|
1516
1579
|
* Plan footprint this kind exposes to the alignment-anchor pool when it
|
|
1517
1580
|
* isn't `floorPlaced` and isn't a structural primitive the bridge handles
|
|
@@ -1557,6 +1620,12 @@ export type Capabilities = {
|
|
|
1557
1620
|
* in the editor.
|
|
1558
1621
|
*/
|
|
1559
1622
|
sceneAction?: SceneActionCapability;
|
|
1623
|
+
/**
|
|
1624
|
+
* Moving parts people run: Play/Stop in the action menu, E, and the
|
|
1625
|
+
* walkthrough read this instead of a kind name, so any kind (plugins
|
|
1626
|
+
* included) gets them by declaring it. See `MechanismCapability`.
|
|
1627
|
+
*/
|
|
1628
|
+
mechanism?: MechanismCapability;
|
|
1560
1629
|
/**
|
|
1561
1630
|
* Declares the kind's paintable slots — the `{ slotId, label, default }`
|
|
1562
1631
|
* contract shared by items (scanned from the GLB) and procedural kinds
|
|
@@ -1606,6 +1675,20 @@ export type Capabilities = {
|
|
|
1606
1675
|
* `defaults()` or the dragging logic populates it dynamically.
|
|
1607
1676
|
*/
|
|
1608
1677
|
hostRefFields?: string[];
|
|
1678
|
+
/**
|
|
1679
|
+
* Every reference this kind persists, declared once (R3, F5a), with its
|
|
1680
|
+
* dependent fields. Frozen contract, not read yet: P-03's one extractor
|
|
1681
|
+
* will serve clone, delete, split/merge, preset save and the reverse
|
|
1682
|
+
* (host → dependents) index from it, replacing the hand-written remaps and
|
|
1683
|
+
* `hostRefFields`. Existing references are declared before any new one.
|
|
1684
|
+
*/
|
|
1685
|
+
refs?: readonly ReferenceDeclaration[];
|
|
1686
|
+
/**
|
|
1687
|
+
* The kind stores assembly layers in an optional `assembly` field (F2) and
|
|
1688
|
+
* says how they stack. Frozen contract, not read yet: WL-02 compiles wall
|
|
1689
|
+
* layers and RL-01 roof layers from it.
|
|
1690
|
+
*/
|
|
1691
|
+
assembly?: AssemblyHostConfig;
|
|
1609
1692
|
/**
|
|
1610
1693
|
* Whether instances of this kind can be saved as a reusable preset
|
|
1611
1694
|
* (unified `items` catalog, `kind='preset'`). The editor itself does
|
|
@@ -1688,6 +1771,12 @@ export type PaintCapability = {
|
|
|
1688
1771
|
* by accident, normal too oblique for an unambiguous side).
|
|
1689
1772
|
*/
|
|
1690
1773
|
resolveRole: (args: PaintResolveArgs) => string | null;
|
|
1774
|
+
/**
|
|
1775
|
+
* Optional: label for a role that is NOT one of the kind's declared slots.
|
|
1776
|
+
* A slab plate resolves per-room roles carrying a zone id, which would read
|
|
1777
|
+
* back to the user as the raw id. Return `null` to keep the derived label.
|
|
1778
|
+
*/
|
|
1779
|
+
roleLabel?: (node: AnyNode, role: string) => string | null;
|
|
1691
1780
|
/**
|
|
1692
1781
|
* Build the node-update patch that applies the new material at
|
|
1693
1782
|
* `role`. Returned partial is merged into the node by the editor.
|
|
@@ -1749,6 +1838,24 @@ export type SceneActionCapability<T = unknown> = {
|
|
|
1749
1838
|
/** Run the action. Return `true` to consume the click (skip selection). */
|
|
1750
1839
|
activate: (node: AnyNode, target: T, sceneApi: SceneApi) => boolean;
|
|
1751
1840
|
};
|
|
1841
|
+
/**
|
|
1842
|
+
* A kind's moving parts (a fan's spin, doors, an articulated asset's joints).
|
|
1843
|
+
* Operating state is transient: `set` writes `useInteractive`, never the node,
|
|
1844
|
+
* so running a mechanism never enters undo, autosave or collaboration. A kind
|
|
1845
|
+
* with a single switch keeps it in `useInteractive.mechanisms`.
|
|
1846
|
+
*/
|
|
1847
|
+
export type MechanismCapability = {
|
|
1848
|
+
/** Whether this node has anything to run. */
|
|
1849
|
+
has: (node: AnyNode) => boolean;
|
|
1850
|
+
/** Whether any of its mechanisms is running. */
|
|
1851
|
+
isOn: (node: AnyNode, state: InteractiveState) => boolean;
|
|
1852
|
+
/** Starts or stops all of them. */
|
|
1853
|
+
set: (node: AnyNode, on: boolean) => void;
|
|
1854
|
+
/** Walkthrough wording: `open` parts open and close; `run` parts (the default) turn on and off. */
|
|
1855
|
+
verb?: 'open' | 'run';
|
|
1856
|
+
/** Action-menu glyph: openable kinds show their own instead of Play/Stop. */
|
|
1857
|
+
icon?: 'door' | 'window';
|
|
1858
|
+
};
|
|
1752
1859
|
export type NodeQuickActionIcon = 'add-left' | 'add-right' | 'add' | 'convert';
|
|
1753
1860
|
export type NodeQuickActionResult = {
|
|
1754
1861
|
selectedIds?: AnyNodeId[];
|
|
@@ -1815,12 +1922,24 @@ export type PaintPreviewArgs = {
|
|
|
1815
1922
|
material: MaterialSchema | undefined;
|
|
1816
1923
|
materialPreset: string | undefined;
|
|
1817
1924
|
root: Object3D;
|
|
1925
|
+
/** Host snapshot used for parent finishes and per-flight overrides. */
|
|
1926
|
+
nodes?: Record<AnyNodeId, AnyNode>;
|
|
1927
|
+
/** Shared palette from the same host snapshot; absent means no scene palette. */
|
|
1928
|
+
materials?: Record<SceneMaterialId, SceneMaterial>;
|
|
1818
1929
|
};
|
|
1819
1930
|
export type PaintEffectiveMaterialArgs = {
|
|
1931
|
+
/** Host palette for resolving scene material refs without reading a store. */
|
|
1932
|
+
materials?: Record<SceneMaterialId, SceneMaterial>;
|
|
1820
1933
|
node: AnyNode;
|
|
1821
1934
|
role: string;
|
|
1822
1935
|
/** Snapshot of the scene `nodes` map — kinds whose effective material walks the parent chain (roof-segment → roof) read parents through it. */
|
|
1823
1936
|
nodes: Record<AnyNodeId, AnyNode>;
|
|
1937
|
+
/**
|
|
1938
|
+
* Resolve what the surface shows, falling through to the finish an unpainted
|
|
1939
|
+
* derived role draws with (the eyedropper). A slot role's declared `default`
|
|
1940
|
+
* stays the caller's to apply.
|
|
1941
|
+
*/
|
|
1942
|
+
rendered?: boolean;
|
|
1824
1943
|
};
|
|
1825
1944
|
/**
|
|
1826
1945
|
* Kinds mounted on a roof segment via `roofSegmentId`. Presence of this
|
|
@@ -1878,10 +1997,42 @@ export type RoofAccessoryConfig = {
|
|
|
1878
1997
|
*/
|
|
1879
1998
|
export type CeilingCutCapability = {
|
|
1880
1999
|
buildCeilingHole: (node: AnyNode) => Array<[number, number]> | null;
|
|
2000
|
+
/**
|
|
2001
|
+
* Holes this kind cuts in `ceiling` that no child of it reports, such as a node
|
|
2002
|
+
* whose live move preview sits on this ceiling while it still belongs to another.
|
|
2003
|
+
*/
|
|
2004
|
+
holesFor?: (ceiling: AnyNode) => Array<Array<[number, number]>>;
|
|
2005
|
+
};
|
|
2006
|
+
/**
|
|
2007
|
+
* The face body layers stack inward from: a wall's `front` face (+n), a
|
|
2008
|
+
* slab's `top`, a ceiling's `underside`, or a roof's `covering`-top plane
|
|
2009
|
+
* (every facet's `facet:<id>:covering` patch).
|
|
2010
|
+
*/
|
|
2011
|
+
export type AssemblyReference = 'front' | 'top' | 'underside' | 'covering';
|
|
2012
|
+
/**
|
|
2013
|
+
* Host declaration for assembly layers (F2, `editor-fidelity-foundations.md`
|
|
2014
|
+
* §2.3). Each host keeps its own datum rule instead of one offset equation.
|
|
2015
|
+
*/
|
|
2016
|
+
export type AssemblyHostConfig = {
|
|
2017
|
+
reference: AssemblyReference;
|
|
2018
|
+
/** The axis layer thickness runs along: the reference face's normal, or vertical. */
|
|
2019
|
+
measure: 'normal' | 'vertical';
|
|
2020
|
+
/**
|
|
2021
|
+
* The body thickness the host stores (a wall's `thickness`), which must
|
|
2022
|
+
* equal the sum of its layers: the stack sets it and writers re-derive it.
|
|
2023
|
+
* `null` when the host stores none (roofs).
|
|
2024
|
+
*/
|
|
2025
|
+
body: (node: AnyNode) => number | null;
|
|
2026
|
+
/** Accepts `assembly.backing` (slabs, ceilings). Absent = refused. */
|
|
2027
|
+
backing?: boolean;
|
|
1881
2028
|
};
|
|
1882
2029
|
export type CapabilityCtx = {
|
|
1883
2030
|
node: AnyNode;
|
|
1884
2031
|
};
|
|
2032
|
+
/** What a cut publisher may read: the scene, to find its host and the host's frame. */
|
|
2033
|
+
export type CutsContext = {
|
|
2034
|
+
nodes: Readonly<Record<AnyNodeId, AnyNode>>;
|
|
2035
|
+
};
|
|
1885
2036
|
export type MovableConfig = {
|
|
1886
2037
|
axes: ReadonlyArray<'x' | 'y' | 'z'>;
|
|
1887
2038
|
gridSnap?: boolean;
|
|
@@ -2034,6 +2185,11 @@ export type LiveTransformLike = {
|
|
|
2034
2185
|
position: [number, number, number];
|
|
2035
2186
|
rotation: number;
|
|
2036
2187
|
};
|
|
2188
|
+
/** What `NodeDefinition.placementNotice` says: a one-line warning and an optional detail. */
|
|
2189
|
+
export type PlacementNotice = {
|
|
2190
|
+
line: string;
|
|
2191
|
+
detail?: string;
|
|
2192
|
+
};
|
|
2037
2193
|
export type RotatableConfig = {
|
|
2038
2194
|
axes: ReadonlyArray<'x' | 'y' | 'z'>;
|
|
2039
2195
|
snapAngles?: readonly number[];
|
|
@@ -2052,6 +2208,7 @@ export type HostableConfig = {
|
|
|
2052
2208
|
modes?: Record<string, Partial<HostableConfig>>;
|
|
2053
2209
|
override?: (ctx: CapabilityCtx) => HostableConfig | null;
|
|
2054
2210
|
};
|
|
2211
|
+
/** @deprecated See {@link Capabilities.cuttable}. */
|
|
2055
2212
|
export type CuttableConfig = {
|
|
2056
2213
|
hostKinds: readonly string[];
|
|
2057
2214
|
override?: (ctx: CapabilityCtx) => CuttableConfig | null;
|
|
@@ -2067,6 +2224,10 @@ export type SurfacesConfig = {
|
|
|
2067
2224
|
height: number | ((n: AnyNode, context: {
|
|
2068
2225
|
nodes: Record<string, AnyNode>;
|
|
2069
2226
|
}) => number);
|
|
2227
|
+
/** Resolve support from node data; null means this point is outside the support footprint. */
|
|
2228
|
+
supportHeight?: (node: AnyNode, x: number, z: number, context: {
|
|
2229
|
+
nodes: Readonly<Record<AnyNodeId, AnyNode>>;
|
|
2230
|
+
}) => number | null;
|
|
2070
2231
|
};
|
|
2071
2232
|
sides?: {
|
|
2072
2233
|
faces: 'all' | ReadonlyArray<readonly [number, number, number]>;
|
|
@@ -2150,9 +2311,39 @@ export type FloorPlacedConfig = {
|
|
|
2150
2311
|
* placement/move refuses to overlap another colliding footprint (red ghost,
|
|
2151
2312
|
* Alt to force). Solid furniture-like kinds (item / shelf / column) set this;
|
|
2152
2313
|
* markers and port-mated kinds (spawn / MEP / stair) leave it off so they
|
|
2153
|
-
* neither block nor get blocked. Default off.
|
|
2314
|
+
* neither block nor get blocked. Default off. A predicate decides per node
|
|
2315
|
+
* (a block collides only while it rests on the floor); read it through
|
|
2316
|
+
* `floorPlacedCollides`.
|
|
2154
2317
|
*/
|
|
2155
|
-
collides?: boolean;
|
|
2318
|
+
collides?: boolean | ((node: AnyNode) => boolean);
|
|
2319
|
+
};
|
|
2320
|
+
/**
|
|
2321
|
+
* How the node batch treats a kind (`capabilities.batchable`). Selection,
|
|
2322
|
+
* hover, live transforms, live overrides and slot paint previews release any
|
|
2323
|
+
* batched node; these fields declare what is specific to the kind.
|
|
2324
|
+
*/
|
|
2325
|
+
export type BatchableConfig = {
|
|
2326
|
+
/**
|
|
2327
|
+
* Where the node's batches live. `'level'`: the node is a direct child of a
|
|
2328
|
+
* level; hosted or mounted nodes draw themselves, because their host moves
|
|
2329
|
+
* them without a signal the batch sees. `'wall'`: the node is hosted by a
|
|
2330
|
+
* visible wall that is a level child; the wall's edits, tint and gestures
|
|
2331
|
+
* release it.
|
|
2332
|
+
*/
|
|
2333
|
+
scope: 'level' | 'wall';
|
|
2334
|
+
/** Transient states in which the node draws its own meshes, such as a running animation. */
|
|
2335
|
+
excluded?: (node: AnyNode) => boolean;
|
|
2336
|
+
/** Whether the node's mounted object is final, read from its registered root's `userData`. */
|
|
2337
|
+
settled?: (userData: Readonly<Record<string, unknown>>) => boolean;
|
|
2338
|
+
/**
|
|
2339
|
+
* Allocation key for the node's `meshIndex`-th batchable mesh when the kind
|
|
2340
|
+
* rebuilds its geometry in place (slabs, ceilings): a rebuild then replaces
|
|
2341
|
+
* its packed slot instead of adding one. Without it, meshes that share a
|
|
2342
|
+
* geometry share one allocation.
|
|
2343
|
+
*/
|
|
2344
|
+
batchKey?: (node: AnyNode, meshIndex: number) => string;
|
|
2345
|
+
/** Joins wait until wall rebuilds and wall drags on the node's level have settled. */
|
|
2346
|
+
waitsForWalls?: boolean;
|
|
2156
2347
|
};
|
|
2157
2348
|
/**
|
|
2158
2349
|
* Plan footprint a kind contributes to the alignment-anchor pool when it is
|
|
@@ -2186,6 +2377,10 @@ export type AlignmentFootprint = {
|
|
|
2186
2377
|
};
|
|
2187
2378
|
export type AlignmentFootprintConfig = (node: AnyNode, nodes?: Readonly<Record<string, AnyNode>>) => AlignmentFootprint | null;
|
|
2188
2379
|
export type Relations = {
|
|
2380
|
+
/**
|
|
2381
|
+
* Derived, unpersisted junctions. Wall junctions are `endpoint-match` and
|
|
2382
|
+
* enter the reference index as derived `connection` references (R3).
|
|
2383
|
+
*/
|
|
2189
2384
|
linkedBy?: 'endpoint-match' | 'polygon-share' | {
|
|
2190
2385
|
custom: (n: AnyNode) => AnyNodeId[];
|
|
2191
2386
|
};
|
|
@@ -2193,6 +2388,137 @@ export type Relations = {
|
|
|
2193
2388
|
affectsSpatial?: readonly string[];
|
|
2194
2389
|
cascadeDelete?: 'descendants' | 'children' | 'none';
|
|
2195
2390
|
};
|
|
2391
|
+
/**
|
|
2392
|
+
* - `node`: a scene node id.
|
|
2393
|
+
* - `part`: a key inside one owner node (a generated `PartKey`, a gutter
|
|
2394
|
+
* outlet, a hanger slot, block topology); the owner is `owner`.
|
|
2395
|
+
* - `surface`: a finite patch or named face of one owner node.
|
|
2396
|
+
* - `asset`: content outside the graph by URL, catalog id or content hash.
|
|
2397
|
+
* - `source`: provenance ids of an importer or capture (stable across re-import).
|
|
2398
|
+
* - `collection`: a scene-root `collections` record.
|
|
2399
|
+
* - `material`: a `MaterialRef` (`scene:<id>` palette entry, `library:<id>`)
|
|
2400
|
+
* or a library material/preset name.
|
|
2401
|
+
* - `label`: an opaque key compared only for equality among peers (a join or
|
|
2402
|
+
* scope label). Producers may use a node id as the label, others a source
|
|
2403
|
+
* face id or any string; it is never dereferenced and never required to
|
|
2404
|
+
* resolve. A remap rewrites a label only where it equals a node id being
|
|
2405
|
+
* remapped in the same operation.
|
|
2406
|
+
*/
|
|
2407
|
+
export type ReferenceNamespace = 'node' | 'part' | 'surface' | 'asset' | 'source' | 'collection' | 'material' | 'label';
|
|
2408
|
+
/**
|
|
2409
|
+
* - `host`: the dependent resolves pose or geometry from the target (a mount,
|
|
2410
|
+
* support, hosting face, measurement anchor); follow or freeze.
|
|
2411
|
+
* - `internal`: a reference inside the owner's own data or its generated
|
|
2412
|
+
* output (block topology, hanger slots, an owning generator).
|
|
2413
|
+
* - `membership`: the target is a member of a set the owner labels (unit
|
|
2414
|
+
* zones, collection members, served levels, boundary walls).
|
|
2415
|
+
* - `connection`: an explicit join between peers (ports, shed joints, wall
|
|
2416
|
+
* junctions).
|
|
2417
|
+
* - `control`: a signal or driving relation, never flow (a collection's
|
|
2418
|
+
* control node, a controlling dimension, a switch's luminaires).
|
|
2419
|
+
* - `hierarchy`: `parentId` / `children` and records keyed by a child id;
|
|
2420
|
+
* their consistency is protected separately from the typed policy.
|
|
2421
|
+
* - `content`: the owner uses something outside the scene graph by
|
|
2422
|
+
* reference: an asset, a material, a pinned definition, provenance. Never
|
|
2423
|
+
* remapped by a clone.
|
|
2424
|
+
*/
|
|
2425
|
+
export type ReferenceRole = 'host' | 'internal' | 'membership' | 'connection' | 'control' | 'hierarchy' | 'content';
|
|
2426
|
+
/** When the target is deleted: freeze at the last resolved pose, drop the value, or delete the dependent. */
|
|
2427
|
+
export type ReferenceDeletePolicy = 'freeze' | 'drop' | 'cascade';
|
|
2428
|
+
/** When the owner is saved as a preset: strip the value, snapshot its resolved geometry then strip, or keep it. */
|
|
2429
|
+
export type ReferencePresetPolicy = 'strip' | 'materialize' | 'keep';
|
|
2430
|
+
/**
|
|
2431
|
+
* A path into a node's persisted data. Dot-separated field names; `[]` visits
|
|
2432
|
+
* every array or tuple element, `*` every record value and `@key` every record
|
|
2433
|
+
* key. A path that does not resolve on a value (an absent optional, another
|
|
2434
|
+
* union branch) yields no reference. Example: `measurement.points[].reference.nodeId`.
|
|
2435
|
+
*/
|
|
2436
|
+
export type ReferencePath = string;
|
|
2437
|
+
export type ReferenceDeclaration = {
|
|
2438
|
+
path: ReferencePath;
|
|
2439
|
+
namespace: ReferenceNamespace;
|
|
2440
|
+
role: ReferenceRole;
|
|
2441
|
+
onDelete: ReferenceDeletePolicy;
|
|
2442
|
+
onPreset: ReferencePresetPolicy;
|
|
2443
|
+
/** Node kinds the target may have (`node` namespace). Absent = any kind. */
|
|
2444
|
+
targetKinds?: readonly string[];
|
|
2445
|
+
/** Literal values that are not references (e.g. `supportSlabId: 'ground'`). */
|
|
2446
|
+
sentinels?: readonly string[];
|
|
2447
|
+
/** The value is `${prefix}${id}`; only values with this prefix are references. */
|
|
2448
|
+
prefix?: string;
|
|
2449
|
+
/**
|
|
2450
|
+
* `part` / `surface` namespaces: path to the owner node id, resolved in the
|
|
2451
|
+
* same element as `path` (shared `[]` / `*` prefixes bind to one element).
|
|
2452
|
+
* Absent = this node.
|
|
2453
|
+
*/
|
|
2454
|
+
owner?: ReferencePath;
|
|
2455
|
+
/**
|
|
2456
|
+
* Fields whose value is derived from, or only meaningful with, this
|
|
2457
|
+
* reference: the side, face, station or UV of the host it names (`wallT`
|
|
2458
|
+
* and `side` with `wallId`, `roofFace` with `roofSegmentId`). They share
|
|
2459
|
+
* its lifecycle: a preset strip, a drop or a freeze applies to the
|
|
2460
|
+
* reference and its dependents together. Paths absent on a kind are skipped.
|
|
2461
|
+
*/
|
|
2462
|
+
dependents?: readonly ReferencePath[];
|
|
2463
|
+
};
|
|
2464
|
+
/**
|
|
2465
|
+
* One model revision plus the live overrides of a gesture in flight (R2).
|
|
2466
|
+
* Every reader of resolved geometry — meshes, bounds, ports, cuts, bake, MCP —
|
|
2467
|
+
* resolves from the same context, so a device's ports never come from a
|
|
2468
|
+
* different snapshot than its mesh. Frozen name; the evaluator lands in P-03.
|
|
2469
|
+
*/
|
|
2470
|
+
export type EvaluationContext = {
|
|
2471
|
+
revision: number;
|
|
2472
|
+
nodes: Readonly<Record<AnyNodeId, AnyNode>>;
|
|
2473
|
+
/** Preview-only values; never committed, never persisted. */
|
|
2474
|
+
overrides?: ReadonlyMap<AnyNodeId, Readonly<Record<string, unknown>>>;
|
|
2475
|
+
};
|
|
2476
|
+
/**
|
|
2477
|
+
* Per-mesh export identity (F4), `userData.pascalPart` / glTF
|
|
2478
|
+
* `extras.pascalPart`, version 1. Validated live, in the raw bake, the
|
|
2479
|
+
* optimised bake and the saved viewer. A missing tag means `finish`.
|
|
2480
|
+
*/
|
|
2481
|
+
export type PascalPartTag = {
|
|
2482
|
+
v: 1;
|
|
2483
|
+
family: DisplayFamily;
|
|
2484
|
+
role: string;
|
|
2485
|
+
discipline?: Discipline;
|
|
2486
|
+
concealed?: boolean;
|
|
2487
|
+
layerId?: string;
|
|
2488
|
+
key?: PartKey;
|
|
2489
|
+
owner?: string;
|
|
2490
|
+
/** Envelope stand-in for a missing model: physical, exported. */
|
|
2491
|
+
proxy?: boolean;
|
|
2492
|
+
/** Presentation-only solid: never in the canonical bake. */
|
|
2493
|
+
presentation?: true;
|
|
2494
|
+
surfaceRole?: SurfaceRole;
|
|
2495
|
+
/** Source category when it differs from the owner's. */
|
|
2496
|
+
source?: string;
|
|
2497
|
+
};
|
|
2498
|
+
/**
|
|
2499
|
+
* `canonical` holds every physical part exactly once, compiled from persisted
|
|
2500
|
+
* state whatever was displayed; `finished` is what the visitor view shows;
|
|
2501
|
+
* `lightweight` declares its omissions.
|
|
2502
|
+
*/
|
|
2503
|
+
export type ExportProfile = 'canonical' | 'finished' | 'lightweight';
|
|
2504
|
+
/**
|
|
2505
|
+
* Root glTF `extras.pascalBake`, one arm per profile. A canonical artifact
|
|
2506
|
+
* always carries every family and declares no omissions; only `lightweight`
|
|
2507
|
+
* may omit. The benchmark harness refuses non-canonical bakes.
|
|
2508
|
+
*/
|
|
2509
|
+
export type PascalBakeExtras = {
|
|
2510
|
+
profile: 'canonical';
|
|
2511
|
+
families: 'all';
|
|
2512
|
+
omissions?: never;
|
|
2513
|
+
} | {
|
|
2514
|
+
profile: 'finished';
|
|
2515
|
+
families: readonly DisplayFamily[];
|
|
2516
|
+
omissions?: never;
|
|
2517
|
+
} | {
|
|
2518
|
+
profile: 'lightweight';
|
|
2519
|
+
families: 'all' | readonly DisplayFamily[];
|
|
2520
|
+
omissions: readonly string[];
|
|
2521
|
+
};
|
|
2196
2522
|
export type ParametricDescriptor<N> = {
|
|
2197
2523
|
groups: ParamGroup<N>[];
|
|
2198
2524
|
invariants?: ReadonlyArray<(n: N) => Issue[]>;
|
|
@@ -2211,9 +2537,10 @@ export type ParametricDescriptor<N> = {
|
|
|
2211
2537
|
* the scene consistent — e.g. duct runs re-trimmed onto a resized
|
|
2212
2538
|
* fitting's collars. `prev` is the node before the edit, `next` after
|
|
2213
2539
|
* (with `derive` already folded in). Applied in the same gesture via
|
|
2214
|
-
* `updateNodes`.
|
|
2540
|
+
* `updateNodes`. The third argument contains all pending edits in
|
|
2541
|
+
* the gesture, so reconciliation can read updated siblings during a multi-edit.
|
|
2215
2542
|
*/
|
|
2216
|
-
reconcile?: (prev: N, next: N) => Array<{
|
|
2543
|
+
reconcile?: (prev: N, next: N, nodes: Readonly<Record<string, AnyNode | undefined>>) => Array<{
|
|
2217
2544
|
id: AnyNodeId;
|
|
2218
2545
|
data: Partial<AnyNode>;
|
|
2219
2546
|
}>;
|
|
@@ -2301,6 +2628,8 @@ export type ParamField<N> = {
|
|
|
2301
2628
|
key: keyof N;
|
|
2302
2629
|
label?: string;
|
|
2303
2630
|
kind: 'boolean';
|
|
2631
|
+
/** Shown when the node omits the key (an optional field that reads as on). */
|
|
2632
|
+
default?: boolean;
|
|
2304
2633
|
visibleIf?: (n: N) => boolean;
|
|
2305
2634
|
} | {
|
|
2306
2635
|
key: keyof N;
|