@pascal-app/core 1.0.6 → 1.0.7
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 +31 -0
- package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/build-room-cases.js +27 -0
- package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/cases.js +19 -11
- package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts +25 -2
- package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/design-brief-cases.js +509 -66
- package/dist/agent-operations/__fixtures__/dressing-scenes.d.ts +30 -0
- package/dist/agent-operations/__fixtures__/dressing-scenes.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/dressing-scenes.js +82 -0
- package/dist/agent-operations/__fixtures__/native-materials.d.ts +407 -9
- package/dist/agent-operations/__fixtures__/native-materials.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/notation-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/notation-cases.js +14 -0
- package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +7253 -4053
- package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/room-cases.d.ts +1 -0
- package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/room-cases.js +57 -1
- package/dist/agent-operations/__fixtures__/room-check-scenes.d.ts +51 -0
- package/dist/agent-operations/__fixtures__/room-check-scenes.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/room-check-scenes.js +121 -0
- package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/scene-check-cases.js +152 -18
- package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/search-assets-cases.js +91 -0
- package/dist/agent-operations/__fixtures__/site-cases.d.ts +40 -1
- package/dist/agent-operations/__fixtures__/site-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts +3 -0
- package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -1
- package/dist/agent-operations/__fixtures__/structure-cases.js +199 -18
- package/dist/agent-operations/__fixtures__/unit-cases.d.ts +6 -0
- package/dist/agent-operations/__fixtures__/unit-cases.d.ts.map +1 -0
- package/dist/agent-operations/__fixtures__/unit-cases.js +266 -0
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +109 -73
- package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -1
- package/dist/agent-operations/add-column.d.ts.map +1 -1
- package/dist/agent-operations/add-column.js +32 -3
- package/dist/agent-operations/add-fence.d.ts.map +1 -1
- package/dist/agent-operations/add-fence.js +2 -1
- package/dist/agent-operations/add-level.d.ts.map +1 -1
- package/dist/agent-operations/add-level.js +4 -4
- package/dist/agent-operations/add-object.d.ts +32 -6
- package/dist/agent-operations/add-object.d.ts.map +1 -1
- package/dist/agent-operations/add-object.js +59 -12
- package/dist/agent-operations/add-wall.d.ts +3 -8
- package/dist/agent-operations/add-wall.d.ts.map +1 -1
- package/dist/agent-operations/add-wall.js +31 -8
- package/dist/agent-operations/apply-changes.d.ts.map +1 -1
- package/dist/agent-operations/apply-changes.js +2 -1
- package/dist/agent-operations/asset-catalog.d.ts +63 -0
- package/dist/agent-operations/asset-catalog.d.ts.map +1 -0
- package/dist/agent-operations/asset-catalog.js +182 -0
- package/dist/agent-operations/asset-views.d.ts +4 -2
- package/dist/agent-operations/asset-views.d.ts.map +1 -1
- package/dist/agent-operations/asset-views.js +1 -3
- package/dist/agent-operations/author-scene-checks.d.ts +38 -0
- package/dist/agent-operations/author-scene-checks.d.ts.map +1 -0
- package/dist/agent-operations/author-scene-checks.js +266 -0
- package/dist/agent-operations/author-scene.d.ts +54 -20
- package/dist/agent-operations/author-scene.d.ts.map +1 -1
- package/dist/agent-operations/author-scene.js +1164 -196
- package/dist/agent-operations/authored-scene-merge.d.ts.map +1 -1
- package/dist/agent-operations/authored-scene-merge.js +61 -3
- package/dist/agent-operations/batch.d.ts +1 -1
- package/dist/agent-operations/batch.d.ts.map +1 -1
- package/dist/agent-operations/batch.js +38 -39
- package/dist/agent-operations/ceiling-object-observations.d.ts.map +1 -1
- package/dist/agent-operations/ceiling-object-observations.js +5 -4
- package/dist/agent-operations/circulation-geometry.d.ts +14 -0
- package/dist/agent-operations/circulation-geometry.d.ts.map +1 -0
- package/dist/agent-operations/circulation-geometry.js +151 -0
- package/dist/agent-operations/circulation-graph.d.ts +72 -0
- package/dist/agent-operations/circulation-graph.d.ts.map +1 -0
- package/dist/agent-operations/circulation-graph.js +713 -0
- package/dist/agent-operations/circulation-non-spaces.d.ts +10 -0
- package/dist/agent-operations/circulation-non-spaces.d.ts.map +1 -0
- package/dist/agent-operations/circulation-non-spaces.js +88 -0
- package/dist/agent-operations/circulation-spaces.d.ts +5880 -0
- package/dist/agent-operations/circulation-spaces.d.ts.map +1 -0
- package/dist/agent-operations/circulation-spaces.js +368 -0
- package/dist/agent-operations/collections.d.ts.map +1 -1
- package/dist/agent-operations/collections.js +9 -7
- package/dist/agent-operations/corner-window.d.ts.map +1 -1
- package/dist/agent-operations/corner-window.js +2 -4
- package/dist/agent-operations/create-roof.d.ts.map +1 -1
- package/dist/agent-operations/create-roof.js +5 -7
- package/dist/agent-operations/create-room.d.ts +4 -1
- package/dist/agent-operations/create-room.d.ts.map +1 -1
- package/dist/agent-operations/create-room.js +7 -4
- package/dist/agent-operations/create-stair.js +2 -2
- package/dist/agent-operations/design-brief.d.ts +13 -7
- package/dist/agent-operations/design-brief.d.ts.map +1 -1
- package/dist/agent-operations/design-brief.js +172 -92
- package/dist/agent-operations/door-clearance.d.ts +68 -8
- package/dist/agent-operations/door-clearance.d.ts.map +1 -1
- package/dist/agent-operations/door-clearance.js +127 -20
- package/dist/agent-operations/dress-targets.d.ts +23 -0
- package/dist/agent-operations/dress-targets.d.ts.map +1 -0
- package/dist/agent-operations/dress-targets.js +34 -0
- package/dist/agent-operations/duplicate-node.d.ts +14 -0
- package/dist/agent-operations/duplicate-node.d.ts.map +1 -0
- package/dist/agent-operations/duplicate-node.js +173 -0
- package/dist/agent-operations/find-by-type.d.ts.map +1 -1
- package/dist/agent-operations/find-by-type.js +3 -0
- package/dist/agent-operations/furnish-room.d.ts +2 -0
- package/dist/agent-operations/furnish-room.d.ts.map +1 -1
- package/dist/agent-operations/furnish-room.js +15 -4
- package/dist/agent-operations/furniture-kind.d.ts +28 -1
- package/dist/agent-operations/furniture-kind.d.ts.map +1 -1
- package/dist/agent-operations/furniture-kind.js +105 -6
- package/dist/agent-operations/ground-reader.d.ts +10 -0
- package/dist/agent-operations/ground-reader.d.ts.map +1 -0
- package/dist/agent-operations/ground-reader.js +25 -0
- package/dist/agent-operations/index.d.ts +118 -12
- package/dist/agent-operations/index.d.ts.map +1 -1
- package/dist/agent-operations/index.js +26 -1
- package/dist/agent-operations/item-solids.d.ts +39 -0
- package/dist/agent-operations/item-solids.d.ts.map +1 -0
- package/dist/agent-operations/item-solids.js +128 -0
- package/dist/agent-operations/layout-clearance.d.ts +91 -11
- package/dist/agent-operations/layout-clearance.d.ts.map +1 -1
- package/dist/agent-operations/layout-clearance.js +280 -73
- package/dist/agent-operations/level-height-fill.d.ts.map +1 -1
- package/dist/agent-operations/level-height-fill.js +7 -1
- package/dist/agent-operations/level-reads.d.ts +5 -0
- package/dist/agent-operations/level-reads.d.ts.map +1 -1
- package/dist/agent-operations/level-reads.js +38 -2
- package/dist/agent-operations/list-levels.d.ts.map +1 -1
- package/dist/agent-operations/list-levels.js +2 -4
- package/dist/agent-operations/move-node.d.ts +12 -0
- package/dist/agent-operations/move-node.d.ts.map +1 -0
- package/dist/agent-operations/move-node.js +28 -0
- package/dist/agent-operations/move-plan.d.ts +28 -0
- package/dist/agent-operations/move-plan.d.ts.map +1 -0
- package/dist/agent-operations/move-plan.js +257 -0
- package/dist/agent-operations/node-patch.d.ts.map +1 -1
- package/dist/agent-operations/node-patch.js +15 -0
- package/dist/agent-operations/paint.d.ts +3 -1
- package/dist/agent-operations/paint.d.ts.map +1 -1
- package/dist/agent-operations/paint.js +14 -1
- package/dist/agent-operations/photo-elevation.d.ts.map +1 -1
- package/dist/agent-operations/photo-elevation.js +2 -1
- package/dist/agent-operations/place-in-room.d.ts.map +1 -1
- package/dist/agent-operations/place-in-room.js +1 -0
- package/dist/agent-operations/place-items.d.ts.map +1 -1
- package/dist/agent-operations/place-items.js +3 -4
- package/dist/agent-operations/plan-clearance.d.ts +28 -0
- package/dist/agent-operations/plan-clearance.d.ts.map +1 -0
- package/dist/agent-operations/plan-clearance.js +47 -0
- package/dist/agent-operations/plan-geometry.d.ts +2 -0
- package/dist/agent-operations/plan-geometry.d.ts.map +1 -1
- package/dist/agent-operations/plan-geometry.js +10 -0
- package/dist/agent-operations/project-files.d.ts +10 -0
- package/dist/agent-operations/project-files.d.ts.map +1 -1
- package/dist/agent-operations/reachability.d.ts +41 -0
- package/dist/agent-operations/reachability.d.ts.map +1 -0
- package/dist/agent-operations/reachability.js +199 -0
- package/dist/agent-operations/room-checks.d.ts +60 -0
- package/dist/agent-operations/room-checks.d.ts.map +1 -0
- package/dist/agent-operations/room-checks.js +226 -0
- package/dist/agent-operations/room-faces.d.ts +30 -0
- package/dist/agent-operations/room-faces.d.ts.map +1 -0
- package/dist/agent-operations/room-faces.js +31 -0
- package/dist/agent-operations/room-findings.d.ts +5 -2
- package/dist/agent-operations/room-findings.d.ts.map +1 -1
- package/dist/agent-operations/room-findings.js +30 -0
- package/dist/agent-operations/room-finishes.d.ts +87 -0
- package/dist/agent-operations/room-finishes.d.ts.map +1 -0
- package/dist/agent-operations/room-finishes.js +193 -0
- package/dist/agent-operations/room-floor-script.d.ts +3 -3
- package/dist/agent-operations/room-floor-script.js +3 -3
- package/dist/agent-operations/room-readings.d.ts +90 -0
- package/dist/agent-operations/room-readings.d.ts.map +1 -0
- package/dist/agent-operations/room-readings.js +369 -0
- package/dist/agent-operations/room-tile.d.ts +15 -0
- package/dist/agent-operations/room-tile.d.ts.map +1 -0
- package/dist/agent-operations/room-tile.js +30 -0
- package/dist/agent-operations/room-wet.d.ts +55 -0
- package/dist/agent-operations/room-wet.d.ts.map +1 -0
- package/dist/agent-operations/room-wet.js +203 -0
- package/dist/agent-operations/scene-check-policy.d.ts +5 -0
- package/dist/agent-operations/scene-check-policy.d.ts.map +1 -0
- package/dist/agent-operations/scene-check-policy.js +24 -0
- package/dist/agent-operations/scene-checkpoint.d.ts +10 -0
- package/dist/agent-operations/scene-checkpoint.d.ts.map +1 -1
- package/dist/agent-operations/scene-checkpoint.js +31 -0
- package/dist/agent-operations/scene-issue-groups.d.ts +17 -0
- package/dist/agent-operations/scene-issue-groups.d.ts.map +1 -0
- package/dist/agent-operations/scene-issue-groups.js +71 -0
- package/dist/agent-operations/scene-materials.d.ts +23 -0
- package/dist/agent-operations/scene-materials.d.ts.map +1 -1
- package/dist/agent-operations/scene-materials.js +41 -0
- package/dist/agent-operations/scene-queries.d.ts +1667 -866
- package/dist/agent-operations/scene-queries.d.ts.map +1 -1
- package/dist/agent-operations/scene-queries.js +3 -3
- package/dist/agent-operations/scene-review.d.ts.map +1 -1
- package/dist/agent-operations/scene-review.js +3 -2
- package/dist/agent-operations/scene-view.d.ts.map +1 -1
- package/dist/agent-operations/scene-view.js +91 -21
- package/dist/agent-operations/search-assets.d.ts +10 -6
- package/dist/agent-operations/search-assets.d.ts.map +1 -1
- package/dist/agent-operations/search-assets.js +37 -22
- package/dist/agent-operations/set-checkpoint.d.ts.map +1 -1
- package/dist/agent-operations/set-checkpoint.js +1 -0
- package/dist/agent-operations/set-ground-level.d.ts +1 -1
- package/dist/agent-operations/set-ground-level.d.ts.map +1 -1
- package/dist/agent-operations/set-ground-level.js +3 -14
- package/dist/agent-operations/site.js +3 -2
- package/dist/agent-operations/slab-surface-script.d.ts +25 -0
- package/dist/agent-operations/slab-surface-script.d.ts.map +1 -0
- package/dist/agent-operations/slab-surface-script.js +60 -0
- package/dist/agent-operations/stair-plan-footprint.d.ts +9 -0
- package/dist/agent-operations/stair-plan-footprint.d.ts.map +1 -0
- package/dist/agent-operations/stair-plan-footprint.js +50 -0
- package/dist/agent-operations/types.d.ts +10 -5
- package/dist/agent-operations/types.d.ts.map +1 -1
- package/dist/agent-operations/units.d.ts +26 -0
- package/dist/agent-operations/units.d.ts.map +1 -0
- package/dist/agent-operations/units.js +110 -0
- package/dist/agent-operations/unreachable-rooms-check.d.ts +17 -0
- package/dist/agent-operations/unreachable-rooms-check.d.ts.map +1 -0
- package/dist/agent-operations/unreachable-rooms-check.js +35 -0
- package/dist/agent-operations/usage-checks.d.ts +2 -0
- package/dist/agent-operations/usage-checks.d.ts.map +1 -0
- package/dist/agent-operations/usage-checks.js +12 -0
- package/dist/agent-operations/verify-scene.d.ts +8 -11
- package/dist/agent-operations/verify-scene.d.ts.map +1 -1
- package/dist/agent-operations/verify-scene.js +55 -11
- package/dist/agent-operations/wall-face-defaults.d.ts +44 -0
- package/dist/agent-operations/wall-face-defaults.d.ts.map +1 -0
- package/dist/agent-operations/wall-face-defaults.js +229 -0
- package/dist/agent-operations/wall-joins.d.ts +119 -0
- package/dist/agent-operations/wall-joins.d.ts.map +1 -0
- package/dist/agent-operations/wall-joins.js +308 -0
- package/dist/agent-operations/wall-object-observations.d.ts.map +1 -1
- package/dist/agent-operations/wall-object-observations.js +4 -6
- package/dist/agent-operations/wall-skirting.d.ts.map +1 -1
- package/dist/agent-operations/wall-skirting.js +2 -0
- package/dist/agent-operations/wall-type.d.ts +49 -0
- package/dist/agent-operations/wall-type.d.ts.map +1 -0
- package/dist/agent-operations/wall-type.js +31 -0
- package/dist/agent-operations/zone-coverage.d.ts +85 -0
- package/dist/agent-operations/zone-coverage.d.ts.map +1 -0
- package/dist/agent-operations/zone-coverage.js +208 -0
- package/dist/agent-tools/add-object.d.ts +31 -0
- package/dist/agent-tools/add-object.d.ts.map +1 -1
- package/dist/agent-tools/add-object.js +44 -7
- package/dist/agent-tools/assets.d.ts +4 -0
- package/dist/agent-tools/assets.d.ts.map +1 -1
- package/dist/agent-tools/assets.js +11 -1
- package/dist/agent-tools/author-scene.d.ts +810 -15
- package/dist/agent-tools/author-scene.d.ts.map +1 -1
- package/dist/agent-tools/author-scene.js +275 -34
- package/dist/agent-tools/batch.d.ts +1 -1
- package/dist/agent-tools/batch.d.ts.map +1 -1
- package/dist/agent-tools/batch.js +5 -1
- package/dist/agent-tools/checkpoints.js +1 -1
- package/dist/agent-tools/columns.d.ts +14 -0
- package/dist/agent-tools/columns.d.ts.map +1 -1
- package/dist/agent-tools/columns.js +14 -2
- package/dist/agent-tools/contract.d.ts +10 -0
- package/dist/agent-tools/contract.d.ts.map +1 -1
- package/dist/agent-tools/contract.js +5 -1
- package/dist/agent-tools/corner-window.d.ts +1 -0
- package/dist/agent-tools/corner-window.d.ts.map +1 -1
- package/dist/agent-tools/corner-window.js +1 -1
- package/dist/agent-tools/create-room.d.ts +85 -0
- package/dist/agent-tools/create-room.d.ts.map +1 -1
- package/dist/agent-tools/create-room.js +8 -1
- package/dist/agent-tools/design-brief.d.ts +513 -7
- package/dist/agent-tools/design-brief.d.ts.map +1 -1
- package/dist/agent-tools/design-brief.js +192 -14
- package/dist/agent-tools/designs.js +1 -1
- package/dist/agent-tools/find-by-type.js +1 -1
- package/dist/agent-tools/index.d.ts +658 -10
- package/dist/agent-tools/index.d.ts.map +1 -1
- package/dist/agent-tools/index.js +9 -1
- package/dist/agent-tools/levels.js +4 -4
- package/dist/agent-tools/move-duplicate.d.ts +65 -0
- package/dist/agent-tools/move-duplicate.d.ts.map +1 -0
- package/dist/agent-tools/move-duplicate.js +68 -0
- package/dist/agent-tools/paint.d.ts +6 -0
- package/dist/agent-tools/paint.d.ts.map +1 -1
- package/dist/agent-tools/paint.js +7 -3
- package/dist/agent-tools/photo-elevation.js +1 -1
- package/dist/agent-tools/project-files.d.ts +2 -2
- package/dist/agent-tools/project-files.d.ts.map +1 -1
- package/dist/agent-tools/project-files.js +1 -1
- package/dist/agent-tools/refusal.d.ts +9 -1
- package/dist/agent-tools/refusal.d.ts.map +1 -1
- package/dist/agent-tools/refusal.js +5 -1
- package/dist/agent-tools/roofs.js +1 -1
- package/dist/agent-tools/room-structure.d.ts +60 -0
- package/dist/agent-tools/room-structure.d.ts.map +1 -1
- package/dist/agent-tools/room-structure.js +20 -1
- package/dist/agent-tools/search-materials.d.ts +1 -0
- package/dist/agent-tools/search-materials.d.ts.map +1 -1
- package/dist/agent-tools/site.js +1 -1
- package/dist/agent-tools/stairs.js +1 -1
- package/dist/agent-tools/units.d.ts +84 -0
- package/dist/agent-tools/units.d.ts.map +1 -0
- package/dist/agent-tools/units.js +54 -0
- package/dist/agent-tools/verify-scene-usage.d.ts +44 -0
- package/dist/agent-tools/verify-scene-usage.d.ts.map +1 -0
- package/dist/agent-tools/verify-scene-usage.js +146 -0
- package/dist/agent-tools/verify-scene.d.ts +12 -1
- package/dist/agent-tools/verify-scene.d.ts.map +1 -1
- package/dist/agent-tools/verify-scene.js +183 -3
- package/dist/agent-tools/view-scene.d.ts +3 -0
- package/dist/agent-tools/view-scene.d.ts.map +1 -1
- package/dist/agent-tools/view-scene.js +4 -1
- package/dist/agent-tools/wall-openings.d.ts +121 -2
- package/dist/agent-tools/wall-openings.d.ts.map +1 -1
- package/dist/agent-tools/wall-openings.js +123 -18
- package/dist/agent-tools/walls.d.ts +30 -0
- package/dist/agent-tools/walls.d.ts.map +1 -1
- package/dist/agent-tools/walls.js +54 -2
- package/dist/building/__fixtures__/wall-opening-cases.d.ts +340 -195
- package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -1
- package/dist/building/__fixtures__/wall-opening-cases.js +13 -0
- package/dist/building/code-profile.d.ts +231 -0
- package/dist/building/code-profile.d.ts.map +1 -0
- package/dist/building/code-profile.js +208 -0
- package/dist/building/corner-window.d.ts +2 -2
- package/dist/building/corner-window.d.ts.map +1 -1
- package/dist/building/corner-window.js +11 -2
- package/dist/building/door-types.d.ts +1 -0
- package/dist/building/door-types.d.ts.map +1 -1
- package/dist/building/door-types.js +2 -0
- package/dist/building/floor-item-fit.d.ts.map +1 -1
- package/dist/building/floor-item-fit.js +2 -4
- package/dist/building/ground-level.d.ts +1 -3
- package/dist/building/ground-level.d.ts.map +1 -1
- package/dist/building/ground-level.js +3 -5
- package/dist/building/index.d.ts +2 -0
- package/dist/building/index.d.ts.map +1 -1
- package/dist/building/index.js +2 -0
- package/dist/building/level-duplication.d.ts +5951 -4351
- package/dist/building/level-duplication.d.ts.map +1 -1
- package/dist/building/level-insertion.d.ts +1 -1
- package/dist/building/level-wall-copy.d.ts +24 -0
- package/dist/building/level-wall-copy.d.ts.map +1 -0
- package/dist/building/level-wall-copy.js +53 -0
- package/dist/building/merge-windows.d.ts.map +1 -1
- package/dist/building/merge-windows.js +1 -0
- package/dist/building/opening-style-presets.d.ts +2 -0
- package/dist/building/opening-style-presets.d.ts.map +1 -1
- package/dist/building/opening-style-presets.js +26 -5
- package/dist/building/room-use.d.ts +26 -0
- package/dist/building/room-use.d.ts.map +1 -0
- package/dist/building/room-use.js +102 -0
- package/dist/building/wall-openings.d.ts +115 -7
- package/dist/building/wall-openings.d.ts.map +1 -1
- package/dist/building/wall-openings.js +121 -29
- package/dist/building/window-types.d.ts +1 -0
- package/dist/building/window-types.d.ts.map +1 -1
- package/dist/building/window-types.js +3 -0
- package/dist/coherence/__fixtures__/enclosure-scenes.d.ts +84 -0
- package/dist/coherence/__fixtures__/enclosure-scenes.d.ts.map +1 -0
- package/dist/coherence/__fixtures__/enclosure-scenes.js +44 -0
- package/dist/commands/structure/attached-walls.d.ts +16 -0
- package/dist/commands/structure/attached-walls.d.ts.map +1 -0
- package/dist/commands/structure/attached-walls.js +53 -0
- package/dist/commands/structure/index.d.ts +3 -0
- package/dist/commands/structure/index.d.ts.map +1 -1
- package/dist/commands/structure/index.js +3 -0
- package/dist/commands/structure/move-separators.d.ts +62 -0
- package/dist/commands/structure/move-separators.d.ts.map +1 -0
- package/dist/commands/structure/move-separators.js +346 -0
- package/dist/commands/structure/set-floor-foundation.d.ts +5 -0
- package/dist/commands/structure/set-floor-foundation.d.ts.map +1 -1
- package/dist/commands/structure/set-wall-geometry.d.ts.map +1 -1
- package/dist/commands/structure/set-wall-geometry.js +44 -11
- package/dist/commands/structure/set-zone-intent.d.ts +26 -0
- package/dist/commands/structure/set-zone-intent.d.ts.map +1 -1
- package/dist/commands/structure/set-zone-intent.js +107 -2
- package/dist/commands/structure/shared.d.ts +888 -88
- package/dist/commands/structure/shared.d.ts.map +1 -1
- package/dist/commands/structure/wall-overlap.d.ts +45 -0
- package/dist/commands/structure/wall-overlap.d.ts.map +1 -0
- package/dist/commands/structure/wall-overlap.js +289 -0
- package/dist/commands/structure/zone-wall-merge.d.ts +3326 -2370
- package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -1
- package/dist/contracts/reference-discovery.d.ts +2 -2
- package/dist/contracts/reference-discovery.d.ts.map +1 -1
- package/dist/contracts/reference-discovery.js +5 -3
- package/dist/contracts/reference-inventory.d.ts.map +1 -1
- package/dist/contracts/reference-inventory.js +75 -24
- package/dist/events/bus.d.ts +15 -2
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/built-in-floor-placed.d.ts +40 -0
- package/dist/hooks/spatial-grid/built-in-floor-placed.d.ts.map +1 -0
- package/dist/hooks/spatial-grid/built-in-floor-placed.js +220 -0
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.js +13 -7
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +56 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +177 -27
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +1631 -831
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +24 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +10 -10
- package/dist/i18n/format.d.ts +41 -0
- package/dist/i18n/format.d.ts.map +1 -0
- package/dist/i18n/format.js +124 -0
- package/dist/i18n/index.d.ts +5 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +3 -0
- package/dist/i18n/registry.d.ts +78 -0
- package/dist/i18n/registry.d.ts.map +1 -0
- package/dist/i18n/registry.js +252 -0
- package/dist/i18n/use-translate.d.ts +16 -0
- package/dist/i18n/use-translate.d.ts.map +1 -0
- package/dist/i18n/use-translate.js +23 -0
- package/dist/index.d.ts +32 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +31 -15
- package/dist/lib/__fixtures__/mezzanine.d.ts +6840 -4169
- package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
- package/dist/lib/absorb-wall-separators.d.ts +2128 -1328
- package/dist/lib/absorb-wall-separators.d.ts.map +1 -1
- package/dist/lib/beam.d.ts +137 -0
- package/dist/lib/beam.d.ts.map +1 -0
- package/dist/lib/beam.js +297 -0
- package/dist/lib/below-grade-footprints.d.ts +13 -5
- package/dist/lib/below-grade-footprints.d.ts.map +1 -1
- package/dist/lib/below-grade-footprints.js +53 -10
- package/dist/lib/build-up.d.ts +89 -0
- package/dist/lib/build-up.d.ts.map +1 -0
- package/dist/lib/build-up.js +216 -0
- package/dist/lib/corner-pair.d.ts +205 -4
- package/dist/lib/corner-pair.d.ts.map +1 -1
- package/dist/lib/deck-boards.d.ts +80 -0
- package/dist/lib/deck-boards.d.ts.map +1 -0
- package/dist/lib/deck-boards.js +184 -0
- package/dist/lib/deck-framing.d.ts +150 -0
- package/dist/lib/deck-framing.d.ts.map +1 -0
- package/dist/lib/deck-framing.js +515 -0
- package/dist/lib/deepest-drawn.d.ts +3 -6
- package/dist/lib/deepest-drawn.d.ts.map +1 -1
- package/dist/lib/deepest-drawn.js +4 -8
- package/dist/lib/door-opening.d.ts +19 -0
- package/dist/lib/door-opening.d.ts.map +1 -0
- package/dist/lib/door-opening.js +27 -0
- package/dist/lib/door-operation.d.ts +2 -0
- package/dist/lib/door-operation.d.ts.map +1 -1
- package/dist/lib/door-operation.js +4 -0
- package/dist/lib/exterior-wall-loops.d.ts.map +1 -1
- package/dist/lib/exterior-wall-loops.js +2 -1
- package/dist/lib/finish-script.d.ts +5 -5
- package/dist/lib/finish-script.d.ts.map +1 -1
- package/dist/lib/finish-script.js +12 -5
- package/dist/lib/floor-footprint-name.d.ts +17 -0
- package/dist/lib/floor-footprint-name.d.ts.map +1 -1
- package/dist/lib/floor-footprint-name.js +17 -4
- package/dist/lib/floor-intent-changes.d.ts.map +1 -1
- package/dist/lib/floor-intent-changes.js +60 -35
- package/dist/lib/floor-opening-footprints.d.ts +1 -1
- package/dist/lib/floor-opening-footprints.d.ts.map +1 -1
- package/dist/lib/floor-opening-footprints.js +10 -4
- package/dist/lib/floor-plate-paint.d.ts +2 -0
- package/dist/lib/floor-plate-paint.d.ts.map +1 -1
- package/dist/lib/floor-plate-paint.js +12 -0
- package/dist/lib/floor-plates.d.ts +250 -0
- package/dist/lib/floor-plates.d.ts.map +1 -1
- package/dist/lib/floor-plates.js +43 -4
- package/dist/lib/floor-script.d.ts +35 -6
- package/dist/lib/floor-script.d.ts.map +1 -1
- package/dist/lib/floor-script.js +96 -16
- package/dist/lib/foundation-construction.d.ts +4 -13
- package/dist/lib/foundation-construction.d.ts.map +1 -1
- package/dist/lib/foundation-construction.js +4 -14
- package/dist/lib/foundation-standard.d.ts +2 -3
- package/dist/lib/foundation-standard.d.ts.map +1 -1
- package/dist/lib/foundation-standard.js +2 -3
- package/dist/lib/foundation-wall.d.ts +1 -2
- package/dist/lib/foundation-wall.d.ts.map +1 -1
- package/dist/lib/foundation-wall.js +1 -2
- package/dist/lib/framing-post.d.ts +91 -0
- package/dist/lib/framing-post.d.ts.map +1 -0
- package/dist/lib/framing-post.js +174 -0
- package/dist/lib/geometry-script-node.d.ts +11 -0
- package/dist/lib/geometry-script-node.d.ts.map +1 -1
- package/dist/lib/geometry-script-node.js +35 -0
- package/dist/lib/grade-standing.d.ts +16 -2
- package/dist/lib/grade-standing.d.ts.map +1 -1
- package/dist/lib/grade-standing.js +129 -9
- package/dist/lib/ground-seat.d.ts +2 -22
- package/dist/lib/ground-seat.d.ts.map +1 -1
- package/dist/lib/ground-seat.js +2 -17
- package/dist/lib/ground-window.d.ts +2 -1
- package/dist/lib/ground-window.d.ts.map +1 -1
- package/dist/lib/ground-window.js +5 -2
- package/dist/lib/level-footprints.d.ts +2 -0
- package/dist/lib/level-footprints.d.ts.map +1 -1
- package/dist/lib/level-footprints.js +7 -0
- package/dist/lib/opening-casing.d.ts +67 -0
- package/dist/lib/opening-casing.d.ts.map +1 -0
- package/dist/lib/opening-casing.js +131 -0
- package/dist/lib/opening-exterior-face.d.ts +6 -0
- package/dist/lib/opening-exterior-face.d.ts.map +1 -0
- package/dist/lib/opening-exterior-face.js +15 -0
- package/dist/lib/opening-floor-datum.d.ts +11 -5
- package/dist/lib/opening-floor-datum.d.ts.map +1 -1
- package/dist/lib/opening-floor-datum.js +38 -6
- package/dist/lib/opening-frame-depth.d.ts +18 -0
- package/dist/lib/opening-frame-depth.d.ts.map +1 -0
- package/dist/lib/opening-frame-depth.js +22 -0
- package/dist/lib/outdoor-room.d.ts +32 -0
- package/dist/lib/outdoor-room.d.ts.map +1 -0
- package/dist/lib/outdoor-room.js +66 -0
- package/dist/lib/plate-surface.d.ts +8 -0
- package/dist/lib/plate-surface.d.ts.map +1 -1
- package/dist/lib/plate-surface.js +53 -3
- package/dist/lib/porch-framing-sync.d.ts +46 -0
- package/dist/lib/porch-framing-sync.d.ts.map +1 -0
- package/dist/lib/porch-framing-sync.js +206 -0
- package/dist/lib/porch-framing.d.ts +44 -0
- package/dist/lib/porch-framing.d.ts.map +1 -0
- package/dist/lib/porch-framing.js +159 -0
- package/dist/lib/railing-rooms.d.ts +13 -0
- package/dist/lib/railing-rooms.d.ts.map +1 -0
- package/dist/lib/railing-rooms.js +37 -0
- package/dist/lib/roof-eave.d.ts +135 -0
- package/dist/lib/roof-eave.d.ts.map +1 -0
- package/dist/lib/roof-eave.js +186 -0
- package/dist/lib/room-floor-plate.d.ts +3 -1
- package/dist/lib/room-floor-plate.d.ts.map +1 -1
- package/dist/lib/room-floor-plate.js +7 -0
- package/dist/lib/space-detection.d.ts +13 -0
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +112 -24
- package/dist/lib/structure-kernel.d.ts +22 -9
- package/dist/lib/structure-kernel.d.ts.map +1 -1
- package/dist/lib/structure-kernel.js +146 -28
- package/dist/lib/structure-reconcile.d.ts +1 -1
- package/dist/lib/structure-reconcile.d.ts.map +1 -1
- package/dist/lib/structure-reconcile.js +7 -4
- package/dist/lib/surface-intent.d.ts +10 -0
- package/dist/lib/surface-intent.d.ts.map +1 -0
- package/dist/lib/surface-intent.js +18 -0
- package/dist/lib/terrain-source.d.ts.map +1 -1
- package/dist/lib/terrain-source.js +2 -1
- package/dist/lib/wall-face-script.d.ts.map +1 -1
- package/dist/lib/wall-face-script.js +5 -2
- package/dist/material-kinds.d.ts +1 -1
- package/dist/material-kinds.d.ts.map +1 -1
- package/dist/material-kinds.js +1 -0
- package/dist/material-library.d.ts +15 -0
- package/dist/material-library.d.ts.map +1 -1
- package/dist/material-library.js +458 -59
- package/dist/node-slots/door.d.ts +3 -4
- package/dist/node-slots/door.d.ts.map +1 -1
- package/dist/node-slots/door.js +4 -3
- package/dist/node-slots/wall.d.ts.map +1 -1
- package/dist/node-slots/wall.js +21 -3
- package/dist/node-slots/window.d.ts +2 -2
- package/dist/node-slots/window.d.ts.map +1 -1
- package/dist/node-slots/window.js +6 -1
- package/dist/procedural-items/design.d.ts +8 -0
- package/dist/procedural-items/design.d.ts.map +1 -1
- package/dist/procedural-items/design.js +169 -21
- package/dist/procedural-items/motion-controller.d.ts +2 -0
- package/dist/procedural-items/motion-controller.d.ts.map +1 -1
- package/dist/procedural-items/motion-controller.js +2 -1
- package/dist/registry/index.d.ts +2 -2
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/registry/mechanism.d.ts +4 -1
- package/dist/registry/mechanism.d.ts.map +1 -1
- package/dist/registry/mechanism.js +10 -0
- package/dist/registry/types.d.ts +65 -23
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/runtime/__fixtures__/live-scene.d.ts +14 -0
- package/dist/runtime/__fixtures__/live-scene.d.ts.map +1 -0
- package/dist/runtime/__fixtures__/live-scene.js +64 -0
- package/dist/runtime/apply.d.ts +42 -0
- package/dist/runtime/apply.d.ts.map +1 -0
- package/dist/runtime/apply.js +274 -0
- package/dist/runtime/dependencies.d.ts +97 -0
- package/dist/runtime/dependencies.d.ts.map +1 -0
- package/dist/runtime/dependencies.js +42 -0
- package/dist/runtime/ids.d.ts +11 -0
- package/dist/runtime/ids.d.ts.map +1 -0
- package/dist/runtime/ids.js +80 -0
- package/dist/runtime/index.d.ts +14 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +11 -0
- package/dist/runtime/node-queries.d.ts +16 -0
- package/dist/runtime/node-queries.d.ts.map +1 -0
- package/dist/runtime/node-queries.js +30 -0
- package/dist/runtime/patch.d.ts +26 -0
- package/dist/runtime/patch.d.ts.map +1 -0
- package/dist/runtime/patch.js +165 -0
- package/dist/runtime/reader.d.ts +104 -0
- package/dist/runtime/reader.d.ts.map +1 -0
- package/dist/runtime/reader.js +455 -0
- package/dist/runtime/scene-runtime.d.ts +112 -0
- package/dist/runtime/scene-runtime.d.ts.map +1 -0
- package/dist/runtime/scene-runtime.js +302 -0
- package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
- package/dist/schema/__fixtures__/node-fixtures.js +1 -0
- package/dist/schema/assembly.d.ts +3 -0
- package/dist/schema/assembly.d.ts.map +1 -1
- package/dist/schema/assembly.js +13 -0
- package/dist/schema/asset-url.d.ts +37 -2
- package/dist/schema/asset-url.d.ts.map +1 -1
- package/dist/schema/asset-url.js +80 -11
- package/dist/schema/base.d.ts +8 -0
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +19 -1
- package/dist/schema/build-up.d.ts +247 -0
- package/dist/schema/build-up.d.ts.map +1 -0
- package/dist/schema/build-up.js +83 -0
- package/dist/schema/geometry-source.d.ts +80 -0
- package/dist/schema/geometry-source.d.ts.map +1 -1
- package/dist/schema/geometry-source.js +38 -0
- package/dist/schema/index.d.ts +12 -7
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +12 -6
- package/dist/schema/material.d.ts +5 -0
- package/dist/schema/material.d.ts.map +1 -1
- package/dist/schema/material.js +6 -0
- package/dist/schema/nodes/beam.d.ts +264 -0
- package/dist/schema/nodes/beam.d.ts.map +1 -0
- package/dist/schema/nodes/beam.js +139 -0
- package/dist/schema/nodes/box-vent.d.ts +5 -0
- package/dist/schema/nodes/box-vent.d.ts.map +1 -1
- package/dist/schema/nodes/cabinet.d.ts +10 -0
- package/dist/schema/nodes/cabinet.d.ts.map +1 -1
- package/dist/schema/nodes/ceiling.d.ts +48 -0
- package/dist/schema/nodes/ceiling.d.ts.map +1 -1
- package/dist/schema/nodes/ceiling.js +5 -0
- package/dist/schema/nodes/chimney.d.ts +10 -0
- package/dist/schema/nodes/chimney.d.ts.map +1 -1
- package/dist/schema/nodes/column.d.ts +42 -0
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +11 -1
- package/dist/schema/nodes/cupola.d.ts +5 -0
- package/dist/schema/nodes/cupola.d.ts.map +1 -1
- package/dist/schema/nodes/door.d.ts +54 -3
- package/dist/schema/nodes/door.d.ts.map +1 -1
- package/dist/schema/nodes/door.js +41 -7
- package/dist/schema/nodes/dormer.d.ts +20 -0
- package/dist/schema/nodes/dormer.d.ts.map +1 -1
- package/dist/schema/nodes/downspout.d.ts +5 -0
- package/dist/schema/nodes/downspout.d.ts.map +1 -1
- package/dist/schema/nodes/elevator.d.ts +5 -0
- package/dist/schema/nodes/elevator.d.ts.map +1 -1
- package/dist/schema/nodes/eyebrow-vent.d.ts +5 -0
- package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
- package/dist/schema/nodes/fence.d.ts +5 -0
- package/dist/schema/nodes/fence.d.ts.map +1 -1
- package/dist/schema/nodes/guide.d.ts +14 -0
- package/dist/schema/nodes/guide.d.ts.map +1 -1
- package/dist/schema/nodes/guide.js +2 -0
- package/dist/schema/nodes/gutter.d.ts +5 -0
- package/dist/schema/nodes/gutter.d.ts.map +1 -1
- package/dist/schema/nodes/item.d.ts +71 -0
- package/dist/schema/nodes/item.d.ts.map +1 -1
- package/dist/schema/nodes/item.js +5 -1
- package/dist/schema/nodes/level.d.ts +1 -1
- package/dist/schema/nodes/level.d.ts.map +1 -1
- package/dist/schema/nodes/opening-types.d.ts +13 -0
- package/dist/schema/nodes/opening-types.d.ts.map +1 -1
- package/dist/schema/nodes/opening-types.js +8 -1
- package/dist/schema/nodes/railing-wall.d.ts +112 -0
- package/dist/schema/nodes/railing-wall.d.ts.map +1 -0
- package/dist/schema/nodes/railing-wall.js +160 -0
- package/dist/schema/nodes/ridge-vent.d.ts +5 -0
- package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.d.ts +224 -1
- package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.js +57 -10
- package/dist/schema/nodes/roof-types.d.ts +11 -0
- package/dist/schema/nodes/roof-types.d.ts.map +1 -1
- package/dist/schema/nodes/roof-types.js +6 -0
- package/dist/schema/nodes/roof.d.ts +60 -0
- package/dist/schema/nodes/roof.d.ts.map +1 -1
- package/dist/schema/nodes/roof.js +4 -0
- package/dist/schema/nodes/shelf.d.ts +5 -0
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/site.d.ts +80 -0
- package/dist/schema/nodes/site.d.ts.map +1 -1
- package/dist/schema/nodes/site.js +7 -0
- package/dist/schema/nodes/skylight.d.ts +10 -0
- package/dist/schema/nodes/skylight.d.ts.map +1 -1
- package/dist/schema/nodes/slab.d.ts +137 -0
- package/dist/schema/nodes/slab.d.ts.map +1 -1
- package/dist/schema/nodes/slab.js +3 -0
- package/dist/schema/nodes/solar-panel.d.ts +10 -0
- package/dist/schema/nodes/solar-panel.d.ts.map +1 -1
- package/dist/schema/nodes/stair-segment.d.ts +5 -0
- package/dist/schema/nodes/stair-segment.d.ts.map +1 -1
- package/dist/schema/nodes/stair-structure.d.ts +69 -0
- package/dist/schema/nodes/stair-structure.d.ts.map +1 -0
- package/dist/schema/nodes/stair-structure.js +39 -0
- package/dist/schema/nodes/stair.d.ts +46 -0
- package/dist/schema/nodes/stair.d.ts.map +1 -1
- package/dist/schema/nodes/stair.js +3 -0
- package/dist/schema/nodes/turbine-vent.d.ts +5 -0
- package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
- package/dist/schema/nodes/wall.d.ts +135 -2
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +42 -6
- package/dist/schema/nodes/window.d.ts +66 -1
- package/dist/schema/nodes/window.d.ts.map +1 -1
- package/dist/schema/nodes/window.js +50 -5
- package/dist/schema/nodes/zone.d.ts +68 -0
- package/dist/schema/nodes/zone.d.ts.map +1 -1
- package/dist/schema/nodes/zone.js +32 -0
- package/dist/schema/scene-material.d.ts +5 -0
- package/dist/schema/scene-material.d.ts.map +1 -1
- package/dist/schema/types.d.ts +1079 -4
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +2 -0
- package/dist/schema/wall-type.d.ts +95 -0
- package/dist/schema/wall-type.d.ts.map +1 -0
- package/dist/schema/wall-type.js +32 -0
- package/dist/services/roof-bearing.d.ts.map +1 -1
- package/dist/services/roof-bearing.js +6 -3
- package/dist/services/roof-level.d.ts.map +1 -1
- package/dist/services/roof-level.js +4 -3
- package/dist/services/roof-move.d.ts.map +1 -1
- package/dist/services/roof-move.js +13 -7
- package/dist/services/storey.d.ts.map +1 -1
- package/dist/services/storey.js +13 -8
- package/dist/spatial/usage-field/beds.d.ts +51 -0
- package/dist/spatial/usage-field/beds.d.ts.map +1 -0
- package/dist/spatial/usage-field/beds.js +346 -0
- package/dist/spatial/usage-field/blocked.d.ts +28 -0
- package/dist/spatial/usage-field/blocked.d.ts.map +1 -0
- package/dist/spatial/usage-field/blocked.js +185 -0
- package/dist/spatial/usage-field/boxes.d.ts +17 -0
- package/dist/spatial/usage-field/boxes.d.ts.map +1 -0
- package/dist/spatial/usage-field/boxes.js +82 -0
- package/dist/spatial/usage-field/catalogue-shapes.d.ts +3 -0
- package/dist/spatial/usage-field/catalogue-shapes.d.ts.map +1 -0
- package/dist/spatial/usage-field/catalogue-shapes.js +257 -0
- package/dist/spatial/usage-field/catalogue.d.ts +6 -0
- package/dist/spatial/usage-field/catalogue.d.ts.map +1 -0
- package/dist/spatial/usage-field/catalogue.js +11 -0
- package/dist/spatial/usage-field/clash.d.ts +40 -0
- package/dist/spatial/usage-field/clash.d.ts.map +1 -0
- package/dist/spatial/usage-field/clash.js +187 -0
- package/dist/spatial/usage-field/door-stairs.d.ts +18 -0
- package/dist/spatial/usage-field/door-stairs.d.ts.map +1 -0
- package/dist/spatial/usage-field/door-stairs.js +129 -0
- package/dist/spatial/usage-field/entry-way.d.ts +14 -0
- package/dist/spatial/usage-field/entry-way.d.ts.map +1 -0
- package/dist/spatial/usage-field/entry-way.js +219 -0
- package/dist/spatial/usage-field/fences.d.ts +18 -0
- package/dist/spatial/usage-field/fences.d.ts.map +1 -0
- package/dist/spatial/usage-field/fences.js +253 -0
- package/dist/spatial/usage-field/field.d.ts +44 -0
- package/dist/spatial/usage-field/field.d.ts.map +1 -0
- package/dist/spatial/usage-field/field.js +145 -0
- package/dist/spatial/usage-field/findings.d.ts +76 -0
- package/dist/spatial/usage-field/findings.d.ts.map +1 -0
- package/dist/spatial/usage-field/findings.js +252 -0
- package/dist/spatial/usage-field/fixtures.d.ts +18 -0
- package/dist/spatial/usage-field/fixtures.d.ts.map +1 -0
- package/dist/spatial/usage-field/fixtures.js +160 -0
- package/dist/spatial/usage-field/flag.d.ts +10 -0
- package/dist/spatial/usage-field/flag.d.ts.map +1 -0
- package/dist/spatial/usage-field/flag.js +12 -0
- package/dist/spatial/usage-field/floors.d.ts +13 -0
- package/dist/spatial/usage-field/floors.d.ts.map +1 -0
- package/dist/spatial/usage-field/floors.js +36 -0
- package/dist/spatial/usage-field/index.d.ts +7 -0
- package/dist/spatial/usage-field/index.d.ts.map +1 -0
- package/dist/spatial/usage-field/index.js +5 -0
- package/dist/spatial/usage-field/items.d.ts +38 -0
- package/dist/spatial/usage-field/items.d.ts.map +1 -0
- package/dist/spatial/usage-field/items.js +261 -0
- package/dist/spatial/usage-field/labels.d.ts +8 -0
- package/dist/spatial/usage-field/labels.d.ts.map +1 -0
- package/dist/spatial/usage-field/labels.js +14 -0
- package/dist/spatial/usage-field/level-field.d.ts +47 -0
- package/dist/spatial/usage-field/level-field.d.ts.map +1 -0
- package/dist/spatial/usage-field/level-field.js +96 -0
- package/dist/spatial/usage-field/measure.d.ts +324 -0
- package/dist/spatial/usage-field/measure.d.ts.map +1 -0
- package/dist/spatial/usage-field/measure.js +458 -0
- package/dist/spatial/usage-field/obstacles.d.ts +63 -0
- package/dist/spatial/usage-field/obstacles.d.ts.map +1 -0
- package/dist/spatial/usage-field/obstacles.js +215 -0
- package/dist/spatial/usage-field/openings.d.ts +12 -0
- package/dist/spatial/usage-field/openings.d.ts.map +1 -0
- package/dist/spatial/usage-field/openings.js +162 -0
- package/dist/spatial/usage-field/path.d.ts +48 -0
- package/dist/spatial/usage-field/path.d.ts.map +1 -0
- package/dist/spatial/usage-field/path.js +354 -0
- package/dist/spatial/usage-field/pieces.d.ts +27 -0
- package/dist/spatial/usage-field/pieces.d.ts.map +1 -0
- package/dist/spatial/usage-field/pieces.js +89 -0
- package/dist/spatial/usage-field/shapes.d.ts +18 -0
- package/dist/spatial/usage-field/shapes.d.ts.map +1 -0
- package/dist/spatial/usage-field/shapes.js +92 -0
- package/dist/spatial/usage-field/stairs.d.ts +23 -0
- package/dist/spatial/usage-field/stairs.d.ts.map +1 -0
- package/dist/spatial/usage-field/stairs.js +163 -0
- package/dist/spatial/usage-field/support.d.ts +24 -0
- package/dist/spatial/usage-field/support.d.ts.map +1 -0
- package/dist/spatial/usage-field/support.js +46 -0
- package/dist/spatial/usage-field/swings.d.ts +846 -0
- package/dist/spatial/usage-field/swings.d.ts.map +1 -0
- package/dist/spatial/usage-field/swings.js +427 -0
- package/dist/spatial/usage-field/types.d.ts +65 -0
- package/dist/spatial/usage-field/types.d.ts.map +1 -0
- package/dist/spatial/usage-field/types.js +1 -0
- package/dist/spatial/usage-field/walls.d.ts +1057 -0
- package/dist/spatial/usage-field/walls.d.ts.map +1 -0
- package/dist/spatial/usage-field/walls.js +166 -0
- package/dist/spatial/usage-field/way-in.d.ts +26 -0
- package/dist/spatial/usage-field/way-in.d.ts.map +1 -0
- package/dist/spatial/usage-field/way-in.js +113 -0
- package/dist/store/actions/node-actions.d.ts +2124 -1322
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +42 -16
- package/dist/store/derived-node-guard.d.ts +10 -2
- package/dist/store/derived-node-guard.d.ts.map +1 -1
- package/dist/store/derived-node-guard.js +31 -11
- package/dist/store/document-settling.d.ts +9 -0
- package/dist/store/document-settling.d.ts.map +1 -0
- package/dist/store/document-settling.js +22 -0
- package/dist/store/history-control.d.ts +19 -10
- package/dist/store/history-control.d.ts.map +1 -1
- package/dist/store/history-control.js +176 -127
- package/dist/store/history-drafts.d.ts.map +1 -1
- package/dist/store/history-drafts.js +21 -17
- package/dist/store/live-previews.d.ts +9 -0
- package/dist/store/live-previews.d.ts.map +1 -0
- package/dist/store/live-previews.js +19 -0
- package/dist/store/scene-annotations.d.ts +6751 -5151
- package/dist/store/scene-annotations.d.ts.map +1 -1
- package/dist/store/scene-environment.d.ts +33 -0
- package/dist/store/scene-environment.d.ts.map +1 -0
- package/dist/store/scene-environment.js +54 -0
- package/dist/store/scene-hydration.d.ts.map +1 -1
- package/dist/store/scene-hydration.js +41 -30
- package/dist/store/use-interactive.d.ts +9 -3
- package/dist/store/use-interactive.d.ts.map +1 -1
- package/dist/store/use-interactive.js +43 -11
- package/dist/store/use-live-node-overrides.d.ts.map +1 -1
- package/dist/store/use-live-node-overrides.js +3 -0
- package/dist/store/use-scene.d.ts +25 -0
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +408 -336
- package/dist/systems/document-reconcile.d.ts +40 -0
- package/dist/systems/document-reconcile.d.ts.map +1 -0
- package/dist/systems/document-reconcile.js +159 -0
- package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
- package/dist/systems/elevator/elevator-opening-system.js +9 -24
- package/dist/systems/fence/guard-layout.d.ts +69 -0
- package/dist/systems/fence/guard-layout.d.ts.map +1 -0
- package/dist/systems/fence/guard-layout.js +194 -0
- package/dist/systems/owned-floor-openings.d.ts +13 -1
- package/dist/systems/owned-floor-openings.d.ts.map +1 -1
- package/dist/systems/owned-floor-openings.js +58 -2
- package/dist/systems/reconcile-owned-floor-openings.d.ts +3 -1
- package/dist/systems/reconcile-owned-floor-openings.d.ts.map +1 -1
- package/dist/systems/reconcile-owned-floor-openings.js +4 -4
- package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -1
- package/dist/systems/roof/roof-elevation-system.js +8 -26
- package/dist/systems/roof/roof-elevation.d.ts +16 -1
- package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
- package/dist/systems/roof/roof-elevation.js +85 -4
- package/dist/systems/roof/roof-footprint.d.ts +42 -1
- package/dist/systems/roof/roof-footprint.d.ts.map +1 -1
- package/dist/systems/roof/roof-footprint.js +160 -4
- package/dist/systems/slab/__fixtures__/floor-step.d.ts +3163 -1934
- package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
- package/dist/systems/slab/__fixtures__/raised-room.d.ts +2495 -1249
- package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
- package/dist/systems/stair/stair-clearance.d.ts +7 -0
- package/dist/systems/stair/stair-clearance.d.ts.map +1 -1
- package/dist/systems/stair/stair-clearance.js +31 -11
- package/dist/systems/stair/stair-construction.d.ts +8 -3
- package/dist/systems/stair/stair-construction.d.ts.map +1 -1
- package/dist/systems/stair/stair-construction.js +55 -4
- package/dist/systems/stair/stair-opening-preview.d.ts +889 -89
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-system.js +18 -34
- package/dist/systems/stair/stair-presets.d.ts +36 -0
- package/dist/systems/stair/stair-presets.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise-query.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise-query.js +3 -2
- package/dist/systems/stair/stair-rise.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise.js +6 -0
- package/dist/systems/stair/stair-sizing.d.ts +42 -11
- package/dist/systems/stair/stair-sizing.d.ts.map +1 -1
- package/dist/systems/stair/stair-sizing.js +10 -1
- package/dist/systems/stair/stair-structure.d.ts +277 -0
- package/dist/systems/stair/stair-structure.d.ts.map +1 -0
- package/dist/systems/stair/stair-structure.js +496 -0
- package/dist/systems/wall/wall-assembly.d.ts +84 -6
- package/dist/systems/wall/wall-assembly.d.ts.map +1 -1
- package/dist/systems/wall/wall-assembly.js +204 -5
- package/dist/systems/wall/wall-finish.d.ts +38 -2
- package/dist/systems/wall/wall-finish.d.ts.map +1 -1
- package/dist/systems/wall/wall-finish.js +70 -2
- package/dist/systems/wall/wall-footprint.js +2 -2
- package/dist/systems/wall/wall-merge.d.ts.map +1 -1
- package/dist/systems/wall/wall-merge.js +28 -7
- package/dist/systems/wall/wall-mitering.d.ts +1 -0
- package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
- package/dist/systems/wall/wall-mitering.js +152 -52
- package/dist/systems/wall/wall-move.d.ts +23 -6
- package/dist/systems/wall/wall-move.d.ts.map +1 -1
- package/dist/systems/wall/wall-move.js +65 -0
- package/dist/systems/wall/wall-top.d.ts +2 -2
- package/dist/systems/wall/wall-top.d.ts.map +1 -1
- package/dist/systems/wall/wall-top.js +6 -1
- package/dist/systems/wall/wall-topology.d.ts +32 -1
- package/dist/systems/wall/wall-topology.d.ts.map +1 -1
- package/dist/systems/wall/wall-topology.js +118 -10
- package/dist/systems/wall/wall-trim-profiles.d.ts +12 -0
- package/dist/systems/wall/wall-trim-profiles.d.ts.map +1 -0
- package/dist/systems/wall/wall-trim-profiles.js +191 -0
- package/dist/utils/ensure-scene-openings.d.ts +6523 -4923
- package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
- package/dist/utils/floor-piece-adoption.d.ts +5 -0
- package/dist/utils/floor-piece-adoption.d.ts.map +1 -1
- package/dist/utils/floor-plate-migration.d.ts +1930 -1130
- package/dist/utils/floor-plate-migration.d.ts.map +1 -1
- package/dist/utils/owned-floor-opening-migration.d.ts +888 -88
- package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
- package/dist/utils/reconcile-structure-on-load.d.ts +1930 -1130
- package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
- package/dist/utils/structure-id.d.ts.map +1 -1
- package/dist/utils/structure-id.js +4 -0
- package/package.json +22 -5
- package/dist/lib/generic-foundation.d.ts +0 -40
- package/dist/lib/generic-foundation.d.ts.map +0 -1
- package/dist/lib/generic-foundation.js +0 -200
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"level-duplication.d.ts","sourceRoot":"","sources":["../../src/building/level-duplication.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EAGd,KAAK,SAAS,EAEf,MAAM,WAAW,CAAA;AAOlB,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,WAAW,GACX,qBAAqB,GACrB,qBAAqB,CAAA;AAqGzB,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,yvCAElF;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAkB,GACnB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAO4B,SAAS,CAAC,IAAI,CAAC;eAAS,MAAM;eAAS,SAAS;;;;cAiOZ,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBhF"}
|
|
1
|
+
{"version":3,"file":"level-duplication.d.ts","sourceRoot":"","sources":["../../src/building/level-duplication.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EAGd,KAAK,SAAS,EAEf,MAAM,WAAW,CAAA;AAOlB,MAAM,MAAM,oBAAoB,GAC5B,YAAY,GACZ,WAAW,GACX,qBAAqB,GACrB,qBAAqB,CAAA;AAqGzB,6FAA6F;AAC7F,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EAAE,KAAK,EAAE,SAAS,4wCAElF;AAED,wBAAgB,4BAA4B,CAAC,EAC3C,KAAK,EACL,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAkB,GACnB,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjC,KAAK,EAAE,SAAS,CAAA;IAChB,MAAM,EAAE,SAAS,EAAE,CAAA;IACnB,MAAM,EAAE,oBAAoB,CAAA;IAC5B,0FAA0F;IAC1F,QAAQ,CAAC,EAAE,OAAO,GAAG,OAAO,CAAA;CAC7B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAO4B,SAAS,CAAC,IAAI,CAAC;eAAS,MAAM;eAAS,SAAS;;;;cAiOZ,OAAO,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBhF"}
|
|
@@ -38,7 +38,7 @@ export declare function buildLevelBelowChanges({ nodes, buildingId, height, }: {
|
|
|
38
38
|
} | undefined;
|
|
39
39
|
id: `level_${string}`;
|
|
40
40
|
type: "level";
|
|
41
|
-
children: (`block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
|
|
41
|
+
children: (`beam_${string}` | `block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
|
|
42
42
|
level: number;
|
|
43
43
|
baseElevation: number;
|
|
44
44
|
height?: number | undefined;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { type AnyNode, type AnyNodeId, WallNode } from '../schema/index.js';
|
|
2
|
+
/** The visible walls of `levelId` on its outline: the walls a closed circuit's outside runs along. */
|
|
3
|
+
export declare function levelExteriorWalls(nodes: Record<string, AnyNode>, levelId: string): WallNode[];
|
|
4
|
+
/**
|
|
5
|
+
* Copy a level's exterior walls, in place, onto another level of the building (a floor just added
|
|
6
|
+
* above or below it): the same plan positions, thickness, construction and finishes, so the new
|
|
7
|
+
* storey's outside lines up with the one it stands on. What belongs to the source storey stays
|
|
8
|
+
* there: its doors and windows, its support and terrain settings, and a height that only meant
|
|
9
|
+
* "as tall as this storey" (the copy follows its own storey). A copy between a basement and a floor
|
|
10
|
+
* over the ground takes the construction of where it lands: walls copied down to a basement get the
|
|
11
|
+
* foundation build, and foundation walls copied up are plain walls. Rooms then come from the copied
|
|
12
|
+
* walls as from drawn ones. Returns the create entries for `applyNodeChanges`; empty when the
|
|
13
|
+
* source has no closed outline.
|
|
14
|
+
*/
|
|
15
|
+
export declare function buildExteriorWallCopy({ nodes, fromLevelId, toLevelId, mintId, }: {
|
|
16
|
+
nodes: Record<string, AnyNode>;
|
|
17
|
+
fromLevelId: string;
|
|
18
|
+
toLevelId: string;
|
|
19
|
+
mintId?: () => string;
|
|
20
|
+
}): Array<{
|
|
21
|
+
node: WallNode;
|
|
22
|
+
parentId: AnyNodeId;
|
|
23
|
+
}>;
|
|
24
|
+
//# sourceMappingURL=level-wall-copy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"level-wall-copy.d.ts","sourceRoot":"","sources":["../../src/building/level-wall-copy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAA8B,QAAQ,EAAE,MAAM,WAAW,CAAA;AAG9F,sGAAsG;AACtG,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAS9F;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,WAAW,EACX,SAAS,EACT,MAAiC,GAClC,EAAE;IACD,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAW,EAAE,MAAM,CAAA;IACnB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,MAAM,CAAA;CACtB,GAAG,KAAK,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAC,CA6CjD"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { exteriorWallLoops } from '../lib/exterior-wall-loops.js';
|
|
2
|
+
import { levelHoldsFoundationWalls, withFoundationConstruction } from '../lib/foundation-wall.js';
|
|
3
|
+
import { generateId, WallNode } from '../schema/index.js';
|
|
4
|
+
import { wallFollowsStorey } from '../systems/wall/wall-top.js';
|
|
5
|
+
/** The visible walls of `levelId` on its outline: the walls a closed circuit's outside runs along. */
|
|
6
|
+
export function levelExteriorWalls(nodes, levelId) {
|
|
7
|
+
const walls = Object.values(nodes).filter((node) => node.type === 'wall' && node.parentId === levelId && node.visible !== false);
|
|
8
|
+
const outline = new Set(exteriorWallLoops(walls).flatMap((loop) => loop.map((face) => face.wallId)));
|
|
9
|
+
return walls.filter((wall) => outline.has(wall.id));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Copy a level's exterior walls, in place, onto another level of the building (a floor just added
|
|
13
|
+
* above or below it): the same plan positions, thickness, construction and finishes, so the new
|
|
14
|
+
* storey's outside lines up with the one it stands on. What belongs to the source storey stays
|
|
15
|
+
* there: its doors and windows, its support and terrain settings, and a height that only meant
|
|
16
|
+
* "as tall as this storey" (the copy follows its own storey). A copy between a basement and a floor
|
|
17
|
+
* over the ground takes the construction of where it lands: walls copied down to a basement get the
|
|
18
|
+
* foundation build, and foundation walls copied up are plain walls. Rooms then come from the copied
|
|
19
|
+
* walls as from drawn ones. Returns the create entries for `applyNodeChanges`; empty when the
|
|
20
|
+
* source has no closed outline.
|
|
21
|
+
*/
|
|
22
|
+
export function buildExteriorWallCopy({ nodes, fromLevelId, toLevelId, mintId = () => generateId('wall'), }) {
|
|
23
|
+
const from = nodes[fromLevelId];
|
|
24
|
+
const to = nodes[toLevelId];
|
|
25
|
+
if (from?.type !== 'level' || to?.type !== 'level' || from.id === to.id)
|
|
26
|
+
return [];
|
|
27
|
+
const graph = nodes;
|
|
28
|
+
const sourceFoundation = levelHoldsFoundationWalls(graph, fromLevelId);
|
|
29
|
+
const targetFoundation = levelHoldsFoundationWalls(graph, toLevelId);
|
|
30
|
+
const reconstruct = sourceFoundation !== targetFoundation;
|
|
31
|
+
const storeyHeight = from.height ?? null;
|
|
32
|
+
const copies = levelExteriorWalls(nodes, fromLevelId).map((wall) => {
|
|
33
|
+
const { id: _id, children: _children, parentId: _parentId, metadata: _metadata, supportSlabId: _support, supportOffset: _offset, fillToTerrain: _fill, underpinning: _underpinning, faceRegions: _regions, height, assembly, thickness, ...kept } = wall;
|
|
34
|
+
return WallNode.parse({
|
|
35
|
+
...kept,
|
|
36
|
+
id: mintId(),
|
|
37
|
+
parentId: toLevelId,
|
|
38
|
+
children: [],
|
|
39
|
+
...(height !== undefined && !wallFollowsStorey(wall, storeyHeight) ? { height } : {}),
|
|
40
|
+
...(reconstruct ? {} : { assembly, thickness }),
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
if (!copies.length)
|
|
44
|
+
return [];
|
|
45
|
+
const levelWalls = [
|
|
46
|
+
...Object.values(nodes).filter((node) => node.type === 'wall' && node.parentId === toLevelId),
|
|
47
|
+
...copies,
|
|
48
|
+
];
|
|
49
|
+
const built = targetFoundation
|
|
50
|
+
? withFoundationConstruction(graph, toLevelId, levelWalls, copies, {})
|
|
51
|
+
: copies;
|
|
52
|
+
return built.map((node) => ({ node, parentId: toLevelId }));
|
|
53
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"merge-windows.d.ts","sourceRoot":"","sources":["../../src/building/merge-windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,wBAAwB,CAAA;AAalF,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAY,UAAU,EAAE,MAAM,WAAW,CAAA;AAGzE;;;;;;;;;;GAUG;AAEH,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE9C,iFAAiF;AACjF,eAAO,MAAM,WAAW,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"merge-windows.d.ts","sourceRoot":"","sources":["../../src/building/merge-windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA0B,MAAM,wBAAwB,CAAA;AAalF,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAY,UAAU,EAAE,MAAM,WAAW,CAAA;AAGzE;;;;;;;;;;GAUG;AAEH,KAAK,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAA;AAE9C,iFAAiF;AACjF,eAAO,MAAM,WAAW,MAAM,CAAA;AAc9B,MAAM,MAAM,WAAW,GAAG;IACxB,IAAI,EAAE,QAAQ,GAAG,WAAW,CAAA;IAC5B,iDAAiD;IACjD,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,iEAAiE;IACjE,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,yCAAyC;IACzC,UAAU,EAAE,MAAM,CAAA;IAClB,MAAM,EAAE,MAAM,CAAA;IACd,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,EAAE;QAAE,MAAM,EAAE;YAAE,EAAE,EAAE,SAAS,CAAC;YAAC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,CAAA;SAAE,EAAE,CAAC;QAAC,MAAM,EAAE,SAAS,EAAE,CAAA;KAAE,CAAA;IACxF,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAqCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,WAAW,CAuBzF;AA2JD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,SAAS,MAAM,EAAE,GAC7B;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,GAAG,IAAI,CASvF"}
|
|
@@ -22,6 +22,8 @@ export type DoorStyleLook = {
|
|
|
22
22
|
export declare function doorStyleLook(style: DoorStyle): DoorStyleLook;
|
|
23
23
|
/** The styles a door's leaf is, in list order: none for a leaf made by hand (the panel's Custom). */
|
|
24
24
|
export declare function doorStylesOf(door: DoorStyleLook): DoorStyle[];
|
|
25
|
+
/** Only the untouched legacy Panel leaf is healed at render time; custom leaves keep their look. */
|
|
26
|
+
export declare function isLegacyDefaultDoorLook(door: DoorStyleLook): boolean;
|
|
25
27
|
export declare const WINDOW_STYLES: readonly ['single', 'double-hung', 'triple-hung', 'casement', 'sliding', 'grid', 'tall-grid', 'wide-grid', 'horizontal-bands', 'transom', 'picture'];
|
|
26
28
|
export type WindowStyle = (typeof WINDOW_STYLES)[number];
|
|
27
29
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"opening-style-presets.d.ts","sourceRoot":"","sources":["../../src/building/opening-style-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK5C,eAAO,MAAM,WAAW,YACtB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,MAAM,CACE,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAW7D,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAWvD,CAAA;AAED,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AA4BzF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"opening-style-presets.d.ts","sourceRoot":"","sources":["../../src/building/opening-style-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAK5C,eAAO,MAAM,WAAW,YACtB,OAAO,EACP,OAAO,EACP,QAAQ,EACR,eAAe,EACf,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,WAAW,EACX,eAAe,EACf,MAAM,CACE,CAAA;AACV,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAA;AAEpD,eAAO,MAAM,uBAAuB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAW7D,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,CAWvD,CAAA;AAED,qCAAqC;AACrC,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;IAAC,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,CAAA;AA4BzF;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAgC7D;AAaD,qGAAqG;AACrG,wBAAgB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,CAO7D;AAED,oGAAoG;AACpG,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAkBpE;AAID,eAAO,MAAM,aAAa,YACxB,QAAQ,EACR,aAAa,EACb,aAAa,EACb,UAAU,EACV,SAAS,EACT,MAAM,EACN,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,SAAS,CACD,CAAA;AACV,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAA;AAExD;;;GAGG;AACH,eAAO,MAAM,oBAAoB,EAAE,SAAS,WAAW,EAEtD,CAAA;AAED,eAAO,MAAM,yBAAyB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAYjE,CAAA;AAED,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAY3D,CAAA;AAED,UAAU,oBAAoB;IAC5B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;CACrB;AAED,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,oBAAoB,CAiC5F;AAED,wGAAwG;AACxG,wBAAgB,cAAc,CAAC,MAAM,EAAE;IACrC,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,EAAE,CAAA;CACpB,GAAG,WAAW,EAAE,CAKhB"}
|
|
@@ -67,7 +67,7 @@ export function doorStyleLook(style) {
|
|
|
67
67
|
case 'panel':
|
|
68
68
|
return look(defaultDoorSegments());
|
|
69
69
|
case 'glass':
|
|
70
|
-
return look([panelSegment('glass', 1)]);
|
|
70
|
+
return look([panelSegment('glass', 1)], [0.07, 0.07]);
|
|
71
71
|
case 'modern':
|
|
72
72
|
// A flush slab: one panel over the whole leaf. An 'empty' segment is no leaf at all (a front
|
|
73
73
|
// door once rendered as an open frame).
|
|
@@ -75,7 +75,7 @@ export function doorStyleLook(style) {
|
|
|
75
75
|
case 'paneled-glass':
|
|
76
76
|
return look([panelSegment('glass', 0.55), panelSegment('panel', 0.45)]);
|
|
77
77
|
case 'french':
|
|
78
|
-
return look([panelSegment('glass', 1, [0.5, 0.5])]);
|
|
78
|
+
return look([panelSegment('glass', 1, [0.5, 0.5])], [0.075, 0.09]);
|
|
79
79
|
case 'shaker':
|
|
80
80
|
return look([panelSegment('panel', 1, [1], { panelDepth: -0.005, panelInset: 0.06 })]);
|
|
81
81
|
case 'six-panel':
|
|
@@ -84,8 +84,7 @@ export function doorStyleLook(style) {
|
|
|
84
84
|
return look([0.25, 0.25, 0.25, 0.25].map((ratio) => panelSegment('panel', ratio)));
|
|
85
85
|
case 'half-louvered':
|
|
86
86
|
// Slats as narrow raised bars on the top half: an 'empty' row would be a hole in the leaf.
|
|
87
|
-
// The
|
|
88
|
-
// deep and narrow against its gap: ten bars about 7 cm tall, 2.2 cm proud, 2.8 cm apart.
|
|
87
|
+
// The ten raised bars need narrow fields to read as slats against the gaps.
|
|
89
88
|
return look([
|
|
90
89
|
...Array.from({ length: 10 }, () => panelSegment('panel', 0.5 / 10, [1], { panelDepth: 0.022, panelInset: 0.014 })),
|
|
91
90
|
panelSegment('panel', 0.5),
|
|
@@ -106,7 +105,29 @@ const same = (a, b) => {
|
|
|
106
105
|
/** The styles a door's leaf is, in list order: none for a leaf made by hand (the panel's Custom). */
|
|
107
106
|
export function doorStylesOf(door) {
|
|
108
107
|
const { segments, contentPadding } = door;
|
|
109
|
-
return DOOR_STYLES.filter((style) =>
|
|
108
|
+
return DOOR_STYLES.filter((style) => {
|
|
109
|
+
const current = doorStyleLook(style);
|
|
110
|
+
const legacy = { ...current, contentPadding: style === 'modern' ? [0, 0] : [0.04, 0.04] };
|
|
111
|
+
return same(current, { segments, contentPadding }) || same(legacy, { segments, contentPadding });
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
/** Only the untouched legacy Panel leaf is healed at render time; custom leaves keep their look. */
|
|
115
|
+
export function isLegacyDefaultDoorLook(door) {
|
|
116
|
+
const legacy = defaultDoorSegments();
|
|
117
|
+
return (door.contentPadding[0] === 0.04 &&
|
|
118
|
+
door.contentPadding[1] === 0.04 &&
|
|
119
|
+
door.segments.length === legacy.length &&
|
|
120
|
+
door.segments.every((segment, i) => {
|
|
121
|
+
const expected = legacy[i];
|
|
122
|
+
return Object.keys(expected).every((key) => {
|
|
123
|
+
const field = key;
|
|
124
|
+
const value = segment[field];
|
|
125
|
+
const target = expected[field];
|
|
126
|
+
return Array.isArray(value) && Array.isArray(target)
|
|
127
|
+
? value.length === target.length && value.every((v, j) => v === target[j])
|
|
128
|
+
: value === target;
|
|
129
|
+
});
|
|
130
|
+
}));
|
|
110
131
|
}
|
|
111
132
|
// ── Windows ──────────────────────────────────────────────────────────────────
|
|
112
133
|
export const WINDOW_STYLES = [
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a room is for, read from its name: zones carry no use, so the name says (as
|
|
3
|
+
* `room-habitable.ts` does for windows). The patterns are the scene program's
|
|
4
|
+
* (`inferRoomType`, apps/community scene-program/library.ts, English only, first match wins) with the
|
|
5
|
+
* French the houses are named in, and `laundry`, which the program folds into `other`. The uses are
|
|
6
|
+
* the design brief's (`ROOM_USES`), so a room the brief announces and a room the scene holds are
|
|
7
|
+
* compared in one vocabulary.
|
|
8
|
+
*/
|
|
9
|
+
import type { ZoneNode } from '../schema/index.js';
|
|
10
|
+
/** What a room is for, in the words the scene's own room types use, with laundry besides. */
|
|
11
|
+
export declare const ROOM_USES: readonly ['bedroom', 'bathroom', 'kitchen', 'living', 'dining', 'office', 'hallway', 'laundry', 'garage', 'other'];
|
|
12
|
+
export type RoomUse = (typeof ROOM_USES)[number];
|
|
13
|
+
/**
|
|
14
|
+
* A name as one comparison sees it: lower case, accents stripped, curly apostrophes straight,
|
|
15
|
+
* spaces collapsed ("Salle d’eau" and "salle d'eau" are one name).
|
|
16
|
+
*/
|
|
17
|
+
export declare function foldRoomName(name: string): string;
|
|
18
|
+
/** The use a room's name gives it; `other` when the name says none. */
|
|
19
|
+
export declare function roomUseOfName(name: string): RoomUse;
|
|
20
|
+
/** A room that is not indoors: open on a side, or named or declared for an outdoor or unoccupied space (porch, alfresco, balcony, void). */
|
|
21
|
+
export declare const isOutdoorRoom: (zone: Pick<ZoneNode, 'name' | 'occupancy' | 'enclosureStatus'>) => boolean;
|
|
22
|
+
/** Rooms that are wet: tiled floors or walls are expected of them. */
|
|
23
|
+
export declare const isWetRoomUse: (use: RoomUse) => use is "bathroom" | "laundry";
|
|
24
|
+
/** Rooms whose walls meet a finished floor in view: the ones skirting is expected in. */
|
|
25
|
+
export declare const isSkirtedRoomUse: (use: RoomUse) => use is "bedroom" | "dining" | "hallway" | "living" | "office";
|
|
26
|
+
//# sourceMappingURL=room-use.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"room-use.d.ts","sourceRoot":"","sources":["../../src/building/room-use.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAEzC,6FAA6F;AAC7F,eAAO,MAAM,SAAS,YACpB,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS,EACT,QAAQ,EACR,OAAO,CACC,CAAA;AAEV,MAAM,MAAM,OAAO,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,CAAC,CAAA;AAEhD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD;AAgDD,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAgBnD;AAKD,4IAA4I;AAC5I,eAAO,MAAM,aAAa,SAAU,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,iBAAiB,CAAC,YAEN,CAAA;AAEtF,sEAAsE;AACtE,eAAO,MAAM,YAAY,QAAS,OAAO,kCAA4C,CAAA;AAErF,yFAAyF;AACzF,eAAO,MAAM,gBAAgB,QAAS,OAAO,kEACuD,CAAA"}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a room is for, read from its name: zones carry no use, so the name says (as
|
|
3
|
+
* `room-habitable.ts` does for windows). The patterns are the scene program's
|
|
4
|
+
* (`inferRoomType`, apps/community scene-program/library.ts, English only, first match wins) with the
|
|
5
|
+
* French the houses are named in, and `laundry`, which the program folds into `other`. The uses are
|
|
6
|
+
* the design brief's (`ROOM_USES`), so a room the brief announces and a room the scene holds are
|
|
7
|
+
* compared in one vocabulary.
|
|
8
|
+
*/
|
|
9
|
+
/** What a room is for, in the words the scene's own room types use, with laundry besides. */
|
|
10
|
+
export const ROOM_USES = [
|
|
11
|
+
'bedroom',
|
|
12
|
+
'bathroom',
|
|
13
|
+
'kitchen',
|
|
14
|
+
'living',
|
|
15
|
+
'dining',
|
|
16
|
+
'office',
|
|
17
|
+
'hallway',
|
|
18
|
+
'laundry',
|
|
19
|
+
'garage',
|
|
20
|
+
'other',
|
|
21
|
+
];
|
|
22
|
+
/**
|
|
23
|
+
* A name as one comparison sees it: lower case, accents stripped, curly apostrophes straight,
|
|
24
|
+
* spaces collapsed ("Salle d’eau" and "salle d'eau" are one name).
|
|
25
|
+
*/
|
|
26
|
+
export function foldRoomName(name) {
|
|
27
|
+
return name
|
|
28
|
+
.normalize('NFD')
|
|
29
|
+
.replace(/\p{Diacritic}/gu, '')
|
|
30
|
+
.toLowerCase()
|
|
31
|
+
.replace(/[‘’ʼ`´]/g, "'")
|
|
32
|
+
.replace(/\s+/g, ' ')
|
|
33
|
+
.trim();
|
|
34
|
+
}
|
|
35
|
+
/** A name that opens with a circulation word is a hallway whatever follows: "Hall des chambres". */
|
|
36
|
+
const CIRCULATION_FIRST = /^(hall|halle|couloir|palier|vestibule|galerie|entree|corridor|landing|foyer|passage|degagement)\b/;
|
|
37
|
+
/**
|
|
38
|
+
* A name that ends in a circulation noun (and perhaps a number) is a hallway whatever its first word
|
|
39
|
+
* says: "Study lobby", "Lower gallery", "Kitchen hall 2". One that ends in a closet is storage.
|
|
40
|
+
*/
|
|
41
|
+
const CIRCULATION_LAST = /\b(hall|hallway|entry|entrance|landing|corridor|foyer|vestibule|lobby|gallery|galerie|couloir|palier|entree|degagement)(?: \d+)?$/;
|
|
42
|
+
const STORAGE_LAST = /\b(closet|dressing room|walk[- ]?in(?: closet)?)$/;
|
|
43
|
+
/**
|
|
44
|
+
* A bed word as a word of its own: "Bed 1", "Bedroom 2", "Chambre". A name with one and a word for what stands beside a bedroom
|
|
45
|
+
* without being one (the way into it, its robe, its ensuite) is that other thing: "Bed 1 Entry" is the way into a bedroom, "Bed 3 WIR"
|
|
46
|
+
* its walk-in robe. Without this the bedroom pattern, which comes before the others, takes them.
|
|
47
|
+
*/
|
|
48
|
+
const BED_WORD = /\b(?:beds?|bedrooms?|chambres?)(?![a-z])/g;
|
|
49
|
+
const BED_ANNEX = /\b(?:entry|entrance|entree|hall|hallway|passage|corridor|couloir|degagement|vestibule|landing|palier|robes?|wardrobe|walk[- ]?in|wir|ensuite|en-suite)\b/;
|
|
50
|
+
/**
|
|
51
|
+
* In order, the first match wins: "family bathroom" is a bathroom, not a living room; "dressing of
|
|
52
|
+
* the suite" is storage, not a bedroom. A bare "office" is an office, as the scene program has always
|
|
53
|
+
* read it, though in a French house it is the pantry beside the kitchen: an office is owed no
|
|
54
|
+
* window and asked for no tile, so the pantry is not wrongly held to either. A cellier is storage.
|
|
55
|
+
*/
|
|
56
|
+
const PATTERNS = [
|
|
57
|
+
[
|
|
58
|
+
/bath|shower|\bwc\b|toilet|ensuite|en-suite|powder|\bbains?\b|\bsdb\b|salle d'eau|douche|sanitaire|lavabo|lavatory|washroom|restroom/,
|
|
59
|
+
'bathroom',
|
|
60
|
+
],
|
|
61
|
+
[/laundry|buanderie|lingerie|utility|laverie/, 'laundry'],
|
|
62
|
+
[/dressing|walk-?in|closet|wardrobe|storage|rangement|placard|cellier|mud ?room/, 'other'],
|
|
63
|
+
[/bed(?!side)|nursery|chambre|\bsuite\b|dortoir|dormitory/, 'bedroom'],
|
|
64
|
+
[/kitchen|pantry|cuisine|garde-manger/, 'kitchen'],
|
|
65
|
+
[/dining|salle a manger/, 'dining'],
|
|
66
|
+
[/living|lounge|family|sitting|salon|sejour|piece de vie|great room/, 'living'],
|
|
67
|
+
[
|
|
68
|
+
/hall|entry|entrance|landing|corridor|foyer|vestibule|lobby|gallery|stair|entree|palier|couloir|escalier|galerie|degagement|passage/,
|
|
69
|
+
'hallway',
|
|
70
|
+
],
|
|
71
|
+
[/office|study|\bden\b|library|workspace|bureau|bibliotheque/, 'office'],
|
|
72
|
+
[/garage|carport|parking/, 'garage'],
|
|
73
|
+
];
|
|
74
|
+
/** The use a room's name gives it; `other` when the name says none. */
|
|
75
|
+
export function roomUseOfName(name) {
|
|
76
|
+
const folded = foldRoomName(name);
|
|
77
|
+
if (CIRCULATION_FIRST.test(folded) || CIRCULATION_LAST.test(folded))
|
|
78
|
+
return 'hallway';
|
|
79
|
+
if (STORAGE_LAST.test(folded))
|
|
80
|
+
return 'other';
|
|
81
|
+
if (BED_ANNEX.test(folded) && folded.match(BED_WORD)) {
|
|
82
|
+
const beside = roomUseOfName(folded
|
|
83
|
+
.replace(BED_WORD, ' ')
|
|
84
|
+
.replace(/\b\d+\b/g, ' ')
|
|
85
|
+
.replace(/\s+/g, ' ')
|
|
86
|
+
.trim());
|
|
87
|
+
if (beside !== 'bedroom')
|
|
88
|
+
return beside;
|
|
89
|
+
}
|
|
90
|
+
for (const [pattern, use] of PATTERNS)
|
|
91
|
+
if (pattern.test(folded))
|
|
92
|
+
return use;
|
|
93
|
+
return 'other';
|
|
94
|
+
}
|
|
95
|
+
const OUTDOOR_USE = /\b(outdoor|outside|exterior|terrace|balcony|patio|porch|courtyard|garden|open air|alfresco|veranda|verandah|deck|pergola|carport|void|shaft|crawl ?space|non ?habitable|uninhabitable|unoccupied)\b/i;
|
|
96
|
+
/** A room that is not indoors: open on a side, or named or declared for an outdoor or unoccupied space (porch, alfresco, balcony, void). */
|
|
97
|
+
export const isOutdoorRoom = (zone) => zone.enclosureStatus === 'open' ||
|
|
98
|
+
OUTDOOR_USE.test(`${zone.occupancy ?? ''} ${zone.name ?? ''}`.replace(/[-_]/g, ' '));
|
|
99
|
+
/** Rooms that are wet: tiled floors or walls are expected of them. */
|
|
100
|
+
export const isWetRoomUse = (use) => use === 'bathroom' || use === 'laundry';
|
|
101
|
+
/** Rooms whose walls meet a finished floor in view: the ones skirting is expected in. */
|
|
102
|
+
export const isSkirtedRoomUse = (use) => use === 'bedroom' || use === 'living' || use === 'dining' || use === 'office' || use === 'hallway';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type AnyNode, type AnyNodeId, type CompiledGeometryScript, type GeometryScriptParamValue, type WallNode } from '../schema/index.js';
|
|
1
|
+
import { type AnyNode, type AnyNodeId, type CompiledGeometryScript, DoorNode, type GeometryScriptParamValue, type WallNode, WindowNode } from '../schema/index.js';
|
|
2
2
|
import type { DoorType, WindowType } from '../schema/nodes/opening-types.js';
|
|
3
3
|
type Nodes = Readonly<Record<string, AnyNode>>;
|
|
4
4
|
/**
|
|
@@ -8,11 +8,15 @@ type Nodes = Readonly<Record<string, AnyNode>>;
|
|
|
8
8
|
*/
|
|
9
9
|
export declare function resolveWallOpeningCeiling(wall: WallNode, nodes: Readonly<Record<AnyNodeId, AnyNode>>): number;
|
|
10
10
|
/** A door's centre: slid along the wall to stay on it, standing on the floor. */
|
|
11
|
-
export declare function clampDoorToWall(wall: WallNode, localX: number, width: number, height: number): {
|
|
11
|
+
export declare function clampDoorToWall(wall: WallNode, localX: number, width: number, height: number, door?: Partial<DoorNode>, nodes?: Readonly<Record<AnyNodeId, AnyNode>>): {
|
|
12
12
|
clampedX: number;
|
|
13
13
|
clampedY: number;
|
|
14
|
+
transomHeight?: number;
|
|
14
15
|
};
|
|
15
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* A window's centre: slid to stay on the wall, and between the wall's bottom and its ceiling. The
|
|
18
|
+
* bottom is the floor, or lower where the wall fills down beside a sunken floor (a garage).
|
|
19
|
+
*/
|
|
16
20
|
export declare function clampWindowToWall(wall: WallNode, localX: number, localY: number, width: number, height: number, nodes: Readonly<Record<AnyNodeId, AnyNode>>): {
|
|
17
21
|
clampedX: number;
|
|
18
22
|
clampedY: number;
|
|
@@ -36,8 +40,15 @@ export type WallOpeningInput = {
|
|
|
36
40
|
position?: number;
|
|
37
41
|
width?: number;
|
|
38
42
|
height?: number;
|
|
43
|
+
sidelightLeft?: number;
|
|
44
|
+
sidelightRight?: number;
|
|
45
|
+
transomHeight?: number;
|
|
46
|
+
leafCount?: DoorNode['leafCount'];
|
|
47
|
+
slidingStyle?: DoorNode['slidingStyle'];
|
|
48
|
+
slideDirection?: DoorNode['slideDirection'];
|
|
39
49
|
sillHeight?: number;
|
|
40
50
|
hingesSide?: 'left' | 'right';
|
|
51
|
+
handleStyle?: DoorNode['handleStyle'];
|
|
41
52
|
/** Defaults to the side opposite the hinges. */
|
|
42
53
|
handleSide?: 'left' | 'right';
|
|
43
54
|
swingDirection?: 'inward' | 'outward';
|
|
@@ -52,6 +63,22 @@ export type WallOpeningInput = {
|
|
|
52
63
|
windowType?: WindowType;
|
|
53
64
|
columns?: number;
|
|
54
65
|
rows?: number;
|
|
66
|
+
windowHandle?: boolean;
|
|
67
|
+
sashGrid?: boolean;
|
|
68
|
+
sillInterior?: boolean;
|
|
69
|
+
shutters?: WindowNode['shutters'];
|
|
70
|
+
shutterWidth?: number;
|
|
71
|
+
openingDirection?: WindowNode['openingDirection'];
|
|
72
|
+
tiltTurnMode?: WindowNode['tiltTurnMode'];
|
|
73
|
+
sillOverhang?: WindowNode['sillOverhang'];
|
|
74
|
+
sillInteriorDepth?: WindowNode['sillInteriorDepth'];
|
|
75
|
+
sillInteriorThickness?: WindowNode['sillInteriorThickness'];
|
|
76
|
+
sillInteriorOverhang?: WindowNode['sillInteriorOverhang'];
|
|
77
|
+
shutterOpen?: WindowNode['shutterOpen'];
|
|
78
|
+
shutterSides?: WindowNode['shutterSides'];
|
|
79
|
+
rollerShutter?: WindowNode['rollerShutter'];
|
|
80
|
+
rollerShutterBoxHeight?: WindowNode['rollerShutterBoxHeight'];
|
|
81
|
+
rollerShutterOpen?: WindowNode['rollerShutterOpen'];
|
|
55
82
|
/** A compiled script the opening is built from; its bounds set width and height. */
|
|
56
83
|
compiled?: CompiledGeometryScript;
|
|
57
84
|
code?: string;
|
|
@@ -133,6 +160,11 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
133
160
|
url: string;
|
|
134
161
|
repeat?: [number, number] | undefined;
|
|
135
162
|
scale?: number | undefined;
|
|
163
|
+
offset?: [number, number] | undefined;
|
|
164
|
+
normalMap?: string | undefined;
|
|
165
|
+
normalScale?: number | undefined;
|
|
166
|
+
bumpMap?: string | undefined;
|
|
167
|
+
bumpScale?: number | undefined;
|
|
136
168
|
} | undefined;
|
|
137
169
|
} | undefined;
|
|
138
170
|
slots?: Record<string, string> | undefined;
|
|
@@ -198,6 +230,16 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
198
230
|
color: string;
|
|
199
231
|
intensity: number;
|
|
200
232
|
distance?: number | undefined;
|
|
233
|
+
spot?: {
|
|
234
|
+
direction: [number, number, number];
|
|
235
|
+
angle: number;
|
|
236
|
+
softness: number;
|
|
237
|
+
} | undefined;
|
|
238
|
+
shadows?: boolean | undefined;
|
|
239
|
+
glow?: {
|
|
240
|
+
size: number;
|
|
241
|
+
strength: number;
|
|
242
|
+
} | undefined;
|
|
201
243
|
}[];
|
|
202
244
|
undersides: {
|
|
203
245
|
part?: string | undefined;
|
|
@@ -216,6 +258,17 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
216
258
|
}[] | undefined;
|
|
217
259
|
cutout: boolean;
|
|
218
260
|
collider: boolean;
|
|
261
|
+
shape?: {
|
|
262
|
+
tolerance: number;
|
|
263
|
+
bands: {
|
|
264
|
+
y0: number;
|
|
265
|
+
y1: number;
|
|
266
|
+
polygons: {
|
|
267
|
+
outer: [number, number][];
|
|
268
|
+
holes?: [number, number][][] | undefined;
|
|
269
|
+
}[];
|
|
270
|
+
}[];
|
|
271
|
+
} | undefined;
|
|
219
272
|
triangles: number;
|
|
220
273
|
coverage?: number | undefined;
|
|
221
274
|
uncovered?: {
|
|
@@ -251,8 +304,10 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
251
304
|
finishOpeningWidth?: number | undefined;
|
|
252
305
|
finishOpeningHeight?: number | undefined;
|
|
253
306
|
openingKind: "opening" | "window";
|
|
254
|
-
windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding";
|
|
307
|
+
windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding" | "tilt-turn";
|
|
255
308
|
operationState: number;
|
|
309
|
+
openingDirection?: "inward" | "outward" | undefined;
|
|
310
|
+
tiltTurnMode?: "tilt" | "turn" | undefined;
|
|
256
311
|
awningDirection: "down" | "up";
|
|
257
312
|
casementStyle: "french" | "single";
|
|
258
313
|
hingesSide: "left" | "right";
|
|
@@ -263,7 +318,9 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
263
318
|
archHeight: number;
|
|
264
319
|
openingRevealRadius: number;
|
|
265
320
|
frameThickness: number;
|
|
266
|
-
frameDepth
|
|
321
|
+
frameDepth?: number | undefined;
|
|
322
|
+
windowHandle?: boolean | undefined;
|
|
323
|
+
sashGrid?: boolean | undefined;
|
|
267
324
|
columnRatios: number[];
|
|
268
325
|
rowRatios: number[];
|
|
269
326
|
columnDividerThickness: number;
|
|
@@ -276,6 +333,21 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
276
333
|
sill: boolean;
|
|
277
334
|
sillDepth: number;
|
|
278
335
|
sillThickness: number;
|
|
336
|
+
sillOverhang?: number | undefined;
|
|
337
|
+
sillInterior?: boolean | undefined;
|
|
338
|
+
sillInteriorDepth?: number | undefined;
|
|
339
|
+
sillInteriorThickness?: number | undefined;
|
|
340
|
+
sillInteriorOverhang?: number | undefined;
|
|
341
|
+
shutters?: "board-batten" | "louvered" | "none" | "panel" | undefined;
|
|
342
|
+
shutterWidth?: number | undefined;
|
|
343
|
+
shutterOpen?: number | undefined;
|
|
344
|
+
shutterSides?: "both" | "left" | "right" | undefined;
|
|
345
|
+
rollerShutter?: "box" | "concealed" | "none" | undefined;
|
|
346
|
+
rollerShutterBoxHeight?: number | undefined;
|
|
347
|
+
rollerShutterOpen?: number | undefined;
|
|
348
|
+
casingFaceA?: boolean | undefined;
|
|
349
|
+
casingFaceB?: boolean | undefined;
|
|
350
|
+
casingWidth?: number | undefined;
|
|
279
351
|
} | {
|
|
280
352
|
object: "node";
|
|
281
353
|
name?: string | undefined;
|
|
@@ -317,6 +389,11 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
317
389
|
url: string;
|
|
318
390
|
repeat?: [number, number] | undefined;
|
|
319
391
|
scale?: number | undefined;
|
|
392
|
+
offset?: [number, number] | undefined;
|
|
393
|
+
normalMap?: string | undefined;
|
|
394
|
+
normalScale?: number | undefined;
|
|
395
|
+
bumpMap?: string | undefined;
|
|
396
|
+
bumpScale?: number | undefined;
|
|
320
397
|
} | undefined;
|
|
321
398
|
} | undefined;
|
|
322
399
|
slots?: Record<string, string> | undefined;
|
|
@@ -382,6 +459,16 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
382
459
|
color: string;
|
|
383
460
|
intensity: number;
|
|
384
461
|
distance?: number | undefined;
|
|
462
|
+
spot?: {
|
|
463
|
+
direction: [number, number, number];
|
|
464
|
+
angle: number;
|
|
465
|
+
softness: number;
|
|
466
|
+
} | undefined;
|
|
467
|
+
shadows?: boolean | undefined;
|
|
468
|
+
glow?: {
|
|
469
|
+
size: number;
|
|
470
|
+
strength: number;
|
|
471
|
+
} | undefined;
|
|
385
472
|
}[];
|
|
386
473
|
undersides: {
|
|
387
474
|
part?: string | undefined;
|
|
@@ -400,6 +487,17 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
400
487
|
}[] | undefined;
|
|
401
488
|
cutout: boolean;
|
|
402
489
|
collider: boolean;
|
|
490
|
+
shape?: {
|
|
491
|
+
tolerance: number;
|
|
492
|
+
bands: {
|
|
493
|
+
y0: number;
|
|
494
|
+
y1: number;
|
|
495
|
+
polygons: {
|
|
496
|
+
outer: [number, number][];
|
|
497
|
+
holes?: [number, number][][] | undefined;
|
|
498
|
+
}[];
|
|
499
|
+
}[];
|
|
500
|
+
} | undefined;
|
|
403
501
|
triangles: number;
|
|
404
502
|
coverage?: number | undefined;
|
|
405
503
|
uncovered?: {
|
|
@@ -423,6 +521,10 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
423
521
|
roofFace?: "back" | "front" | "left" | "right" | undefined;
|
|
424
522
|
width: number;
|
|
425
523
|
height: number;
|
|
524
|
+
sidelightLeft?: number | undefined;
|
|
525
|
+
sidelightRight?: number | undefined;
|
|
526
|
+
transomHeight?: number | undefined;
|
|
527
|
+
slidingStyle?: "bypass" | "patio" | undefined;
|
|
426
528
|
mark?: string | undefined;
|
|
427
529
|
constructionType: "framed" | "masonry";
|
|
428
530
|
dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
|
|
@@ -434,7 +536,7 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
434
536
|
finishOpeningHeight?: number | undefined;
|
|
435
537
|
doorCategory: "garage" | "interior";
|
|
436
538
|
doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
|
|
437
|
-
leafCount: 1 | 2 | 3 | 4;
|
|
539
|
+
leafCount: 1 | 2 | 3 | 4 | 6 | 8;
|
|
438
540
|
operationState: number;
|
|
439
541
|
slideDirection: "left" | "right";
|
|
440
542
|
trackStyle: "none" | "overhead" | "pocket" | "visible";
|
|
@@ -447,9 +549,12 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
447
549
|
archHeight: number;
|
|
448
550
|
openingRevealRadius: number;
|
|
449
551
|
frameThickness: number;
|
|
450
|
-
frameDepth
|
|
552
|
+
frameDepth?: number | undefined;
|
|
451
553
|
threshold: boolean;
|
|
452
554
|
thresholdHeight: number;
|
|
555
|
+
casingFaceA?: boolean | undefined;
|
|
556
|
+
casingFaceB?: boolean | undefined;
|
|
557
|
+
casingWidth?: number | undefined;
|
|
453
558
|
hingesSide: "left" | "right";
|
|
454
559
|
swingDirection: "inward" | "outward";
|
|
455
560
|
swingAngle: number;
|
|
@@ -462,11 +567,14 @@ export declare function planWallOpening(nodes: Nodes, input: WallOpeningInput):
|
|
|
462
567
|
panelInset: number;
|
|
463
568
|
}[];
|
|
464
569
|
handle: boolean;
|
|
570
|
+
handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
|
|
465
571
|
handleHeight: number;
|
|
466
572
|
handleSide: "left" | "right";
|
|
467
573
|
contentPadding: [number, number];
|
|
468
574
|
doorCloser: boolean;
|
|
469
575
|
panicBar: boolean;
|
|
576
|
+
panicBarStyle: "crossbar" | "touchbar";
|
|
577
|
+
panicBarRods: boolean;
|
|
470
578
|
panicBarHeight: number;
|
|
471
579
|
};
|
|
472
580
|
wallId: string;
|