@pascal-app/nodes 1.0.6 → 1.1.0
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 -8
- package/dist/agent-operations/index.d.ts +5 -0
- package/dist/agent-operations/index.d.ts.map +1 -1
- package/dist/agent-operations/index.js +10 -0
- package/dist/agent-tools/index.d.ts +195 -0
- package/dist/agent-tools/index.d.ts.map +1 -1
- package/dist/agent-tools/index.js +82 -2
- package/dist/beam/actions/move-endpoint.d.ts +24 -0
- package/dist/beam/actions/move-endpoint.d.ts.map +1 -0
- package/dist/beam/actions/move-endpoint.js +54 -0
- package/dist/beam/definition.d.ts +65 -0
- package/dist/beam/definition.d.ts.map +1 -0
- package/dist/beam/definition.edit.d.ts +4 -0
- package/dist/beam/definition.edit.d.ts.map +1 -0
- package/dist/beam/definition.edit.js +133 -0
- package/dist/beam/definition.js +4 -0
- package/dist/beam/definition.render.d.ts +6 -0
- package/dist/beam/definition.render.d.ts.map +1 -0
- package/dist/beam/definition.render.js +32 -0
- package/dist/beam/draft-settings.d.ts +17 -0
- package/dist/beam/draft-settings.d.ts.map +1 -0
- package/dist/beam/draft-settings.js +81 -0
- package/dist/beam/drafting.d.ts +35 -0
- package/dist/beam/drafting.d.ts.map +1 -0
- package/dist/beam/drafting.js +103 -0
- package/dist/beam/floorplan-affordances.d.ts +8 -0
- package/dist/beam/floorplan-affordances.d.ts.map +1 -0
- package/dist/beam/floorplan-affordances.js +40 -0
- package/dist/beam/floorplan-move.d.ts +11 -0
- package/dist/beam/floorplan-move.d.ts.map +1 -0
- package/dist/beam/floorplan-move.js +54 -0
- package/dist/beam/floorplan.d.ts +11 -0
- package/dist/beam/floorplan.d.ts.map +1 -0
- package/dist/beam/floorplan.js +91 -0
- package/dist/beam/geometry.d.ts +19 -0
- package/dist/beam/geometry.d.ts.map +1 -0
- package/dist/beam/geometry.js +63 -0
- package/dist/beam/index.d.ts +3 -0
- package/dist/beam/index.d.ts.map +1 -0
- package/dist/beam/index.js +2 -0
- package/dist/beam/move-endpoint-tool.d.ts +21 -0
- package/dist/beam/move-endpoint-tool.d.ts.map +1 -0
- package/dist/beam/move-endpoint-tool.js +49 -0
- package/dist/beam/move-tool.d.ts +12 -0
- package/dist/beam/move-tool.d.ts.map +1 -0
- package/dist/beam/move-tool.js +114 -0
- package/dist/beam/panel-model.d.ts +28 -0
- package/dist/beam/panel-model.d.ts.map +1 -0
- package/dist/beam/panel-model.js +123 -0
- package/dist/beam/panel.d.ts +13 -0
- package/dist/beam/panel.d.ts.map +1 -0
- package/dist/beam/panel.js +107 -0
- package/dist/beam/parametrics.d.ts +3 -0
- package/dist/beam/parametrics.d.ts.map +1 -0
- package/dist/beam/parametrics.js +4 -0
- package/dist/beam/renderer.d.ts +13 -0
- package/dist/beam/renderer.d.ts.map +1 -0
- package/dist/beam/renderer.js +36 -0
- package/dist/beam/schema.d.ts +2 -0
- package/dist/beam/schema.d.ts.map +1 -0
- package/dist/beam/schema.js +1 -0
- package/dist/beam/tool.d.ts +13 -0
- package/dist/beam/tool.d.ts.map +1 -0
- package/dist/beam/tool.js +152 -0
- package/dist/block/definition.d.ts +67 -7
- package/dist/block/definition.d.ts.map +1 -1
- package/dist/block/definition.edit.d.ts +4 -0
- package/dist/block/definition.edit.d.ts.map +1 -0
- package/dist/block/definition.edit.js +28 -0
- package/dist/block/definition.js +5 -144
- package/dist/block/definition.render.d.ts +11 -0
- package/dist/block/definition.render.d.ts.map +1 -0
- package/dist/block/definition.render.js +120 -0
- package/dist/box-vent/definition.d.ts +103 -29
- package/dist/box-vent/definition.d.ts.map +1 -1
- package/dist/box-vent/definition.edit.d.ts +4 -0
- package/dist/box-vent/definition.edit.d.ts.map +1 -0
- package/dist/box-vent/definition.edit.js +151 -0
- package/dist/box-vent/definition.js +4 -212
- package/dist/box-vent/definition.render.d.ts +6 -0
- package/dist/box-vent/definition.render.d.ts.map +1 -0
- package/dist/box-vent/definition.render.js +40 -0
- package/dist/box-vent/move-tool.d.ts.map +1 -1
- package/dist/box-vent/move-tool.js +6 -5
- package/dist/box-vent/panel.d.ts.map +1 -1
- package/dist/box-vent/panel.js +8 -7
- package/dist/building/definition.d.ts +49 -11
- package/dist/building/definition.d.ts.map +1 -1
- package/dist/building/definition.edit.d.ts +4 -0
- package/dist/building/definition.edit.d.ts.map +1 -0
- package/dist/building/definition.edit.js +10 -0
- package/dist/building/definition.js +4 -54
- package/dist/building/definition.render.d.ts +6 -0
- package/dist/building/definition.render.d.ts.map +1 -0
- package/dist/building/definition.render.js +38 -0
- package/dist/builtin-definitions.d.ts +9784 -0
- package/dist/builtin-definitions.d.ts.map +1 -0
- package/dist/builtin-definitions.js +113 -0
- package/dist/builtin-edit-contributions.d.ts +9608 -0
- package/dist/builtin-edit-contributions.d.ts.map +1 -0
- package/dist/builtin-edit-contributions.js +112 -0
- package/dist/builtin-plugin-metadata.d.ts +5 -0
- package/dist/builtin-plugin-metadata.d.ts.map +1 -0
- package/dist/builtin-plugin-metadata.js +1 -0
- package/dist/cabinet/batchable.d.ts +10 -0
- package/dist/cabinet/batchable.d.ts.map +1 -0
- package/dist/cabinet/batchable.js +12 -0
- package/dist/cabinet/compartment-card.d.ts.map +1 -1
- package/dist/cabinet/compartment-card.js +142 -46
- package/dist/cabinet/countertop-layout.d.ts +5 -0
- package/dist/cabinet/countertop-layout.d.ts.map +1 -1
- package/dist/cabinet/definition.d.ts +497 -25
- package/dist/cabinet/definition.d.ts.map +1 -1
- package/dist/cabinet/definition.edit.d.ts +5 -0
- package/dist/cabinet/definition.edit.d.ts.map +1 -0
- package/dist/cabinet/definition.edit.js +1375 -0
- package/dist/cabinet/definition.js +6 -2112
- package/dist/cabinet/definition.render.d.ts +66 -0
- package/dist/cabinet/definition.render.d.ts.map +1 -0
- package/dist/cabinet/definition.render.js +751 -0
- package/dist/cabinet/dimension-input.d.ts +6 -0
- package/dist/cabinet/dimension-input.d.ts.map +1 -0
- package/dist/cabinet/dimension-input.js +8 -0
- package/dist/cabinet/essential-controls.d.ts.map +1 -1
- package/dist/cabinet/essential-controls.js +82 -17
- package/dist/cabinet/index.d.ts +1 -1
- package/dist/cabinet/index.d.ts.map +1 -1
- package/dist/cabinet/index.js +1 -1
- package/dist/cabinet/kitchen-catalog.d.ts +17 -4
- package/dist/cabinet/kitchen-catalog.d.ts.map +1 -1
- package/dist/cabinet/kitchen-catalog.js +45 -7
- package/dist/cabinet/kitchen-collection.d.ts.map +1 -1
- package/dist/cabinet/kitchen-collection.js +21 -5
- package/dist/cabinet/kitchen-module-actions.d.ts.map +1 -1
- package/dist/cabinet/kitchen-module-actions.js +108 -15
- package/dist/cabinet/neighbor-placement.d.ts +10 -0
- package/dist/cabinet/neighbor-placement.d.ts.map +1 -1
- package/dist/cabinet/panel.d.ts.map +1 -1
- package/dist/cabinet/panel.js +127 -50
- package/dist/cabinet/placement-dimensions.d.ts +36 -2
- package/dist/cabinet/placement-dimensions.d.ts.map +1 -1
- package/dist/cabinet/placement-dimensions.js +68 -2
- package/dist/cabinet/run-finishing.d.ts +5 -0
- package/dist/cabinet/run-finishing.d.ts.map +1 -1
- package/dist/cabinet/run-ops.d.ts +5 -0
- package/dist/cabinet/run-ops.d.ts.map +1 -1
- package/dist/cabinet/run-panel.d.ts.map +1 -1
- package/dist/cabinet/run-panel.js +203 -52
- package/dist/cabinet/system.js +1 -1
- package/dist/cabinet/tool.d.ts.map +1 -1
- package/dist/cabinet/tool.js +275 -19
- package/dist/cabinet/wall-snap.d.ts +5 -1
- package/dist/cabinet/wall-snap.d.ts.map +1 -1
- package/dist/cabinet/wall-snap.js +2 -2
- package/dist/ceiling/build-up-section.d.ts +7 -0
- package/dist/ceiling/build-up-section.d.ts.map +1 -0
- package/dist/ceiling/build-up-section.js +57 -0
- package/dist/ceiling/definition.d.ts +152 -19
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.edit.d.ts +4 -0
- package/dist/ceiling/definition.edit.d.ts.map +1 -0
- package/dist/ceiling/definition.edit.js +125 -0
- package/dist/ceiling/definition.js +4 -205
- package/dist/ceiling/definition.render.d.ts +6 -0
- package/dist/ceiling/definition.render.d.ts.map +1 -0
- package/dist/ceiling/definition.render.js +71 -0
- package/dist/ceiling/floorplan-affordances.d.ts +112 -0
- package/dist/ceiling/floorplan-affordances.d.ts.map +1 -1
- package/dist/ceiling/materials.d.ts +5 -0
- package/dist/ceiling/materials.d.ts.map +1 -1
- package/dist/ceiling/materials.js +17 -0
- package/dist/ceiling/panel-model.d.ts +13 -0
- package/dist/ceiling/panel-model.d.ts.map +1 -0
- package/dist/ceiling/panel-model.js +49 -0
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +82 -18
- package/dist/ceiling/renderer.d.ts.map +1 -1
- package/dist/ceiling/renderer.js +10 -4
- package/dist/ceiling/tool.d.ts.map +1 -1
- package/dist/ceiling/tool.js +24 -4
- package/dist/chimney/definition.d.ts +186 -17
- package/dist/chimney/definition.d.ts.map +1 -1
- package/dist/chimney/definition.edit.d.ts +4 -0
- package/dist/chimney/definition.edit.d.ts.map +1 -0
- package/dist/chimney/definition.edit.js +219 -0
- package/dist/chimney/definition.js +4 -390
- package/dist/chimney/definition.render.d.ts +6 -0
- package/dist/chimney/definition.render.d.ts.map +1 -0
- package/dist/chimney/definition.render.js +59 -0
- package/dist/chimney/move-tool.d.ts.map +1 -1
- package/dist/chimney/move-tool.js +6 -4
- package/dist/chimney/panel.d.ts.map +1 -1
- package/dist/chimney/panel.js +113 -41
- package/dist/column/__bench__/geometry.d.ts +2 -0
- package/dist/column/__bench__/geometry.d.ts.map +1 -0
- package/dist/column/__bench__/geometry.js +36 -0
- package/dist/column/bounds.d.ts +7 -0
- package/dist/column/bounds.d.ts.map +1 -0
- package/dist/column/bounds.js +127 -0
- package/dist/column/definition.d.ts +372 -20
- package/dist/column/definition.d.ts.map +1 -1
- package/dist/column/definition.edit.d.ts +4 -0
- package/dist/column/definition.edit.d.ts.map +1 -0
- package/dist/column/definition.edit.js +323 -0
- package/dist/column/definition.js +4 -436
- package/dist/column/definition.render.d.ts +6 -0
- package/dist/column/definition.render.d.ts.map +1 -0
- package/dist/column/definition.render.js +81 -0
- package/dist/column/edit-policy.d.ts +5 -0
- package/dist/column/edit-policy.d.ts.map +1 -0
- package/dist/column/edit-policy.js +43 -0
- package/dist/column/floorplan-affordances.d.ts.map +1 -1
- package/dist/column/floorplan-affordances.js +2 -0
- package/dist/column/floorplan-move.d.ts.map +1 -1
- package/dist/column/floorplan-move.js +5 -1
- package/dist/column/floorplan.d.ts.map +1 -1
- package/dist/column/floorplan.js +50 -91
- package/dist/column/geometry.d.ts +13 -0
- package/dist/column/geometry.d.ts.map +1 -0
- package/dist/column/geometry.js +294 -0
- package/dist/column/hosted-resize.d.ts +31 -3
- package/dist/column/hosted-resize.d.ts.map +1 -1
- package/dist/column/hosted-resize.js +7 -1
- package/dist/column/inspector-highlight.d.ts +29 -0
- package/dist/column/inspector-highlight.d.ts.map +1 -0
- package/dist/column/inspector-highlight.js +166 -0
- package/dist/column/paint.d.ts.map +1 -1
- package/dist/column/paint.js +12 -2
- package/dist/column/panel.d.ts.map +1 -1
- package/dist/column/panel.js +459 -283
- package/dist/column/parametrics.js +1 -1
- package/dist/column/post-options.d.ts +10 -0
- package/dist/column/post-options.d.ts.map +1 -0
- package/dist/column/post-options.js +71 -0
- package/dist/column/post-placement.d.ts +78 -0
- package/dist/column/post-placement.d.ts.map +1 -0
- package/dist/column/post-placement.js +157 -0
- package/dist/column/post-section.d.ts +17 -0
- package/dist/column/post-section.d.ts.map +1 -0
- package/dist/column/post-section.js +95 -0
- package/dist/column/post-tool.d.ts +11 -0
- package/dist/column/post-tool.d.ts.map +1 -0
- package/dist/column/post-tool.js +94 -0
- package/dist/column/preset-gallery.d.ts +8 -0
- package/dist/column/preset-gallery.d.ts.map +1 -0
- package/dist/column/preset-gallery.js +98 -0
- package/dist/column/presets.d.ts +16 -0
- package/dist/column/presets.d.ts.map +1 -0
- package/dist/column/presets.js +96 -0
- package/dist/column/property-preview.d.ts +8 -0
- package/dist/column/property-preview.d.ts.map +1 -0
- package/dist/column/property-preview.js +50 -0
- package/dist/column/renderer.d.ts +13 -1
- package/dist/column/renderer.d.ts.map +1 -1
- package/dist/column/renderer.js +174 -198
- package/dist/column/shape.d.ts +4 -4
- package/dist/column/shape.d.ts.map +1 -1
- package/dist/column/shape.js +1 -1
- package/dist/column/surface.d.ts.map +1 -1
- package/dist/column/surface.js +15 -8
- package/dist/column/tool.d.ts +3 -10
- package/dist/column/tool.d.ts.map +1 -1
- package/dist/column/tool.js +34 -11
- package/dist/construction-dimension/definition.d.ts +129 -3
- package/dist/construction-dimension/definition.d.ts.map +1 -1
- package/dist/construction-dimension/definition.edit.d.ts +4 -0
- package/dist/construction-dimension/definition.edit.d.ts.map +1 -0
- package/dist/construction-dimension/definition.edit.js +32 -0
- package/dist/construction-dimension/definition.js +4 -83
- package/dist/construction-dimension/definition.render.d.ts +6 -0
- package/dist/construction-dimension/definition.render.d.ts.map +1 -0
- package/dist/construction-dimension/definition.render.js +53 -0
- package/dist/construction-dimension/floorplan-tool.d.ts.map +1 -1
- package/dist/construction-dimension/floorplan-tool.js +2 -2
- package/dist/cupola/definition.d.ts +95 -10
- package/dist/cupola/definition.d.ts.map +1 -1
- package/dist/cupola/definition.edit.d.ts +4 -0
- package/dist/cupola/definition.edit.d.ts.map +1 -0
- package/dist/cupola/definition.edit.js +103 -0
- package/dist/cupola/definition.js +4 -148
- package/dist/cupola/definition.render.d.ts +6 -0
- package/dist/cupola/definition.render.d.ts.map +1 -0
- package/dist/cupola/definition.render.js +43 -0
- package/dist/cupola/move-tool.d.ts.map +1 -1
- package/dist/cupola/move-tool.js +6 -5
- package/dist/cupola/panel.d.ts.map +1 -1
- package/dist/cupola/panel.js +14 -7
- package/dist/definition-contributions.d.ts +14 -0
- package/dist/definition-contributions.d.ts.map +1 -0
- package/dist/definition-contributions.js +8 -0
- package/dist/door/actions.d.ts +7 -0
- package/dist/door/actions.d.ts.map +1 -0
- package/dist/door/actions.js +32 -0
- package/dist/door/contextual-dimensions.d.ts.map +1 -1
- package/dist/door/contextual-dimensions.js +11 -1
- package/dist/door/definition.d.ts +350 -22
- package/dist/door/definition.d.ts.map +1 -1
- package/dist/door/definition.edit.d.ts +4 -0
- package/dist/door/definition.edit.d.ts.map +1 -0
- package/dist/door/definition.edit.js +246 -0
- package/dist/door/definition.js +4 -314
- package/dist/door/definition.render.d.ts +6 -0
- package/dist/door/definition.render.d.ts.map +1 -0
- package/dist/door/definition.render.js +88 -0
- package/dist/door/floorplan-affordances.d.ts.map +1 -1
- package/dist/door/floorplan-affordances.js +5 -2
- package/dist/door/floorplan-move.d.ts.map +1 -1
- package/dist/door/floorplan-move.js +34 -9
- package/dist/door/floorplan.d.ts +2 -0
- package/dist/door/floorplan.d.ts.map +1 -1
- package/dist/door/floorplan.js +89 -16
- package/dist/door/mechanism.d.ts.map +1 -1
- package/dist/door/mechanism.js +1 -2
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +81 -35
- package/dist/door/paint.d.ts +2 -7
- package/dist/door/paint.d.ts.map +1 -1
- package/dist/door/paint.js +26 -2
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +242 -90
- package/dist/door/parametrics.js +1 -1
- package/dist/door/placement.d.ts.map +1 -1
- package/dist/door/placement.js +9 -2
- package/dist/door/swing.d.ts +22 -0
- package/dist/door/swing.d.ts.map +1 -0
- package/dist/door/swing.js +36 -0
- package/dist/door/tool.d.ts.map +1 -1
- package/dist/door/tool.js +77 -29
- package/dist/dormer/definition.d.ts +240 -11
- package/dist/dormer/definition.d.ts.map +1 -1
- package/dist/dormer/definition.edit.d.ts +4 -0
- package/dist/dormer/definition.edit.d.ts.map +1 -0
- package/dist/dormer/definition.edit.js +214 -0
- package/dist/dormer/definition.js +4 -319
- package/dist/dormer/definition.render.d.ts +6 -0
- package/dist/dormer/definition.render.d.ts.map +1 -0
- package/dist/dormer/definition.render.js +52 -0
- package/dist/dormer/panel-actions-section.d.ts.map +1 -1
- package/dist/dormer/panel-actions-section.js +3 -1
- package/dist/dormer/panel-position-section.d.ts.map +1 -1
- package/dist/dormer/panel-position-section.js +4 -3
- package/dist/dormer/panel-windows-section.d.ts.map +1 -1
- package/dist/dormer/panel-windows-section.js +38 -1
- package/dist/dormer/panel.d.ts.map +1 -1
- package/dist/dormer/panel.js +24 -18
- package/dist/downspout/definition.d.ts +108 -16
- package/dist/downspout/definition.d.ts.map +1 -1
- package/dist/downspout/definition.edit.d.ts +4 -0
- package/dist/downspout/definition.edit.d.ts.map +1 -0
- package/dist/downspout/definition.edit.js +134 -0
- package/dist/downspout/definition.js +4 -188
- package/dist/downspout/definition.render.d.ts +6 -0
- package/dist/downspout/definition.render.d.ts.map +1 -0
- package/dist/downspout/definition.render.js +46 -0
- package/dist/downspout/inspector-editors.d.ts.map +1 -1
- package/dist/downspout/inspector-editors.js +3 -2
- package/dist/duct-fitting/definition.d.ts +99 -11
- package/dist/duct-fitting/definition.d.ts.map +1 -1
- package/dist/duct-fitting/definition.edit.d.ts +4 -0
- package/dist/duct-fitting/definition.edit.d.ts.map +1 -0
- package/dist/duct-fitting/definition.edit.js +49 -0
- package/dist/duct-fitting/definition.js +4 -135
- package/dist/duct-fitting/definition.render.d.ts +6 -0
- package/dist/duct-fitting/definition.render.d.ts.map +1 -0
- package/dist/duct-fitting/definition.render.js +82 -0
- package/dist/duct-fitting/floorplan.js +1 -1
- package/dist/duct-fitting/geometry.js +2 -1
- package/dist/duct-fitting/inspector-editors.d.ts.map +1 -1
- package/dist/duct-fitting/inspector-editors.js +6 -1
- package/dist/duct-fitting/move-tool.d.ts.map +1 -1
- package/dist/duct-fitting/move-tool.js +19 -13
- package/dist/duct-fitting/selection.d.ts.map +1 -1
- package/dist/duct-fitting/selection.js +92 -80
- package/dist/duct-fitting/tool.d.ts.map +1 -1
- package/dist/duct-fitting/tool.js +11 -2
- package/dist/duct-segment/continuation.d.ts +2 -2
- package/dist/duct-segment/continuation.d.ts.map +1 -1
- package/dist/duct-segment/continuation.js +53 -2
- package/dist/duct-segment/definition.d.ts +91 -3
- package/dist/duct-segment/definition.d.ts.map +1 -1
- package/dist/duct-segment/definition.edit.d.ts +4 -0
- package/dist/duct-segment/definition.edit.d.ts.map +1 -0
- package/dist/duct-segment/definition.edit.js +100 -0
- package/dist/duct-segment/definition.js +4 -181
- package/dist/duct-segment/definition.render.d.ts +6 -0
- package/dist/duct-segment/definition.render.d.ts.map +1 -0
- package/dist/duct-segment/definition.render.js +89 -0
- package/dist/duct-segment/edit-inspector.d.ts +5 -0
- package/dist/duct-segment/edit-inspector.d.ts.map +1 -0
- package/dist/duct-segment/edit-inspector.js +163 -0
- package/dist/duct-segment/edit-operation.d.ts +17 -0
- package/dist/duct-segment/edit-operation.d.ts.map +1 -0
- package/dist/duct-segment/edit-operation.js +283 -0
- package/dist/duct-segment/floorplan.js +1 -1
- package/dist/duct-segment/geometry.d.ts +0 -40
- package/dist/duct-segment/geometry.d.ts.map +1 -1
- package/dist/duct-segment/geometry.js +2 -77
- package/dist/duct-segment/move-tool.d.ts.map +1 -1
- package/dist/duct-segment/move-tool.js +34 -35
- package/dist/duct-segment/parametrics.d.ts.map +1 -1
- package/dist/duct-segment/parametrics.js +2 -35
- package/dist/duct-segment/profile.d.ts +42 -0
- package/dist/duct-segment/profile.d.ts.map +1 -0
- package/dist/duct-segment/profile.js +78 -0
- package/dist/duct-segment/selection.d.ts.map +1 -1
- package/dist/duct-segment/selection.js +112 -53
- package/dist/duct-segment/tool.d.ts.map +1 -1
- package/dist/duct-segment/tool.js +103 -27
- package/dist/duct-terminal/definition.d.ts +68 -12
- package/dist/duct-terminal/definition.d.ts.map +1 -1
- package/dist/duct-terminal/definition.edit.d.ts +4 -0
- package/dist/duct-terminal/definition.edit.d.ts.map +1 -0
- package/dist/duct-terminal/definition.edit.js +14 -0
- package/dist/duct-terminal/definition.js +4 -87
- package/dist/duct-terminal/definition.render.d.ts +6 -0
- package/dist/duct-terminal/definition.render.d.ts.map +1 -0
- package/dist/duct-terminal/definition.render.js +66 -0
- package/dist/duct-terminal/geometry.d.ts.map +1 -1
- package/dist/duct-terminal/geometry.js +2 -1
- package/dist/duct-terminal/parametrics.d.ts.map +1 -1
- package/dist/duct-terminal/parametrics.js +1 -0
- 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 -2
- package/dist/elevator/__bench__/runtime.d.ts +2 -0
- package/dist/elevator/__bench__/runtime.d.ts.map +1 -0
- package/dist/elevator/__bench__/runtime.js +38 -0
- package/dist/elevator/definition.d.ts +117 -10
- package/dist/elevator/definition.d.ts.map +1 -1
- package/dist/elevator/definition.edit.d.ts +4 -0
- package/dist/elevator/definition.edit.d.ts.map +1 -0
- package/dist/elevator/definition.edit.js +177 -0
- package/dist/elevator/definition.js +4 -258
- package/dist/elevator/definition.render.d.ts +11 -0
- package/dist/elevator/definition.render.d.ts.map +1 -0
- package/dist/elevator/definition.render.js +96 -0
- package/dist/elevator/floorplan-affordances.d.ts.map +1 -1
- package/dist/elevator/floorplan-affordances.js +11 -9
- package/dist/elevator/floorplan.d.ts +19 -0
- package/dist/elevator/floorplan.d.ts.map +1 -1
- package/dist/elevator/floorplan.js +3 -9
- package/dist/elevator/inspection.d.ts +17 -0
- package/dist/elevator/inspection.d.ts.map +1 -0
- package/dist/elevator/inspection.js +78 -0
- package/dist/elevator/panel.d.ts.map +1 -1
- package/dist/elevator/panel.js +177 -102
- package/dist/elevator/parametrics.d.ts +1 -1
- package/dist/elevator/parametrics.d.ts.map +1 -1
- package/dist/elevator/parametrics.js +7 -10
- package/dist/elevator/presets.d.ts +17 -0
- package/dist/elevator/presets.d.ts.map +1 -0
- package/dist/elevator/presets.js +52 -0
- package/dist/elevator/renderer.d.ts +2 -1
- package/dist/elevator/renderer.d.ts.map +1 -1
- package/dist/elevator/renderer.edit.d.ts +5 -0
- package/dist/elevator/renderer.edit.d.ts.map +1 -0
- package/dist/elevator/renderer.edit.js +8 -0
- package/dist/elevator/renderer.js +159 -60
- package/dist/elevator/tool.d.ts +2 -0
- package/dist/elevator/tool.d.ts.map +1 -0
- package/dist/elevator/tool.js +250 -0
- package/dist/eyebrow-vent/definition.d.ts +97 -11
- package/dist/eyebrow-vent/definition.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.edit.d.ts +4 -0
- package/dist/eyebrow-vent/definition.edit.d.ts.map +1 -0
- package/dist/eyebrow-vent/definition.edit.js +106 -0
- package/dist/eyebrow-vent/definition.js +4 -152
- package/dist/eyebrow-vent/definition.render.d.ts +6 -0
- package/dist/eyebrow-vent/definition.render.d.ts.map +1 -0
- package/dist/eyebrow-vent/definition.render.js +43 -0
- package/dist/eyebrow-vent/move-tool.d.ts.map +1 -1
- package/dist/eyebrow-vent/move-tool.js +6 -5
- package/dist/eyebrow-vent/panel.d.ts.map +1 -1
- package/dist/eyebrow-vent/panel.js +16 -6
- package/dist/fence/definition.d.ts +186 -17
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.edit.d.ts +4 -0
- package/dist/fence/definition.edit.d.ts.map +1 -0
- package/dist/fence/definition.edit.js +282 -0
- package/dist/fence/definition.js +5 -413
- package/dist/fence/definition.render.d.ts +8 -0
- package/dist/fence/definition.render.d.ts.map +1 -0
- package/dist/fence/definition.render.js +124 -0
- package/dist/fence/drafting.d.ts +2 -3
- package/dist/fence/drafting.d.ts.map +1 -1
- package/dist/fence/drafting.js +2 -3
- package/dist/fence/inspector-editors.d.ts.map +1 -1
- package/dist/fence/inspector-editors.js +64 -21
- package/dist/fence/move-endpoint-tool.d.ts.map +1 -1
- package/dist/fence/move-endpoint-tool.js +12 -3
- package/dist/fence/system.d.ts.map +1 -1
- package/dist/fence/system.js +13 -0
- package/dist/fence/tool.js +2 -2
- package/dist/fence-feature/actions.d.ts.map +1 -1
- package/dist/fence-feature/actions.js +5 -2
- package/dist/fence-feature/definition.d.ts +270 -3
- package/dist/fence-feature/definition.d.ts.map +1 -1
- package/dist/fence-feature/definition.edit.d.ts +5 -0
- package/dist/fence-feature/definition.edit.d.ts.map +1 -0
- package/dist/fence-feature/definition.edit.js +69 -0
- package/dist/fence-feature/definition.js +5 -116
- package/dist/fence-feature/definition.render.d.ts +9 -0
- package/dist/fence-feature/definition.render.d.ts.map +1 -0
- package/dist/fence-feature/definition.render.js +69 -0
- package/dist/fence-feature/inspector.d.ts.map +1 -1
- package/dist/fence-feature/inspector.js +150 -34
- package/dist/fence-feature/move-session.d.ts +1 -1
- package/dist/floor-opening/definition.d.ts +58 -2
- package/dist/floor-opening/definition.d.ts.map +1 -1
- package/dist/floor-opening/definition.edit.d.ts +4 -0
- package/dist/floor-opening/definition.edit.d.ts.map +1 -0
- package/dist/floor-opening/definition.edit.js +11 -0
- package/dist/floor-opening/definition.js +4 -41
- package/dist/floor-opening/definition.render.d.ts +6 -0
- package/dist/floor-opening/definition.render.d.ts.map +1 -0
- package/dist/floor-opening/definition.render.js +32 -0
- package/dist/floor-opening/floorplan.d.ts +29 -6
- package/dist/floor-opening/floorplan.d.ts.map +1 -1
- package/dist/floor-opening/floorplan.js +172 -14
- package/dist/guide/definition.d.ts +65 -9
- package/dist/guide/definition.d.ts.map +1 -1
- package/dist/guide/definition.edit.d.ts +4 -0
- package/dist/guide/definition.edit.d.ts.map +1 -0
- package/dist/guide/definition.edit.js +4 -0
- package/dist/guide/definition.js +4 -53
- package/dist/guide/definition.render.d.ts +6 -0
- package/dist/guide/definition.render.d.ts.map +1 -0
- package/dist/guide/definition.render.js +45 -0
- package/dist/gutter/definition.d.ts +113 -18
- package/dist/gutter/definition.d.ts.map +1 -1
- package/dist/gutter/definition.edit.d.ts +4 -0
- package/dist/gutter/definition.edit.d.ts.map +1 -0
- package/dist/gutter/definition.edit.js +121 -0
- package/dist/gutter/definition.js +4 -176
- package/dist/gutter/definition.render.d.ts +6 -0
- package/dist/gutter/definition.render.d.ts.map +1 -0
- package/dist/gutter/definition.render.js +44 -0
- package/dist/gutter/downspouts-panel.d.ts.map +1 -1
- package/dist/gutter/downspouts-panel.js +14 -2
- package/dist/gutter/move-tool.d.ts.map +1 -1
- package/dist/gutter/move-tool.js +5 -4
- package/dist/hvac-equipment/definition.d.ts +72 -12
- package/dist/hvac-equipment/definition.d.ts.map +1 -1
- package/dist/hvac-equipment/definition.edit.d.ts +4 -0
- package/dist/hvac-equipment/definition.edit.d.ts.map +1 -0
- package/dist/hvac-equipment/definition.edit.js +13 -0
- package/dist/hvac-equipment/definition.js +4 -92
- package/dist/hvac-equipment/definition.render.d.ts +6 -0
- package/dist/hvac-equipment/definition.render.d.ts.map +1 -0
- package/dist/hvac-equipment/definition.render.js +72 -0
- package/dist/hvac-equipment/floorplan.js +1 -1
- package/dist/hvac-equipment/geometry.d.ts.map +1 -1
- package/dist/hvac-equipment/geometry.js +2 -1
- package/dist/hvac-equipment/parametrics.d.ts.map +1 -1
- package/dist/hvac-equipment/parametrics.js +1 -0
- package/dist/hvac-equipment/ports.js +1 -1
- package/dist/hvac-equipment/tool.d.ts.map +1 -1
- package/dist/hvac-equipment/tool.js +3 -2
- package/dist/i18n/definition-messages.d.ts +5 -0
- package/dist/i18n/definition-messages.d.ts.map +1 -0
- package/dist/i18n/definition-messages.js +771 -0
- package/dist/imported-mesh/definition.d.ts +54 -4
- package/dist/imported-mesh/definition.d.ts.map +1 -1
- package/dist/imported-mesh/definition.edit.d.ts +4 -0
- package/dist/imported-mesh/definition.edit.d.ts.map +1 -0
- package/dist/imported-mesh/definition.edit.js +5 -0
- package/dist/imported-mesh/definition.js +4 -40
- package/dist/imported-mesh/definition.render.d.ts +6 -0
- package/dist/imported-mesh/definition.render.d.ts.map +1 -0
- package/dist/imported-mesh/definition.render.js +36 -0
- package/dist/index.d.ts +7 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -135
- package/dist/item/authored-params.d.ts.map +1 -1
- package/dist/item/authored-params.js +19 -4
- package/dist/item/definition.d.ts +280 -31
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.edit.d.ts +4 -0
- package/dist/item/definition.edit.d.ts.map +1 -0
- package/dist/item/definition.edit.js +206 -0
- package/dist/item/definition.js +4 -356
- package/dist/item/definition.render.d.ts +6 -0
- package/dist/item/definition.render.d.ts.map +1 -0
- package/dist/item/definition.render.js +128 -0
- package/dist/item/floorplan.d.ts +1 -1
- package/dist/item/floorplan.d.ts.map +1 -1
- package/dist/item/floorplan.js +2 -2
- package/dist/item/panel.d.ts.map +1 -1
- package/dist/item/panel.js +9 -7
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +2 -2
- package/dist/lean-to-extension/definition.d.ts +177 -3
- package/dist/lean-to-extension/definition.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.edit.d.ts +4 -0
- package/dist/lean-to-extension/definition.edit.d.ts.map +1 -0
- package/dist/lean-to-extension/definition.edit.js +392 -0
- package/dist/lean-to-extension/definition.js +4 -433
- package/dist/lean-to-extension/definition.render.d.ts +6 -0
- package/dist/lean-to-extension/definition.render.d.ts.map +1 -0
- package/dist/lean-to-extension/definition.render.js +46 -0
- package/dist/level/definition.d.ts +49 -8
- package/dist/level/definition.d.ts.map +1 -1
- package/dist/level/definition.edit.d.ts +4 -0
- package/dist/level/definition.edit.d.ts.map +1 -0
- package/dist/level/definition.edit.js +4 -0
- package/dist/level/definition.js +4 -60
- package/dist/level/definition.render.d.ts +6 -0
- package/dist/level/definition.render.d.ts.map +1 -0
- package/dist/level/definition.render.js +53 -0
- package/dist/lineset/definition.d.ts +49 -14
- package/dist/lineset/definition.d.ts.map +1 -1
- package/dist/lineset/definition.edit.d.ts +4 -0
- package/dist/lineset/definition.edit.d.ts.map +1 -0
- package/dist/lineset/definition.edit.js +38 -0
- package/dist/lineset/definition.js +4 -119
- package/dist/lineset/definition.render.d.ts +6 -0
- package/dist/lineset/definition.render.d.ts.map +1 -0
- package/dist/lineset/definition.render.js +72 -0
- package/dist/lineset/floorplan.js +1 -1
- package/dist/lineset/geometry.js +1 -1
- package/dist/lineset/move-tool.d.ts.map +1 -1
- package/dist/lineset/move-tool.js +14 -7
- package/dist/liquid-line/definition.d.ts +47 -15
- package/dist/liquid-line/definition.d.ts.map +1 -1
- package/dist/liquid-line/definition.edit.d.ts +4 -0
- package/dist/liquid-line/definition.edit.d.ts.map +1 -0
- package/dist/liquid-line/definition.edit.js +31 -0
- package/dist/liquid-line/definition.js +4 -111
- package/dist/liquid-line/definition.render.d.ts +6 -0
- package/dist/liquid-line/definition.render.d.ts.map +1 -0
- package/dist/liquid-line/definition.render.js +70 -0
- package/dist/liquid-line/floorplan.js +1 -1
- package/dist/liquid-line/geometry.js +1 -1
- package/dist/liquid-line/tool.d.ts.map +1 -1
- package/dist/liquid-line/tool.js +10 -3
- package/dist/measurement/definition.d.ts +126 -3
- package/dist/measurement/definition.d.ts.map +1 -1
- package/dist/measurement/definition.edit.d.ts +4 -0
- package/dist/measurement/definition.edit.d.ts.map +1 -0
- package/dist/measurement/definition.edit.js +26 -0
- package/dist/measurement/definition.js +4 -67
- package/dist/measurement/definition.render.d.ts +6 -0
- package/dist/measurement/definition.render.d.ts.map +1 -0
- package/dist/measurement/definition.render.js +43 -0
- package/dist/measurement/floorplan.d.ts.map +1 -1
- package/dist/measurement/floorplan.js +3 -2
- package/dist/measurement/renderer.d.ts.map +1 -1
- package/dist/measurement/renderer.js +2 -3
- package/dist/measurement/selection.d.ts.map +1 -1
- package/dist/measurement/selection.js +2 -2
- package/dist/measurement/tool.d.ts +3 -3
- package/dist/measurement/tool.d.ts.map +1 -1
- package/dist/measurement/tool.js +9 -9
- package/dist/pipe-fitting/definition.d.ts +73 -9
- package/dist/pipe-fitting/definition.d.ts.map +1 -1
- package/dist/pipe-fitting/definition.edit.d.ts +4 -0
- package/dist/pipe-fitting/definition.edit.d.ts.map +1 -0
- package/dist/pipe-fitting/definition.edit.js +47 -0
- package/dist/pipe-fitting/definition.js +4 -105
- package/dist/pipe-fitting/definition.render.d.ts +6 -0
- package/dist/pipe-fitting/definition.render.d.ts.map +1 -0
- package/dist/pipe-fitting/definition.render.js +54 -0
- package/dist/pipe-fitting/floorplan.js +1 -1
- package/dist/pipe-fitting/geometry.js +1 -1
- package/dist/pipe-fitting/move-tool.d.ts +1 -1
- package/dist/pipe-fitting/move-tool.d.ts.map +1 -1
- package/dist/pipe-fitting/move-tool.js +28 -22
- package/dist/pipe-fitting/parametrics.d.ts.map +1 -1
- package/dist/pipe-fitting/parametrics.js +1 -0
- package/dist/pipe-fitting/ports.js +1 -1
- package/dist/pipe-fitting/selection.d.ts.map +1 -1
- package/dist/pipe-fitting/selection.js +73 -29
- package/dist/pipe-fitting/tool.d.ts.map +1 -1
- package/dist/pipe-fitting/tool.js +3 -2
- package/dist/pipe-segment/collar-connection.d.ts +12 -0
- package/dist/pipe-segment/collar-connection.d.ts.map +1 -0
- package/dist/pipe-segment/collar-connection.js +58 -0
- package/dist/pipe-segment/connect-operation.d.ts +9 -0
- package/dist/pipe-segment/connect-operation.d.ts.map +1 -0
- package/dist/pipe-segment/connect-operation.js +44 -0
- package/dist/pipe-segment/continuation.d.ts +3 -2
- package/dist/pipe-segment/continuation.d.ts.map +1 -1
- package/dist/pipe-segment/continuation.js +60 -1
- package/dist/pipe-segment/definition.d.ts +78 -13
- package/dist/pipe-segment/definition.d.ts.map +1 -1
- package/dist/pipe-segment/definition.edit.d.ts +4 -0
- package/dist/pipe-segment/definition.edit.d.ts.map +1 -0
- package/dist/pipe-segment/definition.edit.js +48 -0
- package/dist/pipe-segment/definition.js +4 -132
- package/dist/pipe-segment/definition.render.d.ts +6 -0
- package/dist/pipe-segment/definition.render.d.ts.map +1 -0
- package/dist/pipe-segment/definition.render.js +78 -0
- package/dist/pipe-segment/floorplan.d.ts +1 -1
- package/dist/pipe-segment/floorplan.d.ts.map +1 -1
- package/dist/pipe-segment/floorplan.js +34 -1
- package/dist/pipe-segment/geometry.d.ts.map +1 -1
- package/dist/pipe-segment/geometry.js +2 -1
- package/dist/pipe-segment/grade-affordance.d.ts +8 -0
- package/dist/pipe-segment/grade-affordance.d.ts.map +1 -0
- package/dist/pipe-segment/grade-affordance.js +116 -0
- package/dist/pipe-segment/grade-inspector.d.ts +5 -0
- package/dist/pipe-segment/grade-inspector.d.ts.map +1 -0
- package/dist/pipe-segment/grade-inspector.js +91 -0
- package/dist/pipe-segment/grade-label.d.ts +7 -0
- package/dist/pipe-segment/grade-label.d.ts.map +1 -0
- package/dist/pipe-segment/grade-label.js +32 -0
- package/dist/pipe-segment/grade-operation.d.ts +22 -0
- package/dist/pipe-segment/grade-operation.d.ts.map +1 -0
- package/dist/pipe-segment/grade-operation.js +114 -0
- package/dist/pipe-segment/move-tool.d.ts.map +1 -1
- package/dist/pipe-segment/move-tool.js +38 -15
- package/dist/pipe-segment/offset-inspector.d.ts +5 -0
- package/dist/pipe-segment/offset-inspector.d.ts.map +1 -0
- package/dist/pipe-segment/offset-inspector.js +112 -0
- package/dist/pipe-segment/offset-operation.d.ts +9 -0
- package/dist/pipe-segment/offset-operation.d.ts.map +1 -0
- package/dist/pipe-segment/offset-operation.js +104 -0
- package/dist/pipe-segment/parametrics.d.ts.map +1 -1
- package/dist/pipe-segment/parametrics.js +1 -9
- package/dist/pipe-segment/resize-inspector.d.ts +5 -0
- package/dist/pipe-segment/resize-inspector.d.ts.map +1 -0
- package/dist/pipe-segment/resize-inspector.js +75 -0
- package/dist/pipe-segment/resize-operation.d.ts +8 -0
- package/dist/pipe-segment/resize-operation.d.ts.map +1 -0
- package/dist/pipe-segment/resize-operation.js +143 -0
- package/dist/pipe-segment/run-move.d.ts +65 -0
- package/dist/pipe-segment/run-move.d.ts.map +1 -0
- package/dist/pipe-segment/run-move.js +110 -0
- package/dist/pipe-segment/selection.d.ts.map +1 -1
- package/dist/pipe-segment/selection.js +122 -178
- package/dist/pipe-segment/slope.d.ts +3 -0
- package/dist/pipe-segment/slope.d.ts.map +1 -1
- package/dist/pipe-segment/slope.js +47 -0
- package/dist/pipe-segment/tool.d.ts.map +1 -1
- package/dist/pipe-segment/tool.js +123 -28
- package/dist/pipe-trap/definition.d.ts +54 -9
- package/dist/pipe-trap/definition.d.ts.map +1 -1
- package/dist/pipe-trap/definition.edit.d.ts +4 -0
- package/dist/pipe-trap/definition.edit.d.ts.map +1 -0
- package/dist/pipe-trap/definition.edit.js +13 -0
- package/dist/pipe-trap/definition.js +4 -59
- package/dist/pipe-trap/definition.render.d.ts +6 -0
- package/dist/pipe-trap/definition.render.d.ts.map +1 -0
- package/dist/pipe-trap/definition.render.js +43 -0
- package/dist/pipe-trap/geometry.d.ts.map +1 -1
- package/dist/pipe-trap/geometry.js +2 -1
- package/dist/pipe-trap/parametrics.d.ts.map +1 -1
- package/dist/pipe-trap/parametrics.js +1 -0
- package/dist/pipe-trap/tool.d.ts.map +1 -1
- package/dist/pipe-trap/tool.js +7 -2
- package/dist/procedural-item/definition.d.ts +734 -3
- package/dist/procedural-item/definition.d.ts.map +1 -1
- package/dist/procedural-item/definition.edit.d.ts +4 -0
- package/dist/procedural-item/definition.edit.d.ts.map +1 -0
- package/dist/procedural-item/definition.edit.js +255 -0
- package/dist/procedural-item/definition.js +4 -325
- package/dist/procedural-item/definition.render.d.ts +6 -0
- package/dist/procedural-item/definition.render.d.ts.map +1 -0
- package/dist/procedural-item/definition.render.js +84 -0
- package/dist/procedural-item/renderer.d.ts.map +1 -1
- package/dist/procedural-item/renderer.edit.d.ts +5 -0
- package/dist/procedural-item/renderer.edit.d.ts.map +1 -0
- package/dist/procedural-item/renderer.edit.js +49 -0
- package/dist/procedural-item/renderer.js +12 -22
- package/dist/render.d.ts +4 -0
- package/dist/render.d.ts.map +1 -0
- package/dist/render.js +4 -0
- package/dist/ridge-vent/definition.d.ts +95 -15
- package/dist/ridge-vent/definition.d.ts.map +1 -1
- package/dist/ridge-vent/definition.edit.d.ts +4 -0
- package/dist/ridge-vent/definition.edit.d.ts.map +1 -0
- package/dist/ridge-vent/definition.edit.js +148 -0
- package/dist/ridge-vent/definition.js +4 -197
- package/dist/ridge-vent/definition.render.d.ts +6 -0
- package/dist/ridge-vent/definition.render.d.ts.map +1 -0
- package/dist/ridge-vent/definition.render.js +42 -0
- package/dist/ridge-vent/move-tool.d.ts.map +1 -1
- package/dist/ridge-vent/move-tool.js +5 -4
- package/dist/ridge-vent/panel.d.ts.map +1 -1
- package/dist/ridge-vent/panel.js +22 -9
- package/dist/roof/barrel-panel.d.ts.map +1 -1
- package/dist/roof/barrel-panel.js +8 -4
- package/dist/roof/definition.d.ts +325 -8
- package/dist/roof/definition.d.ts.map +1 -1
- package/dist/roof/definition.edit.d.ts +4 -0
- package/dist/roof/definition.edit.d.ts.map +1 -0
- package/dist/roof/definition.edit.js +183 -0
- package/dist/roof/definition.js +4 -254
- package/dist/roof/definition.render.d.ts +7 -0
- package/dist/roof/definition.render.d.ts.map +1 -0
- package/dist/roof/definition.render.js +101 -0
- package/dist/roof/floorplan-overrides.d.ts +22 -0
- package/dist/roof/floorplan-overrides.d.ts.map +1 -0
- package/dist/roof/floorplan-overrides.js +46 -0
- package/dist/roof/floorplan-tool.d.ts +9 -0
- package/dist/roof/floorplan-tool.d.ts.map +1 -0
- package/dist/roof/floorplan-tool.js +168 -0
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +131 -41
- package/dist/roof/geometry-notice.d.ts +5 -0
- package/dist/roof/geometry-notice.d.ts.map +1 -0
- package/dist/roof/geometry-notice.js +27 -0
- package/dist/roof/glazing-controls.d.ts +2 -1
- package/dist/roof/glazing-controls.d.ts.map +1 -1
- package/dist/roof/glazing-controls.js +52 -14
- package/dist/roof/glazing-panel-editor.d.ts.map +1 -1
- package/dist/roof/glazing-panel-editor.js +40 -13
- package/dist/roof/glazing-panel.d.ts.map +1 -1
- package/dist/roof/glazing-panel.js +73 -9
- package/dist/roof/paint.d.ts +19 -0
- package/dist/roof/paint.d.ts.map +1 -0
- package/dist/roof/paint.js +158 -0
- package/dist/roof/panel.d.ts.map +1 -1
- package/dist/roof/panel.js +91 -22
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +13 -2
- package/dist/roof/roof-footprint-source.d.ts +17 -0
- package/dist/roof/roof-footprint-source.d.ts.map +1 -1
- package/dist/roof/roof-footprint-source.js +14 -0
- package/dist/roof/roof-footprint.d.ts +36 -2
- package/dist/roof/roof-footprint.d.ts.map +1 -1
- package/dist/roof/roof-footprint.js +124 -2
- package/dist/roof/roof-materials.d.ts.map +1 -1
- package/dist/roof/roof-materials.js +10 -1
- package/dist/roof/roof-placement-mode.d.ts +0 -2
- package/dist/roof/roof-placement-mode.d.ts.map +1 -1
- package/dist/roof/roof-placement-mode.js +8 -6
- package/dist/roof/roof-plan-creases.d.ts +50 -0
- package/dist/roof/roof-plan-creases.d.ts.map +1 -0
- package/dist/roof/roof-plan-creases.js +194 -0
- package/dist/roof/roof-ridge-mode.d.ts +20 -0
- package/dist/roof/roof-ridge-mode.d.ts.map +1 -0
- package/dist/roof/roof-ridge-mode.js +16 -0
- package/dist/roof/tool.d.ts +20 -4
- package/dist/roof/tool.d.ts.map +1 -1
- package/dist/roof/tool.js +264 -280
- package/dist/roof/type-thumbnail-assets.d.ts +3 -0
- package/dist/roof/type-thumbnail-assets.d.ts.map +1 -0
- package/dist/roof/type-thumbnail-assets.js +12 -0
- package/dist/roof/type-thumbnail.d.ts +5 -0
- package/dist/roof/type-thumbnail.d.ts.map +1 -0
- package/dist/roof/type-thumbnail.js +5 -0
- package/dist/roof/wall-catch.d.ts +106 -0
- package/dist/roof/wall-catch.d.ts.map +1 -0
- package/dist/roof/wall-catch.js +267 -0
- package/dist/roof-segment/build-up-section.d.ts +9 -0
- package/dist/roof-segment/build-up-section.d.ts.map +1 -0
- package/dist/roof-segment/build-up-section.js +191 -0
- package/dist/roof-segment/definition.d.ts +564 -9
- package/dist/roof-segment/definition.d.ts.map +1 -1
- package/dist/roof-segment/definition.edit.d.ts +4 -0
- package/dist/roof-segment/definition.edit.d.ts.map +1 -0
- package/dist/roof-segment/definition.edit.js +305 -0
- package/dist/roof-segment/definition.js +4 -319
- package/dist/roof-segment/definition.render.d.ts +6 -0
- package/dist/roof-segment/definition.render.d.ts.map +1 -0
- package/dist/roof-segment/definition.render.js +59 -0
- package/dist/roof-segment/floorplan-affordances.d.ts.map +1 -1
- package/dist/roof-segment/floorplan-affordances.js +70 -21
- package/dist/roof-segment/floorplan.d.ts.map +1 -1
- package/dist/roof-segment/floorplan.js +16 -12
- package/dist/roof-segment/paint.d.ts +3 -2
- package/dist/roof-segment/paint.d.ts.map +1 -1
- package/dist/roof-segment/paint.js +43 -3
- package/dist/roof-segment/panel-model.d.ts +23 -0
- package/dist/roof-segment/panel-model.d.ts.map +1 -0
- package/dist/roof-segment/panel-model.js +64 -0
- package/dist/roof-segment/panel.d.ts.map +1 -1
- package/dist/roof-segment/panel.js +117 -37
- package/dist/roof-segment/parametrics.d.ts.map +1 -1
- package/dist/roof-segment/parametrics.js +17 -11
- package/dist/roof-segment/renderer.d.ts.map +1 -1
- package/dist/roof-segment/renderer.js +26 -5
- package/dist/roof-segment/slots.d.ts +2 -0
- package/dist/roof-segment/slots.d.ts.map +1 -0
- package/dist/roof-segment/slots.js +1 -0
- package/dist/scan/definition.d.ts +57 -7
- package/dist/scan/definition.d.ts.map +1 -1
- package/dist/scan/definition.edit.d.ts +4 -0
- package/dist/scan/definition.edit.d.ts.map +1 -0
- package/dist/scan/definition.edit.js +4 -0
- package/dist/scan/definition.js +4 -52
- package/dist/scan/definition.render.d.ts +6 -0
- package/dist/scan/definition.render.d.ts.map +1 -0
- package/dist/scan/definition.render.js +46 -0
- package/dist/separator/definition.d.ts +47 -2
- package/dist/separator/definition.d.ts.map +1 -1
- package/dist/separator/definition.edit.d.ts +4 -0
- package/dist/separator/definition.edit.d.ts.map +1 -0
- package/dist/separator/definition.edit.js +13 -0
- package/dist/separator/definition.js +4 -39
- package/dist/separator/definition.render.d.ts +6 -0
- package/dist/separator/definition.render.d.ts.map +1 -0
- package/dist/separator/definition.render.js +27 -0
- package/dist/separator/floorplan-affordances.d.ts +9 -0
- package/dist/separator/floorplan-affordances.d.ts.map +1 -0
- package/dist/separator/floorplan-affordances.js +23 -0
- package/dist/separator/floorplan.d.ts +9 -0
- package/dist/separator/floorplan.d.ts.map +1 -0
- package/dist/separator/floorplan.js +54 -0
- package/dist/separator/renderer.d.ts +6 -1
- package/dist/separator/renderer.d.ts.map +1 -1
- package/dist/separator/renderer.edit.d.ts +5 -0
- package/dist/separator/renderer.edit.d.ts.map +1 -0
- package/dist/separator/renderer.edit.js +8 -0
- package/dist/separator/renderer.js +22 -9
- package/dist/separator/selection.d.ts +10 -0
- package/dist/separator/selection.d.ts.map +1 -0
- package/dist/separator/selection.js +35 -0
- package/dist/shared/accessory-placement.js +1 -1
- package/dist/shared/auto-fitting.js +1 -1
- package/dist/shared/auto-offset-tag.d.ts +1 -1
- package/dist/shared/auto-offset-tag.d.ts.map +1 -1
- package/dist/shared/auto-offset-tag.js +3 -1
- package/dist/shared/automatic-run-end-cap.d.ts +5 -0
- package/dist/shared/automatic-run-end-cap.d.ts.map +1 -1
- package/dist/shared/automatic-run-end-cap.js +17 -9
- package/dist/shared/build-up-controls.d.ts +88 -0
- package/dist/shared/build-up-controls.d.ts.map +1 -0
- package/dist/shared/build-up-controls.js +139 -0
- package/dist/shared/connection-feedback.d.ts +6 -3
- package/dist/shared/connection-feedback.d.ts.map +1 -1
- package/dist/shared/connection-feedback.js +29 -6
- package/dist/shared/curtain-opening-limits.d.ts.map +1 -1
- package/dist/shared/curtain-opening-limits.js +45 -16
- package/dist/shared/draft-axis-guides.d.ts.map +1 -1
- package/dist/shared/draft-axis-guides.js +2 -1
- package/dist/shared/duct-adapter.js +1 -1
- package/dist/shared/duct-collar-inspector.d.ts +5 -0
- package/dist/shared/duct-collar-inspector.d.ts.map +1 -0
- package/dist/shared/duct-collar-inspector.js +36 -0
- package/dist/shared/follower-frames.d.ts +15 -0
- package/dist/shared/follower-frames.d.ts.map +1 -0
- package/dist/shared/follower-frames.js +36 -0
- package/dist/shared/handle-drag-scope.d.ts +14 -0
- package/dist/shared/handle-drag-scope.d.ts.map +1 -0
- package/dist/shared/handle-drag-scope.js +36 -0
- package/dist/shared/hosted-resize.d.ts +3 -1
- package/dist/shared/hosted-resize.d.ts.map +1 -1
- package/dist/shared/hosted-resize.js +10 -8
- package/dist/shared/item-interaction-actions.d.ts.map +1 -1
- package/dist/shared/item-interaction-actions.js +11 -2
- package/dist/shared/layer-thickness.d.ts +2 -0
- package/dist/shared/layer-thickness.d.ts.map +1 -0
- package/dist/shared/layer-thickness.js +3 -0
- package/dist/shared/live-preview.d.ts +16 -0
- package/dist/shared/live-preview.d.ts.map +1 -0
- package/dist/shared/live-preview.js +36 -0
- package/dist/shared/move-roof-tool.d.ts.map +1 -1
- package/dist/shared/move-roof-tool.js +100 -5
- package/dist/shared/node-batch/batchable.d.ts +2 -0
- package/dist/shared/node-batch/batchable.d.ts.map +1 -1
- package/dist/shared/node-batch/batchable.js +4 -0
- package/dist/shared/node-batch/candidates.d.ts +21 -5
- package/dist/shared/node-batch/candidates.d.ts.map +1 -1
- package/dist/shared/node-batch/candidates.js +85 -50
- package/dist/shared/node-batch/system.d.ts.map +1 -1
- package/dist/shared/node-batch/system.js +24 -15
- package/dist/shared/opening-casing-move.d.ts +16 -0
- package/dist/shared/opening-casing-move.d.ts.map +1 -0
- package/dist/shared/opening-casing-move.js +33 -0
- package/dist/shared/opening-casing-section.d.ts +15 -0
- package/dist/shared/opening-casing-section.d.ts.map +1 -0
- package/dist/shared/opening-casing-section.js +38 -0
- package/dist/shared/opening-casing.d.ts +26 -0
- package/dist/shared/opening-casing.d.ts.map +1 -0
- package/dist/shared/opening-casing.js +80 -0
- package/dist/shared/opening-depth-position.d.ts +13 -0
- package/dist/shared/opening-depth-position.d.ts.map +1 -0
- package/dist/shared/opening-depth-position.js +34 -0
- package/dist/shared/opening-documentation.d.ts.map +1 -1
- package/dist/shared/opening-documentation.js +17 -8
- package/dist/shared/opening-guides-runtime.d.ts +2 -1
- package/dist/shared/opening-guides-runtime.d.ts.map +1 -1
- package/dist/shared/opening-guides-runtime.js +13 -9
- package/dist/shared/opening-labels.d.ts +11 -0
- package/dist/shared/opening-labels.d.ts.map +1 -0
- package/dist/shared/opening-labels.js +46 -0
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +12 -10
- package/dist/shared/opening-plane-offset.d.ts +4 -3
- package/dist/shared/opening-plane-offset.d.ts.map +1 -1
- package/dist/shared/opening-plane-offset.js +7 -4
- package/dist/shared/opening-swap.d.ts +8 -0
- package/dist/shared/opening-swap.d.ts.map +1 -0
- package/dist/shared/opening-swap.js +18 -0
- package/dist/shared/path-point-affordance.d.ts.map +1 -1
- package/dist/shared/path-point-affordance.js +19 -24
- package/dist/shared/path-segment-affordance.d.ts +2 -1
- package/dist/shared/path-segment-affordance.d.ts.map +1 -1
- package/dist/shared/path-segment-affordance.js +11 -8
- package/dist/shared/pipe-collar-inspector.d.ts +5 -0
- package/dist/shared/pipe-collar-inspector.d.ts.map +1 -0
- package/dist/shared/pipe-collar-inspector.js +27 -0
- package/dist/shared/polygon-vertex-affordance.d.ts +19 -0
- package/dist/shared/polygon-vertex-affordance.d.ts.map +1 -1
- package/dist/shared/polygon-vertex-affordance.js +65 -6
- package/dist/shared/refrigerant-line-selection.d.ts.map +1 -1
- package/dist/shared/refrigerant-line-selection.js +46 -29
- package/dist/shared/relative-roof-drag.d.ts.map +1 -1
- package/dist/shared/relative-roof-drag.js +5 -4
- package/dist/shared/roof-opening-host.d.ts +2 -1
- package/dist/shared/roof-opening-host.d.ts.map +1 -1
- package/dist/shared/roof-opening-host.js +14 -5
- package/dist/shared/roof-surface.d.ts.map +1 -1
- package/dist/shared/roof-surface.js +2 -0
- package/dist/shared/roof-wall-opening-cut.d.ts.map +1 -1
- package/dist/shared/roof-wall-opening-cut.js +14 -6
- package/dist/shared/roof-wall-opening-placement.d.ts +2 -1
- package/dist/shared/roof-wall-opening-placement.d.ts.map +1 -1
- package/dist/shared/roof-wall-opening-placement.js +6 -4
- package/dist/shared/run-hanger-inspector.d.ts.map +1 -1
- package/dist/shared/run-hanger-inspector.js +39 -5
- package/dist/shared/run-hangers.d.ts.map +1 -1
- package/dist/shared/run-hangers.js +2 -2
- package/dist/shared/run-move-connectivity.d.ts +15 -6
- package/dist/shared/run-move-connectivity.d.ts.map +1 -1
- package/dist/shared/run-move-connectivity.js +14 -5
- package/dist/shared/run-tool-options.d.ts +8 -0
- package/dist/shared/run-tool-options.d.ts.map +1 -0
- package/dist/shared/run-tool-options.js +166 -0
- package/dist/shared/system-check-panel.d.ts.map +1 -1
- package/dist/shared/system-check-panel.js +94 -15
- package/dist/shared/system-checks.d.ts.map +1 -1
- package/dist/shared/system-checks.js +2 -1
- package/dist/shared/vertical-offset.js +1 -1
- package/dist/shared/wall-attach-target.d.ts.map +1 -1
- package/dist/shared/wall-attach-target.js +6 -3
- package/dist/shared/wall-opening-ceiling.d.ts +6 -0
- package/dist/shared/wall-opening-ceiling.d.ts.map +1 -1
- package/dist/shared/wall-opening-ceiling.js +36 -7
- package/dist/shelf/definition.d.ts +108 -3
- package/dist/shelf/definition.d.ts.map +1 -1
- package/dist/shelf/definition.edit.d.ts +4 -0
- package/dist/shelf/definition.edit.d.ts.map +1 -0
- package/dist/shelf/definition.edit.js +155 -0
- package/dist/shelf/definition.js +4 -270
- package/dist/shelf/definition.render.d.ts +6 -0
- package/dist/shelf/definition.render.d.ts.map +1 -0
- package/dist/shelf/definition.render.js +122 -0
- package/dist/site/definition.d.ts +312 -9
- package/dist/site/definition.d.ts.map +1 -1
- package/dist/site/definition.edit.d.ts +4 -0
- package/dist/site/definition.edit.d.ts.map +1 -0
- package/dist/site/definition.edit.js +4 -0
- package/dist/site/definition.js +4 -55
- package/dist/site/definition.render.d.ts +6 -0
- package/dist/site/definition.render.d.ts.map +1 -0
- package/dist/site/definition.render.js +47 -0
- package/dist/site/ground-hole.d.ts +3 -3
- package/dist/site/ground-hole.js +3 -3
- package/dist/site/ground-veil.d.ts +5 -12
- package/dist/site/ground-veil.d.ts.map +1 -1
- package/dist/site/ground-veil.js +9 -33
- package/dist/site/panel.d.ts.map +1 -1
- package/dist/site/panel.js +52 -12
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +52 -23
- package/dist/skylight/definition.d.ts +158 -9
- package/dist/skylight/definition.d.ts.map +1 -1
- package/dist/skylight/definition.edit.d.ts +4 -0
- package/dist/skylight/definition.edit.d.ts.map +1 -0
- package/dist/skylight/definition.edit.js +218 -0
- package/dist/skylight/definition.js +4 -271
- package/dist/skylight/definition.render.d.ts +6 -0
- package/dist/skylight/definition.render.d.ts.map +1 -0
- package/dist/skylight/definition.render.js +50 -0
- package/dist/skylight/move-tool.d.ts.map +1 -1
- package/dist/skylight/move-tool.js +7 -5
- package/dist/skylight/panel.d.ts.map +1 -1
- package/dist/skylight/panel.js +49 -19
- package/dist/slab/deck-geometry.d.ts +28 -0
- package/dist/slab/deck-geometry.d.ts.map +1 -0
- package/dist/slab/deck-geometry.js +320 -0
- package/dist/slab/definition.d.ts +289 -19
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.edit.d.ts +4 -0
- package/dist/slab/definition.edit.d.ts.map +1 -0
- package/dist/slab/definition.edit.js +230 -0
- package/dist/slab/definition.js +4 -329
- package/dist/slab/definition.render.d.ts +6 -0
- package/dist/slab/definition.render.d.ts.map +1 -0
- package/dist/slab/definition.render.js +92 -0
- package/dist/slab/dependency-tracker.d.ts.map +1 -1
- package/dist/slab/dependency-tracker.js +3 -0
- package/dist/slab/floorplan-affordances.d.ts +500 -0
- package/dist/slab/floorplan-affordances.d.ts.map +1 -1
- package/dist/slab/geometry.d.ts.map +1 -1
- package/dist/slab/geometry.js +46 -9
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +97 -21
- package/dist/slab/renderer.d.ts +11 -0
- package/dist/slab/renderer.d.ts.map +1 -0
- package/dist/slab/renderer.js +19 -0
- package/dist/slab/system.d.ts.map +1 -1
- package/dist/slab/system.js +12 -1
- package/dist/solar-panel/definition.d.ts +145 -14
- package/dist/solar-panel/definition.d.ts.map +1 -1
- package/dist/solar-panel/definition.edit.d.ts +4 -0
- package/dist/solar-panel/definition.edit.d.ts.map +1 -0
- package/dist/solar-panel/definition.edit.js +213 -0
- package/dist/solar-panel/definition.js +4 -263
- package/dist/solar-panel/definition.render.d.ts +6 -0
- package/dist/solar-panel/definition.render.d.ts.map +1 -0
- package/dist/solar-panel/definition.render.js +42 -0
- package/dist/solar-panel/move-tool.d.ts.map +1 -1
- package/dist/solar-panel/move-tool.js +7 -5
- package/dist/solar-panel/panel.d.ts.map +1 -1
- package/dist/solar-panel/panel.js +49 -14
- package/dist/spawn/definition.d.ts +48 -3
- package/dist/spawn/definition.d.ts.map +1 -1
- package/dist/spawn/definition.edit.d.ts +4 -0
- package/dist/spawn/definition.edit.d.ts.map +1 -0
- package/dist/spawn/definition.edit.js +64 -0
- package/dist/spawn/definition.js +4 -109
- package/dist/spawn/definition.render.d.ts +6 -0
- package/dist/spawn/definition.render.d.ts.map +1 -0
- package/dist/spawn/definition.render.js +48 -0
- package/dist/stair/construction-controls.d.ts +3 -1
- package/dist/stair/construction-controls.d.ts.map +1 -1
- package/dist/stair/construction-controls.js +75 -12
- package/dist/stair/definition.d.ts +334 -8
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.edit.d.ts +4 -0
- package/dist/stair/definition.edit.d.ts.map +1 -0
- package/dist/stair/definition.edit.js +377 -0
- package/dist/stair/definition.js +4 -443
- package/dist/stair/definition.render.d.ts +6 -0
- package/dist/stair/definition.render.d.ts.map +1 -0
- package/dist/stair/definition.render.js +65 -0
- package/dist/stair/paint.d.ts +6 -0
- package/dist/stair/paint.d.ts.map +1 -1
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +244 -52
- package/dist/stair/parametrics.d.ts.map +1 -1
- package/dist/stair/parametrics.js +7 -0
- package/dist/stair/placement-defaults.d.ts +18 -0
- package/dist/stair/placement-defaults.d.ts.map +1 -0
- package/dist/stair/placement-defaults.js +27 -0
- package/dist/stair/railing-controls.d.ts.map +1 -1
- package/dist/stair/railing-controls.js +78 -18
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +16 -10
- package/dist/stair/structure-controls.d.ts +18 -0
- package/dist/stair/structure-controls.d.ts.map +1 -0
- package/dist/stair/structure-controls.js +275 -0
- package/dist/stair/tool.d.ts.map +1 -1
- package/dist/stair/tool.js +13 -9
- package/dist/stair/use-stair-render-data.d.ts +41 -0
- package/dist/stair/use-stair-render-data.d.ts.map +1 -1
- package/dist/stair-segment/definition.d.ts +130 -7
- package/dist/stair-segment/definition.d.ts.map +1 -1
- package/dist/stair-segment/definition.edit.d.ts +4 -0
- package/dist/stair-segment/definition.edit.d.ts.map +1 -0
- package/dist/stair-segment/definition.edit.js +135 -0
- package/dist/stair-segment/definition.js +4 -172
- package/dist/stair-segment/definition.render.d.ts +6 -0
- package/dist/stair-segment/definition.render.d.ts.map +1 -0
- package/dist/stair-segment/definition.render.js +38 -0
- package/dist/stair-segment/panel.d.ts.map +1 -1
- package/dist/stair-segment/panel.js +65 -18
- package/dist/structural-grid/definition.d.ts +50 -3
- package/dist/structural-grid/definition.d.ts.map +1 -1
- package/dist/structural-grid/definition.edit.d.ts +4 -0
- package/dist/structural-grid/definition.edit.d.ts.map +1 -0
- package/dist/structural-grid/definition.edit.js +18 -0
- package/dist/structural-grid/definition.js +4 -51
- package/dist/structural-grid/definition.render.d.ts +6 -0
- package/dist/structural-grid/definition.render.d.ts.map +1 -0
- package/dist/structural-grid/definition.render.js +35 -0
- package/dist/turbine-vent/definition.d.ts +97 -23
- package/dist/turbine-vent/definition.d.ts.map +1 -1
- package/dist/turbine-vent/definition.edit.d.ts +4 -0
- package/dist/turbine-vent/definition.edit.d.ts.map +1 -0
- package/dist/turbine-vent/definition.edit.js +66 -0
- package/dist/turbine-vent/definition.js +4 -121
- package/dist/turbine-vent/definition.render.d.ts +6 -0
- package/dist/turbine-vent/definition.render.d.ts.map +1 -0
- package/dist/turbine-vent/definition.render.js +40 -0
- package/dist/turbine-vent/move-tool.d.ts.map +1 -1
- package/dist/turbine-vent/move-tool.js +6 -5
- package/dist/turbine-vent/panel.d.ts.map +1 -1
- package/dist/turbine-vent/panel.js +14 -5
- package/dist/unit/definition.d.ts +53 -9
- package/dist/unit/definition.d.ts.map +1 -1
- package/dist/unit/definition.edit.d.ts +4 -0
- package/dist/unit/definition.edit.d.ts.map +1 -0
- package/dist/unit/definition.edit.js +4 -0
- package/dist/unit/definition.js +4 -38
- package/dist/unit/definition.render.d.ts +6 -0
- package/dist/unit/definition.render.d.ts.map +1 -0
- package/dist/unit/definition.render.js +30 -0
- package/dist/unit/unit-panel.d.ts.map +1 -1
- package/dist/unit/unit-panel.js +28 -12
- package/dist/wall/actions.d.ts +1 -1
- package/dist/wall/actions.d.ts.map +1 -1
- package/dist/wall/actions.js +17 -13
- package/dist/wall/construction-dimensions.d.ts +6 -0
- package/dist/wall/construction-dimensions.d.ts.map +1 -1
- package/dist/wall/construction-dimensions.js +8 -0
- package/dist/wall/contextual-dimensions.d.ts +6 -0
- package/dist/wall/contextual-dimensions.d.ts.map +1 -1
- package/dist/wall/contextual-dimensions.js +105 -18
- package/dist/wall/curtain-opening-frame.d.ts.map +1 -1
- package/dist/wall/curtain-opening-frame.js +6 -4
- package/dist/wall/curtain-wall-layout.d.ts +1 -1
- package/dist/wall/curtain-wall-layout.d.ts.map +1 -1
- package/dist/wall/curtain-wall-layout.js +6 -4
- package/dist/wall/curtain-wall-materials.d.ts.map +1 -1
- package/dist/wall/curtain-wall-materials.js +8 -3
- package/dist/wall/curtain-wall-panel.d.ts.map +1 -1
- package/dist/wall/curtain-wall-panel.js +242 -38
- package/dist/wall/curve-tool.d.ts.map +1 -1
- package/dist/wall/curve-tool.js +2 -3
- package/dist/wall/definition.d.ts +809 -3
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.edit.d.ts +4 -0
- package/dist/wall/definition.edit.d.ts.map +1 -0
- package/dist/wall/definition.edit.js +184 -0
- package/dist/wall/definition.js +4 -264
- package/dist/wall/definition.render.d.ts +6 -0
- package/dist/wall/definition.render.d.ts.map +1 -0
- package/dist/wall/definition.render.js +100 -0
- package/dist/wall/floorplan-affordances.d.ts.map +1 -1
- package/dist/wall/floorplan-affordances.js +9 -6
- package/dist/wall/floorplan-move.d.ts.map +1 -1
- package/dist/wall/floorplan-move.js +66 -16
- package/dist/wall/floorplan.d.ts +4 -5
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +63 -47
- package/dist/wall/measurement.d.ts.map +1 -1
- package/dist/wall/measurement.js +22 -5
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +4 -3
- package/dist/wall/move-shared.js +1 -1
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +77 -12
- package/dist/wall/paint.d.ts +2 -2
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +11 -4
- package/dist/wall/panel-model.d.ts +17 -2
- package/dist/wall/panel-model.d.ts.map +1 -1
- package/dist/wall/panel-model.js +159 -18
- package/dist/wall/panel.d.ts +8 -0
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +240 -159
- package/dist/wall/parametrics.d.ts +1 -1
- package/dist/wall/parametrics.d.ts.map +1 -1
- package/dist/wall/parametrics.js +14 -1
- package/dist/wall/quick-measurement.js +1 -1
- package/dist/wall/railing-wall-adapter.d.ts +7 -0
- package/dist/wall/railing-wall-adapter.d.ts.map +1 -0
- package/dist/wall/railing-wall-adapter.js +38 -0
- package/dist/wall/railing-wall-floorplan.d.ts +8 -0
- package/dist/wall/railing-wall-floorplan.d.ts.map +1 -0
- package/dist/wall/railing-wall-floorplan.js +27 -0
- package/dist/wall/railing-wall-geometry.d.ts +12 -0
- package/dist/wall/railing-wall-geometry.d.ts.map +1 -0
- package/dist/wall/railing-wall-geometry.js +51 -0
- package/dist/wall/railing-wall-guard.d.ts +81 -0
- package/dist/wall/railing-wall-guard.d.ts.map +1 -0
- package/dist/wall/railing-wall-guard.js +435 -0
- package/dist/wall/railing-wall-materials.d.ts +11 -0
- package/dist/wall/railing-wall-materials.d.ts.map +1 -0
- package/dist/wall/railing-wall-materials.js +31 -0
- package/dist/wall/railing-wall-panel-model.d.ts +30 -0
- package/dist/wall/railing-wall-panel-model.d.ts.map +1 -0
- package/dist/wall/railing-wall-panel-model.js +117 -0
- package/dist/wall/railing-wall-panel.d.ts +17 -0
- package/dist/wall/railing-wall-panel.d.ts.map +1 -0
- package/dist/wall/railing-wall-panel.js +42 -0
- package/dist/wall/rectangle-command.d.ts +80 -1
- package/dist/wall/rectangle-command.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.d.ts.map +1 -1
- package/dist/wall/rectangle-tool.js +4 -2
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +3 -1
- package/dist/wall/skirting-floor-gaps.d.ts +8 -0
- package/dist/wall/skirting-floor-gaps.d.ts.map +1 -0
- package/dist/wall/skirting-floor-gaps.js +36 -0
- package/dist/wall/split-floorplan-layer.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.js +2 -2
- package/dist/wall/split-tool.d.ts.map +1 -1
- package/dist/wall/split-tool.js +2 -2
- package/dist/wall/system.d.ts +0 -14
- package/dist/wall/system.d.ts.map +1 -1
- package/dist/wall/system.js +6 -1
- package/dist/wall/tool.d.ts +16 -0
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +285 -70
- package/dist/wall/treatments.d.ts +3 -0
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +57 -14
- package/dist/window/actions.d.ts +7 -0
- package/dist/window/actions.d.ts.map +1 -0
- package/dist/window/actions.js +29 -0
- package/dist/window/definition.d.ts +356 -15
- package/dist/window/definition.d.ts.map +1 -1
- package/dist/window/definition.edit.d.ts +4 -0
- package/dist/window/definition.edit.d.ts.map +1 -0
- package/dist/window/definition.edit.js +255 -0
- package/dist/window/definition.js +5 -329
- package/dist/window/definition.render.d.ts +8 -0
- package/dist/window/definition.render.d.ts.map +1 -0
- package/dist/window/definition.render.js +83 -0
- package/dist/window/floorplan-move.d.ts.map +1 -1
- package/dist/window/floorplan-move.js +12 -4
- package/dist/window/floorplan.d.ts +2 -0
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +58 -1
- package/dist/window/mechanism.d.ts.map +1 -1
- package/dist/window/mechanism.js +21 -1
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +17 -14
- package/dist/window/paint.d.ts +2 -7
- package/dist/window/paint.d.ts.map +1 -1
- package/dist/window/paint.js +31 -3
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +311 -69
- package/dist/window/placement.d.ts.map +1 -1
- package/dist/window/placement.js +5 -1
- package/dist/window/swing.d.ts +13 -0
- package/dist/window/swing.d.ts.map +1 -0
- package/dist/window/swing.js +16 -0
- package/dist/window/tool.d.ts.map +1 -1
- package/dist/window/tool.js +24 -16
- package/dist/zone/contextual-dimensions.d.ts.map +1 -1
- package/dist/zone/contextual-dimensions.js +1 -2
- package/dist/zone/definition.d.ts +264 -9
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.edit.d.ts +4 -0
- package/dist/zone/definition.edit.d.ts.map +1 -0
- package/dist/zone/definition.edit.js +38 -0
- package/dist/zone/definition.js +4 -97
- package/dist/zone/definition.render.d.ts +6 -0
- package/dist/zone/definition.render.d.ts.map +1 -0
- package/dist/zone/definition.render.js +55 -0
- package/dist/zone/floorplan-affordances.d.ts +136 -0
- package/dist/zone/floorplan-affordances.d.ts.map +1 -1
- package/dist/zone/quantities-panel.d.ts.map +1 -1
- package/dist/zone/quantities-panel.js +34 -9
- package/dist/zone/renderer.d.ts.map +1 -1
- package/dist/zone/renderer.js +9 -5
- package/package.json +27 -16
- package/dist/site/generic-foundation-geometry.d.ts +0 -16
- package/dist/site/generic-foundation-geometry.d.ts.map +0 -1
- package/dist/site/generic-foundation-geometry.js +0 -75
- package/dist/site/generic-foundation.d.ts +0 -4
- package/dist/site/generic-foundation.d.ts.map +0 -1
- package/dist/site/generic-foundation.js +0 -91
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { buildDormerFloorplan } from './floorplan.js';
|
|
2
|
+
import { dormerPaint } from './paint.js';
|
|
3
|
+
import { dormerParametrics } from './parametrics.js';
|
|
4
|
+
const SIDE_HANDLE_OFFSET = 0.25;
|
|
5
|
+
const ROTATE_CORNER_OFFSET = 0.35;
|
|
6
|
+
const ROTATE_RING_OFFSET = 0.08;
|
|
7
|
+
// Schema/parametrics ranges — keep these aligned with `dormerParametrics`
|
|
8
|
+
// so the in-world drag and the inspector slider clamp identically.
|
|
9
|
+
const MIN_DIM = 0.5;
|
|
10
|
+
const MIN_HEIGHT = 0;
|
|
11
|
+
// Clamp used for handle Y placement so side chevrons stay reachable on
|
|
12
|
+
// dormers whose wall is flat (`height ≈ 0`). The dormer body is
|
|
13
|
+
// `height + roofHeight` tall; if that collapses too, the side arrows
|
|
14
|
+
// would bury into the deck — this floor keeps them visible.
|
|
15
|
+
const MIN_BODY_DISPLAY = 0.3;
|
|
16
|
+
// Mid-Y of the dormer body in dormer-local frame. Y=0 is the eave
|
|
17
|
+
// (where wall meets skirt); body extends up to `height + roofHeight`.
|
|
18
|
+
// Side chevrons sit at the body midpoint so they read as "this is the
|
|
19
|
+
// dormer's footprint" rather than floating at the apex or the eave.
|
|
20
|
+
function getBodyMidY(n) {
|
|
21
|
+
return Math.max(n.height + n.roofHeight, MIN_BODY_DISPLAY) / 2;
|
|
22
|
+
}
|
|
23
|
+
// Width arrow on the +X (right) or -X (left) side. Asymmetric resize:
|
|
24
|
+
// dragging one arrow grows the dormer outward from its own edge while
|
|
25
|
+
// the opposite edge stays world-fixed in segment frame. The dormer's
|
|
26
|
+
// registered ref frame is dormer-local (renderer applies position +
|
|
27
|
+
// rotation on the registered group), so placements are in dormer-local
|
|
28
|
+
// coords — no per-arrow rotation/translation compensation here.
|
|
29
|
+
//
|
|
30
|
+
// `apply` recomputes `position` so the anchored edge stays at the same
|
|
31
|
+
// segment-local point even when the dormer is Y-rotated: project the
|
|
32
|
+
// dormer's local +X onto segment frame via (cos r, -sin r), find the
|
|
33
|
+
// anchored edge's segment-local XZ from the pre-drag node, then place
|
|
34
|
+
// the new center half a new-width away from that anchor in the same
|
|
35
|
+
// direction. Mirrors chimney + roof-segment width handle math.
|
|
36
|
+
function dormerWidthHandle(side) {
|
|
37
|
+
const sign = side === 'right' ? 1 : -1;
|
|
38
|
+
return {
|
|
39
|
+
kind: 'linear-resize',
|
|
40
|
+
axis: 'x',
|
|
41
|
+
// 'min' = -X edge anchored (right arrow grows the +X edge outward).
|
|
42
|
+
// 'max' = +X edge anchored (left arrow grows the -X edge outward).
|
|
43
|
+
anchor: side === 'right' ? 'min' : 'max',
|
|
44
|
+
// Default 'parent' portal (no `'grandparent'` escape). Arrows
|
|
45
|
+
// portal into the host roof segment's registered mesh, which lives
|
|
46
|
+
// inside the roof renderer's `<group name="segments-wrapper">`.
|
|
47
|
+
// That wrapper is `visible={false}` by default; `RoofEditSystem`
|
|
48
|
+
// imperatively flips it to `visible={true}` whenever any accessory
|
|
49
|
+
// hosted on a segment of this roof is selected, so the portaled
|
|
50
|
+
// arrows become visible during selection without us reaching for
|
|
51
|
+
// `portal: 'grandparent'` — which trips the same "Color target has
|
|
52
|
+
// no corresponding fragment stage output" WebGPU pipeline error
|
|
53
|
+
// chimney already documents.
|
|
54
|
+
min: MIN_DIM,
|
|
55
|
+
currentValue: (n) => n.width,
|
|
56
|
+
apply: (initial, newWidth) => {
|
|
57
|
+
const rotY = initial.rotation ?? 0;
|
|
58
|
+
const armX = Math.cos(rotY);
|
|
59
|
+
const armZ = -Math.sin(rotY);
|
|
60
|
+
const anchorX = initial.position[0] - sign * (initial.width / 2) * armX;
|
|
61
|
+
const anchorZ = initial.position[2] - sign * (initial.width / 2) * armZ;
|
|
62
|
+
const newCenterX = anchorX + sign * (newWidth / 2) * armX;
|
|
63
|
+
const newCenterZ = anchorZ + sign * (newWidth / 2) * armZ;
|
|
64
|
+
return {
|
|
65
|
+
width: newWidth,
|
|
66
|
+
position: [newCenterX, initial.position[1], newCenterZ],
|
|
67
|
+
};
|
|
68
|
+
},
|
|
69
|
+
placement: {
|
|
70
|
+
position: (n) => [sign * (n.width / 2 + SIDE_HANDLE_OFFSET), getBodyMidY(n), 0],
|
|
71
|
+
// Flip the left chevron so it points outward toward -X. The
|
|
72
|
+
// generic LinearArrow only auto-orients for axis 'z'; +X / -X
|
|
73
|
+
// facing is up to the descriptor.
|
|
74
|
+
rotationY: () => (side === 'right' ? 0 : Math.PI),
|
|
75
|
+
},
|
|
76
|
+
};
|
|
77
|
+
}
|
|
78
|
+
// Depth arrow on the +Z (front) or -Z (back) side. Asymmetric resize:
|
|
79
|
+
// dragging one arrow grows the dormer outward from its own edge while
|
|
80
|
+
// the opposite edge stays world-fixed in segment frame — same pattern
|
|
81
|
+
// as `dormerWidthHandle`, just on the Z axis. `apply` recomputes
|
|
82
|
+
// `position` so the anchored edge stays at the same segment-local point
|
|
83
|
+
// even when the dormer is Y-rotated: project the dormer's local +Z onto
|
|
84
|
+
// segment frame via (sin r, cos r), find the anchored edge's segment-
|
|
85
|
+
// local XZ from the pre-drag node, then place the new center half a new-
|
|
86
|
+
// depth away from that anchor in the same direction.
|
|
87
|
+
function dormerDepthHandle(side) {
|
|
88
|
+
const sign = side === 'front' ? 1 : -1;
|
|
89
|
+
return {
|
|
90
|
+
kind: 'linear-resize',
|
|
91
|
+
axis: 'z',
|
|
92
|
+
// 'min' = -Z edge anchored (front arrow grows the +Z edge outward).
|
|
93
|
+
// 'max' = +Z edge anchored (back arrow grows the -Z edge outward).
|
|
94
|
+
anchor: side === 'front' ? 'min' : 'max',
|
|
95
|
+
min: MIN_DIM,
|
|
96
|
+
currentValue: (n) => n.depth,
|
|
97
|
+
apply: (initial, newDepth) => {
|
|
98
|
+
const rotY = initial.rotation ?? 0;
|
|
99
|
+
const armX = Math.sin(rotY);
|
|
100
|
+
const armZ = Math.cos(rotY);
|
|
101
|
+
const anchorX = initial.position[0] - sign * (initial.depth / 2) * armX;
|
|
102
|
+
const anchorZ = initial.position[2] - sign * (initial.depth / 2) * armZ;
|
|
103
|
+
const newCenterX = anchorX + sign * (newDepth / 2) * armX;
|
|
104
|
+
const newCenterZ = anchorZ + sign * (newDepth / 2) * armZ;
|
|
105
|
+
return {
|
|
106
|
+
depth: newDepth,
|
|
107
|
+
position: [newCenterX, initial.position[1], newCenterZ],
|
|
108
|
+
};
|
|
109
|
+
},
|
|
110
|
+
placement: {
|
|
111
|
+
position: (n) => [0, getBodyMidY(n), sign * (n.depth / 2 + SIDE_HANDLE_OFFSET)],
|
|
112
|
+
// The renderer auto-yaws axis-'z' chevrons by -π/2 so the default
|
|
113
|
+
// points +Z (front). Flip the back chevron 180° to point -Z.
|
|
114
|
+
rotationY: () => (side === 'front' ? 0 : Math.PI),
|
|
115
|
+
},
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
// Wall-height tracker — dashed vertical leader from the eave (y=0) up
|
|
119
|
+
// to a draggable cube at the wall top (y=height), centred on the
|
|
120
|
+
// footprint. Reads as "the dormer wall is THIS tall" without claiming
|
|
121
|
+
// the roof apex. Same `linear-resize axis='y'` pipeline as every other
|
|
122
|
+
// height handle; `shape: 'tracker'` only swaps the visual.
|
|
123
|
+
function dormerWallHeightHandle() {
|
|
124
|
+
return {
|
|
125
|
+
kind: 'linear-resize',
|
|
126
|
+
axis: 'y',
|
|
127
|
+
anchor: 'min',
|
|
128
|
+
shape: 'tracker',
|
|
129
|
+
min: MIN_HEIGHT,
|
|
130
|
+
currentValue: (n) => n.height,
|
|
131
|
+
apply: (_n, newValue) => ({ height: newValue }),
|
|
132
|
+
placement: {
|
|
133
|
+
position: (n) => [0, Math.max(n.height, 0.001), 0],
|
|
134
|
+
},
|
|
135
|
+
trackerBaseY: () => 0,
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
// Whole-dormer rotation gizmo at the +X / +Z corner of the footprint,
|
|
139
|
+
// guide ring traces the corner-diagonal radius on hover / drag.
|
|
140
|
+
// Dormer-local frame is the registered group (renderer applies
|
|
141
|
+
// node.position + node.rotation there), so the default rotation pivot
|
|
142
|
+
// (rideObject origin = dormer center) is correct — no
|
|
143
|
+
// `rotationCenter` override needed.
|
|
144
|
+
function dormerRotateHandle() {
|
|
145
|
+
return {
|
|
146
|
+
kind: 'arc-resize',
|
|
147
|
+
axis: 'angular',
|
|
148
|
+
shape: 'rotate',
|
|
149
|
+
// Negate the cursor delta to match three.js Y-rotation handedness
|
|
150
|
+
// (cursor atan2 ticks opposite-handed from `rotation-y`).
|
|
151
|
+
apply: (initial, delta) => ({ rotation: (initial.rotation ?? 0) - delta }),
|
|
152
|
+
placement: {
|
|
153
|
+
position: (n) => {
|
|
154
|
+
const halfX = n.width / 2 + ROTATE_CORNER_OFFSET;
|
|
155
|
+
const halfZ = n.depth / 2 + ROTATE_CORNER_OFFSET;
|
|
156
|
+
return [halfX, getBodyMidY(n), halfZ];
|
|
157
|
+
},
|
|
158
|
+
// The two-headed icon's natural bias points along +X; aim it at
|
|
159
|
+
// the corner (45° outward from the dormer's local frame).
|
|
160
|
+
rotationY: () => -Math.PI / 4,
|
|
161
|
+
},
|
|
162
|
+
decoration: {
|
|
163
|
+
kind: 'ring',
|
|
164
|
+
radius: (n) => Math.hypot(n.width / 2, n.depth / 2) + ROTATE_RING_OFFSET,
|
|
165
|
+
y: (n) => getBodyMidY(n),
|
|
166
|
+
},
|
|
167
|
+
};
|
|
168
|
+
}
|
|
169
|
+
const dormerHandles = [
|
|
170
|
+
dormerWidthHandle('right'),
|
|
171
|
+
dormerWidthHandle('left'),
|
|
172
|
+
dormerDepthHandle('front'),
|
|
173
|
+
dormerDepthHandle('back'),
|
|
174
|
+
dormerWallHeightHandle(),
|
|
175
|
+
dormerRotateHandle(),
|
|
176
|
+
// The wall-skirt (downward chevron), roof-height (peak chevron), and
|
|
177
|
+
// the asymmetric front/back depth split stay out for now. Re-adding
|
|
178
|
+
// any of them previously fired the "Color target has no
|
|
179
|
+
// corresponding fragment stage output" WebGPU pipeline error chimney
|
|
180
|
+
// already documented for its flue / cap-thickness / cap-overhang
|
|
181
|
+
// extras — only reproducible while `portal: 'grandparent'` was set,
|
|
182
|
+
// which we no longer rely on (RoofEditSystem reveals the wrapper
|
|
183
|
+
// instead). The shapes themselves are valid; if the count budget
|
|
184
|
+
// turns out to also be sensitive without grandparent portal, keep
|
|
185
|
+
// the current compact set.
|
|
186
|
+
// dormerWallSkirtHandle(),
|
|
187
|
+
// dormerRoofHeightHandle(),
|
|
188
|
+
];
|
|
189
|
+
export const dormerEditContribution = {
|
|
190
|
+
capabilities: {
|
|
191
|
+
// Paint dispatch for the wall / side / top surface split. The
|
|
192
|
+
// editor's selection-manager routes paint hover / click /
|
|
193
|
+
// preview through this entry rather than carrying a kind-name
|
|
194
|
+
// arm.
|
|
195
|
+
paint: dormerPaint,
|
|
196
|
+
},
|
|
197
|
+
affordanceTools: {
|
|
198
|
+
// Drag-to-place tool for duplicate + move. Reuses the placement
|
|
199
|
+
// ghost preview but seeds it from the moving (cloned) node so the
|
|
200
|
+
// duplicate keeps the source's dimensions, materials, and window
|
|
201
|
+
// options.
|
|
202
|
+
move: () => import('./move-tool.js'),
|
|
203
|
+
},
|
|
204
|
+
parametrics: dormerParametrics,
|
|
205
|
+
handles: dormerHandles,
|
|
206
|
+
floorplan: buildDormerFloorplan,
|
|
207
|
+
preview: () => import('./preview.js'),
|
|
208
|
+
tool: () => import('./tool.js'),
|
|
209
|
+
toolHints: [
|
|
210
|
+
{ key: 'Left click', label: 'Place dormer on roof' },
|
|
211
|
+
{ key: 'R / Shift+R', label: 'Rotate ghost ±15°' },
|
|
212
|
+
{ key: 'Esc', label: 'Cancel' },
|
|
213
|
+
],
|
|
214
|
+
};
|
|
@@ -1,319 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
import { dormerParametrics } from './parametrics.js';
|
|
6
|
-
import { DormerNode } from './schema.js';
|
|
7
|
-
const SIDE_HANDLE_OFFSET = 0.25;
|
|
8
|
-
const HEIGHT_HANDLE_OFFSET = 0.25;
|
|
9
|
-
const ROTATE_CORNER_OFFSET = 0.35;
|
|
10
|
-
const ROTATE_RING_OFFSET = 0.08;
|
|
11
|
-
// Schema/parametrics ranges — keep these aligned with `dormerParametrics`
|
|
12
|
-
// so the in-world drag and the inspector slider clamp identically.
|
|
13
|
-
const MIN_DIM = 0.5;
|
|
14
|
-
const MIN_HEIGHT = 0;
|
|
15
|
-
const MIN_ROOF_HEIGHT = 0;
|
|
16
|
-
const MAX_ROOF_HEIGHT = 2;
|
|
17
|
-
const MIN_SKIRT = 0.2;
|
|
18
|
-
const MAX_SKIRT = 6;
|
|
19
|
-
// Clamp used for handle Y placement so side chevrons stay reachable on
|
|
20
|
-
// dormers whose wall is flat (`height ≈ 0`). The dormer body is
|
|
21
|
-
// `height + roofHeight` tall; if that collapses too, the side arrows
|
|
22
|
-
// would bury into the deck — this floor keeps them visible.
|
|
23
|
-
const MIN_BODY_DISPLAY = 0.3;
|
|
24
|
-
// Mid-Y of the dormer body in dormer-local frame. Y=0 is the eave
|
|
25
|
-
// (where wall meets skirt); body extends up to `height + roofHeight`.
|
|
26
|
-
// Side chevrons sit at the body midpoint so they read as "this is the
|
|
27
|
-
// dormer's footprint" rather than floating at the apex or the eave.
|
|
28
|
-
function getBodyMidY(n) {
|
|
29
|
-
return Math.max(n.height + n.roofHeight, MIN_BODY_DISPLAY) / 2;
|
|
30
|
-
}
|
|
31
|
-
// Width arrow on the +X (right) or -X (left) side. Asymmetric resize:
|
|
32
|
-
// dragging one arrow grows the dormer outward from its own edge while
|
|
33
|
-
// the opposite edge stays world-fixed in segment frame. The dormer's
|
|
34
|
-
// registered ref frame is dormer-local (renderer applies position +
|
|
35
|
-
// rotation on the registered group), so placements are in dormer-local
|
|
36
|
-
// coords — no per-arrow rotation/translation compensation here.
|
|
37
|
-
//
|
|
38
|
-
// `apply` recomputes `position` so the anchored edge stays at the same
|
|
39
|
-
// segment-local point even when the dormer is Y-rotated: project the
|
|
40
|
-
// dormer's local +X onto segment frame via (cos r, -sin r), find the
|
|
41
|
-
// anchored edge's segment-local XZ from the pre-drag node, then place
|
|
42
|
-
// the new center half a new-width away from that anchor in the same
|
|
43
|
-
// direction. Mirrors chimney + roof-segment width handle math.
|
|
44
|
-
function dormerWidthHandle(side) {
|
|
45
|
-
const sign = side === 'right' ? 1 : -1;
|
|
46
|
-
return {
|
|
47
|
-
kind: 'linear-resize',
|
|
48
|
-
axis: 'x',
|
|
49
|
-
// 'min' = -X edge anchored (right arrow grows the +X edge outward).
|
|
50
|
-
// 'max' = +X edge anchored (left arrow grows the -X edge outward).
|
|
51
|
-
anchor: side === 'right' ? 'min' : 'max',
|
|
52
|
-
// Default 'parent' portal (no `'grandparent'` escape). Arrows
|
|
53
|
-
// portal into the host roof segment's registered mesh, which lives
|
|
54
|
-
// inside the roof renderer's `<group name="segments-wrapper">`.
|
|
55
|
-
// That wrapper is `visible={false}` by default; `RoofEditSystem`
|
|
56
|
-
// imperatively flips it to `visible={true}` whenever any accessory
|
|
57
|
-
// hosted on a segment of this roof is selected, so the portaled
|
|
58
|
-
// arrows become visible during selection without us reaching for
|
|
59
|
-
// `portal: 'grandparent'` — which trips the same "Color target has
|
|
60
|
-
// no corresponding fragment stage output" WebGPU pipeline error
|
|
61
|
-
// chimney already documents.
|
|
62
|
-
min: MIN_DIM,
|
|
63
|
-
currentValue: (n) => n.width,
|
|
64
|
-
apply: (initial, newWidth) => {
|
|
65
|
-
const rotY = initial.rotation ?? 0;
|
|
66
|
-
const armX = Math.cos(rotY);
|
|
67
|
-
const armZ = -Math.sin(rotY);
|
|
68
|
-
const anchorX = initial.position[0] - sign * (initial.width / 2) * armX;
|
|
69
|
-
const anchorZ = initial.position[2] - sign * (initial.width / 2) * armZ;
|
|
70
|
-
const newCenterX = anchorX + sign * (newWidth / 2) * armX;
|
|
71
|
-
const newCenterZ = anchorZ + sign * (newWidth / 2) * armZ;
|
|
72
|
-
return {
|
|
73
|
-
width: newWidth,
|
|
74
|
-
position: [newCenterX, initial.position[1], newCenterZ],
|
|
75
|
-
};
|
|
76
|
-
},
|
|
77
|
-
placement: {
|
|
78
|
-
position: (n) => [sign * (n.width / 2 + SIDE_HANDLE_OFFSET), getBodyMidY(n), 0],
|
|
79
|
-
// Flip the left chevron so it points outward toward -X. The
|
|
80
|
-
// generic LinearArrow only auto-orients for axis 'z'; +X / -X
|
|
81
|
-
// facing is up to the descriptor.
|
|
82
|
-
rotationY: () => (side === 'right' ? 0 : Math.PI),
|
|
83
|
-
},
|
|
84
|
-
};
|
|
85
|
-
}
|
|
86
|
-
// Depth arrow on the +Z (front) or -Z (back) side. Asymmetric resize:
|
|
87
|
-
// dragging one arrow grows the dormer outward from its own edge while
|
|
88
|
-
// the opposite edge stays world-fixed in segment frame — same pattern
|
|
89
|
-
// as `dormerWidthHandle`, just on the Z axis. `apply` recomputes
|
|
90
|
-
// `position` so the anchored edge stays at the same segment-local point
|
|
91
|
-
// even when the dormer is Y-rotated: project the dormer's local +Z onto
|
|
92
|
-
// segment frame via (sin r, cos r), find the anchored edge's segment-
|
|
93
|
-
// local XZ from the pre-drag node, then place the new center half a new-
|
|
94
|
-
// depth away from that anchor in the same direction.
|
|
95
|
-
function dormerDepthHandle(side) {
|
|
96
|
-
const sign = side === 'front' ? 1 : -1;
|
|
97
|
-
return {
|
|
98
|
-
kind: 'linear-resize',
|
|
99
|
-
axis: 'z',
|
|
100
|
-
// 'min' = -Z edge anchored (front arrow grows the +Z edge outward).
|
|
101
|
-
// 'max' = +Z edge anchored (back arrow grows the -Z edge outward).
|
|
102
|
-
anchor: side === 'front' ? 'min' : 'max',
|
|
103
|
-
min: MIN_DIM,
|
|
104
|
-
currentValue: (n) => n.depth,
|
|
105
|
-
apply: (initial, newDepth) => {
|
|
106
|
-
const rotY = initial.rotation ?? 0;
|
|
107
|
-
const armX = Math.sin(rotY);
|
|
108
|
-
const armZ = Math.cos(rotY);
|
|
109
|
-
const anchorX = initial.position[0] - sign * (initial.depth / 2) * armX;
|
|
110
|
-
const anchorZ = initial.position[2] - sign * (initial.depth / 2) * armZ;
|
|
111
|
-
const newCenterX = anchorX + sign * (newDepth / 2) * armX;
|
|
112
|
-
const newCenterZ = anchorZ + sign * (newDepth / 2) * armZ;
|
|
113
|
-
return {
|
|
114
|
-
depth: newDepth,
|
|
115
|
-
position: [newCenterX, initial.position[1], newCenterZ],
|
|
116
|
-
};
|
|
117
|
-
},
|
|
118
|
-
placement: {
|
|
119
|
-
position: (n) => [0, getBodyMidY(n), sign * (n.depth / 2 + SIDE_HANDLE_OFFSET)],
|
|
120
|
-
// The renderer auto-yaws axis-'z' chevrons by -π/2 so the default
|
|
121
|
-
// points +Z (front). Flip the back chevron 180° to point -Z.
|
|
122
|
-
rotationY: () => (side === 'front' ? 0 : Math.PI),
|
|
123
|
-
},
|
|
124
|
-
};
|
|
125
|
-
}
|
|
126
|
-
// Wall-height tracker — dashed vertical leader from the eave (y=0) up
|
|
127
|
-
// to a draggable cube at the wall top (y=height), centred on the
|
|
128
|
-
// footprint. Reads as "the dormer wall is THIS tall" without claiming
|
|
129
|
-
// the roof apex. Same `linear-resize axis='y'` pipeline as every other
|
|
130
|
-
// height handle; `shape: 'tracker'` only swaps the visual.
|
|
131
|
-
function dormerWallHeightHandle() {
|
|
132
|
-
return {
|
|
133
|
-
kind: 'linear-resize',
|
|
134
|
-
axis: 'y',
|
|
135
|
-
anchor: 'min',
|
|
136
|
-
shape: 'tracker',
|
|
137
|
-
min: MIN_HEIGHT,
|
|
138
|
-
currentValue: (n) => n.height,
|
|
139
|
-
apply: (_n, newValue) => ({ height: newValue }),
|
|
140
|
-
placement: {
|
|
141
|
-
position: (n) => [0, Math.max(n.height, 0.001), 0],
|
|
142
|
-
},
|
|
143
|
-
trackerBaseY: () => 0,
|
|
144
|
-
};
|
|
145
|
-
}
|
|
146
|
-
// Wall-skirt chevron — sits BELOW the eave, at the bottom of the
|
|
147
|
-
// hung-wall skirt that extends down into the host roof. Drag pulls the
|
|
148
|
-
// skirt's bottom edge further down (or up) to grow / shrink
|
|
149
|
-
// `wallSkirtHeight`. Anchor 'max' keeps the eave (y=0) fixed; the
|
|
150
|
-
// linear-resize factor (-1 for anchor 'max') flips the drag sign so
|
|
151
|
-
// dragging the chevron downward increases the value 1:1.
|
|
152
|
-
//
|
|
153
|
-
// Plain arrow (not tracker) because tracker only renders an upward
|
|
154
|
-
// leader; the dashed line would point the wrong way for a downward
|
|
155
|
-
// span. The auto-orient logic in `ArrowHandle` flips the chevron to
|
|
156
|
-
// point -Y when placement.y < 0, so the arrow visibly points down.
|
|
157
|
-
function dormerWallSkirtHandle() {
|
|
158
|
-
return {
|
|
159
|
-
kind: 'linear-resize',
|
|
160
|
-
axis: 'y',
|
|
161
|
-
anchor: 'max',
|
|
162
|
-
min: MIN_SKIRT,
|
|
163
|
-
max: MAX_SKIRT,
|
|
164
|
-
currentValue: (n) => n.wallSkirtHeight,
|
|
165
|
-
apply: (_n, newValue) => ({ wallSkirtHeight: newValue }),
|
|
166
|
-
placement: {
|
|
167
|
-
position: (n) => [0, -(n.wallSkirtHeight + HEIGHT_HANDLE_OFFSET), 0],
|
|
168
|
-
},
|
|
169
|
-
};
|
|
170
|
-
}
|
|
171
|
-
// Roof-height chevron at the dormer's peak. Drag adjusts `roofHeight`
|
|
172
|
-
// directly — unlike roof-segment there's no pitch back-solve because
|
|
173
|
-
// dormer stores roof height as a literal scalar, not a pitch angle.
|
|
174
|
-
// Placed slightly above the apex (height + roofHeight) so the chevron
|
|
175
|
-
// visually attaches to the ridge.
|
|
176
|
-
function dormerRoofHeightHandle() {
|
|
177
|
-
return {
|
|
178
|
-
kind: 'linear-resize',
|
|
179
|
-
axis: 'y',
|
|
180
|
-
anchor: 'min',
|
|
181
|
-
min: MIN_ROOF_HEIGHT,
|
|
182
|
-
max: MAX_ROOF_HEIGHT,
|
|
183
|
-
currentValue: (n) => n.roofHeight,
|
|
184
|
-
apply: (_n, newValue) => ({ roofHeight: newValue }),
|
|
185
|
-
placement: {
|
|
186
|
-
position: (n) => [0, n.height + n.roofHeight + HEIGHT_HANDLE_OFFSET, 0],
|
|
187
|
-
},
|
|
188
|
-
};
|
|
189
|
-
}
|
|
190
|
-
// Whole-dormer rotation gizmo at the +X / +Z corner of the footprint,
|
|
191
|
-
// guide ring traces the corner-diagonal radius on hover / drag.
|
|
192
|
-
// Dormer-local frame is the registered group (renderer applies
|
|
193
|
-
// node.position + node.rotation there), so the default rotation pivot
|
|
194
|
-
// (rideObject origin = dormer center) is correct — no
|
|
195
|
-
// `rotationCenter` override needed.
|
|
196
|
-
function dormerRotateHandle() {
|
|
197
|
-
return {
|
|
198
|
-
kind: 'arc-resize',
|
|
199
|
-
axis: 'angular',
|
|
200
|
-
shape: 'rotate',
|
|
201
|
-
// Negate the cursor delta to match three.js Y-rotation handedness
|
|
202
|
-
// (cursor atan2 ticks opposite-handed from `rotation-y`).
|
|
203
|
-
apply: (initial, delta) => ({ rotation: (initial.rotation ?? 0) - delta }),
|
|
204
|
-
placement: {
|
|
205
|
-
position: (n) => {
|
|
206
|
-
const halfX = n.width / 2 + ROTATE_CORNER_OFFSET;
|
|
207
|
-
const halfZ = n.depth / 2 + ROTATE_CORNER_OFFSET;
|
|
208
|
-
return [halfX, getBodyMidY(n), halfZ];
|
|
209
|
-
},
|
|
210
|
-
// The two-headed icon's natural bias points along +X; aim it at
|
|
211
|
-
// the corner (45° outward from the dormer's local frame).
|
|
212
|
-
rotationY: () => -Math.PI / 4,
|
|
213
|
-
},
|
|
214
|
-
decoration: {
|
|
215
|
-
kind: 'ring',
|
|
216
|
-
radius: (n) => Math.hypot(n.width / 2, n.depth / 2) + ROTATE_RING_OFFSET,
|
|
217
|
-
y: (n) => getBodyMidY(n),
|
|
218
|
-
},
|
|
219
|
-
};
|
|
220
|
-
}
|
|
221
|
-
const dormerHandles = [
|
|
222
|
-
dormerWidthHandle('right'),
|
|
223
|
-
dormerWidthHandle('left'),
|
|
224
|
-
dormerDepthHandle('front'),
|
|
225
|
-
dormerDepthHandle('back'),
|
|
226
|
-
dormerWallHeightHandle(),
|
|
227
|
-
dormerRotateHandle(),
|
|
228
|
-
// The wall-skirt (downward chevron), roof-height (peak chevron), and
|
|
229
|
-
// the asymmetric front/back depth split stay out for now. Re-adding
|
|
230
|
-
// any of them previously fired the "Color target has no
|
|
231
|
-
// corresponding fragment stage output" WebGPU pipeline error chimney
|
|
232
|
-
// already documented for its flue / cap-thickness / cap-overhang
|
|
233
|
-
// extras — only reproducible while `portal: 'grandparent'` was set,
|
|
234
|
-
// which we no longer rely on (RoofEditSystem reveals the wrapper
|
|
235
|
-
// instead). The shapes themselves are valid; if the count budget
|
|
236
|
-
// turns out to also be sensitive without grandparent portal, keep
|
|
237
|
-
// the current compact set.
|
|
238
|
-
// dormerWallSkirtHandle(),
|
|
239
|
-
// dormerRoofHeightHandle(),
|
|
240
|
-
];
|
|
241
|
-
/**
|
|
242
|
-
* Dormer — a small house-shaped protrusion sitting on top of a roof
|
|
243
|
-
* segment. Windows are hosted child nodes; the legacy window* fields remain
|
|
244
|
-
* in the schema only so scene migration can preserve older dormers.
|
|
245
|
-
*
|
|
246
|
-
* The renderer cuts each hosted window from the dormer shell and mounts
|
|
247
|
-
* the regular WindowNode renderer in the selected wall-face frame.
|
|
248
|
-
*/
|
|
249
|
-
export const dormerDefinition = {
|
|
250
|
-
kind: 'dormer',
|
|
251
|
-
schemaVersion: 4,
|
|
252
|
-
schema: DormerNode,
|
|
253
|
-
category: 'structure',
|
|
254
|
-
surfaceRole: 'roof',
|
|
255
|
-
defaults: () => {
|
|
256
|
-
// Zod fills in id/type via their .default() factories; we strip
|
|
257
|
-
// both so the returned shape is a partial template a consumer can
|
|
258
|
-
// spread into createNode() with a fresh id.
|
|
259
|
-
const stub = DormerNodeSchema.parse({});
|
|
260
|
-
const { id: _id, type: _type, ...rest } = stub;
|
|
261
|
-
return rest;
|
|
262
|
-
},
|
|
263
|
-
capabilities: {
|
|
264
|
-
exterior: true,
|
|
265
|
-
selectable: { hitVolume: 'bbox' },
|
|
266
|
-
// Dormers own their WindowNode children. Duplicate the complete subtree
|
|
267
|
-
// so the copied dormer never aliases windows from the source dormer.
|
|
268
|
-
duplicable: { subtree: true },
|
|
269
|
-
deletable: true,
|
|
270
|
-
// Mounts on a roof segment via `roofSegmentId`. Dirty marks
|
|
271
|
-
// cascade to the host segment's parent roof so its merged shell
|
|
272
|
-
// re-CSGs with the new cut. `buildCut` returns the segment-local
|
|
273
|
-
// geometry the merge loop subtracts from shin / deck / wall.
|
|
274
|
-
roofAccessory: {
|
|
275
|
-
buildCut: (node, _hostSegment) => buildDormerRoofCut(node),
|
|
276
|
-
},
|
|
277
|
-
// Paint dispatch for the wall / side / top surface split. The
|
|
278
|
-
// editor's selection-manager routes paint hover / click /
|
|
279
|
-
// preview through this entry rather than carrying a kind-name
|
|
280
|
-
// arm.
|
|
281
|
-
paint: dormerPaint,
|
|
282
|
-
},
|
|
283
|
-
relations: {
|
|
284
|
-
hosts: ['window'],
|
|
285
|
-
cascadeDelete: 'descendants',
|
|
286
|
-
},
|
|
287
|
-
affordanceTools: {
|
|
288
|
-
// Drag-to-place tool for duplicate + move. Reuses the placement
|
|
289
|
-
// ghost preview but seeds it from the moving (cloned) node so the
|
|
290
|
-
// duplicate keeps the source's dimensions, materials, and window
|
|
291
|
-
// options.
|
|
292
|
-
move: () => import('./move-tool.js'),
|
|
293
|
-
},
|
|
294
|
-
parametrics: dormerParametrics,
|
|
295
|
-
handles: dormerHandles,
|
|
296
|
-
floorplan: buildDormerFloorplan,
|
|
297
|
-
rendersChildren: false,
|
|
298
|
-
renderer: {
|
|
299
|
-
kind: 'parametric',
|
|
300
|
-
module: () => import('./renderer.js'),
|
|
301
|
-
},
|
|
302
|
-
preview: () => import('./preview.js'),
|
|
303
|
-
tool: () => import('./tool.js'),
|
|
304
|
-
toolHints: [
|
|
305
|
-
{ key: 'Left click', label: 'Place dormer on roof' },
|
|
306
|
-
{ key: 'R / Shift+R', label: 'Rotate ghost ±15°' },
|
|
307
|
-
{ key: 'Esc', label: 'Cancel' },
|
|
308
|
-
],
|
|
309
|
-
presentation: {
|
|
310
|
-
label: 'Dormer',
|
|
311
|
-
description: 'House-shaped protrusion on a roof segment.',
|
|
312
|
-
icon: { kind: 'url', src: '/icons/dormer.webp' },
|
|
313
|
-
paletteSection: 'structure',
|
|
314
|
-
paletteOrder: 125,
|
|
315
|
-
},
|
|
316
|
-
mcp: {
|
|
317
|
-
description: 'A dormer on a roof segment. Its windows are hosted WindowNode children.',
|
|
318
|
-
},
|
|
319
|
-
};
|
|
1
|
+
import { composeNodeDefinition } from '../definition-contributions.js';
|
|
2
|
+
import { dormerEditContribution } from './definition.edit.js';
|
|
3
|
+
import { dormerRenderDefinition } from './definition.render.js';
|
|
4
|
+
export const dormerDefinition = composeNodeDefinition(dormerRenderDefinition, dormerEditContribution);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { NodeRenderDefinition } from '../definition-contributions.js';
|
|
2
|
+
import { DormerNode } from './schema.js';
|
|
3
|
+
export declare const dormerRenderDefinition: NodeRenderDefinition<typeof DormerNode> & {
|
|
4
|
+
kind: 'dormer';
|
|
5
|
+
};
|
|
6
|
+
//# sourceMappingURL=definition.render.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/dormer/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAkD5F,CAAA"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { DormerNode as DormerNodeSchema, } from '@pascal-app/core';
|
|
2
|
+
import { buildDormerRoofCut } from './csg-geometry.js';
|
|
3
|
+
import { DormerNode } from './schema.js';
|
|
4
|
+
export const dormerRenderDefinition = {
|
|
5
|
+
kind: 'dormer',
|
|
6
|
+
schemaVersion: 4,
|
|
7
|
+
schema: DormerNode,
|
|
8
|
+
category: 'structure',
|
|
9
|
+
surfaceRole: 'roof',
|
|
10
|
+
defaults: () => {
|
|
11
|
+
// Zod fills in id/type via their .default() factories; we strip
|
|
12
|
+
// both so the returned shape is a partial template a consumer can
|
|
13
|
+
// spread into createNode() with a fresh id.
|
|
14
|
+
const stub = DormerNodeSchema.parse({});
|
|
15
|
+
const { id: _id, type: _type, ...rest } = stub;
|
|
16
|
+
return rest;
|
|
17
|
+
},
|
|
18
|
+
capabilities: {
|
|
19
|
+
exterior: true,
|
|
20
|
+
selectable: { hitVolume: 'bbox' },
|
|
21
|
+
// Dormers own their WindowNode children. Duplicate the complete subtree
|
|
22
|
+
// so the copied dormer never aliases windows from the source dormer.
|
|
23
|
+
duplicable: { subtree: true },
|
|
24
|
+
deletable: true,
|
|
25
|
+
// Mounts on a roof segment via `roofSegmentId`. Dirty marks
|
|
26
|
+
// cascade to the host segment's parent roof so its merged shell
|
|
27
|
+
// re-CSGs with the new cut. `buildCut` returns the segment-local
|
|
28
|
+
// geometry the merge loop subtracts from shin / deck / wall.
|
|
29
|
+
roofAccessory: {
|
|
30
|
+
buildCut: (node, _hostSegment) => buildDormerRoofCut(node),
|
|
31
|
+
},
|
|
32
|
+
},
|
|
33
|
+
relations: {
|
|
34
|
+
hosts: ['window'],
|
|
35
|
+
cascadeDelete: 'descendants',
|
|
36
|
+
},
|
|
37
|
+
rendersChildren: false,
|
|
38
|
+
renderer: {
|
|
39
|
+
kind: 'parametric',
|
|
40
|
+
module: () => import('./renderer.js'),
|
|
41
|
+
},
|
|
42
|
+
presentation: {
|
|
43
|
+
label: 'Dormer',
|
|
44
|
+
description: 'House-shaped protrusion on a roof segment.',
|
|
45
|
+
icon: { kind: 'url', src: '/icons/dormer.webp' },
|
|
46
|
+
paletteSection: 'structure',
|
|
47
|
+
paletteOrder: 125,
|
|
48
|
+
},
|
|
49
|
+
mcp: {
|
|
50
|
+
description: 'A dormer on a roof segment. Its windows are hosted WindowNode children.',
|
|
51
|
+
},
|
|
52
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-actions-section.d.ts","sourceRoot":"","sources":["../../src/dormer/panel-actions-section.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"panel-actions-section.d.ts","sourceRoot":"","sources":["../../src/dormer/panel-actions-section.tsx"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,EACnC,MAAM,EACN,WAAW,EACX,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,+BA0BA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { usePascalI18n } from '@pascal-app/core';
|
|
3
4
|
import { ActionButton, ActionGroup, PanelSection } from '@pascal-app/editor';
|
|
4
5
|
import { Copy, Move, Trash2 } from 'lucide-react';
|
|
5
6
|
/**
|
|
@@ -7,5 +8,6 @@ import { Copy, Move, Trash2 } from 'lucide-react';
|
|
|
7
8
|
* inspector. Pure presentation — owners pass the three handlers.
|
|
8
9
|
*/
|
|
9
10
|
export function DormerActionsSection({ onMove, onDuplicate, onDelete, }) {
|
|
10
|
-
|
|
11
|
+
const i18n = usePascalI18n();
|
|
12
|
+
return (_jsx(PanelSection, { title: i18n._({ id: 'node.dormer.panelActionsSection.actions', message: 'Actions' }), children: _jsxs(ActionGroup, { children: [_jsx(ActionButton, { icon: _jsx(Move, { className: "h-3.5 w-3.5" }), label: i18n._({ id: 'node.dormer.panelActionsSection.move', message: 'Move' }), onClick: onMove }), _jsx(ActionButton, { icon: _jsx(Copy, { className: "h-3.5 w-3.5" }), label: i18n._({ id: 'node.dormer.panelActionsSection.duplicate', message: 'Duplicate' }), onClick: onDuplicate }), _jsx(ActionButton, { className: "hover:bg-red-500/20", icon: _jsx(Trash2, { className: "h-3.5 w-3.5 text-red-600 dark:text-red-400" }), label: i18n._({ id: 'node.dormer.panelActionsSection.delete', message: 'Delete' }), onClick: onDelete })] }) }));
|
|
11
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"panel-position-section.d.ts","sourceRoot":"","sources":["../../src/dormer/panel-position-section.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,
|
|
1
|
+
{"version":3,"file":"panel-position-section.d.ts","sourceRoot":"","sources":["../../src/dormer/panel-position-section.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,UAAU,EACf,KAAK,QAAQ,EACb,KAAK,eAAe,EAIrB,MAAM,kBAAkB,CAAA;AAKzB;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,OAAO,EACP,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,GACX,EAAE;IACD,IAAI,EAAE,UAAU,CAAA;IAChB,OAAO,EAAE,eAAe,GAAG,SAAS,CAAA;IACpC,IAAI,EAAE,QAAQ,GAAG,SAAS,CAAA;IAC1B,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;IACnD,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,KAAK,IAAI,CAAA;CACnD,+BAkMA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { sceneRegistry, useScene, } from '@pascal-app/core';
|
|
3
|
+
import { sceneRegistry, usePascalI18n, useScene, } from '@pascal-app/core';
|
|
4
4
|
import { PanelSection, SliderControl } from '@pascal-app/editor';
|
|
5
5
|
import { useMemo } from 'react';
|
|
6
6
|
import { Vector3 } from 'three';
|
|
@@ -12,6 +12,7 @@ import { Vector3 } from 'three';
|
|
|
12
12
|
* local commits, including the cross-segment reparent case.
|
|
13
13
|
*/
|
|
14
14
|
export function DormerPositionSection({ node, segment, roof, selectedId, previewProp, commitProp, }) {
|
|
15
|
+
const i18n = usePascalI18n();
|
|
15
16
|
const px = node.position[0];
|
|
16
17
|
const py = node.position[1];
|
|
17
18
|
const pz = node.position[2];
|
|
@@ -136,7 +137,7 @@ export function DormerPositionSection({ node, segment, roof, selectedId, preview
|
|
|
136
137
|
}
|
|
137
138
|
commitProp({ rotation: newWorldRot - ancestorWorldY });
|
|
138
139
|
};
|
|
139
|
-
return (_jsxs(PanelSection, { title:
|
|
140
|
+
return (_jsxs(PanelSection, { title: i18n._({ id: 'node.dormer.panelPositionSection.position', message: 'Position' }), children: [_jsx(SliderControl, { label: "X", max: Math.round(worldMaxX * 10) / 10, min: Math.round(worldMinX * 10) / 10, onChange: (newWorldX) => {
|
|
140
141
|
if (!segment)
|
|
141
142
|
return;
|
|
142
143
|
const local = worldToSegLocal(newWorldX, worldZ_now, segment);
|
|
@@ -146,7 +147,7 @@ export function DormerPositionSection({ node, segment, roof, selectedId, preview
|
|
|
146
147
|
return;
|
|
147
148
|
const local = worldToSegLocal(worldX_now, newWorldZ, segment);
|
|
148
149
|
previewProp({ position: [local.localX, py ?? 0, local.localZ] });
|
|
149
|
-
}, onCommit: (newWorldZ) => commitWorldPosition(worldX_now, newWorldZ), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: worldZ_now }), _jsx(SliderControl, { label:
|
|
150
|
+
}, onCommit: (newWorldZ) => commitWorldPosition(worldX_now, newWorldZ), precision: 2, restoreOnCommit: false, step: 0.05, unit: "m", value: worldZ_now }), _jsx(SliderControl, { label: i18n._({ id: 'node.dormer.panelPositionSection.rotation', message: 'Rotation' }), max: 180, min: -180, onChange: (degrees) => {
|
|
150
151
|
const newWorldRot = (degrees * Math.PI) / 180;
|
|
151
152
|
let ancestorWorldY = 0;
|
|
152
153
|
if (segment) {
|