@pascal-app/nodes 1.0.4 → 1.0.6
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.js +13 -13
- 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/geometry-snap.d.ts +2 -2
- package/dist/block/geometry-snap.js +2 -2
- package/dist/block/gesture-wheel.d.ts.map +1 -1
- package/dist/block/hosted-edit.d.ts +1 -1
- package/dist/block/hosted-edit.js +3 -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/modal-face-operation.d.ts +2 -2
- package/dist/block/modal-face-operation.js +1 -1
- package/dist/block/paint.js +2 -2
- package/dist/block/panel.js +8 -8
- 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 +19 -19
- 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 +9 -8
- 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.js +2 -2
- 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 +65 -65
- 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 +33 -28
- 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.js +5 -5
- 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 +4 -2
- package/dist/cabinet/geometry/shared.d.ts.map +1 -1
- package/dist/cabinet/geometry/shared.js +77 -17
- 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 +20 -3
- package/dist/cabinet/run-ops.d.ts +62 -62
- 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 +212 -87
- package/dist/cabinet/validation.js +3 -3
- package/dist/cabinet/wall-snap.d.ts +1 -1
- package/dist/cabinet/wall-snap.js +2 -2
- package/dist/ceiling/boundary-editor.d.ts.map +1 -1
- package/dist/ceiling/definition.d.ts +1 -1
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.js +18 -16
- package/dist/ceiling/floorplan-affordances.d.ts +80 -80
- package/dist/ceiling/floorplan-affordances.js +1 -1
- package/dist/ceiling/floorplan-move.js +1 -1
- package/dist/ceiling/hole-editor.d.ts.map +1 -1
- package/dist/ceiling/index.d.ts +2 -2
- package/dist/ceiling/index.js +2 -2
- package/dist/ceiling/materials.d.ts +7 -3
- package/dist/ceiling/materials.d.ts.map +1 -1
- package/dist/ceiling/materials.js +45 -18
- package/dist/ceiling/move-tool.d.ts.map +1 -1
- package/dist/ceiling/paint.d.ts.map +1 -1
- package/dist/ceiling/paint.js +12 -21
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +5 -5
- 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 +26 -27
- 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 +3 -3
- package/dist/chimney/paint.js +1 -1
- 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 +17 -15
- package/dist/column/floorplan-affordances.js +3 -3
- package/dist/column/floorplan-move.js +2 -2
- package/dist/column/floorplan.js +1 -1
- package/dist/column/hosted-resize.d.ts +119 -113
- 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 +9 -7
- 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 +3 -3
- package/dist/column/surface.js +1 -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 +4 -4
- 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 +9 -8
- 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.js +1 -1
- 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 +30 -26
- package/dist/door/door-math.d.ts +1 -1
- package/dist/door/door-math.js +1 -1
- package/dist/door/floorplan-affordances.js +2 -2
- package/dist/door/floorplan-move.js +5 -5
- package/dist/door/floorplan.js +3 -3
- package/dist/door/index.d.ts +2 -2
- package/dist/door/index.js +2 -2
- package/dist/door/mechanism.js +1 -1
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +11 -11
- package/dist/door/paint.js +1 -1
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +12 -12
- package/dist/door/parametrics.d.ts +1 -1
- package/dist/door/parametrics.js +1 -1
- package/dist/door/preview.d.ts +1 -1
- package/dist/door/preview.d.ts.map +1 -1
- package/dist/door/preview.js +1 -1
- package/dist/door/renderer.d.ts.map +1 -1
- package/dist/door/renderer.js +2 -2
- 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 +8 -8
- package/dist/dormer/csg-geometry.js +1 -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.js +1 -1
- package/dist/dormer/panel-actions-section.js +1 -1
- package/dist/dormer/panel-windows-section.js +1 -1
- package/dist/dormer/panel.js +8 -8
- 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 +9 -8
- 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.js +11 -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.js +3 -3
- 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 +4 -4
- 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.js +13 -13
- 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.js +1 -1
- 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 +8 -7
- 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.js +7 -7
- 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.js +9 -9
- package/dist/elevator/parametrics.js +1 -1
- package/dist/elevator/renderer.d.ts.map +1 -1
- package/dist/elevator/renderer.js +1 -1
- 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 +9 -8
- 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.js +3 -3
- package/dist/eyebrow-vent/panel.js +1 -1
- 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.js +1 -1
- package/dist/fence/curve-tool.d.ts.map +1 -1
- package/dist/fence/definition.d.ts +1 -1
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.js +32 -17
- package/dist/fence/drafting.d.ts +7 -1
- package/dist/fence/drafting.d.ts.map +1 -1
- package/dist/fence/drafting.js +63 -4
- package/dist/fence/feature-tool.js +1 -1
- package/dist/fence/floorplan-affordances.js +1 -1
- package/dist/fence/floorplan.js +1 -1
- package/dist/fence/geometry.d.ts.map +1 -1
- package/dist/fence/geometry.js +3 -3
- package/dist/fence/index.d.ts +3 -3
- package/dist/fence/index.js +3 -3
- package/dist/fence/inspector-editors.js +1 -1
- package/dist/fence/lift.d.ts +3 -3
- package/dist/fence/lift.d.ts.map +1 -1
- package/dist/fence/lift.js +12 -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 +1 -1
- package/dist/fence/paint.js +1 -1
- package/dist/fence/panel-model.js +1 -1
- package/dist/fence/parametrics.d.ts +1 -1
- package/dist/fence/parametrics.js +1 -1
- package/dist/fence/system.d.ts.map +1 -1
- package/dist/fence/system.js +1 -1
- package/dist/fence/tool.d.ts.map +1 -1
- package/dist/fence/tool.js +90 -16
- package/dist/fence-feature/actions.js +1 -1
- package/dist/fence-feature/definition.d.ts.map +1 -1
- package/dist/fence-feature/definition.js +14 -10
- package/dist/fence-feature/geometry.js +2 -2
- package/dist/fence-feature/handles.js +2 -2
- package/dist/fence-feature/inspector.js +3 -3
- package/dist/fence-feature/move-session.d.ts +2 -2
- package/dist/fence-feature/move-session.js +1 -1
- package/dist/fence-feature/move-tool.js +1 -1
- package/dist/floor-opening/definition.js +1 -1
- package/dist/floor-opening/floorplan.d.ts +52 -52
- package/dist/floor-opening/floorplan.js +1 -1
- 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 +10 -9
- 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.js +4 -4
- package/dist/imported-mesh/index.d.ts +3 -3
- package/dist/imported-mesh/index.js +3 -3
- package/dist/index.d.ts +65 -61
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +118 -114
- package/dist/item/authored-params.js +1 -1
- package/dist/item/definition.d.ts +1 -1
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.js +18 -16
- package/dist/item/floorplan-move.js +4 -4
- package/dist/item/floorplan.d.ts +1 -1
- package/dist/item/floorplan.js +2 -2
- package/dist/item/index.d.ts +3 -3
- package/dist/item/index.js +3 -3
- package/dist/item/model-loader.d.ts +5 -0
- package/dist/item/model-loader.d.ts.map +1 -1
- package/dist/item/model-loader.js +49 -0
- package/dist/item/move-tool.d.ts.map +1 -1
- package/dist/item/paint.js +1 -1
- package/dist/item/panel.js +7 -7
- package/dist/item/parametrics.d.ts +1 -1
- package/dist/item/parametrics.js +1 -1
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +16 -12
- 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 +17 -16
- 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.js +4 -4
- 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.js +4 -4
- 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 +5 -5
- 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 +11 -11
- 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 +2 -2
- 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 +1 -1
- 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 +6 -6
- 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 +3 -3
- 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 +3 -3
- 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.map +1 -1
- package/dist/procedural-item/definition.d.ts.map +1 -1
- package/dist/procedural-item/definition.js +10 -8
- package/dist/procedural-item/geometry.d.ts.map +1 -1
- 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.js +5 -5
- 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.js +1 -1
- 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 +5 -4
- 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 +18 -10
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +11 -4
- 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.d.ts.map +1 -1
- package/dist/roof/panel.js +41 -6
- package/dist/roof/parametrics.js +1 -1
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +36 -6
- 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 +16 -7
- 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 +65 -12
- 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.js +1 -1
- package/dist/separator/renderer.js +1 -1
- 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.js +1 -1
- 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.js +1 -1
- 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 -36
- package/dist/shared/node-batch/batchable.d.ts.map +1 -1
- package/dist/shared/node-batch/batchable.js +5 -3
- package/dist/shared/node-batch/candidates.d.ts +1 -1
- package/dist/shared/node-batch/candidates.js +1 -1
- 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 +22 -7
- package/dist/shared/opening-documentation.d.ts +1 -1
- package/dist/shared/opening-documentation.js +1 -1
- package/dist/shared/opening-guides-runtime.js +1 -1
- package/dist/shared/opening-move-wall-gate.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +2 -2
- 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.js +1 -1
- 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.js +2 -2
- 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.d.ts +3 -3
- package/dist/shared/scripted-opening.d.ts.map +1 -1
- package/dist/shared/scripted-opening.js +1 -1
- package/dist/shared/slot-paint.js +1 -1
- package/dist/shared/surface-paint.js +2 -2
- package/dist/shared/swap-preview-material.d.ts +9 -7
- package/dist/shared/swap-preview-material.d.ts.map +1 -1
- package/dist/shared/swap-preview-material.js +18 -7
- package/dist/shared/system-check-panel.js +1 -1
- package/dist/shared/system-checks.js +2 -2
- 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-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 +13 -11
- 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.js +1 -1
- package/dist/shelf/index.d.ts +3 -3
- package/dist/shelf/index.js +3 -3
- 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/lot-mask.d.ts +5 -3
- package/dist/site/lot-mask.d.ts.map +1 -1
- package/dist/site/lot-mask.js +9 -5
- package/dist/site/panel.d.ts.map +1 -1
- package/dist/site/panel.js +25 -1
- package/dist/site/parametrics.js +1 -1
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +136 -32
- package/dist/site/terrain-holes.d.ts +1 -1
- package/dist/site/terrain-mesh.d.ts +2 -2
- package/dist/site/terrain-mesh.js +2 -2
- package/dist/site/terrain-renderer.d.ts +3 -1
- package/dist/site/terrain-renderer.d.ts.map +1 -1
- package/dist/site/terrain-renderer.js +13 -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.map +1 -1
- package/dist/slab/definition.d.ts +1 -1
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.js +26 -17
- package/dist/slab/floorplan-affordances.d.ts +100 -100
- package/dist/slab/floorplan-affordances.js +1 -1
- package/dist/slab/floorplan-move.js +1 -1
- package/dist/slab/geometry.js +3 -3
- 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 +1 -1
- package/dist/slab/paint.d.ts +1 -1
- package/dist/slab/paint.d.ts.map +1 -1
- package/dist/slab/paint.js +6 -3
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +5 -5
- package/dist/slab/parametrics.d.ts +1 -1
- package/dist/slab/parametrics.js +1 -1
- package/dist/slab/quick-measurement.js +1 -1
- 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 +5 -3
- 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 +2 -2
- package/dist/stair/baluster-guard.d.ts +1 -1
- package/dist/stair/baluster-guard.d.ts.map +1 -1
- package/dist/stair/baluster-guard.js +1 -1
- package/dist/stair/boards-guard.d.ts +1 -1
- package/dist/stair/boards-guard.js +1 -1
- package/dist/stair/cable-guard.d.ts +1 -1
- package/dist/stair/cable-guard.js +1 -1
- package/dist/stair/construction-controls.js +1 -1
- package/dist/stair/continuous-railings.d.ts +1 -1
- package/dist/stair/continuous-railings.js +9 -9
- package/dist/stair/definition.d.ts +1 -1
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.js +23 -9
- package/dist/stair/documentation.d.ts +1 -1
- package/dist/stair/documentation.js +1 -1
- package/dist/stair/floorplan-affordances.js +1 -1
- package/dist/stair/floorplan-move.d.ts.map +1 -1
- package/dist/stair/floorplan-move.js +90 -10
- package/dist/stair/floorplan.d.ts +1 -1
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +24 -5
- package/dist/stair/glass-guard.d.ts +1 -1
- package/dist/stair/glass-guard.js +1 -1
- package/dist/stair/guard-path.d.ts.map +1 -1
- package/dist/stair/index.d.ts +1 -1
- package/dist/stair/index.js +1 -1
- package/dist/stair/metal-guard.d.ts +1 -1
- package/dist/stair/metal-guard.js +1 -1
- package/dist/stair/paint.d.ts +9 -9
- package/dist/stair/paint.d.ts.map +1 -1
- package/dist/stair/paint.js +2 -2
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +23 -9
- package/dist/stair/parametrics.js +3 -3
- package/dist/stair/post-and-rail-guard.d.ts +1 -1
- package/dist/stair/post-and-rail-guard.js +1 -1
- package/dist/stair/railing-controls.js +1 -1
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +108 -15
- 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 +87 -85
- package/dist/stair/use-stair-render-data.d.ts.map +1 -1
- 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 +7 -10
- package/dist/stair-segment/index.d.ts +1 -1
- package/dist/stair-segment/index.js +1 -1
- package/dist/stair-segment/panel.js +3 -3
- package/dist/stair-segment/parametrics.js +2 -2
- package/dist/stair-segment/renderer.d.ts.map +1 -1
- package/dist/stair-segment/renderer.js +2 -2
- 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 +9 -8
- 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.js +2 -2
- package/dist/turbine-vent/panel.js +1 -1
- 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.js +2 -2
- package/dist/wall/actions.js +2 -2
- package/dist/wall/construction-dimensions.d.ts +3 -3
- package/dist/wall/construction-dimensions.js +6 -6
- 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.map +1 -1
- package/dist/wall/curtain-wall-materials.js +2 -1
- 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/definition.d.ts +1 -1
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.js +31 -26
- 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.js +1 -1
- package/dist/wall/floorplan-tool.js +1 -1
- package/dist/wall/floorplan.d.ts +2 -2
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +4 -4
- package/dist/wall/index.d.ts +2 -2
- package/dist/wall/index.js +2 -2
- package/dist/wall/measurement.js +1 -1
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +5 -6
- package/dist/wall/move-shared.js +1 -1
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +3 -4
- package/dist/wall/paint.d.ts +1 -1
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +11 -16
- package/dist/wall/panel-model.d.ts.map +1 -1
- package/dist/wall/panel-model.js +6 -6
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +50 -17
- package/dist/wall/parametrics.d.ts +1 -1
- package/dist/wall/parametrics.js +1 -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 +235 -42
- package/dist/wall/rectangle-command.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.js +1 -1
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +27 -8
- package/dist/wall/selection-hit-owner.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.js +3 -3
- package/dist/wall/split-pointer.js +2 -2
- package/dist/wall/split-preview.d.ts +1 -1
- package/dist/wall/split-session.js +2 -2
- 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 +6 -6
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +9 -4
- package/dist/wall/treatment-level-data.d.ts.map +1 -1
- package/dist/wall/treatments.d.ts +1 -1
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +11 -4
- package/dist/wall/wall-batch-system.d.ts.map +1 -1
- package/dist/wall/wall-batch-system.js +47 -5
- 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 +31 -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 +47 -13
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +98 -56
- package/dist/window/index.d.ts +2 -2
- package/dist/window/index.js +2 -2
- package/dist/window/mechanism.js +1 -1
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +92 -27
- package/dist/window/paint.js +1 -1
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +108 -18
- 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 +6 -0
- package/dist/window/placement.d.ts.map +1 -1
- package/dist/window/placement.js +26 -0
- package/dist/window/preview.d.ts +1 -1
- package/dist/window/preview.d.ts.map +1 -1
- package/dist/window/preview.js +1 -1
- package/dist/window/renderer.d.ts.map +1 -1
- package/dist/window/renderer.js +2 -2
- 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 +113 -28
- package/dist/window/window-math.d.ts +1 -1
- package/dist/window/window-math.js +1 -1
- package/dist/zone/definition.d.ts +1 -1
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.js +14 -12
- package/dist/zone/floorplan-affordances.d.ts +463 -87
- 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.js +3 -3
- 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.js +3 -3
- package/dist/zone/quick-measurement.js +1 -1
- package/dist/zone/renderer.d.ts.map +1 -1
- package/dist/zone/renderer.js +10 -2
- package/dist/zone/room-clear-dimensions.js +1 -1
- package/dist/zone/room-documentation.d.ts +1 -1
- package/dist/zone/room-documentation.js +1 -1
- package/dist/zone/system.d.ts.map +1 -1
- package/package.json +26 -13
- 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/site/setbacks.d.ts +0 -33
- package/dist/site/setbacks.d.ts.map +0 -1
- package/dist/site/setbacks.js +0 -204
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, getWallLocalFaceZ, isCurvedWall,
|
|
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');
|
|
@@ -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') {
|
|
@@ -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
|
});
|
|
@@ -540,10 +557,10 @@ const CabinetTool = () => {
|
|
|
540
557
|
previewModule: previewNodeRef.current,
|
|
541
558
|
yaw,
|
|
542
559
|
});
|
|
543
|
-
const moving =
|
|
560
|
+
const moving = movingAlignmentAnchors({
|
|
544
561
|
...alignmentNode,
|
|
545
562
|
...(width == null ? null : { width }),
|
|
546
|
-
}, position[0], position[2], yaw);
|
|
563
|
+
}, useScene.getState().nodes, position[0], position[2], yaw);
|
|
547
564
|
if (moving.length === 0 || alignmentCandidates.length === 0) {
|
|
548
565
|
useAlignmentGuides.getState().clear();
|
|
549
566
|
return position;
|
|
@@ -559,10 +576,14 @@ const CabinetTool = () => {
|
|
|
559
576
|
return [position[0] + result.snap.dx, position[1], position[2] + result.snap.dz];
|
|
560
577
|
};
|
|
561
578
|
const withPlacementValidity = (next, bypassCollision) => {
|
|
579
|
+
if (wallCabinet && !next.insertionPreview)
|
|
580
|
+
next = { ...next, position: [next.position[0], WALL_CABINET_ELEVATION, next.position[2]] };
|
|
562
581
|
if (bypassCollision) {
|
|
563
582
|
return { ...next, conflictIds: [], valid: !next.insertionFailure };
|
|
564
583
|
}
|
|
565
|
-
const livePreviewNode =
|
|
584
|
+
const livePreviewNode = next.neighborJoin
|
|
585
|
+
? { ...previewNodeRef.current, depth: next.neighborJoin.depth }
|
|
586
|
+
: previewNodeRef.current;
|
|
566
587
|
const livePlacementDimensions = placementDimensionsRef.current;
|
|
567
588
|
const floorPlaced = nodeRegistry.get(livePreviewNode.type)?.capabilities?.floorPlaced;
|
|
568
589
|
const effectiveNode = {
|
|
@@ -582,7 +603,7 @@ const CabinetTool = () => {
|
|
|
582
603
|
const wall = next.wallId ? useScene.getState().nodes[next.wallId] : undefined;
|
|
583
604
|
const openingConflictIds = wall?.type === 'wall' && next.wallLocalX != null
|
|
584
605
|
? findWallOpeningConflicts({
|
|
585
|
-
bottom:
|
|
606
|
+
bottom: next.position[1],
|
|
586
607
|
height: livePlacementDimensions[1],
|
|
587
608
|
localX: next.wallLocalX,
|
|
588
609
|
nodes: useScene.getState().nodes,
|
|
@@ -612,14 +633,16 @@ const CabinetTool = () => {
|
|
|
612
633
|
if (!wallPlacement)
|
|
613
634
|
return null;
|
|
614
635
|
const wallSurfaceNormal = [Math.sin(wallPlacement.yaw), 0, Math.cos(wallPlacement.yaw)];
|
|
615
|
-
const insertion =
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
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
|
+
});
|
|
623
646
|
const insertionPreview = insertion?.kind === 'preview' ? insertion.plan : undefined;
|
|
624
647
|
const insertionFailure = insertion?.kind === 'blocked'
|
|
625
648
|
? { runId: insertion.runId, reason: insertion.reason }
|
|
@@ -660,6 +683,51 @@ const CabinetTool = () => {
|
|
|
660
683
|
const raw = resolveRawPosition(event);
|
|
661
684
|
lastRawPositionRef.current = raw;
|
|
662
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
|
+
}
|
|
663
731
|
const wallPlacement = islandModeRef.current ? null : resolveWallPlacement(raw);
|
|
664
732
|
if (wallPlacement) {
|
|
665
733
|
return withPlacementValidity({
|
|
@@ -780,6 +848,17 @@ const CabinetTool = () => {
|
|
|
780
848
|
placementRef.current = next;
|
|
781
849
|
setPlacement(next);
|
|
782
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);
|
|
783
862
|
publishFloorplanPreview(next);
|
|
784
863
|
const nextSnapKey = movementSfxStepKey({
|
|
785
864
|
coords: next.snappedToWall && typeof next.wallLocalX === 'number'
|
|
@@ -824,6 +903,15 @@ const CabinetTool = () => {
|
|
|
824
903
|
event.stopPropagation();
|
|
825
904
|
return;
|
|
826
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
|
+
}
|
|
827
915
|
const hit = islandModeRef.current ? null : wallHitFromWallEvent(event);
|
|
828
916
|
const next = hit ? resolveWallHitPlacement(hit) : null;
|
|
829
917
|
if (next) {
|
|
@@ -835,17 +923,23 @@ const CabinetTool = () => {
|
|
|
835
923
|
publishPlacement(resolvePlacement(event), lastWallEventTime);
|
|
836
924
|
};
|
|
837
925
|
const buildRunNodes = (position, yaw) => {
|
|
838
|
-
const patch = DEFAULT_PLACEMENT_PRESET.createPatch();
|
|
926
|
+
const patch = { ...DEFAULT_PLACEMENT_PRESET.createPatch(), ...toolDefaults };
|
|
839
927
|
const island = islandModeRef.current;
|
|
840
928
|
const cabinet = CabinetNode.parse({
|
|
841
929
|
...cabinetDefinition.defaults(),
|
|
842
|
-
...toolDefaults,
|
|
843
|
-
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,
|
|
844
935
|
position,
|
|
845
936
|
rotation: yaw,
|
|
846
937
|
parentId: activeLevelId,
|
|
938
|
+
width: previewNode.width,
|
|
847
939
|
depth: previewNode.depth,
|
|
848
|
-
carcassHeight: previewNode.
|
|
940
|
+
carcassHeight: previewNode.cabinetType === 'tall'
|
|
941
|
+
? cabinetDefinition.defaults().carcassHeight
|
|
942
|
+
: previewNode.carcassHeight,
|
|
849
943
|
...(island && {
|
|
850
944
|
countertopBackOverhang: ISLAND_SEATING_OVERHANG,
|
|
851
945
|
withFinishedBack: true,
|
|
@@ -855,12 +949,14 @@ const CabinetTool = () => {
|
|
|
855
949
|
...cabinetModuleDefinition.defaults(),
|
|
856
950
|
...patch,
|
|
857
951
|
...toolDefaults,
|
|
858
|
-
name: index === 0
|
|
952
|
+
name: index === 0
|
|
953
|
+
? (patch.name ?? 'Base Cabinet')
|
|
954
|
+
: `${patch.name ?? 'Base Cabinet'} ${index + 1}`,
|
|
859
955
|
parentId: cabinet.id,
|
|
860
956
|
position: [localX, runModuleBaseY(cabinet.plinthHeight, cabinet.showPlinth), 0],
|
|
861
957
|
width,
|
|
862
958
|
depth: cabinet.depth,
|
|
863
|
-
carcassHeight:
|
|
959
|
+
carcassHeight: previewNode.carcassHeight,
|
|
864
960
|
plinthHeight: cabinet.plinthHeight,
|
|
865
961
|
toeKickDepth: cabinet.toeKickDepth,
|
|
866
962
|
countertopThickness: cabinet.countertopThickness,
|
|
@@ -966,35 +1062,44 @@ const CabinetTool = () => {
|
|
|
966
1062
|
return null;
|
|
967
1063
|
const module = cabinetModuleForRunInsertion(CabinetModuleNode.parse({
|
|
968
1064
|
...previewNodeRef.current,
|
|
1065
|
+
...(next.neighborJoin ? { depth: next.neighborJoin.depth } : {}),
|
|
969
1066
|
position: insertionPreview.inserted.position,
|
|
970
1067
|
width: insertionPreview.inserted.width,
|
|
971
1068
|
}), run);
|
|
972
|
-
|
|
1069
|
+
const history = useScene.temporal.getState();
|
|
1070
|
+
const recorded = new Set(history.pastStates);
|
|
973
1071
|
try {
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
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;
|
|
989
1092
|
});
|
|
990
|
-
const updatedRun = sceneApi.get(liveRun.id) ?? liveRun;
|
|
991
|
-
bumpCabinetRunsNear(sceneApi, [cabinetRunFootprint(updatedRun, sceneApi.nodes())], new Set([updatedRun.id]));
|
|
992
|
-
sceneApi.resumeHistory();
|
|
993
|
-
return id;
|
|
994
1093
|
}
|
|
995
1094
|
catch {
|
|
996
|
-
|
|
997
|
-
|
|
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
|
+
}
|
|
998
1103
|
return null;
|
|
999
1104
|
}
|
|
1000
1105
|
};
|
|
@@ -1281,8 +1386,7 @@ const CabinetTool = () => {
|
|
|
1281
1386
|
return true;
|
|
1282
1387
|
};
|
|
1283
1388
|
const onKeyDown = (event) => {
|
|
1284
|
-
|
|
1285
|
-
if (tag === 'INPUT' || tag === 'TEXTAREA')
|
|
1389
|
+
if (isTypingTarget(event.target))
|
|
1286
1390
|
return;
|
|
1287
1391
|
const dimensionEditor = usePlacementPreview.getState();
|
|
1288
1392
|
if (event.key === 'Tab' && dimensionEditor.dimensions.length > 0) {
|
|
@@ -1389,7 +1493,15 @@ const CabinetTool = () => {
|
|
|
1389
1493
|
useAlignmentGuides.getState().clear();
|
|
1390
1494
|
useCabinetPlacementStatus.getState().setBlocked(false);
|
|
1391
1495
|
};
|
|
1392
|
-
}, [
|
|
1496
|
+
}, [
|
|
1497
|
+
activeLevelId,
|
|
1498
|
+
metricNotation,
|
|
1499
|
+
previewNode,
|
|
1500
|
+
publishFloorplanPreview,
|
|
1501
|
+
toolDefaults,
|
|
1502
|
+
unit,
|
|
1503
|
+
wallCabinet,
|
|
1504
|
+
]);
|
|
1393
1505
|
if (!(activeLevelId && placement))
|
|
1394
1506
|
return null;
|
|
1395
1507
|
const stretch = placement.stretch;
|
|
@@ -1399,19 +1511,21 @@ const CabinetTool = () => {
|
|
|
1399
1511
|
const activeStretchGhostOffset = draftSegments.reduce((sum, segment) => sum + segment.stretch.modules.length, 0);
|
|
1400
1512
|
const placementLabel = placement.insertionFailure
|
|
1401
1513
|
? 'No space in this run to insert this cabinet'
|
|
1402
|
-
:
|
|
1403
|
-
? placement.valid
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
? placement.snappedToWall
|
|
1408
|
-
? placement.snapReason === 'cabinet-edge'
|
|
1409
|
-
? 'Edge snap'
|
|
1410
|
-
: placement.snapReason === 'corner'
|
|
1411
|
-
? 'Corner snap'
|
|
1412
|
-
: 'Wall snap'
|
|
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`
|
|
1413
1519
|
: null
|
|
1414
|
-
:
|
|
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'}`
|
|
1528
|
+
: null;
|
|
1415
1529
|
const labelPosition = stretch
|
|
1416
1530
|
? runLocalToPlan({ position: placement.position, rotation: placement.yaw }, [
|
|
1417
1531
|
stretch.centerLocalX,
|
|
@@ -1430,13 +1544,13 @@ const CabinetTool = () => {
|
|
|
1430
1544
|
rotation: placement.yaw,
|
|
1431
1545
|
levelId: activeLevelId,
|
|
1432
1546
|
});
|
|
1433
|
-
const placementRotationY = placement.snappedToWall || stretch ? placement.yaw : yaw;
|
|
1547
|
+
const placementRotationY = placement.snappedToWall || stretch || placement.neighborJoin ? placement.yaw : yaw;
|
|
1434
1548
|
const placementBoxDimensions = [
|
|
1435
1549
|
stretch
|
|
1436
1550
|
? stretch.length + (previewNode.withCountertop ? previewNode.countertopOverhang * 2 : 0)
|
|
1437
1551
|
: placementSnapFootprint.dimensions[0],
|
|
1438
1552
|
placementSnapFootprint.dimensions[1],
|
|
1439
|
-
placementSnapFootprint.dimensions[2],
|
|
1553
|
+
placement.neighborJoin?.depth ?? placementSnapFootprint.dimensions[2],
|
|
1440
1554
|
];
|
|
1441
1555
|
const placementBoxPlanPosition = runLocalToPlan({ position: placement.position, rotation: placement.yaw }, [stretch?.centerLocalX ?? 0, 0, placementSnapFootprint.offset[1]]);
|
|
1442
1556
|
const placementBoxPosition = [
|
|
@@ -1444,7 +1558,13 @@ const CabinetTool = () => {
|
|
|
1444
1558
|
visualPosition[1],
|
|
1445
1559
|
placementBoxPlanPosition[2],
|
|
1446
1560
|
];
|
|
1447
|
-
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
|
|
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: [
|
|
1448
1568
|
labelPosition[0],
|
|
1449
1569
|
previewNode.plinthHeight + previewNode.carcassHeight + 0.35,
|
|
1450
1570
|
labelPosition[2],
|
|
@@ -1452,4 +1572,9 @@ const CabinetTool = () => {
|
|
|
1452
1572
|
? 'border-border/60 bg-background/90'
|
|
1453
1573
|
: 'border-red-400/60 bg-red-950/85'}`, children: _jsx("span", { className: "font-medium text-foreground", children: placementLabel }) }) })) : null] }));
|
|
1454
1574
|
};
|
|
1455
|
-
|
|
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;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { calculateLevelMiters, getWallArcData, getWallCurveFrameAt, getWallLocalFaceZ, getWallPlanFootprint, isCurvedWall, WALL_SNAP_DISTANCE_M, } from '@pascal-app/core';
|
|
2
|
-
import { snapCabinetFootprintCenter } from './placement-snap';
|
|
3
|
-
import { planToRunLocal, runLocalToPlan } from './run-layout';
|
|
2
|
+
import { snapCabinetFootprintCenter } from './placement-snap.js';
|
|
3
|
+
import { planToRunLocal, runLocalToPlan } from './run-layout.js';
|
|
4
4
|
const EDGE_SNAP_THRESHOLD = 0.08;
|
|
5
5
|
const FACE_MATCH_THRESHOLD = 0.12;
|
|
6
6
|
const YAW_MATCH_THRESHOLD = 0.08;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/boundary-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAazB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,CA0J5E,CAAA;
|
|
1
|
+
{"version":3,"file":"boundary-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/boundary-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAazB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,CA0J5E,CAAA;eAEc,qBAAqB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NodeDefinition } from '@pascal-app/core';
|
|
2
|
-
import { CeilingNode } from './schema';
|
|
2
|
+
import { CeilingNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Ceiling — Phase 5 batch kind, polygon-based. Structurally similar to
|
|
5
5
|
* slab but with React-rendered hosted children + TSL shader materials +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAIpB,MAAM,kBAAkB,CAAA;AAuBzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA+EtC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,WAAW,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAIpB,MAAM,kBAAkB,CAAA;AAuBzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA+EtC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,WAAW,CAyHhE,CAAA"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { ceilingSlots, resolveCeilingHeight, useScene, } from '@pascal-app/core';
|
|
2
2
|
import { clearStructuralElevationGuide, DRAFTING_SURFACE_EXTENSION_KEY, publishStructuralElevationGuide, resolveStructuralElevationSnap, } from '@pascal-app/editor';
|
|
3
|
-
import { surfaceBatchable } from '../shared/node-batch/batchable';
|
|
4
|
-
import { polygonMeasurementFeatures } from '../shared/polygon-measurement';
|
|
5
|
-
import { sameOutlineSurfaceCounterparts } from '../shared/surface-counterparts';
|
|
6
|
-
import { buildCeilingFloorplan } from './floorplan';
|
|
7
|
-
import { ceilingAddVertexAffordance, ceilingDeleteVertexAffordance, ceilingMoveEdgeAffordance, ceilingMoveVertexAffordance, } from './floorplan-affordances';
|
|
8
|
-
import { ceilingFloorplanMoveTarget } from './floorplan-move';
|
|
9
|
-
import { CEILING_HANDLE_MIN_HEIGHT, ceilingHeightRange } from './height-bounds';
|
|
10
|
-
import { ceilingPaint } from './paint';
|
|
11
|
-
import { ceilingParametrics } from './parametrics';
|
|
12
|
-
import { CeilingNode } from './schema';
|
|
3
|
+
import { surfaceBatchable } from '../shared/node-batch/batchable.js';
|
|
4
|
+
import { polygonMeasurementFeatures } from '../shared/polygon-measurement.js';
|
|
5
|
+
import { sameOutlineSurfaceCounterparts } from '../shared/surface-counterparts.js';
|
|
6
|
+
import { buildCeilingFloorplan } from './floorplan.js';
|
|
7
|
+
import { ceilingAddVertexAffordance, ceilingDeleteVertexAffordance, ceilingMoveEdgeAffordance, ceilingMoveVertexAffordance, } from './floorplan-affordances.js';
|
|
8
|
+
import { ceilingFloorplanMoveTarget } from './floorplan-move.js';
|
|
9
|
+
import { CEILING_HANDLE_MIN_HEIGHT, ceilingHeightRange } from './height-bounds.js';
|
|
10
|
+
import { ceilingPaint } from './paint.js';
|
|
11
|
+
import { ceilingParametrics } from './parametrics.js';
|
|
12
|
+
import { CeilingNode } from './schema.js';
|
|
13
13
|
const HEIGHT_HANDLE_OFFSET = 0.22;
|
|
14
14
|
// Ceilings no longer drive the storey height; the stored level height
|
|
15
15
|
// does. Height writes clamp under min(storey plane, lowest underside of
|
|
@@ -122,6 +122,8 @@ export const ceilingDefinition = {
|
|
|
122
122
|
autoFromWalls: false,
|
|
123
123
|
}),
|
|
124
124
|
capabilities: {
|
|
125
|
+
reveal: { phase: 'roof', style: 'settle', height: 0.08 },
|
|
126
|
+
revealOnEdit: ['polygon', 'holes', 'height'],
|
|
125
127
|
batchable: surfaceBatchable,
|
|
126
128
|
selectable: { hitVolume: 'bbox' },
|
|
127
129
|
surfaces: {
|
|
@@ -153,21 +155,21 @@ export const ceilingDefinition = {
|
|
|
153
155
|
},
|
|
154
156
|
// Stage D: kind-owned placement tool. Multi-click polygon drawing
|
|
155
157
|
// with a vertical TSL-gradient connector + ground-shadow lines.
|
|
156
|
-
tool: () => import('./tool'),
|
|
158
|
+
tool: () => import('./tool.js'),
|
|
157
159
|
// Stage D — all four ceiling drag-affordances live in this folder.
|
|
158
160
|
// 1:1 port of the legacy tools (scene.update per tick + history
|
|
159
161
|
// dance + preview fill/outline overlay on move).
|
|
160
162
|
affordanceTools: {
|
|
161
|
-
'boundary-edit': () => import('./boundary-editor'),
|
|
162
|
-
'hole-edit': () => import('./hole-editor'),
|
|
163
|
-
move: () => import('./move-tool'),
|
|
163
|
+
'boundary-edit': () => import('./boundary-editor.js'),
|
|
164
|
+
'hole-edit': () => import('./hole-editor.js'),
|
|
165
|
+
move: () => import('./move-tool.js'),
|
|
164
166
|
},
|
|
165
167
|
renderer: {
|
|
166
168
|
kind: 'parametric',
|
|
167
|
-
module: () => import('./renderer'),
|
|
169
|
+
module: () => import('./renderer.js'),
|
|
168
170
|
},
|
|
169
171
|
system: {
|
|
170
|
-
module: () => import('./system'),
|
|
172
|
+
module: () => import('./system.js'),
|
|
171
173
|
priority: 4,
|
|
172
174
|
},
|
|
173
175
|
floorplan: buildCeilingFloorplan,
|