@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,17 +1,13 @@
|
|
|
1
|
-
import { FOUNDATION_STANDARD } from './foundation-standard.js';
|
|
2
1
|
const INCH = 0.0254;
|
|
3
2
|
/**
|
|
4
|
-
* The foundation constructions, as data: the wall a person gets below grade
|
|
5
|
-
*
|
|
6
|
-
* US residential practice and stays the answer wherever nothing says better.
|
|
3
|
+
* The foundation constructions, as data: the wall a person gets below grade. The generic one
|
|
4
|
+
* (`cmu`) is the US residential practice and stays the answer wherever nothing says better.
|
|
7
5
|
*
|
|
8
|
-
* - `cmu`: 8 in block, 2x4 pressure-treated furring laid flat inside (IRC R404.1, R317.1)
|
|
9
|
-
* floor 8 in over grade (R317.1 keeps wood framing that far off exposed ground).
|
|
6
|
+
* - `cmu`: 8 in block, 2x4 pressure-treated furring laid flat inside (IRC R404.1, R317.1).
|
|
10
7
|
* - `cast-concrete`: the continental and British practice of a cast wall, 25 cm, insulated and
|
|
11
8
|
* waterproofed on the outside. The thicknesses are the usual ones (cellar walls of 20 to 25 cm,
|
|
12
9
|
* perimeter insulation of 10 cm, a 4 mm bitumen sheet), a sensible default rather than one
|
|
13
|
-
* country's code.
|
|
14
|
-
* (Approved Document C, NHBC) stands at least 150 mm over it, and plinths elsewhere run as high.
|
|
10
|
+
* country's code.
|
|
15
11
|
*/
|
|
16
12
|
export const FOUNDATION_CONSTRUCTIONS = {
|
|
17
13
|
cmu: {
|
|
@@ -26,9 +22,6 @@ export const FOUNDATION_CONSTRUCTIONS = {
|
|
|
26
22
|
],
|
|
27
23
|
face: 'exterior',
|
|
28
24
|
},
|
|
29
|
-
stemThickness: FOUNDATION_STANDARD.stemThickness,
|
|
30
|
-
seatAboveGrade: 0.203,
|
|
31
|
-
seatBasis: 'IRC R317.1 keeps wood framing resting on a foundation wall 8 in from exposed ground',
|
|
32
25
|
source: 'standard',
|
|
33
26
|
},
|
|
34
27
|
'cast-concrete': {
|
|
@@ -43,9 +36,6 @@ export const FOUNDATION_CONSTRUCTIONS = {
|
|
|
43
36
|
],
|
|
44
37
|
face: 'exterior',
|
|
45
38
|
},
|
|
46
|
-
stemThickness: 0.25,
|
|
47
|
-
seatAboveGrade: 0.15,
|
|
48
|
-
seatBasis: 'a sensible default: the damp-proof course of British practice (Approved Document C, NHBC) stands at least 150 mm over the ground and continental plinths run about as high; verify the local rule',
|
|
49
39
|
source: 'default',
|
|
50
40
|
},
|
|
51
41
|
};
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* The standard numbers of a residential foundation, in metres, stated once:
|
|
3
|
-
* the
|
|
4
|
-
* plugin's drawings all read them. They are the common US residential values (IRC chapters 4 and
|
|
2
|
+
* The standard numbers of a residential foundation, in metres, stated once: a basement's foundation
|
|
3
|
+
* walls, Bones' pour and the sections plugin's drawings all read them. They are the common US residential values (IRC chapters 4 and
|
|
5
4
|
* 5), not a jurisdiction's: core holds no frost data, so what depends on one (the frost line, the
|
|
6
5
|
* wall convention) stays with the jurisdiction profile in Bones.
|
|
7
6
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundation-standard.d.ts","sourceRoot":"","sources":["../../src/lib/foundation-standard.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"foundation-standard.d.ts","sourceRoot":"","sources":["../../src/lib/foundation-standard.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB;IAC9B,4GAA4G;aAC5G,YAAY;IACZ,kFAAkF;aAClF,gBAAgB;IAChB;;;;OAIG;aACH,iBAAiB;IACjB,0FAA0F;aAC1F,aAAa;IACb,8HAA8H;aAC9H,SAAS;aACT,UAAU;aACV,eAAe,EAAE,EAAE;aACnB,eAAe;IACf,wEAAwE;aACxE,gBAAgB;aAChB,iBAAiB;CACT,CAAA"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
const INCH = 0.0254;
|
|
2
2
|
/**
|
|
3
|
-
* The standard numbers of a residential foundation, in metres, stated once:
|
|
4
|
-
* the
|
|
5
|
-
* plugin's drawings all read them. They are the common US residential values (IRC chapters 4 and
|
|
3
|
+
* The standard numbers of a residential foundation, in metres, stated once: a basement's foundation
|
|
4
|
+
* walls, Bones' pour and the sections plugin's drawings all read them. They are the common US residential values (IRC chapters 4 and
|
|
6
5
|
* 5), not a jurisdiction's: core holds no frost data, so what depends on one (the frost line, the
|
|
7
6
|
* wall convention) stays with the jurisdiction profile in Bones.
|
|
8
7
|
*/
|
|
@@ -21,8 +21,7 @@ export declare function foundationWallConstruction(construction: FoundationConst
|
|
|
21
21
|
* side: a room open to the sky, as the structure kernel reads it, facing air, not earth). A wall
|
|
22
22
|
* outside the outline (a well against it) is. A wall with no closed circuit around it yet (the
|
|
23
23
|
* first walls of a basement, an open run) counts as the outline in the making, so a basement drawn
|
|
24
|
-
* wall by wall is foundation all the way round.
|
|
25
|
-
* under.
|
|
24
|
+
* wall by wall is foundation all the way round.
|
|
26
25
|
*/
|
|
27
26
|
export declare function wallsAgainstGround(nodes: Record<AnyNodeId, AnyNode>, levelId: string, levelWalls: WallNode[], candidates: WallNode[]): WallNode[];
|
|
28
27
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"foundation-wall.d.ts","sourceRoot":"","sources":["../../src/lib/foundation-wall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAkB,QAAQ,EAAE,MAAM,WAAW,CAAA;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAA;AAIlC;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAQT;AAED,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAErE;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,sBAAsB,GAAG;IAChF,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAMA;AAED
|
|
1
|
+
{"version":3,"file":"foundation-wall.d.ts","sourceRoot":"","sources":["../../src/lib/foundation-wall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,OAAO,EAAE,KAAK,SAAS,EAAkB,QAAQ,EAAE,MAAM,WAAW,CAAA;AAClF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAA;AAGlD,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EAEvB,MAAM,2BAA2B,CAAA;AAIlC;;;;GAIG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,OAAO,CAQT;AAED,oHAAoH;AACpH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,iBAAiB,GAAG,MAAM,CAErE;AAED,uDAAuD;AACvD,wBAAgB,0BAA0B,CAAC,YAAY,EAAE,sBAAsB,GAAG;IAChF,QAAQ,EAAE,QAAQ,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB,CAMA;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,QAAQ,EAAE,EACtB,UAAU,EAAE,QAAQ,EAAE,GACrB,QAAQ,EAAE,CAIZ;AAED;;;;;;GAMG;AACH,wBAAgB,0BAA0B,CACxC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,QAAQ,EAAE,EACtB,QAAQ,EAAE,QAAQ,EAAE,EACpB,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,GACvB,QAAQ,EAAE,CAYZ"}
|
|
@@ -37,8 +37,7 @@ export function foundationWallConstruction(construction) {
|
|
|
37
37
|
* side: a room open to the sky, as the structure kernel reads it, facing air, not earth). A wall
|
|
38
38
|
* outside the outline (a well against it) is. A wall with no closed circuit around it yet (the
|
|
39
39
|
* first walls of a basement, an open run) counts as the outline in the making, so a basement drawn
|
|
40
|
-
* wall by wall is foundation all the way round.
|
|
41
|
-
* under.
|
|
40
|
+
* wall by wall is foundation all the way round.
|
|
42
41
|
*/
|
|
43
42
|
export function wallsAgainstGround(nodes, levelId, levelWalls, candidates) {
|
|
44
43
|
if (!levelHoldsFoundationWalls(nodes, levelId))
|
|
@@ -0,0 +1,91 @@
|
|
|
1
|
+
import type { AnyNode, AnyNodeId } from '../schema/index.js';
|
|
2
|
+
import { ColumnNode, type ColumnPostBase } from '../schema/nodes/column.js';
|
|
3
|
+
type Nodes = Record<AnyNodeId, AnyNode>;
|
|
4
|
+
/** The shortest post the tools make: under that a beam is sitting on the floor. */
|
|
5
|
+
export declare const FRAMING_POST_MIN_HEIGHT = 0.3;
|
|
6
|
+
/** The square framing posts, by their actual dressed side: 3-1/2, 5-1/2 and 7-1/4 in. */
|
|
7
|
+
export declare const FRAMING_POST_SIZES: {
|
|
8
|
+
readonly '4x4': number;
|
|
9
|
+
readonly '6x6': number;
|
|
10
|
+
readonly '8x8': number;
|
|
11
|
+
};
|
|
12
|
+
export type FramingPostSize = keyof typeof FRAMING_POST_SIZES;
|
|
13
|
+
export declare const DEFAULT_FRAMING_POST_SIZE: FramingPostSize;
|
|
14
|
+
/**
|
|
15
|
+
* The tallest each post may stand on a deck (IRC Table R507.4; the table also turns on the
|
|
16
|
+
* species and the area the post carries, so this is the check, not the design).
|
|
17
|
+
*/
|
|
18
|
+
export declare const FRAMING_POST_MAX_HEIGHT: Record<FramingPostSize, number>;
|
|
19
|
+
/** A framing post's wood: pressure-treated, as a post on a slab or the ground must be. */
|
|
20
|
+
export declare const FRAMING_POST_MATERIAL_REF = "library:wood-woodplank19";
|
|
21
|
+
export declare const FRAMING_POST_BASE_LABELS: Record<ColumnPostBase, string>;
|
|
22
|
+
/** Whether a node is a framing post: a column marked `role: 'post'`. */
|
|
23
|
+
export declare function isFramingPost(node: AnyNode | null | undefined): node is ColumnNode;
|
|
24
|
+
/** The post size a column's section is, or null when it is none of them (or not square). */
|
|
25
|
+
export declare function framingPostSize(column: Pick<ColumnNode, 'width' | 'depth'>): FramingPostSize | null;
|
|
26
|
+
/**
|
|
27
|
+
* The column fields that set a post's base, the base block and its material together: a post with
|
|
28
|
+
* none starts straight off the floor.
|
|
29
|
+
*/
|
|
30
|
+
export declare function framingPostBasePatch(post: Pick<ColumnNode, 'width' | 'depth'> & {
|
|
31
|
+
slots?: Record<string, string>;
|
|
32
|
+
}, base: ColumnPostBase): Partial<ColumnNode>;
|
|
33
|
+
/**
|
|
34
|
+
* The column fields that make a framing post: a plain square sawn post of `size`, sharp-cornered,
|
|
35
|
+
* its shaft the whole section with no capital, pressure-treated, on `base`.
|
|
36
|
+
*/
|
|
37
|
+
export declare function framingPostFields(size?: FramingPostSize, base?: ColumnPostBase): Partial<ColumnNode>;
|
|
38
|
+
/** What `createFramingPost` builds a post from. */
|
|
39
|
+
export type FramingPostInput = {
|
|
40
|
+
/**
|
|
41
|
+
* Where it stands: a level-local plan point `[x, z]`, or the column's `[x, y, z]` with `y` its
|
|
42
|
+
* foot over what it stands on (a deck post on the ground carries the grade there).
|
|
43
|
+
*/
|
|
44
|
+
position: readonly [number, number] | readonly [number, number, number];
|
|
45
|
+
size?: FramingPostSize;
|
|
46
|
+
base?: ColumnPostBase;
|
|
47
|
+
/** Its height, foot to top. Else `topElevation - baseElevation`, else eight feet. */
|
|
48
|
+
height?: number;
|
|
49
|
+
/** Its foot, level-local: the top of the slab or the ground it stands on. */
|
|
50
|
+
baseElevation?: number;
|
|
51
|
+
/** Its top, level-local: the underside of the beam it carries. */
|
|
52
|
+
topElevation?: number;
|
|
53
|
+
/** The level it goes on: its `parentId`. */
|
|
54
|
+
levelId?: string;
|
|
55
|
+
/** What it stands on: a slab id, or `'ground'` (`GROUND_SUPPORT_ID`). */
|
|
56
|
+
supportSlabId?: string;
|
|
57
|
+
rotation?: number;
|
|
58
|
+
name?: string;
|
|
59
|
+
metadata?: Record<string, unknown>;
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* A framing post, as a column node ready for `createNode` on its level: what the Post tool places,
|
|
63
|
+
* and what code that frames a porch or a deck makes under its beams.
|
|
64
|
+
*/
|
|
65
|
+
export declare function createFramingPost(input: FramingPostInput): ColumnNode;
|
|
66
|
+
/** What a post at a plan point stands up to: the beam over it, else the ceiling plane. */
|
|
67
|
+
export type FramingPostTop = {
|
|
68
|
+
/** Level-local Y of the post's top. */
|
|
69
|
+
top: number;
|
|
70
|
+
/** The beam it carries, when one is over it. */
|
|
71
|
+
beamId: string | null;
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Where the top of a post standing at a plan point of a level goes: the underside of the lowest
|
|
75
|
+
* beam over it that clears its foot (`baseElevation`), else the ceiling plane there (the top of
|
|
76
|
+
* the level's walls), as a post under a ceiling with no beam yet stands to it.
|
|
77
|
+
*/
|
|
78
|
+
export declare function framingPostTopAt(nodes: Nodes, levelId: string, point: readonly [number, number], options?: {
|
|
79
|
+
baseElevation?: number;
|
|
80
|
+
side?: number;
|
|
81
|
+
}): FramingPostTop;
|
|
82
|
+
/**
|
|
83
|
+
* A post taller than its size may stand (`FRAMING_POST_MAX_HEIGHT`): the size and the limit, for
|
|
84
|
+
* the panel to warn with; null for a post within it or of no post size.
|
|
85
|
+
*/
|
|
86
|
+
export declare function framingPostHeightLimit(post: Pick<ColumnNode, 'width' | 'depth' | 'height'>): {
|
|
87
|
+
size: FramingPostSize;
|
|
88
|
+
limit: number;
|
|
89
|
+
} | null;
|
|
90
|
+
export {};
|
|
91
|
+
//# sourceMappingURL=framing-post.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"framing-post.d.ts","sourceRoot":"","sources":["../../src/lib/framing-post.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { ColumnNode } from '../schema/nodes/column.js';
|
|
2
|
+
import { getWallPlaneTop } from '../services/storey.js';
|
|
3
|
+
import { beamBottomElevation, beamsOverPoint } from './beam.js';
|
|
4
|
+
const INCH = 0.0254;
|
|
5
|
+
const FOOT = 12 * INCH;
|
|
6
|
+
/** The shortest post the tools make: under that a beam is sitting on the floor. */
|
|
7
|
+
export const FRAMING_POST_MIN_HEIGHT = 0.3;
|
|
8
|
+
/** A post's height where nothing says otherwise: a porch's eight-foot post. */
|
|
9
|
+
const DEFAULT_POST_HEIGHT = 8 * FOOT;
|
|
10
|
+
/** The square framing posts, by their actual dressed side: 3-1/2, 5-1/2 and 7-1/4 in. */
|
|
11
|
+
export const FRAMING_POST_SIZES = {
|
|
12
|
+
'4x4': 3.5 * INCH,
|
|
13
|
+
'6x6': 5.5 * INCH,
|
|
14
|
+
'8x8': 7.25 * INCH,
|
|
15
|
+
};
|
|
16
|
+
export const DEFAULT_FRAMING_POST_SIZE = '6x6';
|
|
17
|
+
/**
|
|
18
|
+
* The tallest each post may stand on a deck (IRC Table R507.4; the table also turns on the
|
|
19
|
+
* species and the area the post carries, so this is the check, not the design).
|
|
20
|
+
*/
|
|
21
|
+
export const FRAMING_POST_MAX_HEIGHT = {
|
|
22
|
+
'4x4': 8 * FOOT,
|
|
23
|
+
'6x6': 11 * FOOT,
|
|
24
|
+
'8x8': 14 * FOOT,
|
|
25
|
+
};
|
|
26
|
+
/** A framing post's wood: pressure-treated, as a post on a slab or the ground must be. */
|
|
27
|
+
export const FRAMING_POST_MATERIAL_REF = 'library:wood-woodplank19';
|
|
28
|
+
/**
|
|
29
|
+
* The bases a post stands on, drawn as the column's base block: a steel post base holding the
|
|
30
|
+
* wood an inch and a half off the concrete, or a concrete pier 8 in tall and 3 in wider than the
|
|
31
|
+
* post all round.
|
|
32
|
+
*/
|
|
33
|
+
const POST_BASES = {
|
|
34
|
+
'post-base': { height: 1.5 * INCH, margin: 0.25 * INCH, material: 'library:metal-steel' },
|
|
35
|
+
pier: { height: 8 * INCH, margin: 3 * INCH, material: 'library:concrete-raw' },
|
|
36
|
+
};
|
|
37
|
+
export const FRAMING_POST_BASE_LABELS = {
|
|
38
|
+
none: 'None',
|
|
39
|
+
'post-base': 'Post base',
|
|
40
|
+
pier: 'Concrete pier',
|
|
41
|
+
};
|
|
42
|
+
/** Whether a node is a framing post: a column marked `role: 'post'`. */
|
|
43
|
+
export function isFramingPost(node) {
|
|
44
|
+
return node?.type === 'column' && node.role === 'post';
|
|
45
|
+
}
|
|
46
|
+
/** The post size a column's section is, or null when it is none of them (or not square). */
|
|
47
|
+
export function framingPostSize(column) {
|
|
48
|
+
for (const [size, side] of Object.entries(FRAMING_POST_SIZES)) {
|
|
49
|
+
if (Math.abs(column.width - side) < INCH / 16 && Math.abs(column.depth - side) < INCH / 16)
|
|
50
|
+
return size;
|
|
51
|
+
}
|
|
52
|
+
return null;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The column fields that set a post's base, the base block and its material together: a post with
|
|
56
|
+
* none starts straight off the floor.
|
|
57
|
+
*/
|
|
58
|
+
export function framingPostBasePatch(post, base) {
|
|
59
|
+
const { base: _base, ...slots } = post.slots ?? {};
|
|
60
|
+
// The base scales stay at 1 with no base: the plan's footprint reads them whatever the style.
|
|
61
|
+
if (base === 'none')
|
|
62
|
+
return {
|
|
63
|
+
postBase: 'none',
|
|
64
|
+
baseStyle: 'none',
|
|
65
|
+
baseHeight: 0,
|
|
66
|
+
baseWidthScale: 1,
|
|
67
|
+
baseDepthScale: 1,
|
|
68
|
+
slots,
|
|
69
|
+
};
|
|
70
|
+
const { height, margin, material } = POST_BASES[base];
|
|
71
|
+
return {
|
|
72
|
+
postBase: base,
|
|
73
|
+
baseStyle: 'simple-square',
|
|
74
|
+
baseHeight: height,
|
|
75
|
+
baseWidthScale: Math.min(3, (post.width + margin * 2) / post.width),
|
|
76
|
+
baseDepthScale: Math.min(3, (post.depth + margin * 2) / post.depth),
|
|
77
|
+
slots: { ...slots, base: material },
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* The column fields that make a framing post: a plain square sawn post of `size`, sharp-cornered,
|
|
82
|
+
* its shaft the whole section with no capital, pressure-treated, on `base`.
|
|
83
|
+
*/
|
|
84
|
+
export function framingPostFields(size = DEFAULT_FRAMING_POST_SIZE, base = 'none') {
|
|
85
|
+
const side = FRAMING_POST_SIZES[size];
|
|
86
|
+
return {
|
|
87
|
+
role: 'post',
|
|
88
|
+
style: 'plain',
|
|
89
|
+
crossSection: 'square',
|
|
90
|
+
supportStyle: 'vertical',
|
|
91
|
+
width: side,
|
|
92
|
+
depth: side,
|
|
93
|
+
radius: side / 2,
|
|
94
|
+
edgeSoftness: 0,
|
|
95
|
+
shaftProfile: 'straight',
|
|
96
|
+
shaftTaper: 0,
|
|
97
|
+
shaftBulge: 0,
|
|
98
|
+
shaftStartScale: 1,
|
|
99
|
+
shaftEndScale: 1,
|
|
100
|
+
shaftSegmentCount: 1,
|
|
101
|
+
shaftTwistStep: 0,
|
|
102
|
+
shaftCornerRadius: 0,
|
|
103
|
+
shaftDetail: 'none',
|
|
104
|
+
capitalStyle: 'none',
|
|
105
|
+
capitalHeight: 0,
|
|
106
|
+
// No capital, but the plan's footprint reads its scales: the post's own size.
|
|
107
|
+
capitalWidthScale: 1,
|
|
108
|
+
capitalDepthScale: 1,
|
|
109
|
+
baseRoundBandCount: 0,
|
|
110
|
+
ringCount: 0,
|
|
111
|
+
fluteCount: 0,
|
|
112
|
+
spiralRibCount: 0,
|
|
113
|
+
panelCount: 0,
|
|
114
|
+
latheRingCount: 0,
|
|
115
|
+
carvingLevel: 0,
|
|
116
|
+
lowerBandEnabled: false,
|
|
117
|
+
dentilCount: 0,
|
|
118
|
+
beadCount: 0,
|
|
119
|
+
...framingPostBasePatch({ width: side, depth: side, slots: { shaft: FRAMING_POST_MATERIAL_REF } }, base),
|
|
120
|
+
};
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* A framing post, as a column node ready for `createNode` on its level: what the Post tool places,
|
|
124
|
+
* and what code that frames a porch or a deck makes under its beams.
|
|
125
|
+
*/
|
|
126
|
+
export function createFramingPost(input) {
|
|
127
|
+
const size = input.size ?? DEFAULT_FRAMING_POST_SIZE;
|
|
128
|
+
const position = input.position.length === 3
|
|
129
|
+
? [input.position[0], input.position[1], input.position[2]]
|
|
130
|
+
: [input.position[0], 0, input.position[1]];
|
|
131
|
+
const height = input.height ??
|
|
132
|
+
(input.topElevation !== undefined
|
|
133
|
+
? input.topElevation - (input.baseElevation ?? 0) - position[1]
|
|
134
|
+
: DEFAULT_POST_HEIGHT);
|
|
135
|
+
return ColumnNode.parse({
|
|
136
|
+
name: input.name ?? 'Post',
|
|
137
|
+
...framingPostFields(size, input.base ?? 'none'),
|
|
138
|
+
position,
|
|
139
|
+
rotation: input.rotation ?? 0,
|
|
140
|
+
height: Math.max(FRAMING_POST_MIN_HEIGHT, height),
|
|
141
|
+
...(input.levelId ? { parentId: input.levelId } : {}),
|
|
142
|
+
...(input.supportSlabId ? { supportSlabId: input.supportSlabId } : {}),
|
|
143
|
+
...(input.metadata ? { metadata: input.metadata } : {}),
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Where the top of a post standing at a plan point of a level goes: the underside of the lowest
|
|
148
|
+
* beam over it that clears its foot (`baseElevation`), else the ceiling plane there (the top of
|
|
149
|
+
* the level's walls), as a post under a ceiling with no beam yet stands to it.
|
|
150
|
+
*/
|
|
151
|
+
export function framingPostTopAt(nodes, levelId, point, options = {}) {
|
|
152
|
+
const foot = options.baseElevation ?? 0;
|
|
153
|
+
for (const beam of beamsOverPoint(nodes, levelId, point)) {
|
|
154
|
+
const bottom = beamBottomElevation(nodes, beam);
|
|
155
|
+
if (bottom >= foot + FRAMING_POST_MIN_HEIGHT)
|
|
156
|
+
return { top: bottom, beamId: beam.id };
|
|
157
|
+
}
|
|
158
|
+
const half = Math.max(options.side ?? FRAMING_POST_SIZES['6x6'], 0.02) / 2;
|
|
159
|
+
return {
|
|
160
|
+
top: getWallPlaneTop({ start: [point[0] - half, point[1]], end: [point[0] + half, point[1]], thickness: half * 2 }, levelId, nodes),
|
|
161
|
+
beamId: null,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* A post taller than its size may stand (`FRAMING_POST_MAX_HEIGHT`): the size and the limit, for
|
|
166
|
+
* the panel to warn with; null for a post within it or of no post size.
|
|
167
|
+
*/
|
|
168
|
+
export function framingPostHeightLimit(post) {
|
|
169
|
+
const size = framingPostSize(post);
|
|
170
|
+
if (!size)
|
|
171
|
+
return null;
|
|
172
|
+
const limit = FRAMING_POST_MAX_HEIGHT[size];
|
|
173
|
+
return post.height > limit + 1e-6 ? { size, limit } : null;
|
|
174
|
+
}
|
|
@@ -76,6 +76,17 @@ export declare function requireMeasured(compiled: CompiledGeometryScript, subjec
|
|
|
76
76
|
nodeId?: string;
|
|
77
77
|
tool: string;
|
|
78
78
|
}): void;
|
|
79
|
+
/**
|
|
80
|
+
* A scripted node's controls and effects. An item carries its own: its module's, then any lights
|
|
81
|
+
* author_scene hung on it. A window, door or column has only its module's.
|
|
82
|
+
*/
|
|
83
|
+
export declare function scriptedInteractive(node: ScriptedNode): ItemNode['asset']['interactive'];
|
|
84
|
+
/**
|
|
85
|
+
* The interactive of an item rebuilt from `manifest`: the new module's controls and effects, and
|
|
86
|
+
* the lights author_scene hung on the previous build (the effects after its module's own), so a
|
|
87
|
+
* rebuild keeps them.
|
|
88
|
+
*/
|
|
89
|
+
export declare function rebuiltInteractive(manifest: CompiledGeometryScript['manifest'], previous: Pick<ItemNode, 'asset' | 'source'>): ItemNode['asset']['interactive'];
|
|
79
90
|
/**
|
|
80
91
|
* Where the script's origin (the bottom centre of what it built) sits in the
|
|
81
92
|
* node's own frame: a window or door is placed by its centre.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry-script-node.d.ts","sourceRoot":"","sources":["../../src/lib/geometry-script-node.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"geometry-script-node.d.ts","sourceRoot":"","sources":["../../src/lib/geometry-script-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -98,6 +98,38 @@ export function requireMeasured(compiled, subject) {
|
|
|
98
98
|
const label = subject.label ? `"${subject.label}"` : (subject.nodeId ?? 'The object');
|
|
99
99
|
refuse('unmeasurable_object', `${label} cannot be measured: its bounds are not finite numbers (min [${min.map(String).join(', ')}], max [${max.map(String).join(', ')}]) with params ${JSON.stringify(compiled.params)}. A mesh in the script has a position, rotation or scale that is not a number (a helper called one argument short passes the next value in its place). Fix the script and call ${subject.tool} again; nothing was ${subject.nodeId ? 'changed' : 'added'}.`, { label: subject.label ?? subject.nodeId });
|
|
100
100
|
}
|
|
101
|
+
/**
|
|
102
|
+
* A scripted node's controls and effects. An item carries its own: its module's, then any lights
|
|
103
|
+
* author_scene hung on it. A window, door or column has only its module's.
|
|
104
|
+
*/
|
|
105
|
+
export function scriptedInteractive(node) {
|
|
106
|
+
if (node.type === 'item' && node.asset.interactive)
|
|
107
|
+
return node.asset.interactive;
|
|
108
|
+
return scriptInteractive(node.source.manifest, scriptedOrigin(node));
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* The interactive of an item rebuilt from `manifest`: the new module's controls and effects, and
|
|
112
|
+
* the lights author_scene hung on the previous build (the effects after its module's own), so a
|
|
113
|
+
* rebuild keeps them.
|
|
114
|
+
*/
|
|
115
|
+
export function rebuiltInteractive(manifest, previous) {
|
|
116
|
+
const next = scriptInteractive(manifest);
|
|
117
|
+
const own = previous.source
|
|
118
|
+
? (scriptInteractive(previous.source.manifest)?.effects.length ?? 0)
|
|
119
|
+
: 0;
|
|
120
|
+
const hung = (previous.asset.interactive?.effects ?? [])
|
|
121
|
+
.slice(own)
|
|
122
|
+
.filter((effect) => effect.kind === 'light');
|
|
123
|
+
if (hung.length === 0)
|
|
124
|
+
return next;
|
|
125
|
+
const controls = next?.controls ?? [];
|
|
126
|
+
return {
|
|
127
|
+
controls: controls.some((control) => control.kind === 'toggle')
|
|
128
|
+
? controls
|
|
129
|
+
: [...controls, { kind: 'toggle', label: 'Lights', default: true }],
|
|
130
|
+
effects: [...(next?.effects ?? []), ...hung],
|
|
131
|
+
};
|
|
132
|
+
}
|
|
101
133
|
/**
|
|
102
134
|
* Where the script's origin (the bottom centre of what it built) sits in the
|
|
103
135
|
* node's own frame: a window or door is placed by its centre.
|
|
@@ -142,6 +174,9 @@ export function scriptInteractive(manifest, origin = [0, 0, 0]) {
|
|
|
142
174
|
light.position[1] + origin[1],
|
|
143
175
|
light.position[2] + origin[2],
|
|
144
176
|
],
|
|
177
|
+
spot: light.spot,
|
|
178
|
+
shadows: light.shadows,
|
|
179
|
+
glow: light.glow,
|
|
145
180
|
});
|
|
146
181
|
}
|
|
147
182
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { AnyNode, AnyNodeId, LevelNode } from '../schema/index.js';
|
|
1
|
+
import type { AnyNode, AnyNodeId, LevelNode, SlabNode } from '../schema/index.js';
|
|
2
2
|
import { type TerrainField } from './terrain-field.js';
|
|
3
3
|
/**
|
|
4
4
|
* Where a level stands against the ground as it actually lies: at grade, below it everywhere,
|
|
@@ -21,12 +21,26 @@ export type LevelGradeStanding = 'at-grade' | 'partly-below-grade' | 'below-grad
|
|
|
21
21
|
export declare function levelGradeStanding(nodes: Record<AnyNodeId, AnyNode>, levelId: string): LevelGradeStanding;
|
|
22
22
|
/** Whether a floor at world Y `floorY` lies under a flat site's datum by more than the tolerance. */
|
|
23
23
|
export declare function floorBuriedOnFlatSite(floorY: number): boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The level-local elevation the ground is judged against over a floor slab: its own top, except
|
|
26
|
+
* for a floor sunk under its level's floor that opens to the outside through a door reaching down
|
|
27
|
+
* to it (a garage below the house, its door onto the drive). The ground outside that door comes
|
|
28
|
+
* down to it, so it is no basement: it is judged at its level's floor, and does not leave the
|
|
29
|
+
* level partly below grade.
|
|
30
|
+
*/
|
|
31
|
+
export declare function slabGradeElevation(nodes: Record<AnyNodeId, AnyNode>, level: LevelNode, slab: SlabNode): number;
|
|
32
|
+
/**
|
|
33
|
+
* The world Y of `level`'s lowest floor as the ground judges it ({@link slabGradeElevation}): a
|
|
34
|
+
* garage sunk under the floor and opening out to the drive leaves it at the level's floor. `null`
|
|
35
|
+
* for a level with no floor slab, or no plane.
|
|
36
|
+
*/
|
|
37
|
+
export declare function levelGradeFloorWorldY(nodes: Record<AnyNodeId, AnyNode>, level: LevelNode): number | null;
|
|
24
38
|
/** The site's terrain field for the site this level stands on, or null on a flat site. */
|
|
25
39
|
export declare function terrainFieldOverLevel(nodes: Record<AnyNodeId, AnyNode>, level: LevelNode): TerrainField | null;
|
|
26
40
|
/**
|
|
27
41
|
* World XZ samples over the level's floor slabs: each slab's corners plus a grid across it no
|
|
28
42
|
* coarser than the terrain's own spacing, capped so a big plate stays cheap. Slabs are the
|
|
29
|
-
* footprint the
|
|
43
|
+
* footprint the ground's hole already trusts (`belowGradeFootprints`).
|
|
30
44
|
*/
|
|
31
45
|
export declare function footprintSamples(nodes: Record<AnyNodeId, AnyNode>, level: LevelNode, field: TerrainField): Array<[number, number]>;
|
|
32
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"grade-standing.d.ts","sourceRoot":"","sources":["../../src/lib/grade-standing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"grade-standing.d.ts","sourceRoot":"","sources":["../../src/lib/grade-standing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAA0B,SAAS,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAA;AAchG,OAAO,EAAY,KAAK,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAI7D;;;;;GAKG;AACH,MAAM,MAAM,kBAAkB,GAAG,UAAU,GAAG,oBAAoB,GAAG,aAAa,CAAA;AAKlF;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,OAAO,EAAE,MAAM,GACd,kBAAkB,CAuBpB;AAwBD,qGAAqG;AACrG,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE7D;AA2CD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,QAAQ,GACb,MAAM,CAYR;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,SAAS,GACf,MAAM,GAAG,IAAI,CAKf;AA8DD,0FAA0F;AAC1F,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,SAAS,GACf,YAAY,GAAG,IAAI,CAOrB;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,YAAY,GAClB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAEzB;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,YAAY,GAClB,KAAK,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAcjC"}
|