@pascal-app/nodes 0.1.1 → 1.0.0-beta.2
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 +34 -0
- package/dist/building/definition.js +1 -1
- package/dist/cabinet/definition.d.ts.map +1 -1
- package/dist/cabinet/definition.js +809 -72
- package/dist/cabinet/geometry.d.ts.map +1 -1
- package/dist/cabinet/geometry.js +4 -0
- package/dist/cabinet/move-frame.js +3 -3
- package/dist/cabinet/panel.d.ts.map +1 -1
- package/dist/cabinet/panel.js +1 -0
- package/dist/cabinet/placement-snap.d.ts +8 -0
- package/dist/cabinet/placement-snap.d.ts.map +1 -0
- package/dist/cabinet/placement-snap.js +19 -0
- package/dist/cabinet/presets.js +8 -8
- package/dist/cabinet/quick-actions.d.ts.map +1 -1
- package/dist/cabinet/quick-actions.js +9 -3
- package/dist/cabinet/resize-limits.d.ts +11 -0
- package/dist/cabinet/resize-limits.d.ts.map +1 -0
- package/dist/cabinet/resize-limits.js +22 -0
- package/dist/cabinet/run-layout.d.ts +8 -2
- package/dist/cabinet/run-layout.d.ts.map +1 -1
- package/dist/cabinet/run-layout.js +59 -7
- package/dist/cabinet/run-ops.d.ts +44 -3
- package/dist/cabinet/run-ops.d.ts.map +1 -1
- package/dist/cabinet/run-ops.js +646 -110
- package/dist/cabinet/run-panel.d.ts +2 -1
- package/dist/cabinet/run-panel.d.ts.map +1 -1
- package/dist/cabinet/run-panel.js +38 -4
- package/dist/cabinet/stack-transitions.js +4 -4
- package/dist/cabinet/tool.d.ts.map +1 -1
- package/dist/cabinet/tool.js +95 -17
- package/dist/cabinet/wall-snap.d.ts.map +1 -1
- package/dist/cabinet/wall-snap.js +2 -6
- package/dist/ceiling/boundary-editor.d.ts.map +1 -1
- package/dist/ceiling/boundary-editor.js +2 -2
- package/dist/ceiling/definition.d.ts +1 -1
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.js +36 -5
- package/dist/ceiling/floorplan-affordances.d.ts +4 -4
- package/dist/ceiling/floorplan-move.d.ts +4 -4
- package/dist/ceiling/floorplan-move.d.ts.map +1 -1
- package/dist/ceiling/floorplan-move.js +5 -4
- package/dist/ceiling/hole-editor.d.ts.map +1 -1
- package/dist/ceiling/hole-editor.js +2 -2
- package/dist/ceiling/move-tool.d.ts.map +1 -1
- package/dist/ceiling/move-tool.js +4 -3
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +65 -3
- package/dist/ceiling/renderer.d.ts.map +1 -1
- package/dist/ceiling/renderer.js +6 -2
- package/dist/ceiling/tool.d.ts.map +1 -1
- package/dist/ceiling/tool.js +12 -1
- package/dist/chimney/definition.d.ts.map +1 -1
- package/dist/chimney/definition.js +1 -0
- package/dist/chimney/tool.d.ts.map +1 -1
- package/dist/chimney/tool.js +16 -1
- package/dist/column/definition.d.ts.map +1 -1
- package/dist/column/definition.js +14 -2
- package/dist/column/floorplan-affordances.d.ts.map +1 -1
- package/dist/column/floorplan-affordances.js +19 -14
- package/dist/column/floorplan-move.d.ts.map +1 -1
- package/dist/column/floorplan-move.js +7 -2
- package/dist/column/floorplan.d.ts +9 -1
- package/dist/column/floorplan.d.ts.map +1 -1
- package/dist/column/floorplan.js +59 -4
- package/dist/column/tool.d.ts.map +1 -1
- package/dist/column/tool.js +33 -7
- package/dist/construction-dimension/definition.d.ts +4 -0
- package/dist/construction-dimension/definition.d.ts.map +1 -0
- package/dist/construction-dimension/definition.js +83 -0
- package/dist/construction-dimension/drawing-coordination.d.ts +7 -0
- package/dist/construction-dimension/drawing-coordination.d.ts.map +1 -0
- package/dist/construction-dimension/drawing-coordination.js +54 -0
- package/dist/construction-dimension/floorplan-affordances.d.ts +4 -0
- package/dist/construction-dimension/floorplan-affordances.d.ts.map +1 -0
- package/dist/construction-dimension/floorplan-affordances.js +114 -0
- package/dist/construction-dimension/floorplan-tool.d.ts +21 -0
- package/dist/construction-dimension/floorplan-tool.d.ts.map +1 -0
- package/dist/construction-dimension/floorplan-tool.js +557 -0
- package/dist/construction-dimension/floorplan.d.ts +3 -0
- package/dist/construction-dimension/floorplan.d.ts.map +1 -0
- package/dist/construction-dimension/floorplan.js +457 -0
- package/dist/construction-dimension/geometry.d.ts +31 -0
- package/dist/construction-dimension/geometry.d.ts.map +1 -0
- package/dist/construction-dimension/geometry.js +144 -0
- package/dist/construction-dimension/index.d.ts +4 -0
- package/dist/construction-dimension/index.d.ts.map +1 -0
- package/dist/construction-dimension/index.js +3 -0
- package/dist/construction-dimension/panel.d.ts +2 -0
- package/dist/construction-dimension/panel.d.ts.map +1 -0
- package/dist/construction-dimension/panel.js +128 -0
- package/dist/construction-dimension/parametrics.d.ts +3 -0
- package/dist/construction-dimension/parametrics.d.ts.map +1 -0
- package/dist/construction-dimension/parametrics.js +4 -0
- package/dist/construction-dimension/schema.d.ts +2 -0
- package/dist/construction-dimension/schema.d.ts.map +1 -0
- package/dist/construction-dimension/schema.js +1 -0
- package/dist/door/contextual-dimensions.d.ts +3 -0
- package/dist/door/contextual-dimensions.d.ts.map +1 -0
- package/dist/door/contextual-dimensions.js +7 -0
- package/dist/door/definition.d.ts.map +1 -1
- package/dist/door/definition.js +13 -8
- package/dist/door/floorplan-affordances.d.ts +2 -5
- package/dist/door/floorplan-affordances.d.ts.map +1 -1
- package/dist/door/floorplan-affordances.js +9 -18
- package/dist/door/floorplan.d.ts +3 -4
- package/dist/door/floorplan.d.ts.map +1 -1
- package/dist/door/floorplan.js +88 -6
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +2 -2
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +3 -1
- package/dist/door/schema.d.ts +1 -1
- package/dist/door/schema.d.ts.map +1 -1
- package/dist/door/schema.js +1 -1
- package/dist/door/tool.d.ts.map +1 -1
- package/dist/door/tool.js +63 -6
- package/dist/dormer/definition.d.ts.map +1 -1
- package/dist/dormer/definition.js +1 -0
- package/dist/dormer/tool.d.ts.map +1 -1
- package/dist/dormer/tool.js +23 -1
- package/dist/duct-segment/tool.d.ts.map +1 -1
- package/dist/duct-segment/tool.js +20 -9
- package/dist/duct-terminal/tool.d.ts.map +1 -1
- package/dist/duct-terminal/tool.js +9 -6
- package/dist/elevator/floorplan-affordances.d.ts +2 -6
- package/dist/elevator/floorplan-affordances.d.ts.map +1 -1
- package/dist/elevator/floorplan-affordances.js +13 -12
- package/dist/fence/actions/move-endpoint.d.ts.map +1 -1
- package/dist/fence/actions/move-endpoint.js +29 -1
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.js +74 -14
- package/dist/fence/floorplan-affordances.d.ts.map +1 -1
- package/dist/fence/floorplan-affordances.js +48 -11
- package/dist/fence/floorplan-move.d.ts.map +1 -1
- package/dist/fence/floorplan-move.js +38 -3
- package/dist/fence/geometry.d.ts.map +1 -1
- package/dist/fence/geometry.js +15 -1
- package/dist/fence/lift.d.ts +38 -0
- package/dist/fence/lift.d.ts.map +1 -0
- package/dist/fence/lift.js +51 -0
- package/dist/fence/move-tool.d.ts.map +1 -1
- package/dist/fence/move-tool.js +25 -5
- package/dist/fence/system.d.ts +3 -0
- package/dist/fence/system.d.ts.map +1 -0
- package/dist/fence/system.js +46 -0
- package/dist/fence/tool.d.ts.map +1 -1
- package/dist/fence/tool.js +103 -32
- package/dist/hvac-equipment/tool.d.ts.map +1 -1
- package/dist/hvac-equipment/tool.js +8 -3
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.js +7 -1
- package/dist/item/floorplan-move.d.ts.map +1 -1
- package/dist/item/floorplan-move.js +50 -43
- package/dist/item/floorplan.d.ts +1 -0
- package/dist/item/floorplan.d.ts.map +1 -1
- package/dist/item/floorplan.js +49 -0
- package/dist/item/renderer.d.ts +3 -0
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +96 -8
- package/dist/level/definition.d.ts.map +1 -1
- package/dist/level/definition.js +7 -3
- package/dist/lineset/tool.d.ts.map +1 -1
- package/dist/lineset/tool.js +5 -1
- package/dist/liquid-line/tool.d.ts.map +1 -1
- package/dist/liquid-line/tool.js +7 -1
- package/dist/measurement/definition.d.ts.map +1 -1
- package/dist/measurement/definition.js +5 -0
- package/dist/measurement/floorplan.d.ts.map +1 -1
- package/dist/measurement/floorplan.js +11 -10
- package/dist/measurement/index.d.ts +1 -1
- package/dist/measurement/index.d.ts.map +1 -1
- package/dist/measurement/index.js +1 -1
- package/dist/measurement/resolve.d.ts +5 -0
- package/dist/measurement/resolve.d.ts.map +1 -1
- package/dist/measurement/resolve.js +2 -2
- package/dist/measurement/surface-query.js +5 -5
- package/dist/measurement/tool.d.ts +6 -1
- package/dist/measurement/tool.d.ts.map +1 -1
- package/dist/measurement/tool.js +7 -11
- package/dist/pipe-segment/tool.d.ts.map +1 -1
- package/dist/pipe-segment/tool.js +22 -19
- package/dist/roof-segment/floorplan-affordances.d.ts.map +1 -1
- package/dist/roof-segment/floorplan-affordances.js +14 -8
- package/dist/shared/construction-dimension-standards.d.ts +34 -0
- package/dist/shared/construction-dimension-standards.d.ts.map +1 -0
- package/dist/shared/construction-dimension-standards.js +18 -0
- package/dist/shared/construction-length.d.ts +10 -0
- package/dist/shared/construction-length.d.ts.map +1 -0
- package/dist/shared/construction-length.js +57 -0
- package/dist/shared/dimension-string.d.ts +20 -0
- package/dist/shared/dimension-string.d.ts.map +1 -0
- package/dist/shared/dimension-string.js +19 -0
- package/dist/shared/draft-axis-guides.d.ts +36 -0
- package/dist/shared/draft-axis-guides.d.ts.map +1 -0
- package/dist/shared/draft-axis-guides.js +107 -0
- package/dist/shared/move-roof-tool.d.ts.map +1 -1
- package/dist/shared/move-roof-tool.js +17 -3
- package/dist/shared/opening-documentation-fields.d.ts +16 -0
- package/dist/shared/opening-documentation-fields.d.ts.map +1 -0
- package/dist/shared/opening-documentation-fields.js +54 -0
- package/dist/shared/opening-documentation.d.ts +47 -0
- package/dist/shared/opening-documentation.d.ts.map +1 -0
- package/dist/shared/opening-documentation.js +300 -0
- package/dist/shared/opening-guides-runtime.d.ts.map +1 -1
- package/dist/shared/opening-guides-runtime.js +3 -2
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +14 -5
- package/dist/shared/wall-opening-ceiling.d.ts +30 -0
- package/dist/shared/wall-opening-ceiling.d.ts.map +1 -0
- package/dist/shared/wall-opening-ceiling.js +29 -0
- package/dist/shelf/floorplan-affordances.d.ts.map +1 -1
- package/dist/shelf/floorplan-affordances.js +10 -5
- package/dist/shelf/floorplan-move.d.ts +2 -16
- package/dist/shelf/floorplan-move.d.ts.map +1 -1
- package/dist/shelf/floorplan-move.js +19 -40
- package/dist/shelf/tool.d.ts.map +1 -1
- package/dist/shelf/tool.js +8 -3
- package/dist/site/recessed-slab-ground-holes.d.ts.map +1 -1
- package/dist/site/recessed-slab-ground-holes.js +1 -4
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +118 -28
- package/dist/site/terrain-drape.d.ts +91 -0
- package/dist/site/terrain-drape.d.ts.map +1 -0
- package/dist/site/terrain-drape.js +205 -0
- package/dist/site/terrain-geometry.d.ts +131 -0
- package/dist/site/terrain-geometry.d.ts.map +1 -0
- package/dist/site/terrain-geometry.js +259 -0
- package/dist/site/terrain-mesh.d.ts +49 -0
- package/dist/site/terrain-mesh.d.ts.map +1 -0
- package/dist/site/terrain-mesh.js +122 -0
- package/dist/site/terrain-renderer.d.ts +28 -0
- package/dist/site/terrain-renderer.d.ts.map +1 -0
- package/dist/site/terrain-renderer.js +69 -0
- package/dist/skylight/definition.d.ts.map +1 -1
- package/dist/skylight/definition.js +1 -0
- package/dist/skylight/tool.d.ts.map +1 -1
- package/dist/skylight/tool.js +16 -1
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.js +87 -10
- package/dist/slab/elevation-limit.d.ts +43 -0
- package/dist/slab/elevation-limit.d.ts.map +1 -0
- package/dist/slab/elevation-limit.js +124 -0
- package/dist/slab/floorplan-affordances.d.ts +16 -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 +98 -5
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +82 -4
- package/dist/slab/parametrics.d.ts +1 -1
- package/dist/slab/parametrics.d.ts.map +1 -1
- package/dist/slab/parametrics.js +13 -1
- package/dist/slab/placement-ownership.d.ts +3 -0
- package/dist/slab/placement-ownership.d.ts.map +1 -0
- package/dist/slab/placement-ownership.js +3 -0
- package/dist/slab/quick-measurement.d.ts.map +1 -1
- package/dist/slab/quick-measurement.js +3 -2
- package/dist/slab/system.d.ts.map +1 -1
- package/dist/slab/system.js +14 -4
- package/dist/slab/tool.d.ts.map +1 -1
- package/dist/slab/tool.js +81 -23
- package/dist/solar-panel/definition.d.ts.map +1 -1
- package/dist/solar-panel/definition.js +1 -0
- package/dist/solar-panel/tool.d.ts.map +1 -1
- package/dist/solar-panel/tool.js +17 -1
- package/dist/spawn/definition.d.ts.map +1 -1
- package/dist/spawn/definition.js +1 -0
- package/dist/spawn/floorplan-affordances.d.ts.map +1 -1
- package/dist/spawn/floorplan-affordances.js +7 -4
- package/dist/spawn/floorplan-move.d.ts.map +1 -1
- package/dist/spawn/floorplan-move.js +8 -6
- package/dist/spawn/renderer.d.ts +4 -0
- package/dist/spawn/renderer.d.ts.map +1 -1
- package/dist/spawn/renderer.js +32 -18
- package/dist/spawn/tool.d.ts +2 -2
- package/dist/spawn/tool.d.ts.map +1 -1
- package/dist/spawn/tool.js +78 -11
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.js +15 -7
- package/dist/stair/destination.d.ts +16 -0
- package/dist/stair/destination.d.ts.map +1 -0
- package/dist/stair/destination.js +24 -0
- package/dist/stair/documentation.d.ts +8 -0
- package/dist/stair/documentation.d.ts.map +1 -0
- package/dist/stair/documentation.js +245 -0
- package/dist/stair/floor-stack.d.ts.map +1 -1
- package/dist/stair/floor-stack.js +38 -0
- package/dist/stair/floorplan-affordances.d.ts.map +1 -1
- package/dist/stair/floorplan-affordances.js +28 -9
- package/dist/stair/floorplan-move.d.ts +3 -5
- package/dist/stair/floorplan-move.d.ts.map +1 -1
- package/dist/stair/floorplan-move.js +14 -16
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +27 -14
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +35 -2
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +4 -3
- package/dist/structural-grid/coordination.d.ts +16 -0
- package/dist/structural-grid/coordination.d.ts.map +1 -0
- package/dist/structural-grid/coordination.js +105 -0
- package/dist/structural-grid/definition.d.ts +4 -0
- package/dist/structural-grid/definition.d.ts.map +1 -0
- package/dist/structural-grid/definition.js +51 -0
- package/dist/structural-grid/floorplan-tool.d.ts +16 -0
- package/dist/structural-grid/floorplan-tool.d.ts.map +1 -0
- package/dist/structural-grid/floorplan-tool.js +183 -0
- package/dist/structural-grid/floorplan.d.ts +3 -0
- package/dist/structural-grid/floorplan.d.ts.map +1 -0
- package/dist/structural-grid/floorplan.js +61 -0
- package/dist/structural-grid/index.d.ts +2 -0
- package/dist/structural-grid/index.d.ts.map +1 -0
- package/dist/structural-grid/index.js +1 -0
- package/dist/structural-grid/schema.d.ts +2 -0
- package/dist/structural-grid/schema.d.ts.map +1 -0
- package/dist/structural-grid/schema.js +1 -0
- package/dist/wall/construction-dimensions.d.ts +32 -0
- package/dist/wall/construction-dimensions.d.ts.map +1 -0
- package/dist/wall/construction-dimensions.js +1031 -0
- package/dist/wall/contextual-dimensions.d.ts +13 -0
- package/dist/wall/contextual-dimensions.d.ts.map +1 -0
- package/dist/wall/contextual-dimensions.js +221 -0
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.js +20 -1
- package/dist/wall/floorplan-affordances.d.ts.map +1 -1
- package/dist/wall/floorplan-affordances.js +23 -8
- package/dist/wall/floorplan-overrides.d.ts +9 -6
- package/dist/wall/floorplan-overrides.d.ts.map +1 -1
- package/dist/wall/floorplan-overrides.js +20 -11
- package/dist/wall/floorplan.d.ts +12 -3
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +121 -79
- package/dist/wall/measurement.d.ts.map +1 -1
- package/dist/wall/measurement.js +17 -4
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +74 -27
- package/dist/wall/move-shared.d.ts.map +1 -1
- package/dist/wall/move-shared.js +3 -2
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +15 -3
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +10 -6
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +32 -5
- package/dist/wall/parametrics.d.ts.map +1 -1
- package/dist/wall/parametrics.js +2 -0
- package/dist/wall/preview.d.ts +8 -0
- package/dist/wall/preview.d.ts.map +1 -0
- package/dist/wall/preview.js +39 -0
- package/dist/wall/quick-measurement.d.ts.map +1 -1
- package/dist/wall/quick-measurement.js +3 -2
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +7 -5
- package/dist/wall/system.d.ts +1 -1
- package/dist/wall/system.d.ts.map +1 -1
- package/dist/wall/system.js +37 -2
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +148 -96
- package/dist/wall/treatment-level-data.d.ts +14 -0
- package/dist/wall/treatment-level-data.d.ts.map +1 -0
- package/dist/wall/treatment-level-data.js +31 -0
- package/dist/wall/treatments.d.ts +8 -2
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +58 -15
- package/dist/window/contextual-dimensions.d.ts +3 -0
- package/dist/window/contextual-dimensions.d.ts.map +1 -0
- package/dist/window/contextual-dimensions.js +7 -0
- package/dist/window/definition.d.ts.map +1 -1
- package/dist/window/definition.js +15 -10
- package/dist/window/floorplan-affordances.d.ts +2 -5
- package/dist/window/floorplan-affordances.d.ts.map +1 -1
- package/dist/window/floorplan-affordances.js +9 -15
- package/dist/window/floorplan-move.d.ts.map +1 -1
- package/dist/window/floorplan-move.js +1 -1
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +7 -1
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +3 -3
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +4 -1
- package/dist/window/schema.d.ts +1 -1
- package/dist/window/schema.d.ts.map +1 -1
- package/dist/window/schema.js +1 -1
- package/dist/window/tool.d.ts.map +1 -1
- package/dist/window/tool.js +64 -7
- package/dist/window/window-math.d.ts +7 -3
- package/dist/window/window-math.d.ts.map +1 -1
- package/dist/window/window-math.js +8 -3
- package/dist/zone/contextual-dimensions.d.ts +3 -0
- package/dist/zone/contextual-dimensions.d.ts.map +1 -0
- package/dist/zone/contextual-dimensions.js +43 -0
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.js +9 -1
- package/dist/zone/floorplan-affordances.d.ts +36 -0
- package/dist/zone/floorplan-affordances.d.ts.map +1 -1
- package/dist/zone/floorplan.d.ts.map +1 -1
- package/dist/zone/floorplan.js +59 -3
- package/dist/zone/quantities-panel.d.ts.map +1 -1
- package/dist/zone/quantities-panel.js +48 -4
- package/dist/zone/room-clear-dimensions.d.ts +3 -0
- package/dist/zone/room-clear-dimensions.d.ts.map +1 -0
- package/dist/zone/room-clear-dimensions.js +406 -0
- package/dist/zone/room-documentation.d.ts +11 -0
- package/dist/zone/room-documentation.d.ts.map +1 -0
- package/dist/zone/room-documentation.js +97 -0
- package/package.json +7 -7
package/dist/column/tool.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
|
-
import { COLUMN_PRESETS, ColumnNode, collectAlignmentAnchors, emitter, useScene, } from '@pascal-app/core';
|
|
3
|
+
import { COLUMN_PRESETS, ColumnNode, collectAlignmentAnchors, emitter, resolveSupportSlabPatch, useScene, } from '@pascal-app/core';
|
|
4
4
|
import { getFloorStackPreviewPosition, isAlignmentGuideActive, isGridSnapActive, isMagneticSnapActive, movementSfxStepKey, triggerSFX, useAlignmentGuides, useEditor, useFacingPose, usePlacementPreview, } from '@pascal-app/editor';
|
|
5
5
|
import { useViewer } from '@pascal-app/viewer';
|
|
6
6
|
import { useEffect, useMemo, useRef, useState } from 'react';
|
|
7
7
|
import { getLevelLocalSnappedPosition, resolveAlignedFloorPlacement, stopPlacementCommitPropagation, subscribeFloorPlacementClicks, } from '../shared/floor-placement';
|
|
8
|
+
import { collectStructuralGridAxes, resolveStructuralGridSnap, } from '../structural-grid/coordination';
|
|
8
9
|
import { ColumnPreview } from './renderer';
|
|
9
10
|
const DEFAULT_COLUMN_PRESET_ID = 'basicPillar';
|
|
10
11
|
function createColumnFromPreset(presetId, position) {
|
|
@@ -53,7 +54,7 @@ const ColumnTool = () => {
|
|
|
53
54
|
cursorVisibleRef.current = true;
|
|
54
55
|
setCursorVisible(true);
|
|
55
56
|
}
|
|
56
|
-
const { position, guides } = resolveAlignedFloorPlacement({
|
|
57
|
+
const { position: alignedPosition, guides } = resolveAlignedFloorPlacement({
|
|
57
58
|
node: previewNode,
|
|
58
59
|
rawX: event.localPosition[0],
|
|
59
60
|
rawZ: event.localPosition[2],
|
|
@@ -63,7 +64,16 @@ const ColumnTool = () => {
|
|
|
63
64
|
applyAlignmentSnap: isMagneticSnapActive(),
|
|
64
65
|
bypassGrid: !isGridSnapActive(),
|
|
65
66
|
});
|
|
66
|
-
|
|
67
|
+
const structuralSnap = isGridSnapActive() || isMagneticSnapActive()
|
|
68
|
+
? resolveStructuralGridSnap([alignedPosition[0], alignedPosition[2]], collectStructuralGridAxes(useScene.getState().nodes, activeLevelId))
|
|
69
|
+
: null;
|
|
70
|
+
const position = structuralSnap
|
|
71
|
+
? [structuralSnap.point[0], alignedPosition[1], structuralSnap.point[1]]
|
|
72
|
+
: alignedPosition;
|
|
73
|
+
if (structuralSnap)
|
|
74
|
+
useAlignmentGuides.getState().clear();
|
|
75
|
+
else
|
|
76
|
+
useAlignmentGuides.getState().set(guides);
|
|
67
77
|
const visualPosition = getFloorStackPreviewPosition({
|
|
68
78
|
node: previewNode,
|
|
69
79
|
position,
|
|
@@ -96,11 +106,24 @@ const ColumnTool = () => {
|
|
|
96
106
|
}
|
|
97
107
|
};
|
|
98
108
|
const commitAtCursor = (event) => {
|
|
99
|
-
const
|
|
109
|
+
const fallbackPosition = lastCursorRef.current ??
|
|
100
110
|
getLevelLocalSnappedPosition(activeLevelId, event, useEditor.getState().gridSnapStep, !isGridSnapActive());
|
|
101
|
-
const
|
|
102
|
-
|
|
103
|
-
|
|
111
|
+
const structuralSnap = isGridSnapActive() || isMagneticSnapActive()
|
|
112
|
+
? resolveStructuralGridSnap([fallbackPosition[0], fallbackPosition[2]], collectStructuralGridAxes(useScene.getState().nodes, activeLevelId))
|
|
113
|
+
: null;
|
|
114
|
+
const position = structuralSnap
|
|
115
|
+
? [structuralSnap.point[0], fallbackPosition[1], structuralSnap.point[1]]
|
|
116
|
+
: fallbackPosition;
|
|
117
|
+
const column = ColumnNode.parse({
|
|
118
|
+
...createColumnFromPreset(DEFAULT_COLUMN_PRESET_ID, position),
|
|
119
|
+
parentId: activeLevelId,
|
|
120
|
+
});
|
|
121
|
+
const committedColumn = ColumnNode.parse({
|
|
122
|
+
...column,
|
|
123
|
+
...resolveSupportSlabPatch(column, useScene.getState().nodes),
|
|
124
|
+
});
|
|
125
|
+
useScene.getState().createNode(committedColumn, activeLevelId);
|
|
126
|
+
useViewer.getState().setSelection({ selectedIds: [committedColumn.id] });
|
|
104
127
|
triggerSFX('sfx:structure-build');
|
|
105
128
|
useAlignmentGuides.getState().clear();
|
|
106
129
|
usePlacementPreview.getState().clear();
|
|
@@ -112,7 +135,10 @@ const ColumnTool = () => {
|
|
|
112
135
|
cursorVisibleRef.current = false;
|
|
113
136
|
setCursorVisible(false);
|
|
114
137
|
useFacingPose.getState().clear();
|
|
138
|
+
// Restore select mode with the tool — `mode: 'build'` with no tool is
|
|
139
|
+
// a dead state where the selection manager ignores every click.
|
|
115
140
|
useEditor.getState().setTool(null);
|
|
141
|
+
useEditor.getState().setMode('select');
|
|
116
142
|
}
|
|
117
143
|
stopPlacementCommitPropagation(event);
|
|
118
144
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqC,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAA;AASzF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,eAAO,MAAM,+BAA+B,EAAE,cAAc,CAAC,OAAO,yBAAyB,CAgF5F,CAAA"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { measurementAnchorReferenceNodeIds } from '@pascal-app/core';
|
|
2
|
+
import { resolveConstructionDimensionForDrawing } from './drawing-coordination';
|
|
3
|
+
import { buildConstructionDimensionFloorplan } from './floorplan';
|
|
4
|
+
import { moveConstructionDimensionBaselineAffordance, moveConstructionDimensionWitnessAffordance, } from './floorplan-affordances';
|
|
5
|
+
import { constructionDimensionParametrics } from './parametrics';
|
|
6
|
+
import { ConstructionDimensionNode } from './schema';
|
|
7
|
+
export const constructionDimensionDefinition = {
|
|
8
|
+
kind: 'construction-dimension',
|
|
9
|
+
bake: 'strip',
|
|
10
|
+
schemaVersion: 7,
|
|
11
|
+
schema: ConstructionDimensionNode,
|
|
12
|
+
category: 'analysis',
|
|
13
|
+
extensions: {
|
|
14
|
+
'pascal:editor/floorplan': {
|
|
15
|
+
tool: () => import('./floorplan-tool'),
|
|
16
|
+
availableModes: ['expert'],
|
|
17
|
+
resolveForDrawing: resolveConstructionDimensionForDrawing,
|
|
18
|
+
},
|
|
19
|
+
},
|
|
20
|
+
snapProfile: 'item',
|
|
21
|
+
defaults: () => ({
|
|
22
|
+
object: 'node',
|
|
23
|
+
parentId: null,
|
|
24
|
+
visible: true,
|
|
25
|
+
metadata: {},
|
|
26
|
+
anchors: [
|
|
27
|
+
[0, 0, 0],
|
|
28
|
+
[1, 0, 0],
|
|
29
|
+
],
|
|
30
|
+
baseline: { origin: [0, 0.6], direction: [1, 0] },
|
|
31
|
+
chainMode: 'point-to-point',
|
|
32
|
+
mode: 'linear',
|
|
33
|
+
featureCount: 1,
|
|
34
|
+
showCenterMark: true,
|
|
35
|
+
prefix: '',
|
|
36
|
+
suffix: '',
|
|
37
|
+
textOverride: null,
|
|
38
|
+
datumPolicy: 'centerline',
|
|
39
|
+
terminator: 'architectural-tick',
|
|
40
|
+
textPosition: 'above',
|
|
41
|
+
imperialPrecision: '1/16',
|
|
42
|
+
metricNotation: 'meters',
|
|
43
|
+
extensionStartGap: 0.075,
|
|
44
|
+
extensionOvershoot: 0.12,
|
|
45
|
+
drawingType: 'floor-plan',
|
|
46
|
+
drawingOverrides: [],
|
|
47
|
+
controllingDimensionId: null,
|
|
48
|
+
}),
|
|
49
|
+
capabilities: {
|
|
50
|
+
selectable: { hitVolume: 'bbox' },
|
|
51
|
+
deletable: true,
|
|
52
|
+
duplicable: true,
|
|
53
|
+
presettable: false,
|
|
54
|
+
},
|
|
55
|
+
dirtyTracking: false,
|
|
56
|
+
parametrics: constructionDimensionParametrics,
|
|
57
|
+
floorplan: buildConstructionDimensionFloorplan,
|
|
58
|
+
floorplanDependencies: (node) => [
|
|
59
|
+
...measurementAnchorReferenceNodeIds(node.anchors),
|
|
60
|
+
...(node.controllingDimensionId ? [node.controllingDimensionId] : []),
|
|
61
|
+
],
|
|
62
|
+
floorplanAffordances: {
|
|
63
|
+
'move-construction-dimension-baseline': moveConstructionDimensionBaselineAffordance,
|
|
64
|
+
'move-construction-dimension-witness': moveConstructionDimensionWitnessAffordance,
|
|
65
|
+
},
|
|
66
|
+
toolHints: [
|
|
67
|
+
{ key: 'Left click', label: 'Pick witness point' },
|
|
68
|
+
{ key: 'Enter', label: 'Finish multi-point witnesses' },
|
|
69
|
+
{ key: 'Left click', label: 'Place dimension line when needed' },
|
|
70
|
+
{ key: 'Backspace', label: 'Remove last witness' },
|
|
71
|
+
{ key: 'Esc', label: 'Step back or cancel' },
|
|
72
|
+
],
|
|
73
|
+
presentation: {
|
|
74
|
+
label: 'Construction Dimension',
|
|
75
|
+
description: 'Associative linear, curved, circular, angular, or coordinate plan dimension.',
|
|
76
|
+
icon: { kind: 'iconify', name: 'lucide:ruler-dimension-line' },
|
|
77
|
+
hidden: true,
|
|
78
|
+
actionMenu: false,
|
|
79
|
+
},
|
|
80
|
+
mcp: {
|
|
81
|
+
description: 'An associative construction dimension with linear, curved, circular, angular, and coordinate modes, semantic witness anchors, document notation overrides, and coordinated plan-view presentation.',
|
|
82
|
+
},
|
|
83
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type AnyNode, type ConstructionDimensionNode, type ConstructionDrawingType } from '@pascal-app/core';
|
|
2
|
+
export declare function resolveConstructionDimensionForDrawing(args: {
|
|
3
|
+
node: ConstructionDimensionNode;
|
|
4
|
+
nodes: Record<string, AnyNode>;
|
|
5
|
+
drawingType: ConstructionDrawingType;
|
|
6
|
+
}): ConstructionDimensionNode | null;
|
|
7
|
+
//# sourceMappingURL=drawing-coordination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawing-coordination.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/drawing-coordination.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,yBAAyB,EAC9B,KAAK,uBAAuB,EAG7B,MAAM,kBAAkB,CAAA;AAEzB,wBAAgB,sCAAsC,CAAC,IAAI,EAAE;IAC3D,IAAI,EAAE,yBAAyB,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC9B,WAAW,EAAE,uBAAuB,CAAA;CACrC,GAAG,yBAAyB,GAAG,IAAI,CAoBnC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { resolveConstructionDimensionDrawingOverride, resolveConstructionDimensionDrawingPresentation, } from '@pascal-app/core';
|
|
2
|
+
export function resolveConstructionDimensionForDrawing(args) {
|
|
3
|
+
const { node, nodes, drawingType } = args;
|
|
4
|
+
const presentation = resolveConstructionDimensionDrawingPresentation(node, drawingType);
|
|
5
|
+
if (presentation === 'omit')
|
|
6
|
+
return null;
|
|
7
|
+
if (presentation === 'shown')
|
|
8
|
+
return applyDrawingOverride(node, drawingType);
|
|
9
|
+
const controller = node.controllingDimensionId ? nodes[node.controllingDimensionId] : undefined;
|
|
10
|
+
if (controller?.type !== 'construction-dimension' ||
|
|
11
|
+
controller.id === node.id ||
|
|
12
|
+
controller.drawingType !== 'foundation-plan') {
|
|
13
|
+
return {
|
|
14
|
+
...node,
|
|
15
|
+
metadata: lockedMetadata(node),
|
|
16
|
+
prefix: `UNLINKED CONTROL · ${node.prefix}`,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
return resolveControlledDimension(node, controller);
|
|
20
|
+
}
|
|
21
|
+
function resolveControlledDimension(node, controller) {
|
|
22
|
+
const overridden = applyDrawingOverride(node, 'floor-plan');
|
|
23
|
+
return {
|
|
24
|
+
...overridden,
|
|
25
|
+
metadata: lockedMetadata(overridden),
|
|
26
|
+
anchors: controller.anchors,
|
|
27
|
+
baseline: controller.baseline,
|
|
28
|
+
chainMode: controller.chainMode,
|
|
29
|
+
mode: controller.mode,
|
|
30
|
+
showCenterMark: controller.showCenterMark,
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
function applyDrawingOverride(node, drawingType) {
|
|
34
|
+
const override = resolveConstructionDimensionDrawingOverride(node, drawingType);
|
|
35
|
+
if (!override || override.suppressedSegmentIndexes.length === 0)
|
|
36
|
+
return node;
|
|
37
|
+
return {
|
|
38
|
+
...node,
|
|
39
|
+
metadata: {
|
|
40
|
+
...(typeof node.metadata === 'object' &&
|
|
41
|
+
node.metadata !== null &&
|
|
42
|
+
!Array.isArray(node.metadata)
|
|
43
|
+
? node.metadata
|
|
44
|
+
: {}),
|
|
45
|
+
suppressedDimensionSegmentIndexes: override.suppressedSegmentIndexes,
|
|
46
|
+
},
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function lockedMetadata(node) {
|
|
50
|
+
const metadata = typeof node.metadata === 'object' && node.metadata !== null && !Array.isArray(node.metadata)
|
|
51
|
+
? node.metadata
|
|
52
|
+
: {};
|
|
53
|
+
return { ...metadata, drawingCoordinationLocked: true };
|
|
54
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type ConstructionDimensionNode as ConstructionDimensionNodeType, type FloorplanAffordance } from '@pascal-app/core';
|
|
2
|
+
export declare const moveConstructionDimensionWitnessAffordance: FloorplanAffordance<ConstructionDimensionNodeType>;
|
|
3
|
+
export declare const moveConstructionDimensionBaselineAffordance: FloorplanAffordance<ConstructionDimensionNodeType>;
|
|
4
|
+
//# sourceMappingURL=floorplan-affordances.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floorplan-affordances.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/floorplan-affordances.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,yBAAyB,IAAI,6BAA6B,EAC/D,KAAK,mBAAmB,EAOzB,MAAM,kBAAkB,CAAA;AAqDzB,eAAO,MAAM,0CAA0C,EAAE,mBAAmB,CAAC,6BAA6B,CAgEvG,CAAA;AAEH,eAAO,MAAM,2CAA2C,EAAE,mBAAmB,CAAC,6BAA6B,CAwBxG,CAAA"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { ConstructionDimensionNode, resolveLevelId, useLiveNodeOverrides, useScene, } from '@pascal-app/core';
|
|
2
|
+
import { isGridSnapActive, isMagneticSnapActive, resolveSurfacePlanPointSnap, useEditor, } from '@pascal-app/editor';
|
|
3
|
+
import { matchMeasurementFeatureForNode, resolveMeasurementAnchor } from '../measurement/resolve';
|
|
4
|
+
const SEMANTIC_FEATURE_SNAP_DISTANCE = 0.2;
|
|
5
|
+
const SEMANTIC_FEATURE_BYPASS_DISTANCE = 0.012;
|
|
6
|
+
function semanticWitnessAnchor(point, wallIds, nodes, maxDistance) {
|
|
7
|
+
const matches = wallIds.flatMap((id) => {
|
|
8
|
+
const node = nodes[id];
|
|
9
|
+
if (!node)
|
|
10
|
+
return [];
|
|
11
|
+
const match = matchMeasurementFeatureForNode(node, (nodeId) => nodes[nodeId], point, maxDistance);
|
|
12
|
+
return match ? [{ match, node }] : [];
|
|
13
|
+
});
|
|
14
|
+
const closest = matches.sort((a, b) => a.match.distance - b.match.distance)[0];
|
|
15
|
+
if (!closest)
|
|
16
|
+
return point;
|
|
17
|
+
return {
|
|
18
|
+
kind: 'feature',
|
|
19
|
+
reference: {
|
|
20
|
+
nodeId: closest.node.id,
|
|
21
|
+
featureId: closest.match.feature.id,
|
|
22
|
+
parameters: closest.match.parameters,
|
|
23
|
+
},
|
|
24
|
+
fallback: closest.match.point,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
function withRefreshedFallbacks(node, nodes) {
|
|
28
|
+
return node.anchors.map((anchor) => {
|
|
29
|
+
if (Array.isArray(anchor))
|
|
30
|
+
return anchor;
|
|
31
|
+
const resolved = resolveMeasurementAnchor(anchor, (id) => nodes[id]);
|
|
32
|
+
return { ...anchor, fallback: resolved.point };
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
export const moveConstructionDimensionWitnessAffordance = {
|
|
36
|
+
start({ node, nodes, payload }) {
|
|
37
|
+
const witnessIndex = payload.witnessIndex;
|
|
38
|
+
const originalAnchors = withRefreshedFallbacks(node, nodes);
|
|
39
|
+
const levelId = resolveLevelId(node, nodes);
|
|
40
|
+
let latest = null;
|
|
41
|
+
if (!Number.isInteger(witnessIndex)) {
|
|
42
|
+
return {
|
|
43
|
+
affectedIds: [node.id],
|
|
44
|
+
apply() { },
|
|
45
|
+
canCommit: () => false,
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return {
|
|
49
|
+
affectedIds: [node.id],
|
|
50
|
+
apply({ planPoint, modifiers }) {
|
|
51
|
+
const forceFree = modifiers.altKey === true;
|
|
52
|
+
const gridStep = !forceFree && isGridSnapActive() ? useEditor.getState().gridSnapStep : 0;
|
|
53
|
+
const fallbackPoint = gridStep > 0
|
|
54
|
+
? [
|
|
55
|
+
Math.round(planPoint[0] / gridStep) * gridStep,
|
|
56
|
+
Math.round(planPoint[1] / gridStep) * gridStep,
|
|
57
|
+
]
|
|
58
|
+
: [planPoint[0], planPoint[1]];
|
|
59
|
+
const magnetic = !forceFree && isMagneticSnapActive();
|
|
60
|
+
const snapped = resolveSurfacePlanPointSnap({
|
|
61
|
+
rawPoint: [planPoint[0], planPoint[1]],
|
|
62
|
+
fallbackPoint,
|
|
63
|
+
excludeId: node.id,
|
|
64
|
+
levelId,
|
|
65
|
+
movingId: node.id,
|
|
66
|
+
nodes,
|
|
67
|
+
magnetic,
|
|
68
|
+
});
|
|
69
|
+
const point = [snapped.point[0], 0, snapped.point[1]];
|
|
70
|
+
const nextAnchor = semanticWitnessAnchor(point, snapped.wallIds, nodes, magnetic ? SEMANTIC_FEATURE_SNAP_DISTANCE : SEMANTIC_FEATURE_BYPASS_DISTANCE);
|
|
71
|
+
const anchors = originalAnchors.map((anchor, index) => index === witnessIndex ? nextAnchor : anchor);
|
|
72
|
+
if (!ConstructionDimensionNode.safeParse({ ...node, anchors }).success) {
|
|
73
|
+
latest = null;
|
|
74
|
+
useLiveNodeOverrides.getState().clear(node.id);
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
latest = anchors;
|
|
78
|
+
useLiveNodeOverrides.getState().set(node.id, { anchors });
|
|
79
|
+
},
|
|
80
|
+
canCommit: () => latest !== null,
|
|
81
|
+
commit() {
|
|
82
|
+
const anchors = latest;
|
|
83
|
+
useLiveNodeOverrides.getState().clear(node.id);
|
|
84
|
+
if (anchors)
|
|
85
|
+
useScene.getState().updateNode(node.id, { anchors });
|
|
86
|
+
},
|
|
87
|
+
};
|
|
88
|
+
},
|
|
89
|
+
};
|
|
90
|
+
export const moveConstructionDimensionBaselineAffordance = {
|
|
91
|
+
start({ node }) {
|
|
92
|
+
let latest = null;
|
|
93
|
+
return {
|
|
94
|
+
affectedIds: [node.id],
|
|
95
|
+
apply({ planPoint }) {
|
|
96
|
+
const origin = [planPoint[0], planPoint[1]];
|
|
97
|
+
const baseline = { ...node.baseline, origin };
|
|
98
|
+
if (!ConstructionDimensionNode.safeParse({ ...node, baseline }).success)
|
|
99
|
+
return;
|
|
100
|
+
latest = origin;
|
|
101
|
+
useLiveNodeOverrides.getState().set(node.id, { baseline });
|
|
102
|
+
},
|
|
103
|
+
canCommit: () => latest !== null,
|
|
104
|
+
commit() {
|
|
105
|
+
useLiveNodeOverrides.getState().clear(node.id);
|
|
106
|
+
if (latest) {
|
|
107
|
+
useScene.getState().updateNode(node.id, {
|
|
108
|
+
baseline: { ...node.baseline, origin: latest },
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
},
|
|
114
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { type AnyNode, type AnyNodeId, type ConstructionDimensionChainMode, type ConstructionDimensionMode, type FloorplanGeometry, type MeasurementAnchor, type MeasurementPoint, type WallNode } from '@pascal-app/core';
|
|
2
|
+
import { type FloorplanToolContext } from '@pascal-app/editor';
|
|
3
|
+
type Draft = {
|
|
4
|
+
anchors: MeasurementAnchor[];
|
|
5
|
+
points: MeasurementPoint[];
|
|
6
|
+
stage: 'witnesses' | 'baseline';
|
|
7
|
+
};
|
|
8
|
+
export declare function resolveConstructionDimensionDraftDirection(points: readonly MeasurementPoint[], anchors?: readonly MeasurementAnchor[], nodes?: Readonly<Record<AnyNodeId, AnyNode>>): [number, number] | null;
|
|
9
|
+
export declare function buildConstructionDimensionPreviewGeometries(points: readonly MeasurementPoint[], baselinePoint: MeasurementPoint, unit: 'metric' | 'imperial', mode?: ConstructionDimensionMode, metricNotation?: 'meters' | 'millimeters', directionOverride?: readonly [number, number] | null): FloorplanGeometry[];
|
|
10
|
+
export declare function normalizeConstructionDimensionChainMode(value: unknown): ConstructionDimensionChainMode;
|
|
11
|
+
export declare function normalizeConstructionDimensionMode(value: unknown): ConstructionDimensionMode;
|
|
12
|
+
export declare function constructionDimensionUsesBaseline(mode: ConstructionDimensionMode): boolean;
|
|
13
|
+
export declare function shouldConsumeConstructionDimensionPointerEvent(event: {
|
|
14
|
+
type: string;
|
|
15
|
+
button: number;
|
|
16
|
+
buttons: number;
|
|
17
|
+
}): boolean;
|
|
18
|
+
export declare function buildCurvedWallConstructionDimensionDraft(wall: WallNode, mode: ConstructionDimensionMode): Pick<Draft, 'anchors' | 'points'> | null;
|
|
19
|
+
export declare function FloorplanConstructionDimensionToolLayer({ activeLevelId, finishTool, gridSnapStep, metricNotation, sceneApi, selectNode, toolDefaults, unit, }: FloorplanToolContext): import("react").JSX.Element | null;
|
|
20
|
+
export default FloorplanConstructionDimensionToolLayer;
|
|
21
|
+
//# sourceMappingURL=floorplan-tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floorplan-tool.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/floorplan-tool.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAI9B,KAAK,iBAAiB,EAItB,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAIL,KAAK,oBAAoB,EAW1B,MAAM,oBAAoB,CAAA;AAY3B,KAAK,KAAK,GAAG;IACX,OAAO,EAAE,iBAAiB,EAAE,CAAA;IAC5B,MAAM,EAAE,gBAAgB,EAAE,CAAA;IAC1B,KAAK,EAAE,WAAW,GAAG,UAAU,CAAA;CAChC,CAAA;AA2ED,wBAAgB,0CAA0C,CACxD,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,OAAO,CAAC,EAAE,SAAS,iBAAiB,EAAE,EACtC,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,GAC3C,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAUzB;AAED,wBAAgB,2CAA2C,CACzD,MAAM,EAAE,SAAS,gBAAgB,EAAE,EACnC,aAAa,EAAE,gBAAgB,EAC/B,IAAI,EAAE,QAAQ,GAAG,UAAU,EAC3B,IAAI,GAAE,yBAAoC,EAC1C,cAAc,GAAE,QAAQ,GAAG,aAAwB,EACnD,iBAAiB,CAAC,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,GACnD,iBAAiB,EAAE,CAqLrB;AAED,wBAAgB,uCAAuC,CACrD,KAAK,EAAE,OAAO,GACb,8BAA8B,CAEhC;AAED,wBAAgB,kCAAkC,CAAC,KAAK,EAAE,OAAO,GAAG,yBAAyB,CAY5F;AAED,wBAAgB,iCAAiC,CAAC,IAAI,EAAE,yBAAyB,GAAG,OAAO,CAE1F;AAED,wBAAgB,8CAA8C,CAAC,KAAK,EAAE;IACpE,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAA;CAChB,GAAG,OAAO,CAGV;AAcD,wBAAgB,yCAAyC,CACvD,IAAI,EAAE,QAAQ,EACd,IAAI,EAAE,yBAAyB,GAC9B,IAAI,CAAC,KAAK,EAAE,SAAS,GAAG,QAAQ,CAAC,GAAG,IAAI,CA6B1C;AAED,wBAAgB,uCAAuC,CAAC,EACtD,aAAa,EACb,UAAU,EACV,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,IAAI,GACL,EAAE,oBAAoB,sCAqVtB;AAED,eAAe,uCAAuC,CAAA"}
|