@pascal-app/core 1.0.5 → 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,92 +1,152 @@
|
|
|
1
1
|
import { withSceneHistoryDraftSuspended } from './history-drafts.js';
|
|
2
|
-
|
|
2
|
+
import { currentSceneEnvironment, sceneEnvironmentOf, } from './scene-environment.js';
|
|
3
|
+
const HISTORY_CONTROL = Symbol('scene-history-control');
|
|
4
|
+
function controlOf(environment) {
|
|
5
|
+
return environment.slot(HISTORY_CONTROL, () => ({
|
|
6
|
+
restoreDepth: 0,
|
|
7
|
+
remoteOperationDepth: 0,
|
|
8
|
+
pauseDepth: 0,
|
|
9
|
+
pauseLeases: new Set(),
|
|
10
|
+
commitListeners: new Set(),
|
|
11
|
+
commitTransactionDepth: 0,
|
|
12
|
+
pendingCommit: null,
|
|
13
|
+
commitNodeIdScopes: [],
|
|
14
|
+
gesturePauseHolders: new Map(),
|
|
15
|
+
livePauseHolders: new Set(),
|
|
16
|
+
writeGuards: new Set(),
|
|
17
|
+
derivedWrites: new Map(),
|
|
18
|
+
}));
|
|
19
|
+
}
|
|
20
|
+
/** The state of the environment whose store is acting, or the live one. */
|
|
21
|
+
const current = () => controlOf(currentSceneEnvironment());
|
|
22
|
+
/** The state of `store`'s own environment. */
|
|
23
|
+
const of = (store) => controlOf(sceneEnvironmentOf(store));
|
|
3
24
|
export function isRestoringSceneHistory() {
|
|
4
|
-
return
|
|
25
|
+
return current().restoreDepth > 0;
|
|
5
26
|
}
|
|
6
27
|
export function runAsSceneHistoryRestore(run) {
|
|
7
|
-
|
|
28
|
+
const control = current();
|
|
29
|
+
control.restoreDepth += 1;
|
|
8
30
|
try {
|
|
9
31
|
return run();
|
|
10
32
|
}
|
|
11
33
|
finally {
|
|
12
|
-
|
|
34
|
+
control.restoreDepth -= 1;
|
|
13
35
|
}
|
|
14
36
|
}
|
|
15
|
-
let remoteSceneOperationDepth = 0;
|
|
16
37
|
/**
|
|
17
38
|
* Whether the scene is being written by a collaborator's change (a shared
|
|
18
39
|
* operation or snapshot applied from the host), not by this client — what a
|
|
19
40
|
* live session that takes back its own writes must leave alone.
|
|
20
41
|
*/
|
|
21
42
|
export function isApplyingRemoteSceneChange() {
|
|
22
|
-
return
|
|
43
|
+
return current().remoteOperationDepth > 0;
|
|
23
44
|
}
|
|
24
45
|
export function runAsRemoteSceneChange(run) {
|
|
25
|
-
|
|
46
|
+
const control = current();
|
|
47
|
+
control.remoteOperationDepth += 1;
|
|
26
48
|
try {
|
|
27
49
|
return run();
|
|
28
50
|
}
|
|
29
51
|
finally {
|
|
30
|
-
|
|
52
|
+
control.remoteOperationDepth -= 1;
|
|
31
53
|
}
|
|
32
54
|
}
|
|
33
|
-
let sceneHistoryPauseDepth = 0;
|
|
34
|
-
const sceneHistoryPauseLeases = new Set();
|
|
35
|
-
const sceneCommitListeners = new Set();
|
|
36
|
-
let sceneCommitTransactionDepth = 0;
|
|
37
|
-
let pendingSceneCommit = null;
|
|
38
|
-
const sceneCommitNodeIdScopes = [];
|
|
39
55
|
function mergedNodeIds(left, right) {
|
|
40
56
|
if (!(left || right))
|
|
41
57
|
return undefined;
|
|
42
58
|
return new Set([...(left ?? []), ...(right ?? [])]);
|
|
43
59
|
}
|
|
44
60
|
export function activeSceneCommitNodeIds() {
|
|
45
|
-
|
|
61
|
+
const scopes = current().commitNodeIdScopes;
|
|
62
|
+
if (scopes.length === 0)
|
|
46
63
|
return undefined;
|
|
47
64
|
const ids = new Set();
|
|
48
|
-
for (const scope of
|
|
65
|
+
for (const scope of scopes) {
|
|
49
66
|
for (const id of scope)
|
|
50
67
|
ids.add(id);
|
|
51
68
|
}
|
|
52
69
|
return ids;
|
|
53
70
|
}
|
|
54
71
|
export function addActiveSceneCommitNodeIds(nodeIds) {
|
|
55
|
-
const scope =
|
|
72
|
+
const scope = current().commitNodeIdScopes.at(-1);
|
|
56
73
|
if (!scope)
|
|
57
74
|
return;
|
|
58
75
|
for (const id of nodeIds)
|
|
59
76
|
scope.add(id);
|
|
60
77
|
}
|
|
61
78
|
export function runWithSceneCommitNodeIds(nodeIds, run) {
|
|
79
|
+
const scopes = current().commitNodeIdScopes;
|
|
62
80
|
const scope = new Set(nodeIds);
|
|
63
|
-
|
|
81
|
+
scopes.push(scope);
|
|
64
82
|
try {
|
|
65
83
|
return run();
|
|
66
84
|
}
|
|
67
85
|
finally {
|
|
68
|
-
|
|
69
|
-
const parentScope =
|
|
86
|
+
scopes.pop();
|
|
87
|
+
const parentScope = scopes.at(-1);
|
|
70
88
|
if (parentScope) {
|
|
71
89
|
for (const id of scope)
|
|
72
90
|
parentScope.add(id);
|
|
73
91
|
}
|
|
74
92
|
}
|
|
75
93
|
}
|
|
76
|
-
|
|
94
|
+
function areSemanticValuesEqual(left, right) {
|
|
95
|
+
if (Object.is(left, right))
|
|
96
|
+
return true;
|
|
97
|
+
if (typeof left !== typeof right || left === null || right === null)
|
|
98
|
+
return false;
|
|
99
|
+
if (Array.isArray(left) || Array.isArray(right)) {
|
|
100
|
+
if (!(Array.isArray(left) && Array.isArray(right)) || left.length !== right.length)
|
|
101
|
+
return false;
|
|
102
|
+
return left.every((value, index) => areSemanticValuesEqual(value, right[index]));
|
|
103
|
+
}
|
|
104
|
+
if (typeof left !== 'object' || typeof right !== 'object')
|
|
105
|
+
return false;
|
|
106
|
+
const leftRecord = left;
|
|
107
|
+
const rightRecord = right;
|
|
108
|
+
const leftKeys = Object.keys(leftRecord);
|
|
109
|
+
const rightKeys = Object.keys(rightRecord);
|
|
110
|
+
if (leftKeys.length !== rightKeys.length)
|
|
111
|
+
return false;
|
|
112
|
+
for (const key of leftKeys) {
|
|
113
|
+
if (!(key in rightRecord) || !areSemanticValuesEqual(leftRecord[key], rightRecord[key])) {
|
|
114
|
+
return false;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return true;
|
|
118
|
+
}
|
|
119
|
+
export function areSceneSnapshotsEqual(left, right) {
|
|
120
|
+
return (areSemanticValuesEqual(left.nodes, right.nodes) &&
|
|
121
|
+
areSemanticValuesEqual(left.rootNodeIds, right.rootNodeIds) &&
|
|
122
|
+
areSemanticValuesEqual(left.collections, right.collections) &&
|
|
123
|
+
areSemanticValuesEqual(left.materials, right.materials) &&
|
|
124
|
+
areSemanticValuesEqual(left.installedPlugins, right.installedPlugins) &&
|
|
125
|
+
(left.hasExplicitPluginInstallState ?? false) === (right.hasExplicitPluginInstallState ?? false));
|
|
126
|
+
}
|
|
127
|
+
/** Listens to the commits of the current environment's store: the live editor's, by default. */
|
|
128
|
+
export function subscribeSceneCommits(listener) {
|
|
129
|
+
const listeners = current().commitListeners;
|
|
130
|
+
listeners.add(listener);
|
|
131
|
+
return () => {
|
|
132
|
+
listeners.delete(listener);
|
|
133
|
+
};
|
|
134
|
+
}
|
|
77
135
|
/**
|
|
78
|
-
* Registers something that must let go of the scene before anything writes
|
|
79
|
-
* shows another state (`scene-preview.ts`) would otherwise swallow the write or
|
|
80
|
-
* the wrong state. Returns the unregister.
|
|
136
|
+
* Registers something that must let go of the current environment's scene before anything writes
|
|
137
|
+
* it: a preview that shows another state (`scene-preview.ts`) would otherwise swallow the write or
|
|
138
|
+
* have it land on the wrong state. Returns the unregister.
|
|
81
139
|
*/
|
|
82
140
|
export function registerSceneWriteGuard(guard) {
|
|
83
|
-
|
|
141
|
+
const guards = current().writeGuards;
|
|
142
|
+
guards.add(guard);
|
|
84
143
|
return () => {
|
|
85
|
-
|
|
144
|
+
guards.delete(guard);
|
|
86
145
|
};
|
|
87
146
|
}
|
|
88
|
-
|
|
89
|
-
|
|
147
|
+
/** Runs the guards of `sceneStore`'s environment, or of the current one. */
|
|
148
|
+
export function runSceneWriteGuards(sceneStore) {
|
|
149
|
+
for (const guard of [...(sceneStore ? of(sceneStore) : current()).writeGuards])
|
|
90
150
|
guard();
|
|
91
151
|
}
|
|
92
152
|
const sceneCommitAuthorScopes = [];
|
|
@@ -124,51 +184,12 @@ export function acquireSceneCommitAuthor(author) {
|
|
|
124
184
|
sceneCommitAuthorLeases.delete(lease);
|
|
125
185
|
};
|
|
126
186
|
}
|
|
127
|
-
function areSemanticValuesEqual(left, right) {
|
|
128
|
-
if (Object.is(left, right))
|
|
129
|
-
return true;
|
|
130
|
-
if (typeof left !== typeof right || left === null || right === null)
|
|
131
|
-
return false;
|
|
132
|
-
if (Array.isArray(left) || Array.isArray(right)) {
|
|
133
|
-
if (!(Array.isArray(left) && Array.isArray(right)) || left.length !== right.length)
|
|
134
|
-
return false;
|
|
135
|
-
return left.every((value, index) => areSemanticValuesEqual(value, right[index]));
|
|
136
|
-
}
|
|
137
|
-
if (typeof left !== 'object' || typeof right !== 'object')
|
|
138
|
-
return false;
|
|
139
|
-
const leftRecord = left;
|
|
140
|
-
const rightRecord = right;
|
|
141
|
-
const leftKeys = Object.keys(leftRecord);
|
|
142
|
-
const rightKeys = Object.keys(rightRecord);
|
|
143
|
-
if (leftKeys.length !== rightKeys.length)
|
|
144
|
-
return false;
|
|
145
|
-
for (const key of leftKeys) {
|
|
146
|
-
if (!(key in rightRecord) || !areSemanticValuesEqual(leftRecord[key], rightRecord[key])) {
|
|
147
|
-
return false;
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
return true;
|
|
151
|
-
}
|
|
152
|
-
export function areSceneSnapshotsEqual(left, right) {
|
|
153
|
-
return (areSemanticValuesEqual(left.nodes, right.nodes) &&
|
|
154
|
-
areSemanticValuesEqual(left.rootNodeIds, right.rootNodeIds) &&
|
|
155
|
-
areSemanticValuesEqual(left.collections, right.collections) &&
|
|
156
|
-
areSemanticValuesEqual(left.materials, right.materials) &&
|
|
157
|
-
areSemanticValuesEqual(left.installedPlugins, right.installedPlugins) &&
|
|
158
|
-
(left.hasExplicitPluginInstallState ?? false) === (right.hasExplicitPluginInstallState ?? false));
|
|
159
|
-
}
|
|
160
|
-
export function subscribeSceneCommits(listener) {
|
|
161
|
-
sceneCommitListeners.add(listener);
|
|
162
|
-
return () => {
|
|
163
|
-
sceneCommitListeners.delete(listener);
|
|
164
|
-
};
|
|
165
|
-
}
|
|
166
|
-
let derivedWrites = new Map();
|
|
167
187
|
/**
|
|
168
|
-
* Records what the derived-writer capability writes, for the commit that
|
|
169
|
-
* fields written (none given: the node as a whole).
|
|
188
|
+
* Records what the derived-writer capability writes, for the current environment's commit that
|
|
189
|
+
* follows: each node, and the fields written (none given: the node as a whole).
|
|
170
190
|
*/
|
|
171
191
|
export function noteDerivedNodeWrites(writes) {
|
|
192
|
+
const derivedWrites = current().derivedWrites;
|
|
172
193
|
for (const { id, fields } of writes) {
|
|
173
194
|
const noted = derivedWrites.get(id);
|
|
174
195
|
if (noted === 'all')
|
|
@@ -179,11 +200,11 @@ export function noteDerivedNodeWrites(writes) {
|
|
|
179
200
|
derivedWrites.set(id, new Set([...(noted ?? []), ...fields]));
|
|
180
201
|
}
|
|
181
202
|
}
|
|
182
|
-
function emitSceneCommit(authored) {
|
|
183
|
-
const derived = derivedWrites;
|
|
184
|
-
derivedWrites = new Map();
|
|
203
|
+
function emitSceneCommit(control, authored) {
|
|
204
|
+
const derived = control.derivedWrites;
|
|
205
|
+
control.derivedWrites = new Map();
|
|
185
206
|
const commit = derived.size > 0 ? { ...authored, derivedWrites: derived } : authored;
|
|
186
|
-
for (const listener of [...
|
|
207
|
+
for (const listener of [...control.commitListeners]) {
|
|
187
208
|
try {
|
|
188
209
|
listener(commit);
|
|
189
210
|
}
|
|
@@ -193,9 +214,10 @@ function emitSceneCommit(authored) {
|
|
|
193
214
|
}
|
|
194
215
|
}
|
|
195
216
|
export function notifySceneCommit(commit) {
|
|
217
|
+
const control = current();
|
|
196
218
|
if (areSceneSnapshotsEqual(commit.before, commit.current)) {
|
|
197
|
-
if (
|
|
198
|
-
derivedWrites = new Map();
|
|
219
|
+
if (control.commitTransactionDepth === 0)
|
|
220
|
+
control.derivedWrites = new Map();
|
|
199
221
|
return;
|
|
200
222
|
}
|
|
201
223
|
const author = commit.author ?? activeSceneCommitAuthor();
|
|
@@ -204,80 +226,101 @@ export function notifySceneCommit(commit) {
|
|
|
204
226
|
...(author ? { author } : {}),
|
|
205
227
|
changedNodeIds: mergedNodeIds(commit.changedNodeIds, activeSceneCommitNodeIds()),
|
|
206
228
|
};
|
|
207
|
-
if (
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
229
|
+
if (control.commitTransactionDepth > 0) {
|
|
230
|
+
const pending = control.pendingCommit;
|
|
231
|
+
if (pending) {
|
|
232
|
+
const pendingAuthor = pending.author ?? contextualCommit.author;
|
|
233
|
+
control.pendingCommit = {
|
|
234
|
+
origin: pending.origin,
|
|
212
235
|
...(pendingAuthor ? { author: pendingAuthor } : {}),
|
|
213
|
-
before:
|
|
236
|
+
before: pending.before,
|
|
214
237
|
current: contextualCommit.current,
|
|
215
|
-
changedNodeIds: mergedNodeIds(
|
|
238
|
+
changedNodeIds: mergedNodeIds(pending.changedNodeIds, contextualCommit.changedNodeIds),
|
|
216
239
|
};
|
|
217
240
|
}
|
|
218
241
|
else {
|
|
219
|
-
|
|
242
|
+
control.pendingCommit = contextualCommit;
|
|
220
243
|
}
|
|
221
244
|
return;
|
|
222
245
|
}
|
|
223
|
-
emitSceneCommit(contextualCommit);
|
|
246
|
+
emitSceneCommit(control, contextualCommit);
|
|
224
247
|
}
|
|
225
|
-
|
|
226
|
-
|
|
248
|
+
/**
|
|
249
|
+
* Makes `commit` the one `store`'s open transaction (`runAsSingleSceneHistoryStep`) emits: the
|
|
250
|
+
* pending commit, if any, keeps its origin, author and `before` and takes `commit`'s `current`,
|
|
251
|
+
* with both sets of changed ids. Outside a transaction, `commit` is emitted.
|
|
252
|
+
*/
|
|
253
|
+
export function settlePendingSceneCommit(store, commit) {
|
|
254
|
+
const control = of(store);
|
|
255
|
+
if (control.commitTransactionDepth === 0) {
|
|
256
|
+
sceneEnvironmentOf(store).run(() => notifySceneCommit(commit));
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
const pending = control.pendingCommit;
|
|
260
|
+
const author = pending?.author ?? commit.author ?? activeSceneCommitAuthor();
|
|
261
|
+
control.pendingCommit = {
|
|
262
|
+
origin: pending?.origin ?? commit.origin,
|
|
263
|
+
...(author ? { author } : {}),
|
|
264
|
+
before: pending?.before ?? commit.before,
|
|
265
|
+
current: commit.current,
|
|
266
|
+
changedNodeIds: mergedNodeIds(pending?.changedNodeIds, commit.changedNodeIds),
|
|
267
|
+
};
|
|
227
268
|
}
|
|
228
|
-
function pendingSceneCommitIsNoOp() {
|
|
229
|
-
|
|
230
|
-
|
|
269
|
+
function pendingSceneCommitIsNoOp(control) {
|
|
270
|
+
const pending = control.pendingCommit;
|
|
271
|
+
return Boolean(pending && areSceneSnapshotsEqual(pending.before, pending.current));
|
|
231
272
|
}
|
|
232
|
-
function endSceneCommitTransaction() {
|
|
233
|
-
if (
|
|
273
|
+
function endSceneCommitTransaction(control) {
|
|
274
|
+
if (control.commitTransactionDepth === 0)
|
|
234
275
|
return;
|
|
235
|
-
|
|
236
|
-
if (
|
|
276
|
+
control.commitTransactionDepth -= 1;
|
|
277
|
+
if (control.commitTransactionDepth > 0)
|
|
237
278
|
return;
|
|
238
|
-
const commit =
|
|
239
|
-
|
|
279
|
+
const commit = control.pendingCommit;
|
|
280
|
+
control.pendingCommit = null;
|
|
240
281
|
if (!commit)
|
|
241
282
|
return;
|
|
242
283
|
if (areSceneSnapshotsEqual(commit.before, commit.current))
|
|
243
|
-
derivedWrites = new Map();
|
|
284
|
+
control.derivedWrites = new Map();
|
|
244
285
|
else
|
|
245
|
-
emitSceneCommit(commit);
|
|
286
|
+
emitSceneCommit(control, commit);
|
|
246
287
|
}
|
|
288
|
+
const pauseDepthOf = (control) => control.pauseDepth + control.pauseLeases.size;
|
|
247
289
|
export function pauseSceneHistory(sceneStore) {
|
|
248
|
-
|
|
290
|
+
const control = of(sceneStore);
|
|
291
|
+
if (pauseDepthOf(control) === 0) {
|
|
249
292
|
sceneStore.temporal.getState().pause();
|
|
250
293
|
}
|
|
251
|
-
|
|
294
|
+
control.pauseDepth += 1;
|
|
252
295
|
}
|
|
253
296
|
export function resumeSceneHistory(sceneStore) {
|
|
254
|
-
|
|
297
|
+
const control = of(sceneStore);
|
|
298
|
+
if (control.pauseDepth === 0) {
|
|
255
299
|
return;
|
|
256
300
|
}
|
|
257
|
-
|
|
258
|
-
if (
|
|
301
|
+
control.pauseDepth -= 1;
|
|
302
|
+
if (pauseDepthOf(control) === 0) {
|
|
259
303
|
sceneStore.temporal.getState().resume();
|
|
260
304
|
}
|
|
261
305
|
}
|
|
262
306
|
export function acquireSceneHistoryPause(sceneStore) {
|
|
263
|
-
|
|
307
|
+
const control = of(sceneStore);
|
|
308
|
+
if (pauseDepthOf(control) === 0) {
|
|
264
309
|
sceneStore.temporal.getState().pause();
|
|
265
310
|
}
|
|
266
311
|
const lease = Symbol('scene-history-pause');
|
|
267
|
-
|
|
312
|
+
control.pauseLeases.add(lease);
|
|
268
313
|
let released = false;
|
|
269
314
|
return () => {
|
|
270
315
|
if (released)
|
|
271
316
|
return;
|
|
272
317
|
released = true;
|
|
273
|
-
|
|
274
|
-
if (
|
|
318
|
+
control.pauseLeases.delete(lease);
|
|
319
|
+
if (pauseDepthOf(control) === 0) {
|
|
275
320
|
sceneStore.temporal.getState().resume();
|
|
276
321
|
}
|
|
277
322
|
};
|
|
278
323
|
}
|
|
279
|
-
const gesturePauseHolders = new Map();
|
|
280
|
-
const livePauseHolders = new Set();
|
|
281
324
|
/** Lifts `holders`' pauses for `write`, then takes back those that have not ended. */
|
|
282
325
|
function runWithHoldersLifted(sceneStore, holders, write) {
|
|
283
326
|
const lifted = [...holders].filter((holder) => holder.release);
|
|
@@ -308,20 +351,22 @@ function runWithHoldersLifted(sceneStore, holders, write) {
|
|
|
308
351
|
*/
|
|
309
352
|
export function beginSceneHistoryPauseSession(sceneStore, options = {}) {
|
|
310
353
|
const { gesture } = options;
|
|
354
|
+
const environment = sceneEnvironmentOf(sceneStore);
|
|
355
|
+
const control = controlOf(environment);
|
|
311
356
|
const holder = {
|
|
312
357
|
release: acquireSceneHistoryPause(sceneStore),
|
|
313
358
|
ended: false,
|
|
314
359
|
};
|
|
315
|
-
livePauseHolders.add(holder);
|
|
360
|
+
control.livePauseHolders.add(holder);
|
|
316
361
|
let coOwners = new Set([holder]);
|
|
317
362
|
if (gesture) {
|
|
318
|
-
coOwners = gesturePauseHolders.get(gesture) ?? new Set();
|
|
363
|
+
coOwners = control.gesturePauseHolders.get(gesture) ?? new Set();
|
|
319
364
|
coOwners.add(holder);
|
|
320
|
-
gesturePauseHolders.set(gesture, coOwners);
|
|
365
|
+
control.gesturePauseHolders.set(gesture, coOwners);
|
|
321
366
|
}
|
|
322
367
|
return {
|
|
323
368
|
commitStep(write) {
|
|
324
|
-
return runWithHoldersLifted(sceneStore, coOwners, () => withSceneHistoryDraftSuspended(gesture, write));
|
|
369
|
+
return environment.run(() => runWithHoldersLifted(sceneStore, coOwners, () => withSceneHistoryDraftSuspended(gesture, write)));
|
|
325
370
|
},
|
|
326
371
|
end() {
|
|
327
372
|
if (holder.ended)
|
|
@@ -329,24 +374,26 @@ export function beginSceneHistoryPauseSession(sceneStore, options = {}) {
|
|
|
329
374
|
holder.ended = true;
|
|
330
375
|
holder.release?.();
|
|
331
376
|
holder.release = null;
|
|
332
|
-
livePauseHolders.delete(holder);
|
|
377
|
+
control.livePauseHolders.delete(holder);
|
|
333
378
|
coOwners.delete(holder);
|
|
334
379
|
if (gesture && coOwners.size === 0)
|
|
335
|
-
gesturePauseHolders.delete(gesture);
|
|
380
|
+
control.gesturePauseHolders.delete(gesture);
|
|
336
381
|
},
|
|
337
382
|
};
|
|
338
383
|
}
|
|
339
|
-
|
|
340
|
-
|
|
384
|
+
/** Pauses held on `sceneStore`'s history, or on the current environment's store's. */
|
|
385
|
+
export function getSceneHistoryPauseDepth(sceneStore) {
|
|
386
|
+
return pauseDepthOf(sceneStore ? of(sceneStore) : current());
|
|
341
387
|
}
|
|
342
|
-
export function resetSceneHistoryPauseDepth() {
|
|
343
|
-
|
|
344
|
-
|
|
388
|
+
export function resetSceneHistoryPauseDepth(sceneStore) {
|
|
389
|
+
const control = sceneStore ? of(sceneStore) : current();
|
|
390
|
+
control.pauseDepth = 0;
|
|
391
|
+
control.pauseLeases.clear();
|
|
345
392
|
// Open sessions no longer hold anything; a later commitStep must not re-take their pause.
|
|
346
|
-
for (const holder of livePauseHolders)
|
|
393
|
+
for (const holder of control.livePauseHolders)
|
|
347
394
|
holder.release = null;
|
|
348
|
-
livePauseHolders.clear();
|
|
349
|
-
gesturePauseHolders.clear();
|
|
395
|
+
control.livePauseHolders.clear();
|
|
396
|
+
control.gesturePauseHolders.clear();
|
|
350
397
|
}
|
|
351
398
|
function retainedPastStateCount(before, after) {
|
|
352
399
|
for (let start = 0; start < before.length; start += 1) {
|
|
@@ -366,14 +413,16 @@ function retainedPastStateCount(before, after) {
|
|
|
366
413
|
return 0;
|
|
367
414
|
}
|
|
368
415
|
export function runAsSingleSceneHistoryStep(sceneStore, run) {
|
|
416
|
+
const environment = sceneEnvironmentOf(sceneStore);
|
|
417
|
+
const control = controlOf(environment);
|
|
369
418
|
const beforePastStates = sceneStore.temporal.getState().pastStates;
|
|
370
|
-
|
|
419
|
+
control.commitTransactionDepth += 1;
|
|
371
420
|
try {
|
|
372
|
-
const result = run();
|
|
421
|
+
const result = environment.run(run);
|
|
373
422
|
const afterPastStates = sceneStore.temporal.getState().pastStates;
|
|
374
423
|
const retainedCount = retainedPastStateCount(beforePastStates, afterPastStates);
|
|
375
424
|
const addedCount = afterPastStates.length - retainedCount;
|
|
376
|
-
if (addedCount > 0 && pendingSceneCommitIsNoOp()) {
|
|
425
|
+
if (addedCount > 0 && pendingSceneCommitIsNoOp(control)) {
|
|
377
426
|
sceneStore.temporal.setState({ pastStates: afterPastStates.slice(0, retainedCount) });
|
|
378
427
|
}
|
|
379
428
|
else if (addedCount > 1) {
|
|
@@ -387,6 +436,6 @@ export function runAsSingleSceneHistoryStep(sceneStore, run) {
|
|
|
387
436
|
return result;
|
|
388
437
|
}
|
|
389
438
|
finally {
|
|
390
|
-
endSceneCommitTransaction();
|
|
439
|
+
endSceneCommitTransaction(control);
|
|
391
440
|
}
|
|
392
441
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-drafts.d.ts","sourceRoot":"","sources":["../../src/store/history-drafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"history-drafts.d.ts","sourceRoot":"","sources":["../../src/store/history-drafts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAqDzD,KAAK,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;AAWzC;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,SAAS,EACb,QAAQ,EAAE,OAAO,GAAG,IAAI,EACxB,KAAK,EAAE,OAAO,GACb,MAAM,IAAI,CAoBZ;AAkBD;;;GAGG;AACH,wBAAgB,8BAA8B,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,CAAC,CAW3F;AA4BD,wBAAgB,qBAAqB,IAAI,OAAO,CAE/C;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAwChF;AAiCD;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,OAAO,EACd,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GACvB,KAAK,CAAC;IAAE,EAAE,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,CAAC,CAsBzD;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,IAAI,CAOvE;AAED,wBAAgB,uBAAuB,IAAI,IAAI,CAE9C;AAED,6FAA6F;AAC7F,wBAAgB,2BAA2B,IAAI,SAAS,EAAE,CAIzD;AAiDD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAmC1F;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,OAAO,GAAG,IAAI,CAwFlF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { currentSceneEnvironment } from './scene-environment.js';
|
|
1
2
|
/** Structural equality for node field values (plain data: arrays, objects, primitives). */
|
|
2
3
|
function sameValue(a, b) {
|
|
3
4
|
if (a === b)
|
|
@@ -12,7 +13,9 @@ function sameValue(a, b) {
|
|
|
12
13
|
return false;
|
|
13
14
|
return aKeys.every((key) => sameValue(a[key], b[key]));
|
|
14
15
|
}
|
|
15
|
-
const
|
|
16
|
+
const HISTORY_DRAFTS = Symbol('scene-history-drafts');
|
|
17
|
+
/** The carried drafts of the current environment's store (scene-environment.ts). */
|
|
18
|
+
const sceneHistoryDrafts = () => currentSceneEnvironment().slot(HISTORY_DRAFTS, () => new Map());
|
|
16
19
|
const faceHostFields = ['roofSegmentId', 'roofFace', 'blockFaceId'];
|
|
17
20
|
const childIdsOf = (node) => node && 'children' in node && Array.isArray(node.children) ? node.children : [];
|
|
18
21
|
const attachmentsOf = (node) => node && 'attachments' in node && node.attachments && typeof node.attachments === 'object'
|
|
@@ -23,10 +26,11 @@ const attachmentsOf = (node) => node && 'attachments' in node && node.attachment
|
|
|
23
26
|
* already carried (split view) shares its registration, which ends with its last holder.
|
|
24
27
|
*/
|
|
25
28
|
export function beginSceneHistoryDraft(id, original, nodes) {
|
|
26
|
-
const
|
|
29
|
+
const drafts = sceneHistoryDrafts();
|
|
30
|
+
const existing = drafts.get(id);
|
|
27
31
|
if (existing && !existing.ended) {
|
|
28
32
|
existing.refs += 1;
|
|
29
|
-
return releaseOnce(id, existing);
|
|
33
|
+
return releaseOnce(drafts, id, existing);
|
|
30
34
|
}
|
|
31
35
|
const parent = original?.parentId ? nodes[original.parentId] : undefined;
|
|
32
36
|
const draft = {
|
|
@@ -39,10 +43,10 @@ export function beginSceneHistoryDraft(id, original, nodes) {
|
|
|
39
43
|
ended: false,
|
|
40
44
|
suspended: false,
|
|
41
45
|
};
|
|
42
|
-
|
|
43
|
-
return releaseOnce(id, draft);
|
|
46
|
+
drafts.set(id, draft);
|
|
47
|
+
return releaseOnce(drafts, id, draft);
|
|
44
48
|
}
|
|
45
|
-
function releaseOnce(id, draft) {
|
|
49
|
+
function releaseOnce(drafts, id, draft) {
|
|
46
50
|
let released = false;
|
|
47
51
|
return () => {
|
|
48
52
|
if (released)
|
|
@@ -52,8 +56,8 @@ function releaseOnce(id, draft) {
|
|
|
52
56
|
if (draft.refs > 0)
|
|
53
57
|
return;
|
|
54
58
|
draft.ended = true;
|
|
55
|
-
if (
|
|
56
|
-
|
|
59
|
+
if (drafts.get(id) === draft)
|
|
60
|
+
drafts.delete(id);
|
|
57
61
|
};
|
|
58
62
|
}
|
|
59
63
|
/**
|
|
@@ -61,7 +65,7 @@ function releaseOnce(id, draft) {
|
|
|
61
65
|
* gesture drops it (the 3D mover or the 2D move overlay) records the change.
|
|
62
66
|
*/
|
|
63
67
|
export function withSceneHistoryDraftSuspended(id, write) {
|
|
64
|
-
const draft = id ? sceneHistoryDrafts.get(id) : undefined;
|
|
68
|
+
const draft = id ? sceneHistoryDrafts().get(id) : undefined;
|
|
65
69
|
if (!(id && draft))
|
|
66
70
|
return write();
|
|
67
71
|
// Visible to history for this write, but still the carry's: its own restore can revert it.
|
|
@@ -92,7 +96,7 @@ function heldHostEntries(draft, id, nodes) {
|
|
|
92
96
|
return [...draft.hostEntries].filter(([hostId, entry]) => nodes[hostId] && sameValue(hostEntry(nodes, hostId, id), entry.carried));
|
|
93
97
|
}
|
|
94
98
|
export function hasSceneHistoryDrafts() {
|
|
95
|
-
return sceneHistoryDrafts.size > 0;
|
|
99
|
+
return sceneHistoryDrafts().size > 0;
|
|
96
100
|
}
|
|
97
101
|
/**
|
|
98
102
|
* Records a carry's own write: each field it changed on an adopted draft is held with the value
|
|
@@ -100,7 +104,7 @@ export function hasSceneHistoryDrafts() {
|
|
|
100
104
|
* the carry wrote. A write back to that earlier value ends the hold.
|
|
101
105
|
*/
|
|
102
106
|
export function noteSceneHistoryDraftWrite(before, after) {
|
|
103
|
-
for (const [id, draft] of sceneHistoryDrafts) {
|
|
107
|
+
for (const [id, draft] of sceneHistoryDrafts()) {
|
|
104
108
|
const previous = before[id];
|
|
105
109
|
const next = after[id];
|
|
106
110
|
if (!(draft.original && previous && next))
|
|
@@ -181,7 +185,7 @@ function heldFields(draft, live) {
|
|
|
181
185
|
export function sceneHistoryDraftRevertUpdates(nodes, ids) {
|
|
182
186
|
const updates = [];
|
|
183
187
|
for (const id of ids) {
|
|
184
|
-
const draft = sceneHistoryDrafts.get(id);
|
|
188
|
+
const draft = sceneHistoryDrafts().get(id);
|
|
185
189
|
const live = nodes[id];
|
|
186
190
|
if (!(draft?.original && live))
|
|
187
191
|
continue;
|
|
@@ -212,7 +216,7 @@ export function sceneHistoryDraftRevertUpdates(nodes, ids) {
|
|
|
212
216
|
*/
|
|
213
217
|
export function settleSceneHistoryDrafts(ids) {
|
|
214
218
|
for (const id of ids) {
|
|
215
|
-
const draft = sceneHistoryDrafts.get(id);
|
|
219
|
+
const draft = sceneHistoryDrafts().get(id);
|
|
216
220
|
if (!draft)
|
|
217
221
|
continue;
|
|
218
222
|
draft.owned.clear();
|
|
@@ -220,11 +224,11 @@ export function settleSceneHistoryDrafts(ids) {
|
|
|
220
224
|
}
|
|
221
225
|
}
|
|
222
226
|
export function clearSceneHistoryDrafts() {
|
|
223
|
-
sceneHistoryDrafts.clear();
|
|
227
|
+
sceneHistoryDrafts().clear();
|
|
224
228
|
}
|
|
225
229
|
/** Created drafts: history excludes them (and their subtrees) like fresh-placement nodes. */
|
|
226
230
|
export function createdSceneHistoryDraftIds() {
|
|
227
|
-
return [...sceneHistoryDrafts]
|
|
231
|
+
return [...sceneHistoryDrafts()]
|
|
228
232
|
.filter(([, draft]) => !(draft.original || draft.suspended))
|
|
229
233
|
.map(([id]) => id);
|
|
230
234
|
}
|
|
@@ -277,7 +281,7 @@ function placeChild(nodes, id, fromParentId, toParentId, index, attachment) {
|
|
|
277
281
|
*/
|
|
278
282
|
export function withAdoptedDraftsAsOriginal(nodes, historyNodes) {
|
|
279
283
|
let result = null;
|
|
280
|
-
for (const [id, draft] of sceneHistoryDrafts) {
|
|
284
|
+
for (const [id, draft] of sceneHistoryDrafts()) {
|
|
281
285
|
if (draft.suspended)
|
|
282
286
|
continue;
|
|
283
287
|
const live = nodes[id];
|
|
@@ -316,7 +320,7 @@ export function withAdoptedDraftsAsOriginal(nodes, historyNodes) {
|
|
|
316
320
|
*/
|
|
317
321
|
export function withDraftsRestored(before, after) {
|
|
318
322
|
let result = null;
|
|
319
|
-
for (const [id, draft] of sceneHistoryDrafts) {
|
|
323
|
+
for (const [id, draft] of sceneHistoryDrafts()) {
|
|
320
324
|
if (draft.suspended)
|
|
321
325
|
continue;
|
|
322
326
|
const live = before[id];
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Whether the editor's live previews (field overrides, drag transforms, an in-flight terrain
|
|
3
|
+
* stroke) are part of what is being read. They are not inside `withoutLivePreviews`: a detached
|
|
4
|
+
* scene, and the document reconciliation, compute from saved state only, since a preview is
|
|
5
|
+
* neither a dependency anyone can check nor a value that will necessarily be committed.
|
|
6
|
+
*/
|
|
7
|
+
export declare function livePreviewsVisible(): boolean;
|
|
8
|
+
export declare function withoutLivePreviews<T>(run: () => T): T;
|
|
9
|
+
//# sourceMappingURL=live-previews.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"live-previews.d.ts","sourceRoot":"","sources":["../../src/store/live-previews.ts"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH,wBAAgB,mBAAmB,IAAI,OAAO,CAE7C;AAED,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,CAOtD"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
let hidden = 0;
|
|
2
|
+
/**
|
|
3
|
+
* Whether the editor's live previews (field overrides, drag transforms, an in-flight terrain
|
|
4
|
+
* stroke) are part of what is being read. They are not inside `withoutLivePreviews`: a detached
|
|
5
|
+
* scene, and the document reconciliation, compute from saved state only, since a preview is
|
|
6
|
+
* neither a dependency anyone can check nor a value that will necessarily be committed.
|
|
7
|
+
*/
|
|
8
|
+
export function livePreviewsVisible() {
|
|
9
|
+
return hidden === 0;
|
|
10
|
+
}
|
|
11
|
+
export function withoutLivePreviews(run) {
|
|
12
|
+
hidden += 1;
|
|
13
|
+
try {
|
|
14
|
+
return run();
|
|
15
|
+
}
|
|
16
|
+
finally {
|
|
17
|
+
hidden -= 1;
|
|
18
|
+
}
|
|
19
|
+
}
|