@pascal-app/nodes 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/box-vent/definition.d.ts +30 -0
- package/dist/box-vent/definition.d.ts.map +1 -0
- package/dist/box-vent/definition.js +210 -0
- package/dist/box-vent/floorplan.d.ts +15 -0
- package/dist/box-vent/floorplan.d.ts.map +1 -0
- package/dist/box-vent/floorplan.js +187 -0
- package/dist/box-vent/geometry.d.ts +40 -0
- package/dist/box-vent/geometry.d.ts.map +1 -0
- package/dist/box-vent/geometry.js +421 -0
- package/dist/box-vent/index.d.ts +4 -0
- package/dist/box-vent/index.d.ts.map +1 -0
- package/dist/box-vent/index.js +3 -0
- package/dist/box-vent/move-tool.d.ts +14 -0
- package/dist/box-vent/move-tool.d.ts.map +1 -0
- package/dist/box-vent/move-tool.js +217 -0
- package/dist/box-vent/panel.d.ts +14 -0
- package/dist/box-vent/panel.d.ts.map +1 -0
- package/dist/box-vent/panel.js +143 -0
- package/dist/box-vent/parametrics.d.ts +9 -0
- package/dist/box-vent/parametrics.d.ts.map +1 -0
- package/dist/box-vent/parametrics.js +35 -0
- package/dist/box-vent/preview.d.ts +17 -0
- package/dist/box-vent/preview.d.ts.map +1 -0
- package/dist/box-vent/preview.js +41 -0
- package/dist/box-vent/renderer.d.ts +26 -0
- package/dist/box-vent/renderer.d.ts.map +1 -0
- package/dist/box-vent/renderer.js +127 -0
- package/dist/box-vent/schema.d.ts +2 -0
- package/dist/box-vent/schema.d.ts.map +1 -0
- package/dist/box-vent/schema.js +3 -0
- package/dist/box-vent/tool.d.ts +13 -0
- package/dist/box-vent/tool.d.ts.map +1 -0
- package/dist/box-vent/tool.js +116 -0
- package/dist/building/definition.d.ts +12 -0
- package/dist/building/definition.d.ts.map +1 -0
- package/dist/building/definition.js +53 -0
- package/dist/building/index.d.ts +2 -0
- package/dist/building/index.d.ts.map +1 -0
- package/dist/building/index.js +1 -0
- package/dist/building/move-tool.d.ts +6 -0
- package/dist/building/move-tool.d.ts.map +1 -0
- package/dist/building/move-tool.js +187 -0
- package/dist/building/parametrics.d.ts +3 -0
- package/dist/building/parametrics.d.ts.map +1 -0
- package/dist/building/parametrics.js +3 -0
- package/dist/building/renderer.d.ts +6 -0
- package/dist/building/renderer.d.ts.map +1 -0
- package/dist/building/renderer.js +12 -0
- package/dist/building/schema.d.ts +2 -0
- package/dist/building/schema.d.ts.map +1 -0
- package/dist/building/schema.js +1 -0
- package/dist/cabinet/animation.d.ts +5 -0
- package/dist/cabinet/animation.d.ts.map +1 -0
- package/dist/cabinet/animation.js +48 -0
- package/dist/cabinet/compartment-card.d.ts +17 -0
- package/dist/cabinet/compartment-card.d.ts.map +1 -0
- package/dist/cabinet/compartment-card.js +145 -0
- package/dist/cabinet/continuous-placement.d.ts +49 -0
- package/dist/cabinet/continuous-placement.d.ts.map +1 -0
- package/dist/cabinet/continuous-placement.js +110 -0
- package/dist/cabinet/cooktop-flame.d.ts +14 -0
- package/dist/cabinet/cooktop-flame.d.ts.map +1 -0
- package/dist/cabinet/cooktop-flame.js +115 -0
- package/dist/cabinet/definition.d.ts +26 -0
- package/dist/cabinet/definition.d.ts.map +1 -0
- package/dist/cabinet/definition.js +1016 -0
- package/dist/cabinet/floorplan-move.d.ts +15 -0
- package/dist/cabinet/floorplan-move.d.ts.map +1 -0
- package/dist/cabinet/floorplan-move.js +192 -0
- package/dist/cabinet/floorplan-overrides.d.ts +16 -0
- package/dist/cabinet/floorplan-overrides.d.ts.map +1 -0
- package/dist/cabinet/floorplan-overrides.js +47 -0
- package/dist/cabinet/floorplan.d.ts +4 -0
- package/dist/cabinet/floorplan.d.ts.map +1 -0
- package/dist/cabinet/floorplan.js +311 -0
- package/dist/cabinet/geometry/cooktop.d.ts +20 -0
- package/dist/cabinet/geometry/cooktop.d.ts.map +1 -0
- package/dist/cabinet/geometry/cooktop.js +269 -0
- package/dist/cabinet/geometry/dishwasher.d.ts +4 -0
- package/dist/cabinet/geometry/dishwasher.d.ts.map +1 -0
- package/dist/cabinet/geometry/dishwasher.js +100 -0
- package/dist/cabinet/geometry/fridge.d.ts +5 -0
- package/dist/cabinet/geometry/fridge.d.ts.map +1 -0
- package/dist/cabinet/geometry/fridge.js +393 -0
- package/dist/cabinet/geometry/fronts.d.ts +9 -0
- package/dist/cabinet/geometry/fronts.d.ts.map +1 -0
- package/dist/cabinet/geometry/fronts.js +468 -0
- package/dist/cabinet/geometry/hood.d.ts +6 -0
- package/dist/cabinet/geometry/hood.d.ts.map +1 -0
- package/dist/cabinet/geometry/hood.js +108 -0
- package/dist/cabinet/geometry/oven-microwave.d.ts +5 -0
- package/dist/cabinet/geometry/oven-microwave.d.ts.map +1 -0
- package/dist/cabinet/geometry/oven-microwave.js +292 -0
- package/dist/cabinet/geometry/pantry.d.ts +5 -0
- package/dist/cabinet/geometry/pantry.d.ts.map +1 -0
- package/dist/cabinet/geometry/pantry.js +80 -0
- package/dist/cabinet/geometry/run.d.ts +6 -0
- package/dist/cabinet/geometry/run.d.ts.map +1 -0
- package/dist/cabinet/geometry/run.js +124 -0
- package/dist/cabinet/geometry/shared.d.ts +46 -0
- package/dist/cabinet/geometry/shared.d.ts.map +1 -0
- package/dist/cabinet/geometry/shared.js +356 -0
- package/dist/cabinet/geometry/sink.d.ts +29 -0
- package/dist/cabinet/geometry/sink.d.ts.map +1 -0
- package/dist/cabinet/geometry/sink.js +262 -0
- package/dist/cabinet/geometry.d.ts +6 -0
- package/dist/cabinet/geometry.d.ts.map +1 -0
- package/dist/cabinet/geometry.js +219 -0
- package/dist/cabinet/index.d.ts +5 -0
- package/dist/cabinet/index.d.ts.map +1 -0
- package/dist/cabinet/index.js +4 -0
- package/dist/cabinet/interaction.d.ts +15 -0
- package/dist/cabinet/interaction.d.ts.map +1 -0
- package/dist/cabinet/interaction.js +109 -0
- package/dist/cabinet/move-frame.d.ts +3 -0
- package/dist/cabinet/move-frame.d.ts.map +1 -0
- package/dist/cabinet/move-frame.js +252 -0
- package/dist/cabinet/paint.d.ts +2 -0
- package/dist/cabinet/paint.d.ts.map +1 -0
- package/dist/cabinet/paint.js +17 -0
- package/dist/cabinet/panel.d.ts +2 -0
- package/dist/cabinet/panel.d.ts.map +1 -0
- package/dist/cabinet/panel.js +356 -0
- package/dist/cabinet/parametrics.d.ts +4 -0
- package/dist/cabinet/parametrics.d.ts.map +1 -0
- package/dist/cabinet/parametrics.js +46 -0
- package/dist/cabinet/placement-status.d.ts +7 -0
- package/dist/cabinet/placement-status.d.ts.map +1 -0
- package/dist/cabinet/placement-status.js +6 -0
- package/dist/cabinet/placement-type.d.ts +9 -0
- package/dist/cabinet/placement-type.d.ts.map +1 -0
- package/dist/cabinet/placement-type.js +13 -0
- package/dist/cabinet/presets.d.ts +10 -0
- package/dist/cabinet/presets.d.ts.map +1 -0
- package/dist/cabinet/presets.js +168 -0
- package/dist/cabinet/quick-action-icons.d.ts +13 -0
- package/dist/cabinet/quick-action-icons.d.ts.map +1 -0
- package/dist/cabinet/quick-action-icons.js +29 -0
- package/dist/cabinet/quick-actions.d.ts +6 -0
- package/dist/cabinet/quick-actions.d.ts.map +1 -0
- package/dist/cabinet/quick-actions.js +203 -0
- package/dist/cabinet/run-layout.d.ts +94 -0
- package/dist/cabinet/run-layout.d.ts.map +1 -0
- package/dist/cabinet/run-layout.js +315 -0
- package/dist/cabinet/run-ops.d.ts +140 -0
- package/dist/cabinet/run-ops.d.ts.map +1 -0
- package/dist/cabinet/run-ops.js +1472 -0
- package/dist/cabinet/run-panel.d.ts +17 -0
- package/dist/cabinet/run-panel.d.ts.map +1 -0
- package/dist/cabinet/run-panel.js +220 -0
- package/dist/cabinet/scene-action.d.ts +8 -0
- package/dist/cabinet/scene-action.d.ts.map +1 -0
- package/dist/cabinet/scene-action.js +130 -0
- package/dist/cabinet/schema.d.ts +2 -0
- package/dist/cabinet/schema.d.ts.map +1 -0
- package/dist/cabinet/schema.js +1 -0
- package/dist/cabinet/slots.d.ts +4 -0
- package/dist/cabinet/slots.d.ts.map +1 -0
- package/dist/cabinet/slots.js +24 -0
- package/dist/cabinet/stack-transitions.d.ts +12 -0
- package/dist/cabinet/stack-transitions.d.ts.map +1 -0
- package/dist/cabinet/stack-transitions.js +112 -0
- package/dist/cabinet/stack.d.ts +102 -0
- package/dist/cabinet/stack.d.ts.map +1 -0
- package/dist/cabinet/stack.js +388 -0
- package/dist/cabinet/system.d.ts +13 -0
- package/dist/cabinet/system.d.ts.map +1 -0
- package/dist/cabinet/system.js +116 -0
- package/dist/cabinet/tool.d.ts +3 -0
- package/dist/cabinet/tool.d.ts.map +1 -0
- package/dist/cabinet/tool.js +850 -0
- package/dist/cabinet/tree-structure.d.ts +13 -0
- package/dist/cabinet/tree-structure.d.ts.map +1 -0
- package/dist/cabinet/tree-structure.js +138 -0
- package/dist/cabinet/wall-snap.d.ts +66 -0
- package/dist/cabinet/wall-snap.d.ts.map +1 -0
- package/dist/cabinet/wall-snap.js +255 -0
- package/dist/ceiling/boundary-editor.d.ts +17 -0
- package/dist/ceiling/boundary-editor.d.ts.map +1 -0
- package/dist/ceiling/boundary-editor.js +118 -0
- package/dist/ceiling/definition.d.ts +20 -0
- package/dist/ceiling/definition.d.ts.map +1 -0
- package/dist/ceiling/definition.js +161 -0
- package/dist/ceiling/floorplan-affordances.d.ts +181 -0
- package/dist/ceiling/floorplan-affordances.d.ts.map +1 -0
- package/dist/ceiling/floorplan-affordances.js +28 -0
- package/dist/ceiling/floorplan-move.d.ts +12 -0
- package/dist/ceiling/floorplan-move.d.ts.map +1 -0
- package/dist/ceiling/floorplan-move.js +16 -0
- package/dist/ceiling/floorplan.d.ts +9 -0
- package/dist/ceiling/floorplan.d.ts.map +1 -0
- package/dist/ceiling/floorplan.js +90 -0
- package/dist/ceiling/hole-editor.d.ts +10 -0
- package/dist/ceiling/hole-editor.d.ts.map +1 -0
- package/dist/ceiling/hole-editor.js +45 -0
- package/dist/ceiling/index.d.ts +3 -0
- package/dist/ceiling/index.d.ts.map +1 -0
- package/dist/ceiling/index.js +2 -0
- package/dist/ceiling/materials.d.ts +15 -0
- package/dist/ceiling/materials.d.ts.map +1 -0
- package/dist/ceiling/materials.js +61 -0
- package/dist/ceiling/move-tool.d.ts +6 -0
- package/dist/ceiling/move-tool.d.ts.map +1 -0
- package/dist/ceiling/move-tool.js +264 -0
- package/dist/ceiling/paint.d.ts +9 -0
- package/dist/ceiling/paint.d.ts.map +1 -0
- package/dist/ceiling/paint.js +37 -0
- package/dist/ceiling/panel.d.ts +11 -0
- package/dist/ceiling/panel.d.ts.map +1 -0
- package/dist/ceiling/panel.js +138 -0
- package/dist/ceiling/parametrics.d.ts +11 -0
- package/dist/ceiling/parametrics.d.ts.map +1 -0
- package/dist/ceiling/parametrics.js +16 -0
- package/dist/ceiling/renderer.d.ts +6 -0
- package/dist/ceiling/renderer.d.ts.map +1 -0
- package/dist/ceiling/renderer.js +87 -0
- package/dist/ceiling/schema.d.ts +2 -0
- package/dist/ceiling/schema.d.ts.map +1 -0
- package/dist/ceiling/schema.js +1 -0
- package/dist/ceiling/slots.d.ts +6 -0
- package/dist/ceiling/slots.d.ts.map +1 -0
- package/dist/ceiling/slots.js +7 -0
- package/dist/ceiling/system.d.ts +10 -0
- package/dist/ceiling/system.d.ts.map +1 -0
- package/dist/ceiling/system.js +14 -0
- package/dist/ceiling/tool.d.ts +3 -0
- package/dist/ceiling/tool.d.ts.map +1 -0
- package/dist/ceiling/tool.js +227 -0
- package/dist/chimney/definition.d.ts +18 -0
- package/dist/chimney/definition.d.ts.map +1 -0
- package/dist/chimney/definition.js +387 -0
- package/dist/chimney/floorplan.d.ts +17 -0
- package/dist/chimney/floorplan.d.ts.map +1 -0
- package/dist/chimney/floorplan.js +190 -0
- package/dist/chimney/geometry.d.ts +29 -0
- package/dist/chimney/geometry.d.ts.map +1 -0
- package/dist/chimney/geometry.js +500 -0
- package/dist/chimney/holes.d.ts +30 -0
- package/dist/chimney/holes.d.ts.map +1 -0
- package/dist/chimney/holes.js +310 -0
- package/dist/chimney/index.d.ts +4 -0
- package/dist/chimney/index.d.ts.map +1 -0
- package/dist/chimney/index.js +3 -0
- package/dist/chimney/move-tool.d.ts +19 -0
- package/dist/chimney/move-tool.d.ts.map +1 -0
- package/dist/chimney/move-tool.js +286 -0
- package/dist/chimney/paint.d.ts +24 -0
- package/dist/chimney/paint.d.ts.map +1 -0
- package/dist/chimney/paint.js +96 -0
- package/dist/chimney/panel.d.ts +2 -0
- package/dist/chimney/panel.d.ts.map +1 -0
- package/dist/chimney/panel.js +350 -0
- package/dist/chimney/parametrics.d.ts +4 -0
- package/dist/chimney/parametrics.d.ts.map +1 -0
- package/dist/chimney/parametrics.js +177 -0
- package/dist/chimney/presets.d.ts +27 -0
- package/dist/chimney/presets.d.ts.map +1 -0
- package/dist/chimney/presets.js +93 -0
- package/dist/chimney/preview.d.ts +14 -0
- package/dist/chimney/preview.d.ts.map +1 -0
- package/dist/chimney/preview.js +74 -0
- package/dist/chimney/renderer.d.ts +17 -0
- package/dist/chimney/renderer.d.ts.map +1 -0
- package/dist/chimney/renderer.js +193 -0
- package/dist/chimney/roof-trim.d.ts +23 -0
- package/dist/chimney/roof-trim.d.ts.map +1 -0
- package/dist/chimney/roof-trim.js +94 -0
- package/dist/chimney/schema.d.ts +2 -0
- package/dist/chimney/schema.d.ts.map +1 -0
- package/dist/chimney/schema.js +1 -0
- package/dist/chimney/tool.d.ts +3 -0
- package/dist/chimney/tool.d.ts.map +1 -0
- package/dist/chimney/tool.js +126 -0
- package/dist/column/definition.d.ts +21 -0
- package/dist/column/definition.d.ts.map +1 -0
- package/dist/column/definition.js +375 -0
- package/dist/column/floorplan-affordances.d.ts +32 -0
- package/dist/column/floorplan-affordances.d.ts.map +1 -0
- package/dist/column/floorplan-affordances.js +126 -0
- package/dist/column/floorplan-move.d.ts +11 -0
- package/dist/column/floorplan-move.d.ts.map +1 -0
- package/dist/column/floorplan-move.js +66 -0
- package/dist/column/floorplan.d.ts +15 -0
- package/dist/column/floorplan.d.ts.map +1 -0
- package/dist/column/floorplan.js +238 -0
- package/dist/column/index.d.ts +2 -0
- package/dist/column/index.d.ts.map +1 -0
- package/dist/column/index.js +1 -0
- package/dist/column/paint.d.ts +2 -0
- package/dist/column/paint.d.ts.map +1 -0
- package/dist/column/paint.js +15 -0
- package/dist/column/panel.d.ts +2 -0
- package/dist/column/panel.d.ts.map +1 -0
- package/dist/column/panel.js +414 -0
- package/dist/column/parametrics.d.ts +12 -0
- package/dist/column/parametrics.d.ts.map +1 -0
- package/dist/column/parametrics.js +21 -0
- package/dist/column/renderer.d.ts +20 -0
- package/dist/column/renderer.d.ts.map +1 -0
- package/dist/column/renderer.js +1016 -0
- package/dist/column/schema.d.ts +2 -0
- package/dist/column/schema.d.ts.map +1 -0
- package/dist/column/schema.js +1 -0
- package/dist/column/slots.d.ts +9 -0
- package/dist/column/slots.d.ts.map +1 -0
- package/dist/column/slots.js +19 -0
- package/dist/column/tool.d.ts +14 -0
- package/dist/column/tool.d.ts.map +1 -0
- package/dist/column/tool.js +133 -0
- package/dist/cupola/definition.d.ts +11 -0
- package/dist/cupola/definition.d.ts.map +1 -0
- package/dist/cupola/definition.js +143 -0
- package/dist/cupola/floorplan.d.ts +9 -0
- package/dist/cupola/floorplan.d.ts.map +1 -0
- package/dist/cupola/floorplan.js +89 -0
- package/dist/cupola/geometry.d.ts +23 -0
- package/dist/cupola/geometry.d.ts.map +1 -0
- package/dist/cupola/geometry.js +262 -0
- package/dist/cupola/index.d.ts +4 -0
- package/dist/cupola/index.d.ts.map +1 -0
- package/dist/cupola/index.js +3 -0
- package/dist/cupola/move-tool.d.ts +12 -0
- package/dist/cupola/move-tool.d.ts.map +1 -0
- package/dist/cupola/move-tool.js +206 -0
- package/dist/cupola/panel.d.ts +7 -0
- package/dist/cupola/panel.d.ts.map +1 -0
- package/dist/cupola/panel.js +106 -0
- package/dist/cupola/parametrics.d.ts +9 -0
- package/dist/cupola/parametrics.d.ts.map +1 -0
- package/dist/cupola/parametrics.js +30 -0
- package/dist/cupola/preview.d.ts +13 -0
- package/dist/cupola/preview.d.ts.map +1 -0
- package/dist/cupola/preview.js +37 -0
- package/dist/cupola/renderer.d.ts +12 -0
- package/dist/cupola/renderer.d.ts.map +1 -0
- package/dist/cupola/renderer.js +66 -0
- package/dist/cupola/schema.d.ts +2 -0
- package/dist/cupola/schema.d.ts.map +1 -0
- package/dist/cupola/schema.js +3 -0
- package/dist/cupola/tool.d.ts +8 -0
- package/dist/cupola/tool.d.ts.map +1 -0
- package/dist/cupola/tool.js +105 -0
- package/dist/door/definition.d.ts +23 -0
- package/dist/door/definition.d.ts.map +1 -0
- package/dist/door/definition.js +257 -0
- package/dist/door/door-math.d.ts +23 -0
- package/dist/door/door-math.d.ts.map +1 -0
- package/dist/door/door-math.js +38 -0
- package/dist/door/floorplan-affordances.d.ts +21 -0
- package/dist/door/floorplan-affordances.d.ts.map +1 -0
- package/dist/door/floorplan-affordances.js +102 -0
- package/dist/door/floorplan-move.d.ts +18 -0
- package/dist/door/floorplan-move.d.ts.map +1 -0
- package/dist/door/floorplan-move.js +239 -0
- package/dist/door/floorplan.d.ts +37 -0
- package/dist/door/floorplan.d.ts.map +1 -0
- package/dist/door/floorplan.js +702 -0
- package/dist/door/index.d.ts +3 -0
- package/dist/door/index.d.ts.map +1 -0
- package/dist/door/index.js +2 -0
- package/dist/door/move-tool.d.ts +6 -0
- package/dist/door/move-tool.d.ts.map +1 -0
- package/dist/door/move-tool.js +898 -0
- package/dist/door/paint.d.ts +8 -0
- package/dist/door/paint.d.ts.map +1 -0
- package/dist/door/paint.js +11 -0
- package/dist/door/panel.d.ts +2 -0
- package/dist/door/panel.d.ts.map +1 -0
- package/dist/door/panel.js +576 -0
- package/dist/door/parametrics.d.ts +12 -0
- package/dist/door/parametrics.d.ts.map +1 -0
- package/dist/door/parametrics.js +27 -0
- package/dist/door/preview.d.ts +18 -0
- package/dist/door/preview.d.ts.map +1 -0
- package/dist/door/preview.js +36 -0
- package/dist/door/renderer.d.ts +6 -0
- package/dist/door/renderer.d.ts.map +1 -0
- package/dist/door/renderer.js +26 -0
- package/dist/door/schema.d.ts +2 -0
- package/dist/door/schema.d.ts.map +1 -0
- package/dist/door/schema.js +1 -0
- package/dist/door/slots.d.ts +9 -0
- package/dist/door/slots.d.ts.map +1 -0
- package/dist/door/slots.js +20 -0
- package/dist/door/system.d.ts +18 -0
- package/dist/door/system.d.ts.map +1 -0
- package/dist/door/system.js +22 -0
- package/dist/door/tool.d.ts +15 -0
- package/dist/door/tool.d.ts.map +1 -0
- package/dist/door/tool.js +555 -0
- package/dist/dormer/csg-geometry.d.ts +104 -0
- package/dist/dormer/csg-geometry.d.ts.map +1 -0
- package/dist/dormer/csg-geometry.js +755 -0
- package/dist/dormer/definition.d.ts +20 -0
- package/dist/dormer/definition.d.ts.map +1 -0
- package/dist/dormer/definition.js +491 -0
- package/dist/dormer/floorplan.d.ts +23 -0
- package/dist/dormer/floorplan.d.ts.map +1 -0
- package/dist/dormer/floorplan.js +193 -0
- package/dist/dormer/geometry.d.ts +42 -0
- package/dist/dormer/geometry.d.ts.map +1 -0
- package/dist/dormer/geometry.js +63 -0
- package/dist/dormer/index.d.ts +5 -0
- package/dist/dormer/index.d.ts.map +1 -0
- package/dist/dormer/index.js +3 -0
- package/dist/dormer/move-tool.d.ts +16 -0
- package/dist/dormer/move-tool.d.ts.map +1 -0
- package/dist/dormer/move-tool.js +136 -0
- package/dist/dormer/paint.d.ts +24 -0
- package/dist/dormer/paint.d.ts.map +1 -0
- package/dist/dormer/paint.js +103 -0
- package/dist/dormer/panel-actions-section.d.ts +10 -0
- package/dist/dormer/panel-actions-section.d.ts.map +1 -0
- package/dist/dormer/panel-actions-section.js +11 -0
- package/dist/dormer/panel-position-section.d.ts +17 -0
- package/dist/dormer/panel-position-section.d.ts.map +1 -0
- package/dist/dormer/panel-position-section.js +162 -0
- package/dist/dormer/panel-window-section.d.ts +14 -0
- package/dist/dormer/panel-window-section.d.ts.map +1 -0
- package/dist/dormer/panel-window-section.js +59 -0
- package/dist/dormer/panel.d.ts +2 -0
- package/dist/dormer/panel.d.ts.map +1 -0
- package/dist/dormer/panel.js +134 -0
- package/dist/dormer/parametrics.d.ts +4 -0
- package/dist/dormer/parametrics.d.ts.map +1 -0
- package/dist/dormer/parametrics.js +110 -0
- package/dist/dormer/placement-guides.d.ts +28 -0
- package/dist/dormer/placement-guides.d.ts.map +1 -0
- package/dist/dormer/placement-guides.js +170 -0
- package/dist/dormer/preview.d.ts +7 -0
- package/dist/dormer/preview.d.ts.map +1 -0
- package/dist/dormer/preview.js +29 -0
- package/dist/dormer/renderer.d.ts +8 -0
- package/dist/dormer/renderer.d.ts.map +1 -0
- package/dist/dormer/renderer.js +134 -0
- package/dist/dormer/schema.d.ts +3 -0
- package/dist/dormer/schema.d.ts.map +1 -0
- package/dist/dormer/schema.js +1 -0
- package/dist/dormer/tool.d.ts +11 -0
- package/dist/dormer/tool.d.ts.map +1 -0
- package/dist/dormer/tool.js +69 -0
- package/dist/dormer/use-dormer-placement.d.ts +44 -0
- package/dist/dormer/use-dormer-placement.d.ts.map +1 -0
- package/dist/dormer/use-dormer-placement.js +166 -0
- package/dist/dormer/window-assembly.d.ts +22 -0
- package/dist/dormer/window-assembly.d.ts.map +1 -0
- package/dist/dormer/window-assembly.js +111 -0
- package/dist/dormer/window-frame.d.ts +24 -0
- package/dist/dormer/window-frame.d.ts.map +1 -0
- package/dist/dormer/window-frame.js +100 -0
- package/dist/downspout/definition.d.ts +17 -0
- package/dist/downspout/definition.d.ts.map +1 -0
- package/dist/downspout/definition.js +173 -0
- package/dist/downspout/geometry.d.ts +5 -0
- package/dist/downspout/geometry.d.ts.map +1 -0
- package/dist/downspout/geometry.js +204 -0
- package/dist/downspout/index.d.ts +4 -0
- package/dist/downspout/index.d.ts.map +1 -0
- package/dist/downspout/index.js +3 -0
- package/dist/downspout/inspector-editors.d.ts +25 -0
- package/dist/downspout/inspector-editors.d.ts.map +1 -0
- package/dist/downspout/inspector-editors.js +61 -0
- package/dist/downspout/parametrics.d.ts +4 -0
- package/dist/downspout/parametrics.d.ts.map +1 -0
- package/dist/downspout/parametrics.js +66 -0
- package/dist/downspout/preview.d.ts +19 -0
- package/dist/downspout/preview.d.ts.map +1 -0
- package/dist/downspout/preview.js +48 -0
- package/dist/downspout/renderer.d.ts +22 -0
- package/dist/downspout/renderer.d.ts.map +1 -0
- package/dist/downspout/renderer.js +153 -0
- package/dist/downspout/routing.d.ts +81 -0
- package/dist/downspout/routing.d.ts.map +1 -0
- package/dist/downspout/routing.js +131 -0
- package/dist/downspout/schema.d.ts +2 -0
- package/dist/downspout/schema.d.ts.map +1 -0
- package/dist/downspout/schema.js +3 -0
- package/dist/downspout/tool.d.ts +3 -0
- package/dist/downspout/tool.d.ts.map +1 -0
- package/dist/downspout/tool.js +148 -0
- package/dist/duct-fitting/definition.d.ts +12 -0
- package/dist/duct-fitting/definition.d.ts.map +1 -0
- package/dist/duct-fitting/definition.js +124 -0
- package/dist/duct-fitting/floorplan.d.ts +12 -0
- package/dist/duct-fitting/floorplan.d.ts.map +1 -0
- package/dist/duct-fitting/floorplan.js +59 -0
- package/dist/duct-fitting/geometry.d.ts +26 -0
- package/dist/duct-fitting/geometry.d.ts.map +1 -0
- package/dist/duct-fitting/geometry.js +341 -0
- package/dist/duct-fitting/index.d.ts +5 -0
- package/dist/duct-fitting/index.d.ts.map +1 -0
- package/dist/duct-fitting/index.js +4 -0
- package/dist/duct-fitting/inspector-editors.d.ts +6 -0
- package/dist/duct-fitting/inspector-editors.d.ts.map +1 -0
- package/dist/duct-fitting/inspector-editors.js +16 -0
- package/dist/duct-fitting/move-tool.d.ts +23 -0
- package/dist/duct-fitting/move-tool.d.ts.map +1 -0
- package/dist/duct-fitting/move-tool.js +302 -0
- package/dist/duct-fitting/parametrics.d.ts +4 -0
- package/dist/duct-fitting/parametrics.d.ts.map +1 -0
- package/dist/duct-fitting/parametrics.js +328 -0
- package/dist/duct-fitting/ports.d.ts +32 -0
- package/dist/duct-fitting/ports.d.ts.map +1 -0
- package/dist/duct-fitting/ports.js +140 -0
- package/dist/duct-fitting/schema.d.ts +2 -0
- package/dist/duct-fitting/schema.d.ts.map +1 -0
- package/dist/duct-fitting/schema.js +1 -0
- package/dist/duct-fitting/selection.d.ts +27 -0
- package/dist/duct-fitting/selection.d.ts.map +1 -0
- package/dist/duct-fitting/selection.js +677 -0
- package/dist/duct-fitting/tool.d.ts +18 -0
- package/dist/duct-fitting/tool.d.ts.map +1 -0
- package/dist/duct-fitting/tool.js +160 -0
- package/dist/duct-segment/definition.d.ts +4 -0
- package/dist/duct-segment/definition.d.ts.map +1 -0
- package/dist/duct-segment/definition.js +180 -0
- package/dist/duct-segment/floorplan.d.ts +12 -0
- package/dist/duct-segment/floorplan.d.ts.map +1 -0
- package/dist/duct-segment/floorplan.js +121 -0
- package/dist/duct-segment/geometry.d.ts +99 -0
- package/dist/duct-segment/geometry.d.ts.map +1 -0
- package/dist/duct-segment/geometry.js +368 -0
- package/dist/duct-segment/index.d.ts +4 -0
- package/dist/duct-segment/index.d.ts.map +1 -0
- package/dist/duct-segment/index.js +3 -0
- package/dist/duct-segment/move-tool.d.ts +22 -0
- package/dist/duct-segment/move-tool.d.ts.map +1 -0
- package/dist/duct-segment/move-tool.js +347 -0
- package/dist/duct-segment/parametrics.d.ts +4 -0
- package/dist/duct-segment/parametrics.d.ts.map +1 -0
- package/dist/duct-segment/parametrics.js +165 -0
- package/dist/duct-segment/schema.d.ts +2 -0
- package/dist/duct-segment/schema.d.ts.map +1 -0
- package/dist/duct-segment/schema.js +1 -0
- package/dist/duct-segment/selection.d.ts +34 -0
- package/dist/duct-segment/selection.d.ts.map +1 -0
- package/dist/duct-segment/selection.js +1395 -0
- package/dist/duct-segment/tool.d.ts +3 -0
- package/dist/duct-segment/tool.d.ts.map +1 -0
- package/dist/duct-segment/tool.js +924 -0
- package/dist/duct-terminal/definition.d.ts +13 -0
- package/dist/duct-terminal/definition.d.ts.map +1 -0
- package/dist/duct-terminal/definition.js +87 -0
- package/dist/duct-terminal/floorplan.d.ts +11 -0
- package/dist/duct-terminal/floorplan.d.ts.map +1 -0
- package/dist/duct-terminal/floorplan.js +61 -0
- package/dist/duct-terminal/geometry.d.ts +14 -0
- package/dist/duct-terminal/geometry.d.ts.map +1 -0
- package/dist/duct-terminal/geometry.js +78 -0
- package/dist/duct-terminal/index.d.ts +5 -0
- package/dist/duct-terminal/index.d.ts.map +1 -0
- package/dist/duct-terminal/index.js +4 -0
- package/dist/duct-terminal/parametrics.d.ts +4 -0
- package/dist/duct-terminal/parametrics.d.ts.map +1 -0
- package/dist/duct-terminal/parametrics.js +69 -0
- package/dist/duct-terminal/ports.d.ts +27 -0
- package/dist/duct-terminal/ports.d.ts.map +1 -0
- package/dist/duct-terminal/ports.js +60 -0
- package/dist/duct-terminal/schema.d.ts +2 -0
- package/dist/duct-terminal/schema.d.ts.map +1 -0
- package/dist/duct-terminal/schema.js +1 -0
- package/dist/duct-terminal/tool.d.ts +13 -0
- package/dist/duct-terminal/tool.d.ts.map +1 -0
- package/dist/duct-terminal/tool.js +360 -0
- package/dist/elevator/definition.d.ts +11 -0
- package/dist/elevator/definition.d.ts.map +1 -0
- package/dist/elevator/definition.js +255 -0
- package/dist/elevator/floorplan-affordances.d.ts +21 -0
- package/dist/elevator/floorplan-affordances.d.ts.map +1 -0
- package/dist/elevator/floorplan-affordances.js +94 -0
- package/dist/elevator/floorplan.d.ts +3 -0
- package/dist/elevator/floorplan.d.ts.map +1 -0
- package/dist/elevator/floorplan.js +360 -0
- package/dist/elevator/index.d.ts +2 -0
- package/dist/elevator/index.d.ts.map +1 -0
- package/dist/elevator/index.js +1 -0
- package/dist/elevator/paint.d.ts +2 -0
- package/dist/elevator/paint.d.ts.map +1 -0
- package/dist/elevator/paint.js +6 -0
- package/dist/elevator/panel.d.ts +2 -0
- package/dist/elevator/panel.d.ts.map +1 -0
- package/dist/elevator/panel.js +397 -0
- package/dist/elevator/parametrics.d.ts +3 -0
- package/dist/elevator/parametrics.d.ts.map +1 -0
- package/dist/elevator/parametrics.js +4 -0
- package/dist/elevator/renderer.d.ts +6 -0
- package/dist/elevator/renderer.d.ts.map +1 -0
- package/dist/elevator/renderer.js +583 -0
- package/dist/elevator/schema.d.ts +2 -0
- package/dist/elevator/schema.d.ts.map +1 -0
- package/dist/elevator/schema.js +1 -0
- package/dist/elevator/slots.d.ts +8 -0
- package/dist/elevator/slots.d.ts.map +1 -0
- package/dist/elevator/slots.js +17 -0
- package/dist/elevator/system.d.ts +8 -0
- package/dist/elevator/system.d.ts.map +1 -0
- package/dist/elevator/system.js +13 -0
- package/dist/eyebrow-vent/definition.d.ts +12 -0
- package/dist/eyebrow-vent/definition.d.ts.map +1 -0
- package/dist/eyebrow-vent/definition.js +150 -0
- package/dist/eyebrow-vent/floorplan.d.ts +9 -0
- package/dist/eyebrow-vent/floorplan.d.ts.map +1 -0
- package/dist/eyebrow-vent/floorplan.js +86 -0
- package/dist/eyebrow-vent/geometry.d.ts +25 -0
- package/dist/eyebrow-vent/geometry.d.ts.map +1 -0
- package/dist/eyebrow-vent/geometry.js +313 -0
- package/dist/eyebrow-vent/index.d.ts +4 -0
- package/dist/eyebrow-vent/index.d.ts.map +1 -0
- package/dist/eyebrow-vent/index.js +3 -0
- package/dist/eyebrow-vent/move-tool.d.ts +13 -0
- package/dist/eyebrow-vent/move-tool.d.ts.map +1 -0
- package/dist/eyebrow-vent/move-tool.js +207 -0
- package/dist/eyebrow-vent/panel.d.ts +7 -0
- package/dist/eyebrow-vent/panel.d.ts.map +1 -0
- package/dist/eyebrow-vent/panel.js +106 -0
- package/dist/eyebrow-vent/parametrics.d.ts +9 -0
- package/dist/eyebrow-vent/parametrics.d.ts.map +1 -0
- package/dist/eyebrow-vent/parametrics.js +31 -0
- package/dist/eyebrow-vent/preview.d.ts +13 -0
- package/dist/eyebrow-vent/preview.d.ts.map +1 -0
- package/dist/eyebrow-vent/preview.js +37 -0
- package/dist/eyebrow-vent/renderer.d.ts +12 -0
- package/dist/eyebrow-vent/renderer.d.ts.map +1 -0
- package/dist/eyebrow-vent/renderer.js +68 -0
- package/dist/eyebrow-vent/schema.d.ts +2 -0
- package/dist/eyebrow-vent/schema.d.ts.map +1 -0
- package/dist/eyebrow-vent/schema.js +3 -0
- package/dist/eyebrow-vent/tool.d.ts +9 -0
- package/dist/eyebrow-vent/tool.d.ts.map +1 -0
- package/dist/eyebrow-vent/tool.js +111 -0
- package/dist/fence/actions/move-endpoint.d.ts +32 -0
- package/dist/fence/actions/move-endpoint.d.ts.map +1 -0
- package/dist/fence/actions/move-endpoint.js +201 -0
- package/dist/fence/curve-tool.d.ts +17 -0
- package/dist/fence/curve-tool.d.ts.map +1 -0
- package/dist/fence/curve-tool.js +122 -0
- package/dist/fence/definition.d.ts +17 -0
- package/dist/fence/definition.d.ts.map +1 -0
- package/dist/fence/definition.js +281 -0
- package/dist/fence/floorplan-affordances.d.ts +31 -0
- package/dist/fence/floorplan-affordances.d.ts.map +1 -0
- package/dist/fence/floorplan-affordances.js +271 -0
- package/dist/fence/floorplan-move.d.ts +10 -0
- package/dist/fence/floorplan-move.d.ts.map +1 -0
- package/dist/fence/floorplan-move.js +162 -0
- package/dist/fence/floorplan.d.ts +4 -0
- package/dist/fence/floorplan.d.ts.map +1 -0
- package/dist/fence/floorplan.js +452 -0
- package/dist/fence/geometry.d.ts +6 -0
- package/dist/fence/geometry.d.ts.map +1 -0
- package/dist/fence/geometry.js +65 -0
- package/dist/fence/index.d.ts +3 -0
- package/dist/fence/index.d.ts.map +1 -0
- package/dist/fence/index.js +2 -0
- package/dist/fence/inspector-editors.d.ts +24 -0
- package/dist/fence/inspector-editors.d.ts.map +1 -0
- package/dist/fence/inspector-editors.js +43 -0
- package/dist/fence/move-control-point-tool.d.ts +9 -0
- package/dist/fence/move-control-point-tool.d.ts.map +1 -0
- package/dist/fence/move-control-point-tool.js +91 -0
- package/dist/fence/move-endpoint-tool.d.ts +27 -0
- package/dist/fence/move-endpoint-tool.d.ts.map +1 -0
- package/dist/fence/move-endpoint-tool.js +190 -0
- package/dist/fence/move-tangent-tool.d.ts +10 -0
- package/dist/fence/move-tangent-tool.d.ts.map +1 -0
- package/dist/fence/move-tangent-tool.js +88 -0
- package/dist/fence/move-tool.d.ts +6 -0
- package/dist/fence/move-tool.d.ts.map +1 -0
- package/dist/fence/move-tool.js +271 -0
- package/dist/fence/paint.d.ts +2 -0
- package/dist/fence/paint.d.ts.map +1 -0
- package/dist/fence/paint.js +17 -0
- package/dist/fence/parametrics.d.ts +16 -0
- package/dist/fence/parametrics.d.ts.map +1 -0
- package/dist/fence/parametrics.js +86 -0
- package/dist/fence/schema.d.ts +10 -0
- package/dist/fence/schema.d.ts.map +1 -0
- package/dist/fence/schema.js +9 -0
- package/dist/fence/slots.d.ts +10 -0
- package/dist/fence/slots.d.ts.map +1 -0
- package/dist/fence/slots.js +23 -0
- package/dist/fence/tool.d.ts +3 -0
- package/dist/fence/tool.d.ts.map +1 -0
- package/dist/fence/tool.js +563 -0
- package/dist/guide/definition.d.ts +10 -0
- package/dist/guide/definition.d.ts.map +1 -0
- package/dist/guide/definition.js +52 -0
- package/dist/guide/index.d.ts +2 -0
- package/dist/guide/index.d.ts.map +1 -0
- package/dist/guide/index.js +1 -0
- package/dist/guide/parametrics.d.ts +3 -0
- package/dist/guide/parametrics.d.ts.map +1 -0
- package/dist/guide/parametrics.js +3 -0
- package/dist/guide/renderer.d.ts +6 -0
- package/dist/guide/renderer.d.ts.map +1 -0
- package/dist/guide/renderer.js +52 -0
- package/dist/guide/schema.d.ts +2 -0
- package/dist/guide/schema.d.ts.map +1 -0
- package/dist/guide/schema.js +1 -0
- package/dist/guide/system.d.ts +3 -0
- package/dist/guide/system.d.ts.map +1 -0
- package/dist/guide/system.js +3 -0
- package/dist/gutter/corner-mitre.d.ts +88 -0
- package/dist/gutter/corner-mitre.d.ts.map +1 -0
- package/dist/gutter/corner-mitre.js +176 -0
- package/dist/gutter/definition.d.ts +19 -0
- package/dist/gutter/definition.d.ts.map +1 -0
- package/dist/gutter/definition.js +164 -0
- package/dist/gutter/downspouts-panel.d.ts +8 -0
- package/dist/gutter/downspouts-panel.d.ts.map +1 -0
- package/dist/gutter/downspouts-panel.js +111 -0
- package/dist/gutter/eave-align.d.ts +33 -0
- package/dist/gutter/eave-align.d.ts.map +1 -0
- package/dist/gutter/eave-align.js +50 -0
- package/dist/gutter/eave-snap.d.ts +45 -0
- package/dist/gutter/eave-snap.d.ts.map +1 -0
- package/dist/gutter/eave-snap.js +128 -0
- package/dist/gutter/floorplan.d.ts +18 -0
- package/dist/gutter/floorplan.d.ts.map +1 -0
- package/dist/gutter/floorplan.js +274 -0
- package/dist/gutter/geometry.d.ts +39 -0
- package/dist/gutter/geometry.d.ts.map +1 -0
- package/dist/gutter/geometry.js +532 -0
- package/dist/gutter/index.d.ts +4 -0
- package/dist/gutter/index.d.ts.map +1 -0
- package/dist/gutter/index.js +3 -0
- package/dist/gutter/length-snap.d.ts +16 -0
- package/dist/gutter/length-snap.d.ts.map +1 -0
- package/dist/gutter/length-snap.js +177 -0
- package/dist/gutter/move-tool.d.ts +21 -0
- package/dist/gutter/move-tool.d.ts.map +1 -0
- package/dist/gutter/move-tool.js +223 -0
- package/dist/gutter/outlet-lookup.d.ts +43 -0
- package/dist/gutter/outlet-lookup.d.ts.map +1 -0
- package/dist/gutter/outlet-lookup.js +50 -0
- package/dist/gutter/parametrics.d.ts +4 -0
- package/dist/gutter/parametrics.d.ts.map +1 -0
- package/dist/gutter/parametrics.js +62 -0
- package/dist/gutter/preview.d.ts +22 -0
- package/dist/gutter/preview.d.ts.map +1 -0
- package/dist/gutter/preview.js +57 -0
- package/dist/gutter/profile-geometry.d.ts +44 -0
- package/dist/gutter/profile-geometry.d.ts.map +1 -0
- package/dist/gutter/profile-geometry.js +56 -0
- package/dist/gutter/renderer.d.ts +22 -0
- package/dist/gutter/renderer.d.ts.map +1 -0
- package/dist/gutter/renderer.js +202 -0
- package/dist/gutter/schema.d.ts +2 -0
- package/dist/gutter/schema.d.ts.map +1 -0
- package/dist/gutter/schema.js +3 -0
- package/dist/gutter/tool.d.ts +25 -0
- package/dist/gutter/tool.d.ts.map +1 -0
- package/dist/gutter/tool.js +124 -0
- package/dist/hvac-equipment/definition.d.ts +13 -0
- package/dist/hvac-equipment/definition.d.ts.map +1 -0
- package/dist/hvac-equipment/definition.js +92 -0
- package/dist/hvac-equipment/floorplan.d.ts +10 -0
- package/dist/hvac-equipment/floorplan.d.ts.map +1 -0
- package/dist/hvac-equipment/floorplan.js +71 -0
- package/dist/hvac-equipment/geometry.d.ts +20 -0
- package/dist/hvac-equipment/geometry.d.ts.map +1 -0
- package/dist/hvac-equipment/geometry.js +701 -0
- package/dist/hvac-equipment/index.d.ts +5 -0
- package/dist/hvac-equipment/index.d.ts.map +1 -0
- package/dist/hvac-equipment/index.js +4 -0
- package/dist/hvac-equipment/parametrics.d.ts +4 -0
- package/dist/hvac-equipment/parametrics.d.ts.map +1 -0
- package/dist/hvac-equipment/parametrics.js +101 -0
- package/dist/hvac-equipment/ports.d.ts +36 -0
- package/dist/hvac-equipment/ports.d.ts.map +1 -0
- package/dist/hvac-equipment/ports.js +91 -0
- package/dist/hvac-equipment/schema.d.ts +2 -0
- package/dist/hvac-equipment/schema.d.ts.map +1 -0
- package/dist/hvac-equipment/schema.js +1 -0
- package/dist/hvac-equipment/tool.d.ts +11 -0
- package/dist/hvac-equipment/tool.d.ts.map +1 -0
- package/dist/hvac-equipment/tool.js +103 -0
- package/dist/index.d.ts +62 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +158 -0
- package/dist/item/definition.d.ts +32 -0
- package/dist/item/definition.d.ts.map +1 -0
- package/dist/item/definition.js +309 -0
- package/dist/item/floorplan-move.d.ts +3 -0
- package/dist/item/floorplan-move.d.ts.map +1 -0
- package/dist/item/floorplan-move.js +307 -0
- package/dist/item/floorplan.d.ts +3 -0
- package/dist/item/floorplan.d.ts.map +1 -0
- package/dist/item/floorplan.js +204 -0
- package/dist/item/index.d.ts +3 -0
- package/dist/item/index.d.ts.map +1 -0
- package/dist/item/index.js +2 -0
- package/dist/item/model-loader.d.ts +18 -0
- package/dist/item/model-loader.d.ts.map +1 -0
- package/dist/item/model-loader.js +131 -0
- package/dist/item/move-tool.d.ts +6 -0
- package/dist/item/move-tool.d.ts.map +1 -0
- package/dist/item/move-tool.js +150 -0
- package/dist/item/paint.d.ts +3 -0
- package/dist/item/paint.d.ts.map +1 -0
- package/dist/item/paint.js +214 -0
- package/dist/item/panel.d.ts +16 -0
- package/dist/item/panel.d.ts.map +1 -0
- package/dist/item/panel.js +103 -0
- package/dist/item/parametrics.d.ts +12 -0
- package/dist/item/parametrics.d.ts.map +1 -0
- package/dist/item/parametrics.js +12 -0
- package/dist/item/renderer.d.ts +6 -0
- package/dist/item/renderer.d.ts.map +1 -0
- package/dist/item/renderer.js +425 -0
- package/dist/item/schema.d.ts +2 -0
- package/dist/item/schema.d.ts.map +1 -0
- package/dist/item/schema.js +1 -0
- package/dist/item/system.d.ts +11 -0
- package/dist/item/system.d.ts.map +1 -0
- package/dist/item/system.js +15 -0
- package/dist/item/tool.d.ts +3 -0
- package/dist/item/tool.d.ts.map +1 -0
- package/dist/item/tool.js +46 -0
- package/dist/level/definition.d.ts +9 -0
- package/dist/level/definition.d.ts.map +1 -0
- package/dist/level/definition.js +55 -0
- package/dist/level/index.d.ts +2 -0
- package/dist/level/index.d.ts.map +1 -0
- package/dist/level/index.js +1 -0
- package/dist/level/parametrics.d.ts +3 -0
- package/dist/level/parametrics.d.ts.map +1 -0
- package/dist/level/parametrics.js +3 -0
- package/dist/level/renderer.d.ts +6 -0
- package/dist/level/renderer.d.ts.map +1 -0
- package/dist/level/renderer.js +12 -0
- package/dist/level/schema.d.ts +2 -0
- package/dist/level/schema.d.ts.map +1 -0
- package/dist/level/schema.js +1 -0
- package/dist/level/system.d.ts +3 -0
- package/dist/level/system.d.ts.map +1 -0
- package/dist/level/system.js +3 -0
- package/dist/lineset/definition.d.ts +15 -0
- package/dist/lineset/definition.d.ts.map +1 -0
- package/dist/lineset/definition.js +118 -0
- package/dist/lineset/floorplan.d.ts +10 -0
- package/dist/lineset/floorplan.d.ts.map +1 -0
- package/dist/lineset/floorplan.js +78 -0
- package/dist/lineset/geometry.d.ts +20 -0
- package/dist/lineset/geometry.d.ts.map +1 -0
- package/dist/lineset/geometry.js +87 -0
- package/dist/lineset/index.d.ts +4 -0
- package/dist/lineset/index.d.ts.map +1 -0
- package/dist/lineset/index.js +3 -0
- package/dist/lineset/move-tool.d.ts +27 -0
- package/dist/lineset/move-tool.d.ts.map +1 -0
- package/dist/lineset/move-tool.js +256 -0
- package/dist/lineset/parametrics.d.ts +4 -0
- package/dist/lineset/parametrics.d.ts.map +1 -0
- package/dist/lineset/parametrics.js +34 -0
- package/dist/lineset/schema.d.ts +2 -0
- package/dist/lineset/schema.d.ts.map +1 -0
- package/dist/lineset/schema.js +1 -0
- package/dist/lineset/selection.d.ts +3 -0
- package/dist/lineset/selection.d.ts.map +1 -0
- package/dist/lineset/selection.js +3 -0
- package/dist/lineset/tool.d.ts +3 -0
- package/dist/lineset/tool.d.ts.map +1 -0
- package/dist/lineset/tool.js +298 -0
- package/dist/liquid-line/definition.d.ts +16 -0
- package/dist/liquid-line/definition.d.ts.map +1 -0
- package/dist/liquid-line/definition.js +110 -0
- package/dist/liquid-line/floorplan.d.ts +10 -0
- package/dist/liquid-line/floorplan.d.ts.map +1 -0
- package/dist/liquid-line/floorplan.js +66 -0
- package/dist/liquid-line/geometry.d.ts +16 -0
- package/dist/liquid-line/geometry.d.ts.map +1 -0
- package/dist/liquid-line/geometry.js +57 -0
- package/dist/liquid-line/index.d.ts +5 -0
- package/dist/liquid-line/index.d.ts.map +1 -0
- package/dist/liquid-line/index.js +4 -0
- package/dist/liquid-line/move-tool.d.ts +23 -0
- package/dist/liquid-line/move-tool.d.ts.map +1 -0
- package/dist/liquid-line/move-tool.js +231 -0
- package/dist/liquid-line/options.d.ts +16 -0
- package/dist/liquid-line/options.d.ts.map +1 -0
- package/dist/liquid-line/options.js +6 -0
- package/dist/liquid-line/parametrics.d.ts +4 -0
- package/dist/liquid-line/parametrics.d.ts.map +1 -0
- package/dist/liquid-line/parametrics.js +17 -0
- package/dist/liquid-line/schema.d.ts +2 -0
- package/dist/liquid-line/schema.d.ts.map +1 -0
- package/dist/liquid-line/schema.js +1 -0
- package/dist/liquid-line/selection.d.ts +3 -0
- package/dist/liquid-line/selection.d.ts.map +1 -0
- package/dist/liquid-line/selection.js +3 -0
- package/dist/liquid-line/tool.d.ts +3 -0
- package/dist/liquid-line/tool.d.ts.map +1 -0
- package/dist/liquid-line/tool.js +517 -0
- package/dist/measurement/definition.d.ts +4 -0
- package/dist/measurement/definition.d.ts.map +1 -0
- package/dist/measurement/definition.js +61 -0
- package/dist/measurement/edit.d.ts +9 -0
- package/dist/measurement/edit.d.ts.map +1 -0
- package/dist/measurement/edit.js +97 -0
- package/dist/measurement/floorplan-affordance.d.ts +3 -0
- package/dist/measurement/floorplan-affordance.d.ts.map +1 -0
- package/dist/measurement/floorplan-affordance.js +90 -0
- package/dist/measurement/floorplan.d.ts +3 -0
- package/dist/measurement/floorplan.d.ts.map +1 -0
- package/dist/measurement/floorplan.js +195 -0
- package/dist/measurement/index.d.ts +3 -0
- package/dist/measurement/index.d.ts.map +1 -0
- package/dist/measurement/index.js +2 -0
- package/dist/measurement/renderer.d.ts +8 -0
- package/dist/measurement/renderer.d.ts.map +1 -0
- package/dist/measurement/renderer.js +285 -0
- package/dist/measurement/resolve.d.ts +42 -0
- package/dist/measurement/resolve.d.ts.map +1 -0
- package/dist/measurement/resolve.js +207 -0
- package/dist/measurement/schema.d.ts +2 -0
- package/dist/measurement/schema.d.ts.map +1 -0
- package/dist/measurement/schema.js +1 -0
- package/dist/measurement/selection.d.ts +3 -0
- package/dist/measurement/selection.d.ts.map +1 -0
- package/dist/measurement/selection.js +259 -0
- package/dist/measurement/smart-surface.d.ts +4 -0
- package/dist/measurement/smart-surface.d.ts.map +1 -0
- package/dist/measurement/smart-surface.js +21 -0
- package/dist/measurement/smart-tool.d.ts +3 -0
- package/dist/measurement/smart-tool.d.ts.map +1 -0
- package/dist/measurement/smart-tool.js +264 -0
- package/dist/measurement/surface-query.d.ts +90 -0
- package/dist/measurement/surface-query.d.ts.map +1 -0
- package/dist/measurement/surface-query.js +519 -0
- package/dist/measurement/tool-router.d.ts +2 -0
- package/dist/measurement/tool-router.d.ts.map +1 -0
- package/dist/measurement/tool-router.js +9 -0
- package/dist/measurement/tool.d.ts +62 -0
- package/dist/measurement/tool.d.ts.map +1 -0
- package/dist/measurement/tool.js +1342 -0
- package/dist/pipe-fitting/definition.d.ts +10 -0
- package/dist/pipe-fitting/definition.d.ts.map +1 -0
- package/dist/pipe-fitting/definition.js +91 -0
- package/dist/pipe-fitting/floorplan.d.ts +10 -0
- package/dist/pipe-fitting/floorplan.d.ts.map +1 -0
- package/dist/pipe-fitting/floorplan.js +50 -0
- package/dist/pipe-fitting/geometry.d.ts +11 -0
- package/dist/pipe-fitting/geometry.d.ts.map +1 -0
- package/dist/pipe-fitting/geometry.js +31 -0
- package/dist/pipe-fitting/index.d.ts +5 -0
- package/dist/pipe-fitting/index.d.ts.map +1 -0
- package/dist/pipe-fitting/index.js +4 -0
- package/dist/pipe-fitting/move-tool.d.ts +30 -0
- package/dist/pipe-fitting/move-tool.d.ts.map +1 -0
- package/dist/pipe-fitting/move-tool.js +312 -0
- package/dist/pipe-fitting/parametrics.d.ts +4 -0
- package/dist/pipe-fitting/parametrics.d.ts.map +1 -0
- package/dist/pipe-fitting/parametrics.js +105 -0
- package/dist/pipe-fitting/ports.d.ts +26 -0
- package/dist/pipe-fitting/ports.d.ts.map +1 -0
- package/dist/pipe-fitting/ports.js +93 -0
- package/dist/pipe-fitting/schema.d.ts +2 -0
- package/dist/pipe-fitting/schema.d.ts.map +1 -0
- package/dist/pipe-fitting/schema.js +1 -0
- package/dist/pipe-fitting/selection.d.ts +3 -0
- package/dist/pipe-fitting/selection.d.ts.map +1 -0
- package/dist/pipe-fitting/selection.js +579 -0
- package/dist/pipe-fitting/tool.d.ts +19 -0
- package/dist/pipe-fitting/tool.d.ts.map +1 -0
- package/dist/pipe-fitting/tool.js +162 -0
- package/dist/pipe-segment/definition.d.ts +14 -0
- package/dist/pipe-segment/definition.d.ts.map +1 -0
- package/dist/pipe-segment/definition.js +116 -0
- package/dist/pipe-segment/floorplan.d.ts +9 -0
- package/dist/pipe-segment/floorplan.d.ts.map +1 -0
- package/dist/pipe-segment/floorplan.js +87 -0
- package/dist/pipe-segment/geometry.d.ts +16 -0
- package/dist/pipe-segment/geometry.d.ts.map +1 -0
- package/dist/pipe-segment/geometry.js +54 -0
- package/dist/pipe-segment/index.d.ts +4 -0
- package/dist/pipe-segment/index.d.ts.map +1 -0
- package/dist/pipe-segment/index.js +3 -0
- package/dist/pipe-segment/move-tool.d.ts +25 -0
- package/dist/pipe-segment/move-tool.d.ts.map +1 -0
- package/dist/pipe-segment/move-tool.js +254 -0
- package/dist/pipe-segment/parametrics.d.ts +4 -0
- package/dist/pipe-segment/parametrics.d.ts.map +1 -0
- package/dist/pipe-segment/parametrics.js +33 -0
- package/dist/pipe-segment/schema.d.ts +2 -0
- package/dist/pipe-segment/schema.d.ts.map +1 -0
- package/dist/pipe-segment/schema.js +1 -0
- package/dist/pipe-segment/selection.d.ts +31 -0
- package/dist/pipe-segment/selection.d.ts.map +1 -0
- package/dist/pipe-segment/selection.js +841 -0
- package/dist/pipe-segment/tool.d.ts +3 -0
- package/dist/pipe-segment/tool.d.ts.map +1 -0
- package/dist/pipe-segment/tool.js +595 -0
- package/dist/pipe-trap/definition.d.ts +10 -0
- package/dist/pipe-trap/definition.d.ts.map +1 -0
- package/dist/pipe-trap/definition.js +59 -0
- package/dist/pipe-trap/floorplan.d.ts +10 -0
- package/dist/pipe-trap/floorplan.d.ts.map +1 -0
- package/dist/pipe-trap/floorplan.js +41 -0
- package/dist/pipe-trap/geometry.d.ts +16 -0
- package/dist/pipe-trap/geometry.d.ts.map +1 -0
- package/dist/pipe-trap/geometry.js +74 -0
- package/dist/pipe-trap/index.d.ts +5 -0
- package/dist/pipe-trap/index.d.ts.map +1 -0
- package/dist/pipe-trap/index.js +4 -0
- package/dist/pipe-trap/parametrics.d.ts +4 -0
- package/dist/pipe-trap/parametrics.d.ts.map +1 -0
- package/dist/pipe-trap/parametrics.js +16 -0
- package/dist/pipe-trap/ports.d.ts +11 -0
- package/dist/pipe-trap/ports.d.ts.map +1 -0
- package/dist/pipe-trap/ports.js +32 -0
- package/dist/pipe-trap/schema.d.ts +2 -0
- package/dist/pipe-trap/schema.d.ts.map +1 -0
- package/dist/pipe-trap/schema.js +1 -0
- package/dist/pipe-trap/tool.d.ts +9 -0
- package/dist/pipe-trap/tool.d.ts.map +1 -0
- package/dist/pipe-trap/tool.js +99 -0
- package/dist/ridge-vent/definition.d.ts +16 -0
- package/dist/ridge-vent/definition.d.ts.map +1 -0
- package/dist/ridge-vent/definition.js +195 -0
- package/dist/ridge-vent/floorplan.d.ts +15 -0
- package/dist/ridge-vent/floorplan.d.ts.map +1 -0
- package/dist/ridge-vent/floorplan.js +121 -0
- package/dist/ridge-vent/geometry.d.ts +22 -0
- package/dist/ridge-vent/geometry.d.ts.map +1 -0
- package/dist/ridge-vent/geometry.js +526 -0
- package/dist/ridge-vent/index.d.ts +4 -0
- package/dist/ridge-vent/index.d.ts.map +1 -0
- package/dist/ridge-vent/index.js +3 -0
- package/dist/ridge-vent/move-tool.d.ts +12 -0
- package/dist/ridge-vent/move-tool.d.ts.map +1 -0
- package/dist/ridge-vent/move-tool.js +210 -0
- package/dist/ridge-vent/panel.d.ts +7 -0
- package/dist/ridge-vent/panel.d.ts.map +1 -0
- package/dist/ridge-vent/panel.js +118 -0
- package/dist/ridge-vent/parametrics.d.ts +4 -0
- package/dist/ridge-vent/parametrics.d.ts.map +1 -0
- package/dist/ridge-vent/parametrics.js +28 -0
- package/dist/ridge-vent/preview.d.ts +7 -0
- package/dist/ridge-vent/preview.d.ts.map +1 -0
- package/dist/ridge-vent/preview.js +31 -0
- package/dist/ridge-vent/renderer.d.ts +20 -0
- package/dist/ridge-vent/renderer.d.ts.map +1 -0
- package/dist/ridge-vent/renderer.js +205 -0
- package/dist/ridge-vent/schema.d.ts +2 -0
- package/dist/ridge-vent/schema.d.ts.map +1 -0
- package/dist/ridge-vent/schema.js +2 -0
- package/dist/ridge-vent/tool.d.ts +8 -0
- package/dist/ridge-vent/tool.d.ts.map +1 -0
- package/dist/ridge-vent/tool.js +130 -0
- package/dist/roof/definition.d.ts +16 -0
- package/dist/roof/definition.d.ts.map +1 -0
- package/dist/roof/definition.js +170 -0
- package/dist/roof/floorplan.d.ts +21 -0
- package/dist/roof/floorplan.d.ts.map +1 -0
- package/dist/roof/floorplan.js +271 -0
- package/dist/roof/index.d.ts +3 -0
- package/dist/roof/index.d.ts.map +1 -0
- package/dist/roof/index.js +2 -0
- package/dist/roof/panel.d.ts +2 -0
- package/dist/roof/panel.d.ts.map +1 -0
- package/dist/roof/panel.js +214 -0
- package/dist/roof/parametrics.d.ts +3 -0
- package/dist/roof/parametrics.d.ts.map +1 -0
- package/dist/roof/parametrics.js +4 -0
- package/dist/roof/renderer.d.ts +6 -0
- package/dist/roof/renderer.d.ts.map +1 -0
- package/dist/roof/renderer.js +79 -0
- package/dist/roof/roof-materials.d.ts +5 -0
- package/dist/roof/roof-materials.d.ts.map +1 -0
- package/dist/roof/roof-materials.js +43 -0
- package/dist/roof/schema.d.ts +2 -0
- package/dist/roof/schema.d.ts.map +1 -0
- package/dist/roof/schema.js +1 -0
- package/dist/roof/system.d.ts +3 -0
- package/dist/roof/system.d.ts.map +1 -0
- package/dist/roof/system.js +3 -0
- package/dist/roof-segment/definition.d.ts +10 -0
- package/dist/roof-segment/definition.d.ts.map +1 -0
- package/dist/roof-segment/definition.js +305 -0
- package/dist/roof-segment/floorplan-affordances.d.ts +31 -0
- package/dist/roof-segment/floorplan-affordances.d.ts.map +1 -0
- package/dist/roof-segment/floorplan-affordances.js +170 -0
- package/dist/roof-segment/floorplan.d.ts +41 -0
- package/dist/roof-segment/floorplan.d.ts.map +1 -0
- package/dist/roof-segment/floorplan.js +265 -0
- package/dist/roof-segment/index.d.ts +2 -0
- package/dist/roof-segment/index.d.ts.map +1 -0
- package/dist/roof-segment/index.js +1 -0
- package/dist/roof-segment/measurement.d.ts +4 -0
- package/dist/roof-segment/measurement.d.ts.map +1 -0
- package/dist/roof-segment/measurement.js +64 -0
- package/dist/roof-segment/panel.d.ts +2 -0
- package/dist/roof-segment/panel.d.ts.map +1 -0
- package/dist/roof-segment/panel.js +180 -0
- package/dist/roof-segment/parametrics.d.ts +3 -0
- package/dist/roof-segment/parametrics.d.ts.map +1 -0
- package/dist/roof-segment/parametrics.js +4 -0
- package/dist/roof-segment/renderer.d.ts +6 -0
- package/dist/roof-segment/renderer.d.ts.map +1 -0
- package/dist/roof-segment/renderer.js +93 -0
- package/dist/roof-segment/schema.d.ts +2 -0
- package/dist/roof-segment/schema.d.ts.map +1 -0
- package/dist/roof-segment/schema.js +1 -0
- package/dist/scan/definition.d.ts +9 -0
- package/dist/scan/definition.d.ts.map +1 -0
- package/dist/scan/definition.js +49 -0
- package/dist/scan/index.d.ts +2 -0
- package/dist/scan/index.d.ts.map +1 -0
- package/dist/scan/index.js +1 -0
- package/dist/scan/parametrics.d.ts +3 -0
- package/dist/scan/parametrics.d.ts.map +1 -0
- package/dist/scan/parametrics.js +3 -0
- package/dist/scan/renderer.d.ts +6 -0
- package/dist/scan/renderer.d.ts.map +1 -0
- package/dist/scan/renderer.js +54 -0
- package/dist/scan/schema.d.ts +2 -0
- package/dist/scan/schema.d.ts.map +1 -0
- package/dist/scan/schema.js +1 -0
- package/dist/scan/system.d.ts +3 -0
- package/dist/scan/system.d.ts.map +1 -0
- package/dist/scan/system.js +3 -0
- package/dist/shared/auto-fitting.d.ts +253 -0
- package/dist/shared/auto-fitting.d.ts.map +1 -0
- package/dist/shared/auto-fitting.js +659 -0
- package/dist/shared/auto-offset-tag.d.ts +67 -0
- package/dist/shared/auto-offset-tag.d.ts.map +1 -0
- package/dist/shared/auto-offset-tag.js +94 -0
- package/dist/shared/draw-alignment.d.ts +25 -0
- package/dist/shared/draw-alignment.d.ts.map +1 -0
- package/dist/shared/draw-alignment.js +30 -0
- package/dist/shared/duct-body-paint.d.ts +6 -0
- package/dist/shared/duct-body-paint.d.ts.map +1 -0
- package/dist/shared/duct-body-paint.js +13 -0
- package/dist/shared/fitting-endpoint-reaim.d.ts +72 -0
- package/dist/shared/fitting-endpoint-reaim.d.ts.map +1 -0
- package/dist/shared/fitting-endpoint-reaim.js +123 -0
- package/dist/shared/fitting-rotation.d.ts +21 -0
- package/dist/shared/fitting-rotation.d.ts.map +1 -0
- package/dist/shared/fitting-rotation.js +39 -0
- package/dist/shared/floor-placement.d.ts +25 -0
- package/dist/shared/floor-placement.d.ts.map +1 -0
- package/dist/shared/floor-placement.js +109 -0
- package/dist/shared/floorplan-cursor.d.ts +11 -0
- package/dist/shared/floorplan-cursor.d.ts.map +1 -0
- package/dist/shared/floorplan-cursor.js +17 -0
- package/dist/shared/ghost-alignment.d.ts +31 -0
- package/dist/shared/ghost-alignment.d.ts.map +1 -0
- package/dist/shared/ghost-alignment.js +29 -0
- package/dist/shared/ghost-materials.d.ts +29 -0
- package/dist/shared/ghost-materials.d.ts.map +1 -0
- package/dist/shared/ghost-materials.js +81 -0
- package/dist/shared/level-offset-group.d.ts +18 -0
- package/dist/shared/level-offset-group.d.ts.map +1 -0
- package/dist/shared/level-offset-group.js +31 -0
- package/dist/shared/mep-ghost.d.ts +37 -0
- package/dist/shared/mep-ghost.d.ts.map +1 -0
- package/dist/shared/mep-ghost.js +83 -0
- package/dist/shared/move-roof-tool.d.ts +6 -0
- package/dist/shared/move-roof-tool.d.ts.map +1 -0
- package/dist/shared/move-roof-tool.js +420 -0
- package/dist/shared/opening-guides-runtime.d.ts +70 -0
- package/dist/shared/opening-guides-runtime.d.ts.map +1 -0
- package/dist/shared/opening-guides-runtime.js +182 -0
- package/dist/shared/opening-placement-dimensions.d.ts +19 -0
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -0
- package/dist/shared/opening-placement-dimensions.js +152 -0
- package/dist/shared/path-offset.d.ts +10 -0
- package/dist/shared/path-offset.d.ts.map +1 -0
- package/dist/shared/path-offset.js +74 -0
- package/dist/shared/path-point-affordance.d.ts +34 -0
- package/dist/shared/path-point-affordance.d.ts.map +1 -0
- package/dist/shared/path-point-affordance.js +97 -0
- package/dist/shared/path-segment-affordance.d.ts +33 -0
- package/dist/shared/path-segment-affordance.d.ts.map +1 -0
- package/dist/shared/path-segment-affordance.js +77 -0
- package/dist/shared/pipe-run-translation-offset.d.ts +27 -0
- package/dist/shared/pipe-run-translation-offset.d.ts.map +1 -0
- package/dist/shared/pipe-run-translation-offset.js +131 -0
- package/dist/shared/pipe-vertical-offset.d.ts +98 -0
- package/dist/shared/pipe-vertical-offset.d.ts.map +1 -0
- package/dist/shared/pipe-vertical-offset.js +836 -0
- package/dist/shared/placeholder-geometry.d.ts +22 -0
- package/dist/shared/placeholder-geometry.d.ts.map +1 -0
- package/dist/shared/placeholder-geometry.js +31 -0
- package/dist/shared/polygon-centroid-move.d.ts +21 -0
- package/dist/shared/polygon-centroid-move.d.ts.map +1 -0
- package/dist/shared/polygon-centroid-move.js +117 -0
- package/dist/shared/polygon-measurement.d.ts +10 -0
- package/dist/shared/polygon-measurement.d.ts.map +1 -0
- package/dist/shared/polygon-measurement.js +35 -0
- package/dist/shared/polygon-vertex-affordance.d.ts +108 -0
- package/dist/shared/polygon-vertex-affordance.d.ts.map +1 -0
- package/dist/shared/polygon-vertex-affordance.js +325 -0
- package/dist/shared/ports.d.ts +75 -0
- package/dist/shared/ports.d.ts.map +1 -0
- package/dist/shared/ports.js +164 -0
- package/dist/shared/quick-measurement.d.ts +8 -0
- package/dist/shared/quick-measurement.d.ts.map +1 -0
- package/dist/shared/quick-measurement.js +15 -0
- package/dist/shared/refrigerant-line-selection.d.ts +4 -0
- package/dist/shared/refrigerant-line-selection.d.ts.map +1 -0
- package/dist/shared/refrigerant-line-selection.js +405 -0
- package/dist/shared/relative-roof-drag.d.ts +18 -0
- package/dist/shared/relative-roof-drag.d.ts.map +1 -0
- package/dist/shared/relative-roof-drag.js +83 -0
- package/dist/shared/ridge-snap.d.ts +31 -0
- package/dist/shared/ridge-snap.d.ts.map +1 -0
- package/dist/shared/ridge-snap.js +61 -0
- package/dist/shared/roof-attachment-fallback-preview.d.ts +14 -0
- package/dist/shared/roof-attachment-fallback-preview.d.ts.map +1 -0
- package/dist/shared/roof-attachment-fallback-preview.js +84 -0
- package/dist/shared/roof-face-host.d.ts +17 -0
- package/dist/shared/roof-face-host.d.ts.map +1 -0
- package/dist/shared/roof-face-host.js +24 -0
- package/dist/shared/roof-opening-host.d.ts +66 -0
- package/dist/shared/roof-opening-host.d.ts.map +1 -0
- package/dist/shared/roof-opening-host.js +98 -0
- package/dist/shared/roof-segment-hit.d.ts +34 -0
- package/dist/shared/roof-segment-hit.d.ts.map +1 -0
- package/dist/shared/roof-segment-hit.js +72 -0
- package/dist/shared/roof-surface-placement-guides.d.ts +68 -0
- package/dist/shared/roof-surface-placement-guides.d.ts.map +1 -0
- package/dist/shared/roof-surface-placement-guides.js +716 -0
- package/dist/shared/roof-surface.d.ts +20 -0
- package/dist/shared/roof-surface.d.ts.map +1 -0
- package/dist/shared/roof-surface.js +467 -0
- package/dist/shared/roof-wall-opening-cut.d.ts +16 -0
- package/dist/shared/roof-wall-opening-cut.d.ts.map +1 -0
- package/dist/shared/roof-wall-opening-cut.js +52 -0
- package/dist/shared/roof-wall-opening-placement.d.ts +53 -0
- package/dist/shared/roof-wall-opening-placement.d.ts.map +1 -0
- package/dist/shared/roof-wall-opening-placement.js +58 -0
- package/dist/shared/rotate-affordance.d.ts +16 -0
- package/dist/shared/rotate-affordance.d.ts.map +1 -0
- package/dist/shared/rotate-affordance.js +20 -0
- package/dist/shared/run-move-connectivity.d.ts +52 -0
- package/dist/shared/run-move-connectivity.d.ts.map +1 -0
- package/dist/shared/run-move-connectivity.js +82 -0
- package/dist/shared/run-translation-offset.d.ts +24 -0
- package/dist/shared/run-translation-offset.d.ts.map +1 -0
- package/dist/shared/run-translation-offset.js +140 -0
- package/dist/shared/selection-handles.d.ts +51 -0
- package/dist/shared/selection-handles.d.ts.map +1 -0
- package/dist/shared/selection-handles.js +74 -0
- package/dist/shared/slot-paint.d.ts +46 -0
- package/dist/shared/slot-paint.d.ts.map +1 -0
- package/dist/shared/slot-paint.js +235 -0
- package/dist/shared/surface-paint.d.ts +3 -0
- package/dist/shared/surface-paint.d.ts.map +1 -0
- package/dist/shared/surface-paint.js +41 -0
- package/dist/shared/use-segment-trim-clip.d.ts +44 -0
- package/dist/shared/use-segment-trim-clip.d.ts.map +1 -0
- package/dist/shared/use-segment-trim-clip.js +149 -0
- package/dist/shared/vertical-offset.d.ts +95 -0
- package/dist/shared/vertical-offset.d.ts.map +1 -0
- package/dist/shared/vertical-offset.js +851 -0
- package/dist/shared/wall-attach-target.d.ts +109 -0
- package/dist/shared/wall-attach-target.d.ts.map +1 -0
- package/dist/shared/wall-attach-target.js +192 -0
- package/dist/shared/wall-opening-alignment.d.ts +34 -0
- package/dist/shared/wall-opening-alignment.d.ts.map +1 -0
- package/dist/shared/wall-opening-alignment.js +113 -0
- package/dist/shelf/definition.d.ts +4 -0
- package/dist/shelf/definition.d.ts.map +1 -0
- package/dist/shelf/definition.js +265 -0
- package/dist/shelf/dimensions.d.ts +3 -0
- package/dist/shelf/dimensions.d.ts.map +1 -0
- package/dist/shelf/dimensions.js +15 -0
- package/dist/shelf/floorplan-affordances.d.ts +26 -0
- package/dist/shelf/floorplan-affordances.d.ts.map +1 -0
- package/dist/shelf/floorplan-affordances.js +88 -0
- package/dist/shelf/floorplan-move.d.ts +25 -0
- package/dist/shelf/floorplan-move.d.ts.map +1 -0
- package/dist/shelf/floorplan-move.js +90 -0
- package/dist/shelf/floorplan.d.ts +20 -0
- package/dist/shelf/floorplan.d.ts.map +1 -0
- package/dist/shelf/floorplan.js +124 -0
- package/dist/shelf/geometry.d.ts +15 -0
- package/dist/shelf/geometry.d.ts.map +1 -0
- package/dist/shelf/geometry.js +304 -0
- package/dist/shelf/index.d.ts +4 -0
- package/dist/shelf/index.d.ts.map +1 -0
- package/dist/shelf/index.js +3 -0
- package/dist/shelf/paint.d.ts +3 -0
- package/dist/shelf/paint.d.ts.map +1 -0
- package/dist/shelf/paint.js +181 -0
- package/dist/shelf/parametrics.d.ts +14 -0
- package/dist/shelf/parametrics.d.ts.map +1 -0
- package/dist/shelf/parametrics.js +81 -0
- package/dist/shelf/preview.d.ts +31 -0
- package/dist/shelf/preview.d.ts.map +1 -0
- package/dist/shelf/preview.js +77 -0
- package/dist/shelf/schema.d.ts +2 -0
- package/dist/shelf/schema.d.ts.map +1 -0
- package/dist/shelf/schema.js +6 -0
- package/dist/shelf/slots.d.ts +9 -0
- package/dist/shelf/slots.d.ts.map +1 -0
- package/dist/shelf/slots.js +30 -0
- package/dist/shelf/tool.d.ts +3 -0
- package/dist/shelf/tool.d.ts.map +1 -0
- package/dist/shelf/tool.js +125 -0
- package/dist/site/definition.d.ts +10 -0
- package/dist/site/definition.d.ts.map +1 -0
- package/dist/site/definition.js +54 -0
- package/dist/site/index.d.ts +2 -0
- package/dist/site/index.d.ts.map +1 -0
- package/dist/site/index.js +1 -0
- package/dist/site/parametrics.d.ts +3 -0
- package/dist/site/parametrics.d.ts.map +1 -0
- package/dist/site/parametrics.js +3 -0
- package/dist/site/recessed-slab-ground-holes.d.ts +3 -0
- package/dist/site/recessed-slab-ground-holes.d.ts.map +1 -0
- package/dist/site/recessed-slab-ground-holes.js +46 -0
- package/dist/site/renderer.d.ts +6 -0
- package/dist/site/renderer.d.ts.map +1 -0
- package/dist/site/renderer.js +196 -0
- package/dist/site/schema.d.ts +2 -0
- package/dist/site/schema.d.ts.map +1 -0
- package/dist/site/schema.js +1 -0
- package/dist/skylight/definition.d.ts +10 -0
- package/dist/skylight/definition.d.ts.map +1 -0
- package/dist/skylight/definition.js +268 -0
- package/dist/skylight/floorplan.d.ts +16 -0
- package/dist/skylight/floorplan.d.ts.map +1 -0
- package/dist/skylight/floorplan.js +129 -0
- package/dist/skylight/frame-csg.d.ts +4 -0
- package/dist/skylight/frame-csg.d.ts.map +1 -0
- package/dist/skylight/frame-csg.js +49 -0
- package/dist/skylight/geometry.d.ts +7 -0
- package/dist/skylight/geometry.d.ts.map +1 -0
- package/dist/skylight/geometry.js +114 -0
- package/dist/skylight/index.d.ts +5 -0
- package/dist/skylight/index.d.ts.map +1 -0
- package/dist/skylight/index.js +4 -0
- package/dist/skylight/interaction.d.ts +11 -0
- package/dist/skylight/interaction.d.ts.map +1 -0
- package/dist/skylight/interaction.js +42 -0
- package/dist/skylight/move-tool.d.ts +5 -0
- package/dist/skylight/move-tool.d.ts.map +1 -0
- package/dist/skylight/move-tool.js +233 -0
- package/dist/skylight/panel.d.ts +2 -0
- package/dist/skylight/panel.d.ts.map +1 -0
- package/dist/skylight/panel.js +253 -0
- package/dist/skylight/parametrics.d.ts +4 -0
- package/dist/skylight/parametrics.d.ts.map +1 -0
- package/dist/skylight/parametrics.js +99 -0
- package/dist/skylight/preview.d.ts +7 -0
- package/dist/skylight/preview.d.ts.map +1 -0
- package/dist/skylight/preview.js +49 -0
- package/dist/skylight/renderer.d.ts +6 -0
- package/dist/skylight/renderer.d.ts.map +1 -0
- package/dist/skylight/renderer.js +303 -0
- package/dist/skylight/roof-cut.d.ts +21 -0
- package/dist/skylight/roof-cut.d.ts.map +1 -0
- package/dist/skylight/roof-cut.js +61 -0
- package/dist/skylight/schema.d.ts +2 -0
- package/dist/skylight/schema.d.ts.map +1 -0
- package/dist/skylight/schema.js +1 -0
- package/dist/skylight/system.d.ts +3 -0
- package/dist/skylight/system.d.ts.map +1 -0
- package/dist/skylight/system.js +49 -0
- package/dist/skylight/tool.d.ts +3 -0
- package/dist/skylight/tool.d.ts.map +1 -0
- package/dist/skylight/tool.js +100 -0
- package/dist/slab/boundary-editor.d.ts +24 -0
- package/dist/slab/boundary-editor.d.ts.map +1 -0
- package/dist/slab/boundary-editor.js +127 -0
- package/dist/slab/definition.d.ts +20 -0
- package/dist/slab/definition.d.ts.map +1 -0
- package/dist/slab/definition.js +218 -0
- package/dist/slab/floorplan-affordances.d.ts +177 -0
- package/dist/slab/floorplan-affordances.d.ts.map +1 -0
- package/dist/slab/floorplan-affordances.js +52 -0
- package/dist/slab/floorplan-move.d.ts +12 -0
- package/dist/slab/floorplan-move.d.ts.map +1 -0
- package/dist/slab/floorplan-move.js +19 -0
- package/dist/slab/floorplan.d.ts +20 -0
- package/dist/slab/floorplan.d.ts.map +1 -0
- package/dist/slab/floorplan.js +144 -0
- package/dist/slab/geometry.d.ts +5 -0
- package/dist/slab/geometry.d.ts.map +1 -0
- package/dist/slab/geometry.js +133 -0
- package/dist/slab/hole-editor.d.ts +14 -0
- package/dist/slab/hole-editor.d.ts.map +1 -0
- package/dist/slab/hole-editor.js +54 -0
- package/dist/slab/index.d.ts +3 -0
- package/dist/slab/index.d.ts.map +1 -0
- package/dist/slab/index.js +2 -0
- package/dist/slab/move-tool.d.ts +6 -0
- package/dist/slab/move-tool.d.ts.map +1 -0
- package/dist/slab/move-tool.js +232 -0
- package/dist/slab/paint.d.ts +8 -0
- package/dist/slab/paint.d.ts.map +1 -0
- package/dist/slab/paint.js +26 -0
- package/dist/slab/panel.d.ts +14 -0
- package/dist/slab/panel.d.ts.map +1 -0
- package/dist/slab/panel.js +144 -0
- package/dist/slab/parametrics.d.ts +14 -0
- package/dist/slab/parametrics.d.ts.map +1 -0
- package/dist/slab/parametrics.js +19 -0
- package/dist/slab/quick-measurement.d.ts +3 -0
- package/dist/slab/quick-measurement.d.ts.map +1 -0
- package/dist/slab/quick-measurement.js +35 -0
- package/dist/slab/schema.d.ts +2 -0
- package/dist/slab/schema.d.ts.map +1 -0
- package/dist/slab/schema.js +1 -0
- package/dist/slab/slots.d.ts +10 -0
- package/dist/slab/slots.d.ts.map +1 -0
- package/dist/slab/slots.js +20 -0
- package/dist/slab/system.d.ts +3 -0
- package/dist/slab/system.d.ts.map +1 -0
- package/dist/slab/system.js +63 -0
- package/dist/slab/tool.d.ts +3 -0
- package/dist/slab/tool.d.ts.map +1 -0
- package/dist/slab/tool.js +204 -0
- package/dist/solar-panel/definition.d.ts +15 -0
- package/dist/solar-panel/definition.d.ts.map +1 -0
- package/dist/solar-panel/definition.js +260 -0
- package/dist/solar-panel/floorplan.d.ts +21 -0
- package/dist/solar-panel/floorplan.d.ts.map +1 -0
- package/dist/solar-panel/floorplan.js +120 -0
- package/dist/solar-panel/geometry.d.ts +29 -0
- package/dist/solar-panel/geometry.d.ts.map +1 -0
- package/dist/solar-panel/geometry.js +196 -0
- package/dist/solar-panel/index.d.ts +5 -0
- package/dist/solar-panel/index.d.ts.map +1 -0
- package/dist/solar-panel/index.js +4 -0
- package/dist/solar-panel/move-tool.d.ts +5 -0
- package/dist/solar-panel/move-tool.d.ts.map +1 -0
- package/dist/solar-panel/move-tool.js +257 -0
- package/dist/solar-panel/panel.d.ts +2 -0
- package/dist/solar-panel/panel.d.ts.map +1 -0
- package/dist/solar-panel/panel.js +146 -0
- package/dist/solar-panel/parametrics.d.ts +4 -0
- package/dist/solar-panel/parametrics.d.ts.map +1 -0
- package/dist/solar-panel/parametrics.js +52 -0
- package/dist/solar-panel/preview.d.ts +7 -0
- package/dist/solar-panel/preview.d.ts.map +1 -0
- package/dist/solar-panel/preview.js +46 -0
- package/dist/solar-panel/renderer.d.ts +26 -0
- package/dist/solar-panel/renderer.d.ts.map +1 -0
- package/dist/solar-panel/renderer.js +162 -0
- package/dist/solar-panel/schema.d.ts +2 -0
- package/dist/solar-panel/schema.d.ts.map +1 -0
- package/dist/solar-panel/schema.js +1 -0
- package/dist/solar-panel/tool.d.ts +11 -0
- package/dist/solar-panel/tool.d.ts.map +1 -0
- package/dist/solar-panel/tool.js +120 -0
- package/dist/spawn/definition.d.ts +4 -0
- package/dist/spawn/definition.d.ts.map +1 -0
- package/dist/spawn/definition.js +107 -0
- package/dist/spawn/floorplan-affordances.d.ts +3 -0
- package/dist/spawn/floorplan-affordances.d.ts.map +1 -0
- package/dist/spawn/floorplan-affordances.js +31 -0
- package/dist/spawn/floorplan-move.d.ts +3 -0
- package/dist/spawn/floorplan-move.d.ts.map +1 -0
- package/dist/spawn/floorplan-move.js +31 -0
- package/dist/spawn/floorplan.d.ts +14 -0
- package/dist/spawn/floorplan.d.ts.map +1 -0
- package/dist/spawn/floorplan.js +135 -0
- package/dist/spawn/index.d.ts +3 -0
- package/dist/spawn/index.d.ts.map +1 -0
- package/dist/spawn/index.js +2 -0
- package/dist/spawn/panel.d.ts +2 -0
- package/dist/spawn/panel.d.ts.map +1 -0
- package/dist/spawn/panel.js +71 -0
- package/dist/spawn/parametrics.d.ts +8 -0
- package/dist/spawn/parametrics.d.ts.map +1 -0
- package/dist/spawn/parametrics.js +23 -0
- package/dist/spawn/renderer.d.ts +16 -0
- package/dist/spawn/renderer.d.ts.map +1 -0
- package/dist/spawn/renderer.js +47 -0
- package/dist/spawn/schema.d.ts +2 -0
- package/dist/spawn/schema.d.ts.map +1 -0
- package/dist/spawn/schema.js +5 -0
- package/dist/spawn/tool.d.ts +10 -0
- package/dist/spawn/tool.d.ts.map +1 -0
- package/dist/spawn/tool.js +109 -0
- package/dist/stair/definition.d.ts +9 -0
- package/dist/stair/definition.d.ts.map +1 -0
- package/dist/stair/definition.js +440 -0
- package/dist/stair/floor-stack.d.ts +10 -0
- package/dist/stair/floor-stack.d.ts.map +1 -0
- package/dist/stair/floor-stack.js +77 -0
- package/dist/stair/floorplan-affordances.d.ts +53 -0
- package/dist/stair/floorplan-affordances.d.ts.map +1 -0
- package/dist/stair/floorplan-affordances.js +266 -0
- package/dist/stair/floorplan-move.d.ts +17 -0
- package/dist/stair/floorplan-move.d.ts.map +1 -0
- package/dist/stair/floorplan-move.js +64 -0
- package/dist/stair/floorplan.d.ts +26 -0
- package/dist/stair/floorplan.d.ts.map +1 -0
- package/dist/stair/floorplan.js +455 -0
- package/dist/stair/index.d.ts +2 -0
- package/dist/stair/index.d.ts.map +1 -0
- package/dist/stair/index.js +1 -0
- package/dist/stair/paint.d.ts +2 -0
- package/dist/stair/paint.d.ts.map +1 -0
- package/dist/stair/paint.js +86 -0
- package/dist/stair/panel.d.ts +2 -0
- package/dist/stair/panel.d.ts.map +1 -0
- package/dist/stair/panel.js +196 -0
- package/dist/stair/parametrics.d.ts +3 -0
- package/dist/stair/parametrics.d.ts.map +1 -0
- package/dist/stair/parametrics.js +4 -0
- package/dist/stair/renderer.d.ts +6 -0
- package/dist/stair/renderer.d.ts.map +1 -0
- package/dist/stair/renderer.js +667 -0
- package/dist/stair/schema.d.ts +2 -0
- package/dist/stair/schema.d.ts.map +1 -0
- package/dist/stair/schema.js +1 -0
- package/dist/stair/slots.d.ts +7 -0
- package/dist/stair/slots.d.ts.map +1 -0
- package/dist/stair/slots.js +13 -0
- package/dist/stair/system.d.ts +3 -0
- package/dist/stair/system.d.ts.map +1 -0
- package/dist/stair/system.js +3 -0
- package/dist/stair-segment/definition.d.ts +8 -0
- package/dist/stair-segment/definition.d.ts.map +1 -0
- package/dist/stair-segment/definition.js +133 -0
- package/dist/stair-segment/index.d.ts +2 -0
- package/dist/stair-segment/index.d.ts.map +1 -0
- package/dist/stair-segment/index.js +1 -0
- package/dist/stair-segment/panel.d.ts +2 -0
- package/dist/stair-segment/panel.d.ts.map +1 -0
- package/dist/stair-segment/panel.js +126 -0
- package/dist/stair-segment/parametrics.d.ts +3 -0
- package/dist/stair-segment/parametrics.d.ts.map +1 -0
- package/dist/stair-segment/parametrics.js +4 -0
- package/dist/stair-segment/renderer.d.ts +6 -0
- package/dist/stair-segment/renderer.d.ts.map +1 -0
- package/dist/stair-segment/renderer.js +55 -0
- package/dist/stair-segment/schema.d.ts +2 -0
- package/dist/stair-segment/schema.d.ts.map +1 -0
- package/dist/stair-segment/schema.js +1 -0
- package/dist/turbine-vent/definition.d.ts +24 -0
- package/dist/turbine-vent/definition.d.ts.map +1 -0
- package/dist/turbine-vent/definition.js +119 -0
- package/dist/turbine-vent/floorplan.d.ts +13 -0
- package/dist/turbine-vent/floorplan.d.ts.map +1 -0
- package/dist/turbine-vent/floorplan.js +111 -0
- package/dist/turbine-vent/geometry.d.ts +6 -0
- package/dist/turbine-vent/geometry.d.ts.map +1 -0
- package/dist/turbine-vent/geometry.js +284 -0
- package/dist/turbine-vent/index.d.ts +4 -0
- package/dist/turbine-vent/index.d.ts.map +1 -0
- package/dist/turbine-vent/index.js +3 -0
- package/dist/turbine-vent/move-tool.d.ts +13 -0
- package/dist/turbine-vent/move-tool.d.ts.map +1 -0
- package/dist/turbine-vent/move-tool.js +207 -0
- package/dist/turbine-vent/panel.d.ts +8 -0
- package/dist/turbine-vent/panel.d.ts.map +1 -0
- package/dist/turbine-vent/panel.js +127 -0
- package/dist/turbine-vent/parametrics.d.ts +9 -0
- package/dist/turbine-vent/parametrics.d.ts.map +1 -0
- package/dist/turbine-vent/parametrics.js +34 -0
- package/dist/turbine-vent/preview.d.ts +14 -0
- package/dist/turbine-vent/preview.d.ts.map +1 -0
- package/dist/turbine-vent/preview.js +38 -0
- package/dist/turbine-vent/renderer.d.ts +18 -0
- package/dist/turbine-vent/renderer.d.ts.map +1 -0
- package/dist/turbine-vent/renderer.js +107 -0
- package/dist/turbine-vent/schema.d.ts +2 -0
- package/dist/turbine-vent/schema.d.ts.map +1 -0
- package/dist/turbine-vent/schema.js +3 -0
- package/dist/turbine-vent/tool.d.ts +9 -0
- package/dist/turbine-vent/tool.d.ts.map +1 -0
- package/dist/turbine-vent/tool.js +111 -0
- package/dist/wall/curve-tool.d.ts +14 -0
- package/dist/wall/curve-tool.d.ts.map +1 -0
- package/dist/wall/curve-tool.js +123 -0
- package/dist/wall/definition.d.ts +19 -0
- package/dist/wall/definition.d.ts.map +1 -0
- package/dist/wall/definition.js +132 -0
- package/dist/wall/floorplan-affordances.d.ts +13 -0
- package/dist/wall/floorplan-affordances.d.ts.map +1 -0
- package/dist/wall/floorplan-affordances.js +241 -0
- package/dist/wall/floorplan-move.d.ts +32 -0
- package/dist/wall/floorplan-move.d.ts.map +1 -0
- package/dist/wall/floorplan-move.js +259 -0
- package/dist/wall/floorplan-overrides.d.ts +22 -0
- package/dist/wall/floorplan-overrides.d.ts.map +1 -0
- package/dist/wall/floorplan-overrides.js +32 -0
- package/dist/wall/floorplan.d.ts +23 -0
- package/dist/wall/floorplan.d.ts.map +1 -0
- package/dist/wall/floorplan.js +249 -0
- package/dist/wall/index.d.ts +3 -0
- package/dist/wall/index.d.ts.map +1 -0
- package/dist/wall/index.js +2 -0
- package/dist/wall/measurement.d.ts +5 -0
- package/dist/wall/measurement.d.ts.map +1 -0
- package/dist/wall/measurement.js +174 -0
- package/dist/wall/move-endpoint-tool.d.ts +22 -0
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -0
- package/dist/wall/move-endpoint-tool.js +450 -0
- package/dist/wall/move-shared.d.ts +48 -0
- package/dist/wall/move-shared.d.ts.map +1 -0
- package/dist/wall/move-shared.js +162 -0
- package/dist/wall/move-tool.d.ts +6 -0
- package/dist/wall/move-tool.d.ts.map +1 -0
- package/dist/wall/move-tool.js +523 -0
- package/dist/wall/paint.d.ts +33 -0
- package/dist/wall/paint.d.ts.map +1 -0
- package/dist/wall/paint.js +176 -0
- package/dist/wall/panel.d.ts +2 -0
- package/dist/wall/panel.d.ts.map +1 -0
- package/dist/wall/panel.js +198 -0
- package/dist/wall/parametrics.d.ts +16 -0
- package/dist/wall/parametrics.d.ts.map +1 -0
- package/dist/wall/parametrics.js +30 -0
- package/dist/wall/quick-measurement.d.ts +3 -0
- package/dist/wall/quick-measurement.d.ts.map +1 -0
- package/dist/wall/quick-measurement.js +30 -0
- package/dist/wall/renderer.d.ts +25 -0
- package/dist/wall/renderer.d.ts.map +1 -0
- package/dist/wall/renderer.js +65 -0
- package/dist/wall/schema.d.ts +12 -0
- package/dist/wall/schema.d.ts.map +1 -0
- package/dist/wall/schema.js +10 -0
- package/dist/wall/slots.d.ts +10 -0
- package/dist/wall/slots.d.ts.map +1 -0
- package/dist/wall/slots.js +84 -0
- package/dist/wall/system.d.ts +14 -0
- package/dist/wall/system.d.ts.map +1 -0
- package/dist/wall/system.js +18 -0
- package/dist/wall/tool.d.ts +3 -0
- package/dist/wall/tool.d.ts.map +1 -0
- package/dist/wall/tool.js +628 -0
- package/dist/wall/treatments.d.ts +26 -0
- package/dist/wall/treatments.d.ts.map +1 -0
- package/dist/wall/treatments.js +503 -0
- package/dist/window/definition.d.ts +15 -0
- package/dist/window/definition.d.ts.map +1 -0
- package/dist/window/definition.js +237 -0
- package/dist/window/floor-projection.d.ts +9 -0
- package/dist/window/floor-projection.d.ts.map +1 -0
- package/dist/window/floor-projection.js +84 -0
- package/dist/window/floorplan-affordances.d.ts +22 -0
- package/dist/window/floorplan-affordances.d.ts.map +1 -0
- package/dist/window/floorplan-affordances.js +82 -0
- package/dist/window/floorplan-move.d.ts +14 -0
- package/dist/window/floorplan-move.d.ts.map +1 -0
- package/dist/window/floorplan-move.js +223 -0
- package/dist/window/floorplan.d.ts +16 -0
- package/dist/window/floorplan.d.ts.map +1 -0
- package/dist/window/floorplan.js +151 -0
- package/dist/window/index.d.ts +3 -0
- package/dist/window/index.d.ts.map +1 -0
- package/dist/window/index.js +2 -0
- package/dist/window/move-tool.d.ts +18 -0
- package/dist/window/move-tool.d.ts.map +1 -0
- package/dist/window/move-tool.js +914 -0
- package/dist/window/paint.d.ts +8 -0
- package/dist/window/paint.d.ts.map +1 -0
- package/dist/window/paint.js +11 -0
- package/dist/window/panel.d.ts +2 -0
- package/dist/window/panel.d.ts.map +1 -0
- package/dist/window/panel.js +384 -0
- package/dist/window/parametrics.d.ts +11 -0
- package/dist/window/parametrics.d.ts.map +1 -0
- package/dist/window/parametrics.js +22 -0
- package/dist/window/preview.d.ts +18 -0
- package/dist/window/preview.d.ts.map +1 -0
- package/dist/window/preview.js +36 -0
- package/dist/window/renderer.d.ts +6 -0
- package/dist/window/renderer.d.ts.map +1 -0
- package/dist/window/renderer.js +37 -0
- package/dist/window/schema.d.ts +2 -0
- package/dist/window/schema.d.ts.map +1 -0
- package/dist/window/schema.js +1 -0
- package/dist/window/slots.d.ts +5 -0
- package/dist/window/slots.d.ts.map +1 -0
- package/dist/window/slots.js +11 -0
- package/dist/window/system.d.ts +12 -0
- package/dist/window/system.d.ts.map +1 -0
- package/dist/window/system.js +16 -0
- package/dist/window/tool.d.ts +13 -0
- package/dist/window/tool.d.ts.map +1 -0
- package/dist/window/tool.js +580 -0
- package/dist/window/window-math.d.ts +31 -0
- package/dist/window/window-math.d.ts.map +1 -0
- package/dist/window/window-math.js +41 -0
- package/dist/zone/definition.d.ts +10 -0
- package/dist/zone/definition.d.ts.map +1 -0
- package/dist/zone/definition.js +80 -0
- package/dist/zone/floorplan-affordances.d.ts +81 -0
- package/dist/zone/floorplan-affordances.d.ts.map +1 -0
- package/dist/zone/floorplan-affordances.js +19 -0
- package/dist/zone/floorplan-move.d.ts +13 -0
- package/dist/zone/floorplan-move.d.ts.map +1 -0
- package/dist/zone/floorplan-move.js +17 -0
- package/dist/zone/floorplan.d.ts +13 -0
- package/dist/zone/floorplan.d.ts.map +1 -0
- package/dist/zone/floorplan.js +147 -0
- package/dist/zone/index.d.ts +2 -0
- package/dist/zone/index.d.ts.map +1 -0
- package/dist/zone/index.js +1 -0
- package/dist/zone/parametrics.d.ts +3 -0
- package/dist/zone/parametrics.d.ts.map +1 -0
- package/dist/zone/parametrics.js +4 -0
- package/dist/zone/quantities-panel.d.ts +2 -0
- package/dist/zone/quantities-panel.d.ts.map +1 -0
- package/dist/zone/quantities-panel.js +83 -0
- package/dist/zone/quick-measurement.d.ts +3 -0
- package/dist/zone/quick-measurement.d.ts.map +1 -0
- package/dist/zone/quick-measurement.js +29 -0
- package/dist/zone/renderer.d.ts +6 -0
- package/dist/zone/renderer.d.ts.map +1 -0
- package/dist/zone/renderer.js +205 -0
- package/dist/zone/schema.d.ts +2 -0
- package/dist/zone/schema.d.ts.map +1 -0
- package/dist/zone/schema.js +1 -0
- package/dist/zone/system.d.ts +3 -0
- package/dist/zone/system.d.ts.map +1 -0
- package/dist/zone/system.js +3 -0
- package/package.json +61 -0
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
+
import { useRegistry } from '@pascal-app/core';
|
|
4
|
+
import { useAssetUrl, useViewer } from '@pascal-app/viewer';
|
|
5
|
+
import { useLoader } from '@react-three/fiber';
|
|
6
|
+
import { Suspense, useEffect, useMemo, useRef } from 'react';
|
|
7
|
+
import { DoubleSide, PlaneGeometry, TextureLoader } from 'three';
|
|
8
|
+
import { float, texture } from 'three/tsl';
|
|
9
|
+
import { MeshBasicNodeMaterial } from 'three/webgpu';
|
|
10
|
+
export const GuideRenderer = ({ node }) => {
|
|
11
|
+
const showGuides = useViewer((s) => s.showGuides);
|
|
12
|
+
const ref = useRef(null);
|
|
13
|
+
useRegistry(node.id, 'guide', ref);
|
|
14
|
+
const resolvedUrl = useAssetUrl(node.url);
|
|
15
|
+
return (_jsx("group", { position: node.position, ref: ref, rotation: [0, node.rotation[1], 0], visible: showGuides && node.visible !== false, children: resolvedUrl && (_jsx(Suspense, { children: _jsx(GuidePlane, { opacity: node.opacity, scale: node.scale, url: resolvedUrl }) })) }));
|
|
16
|
+
};
|
|
17
|
+
const GuidePlane = ({ url, scale, opacity }) => {
|
|
18
|
+
const tex = useLoader(TextureLoader, url);
|
|
19
|
+
// Pass the geometry as a prop. JSX-child `<planeGeometry>` plus
|
|
20
|
+
// `frustumCulled={false}` lets the mesh submit a first-frame draw
|
|
21
|
+
// with R3F's empty placeholder BufferGeometry before the child
|
|
22
|
+
// attaches — WebGPU then flags "Vertex buffer slot 0 required by
|
|
23
|
+
// [RenderPipeline renderPipeline_MeshBasicNodeMaterial_NNNN] was
|
|
24
|
+
// not set." Same fix as wall-move-side-handles.tsx / grid.tsx.
|
|
25
|
+
const { geometry, material } = useMemo(() => {
|
|
26
|
+
const img = tex.image;
|
|
27
|
+
const w = img.width || 1;
|
|
28
|
+
const h = img.height || 1;
|
|
29
|
+
const aspect = w / h;
|
|
30
|
+
// Default: 10 meters wide, height from aspect ratio
|
|
31
|
+
const planeWidth = 10 * scale;
|
|
32
|
+
const planeHeight = (10 / aspect) * scale;
|
|
33
|
+
const normalizedOpacity = opacity / 100;
|
|
34
|
+
const mat = new MeshBasicNodeMaterial({
|
|
35
|
+
transparent: true,
|
|
36
|
+
colorNode: texture(tex),
|
|
37
|
+
opacityNode: float(normalizedOpacity),
|
|
38
|
+
side: DoubleSide,
|
|
39
|
+
depthWrite: false,
|
|
40
|
+
});
|
|
41
|
+
const geom = new PlaneGeometry(planeWidth, planeHeight);
|
|
42
|
+
geom.boundingBox = null;
|
|
43
|
+
geom.boundingSphere = null;
|
|
44
|
+
return { geometry: geom, material: mat };
|
|
45
|
+
}, [tex, scale, opacity]);
|
|
46
|
+
useEffect(() => () => {
|
|
47
|
+
geometry.dispose();
|
|
48
|
+
material.dispose();
|
|
49
|
+
}, [geometry, material]);
|
|
50
|
+
return (_jsx("mesh", { frustumCulled: false, geometry: geometry, material: material, raycast: () => { }, rotation: [-Math.PI / 2, 0, 0] }));
|
|
51
|
+
};
|
|
52
|
+
export default GuideRenderer;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/guide/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { GuideNode } from '@pascal-app/core';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"system.d.ts","sourceRoot":"","sources":["../../src/guide/system.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { GutterNode, RoofSegmentNode } from '@pascal-app/core';
|
|
2
|
+
/**
|
|
3
|
+
* Auto-mitre detector for two gutters meeting at a roof corner.
|
|
4
|
+
*
|
|
5
|
+
* When two gutters' endpoints land within `CORNER_EPSILON` of each
|
|
6
|
+
* other in plan (ROOF-local X/Z — see `planDistSq`), the renderer
|
|
7
|
+
* treats them as a single L-junction and skews each end so the back
|
|
8
|
+
* walls meet at the inner corner while the front rims extend outward to
|
|
9
|
+
* a clean mitre.
|
|
10
|
+
*
|
|
11
|
+
* Why "back wall stays at the corner": the gutter mounts against the
|
|
12
|
+
* fascia (gutter-local +X is the length, +Z is outward over the eave).
|
|
13
|
+
* Two perpendicular fascias meet at the eave corner — that's the
|
|
14
|
+
* fixed point. The rims hang in space past the building, so they're
|
|
15
|
+
* the parts that need to extend to actually touch each other.
|
|
16
|
+
*
|
|
17
|
+
* For 90° (typical hip / rectangular plan) corners the mitre is 45°
|
|
18
|
+
* each side; arbitrary angles use the standard mitre formula
|
|
19
|
+
* `(π − interior) / 2`. Aligned gutters (interior ≈ π) → mitre 0 → no
|
|
20
|
+
* displacement, no cap suppression — they read as a straight run.
|
|
21
|
+
*
|
|
22
|
+
* Cross-segment: endpoints + length axes are lifted into the shared
|
|
23
|
+
* ROOF frame (each gutter's segment position + Y-rotation applied), so
|
|
24
|
+
* gutters on DIFFERENT roof segments (L-shaped plans, additions) mitre
|
|
25
|
+
* at the corner where their segments meet — not just gutters sharing a
|
|
26
|
+
* segment. Same-segment corners fall out of the same path (both gutters
|
|
27
|
+
* carry the same segment transform). The skew assumes a convex (outer)
|
|
28
|
+
* corner; a concave inner corner mitres approximately.
|
|
29
|
+
*/
|
|
30
|
+
export type GutterMitres = {
|
|
31
|
+
/**
|
|
32
|
+
* SIGNED mitre angle (radians) at the gutter's −X end; 0 = no mitre.
|
|
33
|
+
* Positive = CONVEX (outer) corner — the front rim EXTENDS past the
|
|
34
|
+
* end to reach the outer eave intersection. Negative = CONCAVE (inner)
|
|
35
|
+
* corner — the rim RETRACTS to the inner intersection. The geometry
|
|
36
|
+
* builder feeds the value straight through `Math.tan`, so the sign
|
|
37
|
+
* flips the skew direction; `=== 0` still means "no mitre / keep cap".
|
|
38
|
+
*/
|
|
39
|
+
left: number;
|
|
40
|
+
/** Signed mitre angle (radians) at the gutter's +X end; see `left`. */
|
|
41
|
+
right: number;
|
|
42
|
+
};
|
|
43
|
+
export declare const NO_MITRES: GutterMitres;
|
|
44
|
+
export declare const CORNER_EPSILON_SQ: number;
|
|
45
|
+
/** A sibling gutter paired with the segment it sits on, for the frame lift. */
|
|
46
|
+
export type GutterWithSegment = {
|
|
47
|
+
gutter: GutterNode;
|
|
48
|
+
segment: Pick<RoofSegmentNode, 'position' | 'rotation'>;
|
|
49
|
+
};
|
|
50
|
+
export type Endpoint = {
|
|
51
|
+
pos: readonly [number, number, number];
|
|
52
|
+
/** Length-axis direction in segment frame, pointing from this end toward the other end. */
|
|
53
|
+
awayDir: readonly [number, number];
|
|
54
|
+
/** Outward normal (gutter-local +Z, "away from the building") in this frame. */
|
|
55
|
+
outDir: readonly [number, number];
|
|
56
|
+
};
|
|
57
|
+
/**
|
|
58
|
+
* Gutter endpoints lifted from segment-local into the shared ROOF frame
|
|
59
|
+
* by applying the host segment's position + Y-rotation. Two gutters on
|
|
60
|
+
* different segments can then be compared in one frame. THREE's
|
|
61
|
+
* rotation-y convention: a point/dir (x, z) rotates to
|
|
62
|
+
* (x·cos + z·sin, −x·sin + z·cos).
|
|
63
|
+
*/
|
|
64
|
+
export declare function gutterEndpointsInFrame(g: GutterNode, segment: Pick<RoofSegmentNode, 'position' | 'rotation'>): {
|
|
65
|
+
plus: Endpoint;
|
|
66
|
+
minus: Endpoint;
|
|
67
|
+
};
|
|
68
|
+
export declare function planDistSq(a: readonly [number, number, number], b: readonly [number, number, number]): number;
|
|
69
|
+
/**
|
|
70
|
+
* Compute mitres for `subject` against every other gutter under the
|
|
71
|
+
* same parent.
|
|
72
|
+
*
|
|
73
|
+
* A corner is the INTERSECTION of the two gutters' length-axis lines —
|
|
74
|
+
* not the proximity of their endpoints. This is what makes inner
|
|
75
|
+
* (concave) corners work: there the two eave drip-lines meet out in the
|
|
76
|
+
* notch, a full overhang away from where either gutter naturally ends,
|
|
77
|
+
* so an endpoint-to-endpoint test never fired. Keying off the axis
|
|
78
|
+
* crossing treats convex and concave identically. The length-snap pulls
|
|
79
|
+
* both ends out to that shared point, so by the time we mitre the
|
|
80
|
+
* subject's end AND the sibling's end both sit on the intersection — we
|
|
81
|
+
* require both to be within `CORNER_EPSILON` of it, which also rejects
|
|
82
|
+
* runs that merely cross in the middle (a T, not an L).
|
|
83
|
+
*
|
|
84
|
+
* First match per end wins; siblings order is the caller's, so the
|
|
85
|
+
* result is deterministic.
|
|
86
|
+
*/
|
|
87
|
+
export declare function computeGutterMitres(subject: GutterNode, subjectSegment: Pick<RoofSegmentNode, 'position' | 'rotation'>, siblings: readonly GutterWithSegment[]): GutterMitres;
|
|
88
|
+
//# sourceMappingURL=corner-mitre.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"corner-mitre.d.ts","sourceRoot":"","sources":["../../src/gutter/corner-mitre.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAEnE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,MAAM,MAAM,YAAY,GAAG;IACzB;;;;;;;OAOG;IACH,IAAI,EAAE,MAAM,CAAA;IACZ,uEAAuE;IACvE,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,eAAO,MAAM,SAAS,EAAE,YAAoC,CAAA;AAQ5D,eAAO,MAAM,iBAAiB,QAAkC,CAAA;AAYhE,+EAA+E;AAC/E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,UAAU,CAAA;IAClB,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,CAAC,CAAA;CACxD,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG;IACrB,GAAG,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,2FAA2F;IAC3F,OAAO,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,gFAAgF;IAChF,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAClC,CAAA;AA6BD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,CAAC,EAAE,UAAU,EACb,OAAO,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,CAAC,GACtD;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,QAAQ,CAAA;CAAE,CA4BrC;AAUD,wBAAgB,UAAU,CACxB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EACpC,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GACnC,MAAM,CAIR;AA2CD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,UAAU,EACnB,cAAc,EAAE,IAAI,CAAC,eAAe,EAAE,UAAU,GAAG,UAAU,CAAC,EAC9D,QAAQ,EAAE,SAAS,iBAAiB,EAAE,GACrC,YAAY,CAqCd"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
export const NO_MITRES = { left: 0, right: 0 };
|
|
2
|
+
// Match the length-snap's 10 cm catch radius (`length-snap.ts`): any two
|
|
3
|
+
// endpoints close enough for the corner snap to bind are close enough to
|
|
4
|
+
// read as "they meant to meet". The corner snap pulls them to the exact
|
|
5
|
+
// eave intersection (≈ 0 cm), so this is mostly slack for eyeballed /
|
|
6
|
+
// move-tool corners that never went through the length handle.
|
|
7
|
+
const CORNER_EPSILON = 0.1;
|
|
8
|
+
export const CORNER_EPSILON_SQ = CORNER_EPSILON * CORNER_EPSILON;
|
|
9
|
+
// Mitres beyond this are unphysical (an acute outer corner past 30°
|
|
10
|
+
// interior angle isn't a building corner, it's a CSG artefact). Capping
|
|
11
|
+
// keeps a misplaced gutter from producing a runaway skew that swallows
|
|
12
|
+
// the rest of the trough.
|
|
13
|
+
const MAX_MITRE = (75 * Math.PI) / 180;
|
|
14
|
+
// Cross product below this magnitude counts as parallel length-axes — a
|
|
15
|
+
// straight collinear run, no corner. Matches `length-snap.ts`.
|
|
16
|
+
const AXIS_PARALLEL_EPSILON = 1e-3;
|
|
17
|
+
function gutterEndpoints(g) {
|
|
18
|
+
const [px, py, pz] = g.position;
|
|
19
|
+
const r = g.rotation ?? 0;
|
|
20
|
+
// Gutter-local +X (length axis) rotated by `r` around Y. THREE's
|
|
21
|
+
// rotation-y convention: local (1, 0, 0) → (cos r, 0, −sin r).
|
|
22
|
+
const dirX = Math.cos(r);
|
|
23
|
+
const dirZ = -Math.sin(r);
|
|
24
|
+
// Gutter-local +Z (outward) rotated by `r`: (0, 0, 1) → (sin r, 0, cos r).
|
|
25
|
+
const outX = Math.sin(r);
|
|
26
|
+
const outZ = Math.cos(r);
|
|
27
|
+
const half = g.length / 2;
|
|
28
|
+
return {
|
|
29
|
+
plus: {
|
|
30
|
+
pos: [px + dirX * half, py, pz + dirZ * half],
|
|
31
|
+
// From the +X endpoint, the rest of the gutter extends back
|
|
32
|
+
// toward the −X end — so "away from this end" is −dir.
|
|
33
|
+
awayDir: [-dirX, -dirZ],
|
|
34
|
+
outDir: [outX, outZ],
|
|
35
|
+
},
|
|
36
|
+
minus: {
|
|
37
|
+
pos: [px - dirX * half, py, pz - dirZ * half],
|
|
38
|
+
awayDir: [dirX, dirZ],
|
|
39
|
+
outDir: [outX, outZ],
|
|
40
|
+
},
|
|
41
|
+
};
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Gutter endpoints lifted from segment-local into the shared ROOF frame
|
|
45
|
+
* by applying the host segment's position + Y-rotation. Two gutters on
|
|
46
|
+
* different segments can then be compared in one frame. THREE's
|
|
47
|
+
* rotation-y convention: a point/dir (x, z) rotates to
|
|
48
|
+
* (x·cos + z·sin, −x·sin + z·cos).
|
|
49
|
+
*/
|
|
50
|
+
export function gutterEndpointsInFrame(g, segment) {
|
|
51
|
+
const local = gutterEndpoints(g);
|
|
52
|
+
const sx = segment.position?.[0] ?? 0;
|
|
53
|
+
const sz = segment.position?.[2] ?? 0;
|
|
54
|
+
const sr = segment.rotation ?? 0;
|
|
55
|
+
const c = Math.cos(sr);
|
|
56
|
+
const s = Math.sin(sr);
|
|
57
|
+
const liftPos = (p) => [
|
|
58
|
+
sx + (p[0] * c + p[2] * s),
|
|
59
|
+
p[1],
|
|
60
|
+
sz + (-p[0] * s + p[2] * c),
|
|
61
|
+
];
|
|
62
|
+
const liftDir = (d) => [
|
|
63
|
+
d[0] * c + d[1] * s,
|
|
64
|
+
-d[0] * s + d[1] * c,
|
|
65
|
+
];
|
|
66
|
+
return {
|
|
67
|
+
plus: {
|
|
68
|
+
pos: liftPos(local.plus.pos),
|
|
69
|
+
awayDir: liftDir(local.plus.awayDir),
|
|
70
|
+
outDir: liftDir(local.plus.outDir),
|
|
71
|
+
},
|
|
72
|
+
minus: {
|
|
73
|
+
pos: liftPos(local.minus.pos),
|
|
74
|
+
awayDir: liftDir(local.minus.awayDir),
|
|
75
|
+
outDir: liftDir(local.minus.outDir),
|
|
76
|
+
},
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
// Plan-space (X/Z) distance only — deliberately ignores Y. Gutters are
|
|
80
|
+
// pinned to the eave line so they're coplanar in eave-Y, AND the
|
|
81
|
+
// renderer draws them at the LIVE `computeEaveY(segment)`, not the
|
|
82
|
+
// stored `position[1]` (which goes stale if the segment's wallHeight /
|
|
83
|
+
// pitch changed after placement). Folding Y in would reject a real
|
|
84
|
+
// corner whenever two gutters' stored Ys drifted apart even though they
|
|
85
|
+
// visibly meet. The length-snap that feeds this also works purely in
|
|
86
|
+
// plan, so the match must too.
|
|
87
|
+
export function planDistSq(a, b) {
|
|
88
|
+
const dx = a[0] - b[0];
|
|
89
|
+
const dz = a[2] - b[2];
|
|
90
|
+
return dx * dx + dz * dz;
|
|
91
|
+
}
|
|
92
|
+
function mitreBetween(a, b) {
|
|
93
|
+
// Both `awayDir`s point from the corner toward the FAR end of their
|
|
94
|
+
// gutter. The interior angle of the joint is the angle between them.
|
|
95
|
+
// Mitre = half the supplementary angle (standard carpenter formula).
|
|
96
|
+
const dot = a.awayDir[0] * b.awayDir[0] + a.awayDir[1] * b.awayDir[1];
|
|
97
|
+
const clamped = Math.max(-1, Math.min(1, dot));
|
|
98
|
+
const interior = Math.acos(clamped);
|
|
99
|
+
const mitre = (Math.PI - interior) / 2;
|
|
100
|
+
// Aligned-or-nearly so → straight run, no mitre needed.
|
|
101
|
+
if (mitre < 1e-3)
|
|
102
|
+
return 0;
|
|
103
|
+
// Convex vs concave. `a.outDir` is THIS gutter's outward normal; `b`'s
|
|
104
|
+
// body runs from the corner along `b.awayDir`. On a CONVEX (outer)
|
|
105
|
+
// corner the neighbour's body sits on the INWARD side of our rim, so
|
|
106
|
+
// `b.awayDir · a.outDir < 0` (it heads away from our outward face) —
|
|
107
|
+
// the rim must EXTEND (positive). On a CONCAVE (inner) corner the
|
|
108
|
+
// neighbour's body sits on our OUTWARD side (`· > 0`) and the rim must
|
|
109
|
+
// RETRACT (negative) to the inner intersection.
|
|
110
|
+
const concave = b.awayDir[0] * a.outDir[0] + b.awayDir[1] * a.outDir[1] > 0;
|
|
111
|
+
const signed = concave ? -mitre : mitre;
|
|
112
|
+
return Math.max(-MAX_MITRE, Math.min(MAX_MITRE, signed));
|
|
113
|
+
}
|
|
114
|
+
// Intersection (in plan X/Z) of two infinite length-axis lines, each
|
|
115
|
+
// given as a point + run direction. Returns null when the runs are
|
|
116
|
+
// parallel (no single crossing — a straight collinear run, not a
|
|
117
|
+
// corner). Mirrors the `length-snap.ts` corner solve.
|
|
118
|
+
function axisIntersectionXZ(aPos, aDir, bPos, bDir) {
|
|
119
|
+
const cross = aDir[0] * bDir[1] - aDir[1] * bDir[0];
|
|
120
|
+
if (Math.abs(cross) < AXIS_PARALLEL_EPSILON)
|
|
121
|
+
return null;
|
|
122
|
+
const dx = bPos[0] - aPos[0];
|
|
123
|
+
const dz = bPos[2] - aPos[2];
|
|
124
|
+
const t = (dx * bDir[1] - dz * bDir[0]) / cross;
|
|
125
|
+
return [aPos[0] + t * aDir[0], 0, aPos[2] + t * aDir[1]];
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Compute mitres for `subject` against every other gutter under the
|
|
129
|
+
* same parent.
|
|
130
|
+
*
|
|
131
|
+
* A corner is the INTERSECTION of the two gutters' length-axis lines —
|
|
132
|
+
* not the proximity of their endpoints. This is what makes inner
|
|
133
|
+
* (concave) corners work: there the two eave drip-lines meet out in the
|
|
134
|
+
* notch, a full overhang away from where either gutter naturally ends,
|
|
135
|
+
* so an endpoint-to-endpoint test never fired. Keying off the axis
|
|
136
|
+
* crossing treats convex and concave identically. The length-snap pulls
|
|
137
|
+
* both ends out to that shared point, so by the time we mitre the
|
|
138
|
+
* subject's end AND the sibling's end both sit on the intersection — we
|
|
139
|
+
* require both to be within `CORNER_EPSILON` of it, which also rejects
|
|
140
|
+
* runs that merely cross in the middle (a T, not an L).
|
|
141
|
+
*
|
|
142
|
+
* First match per end wins; siblings order is the caller's, so the
|
|
143
|
+
* result is deterministic.
|
|
144
|
+
*/
|
|
145
|
+
export function computeGutterMitres(subject, subjectSegment, siblings) {
|
|
146
|
+
if (siblings.length === 0)
|
|
147
|
+
return NO_MITRES;
|
|
148
|
+
const subj = gutterEndpointsInFrame(subject, subjectSegment);
|
|
149
|
+
let leftMitre = 0;
|
|
150
|
+
let rightMitre = 0;
|
|
151
|
+
for (const sib of siblings) {
|
|
152
|
+
if (sib.gutter.id === subject.id)
|
|
153
|
+
continue;
|
|
154
|
+
const other = gutterEndpointsInFrame(sib.gutter, sib.segment);
|
|
155
|
+
// `minus.awayDir` runs from the −X end toward +X, i.e. along the
|
|
156
|
+
// length — so it's a valid direction for either gutter's axis line.
|
|
157
|
+
const corner = axisIntersectionXZ(subj.minus.pos, subj.minus.awayDir, other.minus.pos, other.minus.awayDir);
|
|
158
|
+
if (!corner)
|
|
159
|
+
continue;
|
|
160
|
+
// The sibling end that sits on the corner is the one we mitre against.
|
|
161
|
+
const otherPlusAtCorner = planDistSq(other.plus.pos, corner) <= CORNER_EPSILON_SQ;
|
|
162
|
+
const otherMinusAtCorner = planDistSq(other.minus.pos, corner) <= CORNER_EPSILON_SQ;
|
|
163
|
+
if (!otherPlusAtCorner && !otherMinusAtCorner)
|
|
164
|
+
continue;
|
|
165
|
+
const otherEnd = otherPlusAtCorner ? other.plus : other.minus;
|
|
166
|
+
if (leftMitre === 0 && planDistSq(subj.minus.pos, corner) <= CORNER_EPSILON_SQ) {
|
|
167
|
+
leftMitre = mitreBetween(subj.minus, otherEnd);
|
|
168
|
+
}
|
|
169
|
+
if (rightMitre === 0 && planDistSq(subj.plus.pos, corner) <= CORNER_EPSILON_SQ) {
|
|
170
|
+
rightMitre = mitreBetween(subj.plus, otherEnd);
|
|
171
|
+
}
|
|
172
|
+
if (leftMitre !== 0 && rightMitre !== 0)
|
|
173
|
+
break;
|
|
174
|
+
}
|
|
175
|
+
return { left: leftMitre, right: rightMitre };
|
|
176
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type NodeDefinition } from '@pascal-app/core';
|
|
2
|
+
import { GutterNode } from './schema';
|
|
3
|
+
/**
|
|
4
|
+
* Gutter — a rain-water channel running along the eave of a roof
|
|
5
|
+
* segment. Parented to a `roof-segment`; position is segment-local.
|
|
6
|
+
*
|
|
7
|
+
* Three-checkbox model — same shape as box-vent / ridge-vent: custom
|
|
8
|
+
* `def.renderer` for the parent-segment transform lookup + live
|
|
9
|
+
* override merge, pure geometry builder in `./geometry` shared with
|
|
10
|
+
* the placement preview, no per-frame system (no animation, no
|
|
11
|
+
* cross-kind cascades).
|
|
12
|
+
*
|
|
13
|
+
* Placement tool snaps to the eave line (segment-local
|
|
14
|
+
* `Z = +depth/2, Y = wallHeight`) wherever the cursor lands on a
|
|
15
|
+
* segment. After commit, the length L/R handles cover trimming and
|
|
16
|
+
* the inspector covers profile + size adjustments.
|
|
17
|
+
*/
|
|
18
|
+
export declare const gutterDefinition: NodeDefinition<typeof GutterNode>;
|
|
19
|
+
//# sourceMappingURL=definition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/gutter/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EACpB,MAAM,kBAAkB,CAAA;AAIzB,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AA8GrC;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,CAAC,OAAO,UAAU,CA2D9D,CAAA"}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
import { GutterNode as GutterNodeSchema, } from '@pascal-app/core';
|
|
2
|
+
import { buildGutterFloorplan } from './floorplan';
|
|
3
|
+
import { snapLengthToCorner } from './length-snap';
|
|
4
|
+
import { gutterParametrics } from './parametrics';
|
|
5
|
+
import { GutterNode } from './schema';
|
|
6
|
+
// Edge-to-arrow-center offset, matching the box-vent / ridge-vent
|
|
7
|
+
// cadence so a roof's worth of accessories all read at the same scale.
|
|
8
|
+
const SIDE_HANDLE_OFFSET = 0.2;
|
|
9
|
+
// Gutter chevrons sit BELOW the gutter (the trough hangs below the
|
|
10
|
+
// eave); the Y handle places its arrow under the cross-section apex.
|
|
11
|
+
const SIZE_HANDLE_OFFSET = 0.15;
|
|
12
|
+
// Minimums — well below the inspector defaults (2.0 m length, 0.13 m
|
|
13
|
+
// profile) so users can shrink freely without locking.
|
|
14
|
+
const MIN_LENGTH = 0.2;
|
|
15
|
+
const MIN_SIZE = 0.05;
|
|
16
|
+
// Centre of the gutter cross-section in vertical (Y) terms. The gutter
|
|
17
|
+
// hangs from the eave (Y=0 in vent-mesh-local) down to Y=-size; chevrons
|
|
18
|
+
// that want to read "beside the body" sit at -size/2.
|
|
19
|
+
function getBodyMidY(n) {
|
|
20
|
+
return -Math.max(MIN_SIZE, n.size) / 2;
|
|
21
|
+
}
|
|
22
|
+
// Outward Z midpoint — the gutter's back wall sits at Z=0 and the rim
|
|
23
|
+
// hangs out to Z≈+size (k-style) / +size (half-round / box). Side
|
|
24
|
+
// handles place at Z=0 so they sit ABOVE the eave's fascia line.
|
|
25
|
+
function getRimZ(n) {
|
|
26
|
+
return Math.max(MIN_SIZE, n.size) / 2;
|
|
27
|
+
}
|
|
28
|
+
// Length arrow on ±X (the eave direction). Asymmetric resize: drag one
|
|
29
|
+
// end outward while the opposite end stays world-fixed by recentering
|
|
30
|
+
// `position` along the gutter's own +X arm in segment frame. Same
|
|
31
|
+
// yaw-aware projection as the box-vent / ridge-vent / chimney width
|
|
32
|
+
// handles.
|
|
33
|
+
//
|
|
34
|
+
// Corner snap: when the dragged endpoint nears the geometric corner it
|
|
35
|
+
// would form with another gutter (the crossing of their length axes),
|
|
36
|
+
// `snapLengthToCorner` overrides the raw newLength so the endpoint lands
|
|
37
|
+
// EXACTLY on that corner — the corner-mitre detector then fires reliably
|
|
38
|
+
// without pixel-perfect dragging. Only this gutter's length changes.
|
|
39
|
+
function gutterLengthHandle(side) {
|
|
40
|
+
const sign = side === 'right' ? 1 : -1;
|
|
41
|
+
return {
|
|
42
|
+
kind: 'linear-resize',
|
|
43
|
+
axis: 'x',
|
|
44
|
+
anchor: side === 'right' ? 'min' : 'max',
|
|
45
|
+
min: MIN_LENGTH,
|
|
46
|
+
currentValue: (n) => n.length,
|
|
47
|
+
apply: (initial, newLength, sceneApi) => {
|
|
48
|
+
const rotY = initial.rotation ?? 0;
|
|
49
|
+
const armX = Math.cos(rotY);
|
|
50
|
+
const armZ = -Math.sin(rotY);
|
|
51
|
+
const anchorX = initial.position[0] - sign * (initial.length / 2) * armX;
|
|
52
|
+
const anchorZ = initial.position[2] - sign * (initial.length / 2) * armZ;
|
|
53
|
+
const snap = snapLengthToCorner(initial, newLength, sign, anchorX, anchorZ, armX, armZ, MIN_LENGTH, sceneApi);
|
|
54
|
+
// Only the dragged gutter's own length is snapped — `snapLengthToCorner`
|
|
55
|
+
// never moves the corner-mate, so dragging one gutter can't reset
|
|
56
|
+
// another the user placed deliberately.
|
|
57
|
+
const newCenterX = anchorX + sign * (snap.length / 2) * armX;
|
|
58
|
+
const newCenterZ = anchorZ + sign * (snap.length / 2) * armZ;
|
|
59
|
+
return {
|
|
60
|
+
length: snap.length,
|
|
61
|
+
position: [newCenterX, initial.position[1], newCenterZ],
|
|
62
|
+
};
|
|
63
|
+
},
|
|
64
|
+
placement: {
|
|
65
|
+
position: (n) => [sign * (n.length / 2 + SIDE_HANDLE_OFFSET), getBodyMidY(n), getRimZ(n)],
|
|
66
|
+
rotationY: () => (side === 'right' ? 0 : Math.PI),
|
|
67
|
+
},
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
// Profile-size arrow below the rim. axis='y', anchor='max' pins the
|
|
71
|
+
// top of the trough (Y=0, the eave line) and grows the bottom edge
|
|
72
|
+
// downward as the user drags toward -Y. Plain chevron — at typical
|
|
73
|
+
// sizes (5″–6″) a dashed tracker would clutter the eave line.
|
|
74
|
+
function gutterSizeHandle() {
|
|
75
|
+
return {
|
|
76
|
+
kind: 'linear-resize',
|
|
77
|
+
axis: 'y',
|
|
78
|
+
// 'max' = +Y edge anchored (top of the trough stays at Y=0); drag
|
|
79
|
+
// pulls the bottom edge further down. The base linear-resize
|
|
80
|
+
// factor for `max` is -1, which flips the cursor delta so dragging
|
|
81
|
+
// downward grows the value 1:1.
|
|
82
|
+
anchor: 'max',
|
|
83
|
+
min: MIN_SIZE,
|
|
84
|
+
currentValue: (n) => n.size,
|
|
85
|
+
apply: (_n, newValue) => ({ size: Math.max(MIN_SIZE, newValue) }),
|
|
86
|
+
placement: {
|
|
87
|
+
// Sit at the bottom of the trough, pushed a bit further down so
|
|
88
|
+
// the chevron clears the rim and reads as a downward indicator.
|
|
89
|
+
position: (n) => [0, -Math.max(n.size, MIN_SIZE) - SIZE_HANDLE_OFFSET, getRimZ(n)],
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
}
|
|
93
|
+
const gutterHandles = [
|
|
94
|
+
gutterLengthHandle('right'),
|
|
95
|
+
gutterLengthHandle('left'),
|
|
96
|
+
gutterSizeHandle(),
|
|
97
|
+
];
|
|
98
|
+
/**
|
|
99
|
+
* Gutter — a rain-water channel running along the eave of a roof
|
|
100
|
+
* segment. Parented to a `roof-segment`; position is segment-local.
|
|
101
|
+
*
|
|
102
|
+
* Three-checkbox model — same shape as box-vent / ridge-vent: custom
|
|
103
|
+
* `def.renderer` for the parent-segment transform lookup + live
|
|
104
|
+
* override merge, pure geometry builder in `./geometry` shared with
|
|
105
|
+
* the placement preview, no per-frame system (no animation, no
|
|
106
|
+
* cross-kind cascades).
|
|
107
|
+
*
|
|
108
|
+
* Placement tool snaps to the eave line (segment-local
|
|
109
|
+
* `Z = +depth/2, Y = wallHeight`) wherever the cursor lands on a
|
|
110
|
+
* segment. After commit, the length L/R handles cover trimming and
|
|
111
|
+
* the inspector covers profile + size adjustments.
|
|
112
|
+
*/
|
|
113
|
+
export const gutterDefinition = {
|
|
114
|
+
kind: 'gutter',
|
|
115
|
+
schemaVersion: 1,
|
|
116
|
+
schema: GutterNode,
|
|
117
|
+
category: 'structure',
|
|
118
|
+
surfaceRole: 'roof',
|
|
119
|
+
defaults: () => {
|
|
120
|
+
const stub = GutterNodeSchema.parse({
|
|
121
|
+
id: 'gutter_default',
|
|
122
|
+
type: 'gutter',
|
|
123
|
+
});
|
|
124
|
+
const { id: _id, type: _type, ...rest } = stub;
|
|
125
|
+
return rest;
|
|
126
|
+
},
|
|
127
|
+
capabilities: {
|
|
128
|
+
selectable: { hitVolume: 'bbox' },
|
|
129
|
+
duplicable: true,
|
|
130
|
+
deletable: true,
|
|
131
|
+
// Mounts on a roof segment via `roofSegmentId`. Sits ON TOP of the
|
|
132
|
+
// eave fascia — no `buildCut`, just the dirty cascade so the
|
|
133
|
+
// parent roof's merged shell rebuilds when the gutter moves /
|
|
134
|
+
// resizes.
|
|
135
|
+
roofAccessory: {},
|
|
136
|
+
},
|
|
137
|
+
parametrics: gutterParametrics,
|
|
138
|
+
handles: gutterHandles,
|
|
139
|
+
floorplan: buildGutterFloorplan,
|
|
140
|
+
floorplanDependsOnSiblings: true,
|
|
141
|
+
renderer: {
|
|
142
|
+
kind: 'parametric',
|
|
143
|
+
module: () => import('./renderer'),
|
|
144
|
+
},
|
|
145
|
+
preview: () => import('./preview'),
|
|
146
|
+
tool: () => import('./tool'),
|
|
147
|
+
affordanceTools: {
|
|
148
|
+
move: () => import('./move-tool'),
|
|
149
|
+
},
|
|
150
|
+
toolHints: [
|
|
151
|
+
{ key: 'Left click', label: 'Place gutter on roof eave' },
|
|
152
|
+
{ key: 'Esc', label: 'Cancel' },
|
|
153
|
+
],
|
|
154
|
+
presentation: {
|
|
155
|
+
label: 'Gutter',
|
|
156
|
+
description: 'Rain-water channel running along the eave of a roof segment.',
|
|
157
|
+
icon: { kind: 'url', src: '/icons/roof.webp' },
|
|
158
|
+
paletteSection: 'structure',
|
|
159
|
+
paletteOrder: 122,
|
|
160
|
+
},
|
|
161
|
+
mcp: {
|
|
162
|
+
description: 'A gutter strip running along the eave of a roof segment. Three profiles (k-style ogee fascia, half-round, square box), length / size / thickness parametric.',
|
|
163
|
+
},
|
|
164
|
+
};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Downspouts subsection at the bottom of the gutter inspector. Lists the
|
|
3
|
+
* downspouts attached to this gutter (one per outlet); "Add Downspout"
|
|
4
|
+
* drills a fresh outlet at a spread-out position and drops a downspout
|
|
5
|
+
* on it, and each row's ✕ removes both the downspout and its outlet.
|
|
6
|
+
*/
|
|
7
|
+
export default function DownspoutsPanel(): import("react").JSX.Element | null;
|
|
8
|
+
//# sourceMappingURL=downspouts-panel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"downspouts-panel.d.ts","sourceRoot":"","sources":["../../src/gutter/downspouts-panel.tsx"],"names":[],"mappings":"AAmDA;;;;;GAKG;AACH,MAAM,CAAC,OAAO,UAAU,eAAe,uCAuGtC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { DownspoutNode, generateId, useScene, } from '@pascal-app/core';
|
|
4
|
+
import { ActionButton, ActionGroup, PanelSection, triggerSFX } from '@pascal-app/editor';
|
|
5
|
+
import { useViewer } from '@pascal-app/viewer';
|
|
6
|
+
import { useShallow } from 'zustand/react/shallow';
|
|
7
|
+
import { computeEaveY } from './eave-snap';
|
|
8
|
+
import { resolveGutterOutletById } from './outlet-lookup';
|
|
9
|
+
const DEFAULT_OUTLET_DIAMETER = 0.07;
|
|
10
|
+
/**
|
|
11
|
+
* Pick an along-length offset for a new outlet that doesn't land on an
|
|
12
|
+
* existing one: the first goes near the right end, the rest drop into
|
|
13
|
+
* the midpoint of the widest gap (including the gaps to each end). So
|
|
14
|
+
* "Add Downspout" repeatedly spreads outlets along the run instead of
|
|
15
|
+
* stacking them.
|
|
16
|
+
*/
|
|
17
|
+
function nextOutletOffset(gutter) {
|
|
18
|
+
const len = Math.max(0.05, gutter.length);
|
|
19
|
+
const margin = 0.12;
|
|
20
|
+
const lo = -len / 2 + margin;
|
|
21
|
+
const hi = len / 2 - margin;
|
|
22
|
+
if (hi <= lo)
|
|
23
|
+
return 0;
|
|
24
|
+
const existing = (gutter.outlets ?? [])
|
|
25
|
+
.map((o) => Math.max(lo, Math.min(hi, o.offset ?? 0)))
|
|
26
|
+
.sort((a, b) => a - b);
|
|
27
|
+
if (existing.length === 0)
|
|
28
|
+
return hi;
|
|
29
|
+
const bounds = [lo, ...existing, hi];
|
|
30
|
+
let bestMid = (lo + hi) / 2;
|
|
31
|
+
let bestGap = -1;
|
|
32
|
+
for (let i = 0; i < bounds.length - 1; i++) {
|
|
33
|
+
const gap = bounds[i + 1] - bounds[i];
|
|
34
|
+
if (gap > bestGap) {
|
|
35
|
+
bestGap = gap;
|
|
36
|
+
bestMid = (bounds[i] + bounds[i + 1]) / 2;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return bestMid;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Downspouts subsection at the bottom of the gutter inspector. Lists the
|
|
43
|
+
* downspouts attached to this gutter (one per outlet); "Add Downspout"
|
|
44
|
+
* drills a fresh outlet at a spread-out position and drops a downspout
|
|
45
|
+
* on it, and each row's ✕ removes both the downspout and its outlet.
|
|
46
|
+
*/
|
|
47
|
+
export default function DownspoutsPanel() {
|
|
48
|
+
const selectedId = useViewer((s) => s.selection.selectedIds[0]);
|
|
49
|
+
const setSelection = useViewer((s) => s.setSelection);
|
|
50
|
+
const gutter = useScene((s) => selectedId ? s.nodes[selectedId] : undefined);
|
|
51
|
+
const downspouts = useScene(useShallow((s) => {
|
|
52
|
+
if (!selectedId)
|
|
53
|
+
return [];
|
|
54
|
+
const out = [];
|
|
55
|
+
for (const n of Object.values(s.nodes)) {
|
|
56
|
+
if (n?.type === 'downspout' && n.gutterId === selectedId) {
|
|
57
|
+
out.push(n);
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return out;
|
|
61
|
+
}));
|
|
62
|
+
if (gutter?.type !== 'gutter')
|
|
63
|
+
return null;
|
|
64
|
+
const handleSelectDownspout = (id) => {
|
|
65
|
+
setSelection({ selectedIds: [id] });
|
|
66
|
+
};
|
|
67
|
+
const handleAddDownspout = () => {
|
|
68
|
+
const segmentId = gutter.roofSegmentId;
|
|
69
|
+
if (!segmentId)
|
|
70
|
+
return;
|
|
71
|
+
const segment = useScene.getState().nodes[segmentId];
|
|
72
|
+
if (!segment)
|
|
73
|
+
return;
|
|
74
|
+
const outletId = generateId('outlet');
|
|
75
|
+
const outlets = [
|
|
76
|
+
...(gutter.outlets ?? []),
|
|
77
|
+
{ id: outletId, offset: nextOutletOffset(gutter), diameter: DEFAULT_OUTLET_DIAMETER },
|
|
78
|
+
];
|
|
79
|
+
const state = useScene.getState();
|
|
80
|
+
state.updateNode(gutter.id, { outlets });
|
|
81
|
+
state.dirtyNodes.add(gutter.id);
|
|
82
|
+
const outlet = resolveGutterOutletById({ ...gutter, outlets }, outletId);
|
|
83
|
+
const dropLength = Math.max(0.1, computeEaveY(segment) + (outlet?.y ?? -gutter.size));
|
|
84
|
+
const downspout = DownspoutNode.parse({
|
|
85
|
+
name: 'Downspout',
|
|
86
|
+
gutterId: gutter.id,
|
|
87
|
+
outletId,
|
|
88
|
+
length: dropLength,
|
|
89
|
+
diameter: (outlet?.bore ?? DEFAULT_OUTLET_DIAMETER / 2) * 2,
|
|
90
|
+
});
|
|
91
|
+
state.createNode(downspout, segmentId);
|
|
92
|
+
state.dirtyNodes.add(segmentId);
|
|
93
|
+
setSelection({ selectedIds: [downspout.id] });
|
|
94
|
+
triggerSFX('sfx:item-place');
|
|
95
|
+
};
|
|
96
|
+
const handleRemove = (downspout) => {
|
|
97
|
+
const state = useScene.getState();
|
|
98
|
+
// Drop the outlet this downspout drained so its hole closes up.
|
|
99
|
+
if (downspout.outletId) {
|
|
100
|
+
state.updateNode(gutter.id, {
|
|
101
|
+
outlets: (gutter.outlets ?? []).filter((o) => o.id !== downspout.outletId),
|
|
102
|
+
});
|
|
103
|
+
state.dirtyNodes.add(gutter.id);
|
|
104
|
+
}
|
|
105
|
+
state.deleteNode(downspout.id);
|
|
106
|
+
if (gutter.roofSegmentId)
|
|
107
|
+
state.dirtyNodes.add(gutter.roofSegmentId);
|
|
108
|
+
setSelection({ selectedIds: [gutter.id] });
|
|
109
|
+
};
|
|
110
|
+
return (_jsx(PanelSection, { title: "Downspouts", children: _jsxs("div", { className: "flex flex-col gap-1", children: [downspouts.map((d, i) => (_jsxs("div", { className: "flex items-center justify-between rounded-lg border border-border/50 bg-[#2C2C2E] px-3 py-2 text-foreground text-sm", children: [_jsx("button", { className: "flex-1 truncate text-left transition-colors hover:text-white", onClick: () => handleSelectDownspout(d.id), type: "button", children: d.name || `Downspout ${i + 1}` }), _jsx("button", { "aria-label": "Remove downspout", className: "ml-2 text-muted-foreground text-xs transition-colors hover:text-red-400", onClick: () => handleRemove(d), type: "button", children: "\u2715" })] }, d.id))), _jsx(ActionGroup, { children: _jsx(ActionButton, { label: "Add Downspout", onClick: handleAddDownspout }) })] }) }));
|
|
111
|
+
}
|