@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
|
@@ -2,24 +2,23 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { DuctSegmentNode } from '@pascal-app/core';
|
|
4
4
|
import { EDITOR_LAYER, triggerSFX, useEditor, usePathDraftPreview, useRegistryToolContext, } from '@pascal-app/editor';
|
|
5
|
+
import { collectScenePorts, createRunWallAttachment, DistributionRunCursor, runDistanceSquared as dist2, findNearestRunBody3D, findRunBodyCrossingSurface, stepNominalRunSize, useDistributionRunTool, } from '@pascal-app/editor/distribution';
|
|
5
6
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
6
7
|
import { Euler, Vector3 } from 'three';
|
|
7
|
-
import { getDuctFittingPorts } from '../duct-fitting/ports';
|
|
8
|
-
import { planCrossAtRunBody, planElbowAtPort, planElbowRealign, planTeeAtRunBody, } from '../shared/auto-fitting';
|
|
9
|
-
import { createDuctRunEndCap, findMatedRunEndCapIds, isRunEndCapPort, } from '../shared/automatic-run-end-cap';
|
|
10
|
-
import { ConnectionFeedback } from '../shared/connection-feedback';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import { ductSegmentDefinition } from './definition';
|
|
22
|
-
import { rectSectionAxes, rollToContinueAcrossElbow } from './geometry';
|
|
8
|
+
import { getDuctFittingPorts } from '../duct-fitting/ports.js';
|
|
9
|
+
import { planCrossAtRunBody, planElbowAtPort, planElbowRealign, planTeeAtRunBody, } from '../shared/auto-fitting.js';
|
|
10
|
+
import { createDuctRunEndCap, findMatedRunEndCapIds, isRunEndCapPort, } from '../shared/automatic-run-end-cap.js';
|
|
11
|
+
import { ConnectionFeedback } from '../shared/connection-feedback.js';
|
|
12
|
+
import { ductProfilesMatch, planDuctAdapter } from '../shared/duct-adapter.js';
|
|
13
|
+
import { FITTING_CLEARANCE_MESSAGE, hasFittingClearance } from '../shared/fitting-clearance.js';
|
|
14
|
+
import { LevelOffsetGroup } from '../shared/level-offset-group.js';
|
|
15
|
+
import { DuctSegmentGhost, FittingGhost } from '../shared/mep-ghost.js';
|
|
16
|
+
import { DUCT_PORT_SYSTEMS, runSectionHalfSizeM } from '../shared/port-systems.js';
|
|
17
|
+
import { RunHangerPreview } from '../shared/run-hanger-controls.js';
|
|
18
|
+
import { useRunHangerMode } from '../shared/run-hanger-mode.js';
|
|
19
|
+
import { currentDuctContinuationSeed, ductEndpointPort } from './continuation.js';
|
|
20
|
+
import { ductSegmentDefinition } from './definition.js';
|
|
21
|
+
import { rectSectionAxes, rollToContinueAcrossElbow } from './geometry.js';
|
|
23
22
|
/**
|
|
24
23
|
* Continuous placement tool for duct segments.
|
|
25
24
|
*
|
|
@@ -308,7 +307,9 @@ export function planDuctDraw(start, end, startPort, startBody, endPort, endBody,
|
|
|
308
307
|
ductEnd = endRealign?.collarPoint ?? end;
|
|
309
308
|
const realigns = [startRealign, endRealign].filter((p) => p !== null);
|
|
310
309
|
const crossHit = surface
|
|
311
|
-
? findRunBodyCrossingSurface(start, end, BODY_SNAP_RADIUS_M, surface
|
|
310
|
+
? findRunBodyCrossingSurface(start, end, BODY_SNAP_RADIUS_M, surface, {
|
|
311
|
+
kinds: ['duct-segment'],
|
|
312
|
+
})
|
|
312
313
|
: null;
|
|
313
314
|
const crossOwner = crossHit ? nodes[crossHit.nodeId] : null;
|
|
314
315
|
const crossTappedElsewhere = crossHit?.nodeId === trunkBody?.nodeId || crossHit?.nodeId === endTrunkBody?.nodeId;
|
|
@@ -433,7 +434,10 @@ const DuctSegmentTool = () => {
|
|
|
433
434
|
? { port: continuationSeed.port, body: continuationSeed.body }
|
|
434
435
|
: null,
|
|
435
436
|
getPorts: () => getConnectionPorts(activeLevelId, sceneApi.nodes()),
|
|
436
|
-
findBody: (point) => findNearestRunBody3D(point, BODY_SNAP_RADIUS_M, {
|
|
437
|
+
findBody: (point) => findNearestRunBody3D(point, BODY_SNAP_RADIUS_M, {
|
|
438
|
+
kinds: ['duct-segment'],
|
|
439
|
+
levelId: activeLevelId ?? undefined,
|
|
440
|
+
}),
|
|
437
441
|
surfaceClearance: (surface) => surface ? ductSurfaceClearanceM(profileRef.current, surface.kind === 'wall') : 0,
|
|
438
442
|
minimumSegmentLength: 0.08,
|
|
439
443
|
inheritFromConnection: ({ port }) => {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { NodeDefinition } from '@pascal-app/core';
|
|
2
|
-
import { DuctTerminalNode } from './schema';
|
|
2
|
+
import { DuctTerminalNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Phase 3 of the HVAC node system — duct terminals: supply registers,
|
|
5
5
|
* ceiling diffusers, return grilles. The end of the air loop. One typed
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { buildDuctTerminalFloorplan } from './floorplan';
|
|
2
|
-
import { buildDuctTerminalGeometry } from './geometry';
|
|
3
|
-
import { ductTerminalParametrics } from './parametrics';
|
|
4
|
-
import { getDuctTerminalPorts } from './ports';
|
|
5
|
-
import { DuctTerminalNode } from './schema';
|
|
1
|
+
import { buildDuctTerminalFloorplan } from './floorplan.js';
|
|
2
|
+
import { buildDuctTerminalGeometry } from './geometry.js';
|
|
3
|
+
import { ductTerminalParametrics } from './parametrics.js';
|
|
4
|
+
import { getDuctTerminalPorts } from './ports.js';
|
|
5
|
+
import { DuctTerminalNode } from './schema.js';
|
|
6
6
|
/**
|
|
7
7
|
* Phase 3 of the HVAC node system — duct terminals: supply registers,
|
|
8
8
|
* ceiling diffusers, return grilles. The end of the air loop. One typed
|
|
@@ -67,7 +67,7 @@ export const ductTerminalDefinition = {
|
|
|
67
67
|
]),
|
|
68
68
|
ports: getDuctTerminalPorts,
|
|
69
69
|
floorplan: buildDuctTerminalFloorplan,
|
|
70
|
-
tool: () => import('./tool'),
|
|
70
|
+
tool: () => import('./tool.js'),
|
|
71
71
|
toolHints: [
|
|
72
72
|
{ key: 'Click', label: 'Place register' },
|
|
73
73
|
{ key: 'M', label: 'Mount: floor / ceiling / wall' },
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { FloorplanGeometry, GeometryContext } from '@pascal-app/core';
|
|
2
|
-
import type { DuctTerminalNode } from './schema';
|
|
2
|
+
import type { DuctTerminalNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Floor-plan symbol for a duct terminal: the face rectangle (rotated by
|
|
5
5
|
* yaw) with the conventional register cross-slats hinted as a single
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Group } from 'three';
|
|
2
|
-
import type { DuctTerminalNode } from './schema';
|
|
2
|
+
import type { DuctTerminalNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Pure geometry builder for a duct terminal, in the node's LOCAL frame —
|
|
5
5
|
* `<ParametricNodeRenderer>` applies `position` + yaw, and the builder
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BoxGeometry, CylinderGeometry, Group, Mesh, MeshStandardMaterial, Vector3, } from 'three';
|
|
2
|
-
import { createOvalSectionGeometry, INCHES_TO_METERS } from '../duct-segment/geometry';
|
|
3
|
-
import { COLLAR_LENGTH, mountQuaternion, terminalSystem } from './ports';
|
|
2
|
+
import { createOvalSectionGeometry, INCHES_TO_METERS } from '../duct-segment/geometry.js';
|
|
3
|
+
import { COLLAR_LENGTH, mountQuaternion, terminalSystem } from './ports.js';
|
|
4
4
|
const RADIAL_SEGMENTS = 20;
|
|
5
5
|
/** Radial clearance (meters) the collar sleeve carries over the duct's
|
|
6
6
|
* nominal cross-section, so a run leaving at the advertised size nests
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export { ductTerminalDefinition } from './definition';
|
|
2
|
-
export { buildDuctTerminalGeometry } from './geometry';
|
|
3
|
-
export { getDuctTerminalPorts } from './ports';
|
|
4
|
-
export { DuctTerminalNode } from './schema';
|
|
1
|
+
export { ductTerminalDefinition } from './definition.js';
|
|
2
|
+
export { buildDuctTerminalGeometry } from './geometry.js';
|
|
3
|
+
export { getDuctTerminalPorts } from './ports.js';
|
|
4
|
+
export { DuctTerminalNode } from './schema.js';
|
|
5
5
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { ductTerminalDefinition } from './definition';
|
|
2
|
-
export { buildDuctTerminalGeometry } from './geometry';
|
|
3
|
-
export { getDuctTerminalPorts } from './ports';
|
|
4
|
-
export { DuctTerminalNode } from './schema';
|
|
1
|
+
export { ductTerminalDefinition } from './definition.js';
|
|
2
|
+
export { buildDuctTerminalGeometry } from './geometry.js';
|
|
3
|
+
export { getDuctTerminalPorts } from './ports.js';
|
|
4
|
+
export { DuctTerminalNode } from './schema.js';
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import type { ParametricDescriptor } from '@pascal-app/core';
|
|
2
|
-
import type { DuctTerminalNode } from './schema';
|
|
2
|
+
import type { DuctTerminalNode } from './schema.js';
|
|
3
3
|
export declare const ductTerminalParametrics: ParametricDescriptor<DuctTerminalNode>;
|
|
4
4
|
//# sourceMappingURL=parametrics.d.ts.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { NodePort } from '@pascal-app/core';
|
|
2
2
|
import { Quaternion } from 'three';
|
|
3
|
-
import type { DuctTerminalNode } from './schema';
|
|
3
|
+
import type { DuctTerminalNode } from './schema.js';
|
|
4
4
|
/** Collar stub length in meters behind the face. */
|
|
5
5
|
export declare const COLLAR_LENGTH = 0.12;
|
|
6
6
|
/**
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Euler, Quaternion, Vector3 } from 'three';
|
|
2
|
-
import { equivalentDiameterIn, ovalEquivalentDiameterIn } from '../duct-segment/geometry';
|
|
2
|
+
import { equivalentDiameterIn, ovalEquivalentDiameterIn } from '../duct-segment/geometry.js';
|
|
3
3
|
/** Collar stub length in meters behind the face. */
|
|
4
4
|
export const COLLAR_LENGTH = 0.12;
|
|
5
5
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/duct-terminal/tool.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool.d.ts","sourceRoot":"","sources":["../../src/duct-terminal/tool.tsx"],"names":[],"mappings":"AAyJA;;;;;;;;;GASG;AACH,QAAA,MAAM,gBAAgB,0CAwYrB,CAAA;eAEc,gBAAgB"}
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { DuctTerminalNode, emitter, pointInPolygon, resolveCeilingHeight, resolveLevelId, resolveSupportSlabPatch, sceneRegistry, useScene, } from '@pascal-app/core';
|
|
4
|
-
import { CursorSphere, getFloorStackPreviewPosition, getSpatialPointerId, isGridSnapActive, isMagneticSnapActive, triggerSFX, useEditor, } from '@pascal-app/editor';
|
|
4
|
+
import { CursorSphere, getFloorStackPreviewPosition, getSpatialPointerId, isGridSnapActive, isMagneticSnapActive, isTypingTarget, triggerSFX, useEditor, } from '@pascal-app/editor';
|
|
5
|
+
import { alignDrawPoint, clearDrawAlignment, collectScenePorts, findNearestPort3D, } from '@pascal-app/editor/distribution';
|
|
5
6
|
import { useViewer } from '@pascal-app/viewer';
|
|
6
7
|
import { Html } from '@react-three/drei';
|
|
7
8
|
import { useThree } from '@react-three/fiber';
|
|
8
9
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
9
10
|
import { Euler, Matrix3, Matrix4, Plane, Quaternion, Raycaster, Vector2, Vector3 } from 'three';
|
|
10
|
-
import { subscribeAccessorySnapping } from '../shared/accessory-snapping';
|
|
11
|
-
import { ConnectionFeedback } from '../shared/connection-feedback';
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import { COLLAR_LENGTH, getDuctTerminalPorts, mountQuaternion } from './ports';
|
|
11
|
+
import { subscribeAccessorySnapping } from '../shared/accessory-snapping.js';
|
|
12
|
+
import { ConnectionFeedback } from '../shared/connection-feedback.js';
|
|
13
|
+
import { LevelOffsetGroup } from '../shared/level-offset-group.js';
|
|
14
|
+
import { DUCT_PORT_SYSTEMS } from '../shared/port-systems.js';
|
|
15
|
+
import { ductTerminalDefinition } from './definition.js';
|
|
16
|
+
import { buildDuctTerminalGeometry } from './geometry.js';
|
|
17
|
+
import { COLLAR_LENGTH, getDuctTerminalPorts, mountQuaternion } from './ports.js';
|
|
18
18
|
const PREVIEW_OPACITY = 0.55;
|
|
19
19
|
/** R/T yaw step — 45°. */
|
|
20
20
|
const ROTATE_STEP_RAD = Math.PI / 4;
|
|
@@ -371,8 +371,7 @@ const DuctTerminalTool = () => {
|
|
|
371
371
|
commit(p);
|
|
372
372
|
};
|
|
373
373
|
const onKeyDown = (e) => {
|
|
374
|
-
|
|
375
|
-
if (tag === 'INPUT' || tag === 'TEXTAREA')
|
|
374
|
+
if (isTypingTarget(e.target))
|
|
376
375
|
return;
|
|
377
376
|
const key = e.key;
|
|
378
377
|
if (key === 'm' || key === 'M') {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NodeDefinition } from '@pascal-app/core';
|
|
2
|
-
import { ElevatorNode } from './schema';
|
|
2
|
+
import { ElevatorNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Elevator — Stage A registration. Wrap-exports the legacy renderer +
|
|
5
5
|
* the three legacy systems (runtime / interaction / opening) bundled
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { ElevatorNode as ElevatorNodeSchema, elevatorSlots, getElevatorCabDepth, getElevatorCabWidth, getElevatorShaftDepth, getElevatorShaftWallThickness, getElevatorShaftWidth, resolveElevatorLevels, } from '@pascal-app/core';
|
|
2
|
-
import { buildElevatorFloorplan } from './floorplan';
|
|
3
|
-
import { elevatorResizeAffordance, elevatorRotateAffordance } from './floorplan-affordances';
|
|
4
|
-
import { elevatorPaint } from './paint';
|
|
5
|
-
import { elevatorParametrics } from './parametrics';
|
|
6
|
-
import { ElevatorNode } from './schema';
|
|
2
|
+
import { buildElevatorFloorplan } from './floorplan.js';
|
|
3
|
+
import { elevatorResizeAffordance, elevatorRotateAffordance } from './floorplan-affordances.js';
|
|
4
|
+
import { elevatorPaint } from './paint.js';
|
|
5
|
+
import { elevatorParametrics } from './parametrics.js';
|
|
6
|
+
import { ElevatorNode } from './schema.js';
|
|
7
7
|
const SIDE_HANDLE_OFFSET = 0.22;
|
|
8
8
|
const HEIGHT_HANDLE_OFFSET = 0.3;
|
|
9
9
|
const MOVE_FRONT_OFFSET = 0.35;
|
|
@@ -223,10 +223,10 @@ export const elevatorDefinition = {
|
|
|
223
223
|
rendersChildren: false,
|
|
224
224
|
renderer: {
|
|
225
225
|
kind: 'parametric',
|
|
226
|
-
module: () => import('./renderer'),
|
|
226
|
+
module: () => import('./renderer.js'),
|
|
227
227
|
},
|
|
228
228
|
system: {
|
|
229
|
-
module: () => import('./system'),
|
|
229
|
+
module: () => import('./system.js'),
|
|
230
230
|
priority: 3,
|
|
231
231
|
},
|
|
232
232
|
floorplan: buildElevatorFloorplan,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useLiveNodeOverrides, useScene, } from '@pascal-app/core';
|
|
2
2
|
import { isAngleSnapActive } from '@pascal-app/editor';
|
|
3
|
-
import { rotateAffordanceDelta } from '../shared/rotate-affordance';
|
|
3
|
+
import { rotateAffordanceDelta } from '../shared/rotate-affordance.js';
|
|
4
4
|
const MIN_ELEVATOR_DIM = 0.6;
|
|
5
5
|
/**
|
|
6
6
|
* Elevator width / depth drag (floor-plan). Mirrors the 3D
|
package/dist/elevator/index.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { elevatorDefinition } from './definition';
|
|
1
|
+
export { elevatorDefinition } from './definition.js';
|
|
2
2
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/elevator/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { elevatorDefinition } from './definition';
|
|
1
|
+
export { elevatorDefinition } from './definition.js';
|
package/dist/elevator/paint.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createSlotPaintCapability, previewSlotByUserData } from '../shared/slot-paint';
|
|
1
|
+
import { createSlotPaintCapability, previewSlotByUserData } from '../shared/slot-paint.js';
|
|
2
2
|
export const elevatorPaint = createSlotPaintCapability({
|
|
3
3
|
resolveRole: (args) => args.hitObject?.userData?.slotId ?? null,
|
|
4
4
|
applyPreview: previewSlotByUserData,
|
package/dist/elevator/panel.js
CHANGED
|
@@ -351,25 +351,25 @@ export default function ElevatorPanel() {
|
|
|
351
351
|
} }), _jsx(ActionButton, { label: "+45\u00B0", onClick: () => {
|
|
352
352
|
triggerSFX('sfx:item-rotate');
|
|
353
353
|
commitTransform(displayPosition, displayRotation + Math.PI / 4);
|
|
354
|
-
} })] })] }), _jsxs(PanelSection, { title: "Service", children: [_jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "From" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-2 text-sm text-foreground", onChange: (event) => handleServiceBoundaryChange('fromLevelId', event.target.value), value: fromLevelId, children: levels.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "To" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-2 text-sm text-foreground", onChange: (event) => handleServiceBoundaryChange('toLevelId', event.target.value), value: toLevelId, children: levels.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Default Floor" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ defaultLevelId: event.target.value || null }), value: selectedDefaultLevelId, children: defaultLevelOptions.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] })] }), _jsxs(PanelSection, { title: "Cab", children: [_jsx(MetricControl, { label: "Width", max: 4, min: 0.8, onChange: (value) => previewMetric('width', value), onCommit: (value) => commitMetric('width', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.width }), _jsx(MetricControl, { label: "Depth", max: 4, min: 0.8, onChange: (value) => previewMetric('depth', value), onCommit: (value) => commitMetric('depth', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.depth }), _jsx(MetricControl, { label: "Cab Height", max: 4, min: 1.8, onChange: (value) => previewMetric('cabHeight', value), onCommit: (value) => commitMetric('cabHeight', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.cabHeight })] }), _jsxs(PanelSection, { title: "Shaft", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Shaft Style" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ shaftStyle: event.target.value }), value: displayNode.shaftStyle ?? 'solid', children: SHAFT_STYLE_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })] }), _jsx(MetricControl, { label: "Shaft Width", max: 5, min: displayNode.width, onChange: (value) => previewMetric('shaftWidth', Math.max(value, displayNode.width)), onCommit: (value) => commitMetric('shaftWidth', Math.max(value, displayNode.width)), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayShaftWidth }), _jsx(MetricControl, { label: "Shaft Depth", max: 5, min: displayNode.depth, onChange: (value) => previewMetric('shaftDepth', Math.max(value, displayNode.depth)), onCommit: (value) => commitMetric('shaftDepth', Math.max(value, displayNode.depth)), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayShaftDepth }), _jsx(MetricControl, { label: "Wall Thickness", max: 0.4, min: 0.04, onChange: (value) => previewMetric('shaftWallThickness', value), onCommit: (value) => commitMetric('shaftWallThickness', value), precision: 2, restoreOnCommit: false, step: 0.01, unit: "m", value: displayShaftWallThickness })] }), _jsxs(PanelSection, { title: "Doors", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Opening Style" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ doorStyle: event.target.value }), value: displayNode.doorStyle ?? 'center-opening', children: DOOR_STYLE_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Door Type" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({
|
|
354
|
+
} })] })] }), _jsxs(PanelSection, { title: "Service", children: [_jsxs("div", { className: "grid grid-cols-2 gap-2", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "From" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-2 text-sm text-foreground", onChange: (event) => handleServiceBoundaryChange('fromLevelId', event.target.value), value: fromLevelId, children: levels.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "To" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-2 text-sm text-foreground", onChange: (event) => handleServiceBoundaryChange('toLevelId', event.target.value), value: toLevelId, children: levels.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Default Floor" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ defaultLevelId: event.target.value || null }), value: selectedDefaultLevelId, children: defaultLevelOptions.map((level) => (_jsx("option", { value: level.id, children: getLevelDisplayName(level) }, level.id))) })] })] }), _jsxs(PanelSection, { title: "Cab", children: [_jsx(MetricControl, { label: "Width", max: 4, min: 0.8, onChange: (value) => previewMetric('width', value), onCommit: (value) => commitMetric('width', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.width }), _jsx(MetricControl, { label: "Depth", max: 4, min: 0.8, onChange: (value) => previewMetric('depth', value), onCommit: (value) => commitMetric('depth', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.depth }), _jsx(MetricControl, { label: "Cab Height", max: 4, min: 1.8, onChange: (value) => previewMetric('cabHeight', value), onCommit: (value) => commitMetric('cabHeight', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.cabHeight })] }), _jsxs(PanelSection, { title: "Shaft", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Shaft Style" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ shaftStyle: event.target.value }), value: displayNode.shaftStyle ?? 'solid', children: SHAFT_STYLE_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })] }), _jsx(MetricControl, { label: "Shaft Width", max: 5, min: displayNode.width, onChange: (value) => previewMetric('shaftWidth', Math.max(value, displayNode.width)), onCommit: (value) => commitMetric('shaftWidth', Math.max(value, displayNode.width)), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayShaftWidth }), _jsx(MetricControl, { label: "Shaft Depth", max: 5, min: displayNode.depth, onChange: (value) => previewMetric('shaftDepth', Math.max(value, displayNode.depth)), onCommit: (value) => commitMetric('shaftDepth', Math.max(value, displayNode.depth)), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayShaftDepth }), _jsx(MetricControl, { label: "Wall Thickness", max: 0.4, min: 0.04, onChange: (value) => previewMetric('shaftWallThickness', value), onCommit: (value) => commitMetric('shaftWallThickness', value), precision: 2, restoreOnCommit: false, step: 0.01, unit: "m", value: displayShaftWallThickness })] }), _jsxs(PanelSection, { title: "Doors", children: [_jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Opening Style" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({ doorStyle: event.target.value }), value: displayNode.doorStyle ?? 'center-opening', children: DOOR_STYLE_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })] }), _jsxs("div", { className: "space-y-1.5", children: [_jsx("div", { className: "px-1 text-[11px] uppercase tracking-[0.14em] text-muted-foreground", children: "Door Type" }), _jsx("select", { className: "h-9 w-full rounded-lg border border-border/50 bg-black/4 dark:bg-[#2C2C2E] px-3 text-sm text-foreground", onChange: (event) => handleUpdate({
|
|
355
355
|
doorPanelStyle: event.target.value,
|
|
356
356
|
}), value: displayNode.doorPanelStyle ?? 'glass-frame', children: DOOR_PANEL_STYLE_OPTIONS.map((option) => (_jsx("option", { value: option.value, children: option.label }, option.value))) })] }), _jsx(MetricControl, { label: "Door Width", max: Math.max(displayNode.width - 0.1, 0.5), min: 0.45, onChange: (value) => previewMetric('doorWidth', value), onCommit: (value) => commitMetric('doorWidth', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.doorWidth }), _jsx(MetricControl, { label: "Door Height", max: Math.max(displayNode.cabHeight - 0.1, 1.3), min: 1.2, onChange: (value) => previewMetric('doorHeight', value), onCommit: (value) => commitMetric('doorHeight', value), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: displayNode.doorHeight })] }), _jsx(PanelSection, { title: "Access", children: _jsx("div", { className: "space-y-2", children: servedLevels.map((level) => {
|
|
357
357
|
const isDisabled = disabledLevelIds.has(level.id);
|
|
358
358
|
const isServiceOnly = serviceOnlyLevelIds.has(level.id);
|
|
359
|
-
return (_jsxs("div", { className: "flex items-center justify-between gap-2 rounded-lg border border-border/45 bg-[#2C2C2E] px-2.5 py-2", children: [_jsx("span", { className: "min-w-0 truncate text-sm", children: getLevelDisplayName(level) }), _jsxs("div", { className: "flex shrink-0 gap-1.5", children: [_jsx("button", { className: `rounded-md border px-2 py-1 text-[11px] transition-colors ${isServiceOnly
|
|
360
|
-
? 'border-sky-
|
|
361
|
-
: 'border-border/50 bg-black/15 text-muted-foreground hover:text-foreground'} ${isDisabled ? 'cursor-not-allowed opacity-45' : ''}`, disabled: isDisabled, onClick: () => toggleLevelAccess('serviceOnlyLevelIds', level.id), type: "button", children: "Service" }), _jsx("button", { className: `rounded-md border px-2 py-1 text-[11px] transition-colors ${isDisabled
|
|
362
|
-
? 'border-red-
|
|
363
|
-
: 'border-border/50 bg-black/15 text-muted-foreground hover:text-foreground'}`, onClick: () => toggleLevelAccess('disabledLevelIds', level.id), type: "button", children: "Disabled" })] })] }, level.id));
|
|
359
|
+
return (_jsxs("div", { className: "flex items-center justify-between gap-2 rounded-lg border border-border/45 bg-black/4 dark:bg-[#2C2C2E] px-2.5 py-2", children: [_jsx("span", { className: "min-w-0 truncate text-sm", children: getLevelDisplayName(level) }), _jsxs("div", { className: "flex shrink-0 gap-1.5", children: [_jsx("button", { className: `rounded-md border px-2 py-1 text-[11px] transition-colors ${isServiceOnly
|
|
360
|
+
? 'border-sky-600/40 bg-sky-400/15 text-sky-800 dark:border-sky-300/45 dark:text-sky-100'
|
|
361
|
+
: 'border-border/50 bg-black/4 dark:bg-black/15 text-muted-foreground hover:text-foreground'} ${isDisabled ? 'cursor-not-allowed opacity-45' : ''}`, disabled: isDisabled, onClick: () => toggleLevelAccess('serviceOnlyLevelIds', level.id), type: "button", children: "Service" }), _jsx("button", { className: `rounded-md border px-2 py-1 text-[11px] transition-colors ${isDisabled
|
|
362
|
+
? 'border-red-600/40 bg-red-400/15 text-red-700 dark:border-red-300/45 dark:text-red-100'
|
|
363
|
+
: 'border-border/50 bg-black/4 dark:bg-black/15 text-muted-foreground hover:text-foreground'}`, onClick: () => toggleLevelAccess('disabledLevelIds', level.id), type: "button", children: "Disabled" })] })] }, level.id));
|
|
364
364
|
}) }) }), _jsx(PanelSection, { title: "Destination", children: _jsx("div", { className: "grid grid-cols-2 gap-1.5", children: servedLevels.map((level) => {
|
|
365
365
|
const isActive = activeLevelId === level.id;
|
|
366
366
|
const stopOrder = destinationOrderByLevelId.get(level.id);
|
|
367
367
|
const isDisabled = disabledLevelIds.has(level.id);
|
|
368
368
|
const isServiceOnly = serviceOnlyLevelIds.has(level.id);
|
|
369
369
|
return (_jsxs("button", { className: `flex min-h-11 items-center justify-between gap-2 rounded-lg border px-2.5 text-left transition-colors ${isDisabled
|
|
370
|
-
? 'cursor-not-allowed border-border/35 bg-[#202024] text-muted-foreground/55'
|
|
370
|
+
? 'cursor-not-allowed border-border/35 bg-black/3 dark:bg-[#202024] text-muted-foreground/55'
|
|
371
371
|
: isActive
|
|
372
|
-
? 'border-emerald-
|
|
373
|
-
: 'border-border/50 bg-[#2C2C2E] text-foreground hover:bg-[#3e3e3e]'}`, disabled: isDisabled, onClick: () => requestLevel(level.id), type: "button", children: [_jsxs("span", { className: "flex min-w-0 flex-col", children: [_jsx("span", { className: "truncate text-xs", children: getLevelDisplayName(level) }), isDisabled ? (_jsx("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: "Disabled" })) : isServiceOnly ? (_jsx("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: "Service" })) : (stopOrder && (_jsxs("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: ["Stop ", stopOrder] })))] }), _jsx("span", { className: `flex h-6 min-w-6 items-center justify-center rounded-full border border-white/15 bg-black/20 ${stopOrder ? 'px-1.5 font-mono text-[11px] font-semibold' : ''}`, children: isDisabled ? '×' : (stopOrder ?? _jsx(Send, { className: "h-3 w-3" })) })] }, level.id));
|
|
372
|
+
? 'border-emerald-600/45 bg-emerald-400/15 text-emerald-800 dark:border-emerald-400/45 dark:text-emerald-100'
|
|
373
|
+
: 'border-border/50 bg-black/4 dark:bg-[#2C2C2E] text-foreground hover:bg-black/8 dark:hover:bg-[#3e3e3e]'}`, disabled: isDisabled, onClick: () => requestLevel(level.id), type: "button", children: [_jsxs("span", { className: "flex min-w-0 flex-col", children: [_jsx("span", { className: "truncate text-xs", children: getLevelDisplayName(level) }), isDisabled ? (_jsx("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: "Disabled" })) : isServiceOnly ? (_jsx("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: "Service" })) : (stopOrder && (_jsxs("span", { className: "mt-0.5 text-[10px] font-medium uppercase tracking-[0.12em] text-current/65", children: ["Stop ", stopOrder] })))] }), _jsx("span", { className: `flex h-6 min-w-6 items-center justify-center rounded-full border border-black/15 dark:border-white/15 bg-black/5 dark:bg-black/20 ${stopOrder ? 'px-1.5 font-mono text-[11px] font-semibold' : ''}`, children: isDisabled ? '×' : (stopOrder ?? _jsx(Send, { className: "h-3 w-3" })) })] }, level.id));
|
|
374
374
|
}) }) }), _jsxs(PanelSection, { title: "Motion", children: [_jsx(SliderControl, { label: "Speed", max: 8, min: 0.5, onChange: (value) => handleUpdate({ speed: value }), precision: 1, step: 0.1, unit: "m/s", value: node.speed }), _jsx(SliderControl, { label: "Door Time", max: 2200, min: 300, onChange: (value) => handleUpdate({ doorDurationMs: value }), step: 50, unit: "ms", value: node.doorDurationMs }), _jsx(SliderControl, { label: "Dwell", max: 5000, min: 300, onChange: (value) => handleUpdate({ dwellMs: value }), step: 100, unit: "ms", value: node.dwellMs })] })] }));
|
|
375
375
|
}
|
|
@@ -97,5 +97,5 @@ export const elevatorParametrics = {
|
|
|
97
97
|
doorHeight: Math.min(next.doorHeight, Math.max(1.2, next.cabHeight - 0.1)),
|
|
98
98
|
doorWidth: Math.min(next.doorWidth, Math.max(0.45, next.width - 0.1)),
|
|
99
99
|
}),
|
|
100
|
-
customPanel: () => import('./panel'),
|
|
100
|
+
customPanel: () => import('./panel.js'),
|
|
101
101
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/elevator/renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAmBlB,MAAM,kBAAkB,CAAA;AAypCzB,eAAO,MAAM,gBAAgB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/elevator/renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAQL,KAAK,YAAY,EAmBlB,MAAM,kBAAkB,CAAA;AAypCzB,eAAO,MAAM,gBAAgB,aAAc;IAAE,IAAI,EAAE,YAAY,CAAA;CAAE,gCA6YhE,CAAA;eAEc,gBAAgB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ELEVATOR_CAB_SLOT_DEFAULT, ELEVATOR_DOORS_SLOT_DEFAULT, ELEVATOR_GLASS_SLOT_DEFAULT, ELEVATOR_SHAFT_SLOT_DEFAULT, getElevatorCabDepth, getElevatorCabWidth, getElevatorDoorLeafSides, getElevatorDoorLeafWidth, getElevatorDoorLeafX, getElevatorShaftDepth, getElevatorShaftWallThickness, getElevatorShaftWidth, getResolvedElevatorDoorPanelStyle as getResolvedDoorPanelStyle, getResolvedElevatorDoorStyle as getResolvedDoorStyle, getResolvedElevatorShaftStyle as getResolvedShaftStyle, resolveElevatorLevels, useInteractive, useLiveNodeOverrides, useLiveTransforms, useRegistry, useScene, } from '@pascal-app/core';
|
|
4
4
|
import { createDefaultMaterial, createSurfaceRoleMaterial, materialCastsShadow, resolveMaterialRef, resolveSlotDefaultMaterial, useNodeEvents, useViewer, } from '@pascal-app/viewer';
|
|
5
5
|
import { useFrame } from '@react-three/fiber';
|
package/dist/elevator/system.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import {
|
|
2
|
+
import { Fragment as _Fragment, jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { ElevatorOpeningSystem, stepElevatorRuntimes } from '@pascal-app/core';
|
|
4
4
|
import { ElevatorInteractionSystem } from '@pascal-app/viewer';
|
|
5
5
|
import { useFrame } from '@react-three/fiber';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type NodeDefinition } from '@pascal-app/core';
|
|
2
|
-
import { EyebrowVentNode } from './schema';
|
|
2
|
+
import { EyebrowVentNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Eyebrow vent — a low, curved lens-shaped hood with a louvered front that
|
|
5
5
|
* sweeps out of a roof slope. Parented to a `roof-segment`; position is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA+F1C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,OAAO,eAAe,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AA+F1C;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB,EAAE,cAAc,CAAC,OAAO,eAAe,CA6DxE,CAAA"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { EyebrowVentNode as EyebrowVentNodeSchema, eyebrowVentSlots, } from '@pascal-app/core';
|
|
2
|
-
import { buildEyebrowVentFloorplan } from './floorplan';
|
|
3
|
-
import { eyebrowVentPaint } from './paint';
|
|
4
|
-
import { eyebrowVentParametrics } from './parametrics';
|
|
5
|
-
import { EyebrowVentNode } from './schema';
|
|
2
|
+
import { buildEyebrowVentFloorplan } from './floorplan.js';
|
|
3
|
+
import { eyebrowVentPaint } from './paint.js';
|
|
4
|
+
import { eyebrowVentParametrics } from './parametrics.js';
|
|
5
|
+
import { EyebrowVentNode } from './schema.js';
|
|
6
6
|
const SIDE_HANDLE_OFFSET = 0.3;
|
|
7
7
|
const HEIGHT_HANDLE_OFFSET = 0.2;
|
|
8
8
|
// Snug to the vent corner so the rotate icon stays close to the item.
|
|
@@ -111,6 +111,7 @@ export const eyebrowVentDefinition = {
|
|
|
111
111
|
return rest;
|
|
112
112
|
},
|
|
113
113
|
capabilities: {
|
|
114
|
+
exterior: true,
|
|
114
115
|
slots: eyebrowVentSlots,
|
|
115
116
|
selectable: { hitVolume: 'bbox' },
|
|
116
117
|
duplicable: true,
|
|
@@ -127,12 +128,12 @@ export const eyebrowVentDefinition = {
|
|
|
127
128
|
rendersChildren: false,
|
|
128
129
|
renderer: {
|
|
129
130
|
kind: 'parametric',
|
|
130
|
-
module: () => import('./renderer'),
|
|
131
|
+
module: () => import('./renderer.js'),
|
|
131
132
|
},
|
|
132
|
-
preview: () => import('./preview'),
|
|
133
|
-
tool: () => import('./tool'),
|
|
133
|
+
preview: () => import('./preview.js'),
|
|
134
|
+
tool: () => import('./tool.js'),
|
|
134
135
|
affordanceTools: {
|
|
135
|
-
move: () => import('./move-tool'),
|
|
136
|
+
move: () => import('./move-tool.js'),
|
|
136
137
|
},
|
|
137
138
|
toolHints: [
|
|
138
139
|
{ key: 'Left click', label: 'Place eyebrow vent on roof' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,eAAO,MAAM,2BAA2B
|
|
1
|
+
{"version":3,"file":"geometry.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/geometry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AACvD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAQ9B,eAAO,MAAM,2BAA2B;aACtC,IAAI,EAAE,CAAC;aACP,KAAK,EAAE,CAAC;CACA,CAAA;AAEV;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,eAAe,GAAG,KAAK,CAAC,cAAc,CA+CpF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as THREE from 'three';
|
|
2
|
-
import { copyUvToSecondaryChannel, cumulativeProfileDistances, planarMetricUvs, } from '../shared/primitive-uv';
|
|
2
|
+
import { copyUvToSecondaryChannel, cumulativeProfileDistances, planarMetricUvs, } from '../shared/primitive-uv.js';
|
|
3
3
|
export const EYEBROW_VENT_MATERIAL_INDEX = {
|
|
4
4
|
hood: 0,
|
|
5
5
|
front: 1,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { eyebrowVentDefinition } from './definition';
|
|
2
|
-
export { buildEyebrowVentGeometry } from './geometry';
|
|
3
|
-
export { EyebrowVentNode } from './schema';
|
|
1
|
+
export { eyebrowVentDefinition } from './definition.js';
|
|
2
|
+
export { buildEyebrowVentGeometry } from './geometry.js';
|
|
3
|
+
export { EyebrowVentNode } from './schema.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { eyebrowVentDefinition } from './definition';
|
|
2
|
-
export { buildEyebrowVentGeometry } from './geometry';
|
|
3
|
-
export { EyebrowVentNode } from './schema';
|
|
1
|
+
export { eyebrowVentDefinition } from './definition.js';
|
|
2
|
+
export { buildEyebrowVentGeometry } from './geometry.js';
|
|
3
|
+
export { EyebrowVentNode } from './schema.js';
|
|
@@ -4,10 +4,10 @@ import { emitter, sceneRegistry, useScene, } from '@pascal-app/core';
|
|
|
4
4
|
import { consumePlacementDragRelease, markToolCancelConsumed, triggerSFX, useEditor, } from '@pascal-app/editor';
|
|
5
5
|
import { useCallback, useEffect, useState } from 'react';
|
|
6
6
|
import * as THREE from 'three';
|
|
7
|
-
import { createRelativeRoofDrag, roofSegmentLocalToBuildingLocal, snapRelativeRoofDragTarget, } from '../shared/relative-roof-drag';
|
|
8
|
-
import { getAnalyticalNormal, surfaceQuatFromNormal } from '../shared/roof-surface';
|
|
9
|
-
import { clearRoofSurfacePlacementGuides, publishRoofSurfaceNodePlacementGuides, snapRoofSurfaceNodeTarget, } from '../shared/roof-surface-placement-guides';
|
|
10
|
-
import EyebrowVentPreview from './preview';
|
|
7
|
+
import { createRelativeRoofDrag, roofSegmentLocalToBuildingLocal, snapRelativeRoofDragTarget, } from '../shared/relative-roof-drag.js';
|
|
8
|
+
import { getAnalyticalNormal, surfaceQuatFromNormal } from '../shared/roof-surface.js';
|
|
9
|
+
import { clearRoofSurfacePlacementGuides, publishRoofSurfaceNodePlacementGuides, snapRoofSurfaceNodeTarget, } from '../shared/roof-surface-placement-guides.js';
|
|
10
|
+
import EyebrowVentPreview from './preview.js';
|
|
11
11
|
/**
|
|
12
12
|
* Eyebrow-vent move tool. Mirrors the box-vent / cupola move flow: the
|
|
13
13
|
* original mesh hides during the drag, a ghost tracks the cursor with the
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { buildSlotPreviewMaterial, createSlotPaintCapability } from '../shared/slot-paint';
|
|
2
|
-
import { swapPreviewMaterial } from '../shared/swap-preview-material';
|
|
3
|
-
import { EYEBROW_VENT_MATERIAL_INDEX } from './geometry';
|
|
1
|
+
import { buildSlotPreviewMaterial, createSlotPaintCapability } from '../shared/slot-paint.js';
|
|
2
|
+
import { swapPreviewMaterial } from '../shared/swap-preview-material.js';
|
|
3
|
+
import { EYEBROW_VENT_MATERIAL_INDEX } from './geometry.js';
|
|
4
4
|
export function resolveEyebrowVentMaterialRole(materialIndex) {
|
|
5
5
|
return materialIndex === EYEBROW_VENT_MATERIAL_INDEX.front ? 'front' : 'hood';
|
|
6
6
|
}
|
|
@@ -84,5 +84,5 @@ export default function EyebrowVentPanel() {
|
|
|
84
84
|
{ label: 'Scoop', value: 'scoop' },
|
|
85
85
|
{ label: 'Half-round', value: 'half-round' },
|
|
86
86
|
{ label: 'Slant-box', value: 'slant-box' },
|
|
87
|
-
], value: node.style ?? 'scoop' }), _jsx(SliderControl, { label: "Louvers", max: 8, min: 0, onChange: (v) => previewProp({ louverCount: Math.round(v) }), onCommit: (v) => handleUpdate({ louverCount: Math.round(v) }), precision: 0, restoreOnCommit: false, step: 1, value: node.louverCount ?? 3 }), node.style === 'slant-box' ? (_jsx(SliderControl, { label: "Back height", max: 1, min: 0.15, onChange: (v) => previewProp({ backRatio: v }), onCommit: (v) => handleUpdate({ backRatio: v }), precision: 2, restoreOnCommit: false, step: 0.05, value: Math.round((node.backRatio ?? 0.5) * 100) / 100 })) : null] }), _jsxs(PanelSection, { title: "Dimensions", children: [_jsx(SliderControl, { label: "Width", max: 1000, min: 0.4, onChange: (v) => previewProp({ width: v }), onCommit: (v) => handleUpdate({ width: v }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.width }), _jsx(SliderControl, { label: "Depth", max: 1000, min: 0.2, onChange: (v) => previewProp({ depth: v }), onCommit: (v) => handleUpdate({ depth: v }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.depth }), _jsx(SliderControl, { label: "Height", max: 1000, min: 0.08, onChange: (v) => previewProp({ height: v }), onCommit: (v) => handleUpdate({ height: v }), precision: 2, restoreOnCommit: false, step: 0.02, unit: "m", value: node.height })] }), _jsxs(PanelSection, { title: "Position", children: [_jsx(SliderControl, { label: "X", max: Math.round(((segment?.width ?? 10) / 2) * 100) / 100, min: -Math.round(((segment?.width ?? 10) / 2) * 100) / 100, onChange: (v) => previewProp({ position: [v, node.position[1] ?? 0, node.position[2] ?? 0] }), onCommit: (v) => handleUpdate({ position: [v, node.position[1] ?? 0, node.position[2] ?? 0] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[0] ?? 0 }), _jsx(SliderControl, { label: "Y", max: Math.max((segment?.wallHeight ?? 3) + (segment ? getActiveRoofHeight(segment) : 3) + 2, (node.position[1] ?? 0) + 0.1), min: Math.min(0, (node.position[1] ?? 0) - 0.5), onChange: (v) => previewProp({ position: [node.position[0] ?? 0, v, node.position[2] ?? 0] }), onCommit: (v) => handleUpdate({ position: [node.position[0] ?? 0, v, node.position[2] ?? 0] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[1] ?? 0 }), _jsx(SliderControl, { label: "Z", max: Math.round(((segment?.depth ?? 10) / 2) * 100) / 100, min: -Math.round(((segment?.depth ?? 10) / 2) * 100) / 100, onChange: (v) => previewProp({ position: [node.position[0] ?? 0, node.position[1] ?? 0, v] }), onCommit: (v) => handleUpdate({ position: [node.position[0] ?? 0, node.position[1] ?? 0, v] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[2] ?? 0 }), _jsx(SliderControl, { label: "Rotation", max: 180, min: -180, onChange: (deg) => previewProp({ rotation: (deg * Math.PI) / 180 }), onCommit: (deg) => handleUpdate({ rotation: (deg * Math.PI) / 180 }), precision: 0, restoreOnCommit: false, step: 1, unit: "\u00B0", value: Math.round(((node.rotation ?? 0) * 180) / Math.PI) })] }), _jsx(PanelSection, { title: "Actions", children: _jsxs(ActionGroup, { children: [_jsx(ActionButton, { icon: _jsx(Move, { className: "h-3.5 w-3.5" }), label: "Move", onClick: handleMove }), _jsx(ActionButton, { icon: _jsx(Copy, { className: "h-3.5 w-3.5" }), label: "Duplicate", onClick: handleDuplicate }), _jsx(ActionButton, { className: "hover:bg-red-500/20", icon: _jsx(Trash2, { className: "h-3.5 w-3.5 text-red-400" }), label: "Delete", onClick: handleDelete })] }) })] }));
|
|
87
|
+
], value: node.style ?? 'scoop' }), _jsx(SliderControl, { label: "Louvers", max: 8, min: 0, onChange: (v) => previewProp({ louverCount: Math.round(v) }), onCommit: (v) => handleUpdate({ louverCount: Math.round(v) }), precision: 0, restoreOnCommit: false, step: 1, value: node.louverCount ?? 3 }), node.style === 'slant-box' ? (_jsx(SliderControl, { label: "Back height", max: 1, min: 0.15, onChange: (v) => previewProp({ backRatio: v }), onCommit: (v) => handleUpdate({ backRatio: v }), precision: 2, restoreOnCommit: false, step: 0.05, value: Math.round((node.backRatio ?? 0.5) * 100) / 100 })) : null] }), _jsxs(PanelSection, { title: "Dimensions", children: [_jsx(SliderControl, { label: "Width", max: 1000, min: 0.4, onChange: (v) => previewProp({ width: v }), onCommit: (v) => handleUpdate({ width: v }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.width }), _jsx(SliderControl, { label: "Depth", max: 1000, min: 0.2, onChange: (v) => previewProp({ depth: v }), onCommit: (v) => handleUpdate({ depth: v }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.depth }), _jsx(SliderControl, { label: "Height", max: 1000, min: 0.08, onChange: (v) => previewProp({ height: v }), onCommit: (v) => handleUpdate({ height: v }), precision: 2, restoreOnCommit: false, step: 0.02, unit: "m", value: node.height })] }), _jsxs(PanelSection, { title: "Position", children: [_jsx(SliderControl, { label: "X", max: Math.round(((segment?.width ?? 10) / 2) * 100) / 100, min: -Math.round(((segment?.width ?? 10) / 2) * 100) / 100, onChange: (v) => previewProp({ position: [v, node.position[1] ?? 0, node.position[2] ?? 0] }), onCommit: (v) => handleUpdate({ position: [v, node.position[1] ?? 0, node.position[2] ?? 0] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[0] ?? 0 }), _jsx(SliderControl, { label: "Y", max: Math.max((segment?.wallHeight ?? 3) + (segment ? getActiveRoofHeight(segment) : 3) + 2, (node.position[1] ?? 0) + 0.1), min: Math.min(0, (node.position[1] ?? 0) - 0.5), onChange: (v) => previewProp({ position: [node.position[0] ?? 0, v, node.position[2] ?? 0] }), onCommit: (v) => handleUpdate({ position: [node.position[0] ?? 0, v, node.position[2] ?? 0] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[1] ?? 0 }), _jsx(SliderControl, { label: "Z", max: Math.round(((segment?.depth ?? 10) / 2) * 100) / 100, min: -Math.round(((segment?.depth ?? 10) / 2) * 100) / 100, onChange: (v) => previewProp({ position: [node.position[0] ?? 0, node.position[1] ?? 0, v] }), onCommit: (v) => handleUpdate({ position: [node.position[0] ?? 0, node.position[1] ?? 0, v] }), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: node.position[2] ?? 0 }), _jsx(SliderControl, { label: "Rotation", max: 180, min: -180, onChange: (deg) => previewProp({ rotation: (deg * Math.PI) / 180 }), onCommit: (deg) => handleUpdate({ rotation: (deg * Math.PI) / 180 }), precision: 0, restoreOnCommit: false, step: 1, unit: "\u00B0", value: Math.round(((node.rotation ?? 0) * 180) / Math.PI) })] }), _jsx(PanelSection, { title: "Actions", children: _jsxs(ActionGroup, { children: [_jsx(ActionButton, { icon: _jsx(Move, { className: "h-3.5 w-3.5" }), label: "Move", onClick: handleMove }), _jsx(ActionButton, { icon: _jsx(Copy, { className: "h-3.5 w-3.5" }), label: "Duplicate", onClick: handleDuplicate }), _jsx(ActionButton, { className: "hover:bg-red-500/20", icon: _jsx(Trash2, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" }), label: "Delete", onClick: handleDelete })] }) })] }));
|
|
88
88
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ParametricDescriptor } from '@pascal-app/core';
|
|
2
|
-
import type { EyebrowVentNode } from './schema';
|
|
2
|
+
import type { EyebrowVentNode } from './schema.js';
|
|
3
3
|
/**
|
|
4
4
|
* Inspector descriptor for the eyebrow vent. Move / Duplicate use the
|
|
5
5
|
* kind-owned ghost-preview flow (see `./move-tool.tsx`), so the panel hosts
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/preview.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,
|
|
1
|
+
{"version":3,"file":"preview.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/preview.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C;;;;;GAKG;AACH,QAAA,MAAM,kBAAkB,sBAAuB;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,gCAgD1F,CAAA;eAEc,kBAAkB"}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
import { useEffect, useMemo } from 'react';
|
|
4
4
|
import * as THREE from 'three';
|
|
5
|
-
import { INVALID_GHOST_COLOR } from '../shared/ghost-materials';
|
|
6
|
-
import { buildEyebrowVentGeometry } from './geometry';
|
|
5
|
+
import { INVALID_GHOST_COLOR } from '../shared/ghost-materials.js';
|
|
6
|
+
import { buildEyebrowVentGeometry } from './geometry.js';
|
|
7
7
|
/**
|
|
8
8
|
* Translucent ghost of an eyebrow vent, used by the placement tool's cursor
|
|
9
9
|
* and the move-tool preview. Builds geometry through the shared pure builder
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EAKrB,MAAM,kBAAkB,CAAA;AAsBzB;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../src/eyebrow-vent/renderer.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,eAAe,EAKrB,MAAM,kBAAkB,CAAA;AAsBzB;;;;;GAKG;AACH,QAAA,MAAM,mBAAmB,wBAAyB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,uCAuG1E,CAAA;eAEc,mBAAmB"}
|
|
@@ -4,9 +4,9 @@ import { useLiveNodeOverrides, useRegistry, useScene, } from '@pascal-app/core';
|
|
|
4
4
|
import { createMaterial, createMaterialFromPresetRef, createSurfaceRoleMaterial, resolveMaterialRef, useNodeEvents, useViewer, } from '@pascal-app/viewer';
|
|
5
5
|
import { useEffect, useMemo, useRef } from 'react';
|
|
6
6
|
import * as THREE from 'three';
|
|
7
|
-
import { getAnalyticalNormal, surfaceQuatFromNormal } from '../shared/roof-surface';
|
|
8
|
-
import { useSegmentTrimClippedGeometry } from '../shared/use-segment-trim-clip';
|
|
9
|
-
import { buildEyebrowVentGeometry } from './geometry';
|
|
7
|
+
import { getAnalyticalNormal, surfaceQuatFromNormal } from '../shared/roof-surface.js';
|
|
8
|
+
import { useSegmentTrimClippedGeometry } from '../shared/use-segment-trim-clip.js';
|
|
9
|
+
import { buildEyebrowVentGeometry } from './geometry.js';
|
|
10
10
|
const defaultMaterial = new THREE.MeshStandardMaterial({
|
|
11
11
|
color: 0xff_ff_ff,
|
|
12
12
|
roughness: 0.7,
|