@pascal-app/nodes 1.0.3 → 1.0.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/block/definition.d.ts.map +1 -1
- package/dist/block/definition.js +18 -3
- package/dist/block/floorplan.d.ts +11 -1
- package/dist/block/floorplan.d.ts.map +1 -1
- package/dist/block/floorplan.js +81 -13
- package/dist/block/geometry.d.ts +2 -2
- package/dist/block/geometry.d.ts.map +1 -1
- package/dist/block/geometry.js +39 -24
- package/dist/block/hosted-edit.d.ts.map +1 -1
- package/dist/block/hosted-edit.js +25 -0
- package/dist/block/material-slots.d.ts +1 -3
- package/dist/block/material-slots.d.ts.map +1 -1
- package/dist/block/material-slots.js +1 -11
- package/dist/block/paint.d.ts.map +1 -1
- package/dist/block/paint.js +4 -10
- package/dist/block/panel.d.ts.map +1 -1
- package/dist/block/panel.js +8 -3
- package/dist/block/selection.d.ts.map +1 -1
- package/dist/block/selection.js +2 -2
- package/dist/box-vent/definition.d.ts.map +1 -1
- package/dist/box-vent/definition.js +2 -5
- package/dist/box-vent/panel.d.ts.map +1 -1
- package/dist/box-vent/panel.js +5 -28
- package/dist/cabinet/countertop-layout.d.ts +13 -2
- package/dist/cabinet/countertop-layout.d.ts.map +1 -1
- package/dist/cabinet/definition.d.ts.map +1 -1
- package/dist/cabinet/definition.js +1 -2
- package/dist/cabinet/floorplan.d.ts.map +1 -1
- package/dist/cabinet/floorplan.js +125 -28
- package/dist/cabinet/geometry/shared.d.ts +1 -2
- package/dist/cabinet/geometry/shared.d.ts.map +1 -1
- package/dist/cabinet/geometry/shared.js +1 -2
- package/dist/cabinet/run-layout.d.ts.map +1 -1
- package/dist/cabinet/run-layout.js +8 -5
- package/dist/cabinet/run-ops.d.ts +13 -2
- package/dist/cabinet/run-ops.d.ts.map +1 -1
- package/dist/cabinet/tool.d.ts.map +1 -1
- package/dist/cabinet/tool.js +22 -24
- package/dist/cabinet/wall-snap.d.ts.map +1 -1
- package/dist/cabinet/wall-snap.js +8 -8
- package/dist/ceiling/boundary-editor.d.ts.map +1 -1
- package/dist/ceiling/boundary-editor.js +5 -3
- package/dist/ceiling/definition.d.ts +4 -4
- package/dist/ceiling/definition.d.ts.map +1 -1
- package/dist/ceiling/definition.js +15 -15
- package/dist/ceiling/floorplan-affordances.d.ts +84 -4
- package/dist/ceiling/floorplan-affordances.d.ts.map +1 -1
- package/dist/ceiling/floorplan-affordances.js +0 -1
- package/dist/ceiling/floorplan-move.d.ts.map +1 -1
- package/dist/ceiling/floorplan-move.js +0 -1
- package/dist/ceiling/floorplan.d.ts +1 -1
- package/dist/ceiling/floorplan.d.ts.map +1 -1
- package/dist/ceiling/floorplan.js +2 -1
- package/dist/ceiling/height-bounds.d.ts +19 -0
- package/dist/ceiling/height-bounds.d.ts.map +1 -0
- package/dist/ceiling/height-bounds.js +24 -0
- package/dist/ceiling/hole-editor.d.ts.map +1 -1
- package/dist/ceiling/hole-editor.js +3 -4
- package/dist/ceiling/materials.d.ts +1 -1
- package/dist/ceiling/materials.d.ts.map +1 -1
- package/dist/ceiling/materials.js +10 -3
- package/dist/ceiling/paint.d.ts +2 -8
- package/dist/ceiling/paint.d.ts.map +1 -1
- package/dist/ceiling/paint.js +121 -24
- package/dist/ceiling/panel.d.ts.map +1 -1
- package/dist/ceiling/panel.js +40 -23
- package/dist/ceiling/renderer.d.ts.map +1 -1
- package/dist/ceiling/renderer.js +41 -5
- package/dist/chimney/move-tool.d.ts.map +1 -1
- package/dist/chimney/move-tool.js +8 -2
- package/dist/chimney/paint.d.ts.map +1 -1
- package/dist/chimney/paint.js +3 -10
- package/dist/column/definition.d.ts.map +1 -1
- package/dist/column/definition.js +24 -2
- package/dist/column/floorplan-affordances.d.ts.map +1 -1
- package/dist/column/floorplan-affordances.js +5 -0
- package/dist/column/floorplan.d.ts +1 -1
- package/dist/column/floorplan.d.ts.map +1 -1
- package/dist/column/floorplan.js +47 -2
- package/dist/column/hosted-resize.d.ts +101 -2
- package/dist/column/hosted-resize.d.ts.map +1 -1
- package/dist/column/panel.d.ts.map +1 -1
- package/dist/column/panel.js +147 -146
- package/dist/column/renderer.d.ts.map +1 -1
- package/dist/column/renderer.js +6 -4
- package/dist/column/surface.d.ts.map +1 -1
- package/dist/column/surface.js +7 -0
- package/dist/construction-dimension/floorplan.js +7 -3
- package/dist/cupola/definition.d.ts.map +1 -1
- package/dist/cupola/definition.js +2 -8
- package/dist/cupola/panel.d.ts.map +1 -1
- package/dist/cupola/panel.js +5 -23
- package/dist/door/definition.d.ts.map +1 -1
- package/dist/door/definition.js +12 -3
- package/dist/door/door-math.d.ts +5 -10
- package/dist/door/door-math.d.ts.map +1 -1
- package/dist/door/door-math.js +14 -15
- package/dist/door/floorplan-move.d.ts.map +1 -1
- package/dist/door/floorplan-move.js +3 -1
- package/dist/door/floorplan.d.ts.map +1 -1
- package/dist/door/floorplan.js +55 -21
- package/dist/door/mechanism.d.ts +4 -0
- package/dist/door/mechanism.d.ts.map +1 -0
- package/dist/door/mechanism.js +24 -0
- package/dist/door/move-tool.d.ts.map +1 -1
- package/dist/door/move-tool.js +72 -48
- package/dist/door/paint.d.ts.map +1 -1
- package/dist/door/paint.js +3 -0
- package/dist/door/panel.d.ts.map +1 -1
- package/dist/door/panel.js +34 -259
- package/dist/door/placement.d.ts +45 -0
- package/dist/door/placement.d.ts.map +1 -0
- package/dist/door/placement.js +51 -0
- package/dist/door/preview.d.ts.map +1 -1
- package/dist/door/preview.js +2 -0
- package/dist/door/renderer.d.ts.map +1 -1
- package/dist/door/renderer.js +3 -2
- package/dist/door/tool.d.ts.map +1 -1
- package/dist/door/tool.js +92 -21
- package/dist/dormer/csg-geometry.d.ts.map +1 -1
- package/dist/dormer/csg-geometry.js +2 -0
- package/dist/dormer/paint.d.ts.map +1 -1
- package/dist/dormer/paint.js +2 -5
- package/dist/dormer/panel.d.ts.map +1 -1
- package/dist/dormer/panel.js +4 -14
- package/dist/downspout/definition.d.ts.map +1 -1
- package/dist/downspout/definition.js +2 -2
- package/dist/duct-fitting/definition.d.ts.map +1 -1
- package/dist/duct-fitting/definition.js +2 -1
- package/dist/duct-fitting/geometry.d.ts.map +1 -1
- package/dist/duct-fitting/geometry.js +1 -1
- package/dist/duct-fitting/move-tool.d.ts.map +1 -1
- package/dist/duct-fitting/move-tool.js +8 -2
- package/dist/duct-segment/definition.d.ts.map +1 -1
- package/dist/duct-segment/definition.js +2 -2
- package/dist/duct-segment/geometry.d.ts.map +1 -1
- package/dist/duct-segment/geometry.js +1 -1
- package/dist/duct-segment/move-tool.d.ts.map +1 -1
- package/dist/duct-segment/move-tool.js +8 -2
- package/dist/elevator/definition.d.ts.map +1 -1
- package/dist/elevator/definition.js +1 -2
- package/dist/elevator/panel.d.ts.map +1 -1
- package/dist/elevator/panel.js +5 -27
- package/dist/elevator/parametrics.js +1 -1
- package/dist/elevator/renderer.d.ts.map +1 -1
- package/dist/elevator/renderer.js +3 -4
- package/dist/eyebrow-vent/definition.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.js +2 -5
- package/dist/eyebrow-vent/paint.d.ts.map +1 -1
- package/dist/eyebrow-vent/paint.js +3 -6
- package/dist/eyebrow-vent/panel.d.ts.map +1 -1
- package/dist/eyebrow-vent/panel.js +5 -23
- package/dist/fence/actions/move-endpoint.d.ts +1 -1
- package/dist/fence/actions/move-endpoint.d.ts.map +1 -1
- package/dist/fence/actions/move-endpoint.js +2 -1
- package/dist/fence/definition.d.ts +2 -1
- package/dist/fence/definition.d.ts.map +1 -1
- package/dist/fence/definition.js +83 -28
- package/dist/fence/drafting.d.ts +36 -0
- package/dist/fence/drafting.d.ts.map +1 -0
- package/dist/fence/drafting.js +210 -0
- package/dist/fence/feature-tool.d.ts +4 -0
- package/dist/fence/feature-tool.d.ts.map +1 -0
- package/dist/fence/feature-tool.js +140 -0
- package/dist/fence/features.d.ts +2 -0
- package/dist/fence/features.d.ts.map +1 -0
- package/dist/fence/features.js +12 -0
- package/dist/fence/floorplan-affordances.d.ts.map +1 -1
- package/dist/fence/floorplan-affordances.js +2 -1
- package/dist/fence/floorplan.d.ts +2 -3
- package/dist/fence/floorplan.d.ts.map +1 -1
- package/dist/fence/floorplan.js +131 -71
- package/dist/fence/geometry-parts.d.ts +50 -0
- package/dist/fence/geometry-parts.d.ts.map +1 -0
- package/dist/fence/geometry-parts.js +1144 -0
- package/dist/fence/geometry.d.ts +2 -3
- package/dist/fence/geometry.d.ts.map +1 -1
- package/dist/fence/geometry.js +84 -7
- package/dist/fence/index.d.ts +1 -0
- package/dist/fence/index.d.ts.map +1 -1
- package/dist/fence/index.js +1 -0
- package/dist/fence/inspector-editors.d.ts +15 -0
- package/dist/fence/inspector-editors.d.ts.map +1 -1
- package/dist/fence/inspector-editors.js +128 -3
- package/dist/fence/lift.d.ts.map +1 -1
- package/dist/fence/lift.js +5 -2
- package/dist/fence/move-tool.js +2 -1
- package/dist/fence/panel-model.d.ts +4 -0
- package/dist/fence/panel-model.d.ts.map +1 -0
- package/dist/fence/panel-model.js +12 -0
- package/dist/fence/parametrics.d.ts +0 -12
- package/dist/fence/parametrics.d.ts.map +1 -1
- package/dist/fence/parametrics.js +185 -18
- package/dist/fence/system.d.ts.map +1 -1
- package/dist/fence/system.js +141 -31
- package/dist/fence/tool.d.ts.map +1 -1
- package/dist/fence/tool.js +256 -47
- package/dist/fence-feature/actions.d.ts +7 -0
- package/dist/fence-feature/actions.d.ts.map +1 -0
- package/dist/fence-feature/actions.js +26 -0
- package/dist/fence-feature/definition.d.ts +4 -0
- package/dist/fence-feature/definition.d.ts.map +1 -0
- package/dist/fence-feature/definition.js +112 -0
- package/dist/fence-feature/floorplan-affordances.d.ts +3 -0
- package/dist/fence-feature/floorplan-affordances.d.ts.map +1 -0
- package/dist/fence-feature/floorplan-affordances.js +37 -0
- package/dist/fence-feature/floorplan.d.ts +4 -0
- package/dist/fence-feature/floorplan.d.ts.map +1 -0
- package/dist/fence-feature/floorplan.js +120 -0
- package/dist/fence-feature/geometry.d.ts +5 -0
- package/dist/fence-feature/geometry.d.ts.map +1 -0
- package/dist/fence-feature/geometry.js +43 -0
- package/dist/fence-feature/handles.d.ts +5 -0
- package/dist/fence-feature/handles.d.ts.map +1 -0
- package/dist/fence-feature/handles.js +84 -0
- package/dist/fence-feature/inspector.d.ts +6 -0
- package/dist/fence-feature/inspector.d.ts.map +1 -0
- package/dist/fence-feature/inspector.js +214 -0
- package/dist/fence-feature/interaction.d.ts +3 -0
- package/dist/fence-feature/interaction.d.ts.map +1 -0
- package/dist/fence-feature/interaction.js +41 -0
- package/dist/fence-feature/move-session.d.ts +9 -0
- package/dist/fence-feature/move-session.d.ts.map +1 -0
- package/dist/fence-feature/move-session.js +48 -0
- package/dist/fence-feature/move-tool.d.ts +5 -0
- package/dist/fence-feature/move-tool.d.ts.map +1 -0
- package/dist/fence-feature/move-tool.js +58 -0
- package/dist/fence-feature/pick-target.d.ts +7 -0
- package/dist/fence-feature/pick-target.d.ts.map +1 -0
- package/dist/fence-feature/pick-target.js +52 -0
- package/dist/floor-opening/definition.d.ts +3 -0
- package/dist/floor-opening/definition.d.ts.map +1 -0
- package/dist/floor-opening/definition.js +41 -0
- package/dist/floor-opening/floorplan.d.ts +156 -0
- package/dist/floor-opening/floorplan.d.ts.map +1 -0
- package/dist/floor-opening/floorplan.js +63 -0
- package/dist/gutter/definition.d.ts.map +1 -1
- package/dist/gutter/definition.js +2 -2
- package/dist/imported-mesh/definition.d.ts.map +1 -1
- package/dist/imported-mesh/definition.js +2 -0
- package/dist/imported-mesh/geometry.d.ts +1 -1
- package/dist/imported-mesh/geometry.d.ts.map +1 -1
- package/dist/imported-mesh/geometry.js +40 -12
- package/dist/index.d.ts +13 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -2
- package/dist/item/authored-face-host.d.ts +10 -0
- package/dist/item/authored-face-host.d.ts.map +1 -0
- package/dist/item/authored-face-host.js +87 -0
- package/dist/item/authored-params.d.ts +15 -0
- package/dist/item/authored-params.d.ts.map +1 -0
- package/dist/item/authored-params.js +72 -0
- package/dist/item/definition.d.ts +2 -2
- package/dist/item/definition.d.ts.map +1 -1
- package/dist/item/definition.js +33 -4
- package/dist/item/floorplan.d.ts +1 -1
- package/dist/item/floorplan.d.ts.map +1 -1
- package/dist/item/floorplan.js +35 -5
- package/dist/item/index.d.ts +1 -0
- package/dist/item/index.d.ts.map +1 -1
- package/dist/item/index.js +1 -0
- package/dist/item/model-loader.d.ts +2 -0
- package/dist/item/model-loader.d.ts.map +1 -1
- package/dist/item/model-loader.js +55 -23
- package/dist/item/move-tool.js +4 -4
- package/dist/item/paint.d.ts.map +1 -1
- package/dist/item/paint.js +5 -24
- package/dist/item/panel.d.ts +1 -3
- package/dist/item/panel.d.ts.map +1 -1
- package/dist/item/panel.js +20 -24
- package/dist/item/placement-notice.d.ts +14 -0
- package/dist/item/placement-notice.d.ts.map +1 -0
- package/dist/item/placement-notice.js +38 -0
- package/dist/item/plan-symbols.d.ts +67 -0
- package/dist/item/plan-symbols.d.ts.map +1 -0
- package/dist/item/plan-symbols.js +407 -0
- package/dist/item/renderer.d.ts +10 -0
- package/dist/item/renderer.d.ts.map +1 -1
- package/dist/item/renderer.js +64 -38
- package/dist/item/script-param-defaults.d.ts +12 -0
- package/dist/item/script-param-defaults.d.ts.map +1 -0
- package/dist/item/script-param-defaults.js +34 -0
- package/dist/lean-to-extension/definition.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.js +1 -2
- package/dist/lean-to-extension/geometry.d.ts.map +1 -1
- package/dist/lean-to-extension/geometry.js +1 -1
- package/dist/lean-to-extension/layout.d.ts.map +1 -1
- package/dist/lean-to-extension/layout.js +2 -3
- package/dist/lean-to-extension/placement-validation.d.ts.map +1 -1
- package/dist/lean-to-extension/placement-validation.js +5 -5
- package/dist/lean-to-extension/tool.d.ts.map +1 -1
- package/dist/lean-to-extension/tool.js +5 -5
- package/dist/lineset/move-tool.d.ts.map +1 -1
- package/dist/lineset/move-tool.js +8 -2
- package/dist/liquid-line/move-tool.d.ts.map +1 -1
- package/dist/liquid-line/move-tool.js +8 -2
- package/dist/measurement/definition.js +1 -1
- package/dist/pipe-fitting/move-tool.d.ts.map +1 -1
- package/dist/pipe-fitting/move-tool.js +8 -2
- package/dist/pipe-segment/move-tool.d.ts.map +1 -1
- package/dist/pipe-segment/move-tool.js +8 -2
- package/dist/procedural-item/animation.d.ts +8 -0
- package/dist/procedural-item/animation.d.ts.map +1 -0
- package/dist/procedural-item/animation.js +116 -0
- package/dist/procedural-item/definition.d.ts.map +1 -1
- package/dist/procedural-item/definition.js +74 -8
- package/dist/procedural-item/geometry.d.ts +5 -1
- package/dist/procedural-item/geometry.d.ts.map +1 -1
- package/dist/procedural-item/geometry.js +239 -15
- package/dist/procedural-item/renderer.d.ts.map +1 -1
- package/dist/procedural-item/renderer.js +272 -23
- package/dist/ridge-vent/panel.d.ts.map +1 -1
- package/dist/ridge-vent/panel.js +5 -23
- package/dist/ridge-vent/renderer.d.ts.map +1 -1
- package/dist/ridge-vent/renderer.js +9 -8
- package/dist/roof/definition.d.ts.map +1 -1
- package/dist/roof/definition.js +4 -1
- package/dist/roof/floorplan.d.ts +8 -0
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +194 -18
- package/dist/roof/panel-model.d.ts.map +1 -1
- package/dist/roof/panel-model.js +10 -6
- package/dist/roof/panel.d.ts.map +1 -1
- package/dist/roof/panel.js +3 -10
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +5 -2
- package/dist/roof-segment/panel.d.ts.map +1 -1
- package/dist/roof-segment/panel.js +5 -24
- package/dist/roof-segment/renderer.d.ts.map +1 -1
- package/dist/roof-segment/renderer.js +17 -8
- package/dist/separator/definition.d.ts +3 -0
- package/dist/separator/definition.d.ts.map +1 -0
- package/dist/separator/definition.js +39 -0
- package/dist/separator/renderer.d.ts +5 -0
- package/dist/separator/renderer.d.ts.map +1 -0
- package/dist/separator/renderer.js +36 -0
- package/dist/shared/duct-body-paint.d.ts +0 -4
- package/dist/shared/duct-body-paint.d.ts.map +1 -1
- package/dist/shared/duct-body-paint.js +1 -5
- package/dist/shared/item-interaction-actions.d.ts +6 -0
- package/dist/shared/item-interaction-actions.d.ts.map +1 -0
- package/dist/shared/item-interaction-actions.js +27 -0
- package/dist/shared/item-interactions.d.ts +9 -0
- package/dist/shared/item-interactions.d.ts.map +1 -0
- package/dist/shared/item-interactions.js +74 -0
- package/dist/shared/item-light-placement.d.ts +2 -0
- package/dist/shared/item-light-placement.d.ts.map +1 -0
- package/dist/shared/item-light-placement.js +3 -0
- package/dist/shared/move-roof-tool.js +2 -1
- package/dist/shared/node-batch/batchable.d.ts +12 -0
- package/dist/shared/node-batch/batchable.d.ts.map +1 -0
- package/dist/shared/node-batch/batchable.js +41 -0
- package/dist/shared/node-batch/candidates.d.ts +7 -5
- package/dist/shared/node-batch/candidates.d.ts.map +1 -1
- package/dist/shared/node-batch/candidates.js +43 -59
- package/dist/shared/node-batch/release.d.ts +8 -0
- package/dist/shared/node-batch/release.d.ts.map +1 -0
- package/dist/shared/node-batch/release.js +16 -0
- package/dist/shared/node-batch/system.d.ts.map +1 -1
- package/dist/shared/node-batch/system.js +17 -12
- package/dist/shared/node-batch/types.d.ts +4 -1
- package/dist/shared/node-batch/types.d.ts.map +1 -1
- package/dist/shared/opening-documentation.d.ts +13 -1
- package/dist/shared/opening-documentation.d.ts.map +1 -1
- package/dist/shared/opening-documentation.js +245 -59
- package/dist/shared/opening-guides-runtime.d.ts.map +1 -1
- package/dist/shared/opening-guides-runtime.js +17 -14
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +3 -3
- package/dist/shared/opening-plane-offset.d.ts +23 -0
- package/dist/shared/opening-plane-offset.d.ts.map +1 -0
- package/dist/shared/opening-plane-offset.js +24 -0
- package/dist/shared/polygon-centroid-move.d.ts.map +1 -1
- package/dist/shared/polygon-centroid-move.js +4 -1
- package/dist/shared/polygon-vertex-affordance.d.ts.map +1 -1
- package/dist/shared/polygon-vertex-affordance.js +19 -15
- package/dist/shared/run-hangers.d.ts.map +1 -1
- package/dist/shared/run-hangers.js +5 -4
- package/dist/shared/scripted-opening-handles.d.ts +18 -0
- package/dist/shared/scripted-opening-handles.d.ts.map +1 -0
- package/dist/shared/scripted-opening-handles.js +53 -0
- package/dist/shared/scripted-opening.d.ts +25 -0
- package/dist/shared/scripted-opening.d.ts.map +1 -0
- package/dist/shared/scripted-opening.js +72 -0
- package/dist/shared/slot-paint.d.ts +14 -2
- package/dist/shared/slot-paint.d.ts.map +1 -1
- package/dist/shared/slot-paint.js +29 -29
- package/dist/shared/surface-paint.d.ts.map +1 -1
- package/dist/shared/surface-paint.js +2 -5
- package/dist/shared/swap-preview-material.d.ts +11 -0
- package/dist/shared/swap-preview-material.d.ts.map +1 -0
- package/dist/shared/swap-preview-material.js +16 -0
- package/dist/shared/system-checks.d.ts.map +1 -1
- package/dist/shared/system-checks.js +5 -3
- package/dist/shared/wall-attach-target.d.ts +3 -10
- package/dist/shared/wall-attach-target.d.ts.map +1 -1
- package/dist/shared/wall-attach-target.js +3 -63
- package/dist/shared/wall-opening-ceiling.d.ts +5 -15
- package/dist/shared/wall-opening-ceiling.d.ts.map +1 -1
- package/dist/shared/wall-opening-ceiling.js +10 -18
- package/dist/shelf/definition.d.ts.map +1 -1
- package/dist/shelf/definition.js +1 -1
- package/dist/shelf/geometry.d.ts.map +1 -1
- package/dist/shelf/geometry.js +1 -2
- package/dist/shelf/paint.d.ts.map +1 -1
- package/dist/shelf/paint.js +4 -10
- package/dist/site/line-ribbon.d.ts +31 -0
- package/dist/site/line-ribbon.d.ts.map +1 -0
- package/dist/site/line-ribbon.js +117 -0
- package/dist/site/lot-mask.d.ts +18 -0
- package/dist/site/lot-mask.d.ts.map +1 -0
- package/dist/site/lot-mask.js +35 -0
- package/dist/site/panel.d.ts +10 -0
- package/dist/site/panel.d.ts.map +1 -0
- package/dist/site/panel.js +155 -0
- package/dist/site/parametrics.d.ts +7 -0
- package/dist/site/parametrics.d.ts.map +1 -1
- package/dist/site/parametrics.js +8 -0
- package/dist/site/recessed-slab-ground-holes.d.ts.map +1 -1
- package/dist/site/recessed-slab-ground-holes.js +5 -2
- package/dist/site/renderer.d.ts.map +1 -1
- package/dist/site/renderer.js +150 -19
- package/dist/site/setbacks.d.ts +33 -0
- package/dist/site/setbacks.d.ts.map +1 -0
- package/dist/site/setbacks.js +204 -0
- package/dist/site/terrain-geometry.d.ts +28 -1
- package/dist/site/terrain-geometry.d.ts.map +1 -1
- package/dist/site/terrain-geometry.js +78 -4
- package/dist/site/terrain-holes.d.ts +15 -0
- package/dist/site/terrain-holes.d.ts.map +1 -0
- package/dist/site/terrain-holes.js +74 -0
- package/dist/site/terrain-mesh.d.ts +9 -2
- package/dist/site/terrain-mesh.d.ts.map +1 -1
- package/dist/site/terrain-mesh.js +36 -9
- package/dist/site/terrain-renderer.d.ts +9 -2
- package/dist/site/terrain-renderer.d.ts.map +1 -1
- package/dist/site/terrain-renderer.js +14 -4
- package/dist/slab/boundary-editor.d.ts +1 -1
- package/dist/slab/boundary-editor.d.ts.map +1 -1
- package/dist/slab/boundary-editor.js +13 -13
- package/dist/slab/definition.d.ts.map +1 -1
- package/dist/slab/definition.js +19 -3
- package/dist/slab/dependency-tracker.d.ts.map +1 -1
- package/dist/slab/dependency-tracker.js +67 -7
- package/dist/slab/elevation-limit.d.ts.map +1 -1
- package/dist/slab/elevation-limit.js +2 -2
- package/dist/slab/floorplan-affordances.d.ts +176 -4
- package/dist/slab/floorplan-affordances.d.ts.map +1 -1
- package/dist/slab/floorplan-affordances.js +0 -1
- package/dist/slab/floorplan-move.d.ts.map +1 -1
- package/dist/slab/floorplan-move.js +3 -4
- package/dist/slab/floorplan.d.ts +7 -0
- package/dist/slab/floorplan.d.ts.map +1 -1
- package/dist/slab/floorplan.js +22 -5
- package/dist/slab/geometry.d.ts.map +1 -1
- package/dist/slab/geometry.js +186 -76
- package/dist/slab/move-tool.js +7 -6
- package/dist/slab/paint.d.ts +18 -5
- package/dist/slab/paint.d.ts.map +1 -1
- package/dist/slab/paint.js +458 -9
- package/dist/slab/panel.d.ts.map +1 -1
- package/dist/slab/panel.js +28 -9
- package/dist/slab/placement-ownership.d.ts +2 -1
- package/dist/slab/placement-ownership.d.ts.map +1 -1
- package/dist/slab/placement-ownership.js +2 -2
- package/dist/slab/surface-split.d.ts +24 -0
- package/dist/slab/surface-split.d.ts.map +1 -0
- package/dist/slab/surface-split.js +389 -0
- package/dist/slab/tool.d.ts.map +1 -1
- package/dist/slab/tool.js +3 -3
- package/dist/stair/baluster-geometry.d.ts +21 -0
- package/dist/stair/baluster-geometry.d.ts.map +1 -0
- package/dist/stair/baluster-geometry.js +74 -0
- package/dist/stair/baluster-guard.d.ts +50 -0
- package/dist/stair/baluster-guard.d.ts.map +1 -0
- package/dist/stair/baluster-guard.js +71 -0
- package/dist/stair/boards-guard.d.ts +37 -0
- package/dist/stair/boards-guard.d.ts.map +1 -0
- package/dist/stair/boards-guard.js +61 -0
- package/dist/stair/cable-guard.d.ts +39 -0
- package/dist/stair/cable-guard.d.ts.map +1 -0
- package/dist/stair/cable-guard.js +105 -0
- package/dist/stair/construction-controls.d.ts +15 -0
- package/dist/stair/construction-controls.d.ts.map +1 -0
- package/dist/stair/construction-controls.js +29 -0
- package/dist/stair/continuous-railings.d.ts +10 -0
- package/dist/stair/continuous-railings.d.ts.map +1 -0
- package/dist/stair/continuous-railings.js +159 -0
- package/dist/stair/definition.d.ts.map +1 -1
- package/dist/stair/definition.js +16 -37
- package/dist/stair/documentation.d.ts +1 -1
- package/dist/stair/documentation.d.ts.map +1 -1
- package/dist/stair/documentation.js +10 -17
- package/dist/stair/floorplan-affordances.d.ts.map +1 -1
- package/dist/stair/floorplan-affordances.js +9 -25
- package/dist/stair/floorplan.d.ts +1 -23
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +102 -86
- package/dist/stair/glass-guard.d.ts +72 -0
- package/dist/stair/glass-guard.d.ts.map +1 -0
- package/dist/stair/glass-guard.js +167 -0
- package/dist/stair/guard-path.d.ts +119 -0
- package/dist/stair/guard-path.d.ts.map +1 -0
- package/dist/stair/guard-path.js +208 -0
- package/dist/stair/materials.d.ts +11 -0
- package/dist/stair/materials.d.ts.map +1 -0
- package/dist/stair/materials.js +51 -0
- package/dist/stair/metal-guard.d.ts +38 -0
- package/dist/stair/metal-guard.d.ts.map +1 -0
- package/dist/stair/metal-guard.js +79 -0
- package/dist/stair/paint.d.ts +32 -0
- package/dist/stair/paint.d.ts.map +1 -1
- package/dist/stair/paint.js +75 -36
- package/dist/stair/panel.d.ts.map +1 -1
- package/dist/stair/panel.js +154 -17
- package/dist/stair/parametrics.d.ts +1 -1
- package/dist/stair/parametrics.d.ts.map +1 -1
- package/dist/stair/parametrics.js +32 -15
- package/dist/stair/plan-entry.d.ts +31 -0
- package/dist/stair/plan-entry.d.ts.map +1 -0
- package/dist/stair/plan-entry.js +325 -0
- package/dist/stair/post-and-rail-guard.d.ts +31 -0
- package/dist/stair/post-and-rail-guard.d.ts.map +1 -0
- package/dist/stair/post-and-rail-guard.js +63 -0
- package/dist/stair/railing-controls.d.ts +9 -0
- package/dist/stair/railing-controls.d.ts.map +1 -0
- package/dist/stair/railing-controls.js +49 -0
- package/dist/stair/renderer.d.ts.map +1 -1
- package/dist/stair/renderer.js +259 -259
- package/dist/stair/use-stair-render-data.d.ts +317 -0
- package/dist/stair/use-stair-render-data.d.ts.map +1 -0
- package/dist/stair/use-stair-render-data.js +73 -0
- package/dist/stair-segment/definition.d.ts.map +1 -1
- package/dist/stair-segment/definition.js +51 -10
- package/dist/stair-segment/panel.d.ts.map +1 -1
- package/dist/stair-segment/panel.js +36 -42
- package/dist/stair-segment/parametrics.d.ts +1 -1
- package/dist/stair-segment/parametrics.d.ts.map +1 -1
- package/dist/stair-segment/parametrics.js +21 -8
- package/dist/stair-segment/renderer.d.ts.map +1 -1
- package/dist/stair-segment/renderer.js +16 -28
- package/dist/turbine-vent/definition.d.ts.map +1 -1
- package/dist/turbine-vent/definition.js +2 -5
- package/dist/turbine-vent/paint.d.ts.map +1 -1
- package/dist/turbine-vent/paint.js +2 -5
- package/dist/turbine-vent/panel.d.ts.map +1 -1
- package/dist/turbine-vent/panel.js +5 -23
- package/dist/unit/unit-panel.d.ts.map +1 -1
- package/dist/unit/unit-panel.js +6 -1
- package/dist/wall/actions.d.ts.map +1 -1
- package/dist/wall/actions.js +7 -2
- package/dist/wall/construction-dimensions.js +8 -5
- package/dist/wall/contextual-dimensions.js +4 -4
- package/dist/wall/curtain-wall-materials.d.ts +1 -1
- package/dist/wall/curtain-wall-materials.d.ts.map +1 -1
- package/dist/wall/curtain-wall-materials.js +2 -2
- package/dist/wall/curve-tool.d.ts.map +1 -1
- package/dist/wall/curve-tool.js +4 -0
- package/dist/wall/definition.d.ts.map +1 -1
- package/dist/wall/definition.js +41 -17
- package/dist/wall/floorplan-move.d.ts +1 -1
- package/dist/wall/floorplan-move.d.ts.map +1 -1
- package/dist/wall/floorplan-move.js +20 -83
- package/dist/wall/floorplan-tool.d.ts.map +1 -1
- package/dist/wall/floorplan-tool.js +10 -11
- package/dist/wall/floorplan.d.ts +3 -1
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +184 -21
- package/dist/wall/measurement.d.ts.map +1 -1
- package/dist/wall/measurement.js +5 -5
- package/dist/wall/move-endpoint-tool.d.ts.map +1 -1
- package/dist/wall/move-endpoint-tool.js +20 -7
- package/dist/wall/move-shared.d.ts.map +1 -1
- package/dist/wall/move-shared.js +11 -7
- package/dist/wall/move-tool.d.ts.map +1 -1
- package/dist/wall/move-tool.js +118 -148
- package/dist/wall/paint.d.ts +26 -15
- package/dist/wall/paint.d.ts.map +1 -1
- package/dist/wall/paint.js +306 -117
- package/dist/wall/panel-model.d.ts +18 -0
- package/dist/wall/panel-model.d.ts.map +1 -1
- package/dist/wall/panel-model.js +77 -19
- package/dist/wall/panel.d.ts.map +1 -1
- package/dist/wall/panel.js +217 -41
- package/dist/wall/parametrics.d.ts.map +1 -1
- package/dist/wall/parametrics.js +3 -0
- package/dist/wall/rectangle-command.d.ts +111 -12
- 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 +26 -8
- package/dist/wall/renderer.d.ts.map +1 -1
- package/dist/wall/renderer.js +4 -2
- package/dist/wall/split-floorplan-layer.d.ts.map +1 -1
- package/dist/wall/split-floorplan-layer.js +7 -7
- package/dist/wall/split-session.d.ts.map +1 -1
- package/dist/wall/split-session.js +7 -1
- package/dist/wall/system.d.ts.map +1 -1
- package/dist/wall/system.js +36 -4
- package/dist/wall/tool.d.ts.map +1 -1
- package/dist/wall/tool.js +105 -49
- package/dist/wall/treatment-level-data.d.ts +3 -2
- package/dist/wall/treatment-level-data.d.ts.map +1 -1
- package/dist/wall/treatment-level-data.js +17 -13
- package/dist/wall/treatments.d.ts +10 -10
- package/dist/wall/treatments.d.ts.map +1 -1
- package/dist/wall/treatments.js +67 -54
- package/dist/wall/wall-batch-system.d.ts +7 -0
- package/dist/wall/wall-batch-system.d.ts.map +1 -1
- package/dist/wall/wall-batch-system.js +35 -3
- package/dist/wall/wall-batch.d.ts +6 -0
- package/dist/wall/wall-batch.d.ts.map +1 -1
- package/dist/wall/wall-batch.js +7 -1
- package/dist/window/definition.d.ts.map +1 -1
- package/dist/window/definition.js +12 -4
- package/dist/window/floorplan-move.d.ts.map +1 -1
- package/dist/window/floorplan-move.js +3 -1
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +145 -60
- package/dist/window/mechanism.d.ts +4 -0
- package/dist/window/mechanism.d.ts.map +1 -0
- package/dist/window/mechanism.js +20 -0
- package/dist/window/move-tool.d.ts.map +1 -1
- package/dist/window/move-tool.js +79 -48
- package/dist/window/paint.d.ts.map +1 -1
- package/dist/window/paint.js +3 -0
- package/dist/window/panel.d.ts.map +1 -1
- package/dist/window/panel.js +32 -88
- package/dist/window/placement.d.ts +23 -0
- package/dist/window/placement.d.ts.map +1 -0
- package/dist/window/placement.js +66 -0
- package/dist/window/preview.d.ts.map +1 -1
- package/dist/window/preview.js +2 -0
- package/dist/window/renderer.d.ts.map +1 -1
- package/dist/window/renderer.js +3 -2
- package/dist/window/tool.d.ts.map +1 -1
- package/dist/window/tool.js +96 -24
- package/dist/window/window-math.d.ts +6 -14
- package/dist/window/window-math.d.ts.map +1 -1
- package/dist/window/window-math.js +14 -20
- package/dist/zone/contextual-dimensions.d.ts.map +1 -1
- package/dist/zone/contextual-dimensions.js +6 -28
- package/dist/zone/definition.d.ts.map +1 -1
- package/dist/zone/definition.js +3 -3
- package/dist/zone/floorplan-affordances.d.ts +200 -0
- package/dist/zone/floorplan-affordances.d.ts.map +1 -1
- package/dist/zone/floorplan.d.ts +1 -1
- package/dist/zone/floorplan.d.ts.map +1 -1
- package/dist/zone/floorplan.js +93 -53
- package/dist/zone/quantities-panel.d.ts.map +1 -1
- package/dist/zone/quantities-panel.js +3 -14
- package/dist/zone/quick-measurement.d.ts +2 -2
- package/dist/zone/quick-measurement.d.ts.map +1 -1
- package/dist/zone/quick-measurement.js +6 -5
- package/dist/zone/renderer.d.ts +1 -1
- package/dist/zone/renderer.d.ts.map +1 -1
- package/dist/zone/renderer.js +58 -146
- package/dist/zone/room-clear-dimensions.js +3 -3
- package/dist/zone/room-documentation.d.ts.map +1 -1
- package/dist/zone/room-documentation.js +2 -6
- package/package.json +11 -11
- package/dist/block/slots.d.ts +0 -4
- package/dist/block/slots.d.ts.map +0 -1
- package/dist/block/slots.js +0 -17
- package/dist/cabinet/slots.d.ts +0 -4
- package/dist/cabinet/slots.d.ts.map +0 -1
- package/dist/cabinet/slots.js +0 -24
- package/dist/ceiling/slots.d.ts +0 -6
- package/dist/ceiling/slots.d.ts.map +0 -1
- package/dist/ceiling/slots.js +0 -7
- package/dist/column/slots.d.ts +0 -9
- package/dist/column/slots.d.ts.map +0 -1
- package/dist/column/slots.js +0 -19
- package/dist/door/slots.d.ts +0 -9
- package/dist/door/slots.d.ts.map +0 -1
- package/dist/door/slots.js +0 -20
- package/dist/elevator/slots.d.ts +0 -8
- package/dist/elevator/slots.d.ts.map +0 -1
- package/dist/elevator/slots.js +0 -17
- package/dist/fence/slots.d.ts +0 -10
- package/dist/fence/slots.d.ts.map +0 -1
- package/dist/fence/slots.js +0 -23
- package/dist/item/__fixtures__/main-floorplan.d.ts +0 -26
- package/dist/item/__fixtures__/main-floorplan.d.ts.map +0 -1
- package/dist/item/__fixtures__/main-floorplan.js +0 -297
- package/dist/lean-to-extension/slots.d.ts +0 -5
- package/dist/lean-to-extension/slots.d.ts.map +0 -1
- package/dist/lean-to-extension/slots.js +0 -15
- package/dist/shelf/slots.d.ts +0 -9
- package/dist/shelf/slots.d.ts.map +0 -1
- package/dist/shelf/slots.js +0 -30
- package/dist/slab/slots.d.ts +0 -10
- package/dist/slab/slots.d.ts.map +0 -1
- package/dist/slab/slots.js +0 -20
- package/dist/stair/floor-stack.d.ts +0 -10
- package/dist/stair/floor-stack.d.ts.map +0 -1
- package/dist/stair/floor-stack.js +0 -115
- package/dist/stair/slots.d.ts +0 -7
- package/dist/stair/slots.d.ts.map +0 -1
- package/dist/stair/slots.js +0 -13
- package/dist/wall/drawing-mode.d.ts +0 -12
- package/dist/wall/drawing-mode.d.ts.map +0 -1
- package/dist/wall/drawing-mode.js +0 -38
- package/dist/wall/slots.d.ts +0 -10
- package/dist/wall/slots.d.ts.map +0 -1
- package/dist/wall/slots.js +0 -92
- package/dist/window/slots.d.ts +0 -5
- package/dist/window/slots.d.ts.map +0 -1
- package/dist/window/slots.js +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wall-snap.d.ts","sourceRoot":"","sources":["../../src/cabinet/wall-snap.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,iBAAiB,EASvB,MAAM,kBAAkB,CAAA;AACzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAU3D,MAAM,MAAM,uBAAuB,GAAG;IACpC,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACrB,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,cAAc,CAAA;IAC9C,KAAK,EAAE;QACL,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,GAAG,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;KAC9B,CAAA;CACF,CAAA;AAED,MAAM,MAAM,sBAAsB,GAAG;IACnC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IAClC,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AA+HD,wBAAgB,4BAA4B,CAAC,EAC3C,UAAU,EACV,gBAAwB,EACxB,KAAK,EACL,aAAa,EACb,SAAS,EACT,GAAG,GACJ,EAAE;IACD,UAAU,EAAE,SAAS,SAAS,EAAE,CAAA;IAChC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjC,aAAa,EAAE,SAAS,CAAA;IACxB,SAAS,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACpC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,GAAG,OAAO,GAAG,IAAI,CAkDjB;AAyID,wBAAgB,4BAA4B,CAAC,EAC3C,GAAG,EACH,KAAK,EACL,aAAa,GACd,EAAE;IACD,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjC,aAAa,EAAE,SAAS,CAAA;CACzB,GAAG,MAAM,CAqDT;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,GAAG,EACH,KAAK,EACL,UAAe,EACf,aAAa,EACb,KAAK,GACN,EAAE;IACD,UAAU,CAAC,EAAE,SAAS,SAAS,EAAE,CAAA;IACjC,GAAG,EAAE,OAAO,CAAA;IACZ,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAA;IACjC,aAAa,EAAE,SAAS,CAAA;IACxB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,uBAAuB,EAAE,CAkC5B;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,KAAK,EACL,QAAY,EACZ,UAAU,EACV,GAAG,EACH,OAAwB,EACxB,SAAc,EACd,SAAa,EACb,KAAK,GACN,EAAE;IACD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,OAAO,CAAA;IACZ,SAAS,CAAC,EAAE,uBAAuB,EAAE,CAAA;IACrC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,GAAG,wBAAwB,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"wall-snap.d.ts","sourceRoot":"","sources":["../../src/cabinet/wall-snap.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { calculateLevelMiters, getWallArcData, getWallCurveFrameAt,
|
|
1
|
+
import { calculateLevelMiters, getWallArcData, getWallCurveFrameAt, getWallLocalFaceZ, getWallPlanFootprint, isCurvedWall, WALL_SNAP_DISTANCE_M, } from '@pascal-app/core';
|
|
2
2
|
import { snapCabinetFootprintCenter } from './placement-snap';
|
|
3
3
|
import { planToRunLocal, runLocalToPlan } from './run-layout';
|
|
4
4
|
const EDGE_SNAP_THRESHOLD = 0.08;
|
|
@@ -190,7 +190,7 @@ function resolveCabinetWallUsableSpan({ depth, excludeIds, hit, nodes, parentLev
|
|
|
190
190
|
const excluded = new Set(excludeIds);
|
|
191
191
|
const frontNormal = [-hit.dirY, hit.dirX];
|
|
192
192
|
const normalScale = hit.side === 'front' ? 1 : -1;
|
|
193
|
-
const faceZ =
|
|
193
|
+
const faceZ = getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
194
194
|
const outerZ = faceZ + normalScale * depth;
|
|
195
195
|
let start = 0;
|
|
196
196
|
let end = hit.wallLength;
|
|
@@ -249,16 +249,16 @@ function cabinetRunWidthAndCenterOffset(cabinet, nodes) {
|
|
|
249
249
|
}
|
|
250
250
|
export function resolveCabinetWallFaceOffset({ hit, nodes, parentLevelId, }) {
|
|
251
251
|
if (isCurvedWall(hit.wall)) {
|
|
252
|
-
return (hit.side === 'front' ?
|
|
252
|
+
return getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
253
253
|
}
|
|
254
254
|
const walls = Object.values(nodes).filter((node) => node?.type === 'wall' && node.parentId === parentLevelId);
|
|
255
255
|
if (walls.length === 0) {
|
|
256
|
-
return (hit.side === 'front' ?
|
|
256
|
+
return getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
257
257
|
}
|
|
258
258
|
const miterData = calculateLevelMiters(walls);
|
|
259
259
|
const footprint = getWallPlanFootprint(hit.wall, miterData);
|
|
260
260
|
if (footprint.length < 3) {
|
|
261
|
-
return (hit.side === 'front' ?
|
|
261
|
+
return getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
262
262
|
}
|
|
263
263
|
const frontNormal = [-hit.dirY, hit.dirX];
|
|
264
264
|
const localPoints = footprint.map((point) => {
|
|
@@ -291,7 +291,7 @@ export function resolveCabinetWallFaceOffset({ hit, nodes, parentLevelId, }) {
|
|
|
291
291
|
zIntersections.push(a.z + (b.z - a.z) * t);
|
|
292
292
|
}
|
|
293
293
|
if (zIntersections.length === 0) {
|
|
294
|
-
return (hit.side === 'front' ?
|
|
294
|
+
return getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
295
295
|
}
|
|
296
296
|
return hit.side === 'front' ? Math.max(...zIntersections) : Math.min(...zIntersections);
|
|
297
297
|
}
|
|
@@ -301,7 +301,7 @@ export function collectCabinetWallSnapNeighbors({ hit, nodes, excludeIds = [], p
|
|
|
301
301
|
const frontNormal = [-hit.dirY, hit.dirX];
|
|
302
302
|
const normalScale = hit.side === 'front' ? 1 : -1;
|
|
303
303
|
const yaw = Math.atan2(frontNormal[0] * normalScale, frontNormal[1] * normalScale);
|
|
304
|
-
const wallFaceOffset =
|
|
304
|
+
const wallFaceOffset = getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b') * normalScale;
|
|
305
305
|
const neighbors = [];
|
|
306
306
|
const excluded = new Set(excludeIds);
|
|
307
307
|
for (const node of Object.values(nodes)) {
|
|
@@ -353,7 +353,7 @@ export function resolveCabinetWallSnapPlacement({ depth, gridStep = 0, faceOffse
|
|
|
353
353
|
const frontNormal = [frame.normal.x, frame.normal.y];
|
|
354
354
|
const normalScale = hit.side === 'front' ? 1 : -1;
|
|
355
355
|
const normal = [frontNormal[0] * normalScale, frontNormal[1] * normalScale];
|
|
356
|
-
const resolvedFaceOffset = faceOffset ?? (
|
|
356
|
+
const resolvedFaceOffset = faceOffset ?? getWallLocalFaceZ(hit.wall, hit.side === 'front' ? 'a' : 'b');
|
|
357
357
|
const cabinetCenterOffset = resolvedFaceOffset + normalScale * (depth / 2);
|
|
358
358
|
const guideOffset = resolvedFaceOffset;
|
|
359
359
|
const guideStart = projectCabinetWallLocalPointToPlan(hit, Math.max(startStop, localX - halfWidth), guideOffset);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"boundary-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/boundary-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAazB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,
|
|
1
|
+
{"version":3,"file":"boundary-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/boundary-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAazB;;;;;;;;;;GAUG;AACH,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;CAAE,CA0J5E,CAAA;AAED,eAAe,qBAAqB,CAAA"}
|
|
@@ -17,7 +17,7 @@ import { useCallback, useEffect, useMemo, useRef } from 'react';
|
|
|
17
17
|
*/
|
|
18
18
|
export const CeilingBoundaryEditor = ({ ceilingId, }) => {
|
|
19
19
|
const ceilingNode = useScene((s) => s.nodes[ceilingId]);
|
|
20
|
-
const
|
|
20
|
+
const detachDerivedNode = useScene((s) => s.detachDerivedNode);
|
|
21
21
|
const markDirty = useScene((s) => s.markDirty);
|
|
22
22
|
const setSelection = useViewer((s) => s.setSelection);
|
|
23
23
|
const setHoveredId = useViewer((s) => s.setHoveredId);
|
|
@@ -35,9 +35,11 @@ export const CeilingBoundaryEditor = ({ ceilingId, }) => {
|
|
|
35
35
|
: null;
|
|
36
36
|
const handlePolygonChange = useCallback((newPolygon) => {
|
|
37
37
|
clearCeilingSnapFeedback();
|
|
38
|
-
|
|
38
|
+
// Reshaping the boundary is the sanctioned conversion of a derived
|
|
39
|
+
// ceiling into an authored one — the reconciler stops owning it here.
|
|
40
|
+
detachDerivedNode(ceilingId, { polygon: newPolygon });
|
|
39
41
|
setSelection({ selectedIds: [ceilingId] });
|
|
40
|
-
}, [ceilingId,
|
|
42
|
+
}, [ceilingId, detachDerivedNode, setSelection]);
|
|
41
43
|
const handlePolygonPreview = useCallback((preview) => {
|
|
42
44
|
if (preview) {
|
|
43
45
|
ownsPolygonPreviewRef.current = true;
|
|
@@ -7,10 +7,10 @@ import { CeilingNode } from './schema';
|
|
|
7
7
|
*
|
|
8
8
|
* **Stage B intentionally skipped**: pure `def.geometry` extraction
|
|
9
9
|
* would lose the React children rendering (hosted items) and the
|
|
10
|
-
* named-mesh structure. Ceiling keeps `def.renderer` as
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
10
|
+
* named-mesh structure. Ceiling keeps `def.renderer` as its escape hatch
|
|
11
|
+
* ("Opting out of a generic path" in wiki/architecture/node-definitions.md).
|
|
12
|
+
* Renderer wraps the legacy CeilingRenderer; system wraps the legacy
|
|
13
|
+
* CeilingSystem.
|
|
14
14
|
*
|
|
15
15
|
* **Stage C completed**: `def.floorplan` builder draws the ceiling
|
|
16
16
|
* polygon as a dashed outline in floor plan; legacy `ceilingPolygons`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"definition.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,cAAc,EAIpB,MAAM,kBAAkB,CAAA;AAuBzB,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA+EtC;;;;;;;;;;;;;;;GAeG;AACH,eAAO,MAAM,iBAAiB,EAAE,cAAc,CAAC,OAAO,WAAW,CAuHhE,CAAA"}
|
|
@@ -1,26 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { ceilingSlots, resolveCeilingHeight, useScene, } from '@pascal-app/core';
|
|
2
2
|
import { clearStructuralElevationGuide, DRAFTING_SURFACE_EXTENSION_KEY, publishStructuralElevationGuide, resolveStructuralElevationSnap, } from '@pascal-app/editor';
|
|
3
|
+
import { surfaceBatchable } from '../shared/node-batch/batchable';
|
|
3
4
|
import { polygonMeasurementFeatures } from '../shared/polygon-measurement';
|
|
4
5
|
import { sameOutlineSurfaceCounterparts } from '../shared/surface-counterparts';
|
|
5
6
|
import { buildCeilingFloorplan } from './floorplan';
|
|
6
7
|
import { ceilingAddVertexAffordance, ceilingDeleteVertexAffordance, ceilingMoveEdgeAffordance, ceilingMoveVertexAffordance, } from './floorplan-affordances';
|
|
7
8
|
import { ceilingFloorplanMoveTarget } from './floorplan-move';
|
|
9
|
+
import { CEILING_HANDLE_MIN_HEIGHT, ceilingHeightRange } from './height-bounds';
|
|
8
10
|
import { ceilingPaint } from './paint';
|
|
9
11
|
import { ceilingParametrics } from './parametrics';
|
|
10
12
|
import { CeilingNode } from './schema';
|
|
11
|
-
import { ceilingSlots } from './slots';
|
|
12
13
|
const HEIGHT_HANDLE_OFFSET = 0.22;
|
|
13
|
-
const MIN_CEILING_HEIGHT = 0.5;
|
|
14
14
|
// Ceilings no longer drive the storey height; the stored level height
|
|
15
15
|
// does. Height writes clamp under min(storey plane, lowest underside of
|
|
16
16
|
// any covering slab from the level above) − CEILING_CLAMP_MARGIN, so a
|
|
17
17
|
// ceiling can poke into neither the level above nor a deck hanging from
|
|
18
|
-
// it (clamp, never ask).
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return
|
|
22
|
-
? getCeilingClampBound(parent.id, sceneApi.nodes(), n.polygon ?? [])
|
|
23
|
-
: Number.POSITIVE_INFINITY;
|
|
18
|
+
// it (clamp, never ask). On a level above grade the ceiling may hang below
|
|
19
|
+
// the level floor down to grade (soffits owned by a roof level).
|
|
20
|
+
function ceilingHeightBounds(n, sceneApi) {
|
|
21
|
+
return ceilingHeightRange(n, sceneApi.nodes(), CEILING_HANDLE_MIN_HEIGHT);
|
|
24
22
|
}
|
|
25
23
|
function ceilingPolygonCenter(n) {
|
|
26
24
|
const polygon = n.polygon ?? [];
|
|
@@ -60,8 +58,8 @@ function ceilingHeightHandle() {
|
|
|
60
58
|
kind: 'linear-resize',
|
|
61
59
|
axis: 'y',
|
|
62
60
|
anchor: 'min',
|
|
63
|
-
min:
|
|
64
|
-
max:
|
|
61
|
+
min: (n, sceneApi) => ceilingHeightBounds(n, sceneApi).min,
|
|
62
|
+
max: (n, sceneApi) => ceilingHeightBounds(n, sceneApi).max,
|
|
65
63
|
currentValue: (n) => resolveCeilingHeight(n, useScene.getState().nodes),
|
|
66
64
|
magneticSnap: (n, newValue, sceneApi) => resolveStructuralElevationSnap(ceilingElevationGuideSource(n), newValue, sceneApi.nodes()),
|
|
67
65
|
onDrag: (n, sceneApi) => publishStructuralElevationGuide(ceilingElevationGuideSource(n), resolveCeilingHeight(n, sceneApi.nodes()), sceneApi.nodes()),
|
|
@@ -85,10 +83,10 @@ function ceilingHandles(_node) {
|
|
|
85
83
|
*
|
|
86
84
|
* **Stage B intentionally skipped**: pure `def.geometry` extraction
|
|
87
85
|
* would lose the React children rendering (hosted items) and the
|
|
88
|
-
* named-mesh structure. Ceiling keeps `def.renderer` as
|
|
89
|
-
*
|
|
90
|
-
*
|
|
91
|
-
*
|
|
86
|
+
* named-mesh structure. Ceiling keeps `def.renderer` as its escape hatch
|
|
87
|
+
* ("Opting out of a generic path" in wiki/architecture/node-definitions.md).
|
|
88
|
+
* Renderer wraps the legacy CeilingRenderer; system wraps the legacy
|
|
89
|
+
* CeilingSystem.
|
|
92
90
|
*
|
|
93
91
|
* **Stage C completed**: `def.floorplan` builder draws the ceiling
|
|
94
92
|
* polygon as a dashed outline in floor plan; legacy `ceilingPolygons`
|
|
@@ -124,6 +122,7 @@ export const ceilingDefinition = {
|
|
|
124
122
|
autoFromWalls: false,
|
|
125
123
|
}),
|
|
126
124
|
capabilities: {
|
|
125
|
+
batchable: surfaceBatchable,
|
|
127
126
|
selectable: { hitVolume: 'bbox' },
|
|
128
127
|
surfaces: {
|
|
129
128
|
hosting: false,
|
|
@@ -172,6 +171,7 @@ export const ceilingDefinition = {
|
|
|
172
171
|
priority: 4,
|
|
173
172
|
},
|
|
174
173
|
floorplan: buildCeilingFloorplan,
|
|
174
|
+
floorplanDependsOnSiblings: true,
|
|
175
175
|
// 2D move handler — translates polygon by cursor delta from first
|
|
176
176
|
// pointer position. Mirror of slab; 3D `MoveCeilingTool` skips
|
|
177
177
|
// 2D-sourced grid events so they don't double-write on commit.
|
|
@@ -9,7 +9,8 @@ export declare const ceilingMoveVertexAffordance: import("@pascal-app/core").Flo
|
|
|
9
9
|
polygon: [number, number][];
|
|
10
10
|
holes: [number, number][][];
|
|
11
11
|
holeMetadata: {
|
|
12
|
-
source: "stair" | "elevator" | "manual";
|
|
12
|
+
source: "room" | "stair" | "elevator" | "manual" | "floor-opening";
|
|
13
|
+
openingId?: string | undefined;
|
|
13
14
|
stairId?: string | undefined;
|
|
14
15
|
elevatorId?: string | undefined;
|
|
15
16
|
}[];
|
|
@@ -22,6 +23,17 @@ export declare const ceilingMoveVertexAffordance: import("@pascal-app/core").Flo
|
|
|
22
23
|
fov?: number | undefined;
|
|
23
24
|
zoom?: number | undefined;
|
|
24
25
|
} | undefined;
|
|
26
|
+
provenance?: {
|
|
27
|
+
refs: {
|
|
28
|
+
id: string;
|
|
29
|
+
ns?: string | undefined;
|
|
30
|
+
role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
|
|
31
|
+
}[];
|
|
32
|
+
lineage?: {
|
|
33
|
+
op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
|
|
34
|
+
fromIds: string[];
|
|
35
|
+
} | undefined;
|
|
36
|
+
} | undefined;
|
|
25
37
|
material?: {
|
|
26
38
|
id?: string | undefined;
|
|
27
39
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -41,7 +53,15 @@ export declare const ceilingMoveVertexAffordance: import("@pascal-app/core").Flo
|
|
|
41
53
|
} | undefined;
|
|
42
54
|
materialPreset?: string | undefined;
|
|
43
55
|
slots?: Record<string, string> | undefined;
|
|
56
|
+
openingIds?: string[] | undefined;
|
|
44
57
|
height?: number | undefined;
|
|
58
|
+
regions?: {
|
|
59
|
+
id: string;
|
|
60
|
+
polygon: [number, number][];
|
|
61
|
+
finish: string | Record<string, unknown>;
|
|
62
|
+
}[] | undefined;
|
|
63
|
+
boundary?: "auto" | undefined;
|
|
64
|
+
zoneId?: string | undefined;
|
|
45
65
|
}>;
|
|
46
66
|
export declare const ceilingAddVertexAffordance: import("@pascal-app/core").FloorplanAffordance<{
|
|
47
67
|
object: "node";
|
|
@@ -54,7 +74,8 @@ export declare const ceilingAddVertexAffordance: import("@pascal-app/core").Floo
|
|
|
54
74
|
polygon: [number, number][];
|
|
55
75
|
holes: [number, number][][];
|
|
56
76
|
holeMetadata: {
|
|
57
|
-
source: "stair" | "elevator" | "manual";
|
|
77
|
+
source: "room" | "stair" | "elevator" | "manual" | "floor-opening";
|
|
78
|
+
openingId?: string | undefined;
|
|
58
79
|
stairId?: string | undefined;
|
|
59
80
|
elevatorId?: string | undefined;
|
|
60
81
|
}[];
|
|
@@ -67,6 +88,17 @@ export declare const ceilingAddVertexAffordance: import("@pascal-app/core").Floo
|
|
|
67
88
|
fov?: number | undefined;
|
|
68
89
|
zoom?: number | undefined;
|
|
69
90
|
} | undefined;
|
|
91
|
+
provenance?: {
|
|
92
|
+
refs: {
|
|
93
|
+
id: string;
|
|
94
|
+
ns?: string | undefined;
|
|
95
|
+
role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
|
|
96
|
+
}[];
|
|
97
|
+
lineage?: {
|
|
98
|
+
op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
|
|
99
|
+
fromIds: string[];
|
|
100
|
+
} | undefined;
|
|
101
|
+
} | undefined;
|
|
70
102
|
material?: {
|
|
71
103
|
id?: string | undefined;
|
|
72
104
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -86,7 +118,15 @@ export declare const ceilingAddVertexAffordance: import("@pascal-app/core").Floo
|
|
|
86
118
|
} | undefined;
|
|
87
119
|
materialPreset?: string | undefined;
|
|
88
120
|
slots?: Record<string, string> | undefined;
|
|
121
|
+
openingIds?: string[] | undefined;
|
|
89
122
|
height?: number | undefined;
|
|
123
|
+
regions?: {
|
|
124
|
+
id: string;
|
|
125
|
+
polygon: [number, number][];
|
|
126
|
+
finish: string | Record<string, unknown>;
|
|
127
|
+
}[] | undefined;
|
|
128
|
+
boundary?: "auto" | undefined;
|
|
129
|
+
zoneId?: string | undefined;
|
|
90
130
|
}>;
|
|
91
131
|
export declare const ceilingMoveEdgeAffordance: import("@pascal-app/core").FloorplanAffordance<{
|
|
92
132
|
object: "node";
|
|
@@ -99,7 +139,8 @@ export declare const ceilingMoveEdgeAffordance: import("@pascal-app/core").Floor
|
|
|
99
139
|
polygon: [number, number][];
|
|
100
140
|
holes: [number, number][][];
|
|
101
141
|
holeMetadata: {
|
|
102
|
-
source: "stair" | "elevator" | "manual";
|
|
142
|
+
source: "room" | "stair" | "elevator" | "manual" | "floor-opening";
|
|
143
|
+
openingId?: string | undefined;
|
|
103
144
|
stairId?: string | undefined;
|
|
104
145
|
elevatorId?: string | undefined;
|
|
105
146
|
}[];
|
|
@@ -112,6 +153,17 @@ export declare const ceilingMoveEdgeAffordance: import("@pascal-app/core").Floor
|
|
|
112
153
|
fov?: number | undefined;
|
|
113
154
|
zoom?: number | undefined;
|
|
114
155
|
} | undefined;
|
|
156
|
+
provenance?: {
|
|
157
|
+
refs: {
|
|
158
|
+
id: string;
|
|
159
|
+
ns?: string | undefined;
|
|
160
|
+
role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
|
|
161
|
+
}[];
|
|
162
|
+
lineage?: {
|
|
163
|
+
op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
|
|
164
|
+
fromIds: string[];
|
|
165
|
+
} | undefined;
|
|
166
|
+
} | undefined;
|
|
115
167
|
material?: {
|
|
116
168
|
id?: string | undefined;
|
|
117
169
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -131,7 +183,15 @@ export declare const ceilingMoveEdgeAffordance: import("@pascal-app/core").Floor
|
|
|
131
183
|
} | undefined;
|
|
132
184
|
materialPreset?: string | undefined;
|
|
133
185
|
slots?: Record<string, string> | undefined;
|
|
186
|
+
openingIds?: string[] | undefined;
|
|
134
187
|
height?: number | undefined;
|
|
188
|
+
regions?: {
|
|
189
|
+
id: string;
|
|
190
|
+
polygon: [number, number][];
|
|
191
|
+
finish: string | Record<string, unknown>;
|
|
192
|
+
}[] | undefined;
|
|
193
|
+
boundary?: "auto" | undefined;
|
|
194
|
+
zoneId?: string | undefined;
|
|
135
195
|
}>;
|
|
136
196
|
export declare const ceilingDeleteVertexAffordance: import("@pascal-app/core").FloorplanAffordance<{
|
|
137
197
|
object: "node";
|
|
@@ -144,7 +204,8 @@ export declare const ceilingDeleteVertexAffordance: import("@pascal-app/core").F
|
|
|
144
204
|
polygon: [number, number][];
|
|
145
205
|
holes: [number, number][][];
|
|
146
206
|
holeMetadata: {
|
|
147
|
-
source: "stair" | "elevator" | "manual";
|
|
207
|
+
source: "room" | "stair" | "elevator" | "manual" | "floor-opening";
|
|
208
|
+
openingId?: string | undefined;
|
|
148
209
|
stairId?: string | undefined;
|
|
149
210
|
elevatorId?: string | undefined;
|
|
150
211
|
}[];
|
|
@@ -157,6 +218,17 @@ export declare const ceilingDeleteVertexAffordance: import("@pascal-app/core").F
|
|
|
157
218
|
fov?: number | undefined;
|
|
158
219
|
zoom?: number | undefined;
|
|
159
220
|
} | undefined;
|
|
221
|
+
provenance?: {
|
|
222
|
+
refs: {
|
|
223
|
+
id: string;
|
|
224
|
+
ns?: string | undefined;
|
|
225
|
+
role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
|
|
226
|
+
}[];
|
|
227
|
+
lineage?: {
|
|
228
|
+
op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
|
|
229
|
+
fromIds: string[];
|
|
230
|
+
} | undefined;
|
|
231
|
+
} | undefined;
|
|
160
232
|
material?: {
|
|
161
233
|
id?: string | undefined;
|
|
162
234
|
preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
|
|
@@ -176,6 +248,14 @@ export declare const ceilingDeleteVertexAffordance: import("@pascal-app/core").F
|
|
|
176
248
|
} | undefined;
|
|
177
249
|
materialPreset?: string | undefined;
|
|
178
250
|
slots?: Record<string, string> | undefined;
|
|
251
|
+
openingIds?: string[] | undefined;
|
|
179
252
|
height?: number | undefined;
|
|
253
|
+
regions?: {
|
|
254
|
+
id: string;
|
|
255
|
+
polygon: [number, number][];
|
|
256
|
+
finish: string | Record<string, unknown>;
|
|
257
|
+
}[] | undefined;
|
|
258
|
+
boundary?: "auto" | undefined;
|
|
259
|
+
zoneId?: string | undefined;
|
|
180
260
|
}>;
|
|
181
261
|
//# sourceMappingURL=floorplan-affordances.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan-affordances.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan-affordances.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"floorplan-affordances.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan-affordances.ts"],"names":[],"mappings":"AAoCA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGvC,CAAA;AACD,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGtC,CAAA;AACD,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGrC,CAAA;AACD,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzC,CAAA"}
|
|
@@ -8,7 +8,6 @@ import { createPolygonAddVertexAffordance, createPolygonDeleteVertexAffordance,
|
|
|
8
8
|
* full contract.
|
|
9
9
|
*/
|
|
10
10
|
const ceilingSnapOptions = {
|
|
11
|
-
boundaryCommitData: { autoFromWalls: false },
|
|
12
11
|
resolvePlanPoint({ node, nodes, rawPoint, fallbackPoint, }) {
|
|
13
12
|
const sceneNodes = nodes;
|
|
14
13
|
return resolveCeilingPlanPointSnap({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan-move.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan-move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAwB,MAAM,kBAAkB,CAAA;AAGnG;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,
|
|
1
|
+
{"version":3,"file":"floorplan-move.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan-move.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,mBAAmB,EAAwB,MAAM,kBAAkB,CAAA;AAGnG;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,EAAE,mBAAmB,CAAC,WAAW,CAKpE,CAAA"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type CeilingNode, type FloorplanGeometry, type GeometryContext } from '@pascal-app/core';
|
|
2
2
|
/**
|
|
3
3
|
* Stage C floor-plan builder for ceiling. Dashed boundary (ceilings sit
|
|
4
4
|
* above the slab); when selected, mounts the same boundary editor as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/ceiling/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,WAAW,EAEhB,KAAK,iBAAiB,EAEtB,KAAK,eAAe,EAErB,MAAM,kBAAkB,CAAA;AAEzB;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,WAAW,EACjB,GAAG,EAAE,eAAe,GACnB,iBAAiB,GAAG,IAAI,CA+C1B"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { cutterContextNodes, hostedCutterHoles, } from '@pascal-app/core';
|
|
1
2
|
/**
|
|
2
3
|
* Stage C floor-plan builder for ceiling. Dashed boundary (ceilings sit
|
|
3
4
|
* above the slab); when selected, mounts the same boundary editor as
|
|
@@ -22,7 +23,7 @@ export function buildCeilingFloorplan(node, ctx) {
|
|
|
22
23
|
};
|
|
23
24
|
const segments = [ring(outer)];
|
|
24
25
|
const holes = node.holes ?? [];
|
|
25
|
-
for (const hole of holes) {
|
|
26
|
+
for (const hole of [...holes, ...hostedCutterHoles(node, cutterContextNodes(node, ctx))]) {
|
|
26
27
|
if (hole.length < 3)
|
|
27
28
|
continue;
|
|
28
29
|
segments.push(ring(hole.map(([x, z]) => [x, z])));
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { type AnyNode, type AnyNodeId, type CeilingNode } from '@pascal-app/core';
|
|
2
|
+
/** Handle floor for a ceiling at grade: keeps the drag arrow off the floor. */
|
|
3
|
+
export declare const CEILING_HANDLE_MIN_HEIGHT = 0.5;
|
|
4
|
+
/** Panel slider floor for a ceiling at grade. */
|
|
5
|
+
export declare const CEILING_PANEL_MIN_HEIGHT = 0;
|
|
6
|
+
export type CeilingHeightRange = {
|
|
7
|
+
min: number;
|
|
8
|
+
max: number;
|
|
9
|
+
};
|
|
10
|
+
/**
|
|
11
|
+
* Where a ceiling's stored height may go. `max` clamps under the storey
|
|
12
|
+
* plane and any covering slab from the level above (clamp, never ask);
|
|
13
|
+
* `min` lets a ceiling on a level above grade hang down to grade, and
|
|
14
|
+
* keeps `atGradeMin` on the ground storey.
|
|
15
|
+
*/
|
|
16
|
+
export declare function ceilingHeightRange(ceiling: Pick<CeilingNode, 'parentId' | 'polygon'>, nodes: Record<AnyNodeId, AnyNode>, atGradeMin: number): CeilingHeightRange;
|
|
17
|
+
/** Same order as the slider and handle clamps: the upper bound wins a conflict. */
|
|
18
|
+
export declare function clampCeilingHeight(height: number, range: CeilingHeightRange): number;
|
|
19
|
+
//# sourceMappingURL=height-bounds.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"height-bounds.d.ts","sourceRoot":"","sources":["../../src/ceiling/height-bounds.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,SAAS,EACd,KAAK,WAAW,EAGjB,MAAM,kBAAkB,CAAA;AAEzB,+EAA+E;AAC/E,eAAO,MAAM,yBAAyB,MAAM,CAAA;AAC5C,iDAAiD;AACjD,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC,MAAM,MAAM,kBAAkB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAE7D;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,IAAI,CAAC,WAAW,EAAE,UAAU,GAAG,SAAS,CAAC,EAClD,KAAK,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,EACjC,UAAU,EAAE,MAAM,GACjB,kBAAkB,CAOpB;AAED,mFAAmF;AACnF,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,kBAAkB,GAAG,MAAM,CAEpF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { getCeilingClampBound, getCeilingMinHeight, } from '@pascal-app/core';
|
|
2
|
+
/** Handle floor for a ceiling at grade: keeps the drag arrow off the floor. */
|
|
3
|
+
export const CEILING_HANDLE_MIN_HEIGHT = 0.5;
|
|
4
|
+
/** Panel slider floor for a ceiling at grade. */
|
|
5
|
+
export const CEILING_PANEL_MIN_HEIGHT = 0;
|
|
6
|
+
/**
|
|
7
|
+
* Where a ceiling's stored height may go. `max` clamps under the storey
|
|
8
|
+
* plane and any covering slab from the level above (clamp, never ask);
|
|
9
|
+
* `min` lets a ceiling on a level above grade hang down to grade, and
|
|
10
|
+
* keeps `atGradeMin` on the ground storey.
|
|
11
|
+
*/
|
|
12
|
+
export function ceilingHeightRange(ceiling, nodes, atGradeMin) {
|
|
13
|
+
const parent = ceiling.parentId ? nodes[ceiling.parentId] : undefined;
|
|
14
|
+
if (parent?.type !== 'level')
|
|
15
|
+
return { min: atGradeMin, max: Number.POSITIVE_INFINITY };
|
|
16
|
+
return {
|
|
17
|
+
min: getCeilingMinHeight(parent.id, nodes, atGradeMin),
|
|
18
|
+
max: getCeilingClampBound(parent.id, nodes, ceiling.polygon ?? []),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
/** Same order as the slider and handle clamps: the upper bound wins a conflict. */
|
|
22
|
+
export function clampCeilingHeight(height, range) {
|
|
23
|
+
return Math.min(range.max, Math.max(range.min, height));
|
|
24
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hole-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/hole-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAKzB;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,
|
|
1
|
+
{"version":3,"file":"hole-editor.d.ts","sourceRoot":"","sources":["../../src/ceiling/hole-editor.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,WAAW,EAKjB,MAAM,kBAAkB,CAAA;AAKzB;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,SAAS,EAAE,WAAW,CAAC,IAAI,CAAC,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;CAClB,CAuDA,CAAA;AAED,eAAe,iBAAiB,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
3
3
|
import { resolveCeilingHeight, resolveLevelId, useLiveNodeOverrides, useScene, } from '@pascal-app/core';
|
|
4
|
-
import { PolygonEditor } from '@pascal-app/editor';
|
|
4
|
+
import { PolygonEditor, setCeilingHoles } from '@pascal-app/editor';
|
|
5
5
|
import { useViewer } from '@pascal-app/viewer';
|
|
6
6
|
import { useCallback, useEffect } from 'react';
|
|
7
7
|
/**
|
|
@@ -9,7 +9,6 @@ import { useCallback, useEffect } from 'react';
|
|
|
9
9
|
*/
|
|
10
10
|
export const CeilingHoleEditor = ({ ceilingId, holeIndex }) => {
|
|
11
11
|
const ceilingNode = useScene((s) => s.nodes[ceilingId]);
|
|
12
|
-
const updateNode = useScene((s) => s.updateNode);
|
|
13
12
|
const markDirty = useScene((s) => s.markDirty);
|
|
14
13
|
const setSelection = useViewer((s) => s.setSelection);
|
|
15
14
|
const ceiling = ceilingNode?.type === 'ceiling' ? ceilingNode : null;
|
|
@@ -18,9 +17,9 @@ export const CeilingHoleEditor = ({ ceilingId, holeIndex }) => {
|
|
|
18
17
|
const handlePolygonChange = useCallback((newPolygon) => {
|
|
19
18
|
const updatedHoles = [...holes];
|
|
20
19
|
updatedHoles[holeIndex] = newPolygon;
|
|
21
|
-
|
|
20
|
+
setCeilingHoles(ceilingId, { holes: updatedHoles });
|
|
22
21
|
setSelection({ selectedIds: [ceilingId] });
|
|
23
|
-
}, [ceilingId, holeIndex, holes,
|
|
22
|
+
}, [ceilingId, holeIndex, holes, setSelection]);
|
|
24
23
|
const handlePolygonPreview = useCallback((preview) => {
|
|
25
24
|
if (preview) {
|
|
26
25
|
const updatedHoles = [...holes];
|
|
@@ -8,7 +8,7 @@ export declare function getCeilingMaterials(color?: string): CeilingMaterials;
|
|
|
8
8
|
/**
|
|
9
9
|
* Resolve a slot `MaterialRef` to a flat colour for the ceiling surface.
|
|
10
10
|
* `library:` refs use the catalog preset's base colour; `scene:` refs use the
|
|
11
|
-
* stored material's colour. Returns null for a dangling / unparseable ref so
|
|
11
|
+
* stored material's colour; a plain colour is itself. Returns null for a dangling / unparseable ref so
|
|
12
12
|
* the caller falls back to its default.
|
|
13
13
|
*/
|
|
14
14
|
export declare function ceilingColorFromRef(ref: string | undefined, sceneMaterials: Record<SceneMaterialId, SceneMaterial> | undefined): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/ceiling/materials.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"materials.d.ts","sourceRoot":"","sources":["../../src/ceiling/materials.ts"],"names":[],"mappings":"AAAA,OAAO,EAML,KAAK,aAAa,EAClB,KAAK,eAAe,EACrB,MAAM,kBAAkB,CAAA;AAEzB,OAAO,EAAuB,qBAAqB,EAAE,MAAM,cAAc,CAAA;AAoBzE,MAAM,MAAM,gBAAgB,GAAG;IAC7B,WAAW,EAAE,qBAAqB,CAAA;IAClC,cAAc,EAAE,qBAAqB,CAAA;CACtC,CAAA;AAqBD,wBAAgB,mBAAmB,CAAC,KAAK,SAAY,GAAG,gBAAgB,CAMvE;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,GAAG,SAAS,EACvB,cAAc,EAAE,MAAM,CAAC,eAAe,EAAE,aAAa,CAAC,GAAG,SAAS,GACjE,MAAM,GAAG,IAAI,CAiBf"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { getMaterialPresetByRef, parseMaterialRef, resolveMaterial, } from '@pascal-app/core';
|
|
1
|
+
import { getCatalogMaterialById, getMaterialPresetByRef, parseMaterialColor, parseMaterialRef, resolveMaterial, } from '@pascal-app/core';
|
|
2
2
|
import { float, mix, positionWorld, smoothstep } from 'three/tsl';
|
|
3
3
|
import { BackSide, FrontSide, MeshBasicNodeMaterial } from 'three/webgpu';
|
|
4
4
|
/**
|
|
@@ -43,15 +43,22 @@ export function getCeilingMaterials(color = '#999999') {
|
|
|
43
43
|
/**
|
|
44
44
|
* Resolve a slot `MaterialRef` to a flat colour for the ceiling surface.
|
|
45
45
|
* `library:` refs use the catalog preset's base colour; `scene:` refs use the
|
|
46
|
-
* stored material's colour. Returns null for a dangling / unparseable ref so
|
|
46
|
+
* stored material's colour; a plain colour is itself. Returns null for a dangling / unparseable ref so
|
|
47
47
|
* the caller falls back to its default.
|
|
48
48
|
*/
|
|
49
49
|
export function ceilingColorFromRef(ref, sceneMaterials) {
|
|
50
|
+
const color = parseMaterialColor(ref);
|
|
51
|
+
if (color)
|
|
52
|
+
return color;
|
|
50
53
|
const parsed = parseMaterialRef(ref);
|
|
51
54
|
if (!parsed)
|
|
52
55
|
return null;
|
|
53
56
|
if (parsed.kind === 'library') {
|
|
54
|
-
|
|
57
|
+
// A flat tint: the catalog's preview colour reads as the finish (a textured
|
|
58
|
+
// preset's map colour is often plain white).
|
|
59
|
+
return (getCatalogMaterialById(parsed.id)?.previewColor ??
|
|
60
|
+
getMaterialPresetByRef(ref)?.mapProperties.color ??
|
|
61
|
+
null);
|
|
55
62
|
}
|
|
56
63
|
const sceneMaterial = sceneMaterials?.[parsed.id];
|
|
57
64
|
if (!sceneMaterial)
|
package/dist/ceiling/paint.d.ts
CHANGED
|
@@ -1,9 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
* so every hit resolves to `surface`; commit writes `node.slots.surface`. The
|
|
4
|
-
* preview swaps the registered underside mesh to the ceiling's own flat-tinted
|
|
5
|
-
* material (built `BackSide`, the way it renders), so the hover preview matches
|
|
6
|
-
* the committed result — a generic PBR preview would be invisible from below.
|
|
7
|
-
*/
|
|
8
|
-
export declare const ceilingPaint: import("@pascal-app/core").PaintCapability;
|
|
1
|
+
import { type PaintCapability } from '@pascal-app/core';
|
|
2
|
+
export declare const ceilingPaint: PaintCapability;
|
|
9
3
|
//# sourceMappingURL=paint.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/ceiling/paint.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paint.d.ts","sourceRoot":"","sources":["../../src/ceiling/paint.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,eAAe,EAQrB,MAAM,kBAAkB,CAAA;AAqHzB,eAAO,MAAM,YAAY,EAAE,eAyB1B,CAAA"}
|