@pascal-app/core 1.0.0-beta.5 → 1.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +23 -0
- package/dist/capture/index.d.ts +3 -0
- package/dist/capture/index.d.ts.map +1 -0
- package/dist/capture/index.js +2 -0
- package/dist/capture/schema.d.ts +417 -0
- package/dist/capture/schema.d.ts.map +1 -0
- package/dist/capture/schema.js +350 -0
- package/dist/capture/source.d.ts +60 -0
- package/dist/capture/source.d.ts.map +1 -0
- package/dist/capture/source.js +254 -0
- package/dist/events/bus.d.ts +58 -7
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/events/hidden-wall-pointer-hold.d.ts +28 -0
- package/dist/events/hidden-wall-pointer-hold.d.ts.map +1 -0
- package/dist/events/hidden-wall-pointer-hold.js +37 -0
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +4 -4
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.js +7 -12
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts +4 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts.map +1 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.js +7 -0
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +5 -8
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +23 -106
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +2931 -2
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +207 -30
- package/dist/hooks/spatial-grid/support-host-patch.d.ts +45 -1
- package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +174 -9
- package/dist/hooks/spatial-grid/use-spatial-query.d.ts +1 -1
- package/dist/hooks/spatial-grid/use-spatial-query.js +1 -1
- package/dist/index.d.ts +74 -64
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -61
- package/dist/lib/asset-storage.d.ts.map +1 -1
- package/dist/lib/asset-storage.js +4 -1
- package/dist/lib/door-operation.d.ts +1 -1
- package/dist/lib/item-polygon-overlap.d.ts +6 -0
- package/dist/lib/item-polygon-overlap.d.ts.map +1 -0
- package/dist/lib/item-polygon-overlap.js +67 -0
- package/dist/lib/level-name.d.ts +1 -1
- package/dist/lib/measurement-geometry.d.ts +4 -4
- package/dist/lib/plan-footprint.d.ts +41 -0
- package/dist/lib/plan-footprint.d.ts.map +1 -0
- package/dist/lib/plan-footprint.js +58 -0
- package/dist/lib/polygon-union.d.ts +4 -0
- package/dist/lib/polygon-union.d.ts.map +1 -0
- package/dist/lib/polygon-union.js +306 -0
- package/dist/lib/roof-overlap.d.ts +32 -0
- package/dist/lib/roof-overlap.d.ts.map +1 -0
- package/dist/lib/roof-overlap.js +72 -0
- package/dist/lib/room-topology-index.d.ts +1 -1
- package/dist/lib/room-topology-index.js +1 -1
- package/dist/lib/selection-proxy.d.ts +1 -1
- package/dist/lib/slab-polygon.d.ts +36 -3
- package/dist/lib/slab-polygon.d.ts.map +1 -1
- package/dist/lib/slab-polygon.js +135 -29
- package/dist/lib/space-detection.d.ts +12 -1
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +58 -25
- package/dist/lib/terrain-brush.d.ts +1 -1
- package/dist/lib/terrain-brush.js +1 -1
- package/dist/lib/terrain-codec.d.ts +2 -2
- package/dist/lib/terrain-codec.js +1 -1
- package/dist/lib/terrain-raycast.d.ts +1 -1
- package/dist/lib/terrain-raycast.js +1 -1
- package/dist/lib/terrain-source.d.ts +3 -3
- package/dist/lib/terrain-source.js +3 -3
- package/dist/lib/terrain-support.d.ts +1 -1
- package/dist/lib/terrain-support.js +3 -3
- package/dist/lib/unit-containment.d.ts +19 -0
- package/dist/lib/unit-containment.d.ts.map +1 -0
- package/dist/lib/unit-containment.js +158 -0
- package/dist/lib/unit-report.d.ts +19 -0
- package/dist/lib/unit-report.d.ts.map +1 -0
- package/dist/lib/unit-report.js +36 -0
- package/dist/lib/wall-distance.d.ts +2 -2
- package/dist/lib/wall-distance.js +1 -1
- package/dist/lib/zone-quantities.d.ts +1 -1
- package/dist/lib/zone-quantities.js +7 -7
- package/dist/material-library.d.ts +1 -1
- package/dist/material-library.js +1 -1
- package/dist/procedural-items/fixtures.d.ts +261 -0
- package/dist/procedural-items/fixtures.d.ts.map +1 -0
- package/dist/procedural-items/fixtures.js +349 -0
- package/dist/procedural-items/index.d.ts +10 -0
- package/dist/procedural-items/index.d.ts.map +1 -0
- package/dist/procedural-items/index.js +9 -0
- package/dist/procedural-items/integration.d.ts +92 -0
- package/dist/procedural-items/integration.d.ts.map +1 -0
- package/dist/procedural-items/integration.js +19 -0
- package/dist/procedural-items/library-colors.d.ts +56 -0
- package/dist/procedural-items/library-colors.d.ts.map +1 -0
- package/dist/procedural-items/library-colors.js +84 -0
- package/dist/procedural-items/materials.d.ts +5 -0
- package/dist/procedural-items/materials.d.ts.map +1 -0
- package/dist/procedural-items/materials.js +47 -0
- package/dist/procedural-items/node.d.ts +280 -0
- package/dist/procedural-items/node.d.ts.map +1 -0
- package/dist/procedural-items/node.js +71 -0
- package/dist/procedural-items/placement.d.ts +7 -0
- package/dist/procedural-items/placement.d.ts.map +1 -0
- package/dist/procedural-items/placement.js +48 -0
- package/dist/procedural-items/query.d.ts +50 -0
- package/dist/procedural-items/query.d.ts.map +1 -0
- package/dist/procedural-items/query.js +298 -0
- package/dist/procedural-items/recipe.d.ts +144 -0
- package/dist/procedural-items/recipe.d.ts.map +1 -0
- package/dist/procedural-items/recipe.js +372 -0
- package/dist/procedural-items/spatial.d.ts +19 -0
- package/dist/procedural-items/spatial.d.ts.map +1 -0
- package/dist/procedural-items/spatial.js +39 -0
- package/dist/registry/__bench__/relations-resolver.bench.js +2 -2
- package/dist/registry/handles.d.ts +36 -7
- package/dist/registry/handles.d.ts.map +1 -1
- package/dist/registry/index.d.ts +6 -7
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -5
- package/dist/registry/registry.d.ts +13 -6
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +37 -4
- package/dist/registry/relations-resolver.d.ts +2 -2
- package/dist/registry/relations-resolver.js +1 -1
- package/dist/registry/scene-api.d.ts +18 -2
- package/dist/registry/scene-api.d.ts.map +1 -1
- package/dist/registry/scene-api.js +50 -2
- package/dist/registry/subtree.d.ts +1 -1
- package/dist/registry/subtree.js +2 -2
- package/dist/registry/types.d.ts +246 -21
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/use-registry-version.js +1 -1
- package/dist/registry/validate-relations.d.ts +4 -0
- package/dist/registry/validate-relations.d.ts.map +1 -0
- package/dist/registry/validate-relations.js +22 -0
- package/dist/schema/__bench__/node-parsers.bench.d.ts +24 -0
- package/dist/schema/__bench__/node-parsers.bench.d.ts.map +1 -0
- package/dist/schema/__bench__/node-parsers.bench.js +314 -0
- package/dist/schema/__fixtures__/node-fixtures.d.ts +28 -0
- package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -0
- package/dist/schema/__fixtures__/node-fixtures.js +127 -0
- package/dist/schema/base.d.ts +1 -1
- package/dist/schema/base.d.ts.map +1 -1
- package/dist/schema/base.js +9 -2
- package/dist/schema/collections.d.ts +1 -1
- package/dist/schema/collections.js +1 -1
- package/dist/schema/compiled-node-parsers.d.ts +40 -0
- package/dist/schema/compiled-node-parsers.d.ts.map +1 -0
- package/dist/schema/compiled-node-parsers.js +95 -0
- package/dist/schema/index.d.ts +73 -66
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +65 -57
- package/dist/schema/material.d.ts +1 -0
- package/dist/schema/material.d.ts.map +1 -1
- package/dist/schema/material.js +2 -1
- package/dist/schema/nodes/automatic-downspout.d.ts +17 -0
- package/dist/schema/nodes/automatic-downspout.d.ts.map +1 -0
- package/dist/schema/nodes/automatic-downspout.js +237 -0
- package/dist/schema/nodes/block.d.ts +107 -0
- package/dist/schema/nodes/block.d.ts.map +1 -0
- package/dist/schema/nodes/block.js +206 -0
- package/dist/schema/nodes/box-vent.d.ts +8 -2
- package/dist/schema/nodes/box-vent.d.ts.map +1 -1
- package/dist/schema/nodes/box-vent.js +4 -2
- package/dist/schema/nodes/building.d.ts +2 -2
- package/dist/schema/nodes/building.d.ts.map +1 -1
- package/dist/schema/nodes/building.js +8 -5
- package/dist/schema/nodes/cabinet.d.ts +26 -4
- package/dist/schema/nodes/cabinet.d.ts.map +1 -1
- package/dist/schema/nodes/cabinet.js +29 -8
- package/dist/schema/nodes/ceiling.d.ts +2 -2
- package/dist/schema/nodes/ceiling.js +5 -5
- package/dist/schema/nodes/chimney.d.ts +2 -2
- package/dist/schema/nodes/chimney.js +2 -2
- package/dist/schema/nodes/column.d.ts +7 -6
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +3 -2
- package/dist/schema/nodes/construction-dimension.d.ts +1 -1
- package/dist/schema/nodes/construction-dimension.js +2 -2
- package/dist/schema/nodes/cupola.d.ts +9 -1
- package/dist/schema/nodes/cupola.d.ts.map +1 -1
- package/dist/schema/nodes/cupola.js +4 -2
- package/dist/schema/nodes/door.d.ts +1 -1
- package/dist/schema/nodes/door.js +2 -2
- package/dist/schema/nodes/dormer.d.ts +45 -2
- package/dist/schema/nodes/dormer.d.ts.map +1 -1
- package/dist/schema/nodes/dormer.js +133 -9
- package/dist/schema/nodes/downspout.d.ts +11 -1
- package/dist/schema/nodes/downspout.d.ts.map +1 -1
- package/dist/schema/nodes/downspout.js +26 -2
- package/dist/schema/nodes/duct-fitting.d.ts +18 -1
- package/dist/schema/nodes/duct-fitting.d.ts.map +1 -1
- package/dist/schema/nodes/duct-fitting.js +26 -5
- package/dist/schema/nodes/duct-segment.d.ts +23 -1
- package/dist/schema/nodes/duct-segment.d.ts.map +1 -1
- package/dist/schema/nodes/duct-segment.js +21 -1
- package/dist/schema/nodes/duct-terminal.d.ts +1 -1
- package/dist/schema/nodes/duct-terminal.js +1 -1
- package/dist/schema/nodes/elevator.d.ts +1 -1
- package/dist/schema/nodes/elevator.js +2 -2
- package/dist/schema/nodes/eyebrow-vent.d.ts +8 -2
- package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
- package/dist/schema/nodes/eyebrow-vent.js +4 -2
- package/dist/schema/nodes/fence.d.ts +1 -1
- package/dist/schema/nodes/fence.js +2 -2
- package/dist/schema/nodes/guide.d.ts +1 -1
- package/dist/schema/nodes/guide.js +2 -2
- package/dist/schema/nodes/gutter.d.ts +36 -2
- package/dist/schema/nodes/gutter.d.ts.map +1 -1
- package/dist/schema/nodes/gutter.js +310 -3
- package/dist/schema/nodes/hanger-overrides.d.ts +7 -0
- package/dist/schema/nodes/hanger-overrides.d.ts.map +1 -0
- package/dist/schema/nodes/hanger-overrides.js +6 -0
- package/dist/schema/nodes/hvac-equipment.d.ts +1 -1
- package/dist/schema/nodes/hvac-equipment.js +1 -1
- package/dist/schema/nodes/imported-mesh.d.ts +40 -0
- package/dist/schema/nodes/imported-mesh.d.ts.map +1 -0
- package/dist/schema/nodes/imported-mesh.js +27 -0
- package/dist/schema/nodes/item.d.ts +3 -2
- package/dist/schema/nodes/item.d.ts.map +1 -1
- package/dist/schema/nodes/item.js +8 -3
- package/dist/schema/nodes/lean-to-extension.d.ts +212 -0
- package/dist/schema/nodes/lean-to-extension.d.ts.map +1 -0
- package/dist/schema/nodes/lean-to-extension.js +114 -0
- package/dist/schema/nodes/level.d.ts +2 -2
- package/dist/schema/nodes/level.d.ts.map +1 -1
- package/dist/schema/nodes/level.js +1 -1
- package/dist/schema/nodes/lineset.d.ts +1 -1
- package/dist/schema/nodes/lineset.js +1 -1
- package/dist/schema/nodes/liquid-line.d.ts +1 -1
- package/dist/schema/nodes/liquid-line.js +1 -1
- package/dist/schema/nodes/measurement.d.ts +1 -1
- package/dist/schema/nodes/measurement.js +2 -2
- package/dist/schema/nodes/pipe-fitting.d.ts +10 -2
- package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -1
- package/dist/schema/nodes/pipe-fitting.js +7 -3
- package/dist/schema/nodes/pipe-segment.d.ts +24 -2
- package/dist/schema/nodes/pipe-segment.d.ts.map +1 -1
- package/dist/schema/nodes/pipe-segment.js +21 -1
- package/dist/schema/nodes/pipe-trap.d.ts +2 -2
- package/dist/schema/nodes/pipe-trap.js +1 -1
- package/dist/schema/nodes/ridge-vent.d.ts +2 -2
- package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
- package/dist/schema/nodes/ridge-vent.js +7 -4
- package/dist/schema/nodes/roof-segment-shape.d.ts +5 -1
- package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-shape.js +65 -2
- package/dist/schema/nodes/roof-segment-walls.d.ts +4 -2
- package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment-walls.js +2 -2
- package/dist/schema/nodes/roof-segment.d.ts +42 -2
- package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.js +81 -4
- package/dist/schema/nodes/roof.d.ts +23 -2
- package/dist/schema/nodes/roof.d.ts.map +1 -1
- package/dist/schema/nodes/roof.js +17 -3
- package/dist/schema/nodes/scan.d.ts +19 -2
- package/dist/schema/nodes/scan.d.ts.map +1 -1
- package/dist/schema/nodes/scan.js +13 -3
- package/dist/schema/nodes/shelf.d.ts +3 -3
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/shelf.js +3 -4
- package/dist/schema/nodes/site.d.ts +1 -1
- package/dist/schema/nodes/site.js +2 -2
- package/dist/schema/nodes/skylight.d.ts +5 -5
- package/dist/schema/nodes/skylight.js +2 -2
- package/dist/schema/nodes/slab.d.ts +1 -1
- package/dist/schema/nodes/slab.js +3 -3
- package/dist/schema/nodes/solar-panel.d.ts +1 -1
- package/dist/schema/nodes/solar-panel.js +3 -3
- package/dist/schema/nodes/spawn.d.ts +1 -1
- package/dist/schema/nodes/spawn.js +1 -1
- package/dist/schema/nodes/stair-segment.d.ts +1 -1
- package/dist/schema/nodes/stair-segment.js +2 -2
- package/dist/schema/nodes/stair.d.ts +2 -2
- package/dist/schema/nodes/stair.js +3 -3
- package/dist/schema/nodes/structural-grid.d.ts +1 -1
- package/dist/schema/nodes/structural-grid.js +1 -1
- package/dist/schema/nodes/turbine-vent.d.ts +8 -2
- package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
- package/dist/schema/nodes/turbine-vent.js +4 -2
- package/dist/schema/nodes/unit.d.ts +33 -0
- package/dist/schema/nodes/unit.d.ts.map +1 -0
- package/dist/schema/nodes/unit.js +13 -0
- package/dist/schema/nodes/wall.d.ts +5 -5
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +13 -6
- package/dist/schema/nodes/window.d.ts +10 -3
- package/dist/schema/nodes/window.d.ts.map +1 -1
- package/dist/schema/nodes/window.js +6 -2
- package/dist/schema/nodes/zone.d.ts +2 -2
- package/dist/schema/nodes/zone.js +2 -2
- package/dist/schema/scene-material.js +2 -2
- package/dist/schema/types.d.ts +815 -118
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +79 -46
- package/dist/services/alignment-anchors.d.ts +6 -11
- package/dist/services/alignment-anchors.d.ts.map +1 -1
- package/dist/services/alignment-anchors.js +7 -34
- package/dist/services/drag-session.d.ts +4 -4
- package/dist/services/drag-session.js +1 -1
- package/dist/services/hosting.d.ts +4 -10
- package/dist/services/hosting.d.ts.map +1 -1
- package/dist/services/hosting.js +6 -16
- package/dist/services/index.d.ts +16 -13
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +16 -13
- package/dist/services/level-height.d.ts +2 -2
- package/dist/services/level-height.js +3 -3
- package/dist/services/movement.d.ts +3 -3
- package/dist/services/movement.js +2 -2
- package/dist/services/port-connectivity.d.ts +1 -1
- package/dist/services/port-connectivity.js +1 -1
- package/dist/services/riser-diagram.d.ts +1 -1
- package/dist/services/shelf-board.d.ts +5 -0
- package/dist/services/shelf-board.d.ts.map +1 -0
- package/dist/services/shelf-board.js +15 -0
- package/dist/services/storey.d.ts +2 -2
- package/dist/services/storey.js +2 -2
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +13 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.js +4691 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +1060 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.js +3127 -0
- package/dist/services/surface-hosting.d.ts +88 -0
- package/dist/services/surface-hosting.d.ts.map +1 -0
- package/dist/services/surface-hosting.js +268 -0
- package/dist/services/surface-region.d.ts +8 -0
- package/dist/services/surface-region.d.ts.map +1 -0
- package/dist/services/surface-region.js +44 -0
- package/dist/services/system-graph.d.ts +12 -1
- package/dist/services/system-graph.d.ts.map +1 -1
- package/dist/services/system-graph.js +36 -6
- package/dist/services/validate-dwv.d.ts +1 -1
- package/dist/services/validate-dwv.js +1 -1
- package/dist/store/actions/node-actions.d.ts +9 -2
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +475 -24
- package/dist/store/history-control.d.ts +3 -3
- package/dist/store/history-invalidation.d.ts +3 -0
- package/dist/store/history-invalidation.d.ts.map +1 -0
- package/dist/store/history-invalidation.js +72 -0
- package/dist/store/scene-hydration.d.ts +5 -0
- package/dist/store/scene-hydration.d.ts.map +1 -0
- package/dist/store/scene-hydration.js +57 -0
- package/dist/store/use-interactive.d.ts +2 -2
- package/dist/store/use-live-terrain.d.ts +1 -1
- package/dist/store/use-scene.d.ts +7 -4
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +361 -87
- package/dist/systems/elevator/elevator-dispatch.d.ts +2 -2
- package/dist/systems/elevator/elevator-dispatch.js +1 -1
- package/dist/systems/elevator/elevator-geometry.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.js +2 -2
- package/dist/systems/elevator/elevator-opening-system.js +3 -3
- package/dist/systems/elevator/elevator-runtime.d.ts +3 -3
- package/dist/systems/elevator/elevator-runtime.js +3 -3
- package/dist/systems/elevator/elevator-service.d.ts +1 -1
- package/dist/systems/elevator/elevator-service.js +1 -1
- package/dist/systems/fence/fence-centerline.d.ts +2 -2
- package/dist/systems/fence/fence-centerline.js +2 -2
- package/dist/systems/fence/fence-spline.d.ts +2 -2
- package/dist/systems/roof/roof-elevation-system.d.ts +3 -0
- package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -0
- package/dist/systems/roof/roof-elevation-system.js +94 -0
- package/dist/systems/roof/roof-elevation.d.ts +4 -0
- package/dist/systems/roof/roof-elevation.d.ts.map +1 -0
- package/dist/systems/roof/roof-elevation.js +95 -0
- package/dist/systems/roof/roof-footprint.d.ts +17 -0
- package/dist/systems/roof/roof-footprint.d.ts.map +1 -0
- package/dist/systems/roof/roof-footprint.js +83 -0
- package/dist/systems/slab/slab-placement.d.ts +1 -1
- package/dist/systems/slab/slab-support.d.ts +1 -1
- package/dist/systems/slab/slab-support.js +4 -4
- package/dist/systems/stair/stair-flight.d.ts +17 -0
- package/dist/systems/stair/stair-flight.d.ts.map +1 -0
- package/dist/systems/stair/stair-flight.js +27 -0
- package/dist/systems/stair/stair-footprint.d.ts +1 -1
- package/dist/systems/stair/stair-opening-preview.d.ts +1621 -1267
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-preview.js +2 -2
- package/dist/systems/stair/stair-opening-sync.d.ts +1 -1
- package/dist/systems/stair/stair-opening-sync.js +6 -6
- package/dist/systems/stair/stair-opening-system.d.ts +1 -0
- package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-system.js +100 -103
- package/dist/systems/stair/stair-rise.d.ts +1 -1
- package/dist/systems/stair/stair-rise.d.ts.map +1 -1
- package/dist/systems/stair/stair-rise.js +23 -24
- package/dist/systems/wall/wall-curve.d.ts +3 -2
- package/dist/systems/wall/wall-curve.d.ts.map +1 -1
- package/dist/systems/wall/wall-curve.js +73 -0
- package/dist/systems/wall/wall-footprint.d.ts +3 -2
- package/dist/systems/wall/wall-footprint.d.ts.map +1 -1
- package/dist/systems/wall/wall-footprint.js +3 -2
- package/dist/systems/wall/wall-mitering.d.ts +1 -1
- package/dist/systems/wall/wall-mitering.js +1 -1
- package/dist/systems/wall/wall-move.d.ts +1 -1
- package/dist/systems/wall/wall-top.d.ts +1 -1
- package/dist/systems/wall/wall-topology.d.ts +2 -2
- package/dist/systems/wall/wall-topology.js +4 -4
- package/dist/utils/clone-scene-graph.d.ts +3 -3
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +35 -3
- package/dist/utils/scene-migrations.d.ts +3 -3
- package/dist/utils/scene-migrations.js +3 -3
- package/dist/utils/vertical-scene-migration.js +5 -5
- package/dist/validation/validate-build-json.d.ts +7 -1
- package/dist/validation/validate-build-json.d.ts.map +1 -1
- package/dist/validation/validate-build-json.js +92 -4
- package/package.json +23 -5
- package/dist/systems/elevator/elevator-runtime-system.d.ts +0 -2
- package/dist/systems/elevator/elevator-runtime-system.d.ts.map +0 -1
- package/dist/systems/elevator/elevator-runtime-system.js +0 -8
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { RoofSegmentNode } from './roof-segment';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { RoofSegmentNode } from './roof-segment.js';
|
|
6
|
+
export const RoofSupport = z
|
|
7
|
+
.discriminatedUnion('kind', [
|
|
8
|
+
z.object({ kind: z.literal('level') }),
|
|
9
|
+
z.object({ kind: z.literal('walls') }),
|
|
10
|
+
z.object({
|
|
11
|
+
kind: z.literal('roof'),
|
|
12
|
+
roofSegmentId: RoofSegmentNode.shape.id,
|
|
13
|
+
localPosition: z.tuple([z.number(), z.number()]),
|
|
14
|
+
curbHeight: z.number().min(0).default(0.5),
|
|
15
|
+
}),
|
|
16
|
+
])
|
|
17
|
+
.default({ kind: 'level' });
|
|
6
18
|
export const RoofNode = BaseNode.extend({
|
|
7
19
|
id: objectId('roof'),
|
|
8
20
|
type: nodeType('roof'),
|
|
@@ -17,6 +29,7 @@ export const RoofNode = BaseNode.extend({
|
|
|
17
29
|
position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
18
30
|
// Rotation around Y axis in radians
|
|
19
31
|
rotation: z.number().default(0),
|
|
32
|
+
support: RoofSupport,
|
|
20
33
|
// Child roof segment IDs
|
|
21
34
|
children: z.array(RoofSegmentNode.shape.id).default([]),
|
|
22
35
|
}).describe(dedent `
|
|
@@ -25,6 +38,7 @@ export const RoofNode = BaseNode.extend({
|
|
|
25
38
|
When not being edited, segments are visually combined into a single solid.
|
|
26
39
|
- position: center position of the roof group
|
|
27
40
|
- rotation: rotation around Y axis
|
|
41
|
+
- support: custom level placement, spatial wall-top following, or a roof-surface attachment
|
|
28
42
|
- children: array of RoofSegmentNode IDs
|
|
29
43
|
`);
|
|
30
44
|
function getLegacyRoofSurfaceMaterial(node) {
|
|
@@ -1,4 +1,11 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const CaptureSessionReference: z.ZodObject<{
|
|
3
|
+
sessionId: z.ZodString;
|
|
4
|
+
schemaVersion: z.ZodOptional<z.ZodNumber>;
|
|
5
|
+
revisionId: z.ZodOptional<z.ZodString>;
|
|
6
|
+
manifestUrl: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, z.core.$strip>;
|
|
8
|
+
export declare const ScanLayerVisibility: z.ZodPipe<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>, z.ZodTransform<Record<string, boolean>, Record<string, boolean>>>;
|
|
2
9
|
export declare const ScanNode: z.ZodObject<{
|
|
3
10
|
object: z.ZodDefault<z.ZodLiteral<"node">>;
|
|
4
11
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -14,14 +21,24 @@ export declare const ScanNode: z.ZodObject<{
|
|
|
14
21
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
15
22
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
16
23
|
}, z.core.$strip>>;
|
|
17
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
24
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
25
|
id: z.ZodDefault<z.ZodTemplateLiteral<`scan_${string}`>>;
|
|
19
26
|
type: z.ZodDefault<z.ZodLiteral<"scan">>;
|
|
20
|
-
url: z.ZodString
|
|
27
|
+
url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
28
|
+
captureSession: z.ZodDefault<z.ZodNullable<z.ZodObject<{
|
|
29
|
+
sessionId: z.ZodString;
|
|
30
|
+
schemaVersion: z.ZodOptional<z.ZodNumber>;
|
|
31
|
+
revisionId: z.ZodOptional<z.ZodString>;
|
|
32
|
+
manifestUrl: z.ZodOptional<z.ZodString>;
|
|
33
|
+
}, z.core.$strip>>>;
|
|
34
|
+
layers: z.ZodPipe<z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodBoolean>>, z.ZodTransform<Record<string, boolean>, Record<string, boolean>>>;
|
|
21
35
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
22
36
|
rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
23
37
|
scale: z.ZodDefault<z.ZodNumber>;
|
|
24
38
|
opacity: z.ZodDefault<z.ZodNumber>;
|
|
25
39
|
}, z.core.$strip>;
|
|
40
|
+
export type CaptureSessionReference = z.infer<typeof CaptureSessionReference>;
|
|
41
|
+
export type CaptureSessionReferenceInput = z.input<typeof CaptureSessionReference>;
|
|
42
|
+
export type ScanLayerVisibility = z.infer<typeof ScanLayerVisibility>;
|
|
26
43
|
export type ScanNode = z.infer<typeof ScanNode>;
|
|
27
44
|
//# sourceMappingURL=scan.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"scan.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/scan.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,uBAAuB;;;;;iBAElC,CAAA;AAEF,eAAO,MAAM,mBAAmB,mIAGmE,CAAA;AAEnG,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAUnB,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAC7E,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAClF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA"}
|
|
@@ -1,10 +1,20 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { CaptureSessionLocatorSchema } from '../../capture/schema.js';
|
|
3
|
+
import { AssetUrl } from '../asset-url.js';
|
|
4
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
5
|
+
export const CaptureSessionReference = CaptureSessionLocatorSchema.extend({
|
|
6
|
+
manifestUrl: AssetUrl.optional(),
|
|
7
|
+
});
|
|
8
|
+
export const ScanLayerVisibility = z
|
|
9
|
+
.record(z.string().min(1), z.boolean())
|
|
10
|
+
.default({ deviceMotion: true, model: true })
|
|
11
|
+
.transform((layers) => ({ deviceMotion: true, model: true, ...layers }));
|
|
4
12
|
export const ScanNode = BaseNode.extend({
|
|
5
13
|
id: objectId('scan'),
|
|
6
14
|
type: nodeType('scan'),
|
|
7
|
-
url: AssetUrl,
|
|
15
|
+
url: AssetUrl.nullable().default(null),
|
|
16
|
+
captureSession: CaptureSessionReference.nullable().default(null),
|
|
17
|
+
layers: ScanLayerVisibility,
|
|
8
18
|
position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
9
19
|
rotation: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
10
20
|
scale: z.number().default(1),
|
|
@@ -41,10 +41,10 @@ export declare const ShelfNode: z.ZodObject<{
|
|
|
41
41
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
42
42
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
43
43
|
}, z.core.$strip>>;
|
|
44
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
44
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
45
45
|
id: z.ZodDefault<z.ZodTemplateLiteral<`shelf_${string}`>>;
|
|
46
46
|
type: z.ZodDefault<z.ZodLiteral<"shelf">>;
|
|
47
|
-
children: z.ZodDefault<z.ZodArray<z.
|
|
47
|
+
children: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
48
48
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
49
49
|
rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
50
50
|
supportSlabId: z.ZodOptional<z.ZodString>;
|
|
@@ -64,9 +64,9 @@ export declare const ShelfNode: z.ZodObject<{
|
|
|
64
64
|
withSides: z.ZodDefault<z.ZodBoolean>;
|
|
65
65
|
withBottom: z.ZodDefault<z.ZodBoolean>;
|
|
66
66
|
bracketStyle: z.ZodDefault<z.ZodEnum<{
|
|
67
|
+
hidden: "hidden";
|
|
67
68
|
minimal: "minimal";
|
|
68
69
|
industrial: "industrial";
|
|
69
|
-
hidden: "hidden";
|
|
70
70
|
}>>;
|
|
71
71
|
material: z.ZodOptional<z.ZodObject<{
|
|
72
72
|
id: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shelf.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/shelf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;
|
|
1
|
+
{"version":3,"file":"shelf.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/shelf.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiEpB,CAAA;AAEF,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
-
import { MaterialSchema } from '../material';
|
|
4
|
-
import { ItemNode } from './item';
|
|
2
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
3
|
+
import { MaterialSchema } from '../material.js';
|
|
5
4
|
/**
|
|
6
5
|
* Parametric shelf — a configurable furniture unit with one or more
|
|
7
6
|
* horizontal boards that host other items.
|
|
@@ -39,7 +38,7 @@ export const ShelfNode = BaseNode.extend({
|
|
|
39
38
|
// not be rendered, making the commit look like "the item went
|
|
40
39
|
// somewhere else"). The action's parent-update branch needs the field
|
|
41
40
|
// present at parse-time so the children array is always defined.
|
|
42
|
-
children: z.array(
|
|
41
|
+
children: z.array(z.string()).default([]),
|
|
43
42
|
position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
44
43
|
rotation: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
45
44
|
// Persisted slab-support host — see ItemNode.supportSlabId for the rules.
|
|
@@ -14,7 +14,7 @@ export declare const SiteNode: z.ZodObject<{
|
|
|
14
14
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
}, z.core.$strip>>;
|
|
17
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
17
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
18
|
id: z.ZodDefault<z.ZodTemplateLiteral<`site_${string}`>>;
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"site">>;
|
|
20
20
|
polygon: z.ZodDefault<z.ZodOptional<z.ZodObject<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
// lib/scenegraph/schema/nodes/site.ts
|
|
2
2
|
import dedent from 'dedent';
|
|
3
3
|
import { z } from 'zod';
|
|
4
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
5
|
-
import { TerrainData } from '../terrain';
|
|
4
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
5
|
+
import { TerrainData } from '../terrain.js';
|
|
6
6
|
// 2D Polygon
|
|
7
7
|
const PropertyLineData = z.object({
|
|
8
8
|
type: z.literal('polygon'),
|
|
@@ -14,15 +14,15 @@ export declare const SkylightType: z.ZodEnum<{
|
|
|
14
14
|
}>;
|
|
15
15
|
export type SkylightType = (typeof SKYLIGHT_TYPE_ORDER)[number];
|
|
16
16
|
export declare const SkylightOpeningSide: z.ZodEnum<{
|
|
17
|
+
top: "top";
|
|
17
18
|
right: "right";
|
|
18
19
|
left: "left";
|
|
19
|
-
top: "top";
|
|
20
20
|
bottom: "bottom";
|
|
21
21
|
}>;
|
|
22
22
|
export type SkylightOpeningSide = z.infer<typeof SkylightOpeningSide>;
|
|
23
23
|
export declare const SkylightSlideDirection: z.ZodEnum<{
|
|
24
|
-
z: "z";
|
|
25
24
|
x: "x";
|
|
25
|
+
z: "z";
|
|
26
26
|
}>;
|
|
27
27
|
export type SkylightSlideDirection = z.infer<typeof SkylightSlideDirection>;
|
|
28
28
|
export type SkylightTypePreset = {
|
|
@@ -168,7 +168,7 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
168
168
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
169
169
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
170
170
|
}, z.core.$strip>>;
|
|
171
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
171
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
172
172
|
id: z.ZodDefault<z.ZodTemplateLiteral<`skylight_${string}`>>;
|
|
173
173
|
type: z.ZodDefault<z.ZodLiteral<"skylight">>;
|
|
174
174
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -256,17 +256,17 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
256
256
|
lanternTopScale: z.ZodDefault<z.ZodNumber>;
|
|
257
257
|
openingAngle: z.ZodDefault<z.ZodNumber>;
|
|
258
258
|
openingSide: z.ZodDefault<z.ZodEnum<{
|
|
259
|
+
top: "top";
|
|
259
260
|
right: "right";
|
|
260
261
|
left: "left";
|
|
261
|
-
top: "top";
|
|
262
262
|
bottom: "bottom";
|
|
263
263
|
}>>;
|
|
264
264
|
operationState: z.ZodDefault<z.ZodNumber>;
|
|
265
265
|
motorHousing: z.ZodDefault<z.ZodBoolean>;
|
|
266
266
|
slideFraction: z.ZodDefault<z.ZodNumber>;
|
|
267
267
|
slideDirection: z.ZodDefault<z.ZodEnum<{
|
|
268
|
-
z: "z";
|
|
269
268
|
x: "x";
|
|
269
|
+
z: "z";
|
|
270
270
|
}>>;
|
|
271
271
|
trackWidth: z.ZodDefault<z.ZodNumber>;
|
|
272
272
|
motorHousingSize: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const SkylightMaterialRole = z.enum(['frame', 'glass']);
|
|
6
6
|
export const SKYLIGHT_TYPE_ORDER = ['flat', 'walk-on', 'lantern', 'opening', 'sliding'];
|
|
7
7
|
export const SkylightType = z.enum(SKYLIGHT_TYPE_ORDER);
|
|
@@ -15,7 +15,7 @@ export declare const SlabNode: z.ZodObject<{
|
|
|
15
15
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
17
17
|
}, z.core.$strip>>;
|
|
18
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
18
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
19
19
|
id: z.ZodDefault<z.ZodTemplateLiteral<`slab_${string}`>>;
|
|
20
20
|
type: z.ZodDefault<z.ZodLiteral<"slab">>;
|
|
21
21
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { SurfaceHoleMetadata } from './surface-hole-metadata';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { SurfaceHoleMetadata } from './surface-hole-metadata.js';
|
|
6
6
|
// Edit-time floor for `thickness` — a thinner slab z-fights the ceiling's
|
|
7
7
|
// −0.01 underside offset. Applies to edits only; migration writes legacy
|
|
8
8
|
// intervals verbatim (including degenerate zero-thickness slabs).
|
|
@@ -19,7 +19,7 @@ export declare const SolarPanelNode: z.ZodObject<{
|
|
|
19
19
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
20
20
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
21
21
|
}, z.core.$strip>>;
|
|
22
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
22
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
23
23
|
id: z.ZodDefault<z.ZodTemplateLiteral<`solarpanel_${string}`>>;
|
|
24
24
|
type: z.ZodDefault<z.ZodLiteral<"solar-panel">>;
|
|
25
25
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { SolarPanelPresetKey } from '../../solar-panel-presets';
|
|
4
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
5
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { SolarPanelPresetKey } from '../../solar-panel-presets.js';
|
|
4
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
5
|
+
import { MaterialSchema } from '../material.js';
|
|
6
6
|
export const SolarPanelMaterialRole = z.enum(['frame', 'panel']);
|
|
7
7
|
export const SolarPanelNode = BaseNode.extend({
|
|
8
8
|
id: objectId('solarpanel'),
|
|
@@ -14,7 +14,7 @@ export declare const SpawnNode: z.ZodObject<{
|
|
|
14
14
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
}, z.core.$strip>>;
|
|
17
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
17
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
18
|
id: z.ZodDefault<z.ZodTemplateLiteral<`spawn_${string}`>>;
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"spawn">>;
|
|
20
20
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
@@ -25,7 +25,7 @@ export declare const StairSegmentNode: z.ZodObject<{
|
|
|
25
25
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
26
26
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
27
27
|
}, z.core.$strip>>;
|
|
28
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
28
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
29
29
|
id: z.ZodDefault<z.ZodTemplateLiteral<`sseg_${string}`>>;
|
|
30
30
|
type: z.ZodDefault<z.ZodLiteral<"stair-segment">>;
|
|
31
31
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const StairSegmentType = z.enum(['stair', 'landing']);
|
|
6
6
|
export const AttachmentSide = z.enum(['front', 'left', 'right']);
|
|
7
7
|
export const StairSegmentNode = BaseNode.extend({
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import type { MaterialSchema as MaterialSchemaType } from '../material';
|
|
2
|
+
import type { MaterialSchema as MaterialSchemaType } from '../material.js';
|
|
3
3
|
export declare const StairRailingMode: z.ZodEnum<{
|
|
4
4
|
right: "right";
|
|
5
5
|
left: "left";
|
|
@@ -43,7 +43,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
43
43
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
44
44
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
45
45
|
}, z.core.$strip>>;
|
|
46
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
46
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
47
47
|
id: z.ZodDefault<z.ZodTemplateLiteral<`stair_${string}`>>;
|
|
48
48
|
type: z.ZodDefault<z.ZodLiteral<"stair">>;
|
|
49
49
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { StairSegmentNode } from './stair-segment';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { StairSegmentNode } from './stair-segment.js';
|
|
6
6
|
export const StairRailingMode = z.enum(['none', 'left', 'right', 'both']);
|
|
7
7
|
export const StairType = z.enum(['straight', 'curved', 'spiral']);
|
|
8
8
|
export const StairTopLandingMode = z.enum(['none', 'integrated']);
|
|
@@ -14,7 +14,7 @@ export declare const StructuralGridNode: z.ZodObject<{
|
|
|
14
14
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
16
16
|
}, z.core.$strip>>;
|
|
17
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
17
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
18
|
id: z.ZodDefault<z.ZodTemplateLiteral<`structural-grid_${string}`>>;
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"structural-grid">>;
|
|
20
20
|
start: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
4
|
export const StructuralGridNode = BaseNode.extend({
|
|
5
5
|
id: objectId('structural-grid'),
|
|
6
6
|
type: nodeType('structural-grid'),
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
+
export declare const TurbineVentMaterialRole: z.ZodEnum<{
|
|
3
|
+
base: "base";
|
|
4
|
+
head: "head";
|
|
5
|
+
}>;
|
|
6
|
+
export type TurbineVentMaterialRole = z.infer<typeof TurbineVentMaterialRole>;
|
|
2
7
|
export declare const TurbineVentNode: z.ZodObject<{
|
|
3
8
|
object: z.ZodDefault<z.ZodLiteral<"node">>;
|
|
4
9
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -14,7 +19,7 @@ export declare const TurbineVentNode: z.ZodObject<{
|
|
|
14
19
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
15
20
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
16
21
|
}, z.core.$strip>>;
|
|
17
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
22
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
23
|
id: z.ZodDefault<z.ZodTemplateLiteral<`tvent_${string}`>>;
|
|
19
24
|
type: z.ZodDefault<z.ZodLiteral<"turbine-vent">>;
|
|
20
25
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -49,6 +54,7 @@ export declare const TurbineVentNode: z.ZodObject<{
|
|
|
49
54
|
scale: z.ZodOptional<z.ZodNumber>;
|
|
50
55
|
}, z.core.$strip>>;
|
|
51
56
|
}, z.core.$strip>>;
|
|
57
|
+
slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
52
58
|
materialPreset: z.ZodDefault<z.ZodString>;
|
|
53
59
|
roofSegmentId: z.ZodOptional<z.ZodString>;
|
|
54
60
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
@@ -60,8 +66,8 @@ export declare const TurbineVentNode: z.ZodObject<{
|
|
|
60
66
|
vaneCount: z.ZodDefault<z.ZodNumber>;
|
|
61
67
|
spinSpeed: z.ZodDefault<z.ZodNumber>;
|
|
62
68
|
style: z.ZodDefault<z.ZodEnum<{
|
|
63
|
-
globe: "globe";
|
|
64
69
|
cylinder: "cylinder";
|
|
70
|
+
globe: "globe";
|
|
65
71
|
}>>;
|
|
66
72
|
}, z.core.$strip>;
|
|
67
73
|
export type TurbineVentNode = z.infer<typeof TurbineVentNode>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"turbine-vent.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/turbine-vent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,eAAe
|
|
1
|
+
{"version":3,"file":"turbine-vent.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/turbine-vent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,uBAAuB;;;EAA2B,CAAA;AAC/D,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA2C3B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
export const TurbineVentMaterialRole = z.enum(['base', 'head']);
|
|
5
6
|
export const TurbineVentNode = BaseNode.extend({
|
|
6
7
|
id: objectId('tvent'),
|
|
7
8
|
type: nodeType('turbine-vent'),
|
|
8
9
|
material: MaterialSchema.optional(),
|
|
10
|
+
slots: z.record(z.string(), z.string()).optional(),
|
|
9
11
|
// Default to the white preset so a freshly-placed turbine reads as
|
|
10
12
|
// clean painted/galvanised metal and the paint inspector shows "White"
|
|
11
13
|
// as the current selection (matches box-vent's reasoning).
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const UNIT_KINDS: readonly ["apartment", "hotel-room", "commercial", "common"];
|
|
3
|
+
export type UnitKind = (typeof UNIT_KINDS)[number];
|
|
4
|
+
export declare const DEFAULT_UNIT_COLOR = "#f59e0b";
|
|
5
|
+
export declare const UnitNode: z.ZodObject<{
|
|
6
|
+
object: z.ZodDefault<z.ZodLiteral<"node">>;
|
|
7
|
+
parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
8
|
+
visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
9
|
+
camera: z.ZodOptional<z.ZodObject<{
|
|
10
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
11
|
+
target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
12
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
perspective: "perspective";
|
|
14
|
+
orthographic: "orthographic";
|
|
15
|
+
}>>;
|
|
16
|
+
fov: z.ZodOptional<z.ZodNumber>;
|
|
17
|
+
zoom: z.ZodOptional<z.ZodNumber>;
|
|
18
|
+
}, z.core.$strip>>;
|
|
19
|
+
id: z.ZodDefault<z.ZodTemplateLiteral<`unit_${string}`>>;
|
|
20
|
+
type: z.ZodDefault<z.ZodLiteral<"unit">>;
|
|
21
|
+
name: z.ZodDefault<z.ZodString>;
|
|
22
|
+
kind: z.ZodDefault<z.ZodEnum<{
|
|
23
|
+
apartment: "apartment";
|
|
24
|
+
"hotel-room": "hotel-room";
|
|
25
|
+
commercial: "commercial";
|
|
26
|
+
common: "common";
|
|
27
|
+
}>>;
|
|
28
|
+
members: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`zone_${string}`>>>>;
|
|
29
|
+
color: z.ZodDefault<z.ZodString>;
|
|
30
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
31
|
+
}, z.core.$strip>;
|
|
32
|
+
export type UnitNode = z.infer<typeof UnitNode>;
|
|
33
|
+
//# sourceMappingURL=unit.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"unit.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/unit.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAGvB,eAAO,MAAM,UAAU,8DAA+D,CAAA;AACtF,MAAM,MAAM,QAAQ,GAAG,CAAC,OAAO,UAAU,CAAC,CAAC,MAAM,CAAC,CAAA;AAClD,eAAO,MAAM,kBAAkB,YAAY,CAAA;AAE3C,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQnB,CAAA;AAEF,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
3
|
+
export const UNIT_KINDS = ['apartment', 'hotel-room', 'commercial', 'common'];
|
|
4
|
+
export const DEFAULT_UNIT_COLOR = '#f59e0b';
|
|
5
|
+
export const UnitNode = BaseNode.extend({
|
|
6
|
+
id: objectId('unit'),
|
|
7
|
+
type: nodeType('unit'),
|
|
8
|
+
name: z.string().default('Unit'),
|
|
9
|
+
kind: z.enum(UNIT_KINDS).default('apartment'),
|
|
10
|
+
members: z.array(objectId('zone')).default([]),
|
|
11
|
+
color: z.string().default(DEFAULT_UNIT_COLOR),
|
|
12
|
+
metadata: z.record(z.string(), z.unknown()).optional().default({}),
|
|
13
|
+
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { MaterialSchema } from '../material';
|
|
2
|
+
import { MaterialSchema } from '../material.js';
|
|
3
3
|
export declare const WallTreatmentSide: z.ZodEnum<{
|
|
4
4
|
interior: "interior";
|
|
5
5
|
exterior: "exterior";
|
|
@@ -92,7 +92,7 @@ export declare const WallFaceBandConfig: z.ZodPreprocess<z.ZodObject<{
|
|
|
92
92
|
lowerHeight: z.ZodDefault<z.ZodNumber>;
|
|
93
93
|
middleHeight: z.ZodDefault<z.ZodNumber>;
|
|
94
94
|
upperHeight: z.ZodDefault<z.ZodNumber>;
|
|
95
|
-
}, z.core.$strip
|
|
95
|
+
}, z.core.$strip>, unknown>;
|
|
96
96
|
export type WallFaceBandConfig = z.infer<typeof WallFaceBandConfig>;
|
|
97
97
|
export declare const WALL_FACE_BAND_DEFAULT: WallFaceBandConfig;
|
|
98
98
|
export declare const WALL_SKIRTING_SLOT_DEFAULT = "library:preset-softwhite";
|
|
@@ -138,10 +138,10 @@ export declare const WallNode: z.ZodObject<{
|
|
|
138
138
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
139
139
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
140
140
|
}, z.core.$strip>>;
|
|
141
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
141
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
142
142
|
id: z.ZodDefault<z.ZodTemplateLiteral<`wall_${string}`>>;
|
|
143
143
|
type: z.ZodDefault<z.ZodLiteral<"wall">>;
|
|
144
|
-
children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`door_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`window_${string}`>>]>>>;
|
|
144
|
+
children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`procedural-item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`door_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`window_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`leanto_${string}`>>]>>>;
|
|
145
145
|
material: z.ZodOptional<z.ZodObject<{
|
|
146
146
|
id: z.ZodOptional<z.ZodString>;
|
|
147
147
|
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
@@ -254,7 +254,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
254
254
|
lowerHeight: z.ZodDefault<z.ZodNumber>;
|
|
255
255
|
middleHeight: z.ZodDefault<z.ZodNumber>;
|
|
256
256
|
upperHeight: z.ZodDefault<z.ZodNumber>;
|
|
257
|
-
}, z.core.$strip
|
|
257
|
+
}, z.core.$strip>, unknown>>;
|
|
258
258
|
skirting: z.ZodOptional<z.ZodObject<{
|
|
259
259
|
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
260
260
|
sides: z.ZodDefault<z.ZodEnum<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/wall.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"wall.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/wall.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { DoorNode } from './door';
|
|
6
|
-
import { ItemNode } from './item';
|
|
7
|
-
import {
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { DoorNode } from './door.js';
|
|
6
|
+
import { ItemNode } from './item.js';
|
|
7
|
+
import { LeanToExtensionNode } from './lean-to-extension.js';
|
|
8
|
+
import { WindowNode } from './window.js';
|
|
8
9
|
export const WallTreatmentSide = z.enum(['interior', 'exterior', 'both']);
|
|
9
10
|
export const WallTrimProfile = z.enum([
|
|
10
11
|
'flat',
|
|
@@ -112,7 +113,13 @@ export const WallNode = BaseNode.extend({
|
|
|
112
113
|
id: objectId('wall'),
|
|
113
114
|
type: nodeType('wall'),
|
|
114
115
|
children: z
|
|
115
|
-
.array(z.union([
|
|
116
|
+
.array(z.union([
|
|
117
|
+
ItemNode.shape.id,
|
|
118
|
+
objectId('procedural-item'),
|
|
119
|
+
DoorNode.shape.id,
|
|
120
|
+
WindowNode.shape.id,
|
|
121
|
+
LeanToExtensionNode.shape.id,
|
|
122
|
+
]))
|
|
116
123
|
.default([]),
|
|
117
124
|
// Legacy single-material wall finish. Read for backward compatibility only.
|
|
118
125
|
material: MaterialSchema.optional(),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const WindowType: z.ZodEnum<{
|
|
3
|
-
sliding: "sliding";
|
|
4
3
|
fixed: "fixed";
|
|
4
|
+
sliding: "sliding";
|
|
5
5
|
casement: "casement";
|
|
6
6
|
awning: "awning";
|
|
7
7
|
hopper: "hopper";
|
|
@@ -39,7 +39,7 @@ export declare const WindowNode: z.ZodObject<{
|
|
|
39
39
|
fov: z.ZodOptional<z.ZodNumber>;
|
|
40
40
|
zoom: z.ZodOptional<z.ZodNumber>;
|
|
41
41
|
}, z.core.$strip>>;
|
|
42
|
-
metadata: z.ZodDefault<z.ZodOptional<z.
|
|
42
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
43
43
|
id: z.ZodDefault<z.ZodTemplateLiteral<`window_${string}`>>;
|
|
44
44
|
type: z.ZodDefault<z.ZodLiteral<"window">>;
|
|
45
45
|
material: z.ZodOptional<z.ZodObject<{
|
|
@@ -82,6 +82,13 @@ export declare const WindowNode: z.ZodObject<{
|
|
|
82
82
|
back: "back";
|
|
83
83
|
}>>;
|
|
84
84
|
wallId: z.ZodOptional<z.ZodString>;
|
|
85
|
+
dormerId: z.ZodOptional<z.ZodString>;
|
|
86
|
+
dormerFace: z.ZodOptional<z.ZodEnum<{
|
|
87
|
+
front: "front";
|
|
88
|
+
back: "back";
|
|
89
|
+
right: "right";
|
|
90
|
+
left: "left";
|
|
91
|
+
}>>;
|
|
85
92
|
roofSegmentId: z.ZodOptional<z.ZodString>;
|
|
86
93
|
roofFace: z.ZodOptional<z.ZodEnum<{
|
|
87
94
|
front: "front";
|
|
@@ -113,8 +120,8 @@ export declare const WindowNode: z.ZodObject<{
|
|
|
113
120
|
opening: "opening";
|
|
114
121
|
}>>;
|
|
115
122
|
windowType: z.ZodDefault<z.ZodEnum<{
|
|
116
|
-
sliding: "sliding";
|
|
117
123
|
fixed: "fixed";
|
|
124
|
+
sliding: "sliding";
|
|
118
125
|
casement: "casement";
|
|
119
126
|
awning: "awning";
|
|
120
127
|
hopper: "hopper";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/window.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,UAAU;;;;;;;;;;;EAWrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEnD,eAAO,MAAM,sBAAsB;;;EAAgC,CAAA;AACnE,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"window.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/window.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,UAAU;;;;;;;;;;;EAWrB,CAAA;AACF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAEnD,eAAO,MAAM,sBAAsB;;;EAAgC,CAAA;AACnE,eAAO,MAAM,wBAAwB;;;;;EAKnC,CAAA;AACF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC3E,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuFrB,CAAA;AAEF,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA"}
|