@pascal-app/nodes 1.0.3 → 1.0.5
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/README.md +43 -0
- package/dist/agent-operations/index.d.ts +12 -0
- package/dist/agent-operations/index.d.ts.map +1 -0
- package/dist/agent-operations/index.js +6 -0
- package/dist/agent-tools/index.d.ts +50 -0
- package/dist/agent-tools/index.d.ts.map +1 -0
- package/dist/agent-tools/index.js +21 -0
- package/dist/block/commands.d.ts +2 -2
- package/dist/block/contextual-help.js +1 -1
- package/dist/block/definition.d.ts +1 -1
- package/dist/block/definition.d.ts.map +1 -1
- package/dist/block/definition.js +30 -15
- package/dist/block/edit-session.d.ts +2 -2
- package/dist/block/edit-session.d.ts.map +1 -1
- package/dist/block/edit-session.js +1 -1
- package/dist/block/face-host.js +1 -1
- package/dist/block/floorplan.d.ts +11 -1
- package/dist/block/floorplan.d.ts.map +1 -1
- package/dist/block/floorplan.js +81 -13
- package/dist/block/geometry-snap.d.ts +2 -2
- package/dist/block/geometry-snap.js +2 -2
- package/dist/block/geometry.d.ts +2 -2
- package/dist/block/geometry.d.ts.map +1 -1
- package/dist/block/geometry.js +39 -24
- package/dist/block/gesture-wheel.d.ts.map +1 -1
- package/dist/block/hosted-edit.d.ts +1 -1
- package/dist/block/hosted-edit.d.ts.map +1 -1
- package/dist/block/hosted-edit.js +28 -3
- package/dist/block/interaction-sfx.d.ts +1 -1
- package/dist/block/last-operation.d.ts +1 -1
- package/dist/block/last-operation.js +2 -2
- package/dist/block/material-slots.d.ts +1 -3
- package/dist/block/material-slots.d.ts.map +1 -1
- package/dist/block/material-slots.js +1 -11
- package/dist/block/modal-face-operation.d.ts +2 -2
- package/dist/block/modal-face-operation.js +1 -1
- package/dist/block/paint.d.ts.map +1 -1
- package/dist/block/paint.js +5 -11
- package/dist/block/panel.d.ts.map +1 -1
- package/dist/block/panel.js +15 -10
- package/dist/block/parametrics.d.ts +1 -1
- package/dist/block/parametrics.js +1 -1
- package/dist/block/preview.js +1 -1
- package/dist/block/selection-geometry.d.ts +1 -1
- package/dist/block/selection-geometry.js +1 -1
- package/dist/block/selection.d.ts.map +1 -1
- package/dist/block/selection.js +20 -20
- package/dist/block/tool.d.ts.map +1 -1
- package/dist/block/tool.js +3 -3
- package/dist/block/use-block-face-operation.d.ts +4 -4
- package/dist/block/use-block-face-operation.js +6 -6
- package/dist/box-vent/definition.d.ts +1 -1
- package/dist/box-vent/definition.d.ts.map +1 -1
- package/dist/box-vent/definition.js +11 -13
- package/dist/box-vent/geometry.d.ts.map +1 -1
- package/dist/box-vent/geometry.js +2 -2
- package/dist/box-vent/index.d.ts +3 -3
- package/dist/box-vent/index.js +3 -3
- package/dist/box-vent/move-tool.js +4 -4
- package/dist/box-vent/paint.js +2 -2
- package/dist/box-vent/panel.d.ts.map +1 -1
- package/dist/box-vent/panel.js +7 -30
- package/dist/box-vent/parametrics.d.ts +1 -1
- package/dist/box-vent/parametrics.js +1 -1
- package/dist/box-vent/preview.d.ts +1 -1
- package/dist/box-vent/preview.d.ts.map +1 -1
- package/dist/box-vent/preview.js +2 -2
- package/dist/box-vent/renderer.d.ts.map +1 -1
- package/dist/box-vent/renderer.js +3 -3
- package/dist/box-vent/tool.d.ts.map +1 -1
- package/dist/box-vent/tool.js +7 -7
- package/dist/building/definition.d.ts +1 -1
- package/dist/building/definition.d.ts.map +1 -1
- package/dist/building/definition.js +5 -4
- package/dist/building/index.d.ts +1 -1
- package/dist/building/index.js +1 -1
- package/dist/building/move-tool.d.ts.map +1 -1
- package/dist/building/move-tool.js +2 -3
- package/dist/building/renderer.d.ts.map +1 -1
- package/dist/cabinet/__bench__/geometry.d.ts +2 -0
- package/dist/cabinet/__bench__/geometry.d.ts.map +1 -0
- package/dist/cabinet/__bench__/geometry.js +21 -0
- package/dist/cabinet/appliance-layout.d.ts +1 -1
- package/dist/cabinet/appliance-layout.d.ts.map +1 -1
- package/dist/cabinet/compartment-card.d.ts +1 -1
- package/dist/cabinet/compartment-card.js +12 -12
- package/dist/cabinet/continuous-placement.d.ts +1 -1
- package/dist/cabinet/continuous-placement.js +2 -2
- package/dist/cabinet/countertop-layout.d.ts +64 -53
- package/dist/cabinet/countertop-layout.d.ts.map +1 -1
- package/dist/cabinet/countertop-layout.js +3 -3
- package/dist/cabinet/definition.d.ts +1 -1
- package/dist/cabinet/definition.d.ts.map +1 -1
- package/dist/cabinet/definition.js +34 -30
- package/dist/cabinet/essential-controls.d.ts +7 -0
- package/dist/cabinet/essential-controls.d.ts.map +1 -0
- package/dist/cabinet/essential-controls.js +47 -0
- package/dist/cabinet/finish-operation.d.ts +9 -0
- package/dist/cabinet/finish-operation.d.ts.map +1 -0
- package/dist/cabinet/finish-operation.js +86 -0
- package/dist/cabinet/floorplan-move.js +3 -3
- package/dist/cabinet/floorplan.d.ts.map +1 -1
- package/dist/cabinet/floorplan.js +130 -33
- package/dist/cabinet/geometry/cooktop.d.ts +2 -2
- package/dist/cabinet/geometry/cooktop.d.ts.map +1 -1
- package/dist/cabinet/geometry/cooktop.js +55 -18
- package/dist/cabinet/geometry/dishwasher.d.ts +1 -1
- package/dist/cabinet/geometry/dishwasher.d.ts.map +1 -1
- package/dist/cabinet/geometry/dishwasher.js +5 -6
- package/dist/cabinet/geometry/fridge.d.ts +2 -2
- package/dist/cabinet/geometry/fridge.d.ts.map +1 -1
- package/dist/cabinet/geometry/fridge.js +49 -8
- package/dist/cabinet/geometry/fronts.d.ts +1 -1
- package/dist/cabinet/geometry/fronts.d.ts.map +1 -1
- package/dist/cabinet/geometry/fronts.js +22 -8
- package/dist/cabinet/geometry/hood.d.ts +2 -2
- package/dist/cabinet/geometry/hood.d.ts.map +1 -1
- package/dist/cabinet/geometry/hood.js +15 -3
- package/dist/cabinet/geometry/oven-microwave.d.ts +1 -1
- package/dist/cabinet/geometry/oven-microwave.d.ts.map +1 -1
- package/dist/cabinet/geometry/oven-microwave.js +46 -21
- package/dist/cabinet/geometry/pantry.d.ts +2 -2
- package/dist/cabinet/geometry/pantry.d.ts.map +1 -1
- package/dist/cabinet/geometry/pantry.js +11 -9
- package/dist/cabinet/geometry/run.d.ts.map +1 -1
- package/dist/cabinet/geometry/run.js +18 -8
- package/dist/cabinet/geometry/shared.d.ts +5 -4
- package/dist/cabinet/geometry/shared.d.ts.map +1 -1
- package/dist/cabinet/geometry/shared.js +78 -19
- package/dist/cabinet/geometry/sink.d.ts +2 -2
- package/dist/cabinet/geometry/sink.d.ts.map +1 -1
- package/dist/cabinet/geometry/sink.js +30 -12
- package/dist/cabinet/geometry.d.ts +1 -1
- package/dist/cabinet/geometry.d.ts.map +1 -1
- package/dist/cabinet/geometry.js +15 -11
- package/dist/cabinet/hosted-resize.d.ts +2 -2
- package/dist/cabinet/hosted-resize.d.ts.map +1 -1
- package/dist/cabinet/hosted-resize.js +3 -1
- package/dist/cabinet/index.d.ts +9 -5
- package/dist/cabinet/index.d.ts.map +1 -1
- package/dist/cabinet/index.js +9 -5
- package/dist/cabinet/insertion.d.ts.map +1 -1
- package/dist/cabinet/insertion.js +3 -1
- package/dist/cabinet/interaction.js +1 -1
- package/dist/cabinet/kitchen-catalog.d.ts +14 -0
- package/dist/cabinet/kitchen-catalog.d.ts.map +1 -0
- package/dist/cabinet/kitchen-catalog.js +62 -0
- package/dist/cabinet/kitchen-collection.d.ts +11 -0
- package/dist/cabinet/kitchen-collection.d.ts.map +1 -0
- package/dist/cabinet/kitchen-collection.js +19 -0
- package/dist/cabinet/kitchen-module-actions.d.ts +8 -0
- package/dist/cabinet/kitchen-module-actions.d.ts.map +1 -0
- package/dist/cabinet/kitchen-module-actions.js +117 -0
- package/dist/cabinet/kitchen-placement.d.ts +3 -0
- package/dist/cabinet/kitchen-placement.d.ts.map +1 -0
- package/dist/cabinet/kitchen-placement.js +16 -0
- package/dist/cabinet/move-frame.js +4 -4
- package/dist/cabinet/neighbor-placement.d.ts +335 -0
- package/dist/cabinet/neighbor-placement.d.ts.map +1 -0
- package/dist/cabinet/neighbor-placement.js +48 -0
- package/dist/cabinet/opening-clearance.d.ts +22 -0
- package/dist/cabinet/opening-clearance.d.ts.map +1 -0
- package/dist/cabinet/opening-clearance.js +158 -0
- package/dist/cabinet/paint.js +1 -1
- package/dist/cabinet/panel-visibility.js +2 -2
- package/dist/cabinet/panel.d.ts.map +1 -1
- package/dist/cabinet/panel.js +86 -77
- package/dist/cabinet/parametrics.js +3 -3
- package/dist/cabinet/placement-dimensions.js +2 -2
- package/dist/cabinet/placement-notice.d.ts +6 -0
- package/dist/cabinet/placement-notice.d.ts.map +1 -0
- package/dist/cabinet/placement-notice.js +34 -0
- package/dist/cabinet/placement-status.d.ts +2 -0
- package/dist/cabinet/placement-status.d.ts.map +1 -1
- package/dist/cabinet/placement-status.js +3 -1
- package/dist/cabinet/placement-type.d.ts.map +1 -1
- package/dist/cabinet/preset-width-debt.js +2 -2
- package/dist/cabinet/presets.d.ts +3 -1
- package/dist/cabinet/presets.d.ts.map +1 -1
- package/dist/cabinet/presets.js +27 -8
- package/dist/cabinet/quick-action-icons.js +1 -1
- package/dist/cabinet/quick-actions.js +7 -7
- package/dist/cabinet/resize-limits.d.ts.map +1 -1
- package/dist/cabinet/reveals.d.ts +16 -16
- package/dist/cabinet/reveals.d.ts.map +1 -1
- package/dist/cabinet/run-finishing.d.ts +168 -0
- package/dist/cabinet/run-finishing.d.ts.map +1 -0
- package/dist/cabinet/run-finishing.js +100 -0
- package/dist/cabinet/run-layout.d.ts.map +1 -1
- package/dist/cabinet/run-layout.js +28 -8
- package/dist/cabinet/run-ops.d.ts +61 -50
- package/dist/cabinet/run-ops.d.ts.map +1 -1
- package/dist/cabinet/run-ops.js +6 -6
- package/dist/cabinet/run-panel.d.ts +11 -0
- package/dist/cabinet/run-panel.d.ts.map +1 -1
- package/dist/cabinet/run-panel.js +43 -17
- package/dist/cabinet/scene-action.js +1 -1
- package/dist/cabinet/stack-transitions.d.ts +1 -1
- package/dist/cabinet/stack-transitions.js +2 -2
- package/dist/cabinet/stack.d.ts +60 -60
- package/dist/cabinet/stack.d.ts.map +1 -1
- package/dist/cabinet/stack.js +1 -1
- package/dist/cabinet/surfaces.js +3 -3
- package/dist/cabinet/system.d.ts.map +1 -1
- package/dist/cabinet/system.js +4 -4
- package/dist/cabinet/tool.d.ts +1 -2
- package/dist/cabinet/tool.d.ts.map +1 -1
- package/dist/cabinet/tool.js +228 -105
- package/dist/cabinet/validation.js +3 -3
- package/dist/cabinet/wall-snap.d.ts +1 -1
- package/dist/cabinet/wall-snap.d.ts.map +1 -1
- package/dist/cabinet/wall-snap.js +10 -10
- package/dist/ceiling/boundary-editor.d.ts.map +1 -1
- package/dist/ceiling/boundary-editor.js +5 -3
- package/dist/ceiling/definition.d.ts +5 -5
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.js +31 -29
- package/dist/ceiling/floorplan-affordances.d.ts +138 -58
- package/dist/ceiling/floorplan-affordances.d.ts.map +1 -1
- package/dist/ceiling/floorplan-affordances.js +1 -2
- package/dist/ceiling/floorplan-move.d.ts.map +1 -1
- package/dist/ceiling/floorplan-move.js +1 -2
- package/dist/ceiling/floorplan.d.ts +1 -1
- package/dist/ceiling/floorplan.d.ts.map +1 -1
- package/dist/ceiling/floorplan.js +2 -1
- package/dist/ceiling/height-bounds.d.ts +19 -0
- package/dist/ceiling/height-bounds.d.ts.map +1 -0
- package/dist/ceiling/height-bounds.js +24 -0
- package/dist/ceiling/hole-editor.d.ts.map +1 -1
- package/dist/ceiling/hole-editor.js +3 -4
- package/dist/ceiling/index.d.ts +2 -2
- package/dist/ceiling/index.js +2 -2
- package/dist/ceiling/materials.d.ts +8 -4
- package/dist/ceiling/materials.d.ts.map +1 -1
- package/dist/ceiling/materials.js +55 -21
- package/dist/ceiling/move-tool.d.ts.map +1 -1
- package/dist/ceiling/paint.d.ts +2 -8
- package/dist/ceiling/paint.d.ts.map +1 -1
- package/dist/ceiling/paint.js +112 -24
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +42 -25
- package/dist/ceiling/parametrics.d.ts +1 -1
- package/dist/ceiling/parametrics.js +1 -1
- package/dist/ceiling/renderer.d.ts.map +1 -1
- package/dist/ceiling/renderer.js +56 -21
- package/dist/ceiling/system.d.ts.map +1 -1
- package/dist/ceiling/tool.d.ts.map +1 -1
- package/dist/ceiling/tool.js +1 -1
- package/dist/chimney/definition.d.ts +1 -1
- package/dist/chimney/definition.d.ts.map +1 -1
- package/dist/chimney/definition.js +9 -8
- package/dist/chimney/floorplan.js +1 -1
- package/dist/chimney/holes.js +1 -1
- package/dist/chimney/index.d.ts +3 -3
- package/dist/chimney/index.js +3 -3
- package/dist/chimney/move-tool.d.ts.map +1 -1
- package/dist/chimney/move-tool.js +11 -5
- package/dist/chimney/paint.d.ts.map +1 -1
- package/dist/chimney/paint.js +3 -10
- package/dist/chimney/panel.js +4 -4
- package/dist/chimney/parametrics.d.ts +1 -1
- package/dist/chimney/parametrics.js +1 -1
- package/dist/chimney/presets.d.ts +1 -1
- package/dist/chimney/preview.d.ts.map +1 -1
- package/dist/chimney/preview.js +2 -2
- package/dist/chimney/renderer.d.ts.map +1 -1
- package/dist/chimney/renderer.js +4 -4
- package/dist/chimney/roof-trim.js +2 -2
- package/dist/chimney/tool.d.ts.map +1 -1
- package/dist/chimney/tool.js +6 -6
- package/dist/column/definition.d.ts +1 -1
- package/dist/column/definition.d.ts.map +1 -1
- package/dist/column/definition.js +39 -15
- package/dist/column/floorplan-affordances.d.ts.map +1 -1
- package/dist/column/floorplan-affordances.js +7 -2
- package/dist/column/floorplan-move.js +2 -2
- package/dist/column/floorplan.d.ts +1 -1
- package/dist/column/floorplan.d.ts.map +1 -1
- package/dist/column/floorplan.js +48 -3
- package/dist/column/hosted-resize.d.ts +134 -29
- package/dist/column/hosted-resize.d.ts.map +1 -1
- package/dist/column/hosted-resize.js +1 -1
- package/dist/column/index.d.ts +1 -1
- package/dist/column/index.js +1 -1
- package/dist/column/paint.js +1 -1
- package/dist/column/panel.d.ts.map +1 -1
- package/dist/column/panel.js +152 -149
- package/dist/column/parametrics.d.ts +1 -1
- package/dist/column/parametrics.js +2 -2
- package/dist/column/renderer.d.ts.map +1 -1
- package/dist/column/renderer.js +8 -6
- package/dist/column/surface.d.ts.map +1 -1
- package/dist/column/surface.js +8 -1
- package/dist/column/tool.d.ts.map +1 -1
- package/dist/column/tool.js +3 -3
- package/dist/construction-dimension/definition.d.ts +1 -1
- package/dist/construction-dimension/definition.js +6 -6
- package/dist/construction-dimension/floorplan-affordances.js +1 -1
- package/dist/construction-dimension/floorplan-tool.d.ts.map +1 -1
- package/dist/construction-dimension/floorplan-tool.js +1 -1
- package/dist/construction-dimension/floorplan.js +11 -7
- package/dist/construction-dimension/index.d.ts +3 -3
- package/dist/construction-dimension/index.js +3 -3
- package/dist/construction-dimension/panel.js +1 -1
- package/dist/construction-dimension/parametrics.js +1 -1
- package/dist/cupola/definition.d.ts +1 -1
- package/dist/cupola/definition.d.ts.map +1 -1
- package/dist/cupola/definition.js +11 -16
- package/dist/cupola/geometry.d.ts.map +1 -1
- package/dist/cupola/geometry.js +1 -1
- package/dist/cupola/index.d.ts +3 -3
- package/dist/cupola/index.js +3 -3
- package/dist/cupola/move-tool.js +4 -4
- package/dist/cupola/paint.js +2 -2
- package/dist/cupola/panel.d.ts.map +1 -1
- package/dist/cupola/panel.js +6 -24
- package/dist/cupola/parametrics.d.ts +1 -1
- package/dist/cupola/parametrics.js +1 -1
- package/dist/cupola/preview.d.ts +1 -1
- package/dist/cupola/preview.d.ts.map +1 -1
- package/dist/cupola/preview.js +2 -2
- package/dist/cupola/renderer.d.ts.map +1 -1
- package/dist/cupola/renderer.js +3 -3
- package/dist/cupola/tool.d.ts.map +1 -1
- package/dist/cupola/tool.js +7 -7
- package/dist/door/contextual-dimensions.js +1 -1
- package/dist/door/definition.d.ts +1 -1
- package/dist/door/definition.d.ts.map +1 -1
- package/dist/door/definition.js +38 -25
- package/dist/door/door-math.d.ts +6 -11
- package/dist/door/door-math.d.ts.map +1 -1
- package/dist/door/door-math.js +15 -16
- package/dist/door/floorplan-affordances.js +2 -2
- package/dist/door/floorplan-move.d.ts.map +1 -1
- package/dist/door/floorplan-move.js +7 -5
- package/dist/door/floorplan.d.ts.map +1 -1
- package/dist/door/floorplan.js +57 -23
- package/dist/door/index.d.ts +2 -2
- package/dist/door/index.js +2 -2
- package/dist/door/mechanism.d.ts +4 -0
- package/dist/door/mechanism.d.ts.map +1 -0
- package/dist/door/mechanism.js +24 -0
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +82 -58
- package/dist/door/paint.d.ts.map +1 -1
- package/dist/door/paint.js +4 -1
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +43 -268
- package/dist/door/parametrics.d.ts +1 -1
- package/dist/door/parametrics.js +1 -1
- package/dist/door/placement.d.ts +45 -0
- package/dist/door/placement.d.ts.map +1 -0
- package/dist/door/placement.js +51 -0
- package/dist/door/preview.d.ts +1 -1
- package/dist/door/preview.d.ts.map +1 -1
- package/dist/door/preview.js +3 -1
- package/dist/door/renderer.d.ts.map +1 -1
- package/dist/door/renderer.js +4 -3
- package/dist/door/system.d.ts.map +1 -1
- package/dist/door/system.js +1 -1
- package/dist/door/tool.d.ts.map +1 -1
- package/dist/door/tool.js +99 -28
- package/dist/dormer/csg-geometry.d.ts.map +1 -1
- package/dist/dormer/csg-geometry.js +3 -1
- package/dist/dormer/definition.d.ts +1 -1
- package/dist/dormer/definition.d.ts.map +1 -1
- package/dist/dormer/definition.js +10 -9
- package/dist/dormer/index.d.ts +4 -4
- package/dist/dormer/index.js +3 -3
- package/dist/dormer/move-tool.d.ts.map +1 -1
- package/dist/dormer/move-tool.js +3 -3
- package/dist/dormer/paint.d.ts.map +1 -1
- package/dist/dormer/paint.js +2 -5
- package/dist/dormer/panel-actions-section.js +1 -1
- package/dist/dormer/panel-windows-section.js +1 -1
- package/dist/dormer/panel.d.ts.map +1 -1
- package/dist/dormer/panel.js +12 -22
- package/dist/dormer/parametrics.d.ts +1 -1
- package/dist/dormer/parametrics.js +1 -1
- package/dist/dormer/placement-guides.js +3 -3
- package/dist/dormer/preview.d.ts +1 -1
- package/dist/dormer/preview.d.ts.map +1 -1
- package/dist/dormer/preview.js +2 -2
- package/dist/dormer/renderer.d.ts +1 -1
- package/dist/dormer/renderer.d.ts.map +1 -1
- package/dist/dormer/renderer.js +2 -2
- package/dist/dormer/tool.d.ts.map +1 -1
- package/dist/dormer/tool.js +6 -6
- package/dist/dormer/use-dormer-placement.js +3 -3
- package/dist/downspout/definition.d.ts +1 -1
- package/dist/downspout/definition.d.ts.map +1 -1
- package/dist/downspout/definition.js +11 -10
- package/dist/downspout/geometry.d.ts +1 -1
- package/dist/downspout/geometry.js +2 -2
- package/dist/downspout/index.d.ts +3 -3
- package/dist/downspout/index.js +3 -3
- package/dist/downspout/parametrics.d.ts +1 -1
- package/dist/downspout/parametrics.js +1 -1
- package/dist/downspout/preview.d.ts +2 -2
- package/dist/downspout/preview.d.ts.map +1 -1
- package/dist/downspout/preview.js +3 -3
- package/dist/downspout/renderer.d.ts.map +1 -1
- package/dist/downspout/renderer.js +5 -5
- package/dist/downspout/routing.d.ts +2 -2
- package/dist/downspout/routing.d.ts.map +1 -1
- package/dist/downspout/routing.js +5 -4
- package/dist/downspout/system.d.ts.map +1 -1
- package/dist/downspout/tool.d.ts.map +1 -1
- package/dist/downspout/tool.js +7 -7
- package/dist/duct-fitting/accessory-geometry.js +1 -1
- package/dist/duct-fitting/definition.d.ts +1 -1
- package/dist/duct-fitting/definition.d.ts.map +1 -1
- package/dist/duct-fitting/definition.js +12 -11
- package/dist/duct-fitting/floorplan.d.ts +1 -1
- package/dist/duct-fitting/floorplan.js +5 -5
- package/dist/duct-fitting/geometry.d.ts +1 -1
- package/dist/duct-fitting/geometry.d.ts.map +1 -1
- package/dist/duct-fitting/geometry.js +4 -4
- package/dist/duct-fitting/index.d.ts +4 -4
- package/dist/duct-fitting/index.js +4 -4
- package/dist/duct-fitting/inspector-editors.d.ts +1 -1
- package/dist/duct-fitting/move-tool.d.ts.map +1 -1
- package/dist/duct-fitting/move-tool.js +12 -6
- package/dist/duct-fitting/parametrics.d.ts +1 -1
- package/dist/duct-fitting/parametrics.js +3 -3
- package/dist/duct-fitting/ports.d.ts +1 -1
- package/dist/duct-fitting/selection.d.ts.map +1 -1
- package/dist/duct-fitting/selection.js +8 -9
- package/dist/duct-fitting/tool.d.ts +1 -1
- package/dist/duct-fitting/tool.d.ts.map +1 -1
- package/dist/duct-fitting/tool.js +14 -15
- package/dist/duct-segment/continuation.d.ts +3 -3
- package/dist/duct-segment/continuation.d.ts.map +1 -1
- package/dist/duct-segment/continuation.js +2 -2
- package/dist/duct-segment/definition.d.ts +1 -1
- package/dist/duct-segment/definition.d.ts.map +1 -1
- package/dist/duct-segment/definition.js +14 -14
- package/dist/duct-segment/floorplan.d.ts +1 -1
- package/dist/duct-segment/floorplan.js +3 -3
- package/dist/duct-segment/geometry.d.ts +1 -1
- package/dist/duct-segment/geometry.d.ts.map +1 -1
- package/dist/duct-segment/geometry.js +2 -2
- package/dist/duct-segment/index.d.ts +3 -3
- package/dist/duct-segment/index.js +3 -3
- package/dist/duct-segment/move-tool.d.ts.map +1 -1
- package/dist/duct-segment/move-tool.js +16 -9
- package/dist/duct-segment/parametrics.d.ts +1 -1
- package/dist/duct-segment/parametrics.js +5 -5
- package/dist/duct-segment/selection.d.ts.map +1 -1
- package/dist/duct-segment/selection.js +13 -12
- package/dist/duct-segment/tool.d.ts +1 -2
- package/dist/duct-segment/tool.d.ts.map +1 -1
- package/dist/duct-segment/tool.js +22 -18
- package/dist/duct-terminal/definition.d.ts +1 -1
- package/dist/duct-terminal/definition.js +6 -6
- package/dist/duct-terminal/floorplan.d.ts +1 -1
- package/dist/duct-terminal/floorplan.js +1 -1
- package/dist/duct-terminal/geometry.d.ts +1 -1
- package/dist/duct-terminal/geometry.js +2 -2
- package/dist/duct-terminal/index.d.ts +4 -4
- package/dist/duct-terminal/index.js +4 -4
- package/dist/duct-terminal/parametrics.d.ts +1 -1
- package/dist/duct-terminal/ports.d.ts +1 -1
- package/dist/duct-terminal/ports.js +1 -1
- package/dist/duct-terminal/tool.d.ts.map +1 -1
- package/dist/duct-terminal/tool.js +11 -12
- package/dist/elevator/definition.d.ts +1 -1
- package/dist/elevator/definition.d.ts.map +1 -1
- package/dist/elevator/definition.js +8 -9
- package/dist/elevator/floorplan-affordances.js +1 -1
- package/dist/elevator/index.d.ts +1 -1
- package/dist/elevator/index.js +1 -1
- package/dist/elevator/paint.js +1 -1
- package/dist/elevator/panel.d.ts.map +1 -1
- package/dist/elevator/panel.js +14 -36
- package/dist/elevator/parametrics.js +2 -2
- package/dist/elevator/renderer.d.ts.map +1 -1
- package/dist/elevator/renderer.js +4 -5
- package/dist/elevator/system.js +1 -1
- package/dist/eyebrow-vent/definition.d.ts +1 -1
- package/dist/eyebrow-vent/definition.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.js +11 -13
- package/dist/eyebrow-vent/geometry.d.ts.map +1 -1
- package/dist/eyebrow-vent/geometry.js +1 -1
- package/dist/eyebrow-vent/index.d.ts +3 -3
- package/dist/eyebrow-vent/index.js +3 -3
- package/dist/eyebrow-vent/move-tool.js +4 -4
- package/dist/eyebrow-vent/paint.d.ts.map +1 -1
- package/dist/eyebrow-vent/paint.js +5 -8
- package/dist/eyebrow-vent/panel.d.ts.map +1 -1
- package/dist/eyebrow-vent/panel.js +6 -24
- package/dist/eyebrow-vent/parametrics.d.ts +1 -1
- package/dist/eyebrow-vent/parametrics.js +1 -1
- package/dist/eyebrow-vent/preview.d.ts +1 -1
- package/dist/eyebrow-vent/preview.d.ts.map +1 -1
- package/dist/eyebrow-vent/preview.js +2 -2
- package/dist/eyebrow-vent/renderer.d.ts.map +1 -1
- package/dist/eyebrow-vent/renderer.js +3 -3
- package/dist/eyebrow-vent/tool.d.ts.map +1 -1
- package/dist/eyebrow-vent/tool.js +7 -7
- package/dist/fence/actions/move-endpoint.d.ts +1 -1
- package/dist/fence/actions/move-endpoint.d.ts.map +1 -1
- package/dist/fence/actions/move-endpoint.js +2 -1
- package/dist/fence/curve-tool.d.ts.map +1 -1
- package/dist/fence/definition.d.ts +3 -2
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.js +113 -43
- package/dist/fence/drafting.d.ts +42 -0
- package/dist/fence/drafting.d.ts.map +1 -0
- package/dist/fence/drafting.js +269 -0
- package/dist/fence/feature-tool.d.ts +4 -0
- package/dist/fence/feature-tool.d.ts.map +1 -0
- package/dist/fence/feature-tool.js +140 -0
- package/dist/fence/features.d.ts +2 -0
- package/dist/fence/features.d.ts.map +1 -0
- package/dist/fence/features.js +12 -0
- package/dist/fence/floorplan-affordances.d.ts.map +1 -1
- package/dist/fence/floorplan-affordances.js +2 -1
- package/dist/fence/floorplan.d.ts +2 -3
- package/dist/fence/floorplan.d.ts.map +1 -1
- package/dist/fence/floorplan.js +131 -71
- package/dist/fence/geometry-parts.d.ts +50 -0
- package/dist/fence/geometry-parts.d.ts.map +1 -0
- package/dist/fence/geometry-parts.js +1144 -0
- package/dist/fence/geometry.d.ts +2 -3
- package/dist/fence/geometry.d.ts.map +1 -1
- package/dist/fence/geometry.js +85 -8
- package/dist/fence/index.d.ts +3 -2
- package/dist/fence/index.d.ts.map +1 -1
- package/dist/fence/index.js +3 -2
- package/dist/fence/inspector-editors.d.ts +15 -0
- package/dist/fence/inspector-editors.d.ts.map +1 -1
- package/dist/fence/inspector-editors.js +128 -3
- package/dist/fence/lift.d.ts +3 -3
- package/dist/fence/lift.d.ts.map +1 -1
- package/dist/fence/lift.js +15 -3
- package/dist/fence/move-control-point-tool.d.ts.map +1 -1
- package/dist/fence/move-endpoint-tool.d.ts.map +1 -1
- package/dist/fence/move-endpoint-tool.js +4 -4
- package/dist/fence/move-tangent-tool.d.ts.map +1 -1
- package/dist/fence/move-tool.d.ts.map +1 -1
- package/dist/fence/move-tool.js +2 -1
- package/dist/fence/paint.js +1 -1
- package/dist/fence/panel-model.d.ts +4 -0
- package/dist/fence/panel-model.d.ts.map +1 -0
- package/dist/fence/panel-model.js +12 -0
- package/dist/fence/parametrics.d.ts +1 -13
- package/dist/fence/parametrics.d.ts.map +1 -1
- package/dist/fence/parametrics.js +185 -18
- package/dist/fence/system.d.ts.map +1 -1
- package/dist/fence/system.js +142 -32
- package/dist/fence/tool.d.ts.map +1 -1
- package/dist/fence/tool.js +339 -56
- package/dist/fence-feature/actions.d.ts +7 -0
- package/dist/fence-feature/actions.d.ts.map +1 -0
- package/dist/fence-feature/actions.js +26 -0
- package/dist/fence-feature/definition.d.ts +4 -0
- package/dist/fence-feature/definition.d.ts.map +1 -0
- package/dist/fence-feature/definition.js +116 -0
- package/dist/fence-feature/floorplan-affordances.d.ts +3 -0
- package/dist/fence-feature/floorplan-affordances.d.ts.map +1 -0
- package/dist/fence-feature/floorplan-affordances.js +37 -0
- package/dist/fence-feature/floorplan.d.ts +4 -0
- package/dist/fence-feature/floorplan.d.ts.map +1 -0
- package/dist/fence-feature/floorplan.js +120 -0
- package/dist/fence-feature/geometry.d.ts +5 -0
- package/dist/fence-feature/geometry.d.ts.map +1 -0
- package/dist/fence-feature/geometry.js +43 -0
- package/dist/fence-feature/handles.d.ts +5 -0
- package/dist/fence-feature/handles.d.ts.map +1 -0
- package/dist/fence-feature/handles.js +84 -0
- package/dist/fence-feature/inspector.d.ts +6 -0
- package/dist/fence-feature/inspector.d.ts.map +1 -0
- package/dist/fence-feature/inspector.js +214 -0
- package/dist/fence-feature/interaction.d.ts +3 -0
- package/dist/fence-feature/interaction.d.ts.map +1 -0
- package/dist/fence-feature/interaction.js +41 -0
- package/dist/fence-feature/move-session.d.ts +9 -0
- package/dist/fence-feature/move-session.d.ts.map +1 -0
- package/dist/fence-feature/move-session.js +48 -0
- package/dist/fence-feature/move-tool.d.ts +5 -0
- package/dist/fence-feature/move-tool.d.ts.map +1 -0
- package/dist/fence-feature/move-tool.js +58 -0
- package/dist/fence-feature/pick-target.d.ts +7 -0
- package/dist/fence-feature/pick-target.d.ts.map +1 -0
- package/dist/fence-feature/pick-target.js +52 -0
- package/dist/floor-opening/definition.d.ts +3 -0
- package/dist/floor-opening/definition.d.ts.map +1 -0
- package/dist/floor-opening/definition.js +41 -0
- package/dist/floor-opening/floorplan.d.ts +156 -0
- package/dist/floor-opening/floorplan.d.ts.map +1 -0
- package/dist/floor-opening/floorplan.js +63 -0
- package/dist/guide/definition.d.ts +1 -1
- package/dist/guide/definition.js +4 -4
- package/dist/guide/index.d.ts +1 -1
- package/dist/guide/index.js +1 -1
- package/dist/guide/renderer.d.ts.map +1 -1
- package/dist/guide/system.d.ts.map +1 -1
- package/dist/gutter/definition.d.ts +1 -1
- package/dist/gutter/definition.d.ts.map +1 -1
- package/dist/gutter/definition.js +12 -11
- package/dist/gutter/downspouts-panel.js +3 -3
- package/dist/gutter/eave-align.js +2 -2
- package/dist/gutter/eave-snap.d.ts.map +1 -1
- package/dist/gutter/eave-snap.js +2 -2
- package/dist/gutter/floorplan.d.ts.map +1 -1
- package/dist/gutter/floorplan.js +5 -4
- package/dist/gutter/geometry.d.ts +1 -1
- package/dist/gutter/geometry.js +3 -3
- package/dist/gutter/index.d.ts +3 -3
- package/dist/gutter/index.js +3 -3
- package/dist/gutter/move-tool.js +4 -4
- package/dist/gutter/outlet-lookup.d.ts +1 -1
- package/dist/gutter/outlet-lookup.js +1 -1
- package/dist/gutter/paint.js +1 -1
- package/dist/gutter/parametrics.d.ts +1 -1
- package/dist/gutter/parametrics.js +1 -1
- package/dist/gutter/preview.d.ts +1 -1
- package/dist/gutter/preview.d.ts.map +1 -1
- package/dist/gutter/preview.js +3 -3
- package/dist/gutter/renderer.d.ts.map +1 -1
- package/dist/gutter/renderer.js +6 -6
- package/dist/gutter/tool.d.ts.map +1 -1
- package/dist/gutter/tool.js +7 -7
- package/dist/hvac-equipment/definition.d.ts +1 -1
- package/dist/hvac-equipment/definition.js +6 -6
- package/dist/hvac-equipment/floorplan.d.ts +1 -1
- package/dist/hvac-equipment/floorplan.js +2 -2
- package/dist/hvac-equipment/geometry.d.ts +1 -1
- package/dist/hvac-equipment/geometry.js +2 -2
- package/dist/hvac-equipment/index.d.ts +4 -4
- package/dist/hvac-equipment/index.js +4 -4
- package/dist/hvac-equipment/parametrics.d.ts +1 -1
- package/dist/hvac-equipment/ports.d.ts +1 -1
- package/dist/hvac-equipment/ports.js +1 -1
- package/dist/hvac-equipment/tool.d.ts.map +1 -1
- package/dist/hvac-equipment/tool.js +7 -8
- package/dist/imported-mesh/definition.d.ts +1 -1
- package/dist/imported-mesh/definition.d.ts.map +1 -1
- package/dist/imported-mesh/definition.js +5 -3
- package/dist/imported-mesh/geometry.d.ts +1 -1
- package/dist/imported-mesh/geometry.d.ts.map +1 -1
- package/dist/imported-mesh/geometry.js +40 -12
- package/dist/imported-mesh/index.d.ts +3 -3
- package/dist/imported-mesh/index.js +3 -3
- package/dist/index.d.ts +65 -50
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -100
- package/dist/item/authored-face-host.d.ts +10 -0
- package/dist/item/authored-face-host.d.ts.map +1 -0
- package/dist/item/authored-face-host.js +87 -0
- package/dist/item/authored-params.d.ts +15 -0
- package/dist/item/authored-params.d.ts.map +1 -0
- package/dist/item/authored-params.js +72 -0
- package/dist/item/definition.d.ts +3 -3
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.js +46 -15
- package/dist/item/floorplan-move.js +4 -4
- package/dist/item/floorplan.d.ts +1 -1
- package/dist/item/floorplan.d.ts.map +1 -1
- package/dist/item/floorplan.js +36 -6
- package/dist/item/index.d.ts +3 -2
- package/dist/item/index.d.ts.map +1 -1
- package/dist/item/index.js +3 -2
- package/dist/item/model-loader.d.ts +7 -0
- package/dist/item/model-loader.d.ts.map +1 -1
- package/dist/item/model-loader.js +104 -23
- package/dist/item/move-tool.d.ts.map +1 -1
- package/dist/item/move-tool.js +4 -4
- package/dist/item/paint.d.ts.map +1 -1
- package/dist/item/paint.js +5 -24
- package/dist/item/panel.d.ts +1 -3
- package/dist/item/panel.d.ts.map +1 -1
- package/dist/item/panel.js +23 -27
- package/dist/item/parametrics.d.ts +1 -1
- package/dist/item/parametrics.js +1 -1
- package/dist/item/placement-notice.d.ts +14 -0
- package/dist/item/placement-notice.d.ts.map +1 -0
- package/dist/item/placement-notice.js +38 -0
- package/dist/item/plan-symbols.d.ts +67 -0
- package/dist/item/plan-symbols.d.ts.map +1 -0
- package/dist/item/plan-symbols.js +407 -0
- package/dist/item/renderer.d.ts +10 -0
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +78 -48
- package/dist/item/script-param-defaults.d.ts +12 -0
- package/dist/item/script-param-defaults.d.ts.map +1 -0
- package/dist/item/script-param-defaults.js +34 -0
- package/dist/item/system.d.ts.map +1 -1
- package/dist/item/system.js +7 -2
- package/dist/item/tool.d.ts.map +1 -1
- package/dist/item/tool.js +3 -3
- package/dist/item/wall-object-observations.d.ts +6 -0
- package/dist/item/wall-object-observations.d.ts.map +1 -0
- package/dist/item/wall-object-observations.js +260 -0
- package/dist/lean-to-extension/assembly.d.ts +2 -2
- package/dist/lean-to-extension/assembly.js +8 -8
- package/dist/lean-to-extension/canopy-joint.d.ts +1 -1
- package/dist/lean-to-extension/canopy-joint.js +1 -1
- package/dist/lean-to-extension/corner-joint.js +4 -4
- package/dist/lean-to-extension/definition.d.ts +1 -1
- package/dist/lean-to-extension/definition.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.js +18 -18
- package/dist/lean-to-extension/floorplan-affordances.js +4 -4
- package/dist/lean-to-extension/floorplan-move.js +4 -4
- package/dist/lean-to-extension/floorplan-tool.d.ts.map +1 -1
- package/dist/lean-to-extension/floorplan-tool.js +7 -7
- package/dist/lean-to-extension/floorplan.js +5 -5
- package/dist/lean-to-extension/geometry.d.ts.map +1 -1
- package/dist/lean-to-extension/geometry.js +5 -5
- package/dist/lean-to-extension/index.d.ts +7 -7
- package/dist/lean-to-extension/index.js +7 -7
- package/dist/lean-to-extension/layout.d.ts +1 -1
- package/dist/lean-to-extension/layout.d.ts.map +1 -1
- package/dist/lean-to-extension/layout.js +6 -7
- package/dist/lean-to-extension/managed-preview.js +4 -4
- package/dist/lean-to-extension/move-tool.d.ts.map +1 -1
- package/dist/lean-to-extension/move-tool.js +5 -5
- package/dist/lean-to-extension/paint.js +1 -1
- package/dist/lean-to-extension/parametrics.js +1 -1
- package/dist/lean-to-extension/placement-validation.d.ts.map +1 -1
- package/dist/lean-to-extension/placement-validation.js +9 -9
- package/dist/lean-to-extension/placement.d.ts +1 -1
- package/dist/lean-to-extension/placement.js +6 -6
- package/dist/lean-to-extension/plan-footprint.js +2 -2
- package/dist/lean-to-extension/preview-geometry.js +1 -1
- package/dist/lean-to-extension/preview.d.ts.map +1 -1
- package/dist/lean-to-extension/preview.js +1 -1
- package/dist/lean-to-extension/renderer.d.ts.map +1 -1
- package/dist/lean-to-extension/renderer.js +1 -1
- package/dist/lean-to-extension/roof-attachment.d.ts.map +1 -1
- package/dist/lean-to-extension/roof-attachment.js +4 -4
- package/dist/lean-to-extension/system.d.ts.map +1 -1
- package/dist/lean-to-extension/system.js +10 -10
- package/dist/lean-to-extension/tool.d.ts.map +1 -1
- package/dist/lean-to-extension/tool.js +16 -16
- package/dist/level/definition.d.ts +1 -1
- package/dist/level/definition.d.ts.map +1 -1
- package/dist/level/definition.js +5 -4
- package/dist/level/index.d.ts +1 -1
- package/dist/level/index.js +1 -1
- package/dist/level/renderer.d.ts.map +1 -1
- package/dist/level/system.d.ts.map +1 -1
- package/dist/lineset/definition.d.ts +1 -1
- package/dist/lineset/definition.js +8 -8
- package/dist/lineset/floorplan.d.ts +1 -1
- package/dist/lineset/floorplan.js +1 -1
- package/dist/lineset/geometry.d.ts +1 -1
- package/dist/lineset/geometry.js +1 -1
- package/dist/lineset/index.d.ts +3 -3
- package/dist/lineset/index.js +3 -3
- package/dist/lineset/move-tool.d.ts.map +1 -1
- package/dist/lineset/move-tool.js +10 -4
- package/dist/lineset/parametrics.d.ts +1 -1
- package/dist/lineset/selection.d.ts.map +1 -1
- package/dist/lineset/selection.js +1 -1
- package/dist/lineset/tool.d.ts.map +1 -1
- package/dist/lineset/tool.js +7 -8
- package/dist/liquid-line/definition.d.ts +1 -1
- package/dist/liquid-line/definition.js +8 -8
- package/dist/liquid-line/floorplan.d.ts +1 -1
- package/dist/liquid-line/floorplan.js +1 -1
- package/dist/liquid-line/geometry.d.ts +1 -1
- package/dist/liquid-line/geometry.js +1 -1
- package/dist/liquid-line/index.d.ts +4 -4
- package/dist/liquid-line/index.js +4 -4
- package/dist/liquid-line/move-tool.d.ts.map +1 -1
- package/dist/liquid-line/move-tool.js +9 -3
- package/dist/liquid-line/parametrics.d.ts +1 -1
- package/dist/liquid-line/selection.d.ts.map +1 -1
- package/dist/liquid-line/selection.js +1 -1
- package/dist/liquid-line/tool.d.ts.map +1 -1
- package/dist/liquid-line/tool.js +9 -10
- package/dist/measurement/definition.d.ts +1 -1
- package/dist/measurement/definition.js +7 -7
- package/dist/measurement/edit.d.ts +1 -1
- package/dist/measurement/floorplan-affordance.js +2 -2
- package/dist/measurement/floorplan.js +2 -2
- package/dist/measurement/index.d.ts +2 -2
- package/dist/measurement/index.js +2 -2
- package/dist/measurement/renderer.d.ts.map +1 -1
- package/dist/measurement/renderer.js +2 -2
- package/dist/measurement/selection.d.ts.map +1 -1
- package/dist/measurement/selection.js +4 -4
- package/dist/measurement/smart-surface.d.ts +1 -1
- package/dist/measurement/smart-tool.d.ts.map +1 -1
- package/dist/measurement/smart-tool.js +2 -2
- package/dist/measurement/surface-query.js +1 -1
- package/dist/measurement/tool-router.js +2 -2
- package/dist/measurement/tool.d.ts +1 -1
- package/dist/measurement/tool.d.ts.map +1 -1
- package/dist/measurement/tool.js +3 -3
- package/dist/pipe-fitting/definition.d.ts +1 -1
- package/dist/pipe-fitting/definition.js +11 -11
- package/dist/pipe-fitting/floorplan.d.ts +1 -1
- package/dist/pipe-fitting/floorplan.js +4 -4
- package/dist/pipe-fitting/geometry.d.ts +1 -1
- package/dist/pipe-fitting/geometry.js +4 -4
- package/dist/pipe-fitting/index.d.ts +4 -4
- package/dist/pipe-fitting/index.js +4 -4
- package/dist/pipe-fitting/inline-insertion.d.ts +1 -1
- package/dist/pipe-fitting/inline-insertion.d.ts.map +1 -1
- package/dist/pipe-fitting/inline-insertion.js +1 -1
- package/dist/pipe-fitting/move-tool.d.ts.map +1 -1
- package/dist/pipe-fitting/move-tool.js +11 -5
- package/dist/pipe-fitting/parametrics.d.ts +1 -1
- package/dist/pipe-fitting/parametrics.js +1 -1
- package/dist/pipe-fitting/ports.d.ts +1 -1
- package/dist/pipe-fitting/ports.js +1 -1
- package/dist/pipe-fitting/selection.d.ts.map +1 -1
- package/dist/pipe-fitting/selection.js +6 -7
- package/dist/pipe-fitting/tool.d.ts +2 -2
- package/dist/pipe-fitting/tool.d.ts.map +1 -1
- package/dist/pipe-fitting/tool.js +15 -16
- package/dist/pipe-segment/continuation.d.ts +4 -4
- package/dist/pipe-segment/continuation.d.ts.map +1 -1
- package/dist/pipe-segment/continuation.js +1 -1
- package/dist/pipe-segment/definition.d.ts +1 -1
- package/dist/pipe-segment/definition.js +11 -11
- package/dist/pipe-segment/floorplan.d.ts +1 -1
- package/dist/pipe-segment/floorplan.js +3 -3
- package/dist/pipe-segment/geometry.d.ts +1 -1
- package/dist/pipe-segment/geometry.js +2 -2
- package/dist/pipe-segment/index.d.ts +3 -3
- package/dist/pipe-segment/index.js +3 -3
- package/dist/pipe-segment/move-tool.d.ts.map +1 -1
- package/dist/pipe-segment/move-tool.js +11 -5
- package/dist/pipe-segment/parametrics.d.ts +1 -1
- package/dist/pipe-segment/parametrics.js +3 -3
- package/dist/pipe-segment/selection.d.ts.map +1 -1
- package/dist/pipe-segment/selection.js +10 -9
- package/dist/pipe-segment/tool.d.ts.map +1 -1
- package/dist/pipe-segment/tool.js +13 -14
- package/dist/pipe-trap/definition.d.ts +1 -1
- package/dist/pipe-trap/definition.js +6 -6
- package/dist/pipe-trap/floorplan.d.ts +1 -1
- package/dist/pipe-trap/floorplan.js +1 -1
- package/dist/pipe-trap/geometry.d.ts +1 -1
- package/dist/pipe-trap/geometry.js +2 -2
- package/dist/pipe-trap/index.d.ts +4 -4
- package/dist/pipe-trap/index.js +4 -4
- package/dist/pipe-trap/parametrics.d.ts +1 -1
- package/dist/pipe-trap/ports.d.ts +1 -1
- package/dist/pipe-trap/ports.js +1 -1
- package/dist/pipe-trap/tool.d.ts.map +1 -1
- package/dist/pipe-trap/tool.js +7 -8
- package/dist/procedural-item/animation.d.ts +8 -0
- package/dist/procedural-item/animation.d.ts.map +1 -0
- package/dist/procedural-item/animation.js +116 -0
- package/dist/procedural-item/definition.d.ts.map +1 -1
- package/dist/procedural-item/definition.js +81 -13
- package/dist/procedural-item/geometry.d.ts +5 -1
- package/dist/procedural-item/geometry.d.ts.map +1 -1
- package/dist/procedural-item/geometry.js +239 -15
- package/dist/procedural-item/index.d.ts +2 -2
- package/dist/procedural-item/index.js +2 -2
- package/dist/procedural-item/move-session.d.ts +1 -1
- package/dist/procedural-item/move-session.js +2 -2
- package/dist/procedural-item/move-tool.js +3 -3
- package/dist/procedural-item/renderer.d.ts.map +1 -1
- package/dist/procedural-item/renderer.js +273 -24
- package/dist/ridge-vent/definition.d.ts +1 -1
- package/dist/ridge-vent/definition.d.ts.map +1 -1
- package/dist/ridge-vent/definition.js +9 -8
- package/dist/ridge-vent/geometry.js +1 -1
- package/dist/ridge-vent/index.d.ts +3 -3
- package/dist/ridge-vent/index.js +3 -3
- package/dist/ridge-vent/move-tool.js +5 -5
- package/dist/ridge-vent/panel.d.ts.map +1 -1
- package/dist/ridge-vent/panel.js +6 -24
- package/dist/ridge-vent/parametrics.d.ts +1 -1
- package/dist/ridge-vent/parametrics.js +1 -1
- package/dist/ridge-vent/preview.d.ts +1 -1
- package/dist/ridge-vent/preview.d.ts.map +1 -1
- package/dist/ridge-vent/preview.js +2 -2
- package/dist/ridge-vent/renderer.d.ts.map +1 -1
- package/dist/ridge-vent/renderer.js +14 -12
- package/dist/ridge-vent/tool.d.ts.map +1 -1
- package/dist/ridge-vent/tool.js +8 -8
- package/dist/roof/barrel-panel.d.ts +5 -0
- package/dist/roof/barrel-panel.d.ts.map +1 -0
- package/dist/roof/barrel-panel.js +17 -0
- package/dist/roof/conical-roof.d.ts +5 -1
- package/dist/roof/conical-roof.d.ts.map +1 -1
- package/dist/roof/conical-roof.js +19 -15
- package/dist/roof/definition.d.ts +1 -1
- package/dist/roof/definition.d.ts.map +1 -1
- package/dist/roof/definition.js +22 -11
- package/dist/roof/floorplan.d.ts +8 -0
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +202 -19
- package/dist/roof/glazed-geometry.d.ts +5 -0
- package/dist/roof/glazed-geometry.d.ts.map +1 -0
- package/dist/roof/glazed-geometry.js +27 -0
- package/dist/roof/glazed-materials.d.ts +14 -0
- package/dist/roof/glazed-materials.d.ts.map +1 -0
- package/dist/roof/glazed-materials.js +42 -0
- package/dist/roof/glazing-controls.d.ts +33 -0
- package/dist/roof/glazing-controls.d.ts.map +1 -0
- package/dist/roof/glazing-controls.js +50 -0
- package/dist/roof/glazing-panel-editor.d.ts +6 -0
- package/dist/roof/glazing-panel-editor.d.ts.map +1 -0
- package/dist/roof/glazing-panel-editor.js +44 -0
- package/dist/roof/glazing-panel.d.ts +5 -0
- package/dist/roof/glazing-panel.d.ts.map +1 -0
- package/dist/roof/glazing-panel.js +41 -0
- package/dist/roof/glazing-preview.d.ts +10 -0
- package/dist/roof/glazing-preview.d.ts.map +1 -0
- package/dist/roof/glazing-preview.js +48 -0
- package/dist/roof/index.d.ts +3 -3
- package/dist/roof/index.js +3 -3
- package/dist/roof/panel-model.d.ts.map +1 -1
- package/dist/roof/panel-model.js +10 -6
- package/dist/roof/panel.d.ts.map +1 -1
- package/dist/roof/panel.js +43 -15
- package/dist/roof/parametrics.js +1 -1
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +40 -7
- package/dist/roof/roof-footprint-source.d.ts.map +1 -1
- package/dist/roof/roof-level-target.d.ts +75 -0
- package/dist/roof/roof-level-target.d.ts.map +1 -0
- package/dist/roof/roof-level-target.js +119 -0
- package/dist/roof/roof-placement-mode.d.ts +3 -2
- package/dist/roof/roof-placement-mode.d.ts.map +1 -1
- package/dist/roof/system.d.ts +1 -2
- package/dist/roof/system.d.ts.map +1 -1
- package/dist/roof/system.js +5 -1
- package/dist/roof/tool.d.ts +3 -3
- package/dist/roof/tool.d.ts.map +1 -1
- package/dist/roof/tool.js +80 -41
- package/dist/roof-segment/definition.d.ts +1 -1
- package/dist/roof-segment/definition.d.ts.map +1 -1
- package/dist/roof-segment/definition.js +31 -62
- package/dist/roof-segment/floorplan-affordances.d.ts.map +1 -1
- package/dist/roof-segment/floorplan-affordances.js +13 -34
- package/dist/roof-segment/floorplan.d.ts.map +1 -1
- package/dist/roof-segment/floorplan.js +1 -0
- package/dist/roof-segment/index.d.ts +1 -1
- package/dist/roof-segment/index.js +1 -1
- package/dist/roof-segment/measurement.js +1 -1
- package/dist/roof-segment/paint.d.ts +4 -0
- package/dist/roof-segment/paint.d.ts.map +1 -0
- package/dist/roof-segment/paint.js +92 -0
- package/dist/roof-segment/panel.d.ts.map +1 -1
- package/dist/roof-segment/panel.js +20 -30
- package/dist/roof-segment/parametrics.d.ts +1 -1
- package/dist/roof-segment/parametrics.d.ts.map +1 -1
- package/dist/roof-segment/parametrics.js +12 -1
- package/dist/roof-segment/renderer.d.ts +1 -1
- package/dist/roof-segment/renderer.d.ts.map +1 -1
- package/dist/roof-segment/renderer.js +81 -19
- package/dist/scan/definition.d.ts +1 -1
- package/dist/scan/definition.js +4 -4
- package/dist/scan/index.d.ts +1 -1
- package/dist/scan/index.js +1 -1
- package/dist/scan/renderer.d.ts.map +1 -1
- package/dist/scan/system.d.ts.map +1 -1
- package/dist/separator/definition.d.ts +3 -0
- package/dist/separator/definition.d.ts.map +1 -0
- package/dist/separator/definition.js +39 -0
- package/dist/separator/renderer.d.ts +5 -0
- package/dist/separator/renderer.d.ts.map +1 -0
- package/dist/separator/renderer.js +36 -0
- package/dist/shared/accessory-placement.d.ts +1 -1
- package/dist/shared/accessory-placement.d.ts.map +1 -1
- package/dist/shared/accessory-placement.js +3 -3
- package/dist/shared/accessory-snapping.d.ts +1 -1
- package/dist/shared/accessory-snapping.d.ts.map +1 -1
- package/dist/shared/accessory-snapping.js +1 -1
- package/dist/shared/auto-fitting.d.ts +1 -1
- package/dist/shared/auto-fitting.d.ts.map +1 -1
- package/dist/shared/auto-fitting.js +3 -3
- package/dist/shared/automatic-run-end-cap.d.ts +1 -1
- package/dist/shared/automatic-run-end-cap.d.ts.map +1 -1
- package/dist/shared/automatic-run-end-cap.js +4 -4
- package/dist/shared/block-face-host.d.ts +1 -1
- package/dist/shared/connection-feedback.d.ts +1 -2
- package/dist/shared/connection-feedback.d.ts.map +1 -1
- package/dist/shared/connection-feedback.js +1 -2
- package/dist/shared/construction-dimension-standards.d.ts +1 -1
- package/dist/shared/curtain-opening-limits.js +1 -1
- package/dist/shared/draft-axis-guides.js +1 -1
- package/dist/shared/duct-adapter.d.ts +2 -2
- package/dist/shared/duct-adapter.d.ts.map +1 -1
- package/dist/shared/duct-adapter.js +3 -3
- package/dist/shared/duct-body-paint.d.ts +0 -4
- package/dist/shared/duct-body-paint.d.ts.map +1 -1
- package/dist/shared/duct-body-paint.js +2 -6
- package/dist/shared/elbow-branch-continuation.d.ts +1 -1
- package/dist/shared/elbow-branch-continuation.d.ts.map +1 -1
- package/dist/shared/elbow-branch-continuation.js +2 -2
- package/dist/shared/finish-script-model.d.ts +12 -0
- package/dist/shared/finish-script-model.d.ts.map +1 -0
- package/dist/shared/finish-script-model.js +32 -0
- package/dist/shared/fitting-deletion-cleanup.js +2 -2
- package/dist/shared/fitting-endpoint-reaim.js +3 -3
- package/dist/shared/fitting-surface-support.d.ts.map +1 -1
- package/dist/shared/fitting-surface-support.js +2 -2
- package/dist/shared/fitting-tool-options.js +1 -1
- package/dist/shared/floor-placement.d.ts.map +1 -1
- package/dist/shared/floorplan-cursor.d.ts.map +1 -1
- package/dist/shared/hosted-resize.d.ts +2 -1
- package/dist/shared/hosted-resize.d.ts.map +1 -1
- package/dist/shared/hosted-resize.js +11 -3
- package/dist/shared/item-interaction-actions.d.ts +6 -0
- package/dist/shared/item-interaction-actions.d.ts.map +1 -0
- package/dist/shared/item-interaction-actions.js +27 -0
- package/dist/shared/item-interactions.d.ts +9 -0
- package/dist/shared/item-interactions.d.ts.map +1 -0
- package/dist/shared/item-interactions.js +74 -0
- package/dist/shared/item-light-placement.d.ts +2 -0
- package/dist/shared/item-light-placement.d.ts.map +1 -0
- package/dist/shared/item-light-placement.js +3 -0
- package/dist/shared/lean-to-post-omissions.d.ts +1 -1
- package/dist/shared/lean-to-post-omissions.js +1 -1
- package/dist/shared/mep-ghost.js +5 -5
- package/dist/shared/move-roof-tool.d.ts.map +1 -1
- package/dist/shared/move-roof-tool.js +129 -35
- package/dist/shared/node-batch/batchable.d.ts +12 -0
- package/dist/shared/node-batch/batchable.d.ts.map +1 -0
- package/dist/shared/node-batch/batchable.js +43 -0
- package/dist/shared/node-batch/candidates.d.ts +8 -6
- package/dist/shared/node-batch/candidates.d.ts.map +1 -1
- package/dist/shared/node-batch/candidates.js +44 -60
- package/dist/shared/node-batch/release.d.ts +8 -0
- package/dist/shared/node-batch/release.d.ts.map +1 -0
- package/dist/shared/node-batch/release.js +16 -0
- package/dist/shared/node-batch/store.d.ts +1 -1
- package/dist/shared/node-batch/store.d.ts.map +1 -1
- package/dist/shared/node-batch/store.js +1 -1
- package/dist/shared/node-batch/system.d.ts.map +1 -1
- package/dist/shared/node-batch/system.js +36 -16
- package/dist/shared/node-batch/types.d.ts +4 -1
- package/dist/shared/node-batch/types.d.ts.map +1 -1
- package/dist/shared/opening-documentation.d.ts +14 -2
- package/dist/shared/opening-documentation.d.ts.map +1 -1
- package/dist/shared/opening-documentation.js +246 -60
- package/dist/shared/opening-guides-runtime.d.ts.map +1 -1
- package/dist/shared/opening-guides-runtime.js +18 -15
- package/dist/shared/opening-move-wall-gate.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +5 -5
- package/dist/shared/opening-plane-offset.d.ts +23 -0
- package/dist/shared/opening-plane-offset.d.ts.map +1 -0
- package/dist/shared/opening-plane-offset.js +24 -0
- package/dist/shared/opening-property-preview-host.d.ts +1 -1
- package/dist/shared/opening-property-preview.d.ts.map +1 -1
- package/dist/shared/opening-property-preview.js +1 -1
- package/dist/shared/panel-fields.js +2 -2
- package/dist/shared/path-point-affordance.js +2 -2
- package/dist/shared/pipe-run-translation-offset.d.ts +2 -2
- package/dist/shared/pipe-run-translation-offset.d.ts.map +1 -1
- package/dist/shared/pipe-run-translation-offset.js +2 -2
- package/dist/shared/pipe-vertical-offset.d.ts +2 -2
- package/dist/shared/pipe-vertical-offset.d.ts.map +1 -1
- package/dist/shared/pipe-vertical-offset.js +2 -2
- package/dist/shared/polygon-centroid-move.d.ts.map +1 -1
- package/dist/shared/polygon-centroid-move.js +5 -2
- package/dist/shared/polygon-vertex-affordance.d.ts.map +1 -1
- package/dist/shared/polygon-vertex-affordance.js +19 -15
- package/dist/shared/port-systems.d.ts +9 -0
- package/dist/shared/port-systems.d.ts.map +1 -0
- package/dist/shared/port-systems.js +10 -0
- package/dist/shared/refrigerant-line-selection.d.ts.map +1 -1
- package/dist/shared/refrigerant-line-selection.js +3 -2
- package/dist/shared/relative-roof-drag.d.ts +1 -1
- package/dist/shared/relative-roof-drag.js +2 -2
- package/dist/shared/roof-segment-hit.d.ts.map +1 -1
- package/dist/shared/roof-segment-hit.js +7 -5
- package/dist/shared/roof-surface-placement-guides.d.ts +1 -1
- package/dist/shared/roof-surface-placement-guides.js +11 -11
- package/dist/shared/roof-surface.d.ts.map +1 -1
- package/dist/shared/roof-surface.js +25 -5
- package/dist/shared/run-hanger-controls.d.ts +1 -1
- package/dist/shared/run-hanger-controls.js +1 -1
- package/dist/shared/run-hanger-inspector.d.ts +1 -1
- package/dist/shared/run-hanger-inspector.js +3 -3
- package/dist/shared/run-hangers.d.ts.map +1 -1
- package/dist/shared/run-hangers.js +7 -6
- package/dist/shared/run-move-connectivity.d.ts.map +1 -1
- package/dist/shared/run-translation-offset.d.ts +3 -3
- package/dist/shared/run-translation-offset.d.ts.map +1 -1
- package/dist/shared/run-translation-offset.js +2 -2
- package/dist/shared/scripted-opening-handles.d.ts +18 -0
- package/dist/shared/scripted-opening-handles.d.ts.map +1 -0
- package/dist/shared/scripted-opening-handles.js +53 -0
- package/dist/shared/scripted-opening.d.ts +25 -0
- package/dist/shared/scripted-opening.d.ts.map +1 -0
- package/dist/shared/scripted-opening.js +72 -0
- package/dist/shared/slot-paint.d.ts +14 -2
- package/dist/shared/slot-paint.d.ts.map +1 -1
- package/dist/shared/slot-paint.js +29 -29
- package/dist/shared/surface-paint.d.ts.map +1 -1
- package/dist/shared/surface-paint.js +3 -6
- package/dist/shared/swap-preview-material.d.ts +13 -0
- package/dist/shared/swap-preview-material.d.ts.map +1 -0
- package/dist/shared/swap-preview-material.js +27 -0
- package/dist/shared/system-check-panel.js +1 -1
- package/dist/shared/system-checks.d.ts.map +1 -1
- package/dist/shared/system-checks.js +7 -5
- package/dist/shared/vertical-offset.d.ts +3 -3
- package/dist/shared/vertical-offset.d.ts.map +1 -1
- package/dist/shared/vertical-offset.js +3 -3
- package/dist/shared/wall-attach-target.d.ts +3 -10
- package/dist/shared/wall-attach-target.d.ts.map +1 -1
- package/dist/shared/wall-attach-target.js +3 -63
- package/dist/shared/wall-opening-ceiling.d.ts +5 -15
- package/dist/shared/wall-opening-ceiling.d.ts.map +1 -1
- package/dist/shared/wall-opening-ceiling.js +10 -18
- package/dist/shared/wall-run-move.d.ts +1 -1
- package/dist/shared/wall-run-move.d.ts.map +1 -1
- package/dist/shelf/definition.d.ts +1 -1
- package/dist/shelf/definition.d.ts.map +1 -1
- package/dist/shelf/definition.js +14 -12
- package/dist/shelf/dimensions.d.ts +1 -1
- package/dist/shelf/floorplan-affordances.js +1 -1
- package/dist/shelf/floorplan-move.js +1 -1
- package/dist/shelf/floorplan.d.ts +1 -1
- package/dist/shelf/floorplan.js +2 -2
- package/dist/shelf/geometry.d.ts +1 -1
- package/dist/shelf/geometry.d.ts.map +1 -1
- package/dist/shelf/geometry.js +2 -3
- package/dist/shelf/index.d.ts +3 -3
- package/dist/shelf/index.js +3 -3
- package/dist/shelf/paint.d.ts.map +1 -1
- package/dist/shelf/paint.js +4 -10
- package/dist/shelf/parametrics.d.ts +1 -1
- package/dist/shelf/preview.d.ts +1 -1
- package/dist/shelf/preview.d.ts.map +1 -1
- package/dist/shelf/preview.js +1 -1
- package/dist/shelf/tool.d.ts.map +1 -1
- package/dist/shelf/tool.js +3 -3
- package/dist/site/definition.d.ts +1 -1
- package/dist/site/definition.d.ts.map +1 -1
- package/dist/site/definition.js +5 -4
- package/dist/site/generic-foundation-geometry.d.ts +16 -0
- package/dist/site/generic-foundation-geometry.d.ts.map +1 -0
- package/dist/site/generic-foundation-geometry.js +75 -0
- package/dist/site/generic-foundation.d.ts +4 -0
- package/dist/site/generic-foundation.d.ts.map +1 -0
- package/dist/site/generic-foundation.js +91 -0
- package/dist/site/ground-hole.d.ts +92 -0
- package/dist/site/ground-hole.d.ts.map +1 -0
- package/dist/site/ground-hole.js +306 -0
- package/dist/site/ground-pit-geometry.d.ts +39 -0
- package/dist/site/ground-pit-geometry.d.ts.map +1 -0
- package/dist/site/ground-pit-geometry.js +213 -0
- package/dist/site/ground-pit.d.ts +45 -0
- package/dist/site/ground-pit.d.ts.map +1 -0
- package/dist/site/ground-pit.js +175 -0
- package/dist/site/ground-veil.d.ts +39 -0
- package/dist/site/ground-veil.d.ts.map +1 -0
- package/dist/site/ground-veil.js +86 -0
- package/dist/site/ground-window-system.d.ts +9 -0
- package/dist/site/ground-window-system.d.ts.map +1 -0
- package/dist/site/ground-window-system.js +108 -0
- package/dist/site/hole-noise.d.ts +11 -0
- package/dist/site/hole-noise.d.ts.map +1 -0
- package/dist/site/hole-noise.js +79 -0
- package/dist/site/index.d.ts +1 -1
- package/dist/site/index.js +1 -1
- package/dist/site/line-ribbon.d.ts +31 -0
- package/dist/site/line-ribbon.d.ts.map +1 -0
- package/dist/site/line-ribbon.js +117 -0
- package/dist/site/lot-mask.d.ts +20 -0
- package/dist/site/lot-mask.d.ts.map +1 -0
- package/dist/site/lot-mask.js +39 -0
- package/dist/site/panel.d.ts +10 -0
- package/dist/site/panel.d.ts.map +1 -0
- package/dist/site/panel.js +179 -0
- package/dist/site/parametrics.d.ts +7 -0
- package/dist/site/parametrics.d.ts.map +1 -1
- package/dist/site/parametrics.js +8 -0
- package/dist/site/recessed-slab-ground-holes.d.ts.map +1 -1
- package/dist/site/recessed-slab-ground-holes.js +5 -2
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +275 -40
- package/dist/site/terrain-geometry.d.ts +28 -1
- package/dist/site/terrain-geometry.d.ts.map +1 -1
- package/dist/site/terrain-geometry.js +78 -4
- package/dist/site/terrain-holes.d.ts +15 -0
- package/dist/site/terrain-holes.d.ts.map +1 -0
- package/dist/site/terrain-holes.js +74 -0
- package/dist/site/terrain-mesh.d.ts +10 -3
- package/dist/site/terrain-mesh.d.ts.map +1 -1
- package/dist/site/terrain-mesh.js +36 -9
- package/dist/site/terrain-renderer.d.ts +11 -2
- package/dist/site/terrain-renderer.d.ts.map +1 -1
- package/dist/site/terrain-renderer.js +23 -6
- package/dist/site/underground-edge.d.ts +26 -0
- package/dist/site/underground-edge.d.ts.map +1 -0
- package/dist/site/underground-edge.js +46 -0
- package/dist/skylight/definition.d.ts +1 -1
- package/dist/skylight/definition.d.ts.map +1 -1
- package/dist/skylight/definition.js +11 -10
- package/dist/skylight/geometry.d.ts +1 -1
- package/dist/skylight/geometry.js +1 -1
- package/dist/skylight/index.d.ts +4 -4
- package/dist/skylight/index.js +4 -4
- package/dist/skylight/move-tool.js +4 -4
- package/dist/skylight/panel.js +3 -3
- package/dist/skylight/parametrics.d.ts +1 -1
- package/dist/skylight/parametrics.js +1 -1
- package/dist/skylight/preview.d.ts +1 -1
- package/dist/skylight/preview.d.ts.map +1 -1
- package/dist/skylight/preview.js +2 -2
- package/dist/skylight/renderer.d.ts.map +1 -1
- package/dist/skylight/renderer.js +5 -5
- package/dist/skylight/system.d.ts.map +1 -1
- package/dist/skylight/tool.d.ts.map +1 -1
- package/dist/skylight/tool.js +7 -7
- package/dist/slab/boundary-editor.d.ts +1 -1
- package/dist/slab/boundary-editor.d.ts.map +1 -1
- package/dist/slab/boundary-editor.js +13 -13
- package/dist/slab/definition.d.ts +1 -1
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.js +44 -19
- package/dist/slab/dependency-tracker.d.ts.map +1 -1
- package/dist/slab/dependency-tracker.js +67 -7
- package/dist/slab/elevation-limit.d.ts.map +1 -1
- package/dist/slab/elevation-limit.js +2 -2
- package/dist/slab/floorplan-affordances.d.ts +232 -60
- package/dist/slab/floorplan-affordances.d.ts.map +1 -1
- package/dist/slab/floorplan-affordances.js +1 -2
- package/dist/slab/floorplan-move.d.ts.map +1 -1
- package/dist/slab/floorplan-move.js +4 -5
- package/dist/slab/floorplan.d.ts +7 -0
- package/dist/slab/floorplan.d.ts.map +1 -1
- package/dist/slab/floorplan.js +22 -5
- package/dist/slab/geometry.d.ts.map +1 -1
- package/dist/slab/geometry.js +187 -77
- package/dist/slab/hole-editor.d.ts.map +1 -1
- package/dist/slab/index.d.ts +2 -2
- package/dist/slab/index.js +2 -2
- package/dist/slab/move-tool.d.ts.map +1 -1
- package/dist/slab/move-tool.js +7 -6
- package/dist/slab/paint.d.ts +18 -5
- package/dist/slab/paint.d.ts.map +1 -1
- package/dist/slab/paint.js +461 -9
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +32 -13
- package/dist/slab/parametrics.d.ts +1 -1
- package/dist/slab/parametrics.js +1 -1
- package/dist/slab/placement-ownership.d.ts +2 -1
- package/dist/slab/placement-ownership.d.ts.map +1 -1
- package/dist/slab/placement-ownership.js +2 -2
- package/dist/slab/quick-measurement.js +1 -1
- package/dist/slab/surface-split.d.ts +24 -0
- package/dist/slab/surface-split.d.ts.map +1 -0
- package/dist/slab/surface-split.js +389 -0
- package/dist/slab/system.d.ts.map +1 -1
- package/dist/slab/system.js +1 -1
- package/dist/slab/tool.d.ts.map +1 -1
- package/dist/slab/tool.js +7 -5
- package/dist/solar-panel/definition.d.ts +1 -1
- package/dist/solar-panel/definition.d.ts.map +1 -1
- package/dist/solar-panel/definition.js +8 -7
- package/dist/solar-panel/index.d.ts +4 -4
- package/dist/solar-panel/index.js +4 -4
- package/dist/solar-panel/move-tool.js +3 -3
- package/dist/solar-panel/panel.d.ts.map +1 -1
- package/dist/solar-panel/panel.js +4 -4
- package/dist/solar-panel/parametrics.d.ts +1 -1
- package/dist/solar-panel/parametrics.js +1 -1
- package/dist/solar-panel/preview.d.ts +1 -1
- package/dist/solar-panel/preview.d.ts.map +1 -1
- package/dist/solar-panel/preview.js +2 -2
- package/dist/solar-panel/renderer.d.ts.map +1 -1
- package/dist/solar-panel/renderer.js +3 -3
- package/dist/solar-panel/tool.d.ts.map +1 -1
- package/dist/solar-panel/tool.js +7 -7
- package/dist/spawn/definition.d.ts +1 -1
- package/dist/spawn/definition.js +7 -7
- package/dist/spawn/floorplan-affordances.js +1 -1
- package/dist/spawn/floorplan.d.ts +1 -1
- package/dist/spawn/index.d.ts +2 -2
- package/dist/spawn/index.js +2 -2
- package/dist/spawn/panel.js +1 -1
- package/dist/spawn/parametrics.d.ts +1 -1
- package/dist/spawn/parametrics.js +1 -1
- package/dist/spawn/renderer.d.ts.map +1 -1
- package/dist/spawn/renderer.js +1 -1
- package/dist/spawn/tool.d.ts.map +1 -1
- package/dist/spawn/tool.js +2 -2
- package/dist/stair/baluster-geometry.d.ts +21 -0
- package/dist/stair/baluster-geometry.d.ts.map +1 -0
- package/dist/stair/baluster-geometry.js +74 -0
- package/dist/stair/baluster-guard.d.ts +50 -0
- package/dist/stair/baluster-guard.d.ts.map +1 -0
- package/dist/stair/baluster-guard.js +71 -0
- package/dist/stair/boards-guard.d.ts +37 -0
- package/dist/stair/boards-guard.d.ts.map +1 -0
- package/dist/stair/boards-guard.js +61 -0
- package/dist/stair/cable-guard.d.ts +39 -0
- package/dist/stair/cable-guard.d.ts.map +1 -0
- package/dist/stair/cable-guard.js +105 -0
- package/dist/stair/construction-controls.d.ts +15 -0
- package/dist/stair/construction-controls.d.ts.map +1 -0
- package/dist/stair/construction-controls.js +29 -0
- package/dist/stair/continuous-railings.d.ts +10 -0
- package/dist/stair/continuous-railings.d.ts.map +1 -0
- package/dist/stair/continuous-railings.js +159 -0
- package/dist/stair/definition.d.ts +1 -1
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.js +39 -46
- package/dist/stair/documentation.d.ts +1 -1
- package/dist/stair/documentation.d.ts.map +1 -1
- package/dist/stair/documentation.js +11 -18
- package/dist/stair/floorplan-affordances.d.ts.map +1 -1
- package/dist/stair/floorplan-affordances.js +10 -26
- package/dist/stair/floorplan-move.d.ts.map +1 -1
- package/dist/stair/floorplan-move.js +90 -10
- package/dist/stair/floorplan.d.ts +2 -24
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +123 -88
- package/dist/stair/glass-guard.d.ts +72 -0
- package/dist/stair/glass-guard.d.ts.map +1 -0
- package/dist/stair/glass-guard.js +167 -0
- package/dist/stair/guard-path.d.ts +119 -0
- package/dist/stair/guard-path.d.ts.map +1 -0
- package/dist/stair/guard-path.js +208 -0
- package/dist/stair/index.d.ts +1 -1
- package/dist/stair/index.js +1 -1
- package/dist/stair/materials.d.ts +11 -0
- package/dist/stair/materials.d.ts.map +1 -0
- package/dist/stair/materials.js +51 -0
- package/dist/stair/metal-guard.d.ts +38 -0
- package/dist/stair/metal-guard.d.ts.map +1 -0
- package/dist/stair/metal-guard.js +79 -0
- package/dist/stair/paint.d.ts +32 -0
- package/dist/stair/paint.d.ts.map +1 -1
- package/dist/stair/paint.js +75 -36
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +170 -19
- package/dist/stair/parametrics.d.ts +1 -1
- package/dist/stair/parametrics.d.ts.map +1 -1
- package/dist/stair/parametrics.js +33 -16
- package/dist/stair/plan-entry.d.ts +31 -0
- package/dist/stair/plan-entry.d.ts.map +1 -0
- package/dist/stair/plan-entry.js +325 -0
- package/dist/stair/post-and-rail-guard.d.ts +31 -0
- package/dist/stair/post-and-rail-guard.d.ts.map +1 -0
- package/dist/stair/post-and-rail-guard.js +63 -0
- package/dist/stair/railing-controls.d.ts +9 -0
- package/dist/stair/railing-controls.d.ts.map +1 -0
- package/dist/stair/railing-controls.js +49 -0
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +355 -262
- package/dist/stair/stair-click-guard.d.ts +43 -0
- package/dist/stair/stair-click-guard.d.ts.map +1 -0
- package/dist/stair/stair-click-guard.js +44 -0
- package/dist/stair/stair-type.d.ts.map +1 -1
- package/dist/stair/stair-type.js +1 -2
- package/dist/stair/surface-move-preview.d.ts +4 -0
- package/dist/stair/surface-move-preview.d.ts.map +1 -0
- package/dist/stair/surface-move-preview.js +53 -0
- package/dist/stair/surface-transition.d.ts +9 -0
- package/dist/stair/surface-transition.d.ts.map +1 -0
- package/dist/stair/surface-transition.js +61 -0
- package/dist/stair/system.d.ts.map +1 -1
- package/dist/stair/tool.d.ts +2 -0
- package/dist/stair/tool.d.ts.map +1 -0
- package/dist/stair/tool.js +580 -0
- package/dist/stair/use-stair-render-data.d.ts +319 -0
- package/dist/stair/use-stair-render-data.d.ts.map +1 -0
- package/dist/stair/use-stair-render-data.js +73 -0
- package/dist/stair-segment/definition.d.ts +1 -1
- package/dist/stair-segment/definition.d.ts.map +1 -1
- package/dist/stair-segment/definition.js +52 -14
- package/dist/stair-segment/index.d.ts +1 -1
- package/dist/stair-segment/index.js +1 -1
- package/dist/stair-segment/panel.d.ts.map +1 -1
- package/dist/stair-segment/panel.js +38 -44
- package/dist/stair-segment/parametrics.d.ts +1 -1
- package/dist/stair-segment/parametrics.d.ts.map +1 -1
- package/dist/stair-segment/parametrics.js +22 -9
- package/dist/stair-segment/renderer.d.ts.map +1 -1
- package/dist/stair-segment/renderer.js +17 -29
- package/dist/structural-grid/definition.d.ts +1 -1
- package/dist/structural-grid/definition.js +3 -3
- package/dist/structural-grid/floorplan-tool.d.ts.map +1 -1
- package/dist/structural-grid/index.d.ts +1 -1
- package/dist/structural-grid/index.js +1 -1
- package/dist/turbine-vent/definition.d.ts +1 -1
- package/dist/turbine-vent/definition.d.ts.map +1 -1
- package/dist/turbine-vent/definition.js +11 -13
- package/dist/turbine-vent/geometry.js +1 -1
- package/dist/turbine-vent/index.d.ts +3 -3
- package/dist/turbine-vent/index.js +3 -3
- package/dist/turbine-vent/move-tool.js +4 -4
- package/dist/turbine-vent/paint.d.ts.map +1 -1
- package/dist/turbine-vent/paint.js +3 -6
- package/dist/turbine-vent/panel.d.ts.map +1 -1
- package/dist/turbine-vent/panel.js +6 -24
- package/dist/turbine-vent/parametrics.d.ts +1 -1
- package/dist/turbine-vent/parametrics.js +1 -1
- package/dist/turbine-vent/preview.d.ts +1 -1
- package/dist/turbine-vent/preview.d.ts.map +1 -1
- package/dist/turbine-vent/preview.js +2 -2
- package/dist/turbine-vent/renderer.d.ts.map +1 -1
- package/dist/turbine-vent/renderer.js +3 -3
- package/dist/turbine-vent/tool.d.ts.map +1 -1
- package/dist/turbine-vent/tool.js +7 -7
- package/dist/unit/definition.d.ts +1 -1
- package/dist/unit/definition.js +2 -2
- package/dist/unit/index.d.ts +1 -1
- package/dist/unit/index.js +1 -1
- package/dist/unit/parametrics.js +1 -1
- package/dist/unit/unit-panel.d.ts.map +1 -1
- package/dist/unit/unit-panel.js +7 -2
- package/dist/wall/actions.d.ts.map +1 -1
- package/dist/wall/actions.js +9 -4
- package/dist/wall/construction-dimensions.d.ts +3 -3
- package/dist/wall/construction-dimensions.js +14 -11
- package/dist/wall/contextual-dimensions.js +4 -4
- package/dist/wall/curtain-opening-frame.d.ts.map +1 -1
- package/dist/wall/curtain-wall-adapter.js +2 -2
- package/dist/wall/curtain-wall-floorplan.js +2 -2
- package/dist/wall/curtain-wall-geometry.d.ts.map +1 -1
- package/dist/wall/curtain-wall-geometry.js +4 -4
- package/dist/wall/curtain-wall-layout.d.ts +1 -2
- package/dist/wall/curtain-wall-layout.d.ts.map +1 -1
- package/dist/wall/curtain-wall-layout.js +1 -23
- package/dist/wall/curtain-wall-materials.d.ts +1 -1
- package/dist/wall/curtain-wall-materials.d.ts.map +1 -1
- package/dist/wall/curtain-wall-materials.js +4 -3
- package/dist/wall/curtain-wall-panel.d.ts.map +1 -1
- package/dist/wall/curtain-wall-panel.js +4 -4
- package/dist/wall/curtain-wall-piece-geometry.d.ts +1 -1
- package/dist/wall/curve-tool.d.ts.map +1 -1
- package/dist/wall/curve-tool.js +4 -0
- package/dist/wall/definition.d.ts +1 -1
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.js +71 -42
- package/dist/wall/exterior.d.ts +6 -0
- package/dist/wall/exterior.d.ts.map +1 -0
- package/dist/wall/exterior.js +13 -0
- package/dist/wall/floorplan-move.d.ts +1 -1
- package/dist/wall/floorplan-move.d.ts.map +1 -1
- package/dist/wall/floorplan-move.js +21 -84
- package/dist/wall/floorplan-tool.d.ts.map +1 -1
- package/dist/wall/floorplan-tool.js +11 -12
- package/dist/wall/floorplan.d.ts +5 -3
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +188 -25
- package/dist/wall/index.d.ts +2 -2
- package/dist/wall/index.js +2 -2
- package/dist/wall/measurement.d.ts.map +1 -1
- package/dist/wall/measurement.js +6 -6
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +25 -13
- package/dist/wall/move-shared.d.ts.map +1 -1
- package/dist/wall/move-shared.js +12 -8
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +120 -151
- package/dist/wall/paint.d.ts +26 -15
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +303 -119
- package/dist/wall/panel-model.d.ts +18 -0
- package/dist/wall/panel-model.d.ts.map +1 -1
- package/dist/wall/panel-model.js +82 -24
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +262 -53
- package/dist/wall/parametrics.d.ts +1 -1
- package/dist/wall/parametrics.d.ts.map +1 -1
- package/dist/wall/parametrics.js +4 -1
- package/dist/wall/pointer-transparency.d.ts +1 -1
- package/dist/wall/pointer-transparency.d.ts.map +1 -1
- package/dist/wall/preview.d.ts.map +1 -1
- package/dist/wall/property-preview.d.ts.map +1 -1
- package/dist/wall/quick-measurement.js +1 -1
- package/dist/wall/rectangle-command.d.ts +329 -37
- package/dist/wall/rectangle-command.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.js +27 -9
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +31 -10
- package/dist/wall/selection-hit-owner.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.js +10 -10
- package/dist/wall/split-pointer.js +2 -2
- package/dist/wall/split-preview.d.ts +1 -1
- package/dist/wall/split-session.d.ts.map +1 -1
- package/dist/wall/split-session.js +9 -3
- package/dist/wall/split-store.d.ts +1 -1
- package/dist/wall/split-tool.js +3 -3
- package/dist/wall/system.d.ts.map +1 -1
- package/dist/wall/system.js +42 -10
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +114 -53
- package/dist/wall/treatment-level-data.d.ts +3 -2
- package/dist/wall/treatment-level-data.d.ts.map +1 -1
- package/dist/wall/treatment-level-data.js +17 -13
- package/dist/wall/treatments.d.ts +11 -11
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +77 -57
- package/dist/wall/wall-batch-system.d.ts +7 -0
- package/dist/wall/wall-batch-system.d.ts.map +1 -1
- package/dist/wall/wall-batch-system.js +81 -7
- package/dist/wall/wall-batch.d.ts +6 -0
- package/dist/wall/wall-batch.d.ts.map +1 -1
- package/dist/wall/wall-batch.js +7 -1
- package/dist/window/contextual-dimensions.js +1 -1
- package/dist/window/corner-cue.d.ts +9 -0
- package/dist/window/corner-cue.d.ts.map +1 -0
- package/dist/window/corner-cue.js +31 -0
- package/dist/window/corner-fuse.d.ts +14 -0
- package/dist/window/corner-fuse.d.ts.map +1 -0
- package/dist/window/corner-fuse.js +42 -0
- package/dist/window/definition.d.ts +1 -1
- package/dist/window/definition.d.ts.map +1 -1
- package/dist/window/definition.js +39 -26
- package/dist/window/floor-projection.js +1 -1
- package/dist/window/floorplan-affordances.js +2 -2
- package/dist/window/floorplan-move.d.ts.map +1 -1
- package/dist/window/floorplan-move.js +49 -13
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +214 -87
- package/dist/window/index.d.ts +2 -2
- package/dist/window/index.js +2 -2
- package/dist/window/mechanism.d.ts +4 -0
- package/dist/window/mechanism.d.ts.map +1 -0
- package/dist/window/mechanism.js +20 -0
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +165 -69
- package/dist/window/paint.d.ts.map +1 -1
- package/dist/window/paint.js +4 -1
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +134 -100
- package/dist/window/parametrics.d.ts +1 -1
- package/dist/window/parametrics.d.ts.map +1 -1
- package/dist/window/parametrics.js +7 -1
- package/dist/window/placement.d.ts +29 -0
- package/dist/window/placement.d.ts.map +1 -0
- package/dist/window/placement.js +92 -0
- package/dist/window/preview.d.ts +1 -1
- package/dist/window/preview.d.ts.map +1 -1
- package/dist/window/preview.js +3 -1
- package/dist/window/renderer.d.ts.map +1 -1
- package/dist/window/renderer.js +4 -3
- package/dist/window/system.d.ts.map +1 -1
- package/dist/window/system.js +1 -1
- package/dist/window/tool.d.ts.map +1 -1
- package/dist/window/tool.js +207 -50
- package/dist/window/window-math.d.ts +7 -15
- package/dist/window/window-math.d.ts.map +1 -1
- package/dist/window/window-math.js +15 -21
- package/dist/zone/contextual-dimensions.d.ts.map +1 -1
- package/dist/zone/contextual-dimensions.js +6 -28
- package/dist/zone/definition.d.ts +1 -1
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.js +17 -15
- package/dist/zone/floorplan-affordances.d.ts +613 -37
- package/dist/zone/floorplan-affordances.d.ts.map +1 -1
- package/dist/zone/floorplan-affordances.js +1 -1
- package/dist/zone/floorplan-move.js +1 -1
- package/dist/zone/floorplan.d.ts +1 -1
- package/dist/zone/floorplan.d.ts.map +1 -1
- package/dist/zone/floorplan.js +96 -56
- package/dist/zone/index.d.ts +1 -1
- package/dist/zone/index.js +1 -1
- package/dist/zone/parametrics.js +1 -1
- package/dist/zone/quantities-panel.d.ts.map +1 -1
- package/dist/zone/quantities-panel.js +6 -17
- package/dist/zone/quick-measurement.d.ts +2 -2
- package/dist/zone/quick-measurement.d.ts.map +1 -1
- package/dist/zone/quick-measurement.js +7 -6
- package/dist/zone/renderer.d.ts +1 -1
- package/dist/zone/renderer.d.ts.map +1 -1
- package/dist/zone/renderer.js +67 -147
- package/dist/zone/room-clear-dimensions.js +4 -4
- package/dist/zone/room-documentation.d.ts +1 -1
- package/dist/zone/room-documentation.d.ts.map +1 -1
- package/dist/zone/room-documentation.js +3 -7
- package/dist/zone/system.d.ts.map +1 -1
- package/package.json +28 -15
- package/dist/block/slots.d.ts +0 -4
- package/dist/block/slots.d.ts.map +0 -1
- package/dist/block/slots.js +0 -17
- package/dist/cabinet/slots.d.ts +0 -4
- package/dist/cabinet/slots.d.ts.map +0 -1
- package/dist/cabinet/slots.js +0 -24
- package/dist/ceiling/slots.d.ts +0 -6
- package/dist/ceiling/slots.d.ts.map +0 -1
- package/dist/ceiling/slots.js +0 -7
- package/dist/column/slots.d.ts +0 -9
- package/dist/column/slots.d.ts.map +0 -1
- package/dist/column/slots.js +0 -19
- package/dist/door/slots.d.ts +0 -9
- package/dist/door/slots.d.ts.map +0 -1
- package/dist/door/slots.js +0 -20
- package/dist/elevator/slots.d.ts +0 -8
- package/dist/elevator/slots.d.ts.map +0 -1
- package/dist/elevator/slots.js +0 -17
- package/dist/fence/slots.d.ts +0 -10
- package/dist/fence/slots.d.ts.map +0 -1
- package/dist/fence/slots.js +0 -23
- package/dist/item/__fixtures__/main-floorplan.d.ts +0 -26
- package/dist/item/__fixtures__/main-floorplan.d.ts.map +0 -1
- package/dist/item/__fixtures__/main-floorplan.js +0 -297
- package/dist/lean-to-extension/slots.d.ts +0 -5
- package/dist/lean-to-extension/slots.d.ts.map +0 -1
- package/dist/lean-to-extension/slots.js +0 -15
- package/dist/shared/connection-compatibility.d.ts +0 -8
- package/dist/shared/connection-compatibility.d.ts.map +0 -1
- package/dist/shared/connection-compatibility.js +0 -28
- package/dist/shared/distribution-run-contract.d.ts +0 -49
- package/dist/shared/distribution-run-contract.d.ts.map +0 -1
- package/dist/shared/distribution-run-contract.js +0 -30
- package/dist/shared/distribution-run-tool.d.ts +0 -117
- package/dist/shared/distribution-run-tool.d.ts.map +0 -1
- package/dist/shared/distribution-run-tool.js +0 -986
- package/dist/shared/draw-alignment.d.ts +0 -25
- package/dist/shared/draw-alignment.d.ts.map +0 -1
- package/dist/shared/draw-alignment.js +0 -30
- package/dist/shared/ports.d.ts +0 -92
- package/dist/shared/ports.d.ts.map +0 -1
- package/dist/shared/ports.js +0 -305
- package/dist/shared/run-cursor.d.ts +0 -22
- package/dist/shared/run-cursor.d.ts.map +0 -1
- package/dist/shared/run-cursor.js +0 -19
- package/dist/shared/run-direction-feedback.d.ts +0 -20
- package/dist/shared/run-direction-feedback.d.ts.map +0 -1
- package/dist/shared/run-direction-feedback.js +0 -139
- package/dist/shared/run-port-snap.d.ts +0 -11
- package/dist/shared/run-port-snap.d.ts.map +0 -1
- package/dist/shared/run-port-snap.js +0 -19
- package/dist/shared/run-screen-direction.d.ts +0 -5
- package/dist/shared/run-screen-direction.d.ts.map +0 -1
- package/dist/shared/run-screen-direction.js +0 -24
- package/dist/shelf/slots.d.ts +0 -9
- package/dist/shelf/slots.d.ts.map +0 -1
- package/dist/shelf/slots.js +0 -30
- package/dist/slab/slots.d.ts +0 -10
- package/dist/slab/slots.d.ts.map +0 -1
- package/dist/slab/slots.js +0 -20
- package/dist/stair/floor-stack.d.ts +0 -10
- package/dist/stair/floor-stack.d.ts.map +0 -1
- package/dist/stair/floor-stack.js +0 -115
- package/dist/stair/slots.d.ts +0 -7
- package/dist/stair/slots.d.ts.map +0 -1
- package/dist/stair/slots.js +0 -13
- package/dist/wall/drawing-mode.d.ts +0 -12
- package/dist/wall/drawing-mode.d.ts.map +0 -1
- package/dist/wall/drawing-mode.js +0 -38
- package/dist/wall/slots.d.ts +0 -10
- package/dist/wall/slots.d.ts.map +0 -1
- package/dist/wall/slots.js +0 -92
- package/dist/window/slots.d.ts +0 -5
- package/dist/window/slots.d.ts.map +0 -1
- package/dist/window/slots.js +0 -11
package/dist/cabinet/tool.js
CHANGED
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { CabinetModuleNode, CabinetNode, collectAlignmentAnchors, createSceneApi, emitter, getFloorPlacedFootprints,
|
|
4
|
-
import { clearPlacementSurface, EDITOR_LAYER, getFloorStackPreviewPosition, getSideFromNormal, isAlignmentGuideActive, isGridSnapActive, isMagneticSnapActive, isValidWallSideFace, markToolCancelConsumed, movementSfxStepKey, PlacementBox, PlacementDimensionGuides, parseMeasurement, publishPlacementSurface, triggerSFX, useAlignmentGuides, useEditor, useFacingPose, usePlacementPreview, } from '@pascal-app/editor';
|
|
3
|
+
import { CabinetModuleNode, CabinetNode, collectAlignmentAnchors, createSceneApi, emitter, getFloorPlacedFootprints, getWallLocalFaceZ, isCurvedWall, movingAlignmentAnchors, nodeRegistry, resolveAlignment, resolveSupportSlabPatch, runAsSingleSceneHistoryStep, spatialGridManager, useScene, } from '@pascal-app/core';
|
|
4
|
+
import { clearPlacementSurface, EDITOR_LAYER, getFloorStackPreviewPosition, getSideFromNormal, isAlignmentGuideActive, isGridSnapActive, isMagneticSnapActive, isTypingTarget, isValidWallSideFace, markToolCancelConsumed, movementSfxStepKey, PlacementBox, PlacementDimensionGuides, parseMeasurement, publishPlacementSurface, triggerSFX, useAlignmentGuides, useEditor, useFacingPose, usePlacementPreview, } from '@pascal-app/editor';
|
|
5
5
|
import { useViewer } from '@pascal-app/viewer';
|
|
6
6
|
import { Html } from '@react-three/drei';
|
|
7
7
|
import { useFrame } from '@react-three/fiber';
|
|
8
8
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
9
9
|
import { Mesh, Quaternion, Vector3 } from 'three';
|
|
10
|
-
import { FLOOR_PLACEMENT_ALIGNMENT_THRESHOLD_M, getLevelLocalSnappedPosition, stopPlacementCommitPropagation, subscribeFloorPlacementClicks, subscribeFloorPlacementDoubleClicks, } from '../shared/floor-placement';
|
|
11
|
-
import { LevelOffsetGroup } from '../shared/level-offset-group';
|
|
12
|
-
import { findWallOpeningConflicts } from '../shared/wall-opening-clearance';
|
|
13
|
-
import { cabinetStretchExitSide, chooseCabinetContinuousAnchor, createCabinetContinuousContinuation, isCabinetContinuousFollowUpClick, isForcePlacementEvent, planCabinetContinuousStretch, resolveCabinetContinuousValidity, } from './continuous-placement';
|
|
14
|
-
import { bumpCabinetRunsNear, cabinetDefinition, cabinetModuleDefinition, cabinetRunFootprint, } from './definition';
|
|
15
|
-
import { buildCabinetGeometry } from './geometry';
|
|
16
|
-
import { applyCabinetModuleInsertion, cabinetModuleForRunInsertion } from './insertion';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import
|
|
20
|
-
import
|
|
21
|
-
import
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
10
|
+
import { FLOOR_PLACEMENT_ALIGNMENT_THRESHOLD_M, getLevelLocalSnappedPosition, stopPlacementCommitPropagation, subscribeFloorPlacementClicks, subscribeFloorPlacementDoubleClicks, } from '../shared/floor-placement.js';
|
|
11
|
+
import { LevelOffsetGroup } from '../shared/level-offset-group.js';
|
|
12
|
+
import { findWallOpeningConflicts } from '../shared/wall-opening-clearance.js';
|
|
13
|
+
import { cabinetStretchExitSide, chooseCabinetContinuousAnchor, createCabinetContinuousContinuation, isCabinetContinuousFollowUpClick, isForcePlacementEvent, planCabinetContinuousStretch, resolveCabinetContinuousValidity, } from './continuous-placement.js';
|
|
14
|
+
import { bumpCabinetRunsNear, cabinetDefinition, cabinetModuleDefinition, cabinetRunFootprint, } from './definition.js';
|
|
15
|
+
import { buildCabinetGeometry } from './geometry.js';
|
|
16
|
+
import { applyCabinetModuleInsertion, cabinetModuleForRunInsertion } from './insertion.js';
|
|
17
|
+
import { resolveCabinetNeighborPlacement } from './neighbor-placement.js';
|
|
18
|
+
import { buildCabinetPlacementSizeDimensions, resolveCabinetPlacementDimensionPosition, resolveCabinetPlacementDimensions, } from './placement-dimensions.js';
|
|
19
|
+
import { resolveCabinetGridPosition, resolveCabinetGridPositionInFrame, resolveCabinetLevelPlanFrame, } from './placement-snap.js';
|
|
20
|
+
import useCabinetPlacementStatus from './placement-status.js';
|
|
21
|
+
import useCabinetPlacementType from './placement-type.js';
|
|
22
|
+
import { cabinetPresetById, WALL_CABINET_ELEVATION } from './presets.js';
|
|
23
|
+
import { moduleMaxX, planRunModuleInsertion, planToRunLocal, runLocalToPlan, runWallConstraints, sortRunModules, } from './run-layout.js';
|
|
24
|
+
import { addCabinetModuleSide, addCornerRun, cabinetModulesForRun, cornerPinnedEndsForRun, previewCornerAdditionLayout, syncCornerRunsFromRunSources, } from './run-ops.js';
|
|
25
|
+
import { findClosestCabinetWallInPlan, resolveCabinetWallSnapPlacementInScene, } from './wall-snap.js';
|
|
25
26
|
const PREVIEW_OPACITY = 0.55;
|
|
26
27
|
const ROTATE_STEP_RAD = Math.PI / 4;
|
|
27
28
|
const DEFAULT_PLACEMENT_PRESET = cabinetPresetById('base-door');
|
|
@@ -171,7 +172,7 @@ function bumpCabinetRunsNearNewRun(runId) {
|
|
|
171
172
|
bumpCabinetRunsNear(createSceneApi(useScene), [cabinetRunFootprint(run, scene.nodes)], new Set([runId]));
|
|
172
173
|
}
|
|
173
174
|
function wallHitFromWallEvent(event) {
|
|
174
|
-
if (!event.normal
|
|
175
|
+
if (!(event.normal && isValidWallSideFace(event.normal)) || isCurvedWall(event.node))
|
|
175
176
|
return null;
|
|
176
177
|
const wall = event.node;
|
|
177
178
|
const dx = wall.end[0] - wall.start[0];
|
|
@@ -183,7 +184,7 @@ function wallHitFromWallEvent(event) {
|
|
|
183
184
|
return {
|
|
184
185
|
wall,
|
|
185
186
|
localX: event.localPosition[0],
|
|
186
|
-
perpDistance: (side === 'front' ?
|
|
187
|
+
perpDistance: getWallLocalFaceZ(wall, side === 'front' ? 'a' : 'b'),
|
|
187
188
|
side,
|
|
188
189
|
dirX: dx / wallLength,
|
|
189
190
|
dirY: dy / wallLength,
|
|
@@ -191,7 +192,7 @@ function wallHitFromWallEvent(event) {
|
|
|
191
192
|
itemRotation: side === 'front' ? 0 : Math.PI,
|
|
192
193
|
};
|
|
193
194
|
}
|
|
194
|
-
const
|
|
195
|
+
const CabinetPlacementTool = () => {
|
|
195
196
|
const activeLevelId = useViewer((s) => s.selection.levelId);
|
|
196
197
|
const unit = useViewer((s) => s.unit);
|
|
197
198
|
const metricNotation = useViewer((s) => s.metricNotation);
|
|
@@ -201,6 +202,7 @@ const CabinetTool = () => {
|
|
|
201
202
|
const [draftSegments, setDraftSegments] = useState([]);
|
|
202
203
|
const [yaw, setYaw] = useState(0);
|
|
203
204
|
const toolDefaults = useEditor((state) => state.toolDefaults.cabinet);
|
|
205
|
+
const wallCabinet = toolDefaults?.kitchenPreset === 'wall-cabinet';
|
|
204
206
|
const placementType = useCabinetPlacementType((s) => s.type);
|
|
205
207
|
const islandMode = placementType === 'island';
|
|
206
208
|
const yawRef = useRef(0);
|
|
@@ -228,15 +230,15 @@ const CabinetTool = () => {
|
|
|
228
230
|
...cabinetModuleDefinition.defaults(),
|
|
229
231
|
...DEFAULT_PLACEMENT_PRESET.createPatch(),
|
|
230
232
|
...toolDefaults,
|
|
231
|
-
showPlinth: runDefaults.showPlinth,
|
|
233
|
+
showPlinth: !wallCabinet && runDefaults.showPlinth,
|
|
232
234
|
plinthHeight: runDefaults.plinthHeight,
|
|
233
235
|
toeKickDepth: runDefaults.toeKickDepth,
|
|
234
|
-
withCountertop: runDefaults.withCountertop,
|
|
236
|
+
withCountertop: toolDefaults?.cabinetType !== 'tall' && !wallCabinet && runDefaults.withCountertop,
|
|
235
237
|
countertopThickness: runDefaults.countertopThickness,
|
|
236
238
|
countertopOverhang: runDefaults.countertopOverhang,
|
|
237
239
|
countertopBackOverhang: runDefaults.countertopBackOverhang,
|
|
238
240
|
});
|
|
239
|
-
}, [toolDefaults]);
|
|
241
|
+
}, [toolDefaults, wallCabinet]);
|
|
240
242
|
const [previewSize, setPreviewSize] = useState(() => ({
|
|
241
243
|
depth: previewNodeTemplate.depth,
|
|
242
244
|
height: previewNodeTemplate.carcassHeight,
|
|
@@ -251,12 +253,11 @@ const CabinetTool = () => {
|
|
|
251
253
|
const previewNodeRef = useRef(previewNode);
|
|
252
254
|
previewNodeRef.current = previewNode;
|
|
253
255
|
const placementDimensions = useMemo(() => {
|
|
254
|
-
const defaults = cabinetDefinition.defaults();
|
|
255
256
|
return [
|
|
256
257
|
previewNode.width,
|
|
257
|
-
(
|
|
258
|
+
(previewNode.showPlinth ? previewNode.plinthHeight : 0) +
|
|
258
259
|
previewNode.carcassHeight +
|
|
259
|
-
(
|
|
260
|
+
(previewNode.withCountertop ? previewNode.countertopThickness : 0),
|
|
260
261
|
previewNode.depth + (islandMode ? ISLAND_SEATING_OVERHANG : 0),
|
|
261
262
|
];
|
|
262
263
|
}, [previewNode, islandMode]);
|
|
@@ -338,15 +339,29 @@ const CabinetTool = () => {
|
|
|
338
339
|
0,
|
|
339
340
|
])
|
|
340
341
|
: next.position;
|
|
341
|
-
const livePreviewNode =
|
|
342
|
+
const livePreviewNode = next.neighborJoin
|
|
343
|
+
? { ...previewNodeRef.current, depth: next.neighborJoin.depth }
|
|
344
|
+
: previewNodeRef.current;
|
|
342
345
|
const node = buildCabinetPlacementPreviewNode({
|
|
343
346
|
island,
|
|
344
347
|
position: previewPosition,
|
|
345
348
|
previewModule: livePreviewNode,
|
|
346
349
|
yaw: next.yaw,
|
|
347
350
|
});
|
|
348
|
-
|
|
349
|
-
|
|
351
|
+
const previewModules = (stretch?.modules ?? [{ x: 0, width: livePreviewNode.width }]).map((module) => CabinetModuleNode.parse({
|
|
352
|
+
...livePreviewNode,
|
|
353
|
+
id: undefined,
|
|
354
|
+
parentId: node.id,
|
|
355
|
+
position: [module.x - (stretch?.centerLocalX ?? 0), 0, 0],
|
|
356
|
+
width: module.width,
|
|
357
|
+
}));
|
|
358
|
+
let floorplanNode = {
|
|
359
|
+
...node,
|
|
360
|
+
parentId: activeLevelId,
|
|
361
|
+
children: previewModules.map((module) => module.id),
|
|
362
|
+
...(stretch ? { width: stretch.length } : {}),
|
|
363
|
+
};
|
|
364
|
+
let floorplanContextNodes = previewModules;
|
|
350
365
|
if (next.insertionPreview) {
|
|
351
366
|
const liveRun = useScene.getState().nodes[next.insertionPreview.runId];
|
|
352
367
|
if (liveRun?.type === 'cabinet') {
|
|
@@ -387,15 +402,15 @@ const CabinetTool = () => {
|
|
|
387
402
|
width: stretch?.length ?? livePreviewNode.width,
|
|
388
403
|
})
|
|
389
404
|
: [];
|
|
390
|
-
const sizeDimensions =
|
|
391
|
-
?
|
|
405
|
+
const sizeDimensions = stretch || island
|
|
406
|
+
? []
|
|
407
|
+
: buildCabinetPlacementSizeDimensions({
|
|
392
408
|
depth: livePreviewNode.depth,
|
|
393
409
|
height: livePreviewNode.carcassHeight,
|
|
394
410
|
position: previewPosition,
|
|
395
411
|
rotation: next.yaw,
|
|
396
412
|
width: livePreviewNode.width,
|
|
397
|
-
})
|
|
398
|
-
: [];
|
|
413
|
+
});
|
|
399
414
|
// A stretched span can exceed the schema's width cap — override post-parse.
|
|
400
415
|
usePlacementPreview
|
|
401
416
|
.getState()
|
|
@@ -404,7 +419,7 @@ const CabinetTool = () => {
|
|
|
404
419
|
useFrame(() => {
|
|
405
420
|
const ghostGroup = activeGhostRef.current;
|
|
406
421
|
const current = placementRef.current;
|
|
407
|
-
if (!ghostGroup
|
|
422
|
+
if (!(ghostGroup && current)) {
|
|
408
423
|
clearPlacementSurface();
|
|
409
424
|
useFacingPose.getState().clear();
|
|
410
425
|
return;
|
|
@@ -431,7 +446,9 @@ const CabinetTool = () => {
|
|
|
431
446
|
publishPlacementSurface(surfacePointRef.current, surfaceNormalRef.current);
|
|
432
447
|
useFacingPose.getState().set({
|
|
433
448
|
position: [facingPoint.x, facingPoint.y, facingPoint.z],
|
|
434
|
-
rotationY: current.snappedToWall || current.stretch
|
|
449
|
+
rotationY: current.snappedToWall || current.stretch || current.neighborJoin
|
|
450
|
+
? current.yaw
|
|
451
|
+
: yawRef.current,
|
|
435
452
|
depth: current.stretch ? placementDimensions[2] : previewNode.depth,
|
|
436
453
|
});
|
|
437
454
|
});
|
|
@@ -507,9 +524,7 @@ const CabinetTool = () => {
|
|
|
507
524
|
}
|
|
508
525
|
return anchor;
|
|
509
526
|
};
|
|
510
|
-
const resolveRawPosition = (event) =>
|
|
511
|
-
return getLevelLocalSnappedPosition(activeLevelId, event, 0, true);
|
|
512
|
-
};
|
|
527
|
+
const resolveRawPosition = (event) => getLevelLocalSnappedPosition(activeLevelId, event, 0, true);
|
|
513
528
|
const resolveGridPosition = (raw, bypassGrid = false) => {
|
|
514
529
|
const step = !bypassGrid && isGridSnapActive() ? useEditor.getState().gridSnapStep : 0;
|
|
515
530
|
if (step > 0) {
|
|
@@ -542,10 +557,10 @@ const CabinetTool = () => {
|
|
|
542
557
|
previewModule: previewNodeRef.current,
|
|
543
558
|
yaw,
|
|
544
559
|
});
|
|
545
|
-
const moving =
|
|
560
|
+
const moving = movingAlignmentAnchors({
|
|
546
561
|
...alignmentNode,
|
|
547
|
-
...(width
|
|
548
|
-
}, position[0], position[2], yaw);
|
|
562
|
+
...(width == null ? null : { width }),
|
|
563
|
+
}, useScene.getState().nodes, position[0], position[2], yaw);
|
|
549
564
|
if (moving.length === 0 || alignmentCandidates.length === 0) {
|
|
550
565
|
useAlignmentGuides.getState().clear();
|
|
551
566
|
return position;
|
|
@@ -556,15 +571,19 @@ const CabinetTool = () => {
|
|
|
556
571
|
threshold: FLOOR_PLACEMENT_ALIGNMENT_THRESHOLD_M,
|
|
557
572
|
});
|
|
558
573
|
useAlignmentGuides.getState().set(result.guides);
|
|
559
|
-
if (!applyAlignmentSnap
|
|
574
|
+
if (!(applyAlignmentSnap && result.snap))
|
|
560
575
|
return position;
|
|
561
576
|
return [position[0] + result.snap.dx, position[1], position[2] + result.snap.dz];
|
|
562
577
|
};
|
|
563
578
|
const withPlacementValidity = (next, bypassCollision) => {
|
|
579
|
+
if (wallCabinet && !next.insertionPreview)
|
|
580
|
+
next = { ...next, position: [next.position[0], WALL_CABINET_ELEVATION, next.position[2]] };
|
|
564
581
|
if (bypassCollision) {
|
|
565
582
|
return { ...next, conflictIds: [], valid: !next.insertionFailure };
|
|
566
583
|
}
|
|
567
|
-
const livePreviewNode =
|
|
584
|
+
const livePreviewNode = next.neighborJoin
|
|
585
|
+
? { ...previewNodeRef.current, depth: next.neighborJoin.depth }
|
|
586
|
+
: previewNodeRef.current;
|
|
568
587
|
const livePlacementDimensions = placementDimensionsRef.current;
|
|
569
588
|
const floorPlaced = nodeRegistry.get(livePreviewNode.type)?.capabilities?.floorPlaced;
|
|
570
589
|
const effectiveNode = {
|
|
@@ -584,7 +603,7 @@ const CabinetTool = () => {
|
|
|
584
603
|
const wall = next.wallId ? useScene.getState().nodes[next.wallId] : undefined;
|
|
585
604
|
const openingConflictIds = wall?.type === 'wall' && next.wallLocalX != null
|
|
586
605
|
? findWallOpeningConflicts({
|
|
587
|
-
bottom:
|
|
606
|
+
bottom: next.position[1],
|
|
588
607
|
height: livePlacementDimensions[1],
|
|
589
608
|
localX: next.wallLocalX,
|
|
590
609
|
nodes: useScene.getState().nodes,
|
|
@@ -614,14 +633,16 @@ const CabinetTool = () => {
|
|
|
614
633
|
if (!wallPlacement)
|
|
615
634
|
return null;
|
|
616
635
|
const wallSurfaceNormal = [Math.sin(wallPlacement.yaw), 0, Math.cos(wallPlacement.yaw)];
|
|
617
|
-
const insertion =
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
|
|
624
|
-
|
|
636
|
+
const insertion = wallCabinet
|
|
637
|
+
? null
|
|
638
|
+
: resolveCabinetRunInsertion({
|
|
639
|
+
hit,
|
|
640
|
+
insertionId: previewNodeRef.current.id,
|
|
641
|
+
nodes,
|
|
642
|
+
placement: wallPlacement,
|
|
643
|
+
parentLevelId: activeLevelId,
|
|
644
|
+
width: previewNodeRef.current.width,
|
|
645
|
+
});
|
|
625
646
|
const insertionPreview = insertion?.kind === 'preview' ? insertion.plan : undefined;
|
|
626
647
|
const insertionFailure = insertion?.kind === 'blocked'
|
|
627
648
|
? { runId: insertion.runId, reason: insertion.reason }
|
|
@@ -662,6 +683,51 @@ const CabinetTool = () => {
|
|
|
662
683
|
const raw = resolveRawPosition(event);
|
|
663
684
|
lastRawPositionRef.current = raw;
|
|
664
685
|
const forcePlacement = isForcePlacementEvent(event);
|
|
686
|
+
// Alt forces past every snap, a run's magnetic join included (E-004).
|
|
687
|
+
const neighbor = !forcePlacement &&
|
|
688
|
+
!islandModeRef.current &&
|
|
689
|
+
isMagneticSnapActive() &&
|
|
690
|
+
useEditor.getState().getContinuation('cabinet') === 'single'
|
|
691
|
+
? resolveCabinetNeighborPlacement({
|
|
692
|
+
nodes: useScene.getState().nodes,
|
|
693
|
+
levelId: activeLevelId,
|
|
694
|
+
position: raw,
|
|
695
|
+
module: previewNodeRef.current,
|
|
696
|
+
wallTier: wallCabinet,
|
|
697
|
+
})
|
|
698
|
+
: null;
|
|
699
|
+
if (neighbor) {
|
|
700
|
+
const { run, result, depth, side } = neighbor;
|
|
701
|
+
if (result.ok) {
|
|
702
|
+
useAlignmentGuides.getState().clear();
|
|
703
|
+
const position = runLocalToPlan(run, result.inserted.position);
|
|
704
|
+
const wallPose = resolveWallPlacement(position);
|
|
705
|
+
return withPlacementValidity({
|
|
706
|
+
position,
|
|
707
|
+
...(wallPose && Math.abs(angleDelta(wallPose.yaw, run.rotation)) < 0.08
|
|
708
|
+
? { wallId: wallPose.wallId, wallLocalX: wallPose.wallLocalX }
|
|
709
|
+
: {}),
|
|
710
|
+
yaw: run.rotation,
|
|
711
|
+
snappedToWall: false,
|
|
712
|
+
neighborJoin: { depth, side, name: run.name || 'Kitchen run' },
|
|
713
|
+
insertionPreview: {
|
|
714
|
+
runId: run.id,
|
|
715
|
+
runPosition: run.position,
|
|
716
|
+
runYaw: run.rotation,
|
|
717
|
+
modules: result.modules,
|
|
718
|
+
inserted: result.inserted,
|
|
719
|
+
},
|
|
720
|
+
}, forcePlacement);
|
|
721
|
+
}
|
|
722
|
+
return {
|
|
723
|
+
position: raw,
|
|
724
|
+
yaw: run.rotation,
|
|
725
|
+
snappedToWall: false,
|
|
726
|
+
valid: false,
|
|
727
|
+
conflictIds: [],
|
|
728
|
+
insertionFailure: { runId: run.id, reason: 'no-space' },
|
|
729
|
+
};
|
|
730
|
+
}
|
|
665
731
|
const wallPlacement = islandModeRef.current ? null : resolveWallPlacement(raw);
|
|
666
732
|
if (wallPlacement) {
|
|
667
733
|
return withPlacementValidity({
|
|
@@ -782,6 +848,17 @@ const CabinetTool = () => {
|
|
|
782
848
|
placementRef.current = next;
|
|
783
849
|
setPlacement(next);
|
|
784
850
|
useCabinetPlacementStatus.getState().setBlocked(!next.valid);
|
|
851
|
+
useCabinetPlacementStatus
|
|
852
|
+
.getState()
|
|
853
|
+
.setTarget(!next.valid
|
|
854
|
+
? next.insertionFailure
|
|
855
|
+
? 'No space in this kitchen run'
|
|
856
|
+
: 'Placement blocked: overlaps an item or wall opening'
|
|
857
|
+
: next.neighborJoin
|
|
858
|
+
? `${next.valid ? 'Join' : 'Blocked beside'} ${next.neighborJoin.name} · ${next.neighborJoin.side} side · Depth matched`
|
|
859
|
+
: next.insertionFailure
|
|
860
|
+
? 'No space in this kitchen run'
|
|
861
|
+
: null);
|
|
785
862
|
publishFloorplanPreview(next);
|
|
786
863
|
const nextSnapKey = movementSfxStepKey({
|
|
787
864
|
coords: next.snappedToWall && typeof next.wallLocalX === 'number'
|
|
@@ -826,6 +903,15 @@ const CabinetTool = () => {
|
|
|
826
903
|
event.stopPropagation();
|
|
827
904
|
return;
|
|
828
905
|
}
|
|
906
|
+
if (useEditor.getState().getContinuation('cabinet') === 'single') {
|
|
907
|
+
const adjacent = resolvePlacement(event);
|
|
908
|
+
if (adjacent.neighborJoin || adjacent.insertionFailure) {
|
|
909
|
+
markWallOwnedPointer();
|
|
910
|
+
publishPlacement(adjacent, lastWallEventTime);
|
|
911
|
+
event.stopPropagation();
|
|
912
|
+
return;
|
|
913
|
+
}
|
|
914
|
+
}
|
|
829
915
|
const hit = islandModeRef.current ? null : wallHitFromWallEvent(event);
|
|
830
916
|
const next = hit ? resolveWallHitPlacement(hit) : null;
|
|
831
917
|
if (next) {
|
|
@@ -837,17 +923,23 @@ const CabinetTool = () => {
|
|
|
837
923
|
publishPlacement(resolvePlacement(event), lastWallEventTime);
|
|
838
924
|
};
|
|
839
925
|
const buildRunNodes = (position, yaw) => {
|
|
840
|
-
const patch = DEFAULT_PLACEMENT_PRESET.createPatch();
|
|
926
|
+
const patch = { ...DEFAULT_PLACEMENT_PRESET.createPatch(), ...toolDefaults };
|
|
841
927
|
const island = islandModeRef.current;
|
|
842
928
|
const cabinet = CabinetNode.parse({
|
|
843
929
|
...cabinetDefinition.defaults(),
|
|
844
|
-
...toolDefaults,
|
|
845
|
-
name: island ? 'Kitchen Island' : '
|
|
930
|
+
...(toolDefaults?.kitchenPreset ? {} : toolDefaults),
|
|
931
|
+
name: island ? 'Kitchen Island' : wallCabinet ? 'Wall cabinets' : 'Kitchen run',
|
|
932
|
+
runTier: wallCabinet ? 'wall' : 'base',
|
|
933
|
+
showPlinth: previewNode.showPlinth,
|
|
934
|
+
withCountertop: !wallCabinet,
|
|
846
935
|
position,
|
|
847
936
|
rotation: yaw,
|
|
848
937
|
parentId: activeLevelId,
|
|
938
|
+
width: previewNode.width,
|
|
849
939
|
depth: previewNode.depth,
|
|
850
|
-
carcassHeight: previewNode.
|
|
940
|
+
carcassHeight: previewNode.cabinetType === 'tall'
|
|
941
|
+
? cabinetDefinition.defaults().carcassHeight
|
|
942
|
+
: previewNode.carcassHeight,
|
|
851
943
|
...(island && {
|
|
852
944
|
countertopBackOverhang: ISLAND_SEATING_OVERHANG,
|
|
853
945
|
withFinishedBack: true,
|
|
@@ -857,12 +949,14 @@ const CabinetTool = () => {
|
|
|
857
949
|
...cabinetModuleDefinition.defaults(),
|
|
858
950
|
...patch,
|
|
859
951
|
...toolDefaults,
|
|
860
|
-
name: index === 0
|
|
952
|
+
name: index === 0
|
|
953
|
+
? (patch.name ?? 'Base Cabinet')
|
|
954
|
+
: `${patch.name ?? 'Base Cabinet'} ${index + 1}`,
|
|
861
955
|
parentId: cabinet.id,
|
|
862
956
|
position: [localX, runModuleBaseY(cabinet.plinthHeight, cabinet.showPlinth), 0],
|
|
863
957
|
width,
|
|
864
958
|
depth: cabinet.depth,
|
|
865
|
-
carcassHeight:
|
|
959
|
+
carcassHeight: previewNode.carcassHeight,
|
|
866
960
|
plinthHeight: cabinet.plinthHeight,
|
|
867
961
|
toeKickDepth: cabinet.toeKickDepth,
|
|
868
962
|
countertopThickness: cabinet.countertopThickness,
|
|
@@ -874,7 +968,7 @@ const CabinetTool = () => {
|
|
|
874
968
|
const sceneApi = createSceneApi(useScene);
|
|
875
969
|
sceneApi.pauseHistory();
|
|
876
970
|
try {
|
|
877
|
-
if (!chainRunRef.current
|
|
971
|
+
if (!(chainRunRef.current && chainEndModuleRef.current && chainCornerSideRef.current)) {
|
|
878
972
|
const { cabinet, buildModule } = buildRunNodes(segment.anchor.position, segment.anchor.yaw);
|
|
879
973
|
sceneApi.upsert(cabinet, activeLevelId);
|
|
880
974
|
const modules = segment.stretch.modules.map((m, index) => buildModule(m.x, m.width, index));
|
|
@@ -901,7 +995,7 @@ const CabinetTool = () => {
|
|
|
901
995
|
const nextRun = connectedModule?.parentId
|
|
902
996
|
? sceneApi.get(connectedModule.parentId)
|
|
903
997
|
: null;
|
|
904
|
-
if (!connectedModule
|
|
998
|
+
if (!(connectedModule && nextRun))
|
|
905
999
|
throw new Error('Unable to resolve connected corner run');
|
|
906
1000
|
const plannedConnectedWidths = segment.stretch.modules
|
|
907
1001
|
.slice(1)
|
|
@@ -953,7 +1047,7 @@ const CabinetTool = () => {
|
|
|
953
1047
|
const currentPlacement = placementRef.current?.stretch && placementRef.current.stretchAnchor
|
|
954
1048
|
? placementRef.current
|
|
955
1049
|
: resolveActiveStretchPlacement(anchor, event);
|
|
956
|
-
if (!currentPlacement.valid
|
|
1050
|
+
if (!(currentPlacement.valid && currentPlacement.stretch && currentPlacement.stretchAnchor)) {
|
|
957
1051
|
return null;
|
|
958
1052
|
}
|
|
959
1053
|
return { anchor: currentPlacement.stretchAnchor, stretch: currentPlacement.stretch };
|
|
@@ -968,35 +1062,44 @@ const CabinetTool = () => {
|
|
|
968
1062
|
return null;
|
|
969
1063
|
const module = cabinetModuleForRunInsertion(CabinetModuleNode.parse({
|
|
970
1064
|
...previewNodeRef.current,
|
|
1065
|
+
...(next.neighborJoin ? { depth: next.neighborJoin.depth } : {}),
|
|
971
1066
|
position: insertionPreview.inserted.position,
|
|
972
1067
|
width: insertionPreview.inserted.width,
|
|
973
1068
|
}), run);
|
|
974
|
-
|
|
1069
|
+
const history = useScene.temporal.getState();
|
|
1070
|
+
const recorded = new Set(history.pastStates);
|
|
975
1071
|
try {
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
1072
|
+
return runAsSingleSceneHistoryStep(useScene, () => {
|
|
1073
|
+
const id = applyCabinetModuleInsertion({
|
|
1074
|
+
module,
|
|
1075
|
+
plan: insertionPreview,
|
|
1076
|
+
run,
|
|
1077
|
+
sceneApi,
|
|
1078
|
+
});
|
|
1079
|
+
if (!id)
|
|
1080
|
+
throw new Error('Unable to apply cabinet insertion');
|
|
1081
|
+
const liveRun = sceneApi.get(run.id);
|
|
1082
|
+
if (!liveRun)
|
|
1083
|
+
throw new Error('Unable to resolve inserted cabinet run');
|
|
1084
|
+
sceneApi.update(liveRun.id, resolveSupportSlabPatch(liveRun, sceneApi.nodes()));
|
|
1085
|
+
syncCornerRunsFromRunSources({
|
|
1086
|
+
run: sceneApi.get(liveRun.id) ?? liveRun,
|
|
1087
|
+
sceneApi,
|
|
1088
|
+
});
|
|
1089
|
+
const updatedRun = sceneApi.get(liveRun.id) ?? liveRun;
|
|
1090
|
+
bumpCabinetRunsNear(sceneApi, [cabinetRunFootprint(updatedRun, sceneApi.nodes())], new Set([updatedRun.id]));
|
|
1091
|
+
return id;
|
|
991
1092
|
});
|
|
992
|
-
const updatedRun = sceneApi.get(liveRun.id) ?? liveRun;
|
|
993
|
-
bumpCabinetRunsNear(sceneApi, [cabinetRunFootprint(updatedRun, sceneApi.nodes())], new Set([updatedRun.id]));
|
|
994
|
-
sceneApi.resumeHistory();
|
|
995
|
-
return id;
|
|
996
1093
|
}
|
|
997
1094
|
catch {
|
|
998
|
-
|
|
999
|
-
|
|
1095
|
+
// A failure part-way leaves nothing behind: undo the writes it recorded, then forget them.
|
|
1096
|
+
const added = useScene.temporal
|
|
1097
|
+
.getState()
|
|
1098
|
+
.pastStates.filter((state) => !recorded.has(state)).length;
|
|
1099
|
+
if (added > 0) {
|
|
1100
|
+
useScene.temporal.getState().undo(added);
|
|
1101
|
+
useScene.temporal.setState({ futureStates: history.futureStates });
|
|
1102
|
+
}
|
|
1000
1103
|
return null;
|
|
1001
1104
|
}
|
|
1002
1105
|
};
|
|
@@ -1156,7 +1259,7 @@ const CabinetTool = () => {
|
|
|
1156
1259
|
const applyTypedDimension = () => {
|
|
1157
1260
|
const editor = usePlacementPreview.getState();
|
|
1158
1261
|
const current = placementRef.current;
|
|
1159
|
-
if (!editor.activeDimensionId
|
|
1262
|
+
if (!(editor.activeDimensionId && editor.dimensionInput && current)) {
|
|
1160
1263
|
return false;
|
|
1161
1264
|
}
|
|
1162
1265
|
const value = parseMeasurement(editor.dimensionInput, { kind: 'length', unitId: 'm' }, {
|
|
@@ -1204,7 +1307,7 @@ const CabinetTool = () => {
|
|
|
1204
1307
|
const next = withPlacementValidity({
|
|
1205
1308
|
...placementBase,
|
|
1206
1309
|
position,
|
|
1207
|
-
...(wallLocalX
|
|
1310
|
+
...(wallLocalX == null ? {} : { wallLocalX }),
|
|
1208
1311
|
}, false);
|
|
1209
1312
|
placementRef.current = next;
|
|
1210
1313
|
setPlacement(next);
|
|
@@ -1283,8 +1386,7 @@ const CabinetTool = () => {
|
|
|
1283
1386
|
return true;
|
|
1284
1387
|
};
|
|
1285
1388
|
const onKeyDown = (event) => {
|
|
1286
|
-
|
|
1287
|
-
if (tag === 'INPUT' || tag === 'TEXTAREA')
|
|
1389
|
+
if (isTypingTarget(event.target))
|
|
1288
1390
|
return;
|
|
1289
1391
|
const dimensionEditor = usePlacementPreview.getState();
|
|
1290
1392
|
if (event.key === 'Tab' && dimensionEditor.dimensions.length > 0) {
|
|
@@ -1391,8 +1493,16 @@ const CabinetTool = () => {
|
|
|
1391
1493
|
useAlignmentGuides.getState().clear();
|
|
1392
1494
|
useCabinetPlacementStatus.getState().setBlocked(false);
|
|
1393
1495
|
};
|
|
1394
|
-
}, [
|
|
1395
|
-
|
|
1496
|
+
}, [
|
|
1497
|
+
activeLevelId,
|
|
1498
|
+
metricNotation,
|
|
1499
|
+
previewNode,
|
|
1500
|
+
publishFloorplanPreview,
|
|
1501
|
+
toolDefaults,
|
|
1502
|
+
unit,
|
|
1503
|
+
wallCabinet,
|
|
1504
|
+
]);
|
|
1505
|
+
if (!(activeLevelId && placement))
|
|
1396
1506
|
return null;
|
|
1397
1507
|
const stretch = placement.stretch;
|
|
1398
1508
|
const draftModuleOffsets = draftSegments.map((segment, segmentIndex) => draftSegments
|
|
@@ -1401,18 +1511,20 @@ const CabinetTool = () => {
|
|
|
1401
1511
|
const activeStretchGhostOffset = draftSegments.reduce((sum, segment) => sum + segment.stretch.modules.length, 0);
|
|
1402
1512
|
const placementLabel = placement.insertionFailure
|
|
1403
1513
|
? 'No space in this run to insert this cabinet'
|
|
1404
|
-
:
|
|
1405
|
-
? placement.valid
|
|
1406
|
-
|
|
1407
|
-
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
: placement.
|
|
1411
|
-
? placement.
|
|
1412
|
-
?
|
|
1413
|
-
|
|
1414
|
-
|
|
1415
|
-
|
|
1514
|
+
: placement.neighborJoin
|
|
1515
|
+
? `${placement.valid ? 'Join' : 'Blocked beside'} ${placement.neighborJoin.name} · ${placement.neighborJoin.side} side · Depth matched`
|
|
1516
|
+
: stretch
|
|
1517
|
+
? placement.valid
|
|
1518
|
+
? `${draftSegments.length + 1} leg${draftSegments.length + 1 === 1 ? '' : 's'} · ${stretch.modules.length} module${stretch.modules.length === 1 ? '' : 's'} · Click to continue · Double-click/Esc to finish`
|
|
1519
|
+
: null
|
|
1520
|
+
: placement.valid
|
|
1521
|
+
? placement.snappedToWall
|
|
1522
|
+
? placement.snapReason === 'cabinet-edge'
|
|
1523
|
+
? 'Edge snap'
|
|
1524
|
+
: placement.snapReason === 'corner'
|
|
1525
|
+
? 'Corner snap'
|
|
1526
|
+
: 'Wall snap'
|
|
1527
|
+
: `Place ${previewNode.name ?? 'cabinet'}`
|
|
1416
1528
|
: null;
|
|
1417
1529
|
const labelPosition = stretch
|
|
1418
1530
|
? runLocalToPlan({ position: placement.position, rotation: placement.yaw }, [
|
|
@@ -1432,13 +1544,13 @@ const CabinetTool = () => {
|
|
|
1432
1544
|
rotation: placement.yaw,
|
|
1433
1545
|
levelId: activeLevelId,
|
|
1434
1546
|
});
|
|
1435
|
-
const placementRotationY = placement.snappedToWall || stretch ? placement.yaw : yaw;
|
|
1547
|
+
const placementRotationY = placement.snappedToWall || stretch || placement.neighborJoin ? placement.yaw : yaw;
|
|
1436
1548
|
const placementBoxDimensions = [
|
|
1437
1549
|
stretch
|
|
1438
1550
|
? stretch.length + (previewNode.withCountertop ? previewNode.countertopOverhang * 2 : 0)
|
|
1439
1551
|
: placementSnapFootprint.dimensions[0],
|
|
1440
1552
|
placementSnapFootprint.dimensions[1],
|
|
1441
|
-
placementSnapFootprint.dimensions[2],
|
|
1553
|
+
placement.neighborJoin?.depth ?? placementSnapFootprint.dimensions[2],
|
|
1442
1554
|
];
|
|
1443
1555
|
const placementBoxPlanPosition = runLocalToPlan({ position: placement.position, rotation: placement.yaw }, [stretch?.centerLocalX ?? 0, 0, placementSnapFootprint.offset[1]]);
|
|
1444
1556
|
const placementBoxPosition = [
|
|
@@ -1446,7 +1558,13 @@ const CabinetTool = () => {
|
|
|
1446
1558
|
visualPosition[1],
|
|
1447
1559
|
placementBoxPlanPosition[2],
|
|
1448
1560
|
];
|
|
1449
|
-
return (_jsxs(LevelOffsetGroup, { children: [placement.guide && _jsx(WallSnapGuide, { blocked: !placement.valid, guide: placement.guide }), _jsx(PlacementBox, { activeDimensionId: stretch ? null : activeDimensionId,
|
|
1561
|
+
return (_jsxs(LevelOffsetGroup, { children: [placement.guide && _jsx(WallSnapGuide, { blocked: !placement.valid, guide: placement.guide }), _jsx(PlacementBox, { activeDimensionId: stretch ? null : activeDimensionId, dimensionInput: dimensionInput, dimensions: placementBoxDimensions, measurements: { unit, metricNotation }, measurementValues: stretch
|
|
1562
|
+
? undefined
|
|
1563
|
+
: [
|
|
1564
|
+
previewNode.width,
|
|
1565
|
+
previewNode.carcassHeight,
|
|
1566
|
+
placement.neighborJoin?.depth ?? previewNode.depth,
|
|
1567
|
+
], onDimensionSelect: stretch ? undefined : (id) => usePlacementPreview.getState().selectDimension(id), position: placementBoxPosition, rotationY: placementRotationY, valid: placement.valid }), _jsx(PlacementDimensionGuides, {}), draftSegments.map((segment, segmentIndex) => (_jsx("group", { position: segment.anchor.position, rotation: [0, segment.anchor.yaw, 0], children: segment.stretch.modules.map((module, index) => (_jsx("group", { position: [module.x, 0, 0], scale: [module.width / previewNode.width, 1, 1], children: _jsx("primitive", { object: ghostForIndex(draftModuleOffsets[segmentIndex] + index) }) }, `${segmentIndex}-${index}`))) }, `draft-${segmentIndex}`))), _jsx("group", { position: visualPosition, ref: activeGhostRef, rotation: [0, placementRotationY, 0], children: placement.insertionPreview ? (_jsx("group", { scale: [1, 1, (placement.neighborJoin?.depth ?? previewNode.depth) / previewNode.depth], children: _jsx("primitive", { object: insertionGhost }) })) : stretch ? (stretch.modules.map((module, index) => (_jsx("group", { position: [module.x, 0, 0], scale: [module.width / previewNode.width, 1, 1], children: _jsx("primitive", { object: ghostForIndex(activeStretchGhostOffset + index) }) }, index)))) : (_jsx("primitive", { object: ghost })) }), placement.insertionPreview && !placement.neighborJoin ? (_jsx("group", { position: placement.insertionPreview.runPosition, rotation: [0, placement.insertionPreview.runYaw, 0], children: placement.insertionPreview.modules.map((module, index) => (_jsx("group", { position: module.position, scale: [module.width / previewNode.width, 1, 1], children: _jsx("primitive", { object: insertionGhostForIndex(index + 1) }) }, module.id))) })) : null, placementLabel ? (_jsx(Html, { center: true, position: [
|
|
1450
1568
|
labelPosition[0],
|
|
1451
1569
|
previewNode.plinthHeight + previewNode.carcassHeight + 0.35,
|
|
1452
1570
|
labelPosition[2],
|
|
@@ -1454,4 +1572,9 @@ const CabinetTool = () => {
|
|
|
1454
1572
|
? 'border-border/60 bg-background/90'
|
|
1455
1573
|
: 'border-red-400/60 bg-red-950/85'}`, children: _jsx("span", { className: "font-medium text-foreground", children: placementLabel }) }) })) : null] }));
|
|
1456
1574
|
};
|
|
1457
|
-
|
|
1575
|
+
// Remount when the chosen item changes so typed dimensions and drafts cannot leak
|
|
1576
|
+
// from a base cabinet into a fridge or an overhead cabinet.
|
|
1577
|
+
export default function CabinetTool() {
|
|
1578
|
+
const preset = useEditor((state) => state.toolDefaults.cabinet?.kitchenPreset);
|
|
1579
|
+
return _jsx(CabinetPlacementTool, {}, String(preset ?? 'base-door'));
|
|
1580
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { moduleMaxX, moduleMinX, sortRunModules } from './run-layout';
|
|
2
|
-
import { cabinetModuleCeilingOverflow } from './run-ops';
|
|
3
|
-
import { minCabinetCarcassHeightForStack } from './stack';
|
|
1
|
+
import { moduleMaxX, moduleMinX, sortRunModules } from './run-layout.js';
|
|
2
|
+
import { cabinetModuleCeilingOverflow } from './run-ops.js';
|
|
3
|
+
import { minCabinetCarcassHeightForStack } from './stack.js';
|
|
4
4
|
export const CABINET_PLANNING_TOLERANCE = 1e-4;
|
|
5
5
|
export const MIN_PRACTICAL_TOP_CABINET_HEIGHT = 0.15;
|
|
6
6
|
function issue(code, severity, message, nodeIds) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type AnyNode, type AnyNodeId, type CabinetModuleNode } from '@pascal-app/core';
|
|
2
|
-
import type { WallHit } from '../shared/wall-attach-target';
|
|
2
|
+
import type { WallHit } from '../shared/wall-attach-target.js';
|
|
3
3
|
export type CabinetWallSnapNeighbor = {
|
|
4
4
|
minX: number;
|
|
5
5
|
maxX: number;
|