@pascal-app/nodes 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/dist/agent-operations/index.d.ts +12 -0
- package/dist/agent-operations/index.d.ts.map +1 -0
- package/dist/agent-operations/index.js +6 -0
- package/dist/agent-tools/index.d.ts +50 -0
- package/dist/agent-tools/index.d.ts.map +1 -0
- package/dist/agent-tools/index.js +21 -0
- package/dist/block/commands.d.ts +2 -2
- package/dist/block/contextual-help.js +1 -1
- package/dist/block/definition.d.ts +1 -1
- package/dist/block/definition.js +13 -13
- package/dist/block/edit-session.d.ts +2 -2
- package/dist/block/edit-session.d.ts.map +1 -1
- package/dist/block/edit-session.js +1 -1
- package/dist/block/face-host.js +1 -1
- package/dist/block/geometry-snap.d.ts +2 -2
- package/dist/block/geometry-snap.js +2 -2
- package/dist/block/gesture-wheel.d.ts.map +1 -1
- package/dist/block/hosted-edit.d.ts +1 -1
- package/dist/block/hosted-edit.js +3 -3
- package/dist/block/interaction-sfx.d.ts +1 -1
- package/dist/block/last-operation.d.ts +1 -1
- package/dist/block/last-operation.js +2 -2
- package/dist/block/modal-face-operation.d.ts +2 -2
- package/dist/block/modal-face-operation.js +1 -1
- package/dist/block/paint.js +2 -2
- package/dist/block/panel.js +8 -8
- package/dist/block/parametrics.d.ts +1 -1
- package/dist/block/parametrics.js +1 -1
- package/dist/block/preview.js +1 -1
- package/dist/block/selection-geometry.d.ts +1 -1
- package/dist/block/selection-geometry.js +1 -1
- package/dist/block/selection.d.ts.map +1 -1
- package/dist/block/selection.js +19 -19
- package/dist/block/tool.d.ts.map +1 -1
- package/dist/block/tool.js +3 -3
- package/dist/block/use-block-face-operation.d.ts +4 -4
- package/dist/block/use-block-face-operation.js +6 -6
- package/dist/box-vent/definition.d.ts +1 -1
- package/dist/box-vent/definition.d.ts.map +1 -1
- package/dist/box-vent/definition.js +9 -8
- package/dist/box-vent/geometry.d.ts.map +1 -1
- package/dist/box-vent/geometry.js +2 -2
- package/dist/box-vent/index.d.ts +3 -3
- package/dist/box-vent/index.js +3 -3
- package/dist/box-vent/move-tool.js +4 -4
- package/dist/box-vent/paint.js +2 -2
- package/dist/box-vent/panel.js +2 -2
- package/dist/box-vent/parametrics.d.ts +1 -1
- package/dist/box-vent/parametrics.js +1 -1
- package/dist/box-vent/preview.d.ts +1 -1
- package/dist/box-vent/preview.d.ts.map +1 -1
- package/dist/box-vent/preview.js +2 -2
- package/dist/box-vent/renderer.d.ts.map +1 -1
- package/dist/box-vent/renderer.js +3 -3
- package/dist/box-vent/tool.d.ts.map +1 -1
- package/dist/box-vent/tool.js +7 -7
- package/dist/building/definition.d.ts +1 -1
- package/dist/building/definition.d.ts.map +1 -1
- package/dist/building/definition.js +5 -4
- package/dist/building/index.d.ts +1 -1
- package/dist/building/index.js +1 -1
- package/dist/building/move-tool.d.ts.map +1 -1
- package/dist/building/move-tool.js +2 -3
- package/dist/building/renderer.d.ts.map +1 -1
- package/dist/cabinet/__bench__/geometry.d.ts +2 -0
- package/dist/cabinet/__bench__/geometry.d.ts.map +1 -0
- package/dist/cabinet/__bench__/geometry.js +21 -0
- package/dist/cabinet/appliance-layout.d.ts +1 -1
- package/dist/cabinet/appliance-layout.d.ts.map +1 -1
- package/dist/cabinet/compartment-card.d.ts +1 -1
- package/dist/cabinet/compartment-card.js +12 -12
- package/dist/cabinet/continuous-placement.d.ts +1 -1
- package/dist/cabinet/continuous-placement.js +2 -2
- package/dist/cabinet/countertop-layout.d.ts +65 -65
- package/dist/cabinet/countertop-layout.js +3 -3
- package/dist/cabinet/definition.d.ts +1 -1
- package/dist/cabinet/definition.d.ts.map +1 -1
- package/dist/cabinet/definition.js +33 -28
- package/dist/cabinet/essential-controls.d.ts +7 -0
- package/dist/cabinet/essential-controls.d.ts.map +1 -0
- package/dist/cabinet/essential-controls.js +47 -0
- package/dist/cabinet/finish-operation.d.ts +9 -0
- package/dist/cabinet/finish-operation.d.ts.map +1 -0
- package/dist/cabinet/finish-operation.js +86 -0
- package/dist/cabinet/floorplan-move.js +3 -3
- package/dist/cabinet/floorplan.js +5 -5
- package/dist/cabinet/geometry/cooktop.d.ts +2 -2
- package/dist/cabinet/geometry/cooktop.d.ts.map +1 -1
- package/dist/cabinet/geometry/cooktop.js +55 -18
- package/dist/cabinet/geometry/dishwasher.d.ts +1 -1
- package/dist/cabinet/geometry/dishwasher.d.ts.map +1 -1
- package/dist/cabinet/geometry/dishwasher.js +5 -6
- package/dist/cabinet/geometry/fridge.d.ts +2 -2
- package/dist/cabinet/geometry/fridge.d.ts.map +1 -1
- package/dist/cabinet/geometry/fridge.js +49 -8
- package/dist/cabinet/geometry/fronts.d.ts +1 -1
- package/dist/cabinet/geometry/fronts.d.ts.map +1 -1
- package/dist/cabinet/geometry/fronts.js +22 -8
- package/dist/cabinet/geometry/hood.d.ts +2 -2
- package/dist/cabinet/geometry/hood.d.ts.map +1 -1
- package/dist/cabinet/geometry/hood.js +15 -3
- package/dist/cabinet/geometry/oven-microwave.d.ts +1 -1
- package/dist/cabinet/geometry/oven-microwave.d.ts.map +1 -1
- package/dist/cabinet/geometry/oven-microwave.js +46 -21
- package/dist/cabinet/geometry/pantry.d.ts +2 -2
- package/dist/cabinet/geometry/pantry.d.ts.map +1 -1
- package/dist/cabinet/geometry/pantry.js +11 -9
- package/dist/cabinet/geometry/run.d.ts.map +1 -1
- package/dist/cabinet/geometry/run.js +18 -8
- package/dist/cabinet/geometry/shared.d.ts +4 -2
- package/dist/cabinet/geometry/shared.d.ts.map +1 -1
- package/dist/cabinet/geometry/shared.js +77 -17
- package/dist/cabinet/geometry/sink.d.ts +2 -2
- package/dist/cabinet/geometry/sink.d.ts.map +1 -1
- package/dist/cabinet/geometry/sink.js +30 -12
- package/dist/cabinet/geometry.d.ts +1 -1
- package/dist/cabinet/geometry.d.ts.map +1 -1
- package/dist/cabinet/geometry.js +15 -11
- package/dist/cabinet/hosted-resize.d.ts +2 -2
- package/dist/cabinet/hosted-resize.d.ts.map +1 -1
- package/dist/cabinet/hosted-resize.js +3 -1
- package/dist/cabinet/index.d.ts +9 -5
- package/dist/cabinet/index.d.ts.map +1 -1
- package/dist/cabinet/index.js +9 -5
- package/dist/cabinet/insertion.d.ts.map +1 -1
- package/dist/cabinet/insertion.js +3 -1
- package/dist/cabinet/interaction.js +1 -1
- package/dist/cabinet/kitchen-catalog.d.ts +14 -0
- package/dist/cabinet/kitchen-catalog.d.ts.map +1 -0
- package/dist/cabinet/kitchen-catalog.js +62 -0
- package/dist/cabinet/kitchen-collection.d.ts +11 -0
- package/dist/cabinet/kitchen-collection.d.ts.map +1 -0
- package/dist/cabinet/kitchen-collection.js +19 -0
- package/dist/cabinet/kitchen-module-actions.d.ts +8 -0
- package/dist/cabinet/kitchen-module-actions.d.ts.map +1 -0
- package/dist/cabinet/kitchen-module-actions.js +117 -0
- package/dist/cabinet/kitchen-placement.d.ts +3 -0
- package/dist/cabinet/kitchen-placement.d.ts.map +1 -0
- package/dist/cabinet/kitchen-placement.js +16 -0
- package/dist/cabinet/move-frame.js +4 -4
- package/dist/cabinet/neighbor-placement.d.ts +335 -0
- package/dist/cabinet/neighbor-placement.d.ts.map +1 -0
- package/dist/cabinet/neighbor-placement.js +48 -0
- package/dist/cabinet/opening-clearance.d.ts +22 -0
- package/dist/cabinet/opening-clearance.d.ts.map +1 -0
- package/dist/cabinet/opening-clearance.js +158 -0
- package/dist/cabinet/paint.js +1 -1
- package/dist/cabinet/panel-visibility.js +2 -2
- package/dist/cabinet/panel.d.ts.map +1 -1
- package/dist/cabinet/panel.js +86 -77
- package/dist/cabinet/parametrics.js +3 -3
- package/dist/cabinet/placement-dimensions.js +2 -2
- package/dist/cabinet/placement-notice.d.ts +6 -0
- package/dist/cabinet/placement-notice.d.ts.map +1 -0
- package/dist/cabinet/placement-notice.js +34 -0
- package/dist/cabinet/placement-status.d.ts +2 -0
- package/dist/cabinet/placement-status.d.ts.map +1 -1
- package/dist/cabinet/placement-status.js +3 -1
- package/dist/cabinet/placement-type.d.ts.map +1 -1
- package/dist/cabinet/preset-width-debt.js +2 -2
- package/dist/cabinet/presets.d.ts +3 -1
- package/dist/cabinet/presets.d.ts.map +1 -1
- package/dist/cabinet/presets.js +27 -8
- package/dist/cabinet/quick-action-icons.js +1 -1
- package/dist/cabinet/quick-actions.js +7 -7
- package/dist/cabinet/resize-limits.d.ts.map +1 -1
- package/dist/cabinet/reveals.d.ts +16 -16
- package/dist/cabinet/reveals.d.ts.map +1 -1
- package/dist/cabinet/run-finishing.d.ts +168 -0
- package/dist/cabinet/run-finishing.d.ts.map +1 -0
- package/dist/cabinet/run-finishing.js +100 -0
- package/dist/cabinet/run-layout.d.ts.map +1 -1
- package/dist/cabinet/run-layout.js +20 -3
- package/dist/cabinet/run-ops.d.ts +62 -62
- package/dist/cabinet/run-ops.js +6 -6
- package/dist/cabinet/run-panel.d.ts +11 -0
- package/dist/cabinet/run-panel.d.ts.map +1 -1
- package/dist/cabinet/run-panel.js +43 -17
- package/dist/cabinet/scene-action.js +1 -1
- package/dist/cabinet/stack-transitions.d.ts +1 -1
- package/dist/cabinet/stack-transitions.js +2 -2
- package/dist/cabinet/stack.d.ts +60 -60
- package/dist/cabinet/stack.d.ts.map +1 -1
- package/dist/cabinet/stack.js +1 -1
- package/dist/cabinet/surfaces.js +3 -3
- package/dist/cabinet/system.d.ts.map +1 -1
- package/dist/cabinet/system.js +4 -4
- package/dist/cabinet/tool.d.ts +1 -2
- package/dist/cabinet/tool.d.ts.map +1 -1
- package/dist/cabinet/tool.js +212 -87
- package/dist/cabinet/validation.js +3 -3
- package/dist/cabinet/wall-snap.d.ts +1 -1
- package/dist/cabinet/wall-snap.js +2 -2
- package/dist/ceiling/boundary-editor.d.ts.map +1 -1
- package/dist/ceiling/definition.d.ts +1 -1
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.js +18 -16
- package/dist/ceiling/floorplan-affordances.d.ts +80 -80
- package/dist/ceiling/floorplan-affordances.js +1 -1
- package/dist/ceiling/floorplan-move.js +1 -1
- package/dist/ceiling/hole-editor.d.ts.map +1 -1
- package/dist/ceiling/index.d.ts +2 -2
- package/dist/ceiling/index.js +2 -2
- package/dist/ceiling/materials.d.ts +7 -3
- package/dist/ceiling/materials.d.ts.map +1 -1
- package/dist/ceiling/materials.js +45 -18
- package/dist/ceiling/move-tool.d.ts.map +1 -1
- package/dist/ceiling/paint.d.ts.map +1 -1
- package/dist/ceiling/paint.js +12 -21
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +5 -5
- package/dist/ceiling/parametrics.d.ts +1 -1
- package/dist/ceiling/parametrics.js +1 -1
- package/dist/ceiling/renderer.d.ts.map +1 -1
- package/dist/ceiling/renderer.js +26 -27
- package/dist/ceiling/system.d.ts.map +1 -1
- package/dist/ceiling/tool.d.ts.map +1 -1
- package/dist/ceiling/tool.js +1 -1
- package/dist/chimney/definition.d.ts +1 -1
- package/dist/chimney/definition.d.ts.map +1 -1
- package/dist/chimney/definition.js +9 -8
- package/dist/chimney/floorplan.js +1 -1
- package/dist/chimney/holes.js +1 -1
- package/dist/chimney/index.d.ts +3 -3
- package/dist/chimney/index.js +3 -3
- package/dist/chimney/move-tool.d.ts.map +1 -1
- package/dist/chimney/move-tool.js +3 -3
- package/dist/chimney/paint.js +1 -1
- package/dist/chimney/panel.js +4 -4
- package/dist/chimney/parametrics.d.ts +1 -1
- package/dist/chimney/parametrics.js +1 -1
- package/dist/chimney/presets.d.ts +1 -1
- package/dist/chimney/preview.d.ts.map +1 -1
- package/dist/chimney/preview.js +2 -2
- package/dist/chimney/renderer.d.ts.map +1 -1
- package/dist/chimney/renderer.js +4 -4
- package/dist/chimney/roof-trim.js +2 -2
- package/dist/chimney/tool.d.ts.map +1 -1
- package/dist/chimney/tool.js +6 -6
- package/dist/column/definition.d.ts +1 -1
- package/dist/column/definition.d.ts.map +1 -1
- package/dist/column/definition.js +17 -15
- package/dist/column/floorplan-affordances.js +3 -3
- package/dist/column/floorplan-move.js +2 -2
- package/dist/column/floorplan.js +1 -1
- package/dist/column/hosted-resize.d.ts +119 -113
- package/dist/column/hosted-resize.d.ts.map +1 -1
- package/dist/column/hosted-resize.js +1 -1
- package/dist/column/index.d.ts +1 -1
- package/dist/column/index.js +1 -1
- package/dist/column/paint.js +1 -1
- package/dist/column/panel.d.ts.map +1 -1
- package/dist/column/panel.js +9 -7
- package/dist/column/parametrics.d.ts +1 -1
- package/dist/column/parametrics.js +2 -2
- package/dist/column/renderer.d.ts.map +1 -1
- package/dist/column/renderer.js +3 -3
- package/dist/column/surface.js +1 -1
- package/dist/column/tool.d.ts.map +1 -1
- package/dist/column/tool.js +3 -3
- package/dist/construction-dimension/definition.d.ts +1 -1
- package/dist/construction-dimension/definition.js +6 -6
- package/dist/construction-dimension/floorplan-affordances.js +1 -1
- package/dist/construction-dimension/floorplan-tool.d.ts.map +1 -1
- package/dist/construction-dimension/floorplan-tool.js +1 -1
- package/dist/construction-dimension/floorplan.js +4 -4
- package/dist/construction-dimension/index.d.ts +3 -3
- package/dist/construction-dimension/index.js +3 -3
- package/dist/construction-dimension/panel.js +1 -1
- package/dist/construction-dimension/parametrics.js +1 -1
- package/dist/cupola/definition.d.ts +1 -1
- package/dist/cupola/definition.d.ts.map +1 -1
- package/dist/cupola/definition.js +9 -8
- package/dist/cupola/geometry.d.ts.map +1 -1
- package/dist/cupola/geometry.js +1 -1
- package/dist/cupola/index.d.ts +3 -3
- package/dist/cupola/index.js +3 -3
- package/dist/cupola/move-tool.js +4 -4
- package/dist/cupola/paint.js +2 -2
- package/dist/cupola/panel.js +1 -1
- package/dist/cupola/parametrics.d.ts +1 -1
- package/dist/cupola/parametrics.js +1 -1
- package/dist/cupola/preview.d.ts +1 -1
- package/dist/cupola/preview.d.ts.map +1 -1
- package/dist/cupola/preview.js +2 -2
- package/dist/cupola/renderer.d.ts.map +1 -1
- package/dist/cupola/renderer.js +3 -3
- package/dist/cupola/tool.d.ts.map +1 -1
- package/dist/cupola/tool.js +7 -7
- package/dist/door/contextual-dimensions.js +1 -1
- package/dist/door/definition.d.ts +1 -1
- package/dist/door/definition.d.ts.map +1 -1
- package/dist/door/definition.js +30 -26
- package/dist/door/door-math.d.ts +1 -1
- package/dist/door/door-math.js +1 -1
- package/dist/door/floorplan-affordances.js +2 -2
- package/dist/door/floorplan-move.js +5 -5
- package/dist/door/floorplan.js +3 -3
- package/dist/door/index.d.ts +2 -2
- package/dist/door/index.js +2 -2
- package/dist/door/mechanism.js +1 -1
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +11 -11
- package/dist/door/paint.js +1 -1
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +12 -12
- package/dist/door/parametrics.d.ts +1 -1
- package/dist/door/parametrics.js +1 -1
- package/dist/door/preview.d.ts +1 -1
- package/dist/door/preview.d.ts.map +1 -1
- package/dist/door/preview.js +1 -1
- package/dist/door/renderer.d.ts.map +1 -1
- package/dist/door/renderer.js +2 -2
- package/dist/door/system.d.ts.map +1 -1
- package/dist/door/system.js +1 -1
- package/dist/door/tool.d.ts.map +1 -1
- package/dist/door/tool.js +8 -8
- package/dist/dormer/csg-geometry.js +1 -1
- package/dist/dormer/definition.d.ts +1 -1
- package/dist/dormer/definition.d.ts.map +1 -1
- package/dist/dormer/definition.js +10 -9
- package/dist/dormer/index.d.ts +4 -4
- package/dist/dormer/index.js +3 -3
- package/dist/dormer/move-tool.d.ts.map +1 -1
- package/dist/dormer/move-tool.js +3 -3
- package/dist/dormer/paint.js +1 -1
- package/dist/dormer/panel-actions-section.js +1 -1
- package/dist/dormer/panel-windows-section.js +1 -1
- package/dist/dormer/panel.js +8 -8
- package/dist/dormer/parametrics.d.ts +1 -1
- package/dist/dormer/parametrics.js +1 -1
- package/dist/dormer/placement-guides.js +3 -3
- package/dist/dormer/preview.d.ts +1 -1
- package/dist/dormer/preview.d.ts.map +1 -1
- package/dist/dormer/preview.js +2 -2
- package/dist/dormer/renderer.d.ts +1 -1
- package/dist/dormer/renderer.d.ts.map +1 -1
- package/dist/dormer/renderer.js +2 -2
- package/dist/dormer/tool.d.ts.map +1 -1
- package/dist/dormer/tool.js +6 -6
- package/dist/dormer/use-dormer-placement.js +3 -3
- package/dist/downspout/definition.d.ts +1 -1
- package/dist/downspout/definition.d.ts.map +1 -1
- package/dist/downspout/definition.js +9 -8
- package/dist/downspout/geometry.d.ts +1 -1
- package/dist/downspout/geometry.js +2 -2
- package/dist/downspout/index.d.ts +3 -3
- package/dist/downspout/index.js +3 -3
- package/dist/downspout/parametrics.d.ts +1 -1
- package/dist/downspout/parametrics.js +1 -1
- package/dist/downspout/preview.d.ts +2 -2
- package/dist/downspout/preview.d.ts.map +1 -1
- package/dist/downspout/preview.js +3 -3
- package/dist/downspout/renderer.d.ts.map +1 -1
- package/dist/downspout/renderer.js +5 -5
- package/dist/downspout/routing.d.ts +2 -2
- package/dist/downspout/routing.d.ts.map +1 -1
- package/dist/downspout/routing.js +5 -4
- package/dist/downspout/system.d.ts.map +1 -1
- package/dist/downspout/tool.d.ts.map +1 -1
- package/dist/downspout/tool.js +7 -7
- package/dist/duct-fitting/accessory-geometry.js +1 -1
- package/dist/duct-fitting/definition.d.ts +1 -1
- package/dist/duct-fitting/definition.js +11 -11
- package/dist/duct-fitting/floorplan.d.ts +1 -1
- package/dist/duct-fitting/floorplan.js +5 -5
- package/dist/duct-fitting/geometry.d.ts +1 -1
- package/dist/duct-fitting/geometry.js +3 -3
- package/dist/duct-fitting/index.d.ts +4 -4
- package/dist/duct-fitting/index.js +4 -4
- package/dist/duct-fitting/inspector-editors.d.ts +1 -1
- package/dist/duct-fitting/move-tool.d.ts.map +1 -1
- package/dist/duct-fitting/move-tool.js +4 -4
- package/dist/duct-fitting/parametrics.d.ts +1 -1
- package/dist/duct-fitting/parametrics.js +3 -3
- package/dist/duct-fitting/ports.d.ts +1 -1
- package/dist/duct-fitting/selection.d.ts.map +1 -1
- package/dist/duct-fitting/selection.js +8 -9
- package/dist/duct-fitting/tool.d.ts +1 -1
- package/dist/duct-fitting/tool.d.ts.map +1 -1
- package/dist/duct-fitting/tool.js +14 -15
- package/dist/duct-segment/continuation.d.ts +3 -3
- package/dist/duct-segment/continuation.d.ts.map +1 -1
- package/dist/duct-segment/continuation.js +2 -2
- package/dist/duct-segment/definition.d.ts +1 -1
- package/dist/duct-segment/definition.js +13 -13
- package/dist/duct-segment/floorplan.d.ts +1 -1
- package/dist/duct-segment/floorplan.js +3 -3
- package/dist/duct-segment/geometry.d.ts +1 -1
- package/dist/duct-segment/geometry.js +1 -1
- package/dist/duct-segment/index.d.ts +3 -3
- package/dist/duct-segment/index.js +3 -3
- package/dist/duct-segment/move-tool.d.ts.map +1 -1
- package/dist/duct-segment/move-tool.js +8 -7
- package/dist/duct-segment/parametrics.d.ts +1 -1
- package/dist/duct-segment/parametrics.js +5 -5
- package/dist/duct-segment/selection.d.ts.map +1 -1
- package/dist/duct-segment/selection.js +13 -12
- package/dist/duct-segment/tool.d.ts +1 -2
- package/dist/duct-segment/tool.d.ts.map +1 -1
- package/dist/duct-segment/tool.js +22 -18
- package/dist/duct-terminal/definition.d.ts +1 -1
- package/dist/duct-terminal/definition.js +6 -6
- package/dist/duct-terminal/floorplan.d.ts +1 -1
- package/dist/duct-terminal/floorplan.js +1 -1
- package/dist/duct-terminal/geometry.d.ts +1 -1
- package/dist/duct-terminal/geometry.js +2 -2
- package/dist/duct-terminal/index.d.ts +4 -4
- package/dist/duct-terminal/index.js +4 -4
- package/dist/duct-terminal/parametrics.d.ts +1 -1
- package/dist/duct-terminal/ports.d.ts +1 -1
- package/dist/duct-terminal/ports.js +1 -1
- package/dist/duct-terminal/tool.d.ts.map +1 -1
- package/dist/duct-terminal/tool.js +11 -12
- package/dist/elevator/definition.d.ts +1 -1
- package/dist/elevator/definition.js +7 -7
- package/dist/elevator/floorplan-affordances.js +1 -1
- package/dist/elevator/index.d.ts +1 -1
- package/dist/elevator/index.js +1 -1
- package/dist/elevator/paint.js +1 -1
- package/dist/elevator/panel.js +9 -9
- package/dist/elevator/parametrics.js +1 -1
- package/dist/elevator/renderer.d.ts.map +1 -1
- package/dist/elevator/renderer.js +1 -1
- package/dist/elevator/system.js +1 -1
- package/dist/eyebrow-vent/definition.d.ts +1 -1
- package/dist/eyebrow-vent/definition.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.js +9 -8
- package/dist/eyebrow-vent/geometry.d.ts.map +1 -1
- package/dist/eyebrow-vent/geometry.js +1 -1
- package/dist/eyebrow-vent/index.d.ts +3 -3
- package/dist/eyebrow-vent/index.js +3 -3
- package/dist/eyebrow-vent/move-tool.js +4 -4
- package/dist/eyebrow-vent/paint.js +3 -3
- package/dist/eyebrow-vent/panel.js +1 -1
- package/dist/eyebrow-vent/parametrics.d.ts +1 -1
- package/dist/eyebrow-vent/parametrics.js +1 -1
- package/dist/eyebrow-vent/preview.d.ts +1 -1
- package/dist/eyebrow-vent/preview.d.ts.map +1 -1
- package/dist/eyebrow-vent/preview.js +2 -2
- package/dist/eyebrow-vent/renderer.d.ts.map +1 -1
- package/dist/eyebrow-vent/renderer.js +3 -3
- package/dist/eyebrow-vent/tool.d.ts.map +1 -1
- package/dist/eyebrow-vent/tool.js +7 -7
- package/dist/fence/actions/move-endpoint.d.ts +1 -1
- package/dist/fence/actions/move-endpoint.js +1 -1
- package/dist/fence/curve-tool.d.ts.map +1 -1
- package/dist/fence/definition.d.ts +1 -1
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.js +32 -17
- package/dist/fence/drafting.d.ts +7 -1
- package/dist/fence/drafting.d.ts.map +1 -1
- package/dist/fence/drafting.js +63 -4
- package/dist/fence/feature-tool.js +1 -1
- package/dist/fence/floorplan-affordances.js +1 -1
- package/dist/fence/floorplan.js +1 -1
- package/dist/fence/geometry.d.ts.map +1 -1
- package/dist/fence/geometry.js +3 -3
- package/dist/fence/index.d.ts +3 -3
- package/dist/fence/index.js +3 -3
- package/dist/fence/inspector-editors.js +1 -1
- package/dist/fence/lift.d.ts +3 -3
- package/dist/fence/lift.d.ts.map +1 -1
- package/dist/fence/lift.js +12 -3
- package/dist/fence/move-control-point-tool.d.ts.map +1 -1
- package/dist/fence/move-endpoint-tool.d.ts.map +1 -1
- package/dist/fence/move-endpoint-tool.js +4 -4
- package/dist/fence/move-tangent-tool.d.ts.map +1 -1
- package/dist/fence/move-tool.d.ts.map +1 -1
- package/dist/fence/move-tool.js +1 -1
- package/dist/fence/paint.js +1 -1
- package/dist/fence/panel-model.js +1 -1
- package/dist/fence/parametrics.d.ts +1 -1
- package/dist/fence/parametrics.js +1 -1
- package/dist/fence/system.d.ts.map +1 -1
- package/dist/fence/system.js +1 -1
- package/dist/fence/tool.d.ts.map +1 -1
- package/dist/fence/tool.js +90 -16
- package/dist/fence-feature/actions.js +1 -1
- package/dist/fence-feature/definition.d.ts.map +1 -1
- package/dist/fence-feature/definition.js +14 -10
- package/dist/fence-feature/geometry.js +2 -2
- package/dist/fence-feature/handles.js +2 -2
- package/dist/fence-feature/inspector.js +3 -3
- package/dist/fence-feature/move-session.d.ts +2 -2
- package/dist/fence-feature/move-session.js +1 -1
- package/dist/fence-feature/move-tool.js +1 -1
- package/dist/floor-opening/definition.js +1 -1
- package/dist/floor-opening/floorplan.d.ts +52 -52
- package/dist/floor-opening/floorplan.js +1 -1
- package/dist/guide/definition.d.ts +1 -1
- package/dist/guide/definition.js +4 -4
- package/dist/guide/index.d.ts +1 -1
- package/dist/guide/index.js +1 -1
- package/dist/guide/renderer.d.ts.map +1 -1
- package/dist/guide/system.d.ts.map +1 -1
- package/dist/gutter/definition.d.ts +1 -1
- package/dist/gutter/definition.d.ts.map +1 -1
- package/dist/gutter/definition.js +10 -9
- package/dist/gutter/downspouts-panel.js +3 -3
- package/dist/gutter/eave-align.js +2 -2
- package/dist/gutter/eave-snap.d.ts.map +1 -1
- package/dist/gutter/eave-snap.js +2 -2
- package/dist/gutter/floorplan.d.ts.map +1 -1
- package/dist/gutter/floorplan.js +5 -4
- package/dist/gutter/geometry.d.ts +1 -1
- package/dist/gutter/geometry.js +3 -3
- package/dist/gutter/index.d.ts +3 -3
- package/dist/gutter/index.js +3 -3
- package/dist/gutter/move-tool.js +4 -4
- package/dist/gutter/outlet-lookup.d.ts +1 -1
- package/dist/gutter/outlet-lookup.js +1 -1
- package/dist/gutter/paint.js +1 -1
- package/dist/gutter/parametrics.d.ts +1 -1
- package/dist/gutter/parametrics.js +1 -1
- package/dist/gutter/preview.d.ts +1 -1
- package/dist/gutter/preview.d.ts.map +1 -1
- package/dist/gutter/preview.js +3 -3
- package/dist/gutter/renderer.d.ts.map +1 -1
- package/dist/gutter/renderer.js +6 -6
- package/dist/gutter/tool.d.ts.map +1 -1
- package/dist/gutter/tool.js +7 -7
- package/dist/hvac-equipment/definition.d.ts +1 -1
- package/dist/hvac-equipment/definition.js +6 -6
- package/dist/hvac-equipment/floorplan.d.ts +1 -1
- package/dist/hvac-equipment/floorplan.js +2 -2
- package/dist/hvac-equipment/geometry.d.ts +1 -1
- package/dist/hvac-equipment/geometry.js +2 -2
- package/dist/hvac-equipment/index.d.ts +4 -4
- package/dist/hvac-equipment/index.js +4 -4
- package/dist/hvac-equipment/parametrics.d.ts +1 -1
- package/dist/hvac-equipment/ports.d.ts +1 -1
- package/dist/hvac-equipment/ports.js +1 -1
- package/dist/hvac-equipment/tool.d.ts.map +1 -1
- package/dist/hvac-equipment/tool.js +7 -8
- package/dist/imported-mesh/definition.d.ts +1 -1
- package/dist/imported-mesh/definition.js +4 -4
- package/dist/imported-mesh/index.d.ts +3 -3
- package/dist/imported-mesh/index.js +3 -3
- package/dist/index.d.ts +65 -61
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +118 -114
- package/dist/item/authored-params.js +1 -1
- package/dist/item/definition.d.ts +1 -1
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.js +18 -16
- package/dist/item/floorplan-move.js +4 -4
- package/dist/item/floorplan.d.ts +1 -1
- package/dist/item/floorplan.js +2 -2
- package/dist/item/index.d.ts +3 -3
- package/dist/item/index.js +3 -3
- package/dist/item/model-loader.d.ts +5 -0
- package/dist/item/model-loader.d.ts.map +1 -1
- package/dist/item/model-loader.js +49 -0
- package/dist/item/move-tool.d.ts.map +1 -1
- package/dist/item/paint.js +1 -1
- package/dist/item/panel.js +7 -7
- package/dist/item/parametrics.d.ts +1 -1
- package/dist/item/parametrics.js +1 -1
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +16 -12
- package/dist/item/system.d.ts.map +1 -1
- package/dist/item/system.js +7 -2
- package/dist/item/tool.d.ts.map +1 -1
- package/dist/item/tool.js +3 -3
- package/dist/item/wall-object-observations.d.ts +6 -0
- package/dist/item/wall-object-observations.d.ts.map +1 -0
- package/dist/item/wall-object-observations.js +260 -0
- package/dist/lean-to-extension/assembly.d.ts +2 -2
- package/dist/lean-to-extension/assembly.js +8 -8
- package/dist/lean-to-extension/canopy-joint.d.ts +1 -1
- package/dist/lean-to-extension/canopy-joint.js +1 -1
- package/dist/lean-to-extension/corner-joint.js +4 -4
- package/dist/lean-to-extension/definition.d.ts +1 -1
- package/dist/lean-to-extension/definition.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.js +17 -16
- package/dist/lean-to-extension/floorplan-affordances.js +4 -4
- package/dist/lean-to-extension/floorplan-move.js +4 -4
- package/dist/lean-to-extension/floorplan-tool.d.ts.map +1 -1
- package/dist/lean-to-extension/floorplan-tool.js +7 -7
- package/dist/lean-to-extension/floorplan.js +5 -5
- package/dist/lean-to-extension/geometry.js +4 -4
- package/dist/lean-to-extension/index.d.ts +7 -7
- package/dist/lean-to-extension/index.js +7 -7
- package/dist/lean-to-extension/layout.d.ts +1 -1
- package/dist/lean-to-extension/layout.js +4 -4
- package/dist/lean-to-extension/managed-preview.js +4 -4
- package/dist/lean-to-extension/move-tool.d.ts.map +1 -1
- package/dist/lean-to-extension/move-tool.js +5 -5
- package/dist/lean-to-extension/paint.js +1 -1
- package/dist/lean-to-extension/parametrics.js +1 -1
- package/dist/lean-to-extension/placement-validation.d.ts.map +1 -1
- package/dist/lean-to-extension/placement-validation.js +5 -5
- package/dist/lean-to-extension/placement.d.ts +1 -1
- package/dist/lean-to-extension/placement.js +6 -6
- package/dist/lean-to-extension/plan-footprint.js +2 -2
- package/dist/lean-to-extension/preview-geometry.js +1 -1
- package/dist/lean-to-extension/preview.d.ts.map +1 -1
- package/dist/lean-to-extension/preview.js +1 -1
- package/dist/lean-to-extension/renderer.d.ts.map +1 -1
- package/dist/lean-to-extension/renderer.js +1 -1
- package/dist/lean-to-extension/roof-attachment.d.ts.map +1 -1
- package/dist/lean-to-extension/roof-attachment.js +4 -4
- package/dist/lean-to-extension/system.d.ts.map +1 -1
- package/dist/lean-to-extension/system.js +10 -10
- package/dist/lean-to-extension/tool.d.ts.map +1 -1
- package/dist/lean-to-extension/tool.js +11 -11
- package/dist/level/definition.d.ts +1 -1
- package/dist/level/definition.d.ts.map +1 -1
- package/dist/level/definition.js +5 -4
- package/dist/level/index.d.ts +1 -1
- package/dist/level/index.js +1 -1
- package/dist/level/renderer.d.ts.map +1 -1
- package/dist/level/system.d.ts.map +1 -1
- package/dist/lineset/definition.d.ts +1 -1
- package/dist/lineset/definition.js +8 -8
- package/dist/lineset/floorplan.d.ts +1 -1
- package/dist/lineset/floorplan.js +1 -1
- package/dist/lineset/geometry.d.ts +1 -1
- package/dist/lineset/geometry.js +1 -1
- package/dist/lineset/index.d.ts +3 -3
- package/dist/lineset/index.js +3 -3
- package/dist/lineset/move-tool.d.ts.map +1 -1
- package/dist/lineset/move-tool.js +2 -2
- package/dist/lineset/parametrics.d.ts +1 -1
- package/dist/lineset/selection.d.ts.map +1 -1
- package/dist/lineset/selection.js +1 -1
- package/dist/lineset/tool.d.ts.map +1 -1
- package/dist/lineset/tool.js +7 -8
- package/dist/liquid-line/definition.d.ts +1 -1
- package/dist/liquid-line/definition.js +8 -8
- package/dist/liquid-line/floorplan.d.ts +1 -1
- package/dist/liquid-line/floorplan.js +1 -1
- package/dist/liquid-line/geometry.d.ts +1 -1
- package/dist/liquid-line/geometry.js +1 -1
- package/dist/liquid-line/index.d.ts +4 -4
- package/dist/liquid-line/index.js +4 -4
- package/dist/liquid-line/move-tool.d.ts.map +1 -1
- package/dist/liquid-line/move-tool.js +1 -1
- package/dist/liquid-line/parametrics.d.ts +1 -1
- package/dist/liquid-line/selection.d.ts.map +1 -1
- package/dist/liquid-line/selection.js +1 -1
- package/dist/liquid-line/tool.d.ts.map +1 -1
- package/dist/liquid-line/tool.js +9 -10
- package/dist/measurement/definition.d.ts +1 -1
- package/dist/measurement/definition.js +6 -6
- package/dist/measurement/edit.d.ts +1 -1
- package/dist/measurement/floorplan-affordance.js +2 -2
- package/dist/measurement/floorplan.js +2 -2
- package/dist/measurement/index.d.ts +2 -2
- package/dist/measurement/index.js +2 -2
- package/dist/measurement/renderer.d.ts.map +1 -1
- package/dist/measurement/renderer.js +2 -2
- package/dist/measurement/selection.d.ts.map +1 -1
- package/dist/measurement/selection.js +4 -4
- package/dist/measurement/smart-surface.d.ts +1 -1
- package/dist/measurement/smart-tool.d.ts.map +1 -1
- package/dist/measurement/smart-tool.js +2 -2
- package/dist/measurement/surface-query.js +1 -1
- package/dist/measurement/tool-router.js +2 -2
- package/dist/measurement/tool.d.ts +1 -1
- package/dist/measurement/tool.d.ts.map +1 -1
- package/dist/measurement/tool.js +3 -3
- package/dist/pipe-fitting/definition.d.ts +1 -1
- package/dist/pipe-fitting/definition.js +11 -11
- package/dist/pipe-fitting/floorplan.d.ts +1 -1
- package/dist/pipe-fitting/floorplan.js +4 -4
- package/dist/pipe-fitting/geometry.d.ts +1 -1
- package/dist/pipe-fitting/geometry.js +4 -4
- package/dist/pipe-fitting/index.d.ts +4 -4
- package/dist/pipe-fitting/index.js +4 -4
- package/dist/pipe-fitting/inline-insertion.d.ts +1 -1
- package/dist/pipe-fitting/inline-insertion.d.ts.map +1 -1
- package/dist/pipe-fitting/inline-insertion.js +1 -1
- package/dist/pipe-fitting/move-tool.d.ts.map +1 -1
- package/dist/pipe-fitting/move-tool.js +3 -3
- package/dist/pipe-fitting/parametrics.d.ts +1 -1
- package/dist/pipe-fitting/parametrics.js +1 -1
- package/dist/pipe-fitting/ports.d.ts +1 -1
- package/dist/pipe-fitting/ports.js +1 -1
- package/dist/pipe-fitting/selection.d.ts.map +1 -1
- package/dist/pipe-fitting/selection.js +6 -7
- package/dist/pipe-fitting/tool.d.ts +2 -2
- package/dist/pipe-fitting/tool.d.ts.map +1 -1
- package/dist/pipe-fitting/tool.js +15 -16
- package/dist/pipe-segment/continuation.d.ts +4 -4
- package/dist/pipe-segment/continuation.d.ts.map +1 -1
- package/dist/pipe-segment/continuation.js +1 -1
- package/dist/pipe-segment/definition.d.ts +1 -1
- package/dist/pipe-segment/definition.js +11 -11
- package/dist/pipe-segment/floorplan.d.ts +1 -1
- package/dist/pipe-segment/floorplan.js +3 -3
- package/dist/pipe-segment/geometry.d.ts +1 -1
- package/dist/pipe-segment/geometry.js +2 -2
- package/dist/pipe-segment/index.d.ts +3 -3
- package/dist/pipe-segment/index.js +3 -3
- package/dist/pipe-segment/move-tool.d.ts.map +1 -1
- package/dist/pipe-segment/move-tool.js +3 -3
- package/dist/pipe-segment/parametrics.d.ts +1 -1
- package/dist/pipe-segment/parametrics.js +3 -3
- package/dist/pipe-segment/selection.d.ts.map +1 -1
- package/dist/pipe-segment/selection.js +10 -9
- package/dist/pipe-segment/tool.d.ts.map +1 -1
- package/dist/pipe-segment/tool.js +13 -14
- package/dist/pipe-trap/definition.d.ts +1 -1
- package/dist/pipe-trap/definition.js +6 -6
- package/dist/pipe-trap/floorplan.d.ts +1 -1
- package/dist/pipe-trap/floorplan.js +1 -1
- package/dist/pipe-trap/geometry.d.ts +1 -1
- package/dist/pipe-trap/geometry.js +2 -2
- package/dist/pipe-trap/index.d.ts +4 -4
- package/dist/pipe-trap/index.js +4 -4
- package/dist/pipe-trap/parametrics.d.ts +1 -1
- package/dist/pipe-trap/ports.d.ts +1 -1
- package/dist/pipe-trap/ports.js +1 -1
- package/dist/pipe-trap/tool.d.ts.map +1 -1
- package/dist/pipe-trap/tool.js +7 -8
- package/dist/procedural-item/animation.d.ts.map +1 -1
- package/dist/procedural-item/definition.d.ts.map +1 -1
- package/dist/procedural-item/definition.js +10 -8
- package/dist/procedural-item/geometry.d.ts.map +1 -1
- package/dist/procedural-item/index.d.ts +2 -2
- package/dist/procedural-item/index.js +2 -2
- package/dist/procedural-item/move-session.d.ts +1 -1
- package/dist/procedural-item/move-session.js +2 -2
- package/dist/procedural-item/move-tool.js +3 -3
- package/dist/procedural-item/renderer.js +5 -5
- package/dist/ridge-vent/definition.d.ts +1 -1
- package/dist/ridge-vent/definition.d.ts.map +1 -1
- package/dist/ridge-vent/definition.js +9 -8
- package/dist/ridge-vent/geometry.js +1 -1
- package/dist/ridge-vent/index.d.ts +3 -3
- package/dist/ridge-vent/index.js +3 -3
- package/dist/ridge-vent/move-tool.js +5 -5
- package/dist/ridge-vent/panel.js +1 -1
- package/dist/ridge-vent/parametrics.d.ts +1 -1
- package/dist/ridge-vent/parametrics.js +1 -1
- package/dist/ridge-vent/preview.d.ts +1 -1
- package/dist/ridge-vent/preview.d.ts.map +1 -1
- package/dist/ridge-vent/preview.js +2 -2
- package/dist/ridge-vent/renderer.d.ts.map +1 -1
- package/dist/ridge-vent/renderer.js +5 -4
- package/dist/ridge-vent/tool.d.ts.map +1 -1
- package/dist/ridge-vent/tool.js +8 -8
- package/dist/roof/barrel-panel.d.ts +5 -0
- package/dist/roof/barrel-panel.d.ts.map +1 -0
- package/dist/roof/barrel-panel.js +17 -0
- package/dist/roof/conical-roof.d.ts +5 -1
- package/dist/roof/conical-roof.d.ts.map +1 -1
- package/dist/roof/conical-roof.js +19 -15
- package/dist/roof/definition.d.ts +1 -1
- package/dist/roof/definition.d.ts.map +1 -1
- package/dist/roof/definition.js +18 -10
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +11 -4
- package/dist/roof/glazed-geometry.d.ts +5 -0
- package/dist/roof/glazed-geometry.d.ts.map +1 -0
- package/dist/roof/glazed-geometry.js +27 -0
- package/dist/roof/glazed-materials.d.ts +14 -0
- package/dist/roof/glazed-materials.d.ts.map +1 -0
- package/dist/roof/glazed-materials.js +42 -0
- package/dist/roof/glazing-controls.d.ts +33 -0
- package/dist/roof/glazing-controls.d.ts.map +1 -0
- package/dist/roof/glazing-controls.js +50 -0
- package/dist/roof/glazing-panel-editor.d.ts +6 -0
- package/dist/roof/glazing-panel-editor.d.ts.map +1 -0
- package/dist/roof/glazing-panel-editor.js +44 -0
- package/dist/roof/glazing-panel.d.ts +5 -0
- package/dist/roof/glazing-panel.d.ts.map +1 -0
- package/dist/roof/glazing-panel.js +41 -0
- package/dist/roof/glazing-preview.d.ts +10 -0
- package/dist/roof/glazing-preview.d.ts.map +1 -0
- package/dist/roof/glazing-preview.js +48 -0
- package/dist/roof/index.d.ts +3 -3
- package/dist/roof/index.js +3 -3
- package/dist/roof/panel.d.ts.map +1 -1
- package/dist/roof/panel.js +41 -6
- package/dist/roof/parametrics.js +1 -1
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +36 -6
- package/dist/roof/roof-footprint-source.d.ts.map +1 -1
- package/dist/roof/roof-level-target.d.ts +75 -0
- package/dist/roof/roof-level-target.d.ts.map +1 -0
- package/dist/roof/roof-level-target.js +119 -0
- package/dist/roof/roof-placement-mode.d.ts +3 -2
- package/dist/roof/roof-placement-mode.d.ts.map +1 -1
- package/dist/roof/system.d.ts +1 -2
- package/dist/roof/system.d.ts.map +1 -1
- package/dist/roof/system.js +5 -1
- package/dist/roof/tool.d.ts +3 -3
- package/dist/roof/tool.d.ts.map +1 -1
- package/dist/roof/tool.js +80 -41
- package/dist/roof-segment/definition.d.ts +1 -1
- package/dist/roof-segment/definition.d.ts.map +1 -1
- package/dist/roof-segment/definition.js +31 -62
- package/dist/roof-segment/floorplan-affordances.d.ts.map +1 -1
- package/dist/roof-segment/floorplan-affordances.js +13 -34
- package/dist/roof-segment/floorplan.d.ts.map +1 -1
- package/dist/roof-segment/floorplan.js +1 -0
- package/dist/roof-segment/index.d.ts +1 -1
- package/dist/roof-segment/index.js +1 -1
- package/dist/roof-segment/measurement.js +1 -1
- package/dist/roof-segment/paint.d.ts +4 -0
- package/dist/roof-segment/paint.d.ts.map +1 -0
- package/dist/roof-segment/paint.js +92 -0
- package/dist/roof-segment/panel.d.ts.map +1 -1
- package/dist/roof-segment/panel.js +16 -7
- package/dist/roof-segment/parametrics.d.ts +1 -1
- package/dist/roof-segment/parametrics.d.ts.map +1 -1
- package/dist/roof-segment/parametrics.js +12 -1
- package/dist/roof-segment/renderer.d.ts +1 -1
- package/dist/roof-segment/renderer.d.ts.map +1 -1
- package/dist/roof-segment/renderer.js +65 -12
- package/dist/scan/definition.d.ts +1 -1
- package/dist/scan/definition.js +4 -4
- package/dist/scan/index.d.ts +1 -1
- package/dist/scan/index.js +1 -1
- package/dist/scan/renderer.d.ts.map +1 -1
- package/dist/scan/system.d.ts.map +1 -1
- package/dist/separator/definition.js +1 -1
- package/dist/separator/renderer.js +1 -1
- package/dist/shared/accessory-placement.d.ts +1 -1
- package/dist/shared/accessory-placement.d.ts.map +1 -1
- package/dist/shared/accessory-placement.js +3 -3
- package/dist/shared/accessory-snapping.d.ts +1 -1
- package/dist/shared/accessory-snapping.d.ts.map +1 -1
- package/dist/shared/accessory-snapping.js +1 -1
- package/dist/shared/auto-fitting.d.ts +1 -1
- package/dist/shared/auto-fitting.d.ts.map +1 -1
- package/dist/shared/auto-fitting.js +3 -3
- package/dist/shared/automatic-run-end-cap.d.ts +1 -1
- package/dist/shared/automatic-run-end-cap.d.ts.map +1 -1
- package/dist/shared/automatic-run-end-cap.js +4 -4
- package/dist/shared/block-face-host.d.ts +1 -1
- package/dist/shared/connection-feedback.d.ts +1 -2
- package/dist/shared/connection-feedback.d.ts.map +1 -1
- package/dist/shared/connection-feedback.js +1 -2
- package/dist/shared/construction-dimension-standards.d.ts +1 -1
- package/dist/shared/curtain-opening-limits.js +1 -1
- package/dist/shared/draft-axis-guides.js +1 -1
- package/dist/shared/duct-adapter.d.ts +2 -2
- package/dist/shared/duct-adapter.d.ts.map +1 -1
- package/dist/shared/duct-adapter.js +3 -3
- package/dist/shared/duct-body-paint.js +1 -1
- package/dist/shared/elbow-branch-continuation.d.ts +1 -1
- package/dist/shared/elbow-branch-continuation.d.ts.map +1 -1
- package/dist/shared/elbow-branch-continuation.js +2 -2
- package/dist/shared/finish-script-model.d.ts +12 -0
- package/dist/shared/finish-script-model.d.ts.map +1 -0
- package/dist/shared/finish-script-model.js +32 -0
- package/dist/shared/fitting-deletion-cleanup.js +2 -2
- package/dist/shared/fitting-endpoint-reaim.js +3 -3
- package/dist/shared/fitting-surface-support.d.ts.map +1 -1
- package/dist/shared/fitting-surface-support.js +2 -2
- package/dist/shared/fitting-tool-options.js +1 -1
- package/dist/shared/floor-placement.d.ts.map +1 -1
- package/dist/shared/floorplan-cursor.d.ts.map +1 -1
- package/dist/shared/hosted-resize.d.ts +2 -1
- package/dist/shared/hosted-resize.d.ts.map +1 -1
- package/dist/shared/hosted-resize.js +11 -3
- package/dist/shared/item-interaction-actions.js +1 -1
- package/dist/shared/lean-to-post-omissions.d.ts +1 -1
- package/dist/shared/lean-to-post-omissions.js +1 -1
- package/dist/shared/mep-ghost.js +5 -5
- package/dist/shared/move-roof-tool.d.ts.map +1 -1
- package/dist/shared/move-roof-tool.js +129 -36
- package/dist/shared/node-batch/batchable.d.ts.map +1 -1
- package/dist/shared/node-batch/batchable.js +5 -3
- package/dist/shared/node-batch/candidates.d.ts +1 -1
- package/dist/shared/node-batch/candidates.js +1 -1
- package/dist/shared/node-batch/store.d.ts +1 -1
- package/dist/shared/node-batch/store.d.ts.map +1 -1
- package/dist/shared/node-batch/store.js +1 -1
- package/dist/shared/node-batch/system.d.ts.map +1 -1
- package/dist/shared/node-batch/system.js +22 -7
- package/dist/shared/opening-documentation.d.ts +1 -1
- package/dist/shared/opening-documentation.js +1 -1
- package/dist/shared/opening-guides-runtime.js +1 -1
- package/dist/shared/opening-move-wall-gate.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +2 -2
- package/dist/shared/opening-property-preview-host.d.ts +1 -1
- package/dist/shared/opening-property-preview.d.ts.map +1 -1
- package/dist/shared/opening-property-preview.js +1 -1
- package/dist/shared/panel-fields.js +2 -2
- package/dist/shared/path-point-affordance.js +2 -2
- package/dist/shared/pipe-run-translation-offset.d.ts +2 -2
- package/dist/shared/pipe-run-translation-offset.d.ts.map +1 -1
- package/dist/shared/pipe-run-translation-offset.js +2 -2
- package/dist/shared/pipe-vertical-offset.d.ts +2 -2
- package/dist/shared/pipe-vertical-offset.d.ts.map +1 -1
- package/dist/shared/pipe-vertical-offset.js +2 -2
- package/dist/shared/polygon-centroid-move.js +1 -1
- package/dist/shared/port-systems.d.ts +9 -0
- package/dist/shared/port-systems.d.ts.map +1 -0
- package/dist/shared/port-systems.js +10 -0
- package/dist/shared/refrigerant-line-selection.d.ts.map +1 -1
- package/dist/shared/refrigerant-line-selection.js +3 -2
- package/dist/shared/relative-roof-drag.d.ts +1 -1
- package/dist/shared/relative-roof-drag.js +2 -2
- package/dist/shared/roof-segment-hit.d.ts.map +1 -1
- package/dist/shared/roof-segment-hit.js +7 -5
- package/dist/shared/roof-surface-placement-guides.d.ts +1 -1
- package/dist/shared/roof-surface-placement-guides.js +11 -11
- package/dist/shared/roof-surface.d.ts.map +1 -1
- package/dist/shared/roof-surface.js +25 -5
- package/dist/shared/run-hanger-controls.d.ts +1 -1
- package/dist/shared/run-hanger-controls.js +1 -1
- package/dist/shared/run-hanger-inspector.d.ts +1 -1
- package/dist/shared/run-hanger-inspector.js +3 -3
- package/dist/shared/run-hangers.js +2 -2
- package/dist/shared/run-move-connectivity.d.ts.map +1 -1
- package/dist/shared/run-translation-offset.d.ts +3 -3
- package/dist/shared/run-translation-offset.d.ts.map +1 -1
- package/dist/shared/run-translation-offset.js +2 -2
- package/dist/shared/scripted-opening.d.ts +3 -3
- package/dist/shared/scripted-opening.d.ts.map +1 -1
- package/dist/shared/scripted-opening.js +1 -1
- package/dist/shared/slot-paint.js +1 -1
- package/dist/shared/surface-paint.js +2 -2
- package/dist/shared/swap-preview-material.d.ts +9 -7
- package/dist/shared/swap-preview-material.d.ts.map +1 -1
- package/dist/shared/swap-preview-material.js +18 -7
- package/dist/shared/system-check-panel.js +1 -1
- package/dist/shared/system-checks.js +2 -2
- package/dist/shared/vertical-offset.d.ts +3 -3
- package/dist/shared/vertical-offset.d.ts.map +1 -1
- package/dist/shared/vertical-offset.js +3 -3
- package/dist/shared/wall-run-move.d.ts +1 -1
- package/dist/shared/wall-run-move.d.ts.map +1 -1
- package/dist/shelf/definition.d.ts +1 -1
- package/dist/shelf/definition.d.ts.map +1 -1
- package/dist/shelf/definition.js +13 -11
- package/dist/shelf/dimensions.d.ts +1 -1
- package/dist/shelf/floorplan-affordances.js +1 -1
- package/dist/shelf/floorplan-move.js +1 -1
- package/dist/shelf/floorplan.d.ts +1 -1
- package/dist/shelf/floorplan.js +2 -2
- package/dist/shelf/geometry.d.ts +1 -1
- package/dist/shelf/geometry.js +1 -1
- package/dist/shelf/index.d.ts +3 -3
- package/dist/shelf/index.js +3 -3
- package/dist/shelf/parametrics.d.ts +1 -1
- package/dist/shelf/preview.d.ts +1 -1
- package/dist/shelf/preview.d.ts.map +1 -1
- package/dist/shelf/preview.js +1 -1
- package/dist/shelf/tool.d.ts.map +1 -1
- package/dist/shelf/tool.js +3 -3
- package/dist/site/definition.d.ts +1 -1
- package/dist/site/definition.d.ts.map +1 -1
- package/dist/site/definition.js +5 -4
- package/dist/site/generic-foundation-geometry.d.ts +16 -0
- package/dist/site/generic-foundation-geometry.d.ts.map +1 -0
- package/dist/site/generic-foundation-geometry.js +75 -0
- package/dist/site/generic-foundation.d.ts +4 -0
- package/dist/site/generic-foundation.d.ts.map +1 -0
- package/dist/site/generic-foundation.js +91 -0
- package/dist/site/ground-hole.d.ts +92 -0
- package/dist/site/ground-hole.d.ts.map +1 -0
- package/dist/site/ground-hole.js +306 -0
- package/dist/site/ground-pit-geometry.d.ts +39 -0
- package/dist/site/ground-pit-geometry.d.ts.map +1 -0
- package/dist/site/ground-pit-geometry.js +213 -0
- package/dist/site/ground-pit.d.ts +45 -0
- package/dist/site/ground-pit.d.ts.map +1 -0
- package/dist/site/ground-pit.js +175 -0
- package/dist/site/ground-veil.d.ts +39 -0
- package/dist/site/ground-veil.d.ts.map +1 -0
- package/dist/site/ground-veil.js +86 -0
- package/dist/site/ground-window-system.d.ts +9 -0
- package/dist/site/ground-window-system.d.ts.map +1 -0
- package/dist/site/ground-window-system.js +108 -0
- package/dist/site/hole-noise.d.ts +11 -0
- package/dist/site/hole-noise.d.ts.map +1 -0
- package/dist/site/hole-noise.js +79 -0
- package/dist/site/index.d.ts +1 -1
- package/dist/site/index.js +1 -1
- package/dist/site/lot-mask.d.ts +5 -3
- package/dist/site/lot-mask.d.ts.map +1 -1
- package/dist/site/lot-mask.js +9 -5
- package/dist/site/panel.d.ts.map +1 -1
- package/dist/site/panel.js +25 -1
- package/dist/site/parametrics.js +1 -1
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +136 -32
- package/dist/site/terrain-holes.d.ts +1 -1
- package/dist/site/terrain-mesh.d.ts +2 -2
- package/dist/site/terrain-mesh.js +2 -2
- package/dist/site/terrain-renderer.d.ts +3 -1
- package/dist/site/terrain-renderer.d.ts.map +1 -1
- package/dist/site/terrain-renderer.js +13 -6
- package/dist/site/underground-edge.d.ts +26 -0
- package/dist/site/underground-edge.d.ts.map +1 -0
- package/dist/site/underground-edge.js +46 -0
- package/dist/skylight/definition.d.ts +1 -1
- package/dist/skylight/definition.d.ts.map +1 -1
- package/dist/skylight/definition.js +11 -10
- package/dist/skylight/geometry.d.ts +1 -1
- package/dist/skylight/geometry.js +1 -1
- package/dist/skylight/index.d.ts +4 -4
- package/dist/skylight/index.js +4 -4
- package/dist/skylight/move-tool.js +4 -4
- package/dist/skylight/panel.js +3 -3
- package/dist/skylight/parametrics.d.ts +1 -1
- package/dist/skylight/parametrics.js +1 -1
- package/dist/skylight/preview.d.ts +1 -1
- package/dist/skylight/preview.d.ts.map +1 -1
- package/dist/skylight/preview.js +2 -2
- package/dist/skylight/renderer.d.ts.map +1 -1
- package/dist/skylight/renderer.js +5 -5
- package/dist/skylight/system.d.ts.map +1 -1
- package/dist/skylight/tool.d.ts.map +1 -1
- package/dist/skylight/tool.js +7 -7
- package/dist/slab/boundary-editor.d.ts.map +1 -1
- package/dist/slab/definition.d.ts +1 -1
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.js +26 -17
- package/dist/slab/floorplan-affordances.d.ts +100 -100
- package/dist/slab/floorplan-affordances.js +1 -1
- package/dist/slab/floorplan-move.js +1 -1
- package/dist/slab/geometry.js +3 -3
- package/dist/slab/hole-editor.d.ts.map +1 -1
- package/dist/slab/index.d.ts +2 -2
- package/dist/slab/index.js +2 -2
- package/dist/slab/move-tool.d.ts.map +1 -1
- package/dist/slab/move-tool.js +1 -1
- package/dist/slab/paint.d.ts +1 -1
- package/dist/slab/paint.d.ts.map +1 -1
- package/dist/slab/paint.js +6 -3
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +5 -5
- package/dist/slab/parametrics.d.ts +1 -1
- package/dist/slab/parametrics.js +1 -1
- package/dist/slab/quick-measurement.js +1 -1
- package/dist/slab/system.d.ts.map +1 -1
- package/dist/slab/system.js +1 -1
- package/dist/slab/tool.d.ts.map +1 -1
- package/dist/slab/tool.js +5 -3
- package/dist/solar-panel/definition.d.ts +1 -1
- package/dist/solar-panel/definition.d.ts.map +1 -1
- package/dist/solar-panel/definition.js +8 -7
- package/dist/solar-panel/index.d.ts +4 -4
- package/dist/solar-panel/index.js +4 -4
- package/dist/solar-panel/move-tool.js +3 -3
- package/dist/solar-panel/panel.d.ts.map +1 -1
- package/dist/solar-panel/panel.js +4 -4
- package/dist/solar-panel/parametrics.d.ts +1 -1
- package/dist/solar-panel/parametrics.js +1 -1
- package/dist/solar-panel/preview.d.ts +1 -1
- package/dist/solar-panel/preview.d.ts.map +1 -1
- package/dist/solar-panel/preview.js +2 -2
- package/dist/solar-panel/renderer.d.ts.map +1 -1
- package/dist/solar-panel/renderer.js +3 -3
- package/dist/solar-panel/tool.d.ts.map +1 -1
- package/dist/solar-panel/tool.js +7 -7
- package/dist/spawn/definition.d.ts +1 -1
- package/dist/spawn/definition.js +7 -7
- package/dist/spawn/floorplan-affordances.js +1 -1
- package/dist/spawn/floorplan.d.ts +1 -1
- package/dist/spawn/index.d.ts +2 -2
- package/dist/spawn/index.js +2 -2
- package/dist/spawn/panel.js +1 -1
- package/dist/spawn/parametrics.d.ts +1 -1
- package/dist/spawn/parametrics.js +1 -1
- package/dist/spawn/renderer.d.ts.map +1 -1
- package/dist/spawn/renderer.js +1 -1
- package/dist/spawn/tool.d.ts.map +1 -1
- package/dist/spawn/tool.js +2 -2
- package/dist/stair/baluster-geometry.d.ts +2 -2
- package/dist/stair/baluster-guard.d.ts +1 -1
- package/dist/stair/baluster-guard.d.ts.map +1 -1
- package/dist/stair/baluster-guard.js +1 -1
- package/dist/stair/boards-guard.d.ts +1 -1
- package/dist/stair/boards-guard.js +1 -1
- package/dist/stair/cable-guard.d.ts +1 -1
- package/dist/stair/cable-guard.js +1 -1
- package/dist/stair/construction-controls.js +1 -1
- package/dist/stair/continuous-railings.d.ts +1 -1
- package/dist/stair/continuous-railings.js +9 -9
- package/dist/stair/definition.d.ts +1 -1
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.js +23 -9
- package/dist/stair/documentation.d.ts +1 -1
- package/dist/stair/documentation.js +1 -1
- package/dist/stair/floorplan-affordances.js +1 -1
- package/dist/stair/floorplan-move.d.ts.map +1 -1
- package/dist/stair/floorplan-move.js +90 -10
- package/dist/stair/floorplan.d.ts +1 -1
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +24 -5
- package/dist/stair/glass-guard.d.ts +1 -1
- package/dist/stair/glass-guard.js +1 -1
- package/dist/stair/guard-path.d.ts.map +1 -1
- package/dist/stair/index.d.ts +1 -1
- package/dist/stair/index.js +1 -1
- package/dist/stair/metal-guard.d.ts +1 -1
- package/dist/stair/metal-guard.js +1 -1
- package/dist/stair/paint.d.ts +9 -9
- package/dist/stair/paint.d.ts.map +1 -1
- package/dist/stair/paint.js +2 -2
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +23 -9
- package/dist/stair/parametrics.js +3 -3
- package/dist/stair/post-and-rail-guard.d.ts +1 -1
- package/dist/stair/post-and-rail-guard.js +1 -1
- package/dist/stair/railing-controls.js +1 -1
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +108 -15
- package/dist/stair/stair-click-guard.d.ts +43 -0
- package/dist/stair/stair-click-guard.d.ts.map +1 -0
- package/dist/stair/stair-click-guard.js +44 -0
- package/dist/stair/stair-type.d.ts.map +1 -1
- package/dist/stair/stair-type.js +1 -2
- package/dist/stair/surface-move-preview.d.ts +4 -0
- package/dist/stair/surface-move-preview.d.ts.map +1 -0
- package/dist/stair/surface-move-preview.js +53 -0
- package/dist/stair/surface-transition.d.ts +9 -0
- package/dist/stair/surface-transition.d.ts.map +1 -0
- package/dist/stair/surface-transition.js +61 -0
- package/dist/stair/system.d.ts.map +1 -1
- package/dist/stair/tool.d.ts +2 -0
- package/dist/stair/tool.d.ts.map +1 -0
- package/dist/stair/tool.js +580 -0
- package/dist/stair/use-stair-render-data.d.ts +87 -85
- package/dist/stair/use-stair-render-data.d.ts.map +1 -1
- package/dist/stair-segment/definition.d.ts +1 -1
- package/dist/stair-segment/definition.d.ts.map +1 -1
- package/dist/stair-segment/definition.js +7 -10
- package/dist/stair-segment/index.d.ts +1 -1
- package/dist/stair-segment/index.js +1 -1
- package/dist/stair-segment/panel.js +3 -3
- package/dist/stair-segment/parametrics.js +2 -2
- package/dist/stair-segment/renderer.d.ts.map +1 -1
- package/dist/stair-segment/renderer.js +2 -2
- package/dist/structural-grid/definition.d.ts +1 -1
- package/dist/structural-grid/definition.js +3 -3
- package/dist/structural-grid/floorplan-tool.d.ts.map +1 -1
- package/dist/structural-grid/index.d.ts +1 -1
- package/dist/structural-grid/index.js +1 -1
- package/dist/turbine-vent/definition.d.ts +1 -1
- package/dist/turbine-vent/definition.d.ts.map +1 -1
- package/dist/turbine-vent/definition.js +9 -8
- package/dist/turbine-vent/geometry.js +1 -1
- package/dist/turbine-vent/index.d.ts +3 -3
- package/dist/turbine-vent/index.js +3 -3
- package/dist/turbine-vent/move-tool.js +4 -4
- package/dist/turbine-vent/paint.js +2 -2
- package/dist/turbine-vent/panel.js +1 -1
- package/dist/turbine-vent/parametrics.d.ts +1 -1
- package/dist/turbine-vent/parametrics.js +1 -1
- package/dist/turbine-vent/preview.d.ts +1 -1
- package/dist/turbine-vent/preview.d.ts.map +1 -1
- package/dist/turbine-vent/preview.js +2 -2
- package/dist/turbine-vent/renderer.d.ts.map +1 -1
- package/dist/turbine-vent/renderer.js +3 -3
- package/dist/turbine-vent/tool.d.ts.map +1 -1
- package/dist/turbine-vent/tool.js +7 -7
- package/dist/unit/definition.d.ts +1 -1
- package/dist/unit/definition.js +2 -2
- package/dist/unit/index.d.ts +1 -1
- package/dist/unit/index.js +1 -1
- package/dist/unit/parametrics.js +1 -1
- package/dist/unit/unit-panel.js +2 -2
- package/dist/wall/actions.js +2 -2
- package/dist/wall/construction-dimensions.d.ts +3 -3
- package/dist/wall/construction-dimensions.js +6 -6
- package/dist/wall/curtain-opening-frame.d.ts.map +1 -1
- package/dist/wall/curtain-wall-adapter.js +2 -2
- package/dist/wall/curtain-wall-floorplan.js +2 -2
- package/dist/wall/curtain-wall-geometry.d.ts.map +1 -1
- package/dist/wall/curtain-wall-geometry.js +4 -4
- package/dist/wall/curtain-wall-layout.d.ts +1 -2
- package/dist/wall/curtain-wall-layout.d.ts.map +1 -1
- package/dist/wall/curtain-wall-layout.js +1 -23
- package/dist/wall/curtain-wall-materials.d.ts.map +1 -1
- package/dist/wall/curtain-wall-materials.js +2 -1
- package/dist/wall/curtain-wall-panel.d.ts.map +1 -1
- package/dist/wall/curtain-wall-panel.js +4 -4
- package/dist/wall/curtain-wall-piece-geometry.d.ts +1 -1
- package/dist/wall/curve-tool.d.ts.map +1 -1
- package/dist/wall/definition.d.ts +1 -1
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.js +31 -26
- package/dist/wall/exterior.d.ts +6 -0
- package/dist/wall/exterior.d.ts.map +1 -0
- package/dist/wall/exterior.js +13 -0
- package/dist/wall/floorplan-move.js +1 -1
- package/dist/wall/floorplan-tool.js +1 -1
- package/dist/wall/floorplan.d.ts +2 -2
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +4 -4
- package/dist/wall/index.d.ts +2 -2
- package/dist/wall/index.js +2 -2
- package/dist/wall/measurement.js +1 -1
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +5 -6
- package/dist/wall/move-shared.js +1 -1
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +3 -4
- package/dist/wall/paint.d.ts +1 -1
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +11 -16
- package/dist/wall/panel-model.d.ts.map +1 -1
- package/dist/wall/panel-model.js +6 -6
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +50 -17
- package/dist/wall/parametrics.d.ts +1 -1
- package/dist/wall/parametrics.js +1 -1
- package/dist/wall/pointer-transparency.d.ts +1 -1
- package/dist/wall/pointer-transparency.d.ts.map +1 -1
- package/dist/wall/preview.d.ts.map +1 -1
- package/dist/wall/property-preview.d.ts.map +1 -1
- package/dist/wall/quick-measurement.js +1 -1
- package/dist/wall/rectangle-command.d.ts +235 -42
- package/dist/wall/rectangle-command.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.js +1 -1
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +27 -8
- package/dist/wall/selection-hit-owner.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.js +3 -3
- package/dist/wall/split-pointer.js +2 -2
- package/dist/wall/split-preview.d.ts +1 -1
- package/dist/wall/split-session.js +2 -2
- package/dist/wall/split-store.d.ts +1 -1
- package/dist/wall/split-tool.js +3 -3
- package/dist/wall/system.d.ts.map +1 -1
- package/dist/wall/system.js +6 -6
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +9 -4
- package/dist/wall/treatment-level-data.d.ts.map +1 -1
- package/dist/wall/treatments.d.ts +1 -1
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +11 -4
- package/dist/wall/wall-batch-system.d.ts.map +1 -1
- package/dist/wall/wall-batch-system.js +47 -5
- package/dist/window/contextual-dimensions.js +1 -1
- package/dist/window/corner-cue.d.ts +9 -0
- package/dist/window/corner-cue.d.ts.map +1 -0
- package/dist/window/corner-cue.js +31 -0
- package/dist/window/corner-fuse.d.ts +14 -0
- package/dist/window/corner-fuse.d.ts.map +1 -0
- package/dist/window/corner-fuse.js +42 -0
- package/dist/window/definition.d.ts +1 -1
- package/dist/window/definition.d.ts.map +1 -1
- package/dist/window/definition.js +31 -26
- package/dist/window/floor-projection.js +1 -1
- package/dist/window/floorplan-affordances.js +2 -2
- package/dist/window/floorplan-move.d.ts.map +1 -1
- package/dist/window/floorplan-move.js +47 -13
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +98 -56
- package/dist/window/index.d.ts +2 -2
- package/dist/window/index.js +2 -2
- package/dist/window/mechanism.js +1 -1
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +92 -27
- package/dist/window/paint.js +1 -1
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +108 -18
- package/dist/window/parametrics.d.ts +1 -1
- package/dist/window/parametrics.d.ts.map +1 -1
- package/dist/window/parametrics.js +7 -1
- package/dist/window/placement.d.ts +6 -0
- package/dist/window/placement.d.ts.map +1 -1
- package/dist/window/placement.js +26 -0
- package/dist/window/preview.d.ts +1 -1
- package/dist/window/preview.d.ts.map +1 -1
- package/dist/window/preview.js +1 -1
- package/dist/window/renderer.d.ts.map +1 -1
- package/dist/window/renderer.js +2 -2
- package/dist/window/system.d.ts.map +1 -1
- package/dist/window/system.js +1 -1
- package/dist/window/tool.d.ts.map +1 -1
- package/dist/window/tool.js +113 -28
- package/dist/window/window-math.d.ts +1 -1
- package/dist/window/window-math.js +1 -1
- package/dist/zone/definition.d.ts +1 -1
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.js +14 -12
- package/dist/zone/floorplan-affordances.d.ts +463 -87
- package/dist/zone/floorplan-affordances.d.ts.map +1 -1
- package/dist/zone/floorplan-affordances.js +1 -1
- package/dist/zone/floorplan-move.js +1 -1
- package/dist/zone/floorplan.js +3 -3
- package/dist/zone/index.d.ts +1 -1
- package/dist/zone/index.js +1 -1
- package/dist/zone/parametrics.js +1 -1
- package/dist/zone/quantities-panel.js +3 -3
- package/dist/zone/quick-measurement.js +1 -1
- package/dist/zone/renderer.d.ts.map +1 -1
- package/dist/zone/renderer.js +10 -2
- package/dist/zone/room-clear-dimensions.js +1 -1
- package/dist/zone/room-documentation.d.ts +1 -1
- package/dist/zone/room-documentation.js +1 -1
- package/dist/zone/system.d.ts.map +1 -1
- package/package.json +26 -13
- package/dist/shared/connection-compatibility.d.ts +0 -8
- package/dist/shared/connection-compatibility.d.ts.map +0 -1
- package/dist/shared/connection-compatibility.js +0 -28
- package/dist/shared/distribution-run-contract.d.ts +0 -49
- package/dist/shared/distribution-run-contract.d.ts.map +0 -1
- package/dist/shared/distribution-run-contract.js +0 -30
- package/dist/shared/distribution-run-tool.d.ts +0 -117
- package/dist/shared/distribution-run-tool.d.ts.map +0 -1
- package/dist/shared/distribution-run-tool.js +0 -986
- package/dist/shared/draw-alignment.d.ts +0 -25
- package/dist/shared/draw-alignment.d.ts.map +0 -1
- package/dist/shared/draw-alignment.js +0 -30
- package/dist/shared/ports.d.ts +0 -92
- package/dist/shared/ports.d.ts.map +0 -1
- package/dist/shared/ports.js +0 -305
- package/dist/shared/run-cursor.d.ts +0 -22
- package/dist/shared/run-cursor.d.ts.map +0 -1
- package/dist/shared/run-cursor.js +0 -19
- package/dist/shared/run-direction-feedback.d.ts +0 -20
- package/dist/shared/run-direction-feedback.d.ts.map +0 -1
- package/dist/shared/run-direction-feedback.js +0 -139
- package/dist/shared/run-port-snap.d.ts +0 -11
- package/dist/shared/run-port-snap.d.ts.map +0 -1
- package/dist/shared/run-port-snap.js +0 -19
- package/dist/shared/run-screen-direction.d.ts +0 -5
- package/dist/shared/run-screen-direction.d.ts.map +0 -1
- package/dist/shared/run-screen-direction.js +0 -24
- package/dist/site/setbacks.d.ts +0 -33
- package/dist/site/setbacks.d.ts.map +0 -1
- package/dist/site/setbacks.js +0 -204
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { AdditiveBlending, BoxGeometry, CylinderGeometry, DoubleSide, Group, Mesh, MeshBasicMaterial, RingGeometry, SphereGeometry, TorusGeometry, } from 'three';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
1
|
+
import { AdditiveBlending, BoxGeometry, CircleGeometry, CylinderGeometry, DoubleSide, Group, Mesh, MeshBasicMaterial, RingGeometry, SphereGeometry, TorusGeometry, } from 'three';
|
|
2
|
+
import { mergeGeometries } from 'three/examples/jsm/utils/BufferGeometryUtils.js';
|
|
3
|
+
import { cooktopFootprint } from '../appliance-layout.js';
|
|
4
|
+
import { COOKTOP_FLAME_COUNT, cooktopFlameSeed, createCooktopFlameGeometry, updateCooktopFlameTube, } from '../cooktop-flame.js';
|
|
5
|
+
import { compartmentCooktopActiveBurners, compartmentCooktopBurnersOn, compartmentCooktopKnobProgress, compartmentCooktopLayout, compartmentCooktopShowGrate, } from '../stack.js';
|
|
6
|
+
import { addBox, applianceDisplayMaterial, cooktopBurnerMaterial, cooktopGlassMaterial, cooktopGrateMaterial, cooktopInductionActiveZoneMaterial, cooktopInductionZoneMaterial, cooktopKnobHitMaterial, cooktopKnobOnMaterial, cooktopTrimMaterial, createCabinetPanelGeometry, createWorldScaleBoxGeometry, stampSlot, } from './shared.js';
|
|
6
7
|
export const GAS_HOB_BURNER_RADIUS = 0.052;
|
|
7
8
|
const GAS_HOB_BURNER_LAYOUTS = {
|
|
8
9
|
'gas-2burner': [
|
|
@@ -64,19 +65,19 @@ function addCooktopFrameBorder(group, name, width, depth, y) {
|
|
|
64
65
|
function addGasHobBurner(group, name, center, size, burnerIndex, active, progress) {
|
|
65
66
|
const r = GAS_HOB_BURNER_RADIUS * size;
|
|
66
67
|
const [x, y, z] = center;
|
|
67
|
-
const base = stampSlot(new Mesh(new CylinderGeometry(r, r * 1.1, 0.012,
|
|
68
|
+
const base = stampSlot(new Mesh(new CylinderGeometry(r, r * 1.1, 0.012, 20), cooktopBurnerMaterial), 'appliance');
|
|
68
69
|
base.name = `${name}-burner-${burnerIndex}-base`;
|
|
69
70
|
base.position.set(x, y, z);
|
|
70
71
|
base.castShadow = true;
|
|
71
72
|
base.receiveShadow = true;
|
|
72
73
|
group.add(base);
|
|
73
|
-
const ring = stampSlot(new Mesh(new TorusGeometry(r * 0.72, 0.011,
|
|
74
|
+
const ring = stampSlot(new Mesh(new TorusGeometry(r * 0.72, 0.011, 4, 20), cooktopGrateMaterial), 'appliance');
|
|
74
75
|
ring.name = `${name}-burner-${burnerIndex}-ring`;
|
|
75
|
-
ring.rotation.x = Math.PI / 2;
|
|
76
|
+
ring.rotation.x = -Math.PI / 2;
|
|
76
77
|
ring.position.set(x, y + 0.012, z);
|
|
77
78
|
ring.castShadow = true;
|
|
78
79
|
group.add(ring);
|
|
79
|
-
const cap = stampSlot(new Mesh(new CylinderGeometry(r * 0.48, r * 0.6, 0.012,
|
|
80
|
+
const cap = stampSlot(new Mesh(new CylinderGeometry(r * 0.48, r * 0.6, 0.012, 16), cooktopGrateMaterial), 'hardware');
|
|
80
81
|
cap.name = `${name}-burner-${burnerIndex}-cap`;
|
|
81
82
|
cap.position.set(x, y + 0.017, z);
|
|
82
83
|
cap.castShadow = true;
|
|
@@ -100,6 +101,40 @@ function addContinuousCooktopGrate(group, name, width, depth, y, burners) {
|
|
|
100
101
|
for (let i = 0; i < colXs.length - 1; i += 1) {
|
|
101
102
|
addBox(group, [t, bar, depth], [(colXs[i] + colXs[i + 1]) / 2, y, 0], cooktopGrateMaterial, `${name}-continuous-grate-column-${i}`, 'appliance');
|
|
102
103
|
}
|
|
104
|
+
const supports = [];
|
|
105
|
+
burners.forEach((burner) => {
|
|
106
|
+
const gap = GAS_HOB_BURNER_RADIUS * burner.size * 0.7;
|
|
107
|
+
for (const axis of ['x', 'z']) {
|
|
108
|
+
const coordinates = axis === 'x' ? colXs : rowZs;
|
|
109
|
+
const extent = (axis === 'x' ? width : depth) / 2;
|
|
110
|
+
const center = burner[axis];
|
|
111
|
+
const lower = coordinates.filter((value) => value < center - 0.001).at(-1);
|
|
112
|
+
const upper = coordinates.find((value) => value > center + 0.001);
|
|
113
|
+
const boundaries = [
|
|
114
|
+
lower == null ? -extent : (lower + center) / 2,
|
|
115
|
+
upper == null ? extent : (upper + center) / 2,
|
|
116
|
+
];
|
|
117
|
+
boundaries.forEach((boundary, side) => {
|
|
118
|
+
const inner = center + (side === 0 ? -gap : gap);
|
|
119
|
+
const length = Math.abs(boundary - inner);
|
|
120
|
+
const geometry = axis === 'x'
|
|
121
|
+
? createWorldScaleBoxGeometry(length, bar, t)
|
|
122
|
+
: createWorldScaleBoxGeometry(t, bar, length);
|
|
123
|
+
geometry.translate(axis === 'x' ? (inner + boundary) / 2 : burner.x, y, axis === 'z' ? (inner + boundary) / 2 : burner.z);
|
|
124
|
+
supports.push(geometry);
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
});
|
|
128
|
+
const supportGeometry = mergeGeometries(supports, false);
|
|
129
|
+
for (const geometry of supports)
|
|
130
|
+
geometry.dispose();
|
|
131
|
+
if (supportGeometry) {
|
|
132
|
+
const mesh = stampSlot(new Mesh(supportGeometry, cooktopGrateMaterial), 'appliance');
|
|
133
|
+
mesh.name = `${name}-pan-supports`;
|
|
134
|
+
mesh.castShadow = true;
|
|
135
|
+
mesh.receiveShadow = true;
|
|
136
|
+
group.add(mesh);
|
|
137
|
+
}
|
|
103
138
|
}
|
|
104
139
|
function createCooktopFlameMaterial(color, opacity) {
|
|
105
140
|
return new MeshBasicMaterial({
|
|
@@ -175,14 +210,15 @@ function addInductionZone(group, name, zone, y, zoneIndex, active) {
|
|
|
175
210
|
if (zone.w && zone.d) {
|
|
176
211
|
addBox(group, [zone.w, 0.002, zone.d], [zone.x, y, zone.z], material, `${name}-zone-${zoneIndex}-flex-pad`, 'appliance');
|
|
177
212
|
}
|
|
178
|
-
const fill = stampSlot(new Mesh(new
|
|
213
|
+
const fill = stampSlot(new Mesh(new CircleGeometry(zone.radius * 0.92, 32), active ? material : cooktopGlassMaterial), 'appliance');
|
|
179
214
|
fill.name = `${name}-zone-${zoneIndex}-fill`;
|
|
215
|
+
fill.rotation.x = -Math.PI / 2;
|
|
180
216
|
fill.position.set(zone.x, y + 0.001, zone.z);
|
|
181
217
|
group.add(fill);
|
|
182
218
|
for (let ringIndex = 0; ringIndex < 3; ringIndex += 1) {
|
|
183
|
-
const ring = stampSlot(new Mesh(new
|
|
219
|
+
const ring = stampSlot(new Mesh(new RingGeometry(zone.radius * (1 - ringIndex * 0.24) - 0.0022, zone.radius * (1 - ringIndex * 0.24) + 0.0022, 48), material), 'appliance');
|
|
184
220
|
ring.name = `${name}-zone-${zoneIndex}-ring-${ringIndex}`;
|
|
185
|
-
ring.rotation.x = Math.PI / 2;
|
|
221
|
+
ring.rotation.x = -Math.PI / 2;
|
|
186
222
|
ring.position.set(zone.x, y + 0.003 + ringIndex * 0.0006, zone.z);
|
|
187
223
|
group.add(ring);
|
|
188
224
|
}
|
|
@@ -199,7 +235,7 @@ export function addCooktopCompartment(group, node, compartment, type, topY, inde
|
|
|
199
235
|
const surfaceThickness = 0.012;
|
|
200
236
|
const surfaceY = topY + surfaceThickness / 2 - 0.002;
|
|
201
237
|
addCooktopFrameBorder(group, name, frameWidth, frameDepth, topY + 0.006);
|
|
202
|
-
const surface = stampSlot(new Mesh(
|
|
238
|
+
const surface = stampSlot(new Mesh(createCabinetPanelGeometry(surfaceWidth, surfaceThickness, surfaceDepth), cooktopGlassMaterial), 'appliance');
|
|
203
239
|
surface.name = `${name}-surface`;
|
|
204
240
|
surface.position.set(0, surfaceY, 0);
|
|
205
241
|
surface.castShadow = true;
|
|
@@ -232,12 +268,12 @@ export function addCooktopCompartment(group, node, compartment, type, topY, inde
|
|
|
232
268
|
hit.position.set(knobX, topY + surfaceThickness + 0.019, knobZ);
|
|
233
269
|
hit.userData.cabinetCooktopKnob = knobUserData;
|
|
234
270
|
group.add(hit);
|
|
235
|
-
const collar = stampSlot(new Mesh(new CylinderGeometry(0.016, 0.018, 0.006,
|
|
271
|
+
const collar = stampSlot(new Mesh(new CylinderGeometry(0.016, 0.018, 0.006, 12), cooktopTrimMaterial), 'hardware');
|
|
236
272
|
collar.name = `${name}-knob-${knobIndex}-collar`;
|
|
237
273
|
collar.position.set(knobX, topY + surfaceThickness + 0.006, knobZ);
|
|
238
274
|
collar.userData.cabinetCooktopKnob = knobUserData;
|
|
239
275
|
group.add(collar);
|
|
240
|
-
const knob = stampSlot(new Mesh(new CylinderGeometry(0.012, 0.015, 0.02,
|
|
276
|
+
const knob = stampSlot(new Mesh(new CylinderGeometry(0.012, 0.015, 0.02, 12), cooktopGrateMaterial), 'hardware');
|
|
241
277
|
knob.name = `${name}-knob-${knobIndex}`;
|
|
242
278
|
knob.position.set(knobX, topY + surfaceThickness + 0.019, knobZ);
|
|
243
279
|
knob.rotation.y = knobAngle;
|
|
@@ -245,7 +281,7 @@ export function addCooktopCompartment(group, node, compartment, type, topY, inde
|
|
|
245
281
|
knob.castShadow = true;
|
|
246
282
|
group.add(knob);
|
|
247
283
|
// Child of the knob so it turns with it and keeps pointing radially.
|
|
248
|
-
const notch = stampSlot(new Mesh(new BoxGeometry(0.003, 0.004, 0.011), progress > 0.5 ? cooktopKnobOnMaterial :
|
|
284
|
+
const notch = stampSlot(new Mesh(new BoxGeometry(0.003, 0.004, 0.011), progress > 0.5 ? cooktopKnobOnMaterial : cooktopBurnerMaterial), 'hardware');
|
|
249
285
|
notch.name = `${name}-knob-${knobIndex}-notch`;
|
|
250
286
|
notch.position.set(0, 0.012, 0.011);
|
|
251
287
|
knob.add(notch);
|
|
@@ -256,13 +292,14 @@ export function addCooktopCompartment(group, node, compartment, type, topY, inde
|
|
|
256
292
|
zones.forEach((zone, zoneIndex) => {
|
|
257
293
|
addInductionZone(group, name, zone, topY + surfaceThickness + 0.002, zoneIndex, activeBurners.has(zoneIndex));
|
|
258
294
|
});
|
|
259
|
-
const controlBar = stampSlot(new Mesh(new BoxGeometry(Math.min(0.24, surfaceWidth * 0.38), 0.003, 0.012), applianceDisplayMaterial), 'appliance');
|
|
295
|
+
const controlBar = stampSlot(new Mesh(new BoxGeometry(Math.min(0.24, surfaceWidth * 0.38), 0.003, 0.012), burnersOn ? applianceDisplayMaterial : cooktopTrimMaterial), 'appliance');
|
|
260
296
|
controlBar.name = `${name}-touch-control-bar`;
|
|
261
297
|
controlBar.position.set(0, topY + surfaceThickness + 0.003, surfaceDepth / 2 - 0.045);
|
|
262
298
|
group.add(controlBar);
|
|
263
299
|
for (let dotIndex = 0; dotIndex < zones.length + 2; dotIndex += 1) {
|
|
264
|
-
const dot = stampSlot(new Mesh(new
|
|
300
|
+
const dot = stampSlot(new Mesh(new CircleGeometry(0.005, 12), burnersOn ? cooktopInductionActiveZoneMaterial : cooktopInductionZoneMaterial), 'appliance');
|
|
265
301
|
dot.name = `${name}-touch-dot-${dotIndex}`;
|
|
302
|
+
dot.rotation.x = -Math.PI / 2;
|
|
266
303
|
dot.position.set(-0.015 * (zones.length + 1) + dotIndex * 0.03, topY + surfaceThickness + 0.005, surfaceDepth / 2 - 0.066);
|
|
267
304
|
group.add(dot);
|
|
268
305
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Group } from 'three';
|
|
2
|
-
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared';
|
|
2
|
+
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared.js';
|
|
3
3
|
export declare function addDishwasherCompartment(group: Group, node: CabinetGeometryNode, materials: CabinetSlotMaterials, faceWidth: number, faceHeight: number, faceCenterY: number, openingWidth: number, openingDepth: number, frontZ: number, index: number): void;
|
|
4
4
|
//# sourceMappingURL=dishwasher.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dishwasher.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/dishwasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,EAAQ,MAAM,OAAO,CAAA;AAClE,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAa1B,MAAM,UAAU,CAAA;AAEjB,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"dishwasher.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/dishwasher.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiC,KAAK,EAAQ,MAAM,OAAO,CAAA;AAClE,OAAO,EAKL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAa1B,MAAM,UAAU,CAAA;AAEjB,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,QAkSd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { BoxGeometry, CylinderGeometry, Group, Mesh } from 'three';
|
|
2
|
-
import { APPLIANCE_CAVITY_WALL, addBox, addMicrowaveDisplaySegments, addWireRack, microwaveButtonMaterial, microwavePanelMaterial, microwaveScreenMaterial, OVEN_OPEN_ANGLE, refrigeratorBrassAccentMaterial, refrigeratorDarkTrimMaterial, refrigeratorLinerAccentMaterial, refrigeratorLinerMaterial, refrigeratorSealMaterial, refrigeratorSilverMaterial, roundedButtonGeometry, stampSlot, } from './shared';
|
|
2
|
+
import { APPLIANCE_CAVITY_WALL, addBox, addMicrowaveDisplaySegments, addWireRack, microwaveButtonMaterial, microwavePanelMaterial, microwaveScreenMaterial, OVEN_OPEN_ANGLE, refrigeratorBrassAccentMaterial, refrigeratorDarkTrimMaterial, refrigeratorLinerAccentMaterial, refrigeratorLinerMaterial, refrigeratorSealMaterial, refrigeratorSilverMaterial, roundedButtonGeometry, stampSlot, } from './shared.js';
|
|
3
3
|
export function addDishwasherCompartment(group, node, materials, faceWidth, faceHeight, faceCenterY, openingWidth, openingDepth, frontZ, index) {
|
|
4
4
|
const name = `cabinet-dishwasher-${index}`;
|
|
5
5
|
const gap = node.frontGap;
|
|
@@ -21,16 +21,15 @@ export function addDishwasherCompartment(group, node, materials, faceWidth, face
|
|
|
21
21
|
addBox(group, [tubWidth + wall * 2, wall, tubDepth], [0, doorCenterY - tubHeight / 2 - wall / 2, tubCenterZ], refrigeratorLinerMaterial, `${name}-tub-bottom`, 'applianceInterior');
|
|
22
22
|
addBox(group, [wall, tubHeight, tubDepth], [-tubWidth / 2 - wall / 2, doorCenterY, tubCenterZ], refrigeratorLinerMaterial, `${name}-tub-left`, 'applianceInterior');
|
|
23
23
|
addBox(group, [wall, tubHeight, tubDepth], [tubWidth / 2 + wall / 2, doorCenterY, tubCenterZ], refrigeratorLinerMaterial, `${name}-tub-right`, 'applianceInterior');
|
|
24
|
-
addWireRack(group, materials, Math.max(0.02, tubWidth - 0.04), Math.max(0.02, tubDepth - 0.08), doorCenterY + tubHeight * 0.18, tubCenterZ, `${name}-upper-rack
|
|
25
|
-
addWireRack(group, materials, Math.max(0.02, tubWidth - 0.04), Math.max(0.02, tubDepth - 0.08), doorCenterY - tubHeight * 0.18, tubCenterZ, `${name}-lower-rack
|
|
24
|
+
addWireRack(group, materials, Math.max(0.02, tubWidth - 0.04), Math.max(0.02, tubDepth - 0.08), doorCenterY + tubHeight * 0.18, tubCenterZ, `${name}-upper-rack`, Math.min(0.055, tubHeight * 0.12));
|
|
25
|
+
addWireRack(group, materials, Math.max(0.02, tubWidth - 0.04), Math.max(0.02, tubDepth - 0.08), doorCenterY - tubHeight * 0.18, tubCenterZ, `${name}-lower-rack`, Math.min(0.07, tubHeight * 0.14));
|
|
26
26
|
const sprayArmY = doorCenterY - tubHeight * 0.36;
|
|
27
27
|
const sprayArm = stampSlot(new Mesh(new BoxGeometry(tubWidth * 0.64, 0.008, 0.012), refrigeratorLinerAccentMaterial), 'applianceInterior');
|
|
28
28
|
sprayArm.name = `${name}-spray-arm`;
|
|
29
29
|
sprayArm.position.set(0, sprayArmY, tubFrontZ - tubDepth * 0.2);
|
|
30
30
|
group.add(sprayArm);
|
|
31
|
-
const sprayHub = stampSlot(new Mesh(new CylinderGeometry(0.018, 0.018, 0.012,
|
|
31
|
+
const sprayHub = stampSlot(new Mesh(new CylinderGeometry(0.018, 0.018, 0.012, 12), refrigeratorLinerAccentMaterial), 'applianceInterior');
|
|
32
32
|
sprayHub.name = `${name}-spray-hub`;
|
|
33
|
-
sprayHub.rotation.x = Math.PI / 2;
|
|
34
33
|
sprayHub.position.set(0, sprayArmY, tubFrontZ - tubDepth * 0.2);
|
|
35
34
|
group.add(sprayHub);
|
|
36
35
|
const hingeGroup = new Group();
|
|
@@ -43,7 +42,7 @@ export function addDishwasherCompartment(group, node, materials, faceWidth, face
|
|
|
43
42
|
leaf.name = `${name}-door`;
|
|
44
43
|
leaf.position.set(0, doorHeight / 2, 0);
|
|
45
44
|
hingeGroup.add(leaf);
|
|
46
|
-
const panel = stampSlot(new Mesh(roundedButtonGeometry(doorWidth, doorHeight, frontThickness, Math.min(doorWidth, doorHeight) * 0.
|
|
45
|
+
const panel = stampSlot(new Mesh(roundedButtonGeometry(doorWidth, doorHeight, frontThickness, Math.min(doorWidth, doorHeight) * 0.012), materials.appliance), 'appliance');
|
|
47
46
|
panel.name = `${name}-door-panel`;
|
|
48
47
|
panel.castShadow = true;
|
|
49
48
|
panel.receiveShadow = true;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Group } from 'three';
|
|
2
|
-
import type { CabinetFridgeCompartmentType } from '../stack';
|
|
3
|
-
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared';
|
|
2
|
+
import type { CabinetFridgeCompartmentType } from '../stack.js';
|
|
3
|
+
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared.js';
|
|
4
4
|
export declare function addFridgeCompartment(group: Group, node: CabinetGeometryNode, materials: CabinetSlotMaterials, kind: CabinetFridgeCompartmentType, faceWidth: number, faceHeight: number, faceCenterY: number, openingWidth: number, openingDepth: number, frontZ: number, index: number): void;
|
|
5
5
|
//# sourceMappingURL=fridge.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fridge.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/fridge.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"fridge.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/fridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,EAIN,MAAM,OAAO,CAAA;AACd,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,UAAU,CAAA;AAE5D,OAAO,EAIL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAc1B,MAAM,UAAU,CAAA;AAi5BjB,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,4BAA4B,EAClC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,QAqOd"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { BoxGeometry, Group, Mesh } from 'three';
|
|
2
|
-
import { addHandleFeature, buildFrontGeometry } from './fronts';
|
|
3
|
-
import { addApplianceHandle, addBox, applianceDisplayMaterial, microwaveScreenMaterial, refrigeratorBinMaterial, refrigeratorBrassAccentMaterial, refrigeratorDarkTrimMaterial, refrigeratorDrawerMaterial, refrigeratorLightMaterial, refrigeratorLinerAccentMaterial, refrigeratorLinerMaterial, refrigeratorSealMaterial, refrigeratorSilverMaterial, refrigeratorWaterMaterial, roundedButtonGeometry, stampSlot, } from './shared';
|
|
1
|
+
import { BoxGeometry, BufferGeometry, Float32BufferAttribute, Group, Mesh, PlaneGeometry, } from 'three';
|
|
2
|
+
import { addHandleFeature, buildFrontGeometry } from './fronts.js';
|
|
3
|
+
import { addApplianceHandle, addBox, applianceDisplayMaterial, microwaveScreenMaterial, refrigeratorBinMaterial, refrigeratorBrassAccentMaterial, refrigeratorDarkTrimMaterial, refrigeratorDrawerMaterial, refrigeratorLightMaterial, refrigeratorLinerAccentMaterial, refrigeratorLinerMaterial, refrigeratorSealMaterial, refrigeratorSilverMaterial, refrigeratorWaterMaterial, roundedButtonGeometry, stampSlot, } from './shared.js';
|
|
4
4
|
function addFridgeWireBasket(group, materials, x, width, depth, y, zCenter, name) {
|
|
5
5
|
const bar = 0.006;
|
|
6
6
|
const railHeight = 0.07;
|
|
@@ -92,10 +92,51 @@ function addFridgeRearDiffuser(group, x, y, z, width, height, name) {
|
|
|
92
92
|
}
|
|
93
93
|
function addFridgeCrisperDrawer(group, materials, x, y, zCenter, width, height, depth, name) {
|
|
94
94
|
const wall = 0.008;
|
|
95
|
-
|
|
96
|
-
|
|
95
|
+
const ring = (w, d, h) => [
|
|
96
|
+
[-w / 2, h, -d / 2],
|
|
97
|
+
[w / 2, h, -d / 2],
|
|
98
|
+
[w / 2, h, d / 2],
|
|
99
|
+
[-w / 2, h, d / 2],
|
|
100
|
+
];
|
|
101
|
+
const lower = ring(width, depth, -height / 2);
|
|
102
|
+
const upper = ring(width, depth, height / 2);
|
|
103
|
+
const innerLower = ring(width - 2 * wall, depth - 2 * wall, -height / 2 + wall);
|
|
104
|
+
const innerUpper = ring(width - 2 * wall, depth - 2 * wall, height / 2);
|
|
105
|
+
const positions = [];
|
|
106
|
+
const quad = (a, b, c, d) => {
|
|
107
|
+
positions.push(...a, ...b, ...c, ...a, ...c, ...d);
|
|
108
|
+
};
|
|
109
|
+
quad(lower[0], lower[1], lower[2], lower[3]);
|
|
110
|
+
quad(innerLower[3], innerLower[2], innerLower[1], innerLower[0]);
|
|
111
|
+
for (let i = 0; i < 4; i++) {
|
|
112
|
+
const j = (i + 1) % 4;
|
|
113
|
+
quad(lower[i], upper[i], upper[j], lower[j]);
|
|
114
|
+
quad(innerLower[j], innerUpper[j], innerUpper[i], innerLower[i]);
|
|
115
|
+
quad(upper[i], innerUpper[i], innerUpper[j], upper[j]);
|
|
116
|
+
}
|
|
117
|
+
const geometry = new BufferGeometry();
|
|
118
|
+
geometry.setAttribute('position', new Float32BufferAttribute(positions, 3));
|
|
119
|
+
geometry.computeVertexNormals();
|
|
120
|
+
const normals = geometry.getAttribute('normal');
|
|
121
|
+
const uvs = [];
|
|
122
|
+
for (let i = 0; i < normals.count; i++) {
|
|
123
|
+
const px = positions[i * 3];
|
|
124
|
+
const py = positions[i * 3 + 1];
|
|
125
|
+
const pz = positions[i * 3 + 2];
|
|
126
|
+
uvs.push(Math.abs(normals.getX(i)) > 0.5 ? pz : px, Math.abs(normals.getY(i)) > 0.5 ? pz : py);
|
|
127
|
+
}
|
|
128
|
+
geometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));
|
|
129
|
+
const bin = stampSlot(new Mesh(geometry, refrigeratorDrawerMaterial), 'applianceInterior');
|
|
130
|
+
bin.name = name;
|
|
131
|
+
bin.position.set(x, y, zCenter);
|
|
132
|
+
bin.castShadow = true;
|
|
133
|
+
bin.receiveShadow = true;
|
|
134
|
+
group.add(bin);
|
|
97
135
|
addBox(group, [width * 0.72, 0.012, 0.01], [x, y + height * 0.12, zCenter + depth / 2 + 0.009], materials.appliance, `${name}-handle`, 'appliance');
|
|
98
|
-
|
|
136
|
+
const label = stampSlot(new Mesh(new PlaneGeometry(width * 0.32, 0.004), refrigeratorLinerAccentMaterial), 'applianceInterior');
|
|
137
|
+
label.name = `${name}-label-plate`;
|
|
138
|
+
label.position.set(x, y - height * 0.08, zCenter + depth / 2 + 0.016);
|
|
139
|
+
group.add(label);
|
|
99
140
|
addBox(group, [width * 0.38, 0.006, 0.005], [x, y + height * 0.36, zCenter + depth / 2 + 0.015], refrigeratorLinerAccentMaterial, `${name}-humidity-track`, 'applianceInterior');
|
|
100
141
|
addBox(group, [width * 0.12, 0.012, 0.008], [x + width * 0.13, y + height * 0.36, zCenter + depth / 2 + 0.019], materials.appliance, `${name}-humidity-slider`, 'appliance');
|
|
101
142
|
}
|
|
@@ -214,13 +255,13 @@ function addFridgeLeaf(group, materials, width, height, hinge, centerX, centerY,
|
|
|
214
255
|
leaf.name = name;
|
|
215
256
|
leaf.position.set(hinge === 'left' ? width / 2 : -width / 2, 0, 0);
|
|
216
257
|
hingeGroup.add(leaf);
|
|
217
|
-
const panel = stampSlot(new Mesh(roundedButtonGeometry(width, height, 0.026, Math.min(width, height) * 0.
|
|
258
|
+
const panel = stampSlot(new Mesh(roundedButtonGeometry(width, height, 0.026, Math.min(width, height) * 0.012), refrigeratorSilverMaterial), 'appliance');
|
|
218
259
|
panel.name = `${name}-panel`;
|
|
219
260
|
panel.castShadow = true;
|
|
220
261
|
panel.receiveShadow = true;
|
|
221
262
|
leaf.add(panel);
|
|
222
263
|
const inset = Math.max(0.012, Math.min(width, height) * 0.025);
|
|
223
|
-
addBox(leaf, [width - inset * 2, Math.max(0.01, height - inset * 2), 0.006], [0, 0, 0.017], materials.appliance, `${name}-brushed-center`, 'appliance');
|
|
264
|
+
addBox(leaf, [width - inset * 2, Math.max(0.01, height - inset * 2), 0.006], [0, 0, 0.017], materials.appliance, `${name}-brushed-center`, 'appliance', true);
|
|
224
265
|
addFridgeDoorCues(leaf, width, height, name);
|
|
225
266
|
const gasketWidth = Math.max(0.008, Math.min(width, height) * 0.018);
|
|
226
267
|
addBox(leaf, [width, gasketWidth, 0.011], [0, height / 2 - gasketWidth / 2, -0.017], refrigeratorSealMaterial, `${name}-gasket-top`, 'applianceInterior');
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { type BufferGeometry, Group, type Material, type Object3D } from 'three';
|
|
2
|
-
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared';
|
|
2
|
+
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared.js';
|
|
3
3
|
export declare function buildFrontGeometry(node: CabinetGeometryNode, width: number, height: number, drawer: boolean, hinge?: 'left' | 'right' | null): BufferGeometry;
|
|
4
4
|
export declare function addBarHandle(group: Object3D, position: [number, number, number], length: number, vertical: boolean, name: string, material: Material): void;
|
|
5
5
|
export declare function addHandleFeature(group: Object3D, node: CabinetGeometryNode, materials: CabinetSlotMaterials, width: number, height: number, hinge: 'left' | 'right' | null, vertical: boolean, drawer?: boolean, name?: string, placement?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fronts.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/fronts.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,EACL,KAAK,QAAQ,EAIb,KAAK,QAAQ,EAGd,MAAM,OAAO,CAAA;AACd,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,
|
|
1
|
+
{"version":3,"file":"fronts.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/fronts.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,cAAc,EAGnB,KAAK,EACL,KAAK,QAAQ,EAIb,KAAK,QAAQ,EAGd,MAAM,OAAO,CAAA;AACd,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAI1B,MAAM,UAAU,CAAA;AAoSjB,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,mBAAmB,EACzB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,OAAO,EACf,KAAK,GAAE,MAAM,GAAG,OAAO,GAAG,IAAW,GACpC,cAAc,CAUhB;AAsBD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAClC,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,QAAQ,QA4BnB;AAwED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,QAAQ,EACf,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI,EAC9B,QAAQ,EAAE,OAAO,EACjB,MAAM,UAAQ,EACd,IAAI,SAAW,EACf,SAAS,CAAC,EAAE;IAAE,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,QA4BvC;AAmJD,wBAAgB,aAAa,CAC3B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,YAAY,EAAE,MAAM,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,aAAa,GAAG,cAAc,GAAG,QAAQ,GAAG,OAAO,QA8C9D;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,QAgBd;AAED,wBAAgB,cAAc,CAC5B,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,oBAAoB,EAC/B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,SAAI,QAcZ;AAOD,wBAAgB,eAAe,CAC7B,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,eAAe,EAAE,MAAM,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,QAyGjB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Brush, csgEvaluator, csgGeometry, prepareBrushForCSG, SUBTRACTION, } from '@pascal-app/viewer';
|
|
2
2
|
import { BoxGeometry, CylinderGeometry, ExtrudeGeometry, Group, Mesh, MeshBasicMaterial, Shape, SphereGeometry, } from 'three';
|
|
3
|
-
import { addBox, createWorldScaleBoxGeometry, stampSlot, } from './shared';
|
|
3
|
+
import { addBox, createCabinetPanelGeometry, createWorldScaleBoxGeometry, stampSlot, } from './shared.js';
|
|
4
4
|
const DRAWER_MIN_OPEN = 0.32;
|
|
5
5
|
const HANDLE_EDGE_INSET = 0.045;
|
|
6
6
|
const HANDLE_TOP_INSET = 0.05;
|
|
@@ -136,7 +136,7 @@ function buildBaseFrontGeometry(node, width, height, drawer, hinge) {
|
|
|
136
136
|
return buildCutoutFrontGeometry(node, width, height, drawer, hinge);
|
|
137
137
|
if (node.handleStyle === 'hole')
|
|
138
138
|
return buildHoleFrontGeometry(node, width, height, drawer, hinge);
|
|
139
|
-
return
|
|
139
|
+
return createCabinetPanelGeometry(width, height, node.frontThickness);
|
|
140
140
|
}
|
|
141
141
|
function applyShakerFrontProfile(node, base, width, height) {
|
|
142
142
|
const frame = resolveShakerFrameSize(width, height);
|
|
@@ -245,7 +245,7 @@ function buildHoleFrontGeometry(node, width, height, drawer, hinge) {
|
|
|
245
245
|
return subtractFrontCutters(base, cutters, 'hole handle');
|
|
246
246
|
}
|
|
247
247
|
export function addBarHandle(group, position, length, vertical, name, material) {
|
|
248
|
-
const mesh = stampSlot(new Mesh(new CylinderGeometry(0.006, 0.006, length,
|
|
248
|
+
const mesh = stampSlot(new Mesh(new CylinderGeometry(0.006, 0.006, length, 8), material), 'hardware');
|
|
249
249
|
mesh.name = name;
|
|
250
250
|
mesh.position.set(position[0], position[1], position[2] + 0.028);
|
|
251
251
|
if (!vertical)
|
|
@@ -254,7 +254,7 @@ export function addBarHandle(group, position, length, vertical, name, material)
|
|
|
254
254
|
group.add(mesh);
|
|
255
255
|
const standOffDistance = length * 0.38;
|
|
256
256
|
for (const offset of [-standOffDistance, standOffDistance]) {
|
|
257
|
-
const standoff = stampSlot(new Mesh(new CylinderGeometry(0.004, 0.004, 0.026,
|
|
257
|
+
const standoff = stampSlot(new Mesh(new CylinderGeometry(0.004, 0.004, 0.026, 6), material), 'hardware');
|
|
258
258
|
standoff.name = `${name}-standoff`;
|
|
259
259
|
standoff.position.set(position[0] + (vertical ? 0 : offset), position[1] + (vertical ? offset : 0), position[2] + 0.014);
|
|
260
260
|
standoff.rotation.x = Math.PI / 2;
|
|
@@ -269,7 +269,7 @@ function addKnobHandle(group, position, name, material) {
|
|
|
269
269
|
stem.rotation.x = Math.PI / 2;
|
|
270
270
|
stem.castShadow = true;
|
|
271
271
|
group.add(stem);
|
|
272
|
-
const knob = stampSlot(new Mesh(new SphereGeometry(0.011,
|
|
272
|
+
const knob = stampSlot(new Mesh(new SphereGeometry(0.011, 10, 6), material), 'hardware');
|
|
273
273
|
knob.name = name;
|
|
274
274
|
knob.position.set(position[0], position[1], position[2] + 0.022);
|
|
275
275
|
knob.castShadow = true;
|
|
@@ -322,7 +322,11 @@ export function addHandleFeature(group, node, materials, width, height, hinge, v
|
|
|
322
322
|
const x = placement?.x ?? resolvedPlacement.x;
|
|
323
323
|
const y = placement?.y ?? resolvedPlacement.y;
|
|
324
324
|
const z = node.frontThickness / 2;
|
|
325
|
-
|
|
325
|
+
const span = vertical ? height : width;
|
|
326
|
+
const center = vertical ? y : x;
|
|
327
|
+
const available = Math.max(0.01, span - 2 * Math.abs(center) - 0.024);
|
|
328
|
+
const length = Math.min(drawer ? Math.min(0.24, width * 0.3) : 0.18, available);
|
|
329
|
+
addBarHandle(group, [x, y, z], length, vertical, name, materials.hardware);
|
|
326
330
|
return;
|
|
327
331
|
}
|
|
328
332
|
if (style === 'knob') {
|
|
@@ -435,7 +439,7 @@ export function addDrawerFronts(group, node, materials, faceWidth, faceHeight, c
|
|
|
435
439
|
const drawerHeight = Math.max(0.01, (usableHeight - (count - 1) * node.frontGap) / count);
|
|
436
440
|
const drawerSideThickness = Math.min(0.012, node.boardThickness * 0.7);
|
|
437
441
|
const boxWidth = Math.max(0.01, boxOpeningWidth - 0.026);
|
|
438
|
-
const boxHeight = Math.max(0.02, drawerHeight
|
|
442
|
+
const boxHeight = Math.max(0.02, drawerHeight * 0.78);
|
|
439
443
|
const boxCenterZ = boxBackZ + boxDepth / 2;
|
|
440
444
|
for (let i = 0; i < count; i++) {
|
|
441
445
|
const openDistance = Math.min(boxDepth * 0.9, 0.35) * drawerOpenScale(i, count);
|
|
@@ -463,6 +467,16 @@ export function addDrawerFronts(group, node, materials, faceWidth, faceHeight, c
|
|
|
463
467
|
addBox(slideGroup, [drawerSideThickness, boxHeight, boxDepth], [-(boxWidth / 2) + drawerSideThickness / 2, y, boxCenterZ], materials.carcass, `cabinet-drawer-side-left-${centerY.toFixed(3)}-${i}`, 'carcass');
|
|
464
468
|
addBox(slideGroup, [drawerSideThickness, boxHeight, boxDepth], [boxWidth / 2 - drawerSideThickness / 2, y, boxCenterZ], materials.carcass, `cabinet-drawer-side-right-${centerY.toFixed(3)}-${i}`, 'carcass');
|
|
465
469
|
addBox(slideGroup, [boxWidth - 2 * drawerSideThickness, boxHeight, drawerSideThickness], [0, y, boxBackZ + drawerSideThickness / 2], materials.carcass, `cabinet-drawer-back-${centerY.toFixed(3)}-${i}`, 'carcass');
|
|
466
|
-
addBox(slideGroup, [boxWidth - 2 * drawerSideThickness, drawerSideThickness, boxDepth - drawerSideThickness], [
|
|
470
|
+
addBox(slideGroup, [boxWidth - 2 * drawerSideThickness, drawerSideThickness, boxDepth - drawerSideThickness], [
|
|
471
|
+
0,
|
|
472
|
+
y - boxHeight / 2 + drawerSideThickness / 2 + Math.min(0.008, boxHeight * 0.1),
|
|
473
|
+
boxCenterZ,
|
|
474
|
+
], materials.carcass, `cabinet-drawer-bottom-${centerY.toFixed(3)}-${i}`, 'carcass');
|
|
475
|
+
for (const side of [-1, 1]) {
|
|
476
|
+
const runnerX = side * (boxWidth / 2 + 0.004);
|
|
477
|
+
const runnerY = y - boxHeight * 0.3;
|
|
478
|
+
addBox(group, [0.006, 0.018, boxDepth * 0.9], [runnerX, runnerY, boxCenterZ], materials.hardware, `cabinet-drawer-fixed-runner-${centerY.toFixed(3)}-${i}-${side}`, 'hardware');
|
|
479
|
+
addBox(slideGroup, [0.004, 0.01, boxDepth * 0.88], [runnerX - side * 0.003, runnerY, boxCenterZ], materials.hardware, `cabinet-drawer-moving-runner-${centerY.toFixed(3)}-${i}-${side}`, 'hardware');
|
|
480
|
+
}
|
|
467
481
|
}
|
|
468
482
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GeometryContext } from '@pascal-app/core';
|
|
2
2
|
import { type Group } from 'three';
|
|
3
|
-
import { type CabinetHoodCompartmentType } from '../stack';
|
|
4
|
-
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared';
|
|
3
|
+
import { type CabinetHoodCompartmentType } from '../stack.js';
|
|
4
|
+
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared.js';
|
|
5
5
|
export declare function addRangeHoodCompartment(group: Group, node: CabinetGeometryNode, materials: CabinetSlotMaterials, kind: CabinetHoodCompartmentType, bottomY: number, height: number, ctx: GeometryContext | undefined, index: number): void;
|
|
6
6
|
//# sourceMappingURL=hood.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hood.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/hood.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAIL,KAAK,KAAK,EAGX,MAAM,OAAO,CAAA;AACd,OAAO,EACL,KAAK,0BAA0B,EAKhC,MAAM,UAAU,CAAA;AACjB,OAAO,
|
|
1
|
+
{"version":3,"file":"hood.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/hood.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAsB,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAC3E,OAAO,EAIL,KAAK,KAAK,EAGX,MAAM,OAAO,CAAA;AACd,OAAO,EACL,KAAK,0BAA0B,EAKhC,MAAM,UAAU,CAAA;AACjB,OAAO,EAGL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAG1B,MAAM,UAAU,CAAA;AA8DjB,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,0BAA0B,EAChC,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,eAAe,GAAG,SAAS,EAChC,KAAK,EAAE,MAAM,QAiId"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { BufferGeometry, ExtrudeGeometry, Float32BufferAttribute, Mesh, Shape, } from 'three';
|
|
2
|
-
import { DEFAULT_CEILING_HEIGHT, HOOD_CANOPY_DEPTH, HOOD_CURVED_BODY_HEIGHT, HOOD_DUCT_SIZE, } from '../stack';
|
|
3
|
-
import { addBox, stampSlot } from './shared';
|
|
2
|
+
import { DEFAULT_CEILING_HEIGHT, HOOD_CANOPY_DEPTH, HOOD_CURVED_BODY_HEIGHT, HOOD_DUCT_SIZE, } from '../stack.js';
|
|
3
|
+
import { addBox, applianceLampMaterial, microwavePanelMaterial, stampSlot, } from './shared.js';
|
|
4
4
|
function buildFrustumGeometry(bottomWidth, bottomDepth, topWidth, topDepth, height, topOffsetZ) {
|
|
5
5
|
const bx = bottomWidth / 2;
|
|
6
6
|
const bz = bottomDepth / 2;
|
|
@@ -90,7 +90,7 @@ export function addRangeHoodCompartment(group, node, materials, kind, bottomY, h
|
|
|
90
90
|
const visorGeometry = new ExtrudeGeometry(profile, {
|
|
91
91
|
depth: width,
|
|
92
92
|
bevelEnabled: false,
|
|
93
|
-
curveSegments:
|
|
93
|
+
curveSegments: 12,
|
|
94
94
|
steps: 1,
|
|
95
95
|
});
|
|
96
96
|
visorGeometry.rotateY(-Math.PI / 2);
|
|
@@ -105,4 +105,16 @@ export function addRangeHoodCompartment(group, node, materials, kind, bottomY, h
|
|
|
105
105
|
const ductTopY = Math.max(ductBottomY + 0.05, resolveHoodDuctTopY(node, ctx));
|
|
106
106
|
const ductHeight = ductTopY - ductBottomY;
|
|
107
107
|
addBox(group, [HOOD_DUCT_SIZE, ductHeight, HOOD_DUCT_SIZE], [0, ductBottomY + ductHeight / 2, ductCenterZ], materials.appliance, `${name}-duct`, 'appliance');
|
|
108
|
+
const bodyDepth = kind === 'hood-pyramid' ? HOOD_CANOPY_DEPTH : Math.min(0.3, HOOD_CANOPY_DEPTH);
|
|
109
|
+
const frontZ = backZ + bodyDepth;
|
|
110
|
+
const filterDepth = bodyDepth * 0.58;
|
|
111
|
+
const filterWidth = width * 0.64;
|
|
112
|
+
addBox(group, [filterWidth, 0.004, filterDepth], [0, bottomY - 0.001, backZ + bodyDepth * 0.48], microwavePanelMaterial, `${name}-filter`, 'applianceInterior');
|
|
113
|
+
for (let i = 0; i < 5; i++) {
|
|
114
|
+
addBox(group, [filterWidth - 0.012, 0.002, filterDepth * 0.09], [0, bottomY - 0.004, backZ + bodyDepth * 0.48 + (i - 2) * filterDepth * 0.17], materials.appliance, `${name}-filter-slat-${i}`, 'appliance');
|
|
115
|
+
}
|
|
116
|
+
for (const side of [-1, 1]) {
|
|
117
|
+
addBox(group, [width * 0.09, 0.003, bodyDepth * 0.12], [side * width * 0.4, bottomY - 0.002, backZ + bodyDepth * 0.65], applianceLampMaterial, `${name}-light-${side}`, 'appliance');
|
|
118
|
+
}
|
|
119
|
+
addBox(group, [Math.min(0.14, width * 0.3), 0.012, 0.002], [0, bottomY + 0.01, frontZ + 0.001], microwavePanelMaterial, `${name}-controls`, 'appliance');
|
|
108
120
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Group, type Material, type Object3D } from 'three';
|
|
2
|
-
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared';
|
|
2
|
+
import { type CabinetGeometryNode, type CabinetSlotMaterials } from './shared.js';
|
|
3
3
|
export declare function addMicrowaveButton(group: Object3D, x: number, y: number, z: number, width: number, height: number, material: Material, name: string): void;
|
|
4
4
|
export declare function addApplianceCompartment(group: Group, node: CabinetGeometryNode, materials: CabinetSlotMaterials, kind: 'oven' | 'microwave', faceWidth: number, faceHeight: number, faceCenterY: number, openingWidth: number, openingDepth: number, frontZ: number, index: number): void;
|
|
5
5
|
//# sourceMappingURL=oven-microwave.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oven-microwave.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/oven-microwave.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"oven-microwave.d.ts","sourceRoot":"","sources":["../../../src/cabinet/geometry/oven-microwave.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,EACL,KAAK,QAAQ,EAEb,KAAK,QAAQ,EAEd,MAAM,OAAO,CAAA;AACd,OAAO,EAOL,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,EAc1B,MAAM,UAAU,CAAA;AAsBjB,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,QAAQ,EACf,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM,EACT,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ,EAClB,IAAI,EAAE,MAAM,QAqBb;AA4cD,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,mBAAmB,EACzB,SAAS,EAAE,oBAAoB,EAC/B,IAAI,EAAE,MAAM,GAAG,WAAW,EAC1B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,QA4Sd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { BoxGeometry, CylinderGeometry, Group, Mesh, TorusGeometry, } from 'three';
|
|
2
|
-
import { APPLIANCE_CAVITY_WALL, addApplianceHandle, addBox, addMicrowaveDisplaySegments, addWireRack, applianceLampMaterial, microwaveButtonMaterial, microwaveCancelButtonMaterial, microwavePanelMaterial, microwaveScreenMaterial, microwaveStartButtonMaterial, OVEN_OPEN_ANGLE, ovenDialMaterial, ovenHeatElementMaterial, ovenIndicatorMaterial, ovenStatusLightMaterials, roundedButtonGeometry, stampSlot, } from './shared';
|
|
1
|
+
import { BoxGeometry, BufferGeometry, CylinderGeometry, DoubleSide, Float32BufferAttribute, Group, Mesh, TorusGeometry, } from 'three';
|
|
2
|
+
import { APPLIANCE_CAVITY_WALL, addApplianceHandle, addBox, addMicrowaveDisplaySegments, addWireRack, applianceLampMaterial, createCabinetPanelGeometry, microwaveButtonMaterial, microwaveCancelButtonMaterial, microwavePanelMaterial, microwaveScreenMaterial, microwaveStartButtonMaterial, OVEN_OPEN_ANGLE, ovenDialMaterial, ovenHeatElementMaterial, ovenIndicatorMaterial, ovenStatusLightMaterials, roundedButtonGeometry, stampSlot, } from './shared.js';
|
|
3
3
|
function addMicrowaveVentSlats(group, x, y, z, width, name) {
|
|
4
4
|
const slatWidth = Math.max(0.018, width * 0.52);
|
|
5
5
|
for (let i = 0; i < 5; i += 1) {
|
|
@@ -62,7 +62,7 @@ function addOvenVentSlots(group, x, y, z, width, name) {
|
|
|
62
62
|
}
|
|
63
63
|
}
|
|
64
64
|
function addOvenRotaryDial(group, x, y, z, radius, name) {
|
|
65
|
-
const dial = stampSlot(new Mesh(new CylinderGeometry(radius, radius, 0.018,
|
|
65
|
+
const dial = stampSlot(new Mesh(new CylinderGeometry(radius, radius, 0.018, 20), ovenDialMaterial), 'appliance');
|
|
66
66
|
dial.name = name;
|
|
67
67
|
dial.rotation.x = Math.PI / 2;
|
|
68
68
|
dial.position.set(x, y, z + 0.009);
|
|
@@ -76,7 +76,7 @@ function addOvenRotaryDial(group, x, y, z, radius, name) {
|
|
|
76
76
|
indicator.name = `${name}-indicator`;
|
|
77
77
|
indicator.position.set(x, y + radius * 0.34, z + 0.022);
|
|
78
78
|
group.add(indicator);
|
|
79
|
-
const ring = stampSlot(new Mesh(new TorusGeometry(radius * 1.25, 0.002,
|
|
79
|
+
const ring = stampSlot(new Mesh(new TorusGeometry(radius * 1.25, 0.002, 4, 24), microwaveScreenMaterial), 'appliance');
|
|
80
80
|
ring.name = `${name}-ring`;
|
|
81
81
|
ring.position.set(x, y, z + 0.003);
|
|
82
82
|
group.add(ring);
|
|
@@ -134,51 +134,75 @@ function addOvenDoorDetails(leaf, materials, width, height, glassWidth, glassHei
|
|
|
134
134
|
}
|
|
135
135
|
function addOvenInteriorDetails(group, materials, x, y, z, width, height, depth, name) {
|
|
136
136
|
const fanRadius = Math.min(width, height) * 0.18;
|
|
137
|
-
const fanRing = stampSlot(new Mesh(new TorusGeometry(fanRadius, 0.004,
|
|
137
|
+
const fanRing = stampSlot(new Mesh(new TorusGeometry(fanRadius, 0.004, 6, 24), materials.applianceInterior), 'applianceInterior');
|
|
138
138
|
fanRing.name = `${name}-convection-fan-ring`;
|
|
139
139
|
fanRing.position.set(x, y, z + 0.012);
|
|
140
140
|
group.add(fanRing);
|
|
141
|
-
const hub = stampSlot(new Mesh(new CylinderGeometry(fanRadius * 0.22, fanRadius * 0.22, 0.008,
|
|
141
|
+
const hub = stampSlot(new Mesh(new CylinderGeometry(fanRadius * 0.22, fanRadius * 0.22, 0.008, 12), materials.applianceInterior), 'applianceInterior');
|
|
142
142
|
hub.name = `${name}-convection-fan-hub`;
|
|
143
143
|
hub.rotation.x = Math.PI / 2;
|
|
144
144
|
hub.position.set(x, y, z + 0.018);
|
|
145
145
|
group.add(hub);
|
|
146
146
|
for (let i = 0; i < 4; i += 1) {
|
|
147
|
-
const blade = stampSlot(new Mesh(new BoxGeometry(fanRadius * 0.
|
|
147
|
+
const blade = stampSlot(new Mesh(new BoxGeometry(fanRadius * 0.6, fanRadius * 0.22, 0.003), materials.applianceInterior), 'applianceInterior');
|
|
148
148
|
blade.name = `${name}-convection-fan-blade-${i}`;
|
|
149
|
-
|
|
150
|
-
blade.
|
|
149
|
+
const angle = (i * Math.PI) / 2;
|
|
150
|
+
blade.rotation.z = angle + Math.PI / 8;
|
|
151
|
+
blade.position.set(x + Math.cos(angle) * fanRadius * 0.46, y + Math.sin(angle) * fanRadius * 0.46, z + 0.02);
|
|
151
152
|
group.add(blade);
|
|
152
153
|
}
|
|
153
|
-
const element = stampSlot(new Mesh(new TorusGeometry(Math.min(width, depth) * 0.32, 0.004,
|
|
154
|
+
const element = stampSlot(new Mesh(new TorusGeometry(Math.min(width, depth) * 0.32, 0.004, 6, 32), ovenHeatElementMaterial), 'applianceInterior');
|
|
154
155
|
element.name = `${name}-top-heating-element`;
|
|
155
156
|
element.rotation.x = Math.PI / 2;
|
|
156
157
|
element.scale.y = 0.58;
|
|
157
158
|
element.position.set(x, y + height * 0.34, z + depth * 0.2);
|
|
158
159
|
group.add(element);
|
|
159
160
|
}
|
|
161
|
+
const microwaveWindowMaterial = microwaveScreenMaterial.clone();
|
|
162
|
+
microwaveWindowMaterial.side = DoubleSide;
|
|
160
163
|
function addMicrowaveDoorMesh(leaf, width, height, z, name) {
|
|
161
|
-
const columns =
|
|
162
|
-
const rows =
|
|
163
|
-
const dotSize = Math.max(0.0035, Math.min(width, height) * 0.018);
|
|
164
|
+
const columns = 15;
|
|
165
|
+
const rows = 9;
|
|
164
166
|
const meshWidth = width * 0.7;
|
|
165
167
|
const meshHeight = height * 0.55;
|
|
168
|
+
const radius = Math.min(meshWidth / (columns - 1), meshHeight / (rows - 1)) * 0.18;
|
|
169
|
+
const positions = [];
|
|
170
|
+
const uvs = [];
|
|
171
|
+
const indices = [];
|
|
166
172
|
for (let row = 0; row < rows; row += 1) {
|
|
167
173
|
for (let col = 0; col < columns; col += 1) {
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
174
|
+
const x = -meshWidth / 2 + (meshWidth * col) / (columns - 1);
|
|
175
|
+
const y = -meshHeight / 2 + (meshHeight * row) / (rows - 1);
|
|
176
|
+
const start = positions.length / 3;
|
|
177
|
+
for (const [px, py] of [
|
|
178
|
+
[x - radius, y],
|
|
179
|
+
[x, y - radius],
|
|
180
|
+
[x + radius, y],
|
|
181
|
+
[x, y + radius],
|
|
182
|
+
]) {
|
|
183
|
+
positions.push(px, py, 0);
|
|
184
|
+
uvs.push(px, py);
|
|
185
|
+
}
|
|
186
|
+
indices.push(start, start + 1, start + 2, start, start + 2, start + 3);
|
|
172
187
|
}
|
|
173
188
|
}
|
|
189
|
+
const geometry = new BufferGeometry();
|
|
190
|
+
geometry.setAttribute('position', new Float32BufferAttribute(positions, 3));
|
|
191
|
+
geometry.setAttribute('uv', new Float32BufferAttribute(uvs, 2));
|
|
192
|
+
geometry.setIndex(indices);
|
|
193
|
+
geometry.computeVertexNormals();
|
|
194
|
+
const screen = stampSlot(new Mesh(geometry, microwaveWindowMaterial), 'glass');
|
|
195
|
+
screen.name = `${name}-window-screen`;
|
|
196
|
+
screen.position.z = z + 0.004;
|
|
197
|
+
leaf.add(screen);
|
|
174
198
|
}
|
|
175
199
|
function addMicrowaveTurntable(group, materials, x, y, z, radius, name) {
|
|
176
|
-
const plate = stampSlot(new Mesh(new CylinderGeometry(radius, radius, 0.006,
|
|
200
|
+
const plate = stampSlot(new Mesh(new CylinderGeometry(radius, radius, 0.006, 32), materials.glass), 'glass');
|
|
177
201
|
plate.name = `${name}-turntable`;
|
|
178
202
|
plate.position.set(x, y, z);
|
|
179
203
|
plate.renderOrder = 2;
|
|
180
204
|
group.add(plate);
|
|
181
|
-
const ring = stampSlot(new Mesh(new TorusGeometry(radius * 0.72, 0.004,
|
|
205
|
+
const ring = stampSlot(new Mesh(new TorusGeometry(radius * 0.72, 0.004, 6, 24), materials.applianceInterior), 'applianceInterior');
|
|
182
206
|
ring.name = `${name}-roller-ring`;
|
|
183
207
|
ring.rotation.x = Math.PI / 2;
|
|
184
208
|
ring.position.set(x, y - 0.006, z);
|
|
@@ -217,7 +241,8 @@ export function addApplianceCompartment(group, node, materials, kind, faceWidth,
|
|
|
217
241
|
}
|
|
218
242
|
const wall = APPLIANCE_CAVITY_WALL;
|
|
219
243
|
const cavityWidth = Math.max(0.05, Math.min(doorWidth, openingWidth) - wall * 2);
|
|
220
|
-
|
|
244
|
+
// Keep the liner inside the cabinet envelope to avoid coplanar outer faces.
|
|
245
|
+
const cavityHeight = Math.max(0.05, doorHeight - wall * 2 - 0.004);
|
|
221
246
|
const cavityFrontZ = frontZ - frontThickness / 2 - 0.001;
|
|
222
247
|
const cavityDepth = Math.max(0.05, Math.min(0.55, openingDepth - 0.04));
|
|
223
248
|
const cavityBackZ = cavityFrontZ - cavityDepth;
|
|
@@ -272,7 +297,7 @@ export function addApplianceCompartment(group, node, materials, kind, faceWidth,
|
|
|
272
297
|
addBox(leaf, [doorWidth, frame, frontThickness], [0, -doorHeight / 2 + frame / 2, 0], materials.appliance, `${name}-door-frame-bottom`, 'appliance');
|
|
273
298
|
addBox(leaf, [frame, glassHeight, frontThickness], [-doorWidth / 2 + frame / 2, 0, 0], materials.appliance, `${name}-door-frame-left`, 'appliance');
|
|
274
299
|
addBox(leaf, [frame, glassHeight, frontThickness], [doorWidth / 2 - frame / 2, 0, 0], materials.appliance, `${name}-door-frame-right`, 'appliance');
|
|
275
|
-
const glassMesh = stampSlot(new Mesh(
|
|
300
|
+
const glassMesh = stampSlot(new Mesh(createCabinetPanelGeometry(glassWidth, glassHeight, Math.max(0.003, frontThickness * 0.5)), materials.glass), 'glass');
|
|
276
301
|
glassMesh.name = `${name}-door-glass`;
|
|
277
302
|
glassMesh.position.set(0, 0, 0);
|
|
278
303
|
glassMesh.renderOrder = 2;
|