@pascal-app/nodes 1.1.0 → 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -2
- package/dist/beam/definition.edit.d.ts.map +1 -1
- package/dist/beam/definition.edit.js +0 -2
- package/dist/beam/definition.render.d.ts.map +1 -1
- package/dist/beam/definition.render.js +2 -0
- package/dist/beam/floorplan.d.ts.map +1 -1
- package/dist/beam/floorplan.js +1 -2
- package/dist/block/definition.edit.d.ts.map +1 -1
- package/dist/block/definition.edit.js +0 -2
- package/dist/block/definition.render.d.ts.map +1 -1
- package/dist/block/definition.render.js +2 -0
- package/dist/block/floorplan.d.ts.map +1 -1
- package/dist/block/floorplan.js +1 -2
- package/dist/box-vent/definition.edit.d.ts.map +1 -1
- package/dist/box-vent/definition.edit.js +0 -2
- package/dist/box-vent/definition.render.d.ts.map +1 -1
- package/dist/box-vent/definition.render.js +2 -0
- package/dist/builtin-definitions.d.ts +57 -57
- package/dist/builtin-edit-contributions.d.ts +1 -1
- package/dist/cabinet/definition.edit.d.ts.map +1 -1
- package/dist/cabinet/definition.edit.js +0 -3
- package/dist/cabinet/definition.render.d.ts.map +1 -1
- package/dist/cabinet/definition.render.js +3 -0
- package/dist/cabinet/floorplan.js +1 -1
- package/dist/ceiling/definition.edit.d.ts.map +1 -1
- package/dist/ceiling/definition.edit.js +0 -2
- package/dist/ceiling/definition.render.d.ts.map +1 -1
- package/dist/ceiling/definition.render.js +2 -0
- package/dist/chimney/definition.edit.d.ts.map +1 -1
- package/dist/chimney/definition.edit.js +0 -2
- package/dist/chimney/definition.render.d.ts.map +1 -1
- package/dist/chimney/definition.render.js +2 -0
- package/dist/chimney/panel.js +1 -1
- package/dist/column/definition.edit.d.ts.map +1 -1
- package/dist/column/definition.edit.js +0 -3
- package/dist/column/definition.render.d.ts.map +1 -1
- package/dist/column/definition.render.js +3 -0
- package/dist/column/floorplan.d.ts.map +1 -1
- package/dist/column/floorplan.js +1 -2
- package/dist/construction-dimension/definition.edit.d.ts.map +1 -1
- package/dist/construction-dimension/definition.edit.js +0 -2
- package/dist/construction-dimension/definition.render.d.ts.map +1 -1
- package/dist/construction-dimension/definition.render.js +2 -0
- package/dist/construction-dimension/floorplan-tool.d.ts.map +1 -1
- package/dist/construction-dimension/floorplan-tool.js +2 -2
- package/dist/construction-dimension/floorplan.d.ts.map +1 -1
- package/dist/construction-dimension/floorplan.js +1 -2
- package/dist/cupola/definition.edit.d.ts.map +1 -1
- package/dist/cupola/definition.edit.js +0 -2
- package/dist/cupola/definition.render.d.ts.map +1 -1
- package/dist/cupola/definition.render.js +2 -0
- package/dist/definition-contributions.d.ts +1 -1
- package/dist/definition-contributions.d.ts.map +1 -1
- package/dist/door/definition.edit.d.ts.map +1 -1
- package/dist/door/definition.edit.js +1 -6
- package/dist/door/definition.render.d.ts.map +1 -1
- package/dist/door/definition.render.js +6 -0
- package/dist/door/floorplan.d.ts.map +1 -1
- package/dist/door/floorplan.js +1 -2
- package/dist/dormer/definition.edit.d.ts.map +1 -1
- package/dist/dormer/definition.edit.js +0 -2
- package/dist/dormer/definition.render.d.ts.map +1 -1
- package/dist/dormer/definition.render.js +2 -0
- package/dist/dormer/panel-position-section.js +1 -1
- package/dist/duct-fitting/definition.edit.d.ts.map +1 -1
- package/dist/duct-fitting/definition.edit.js +0 -2
- package/dist/duct-fitting/definition.render.d.ts.map +1 -1
- package/dist/duct-fitting/definition.render.js +2 -0
- package/dist/duct-segment/continuation-handle.d.ts +8 -0
- package/dist/duct-segment/continuation-handle.d.ts.map +1 -0
- package/dist/duct-segment/continuation-handle.js +36 -0
- package/dist/duct-segment/continuation.d.ts +1 -5
- package/dist/duct-segment/continuation.d.ts.map +1 -1
- package/dist/duct-segment/continuation.js +2 -36
- package/dist/duct-segment/definition.edit.d.ts.map +1 -1
- package/dist/duct-segment/definition.edit.js +0 -2
- package/dist/duct-segment/definition.render.d.ts.map +1 -1
- package/dist/duct-segment/definition.render.js +2 -0
- package/dist/duct-segment/floorplan.js +1 -1
- package/dist/duct-segment/selection.d.ts.map +1 -1
- package/dist/duct-segment/selection.js +2 -1
- package/dist/duct-segment/tool.d.ts.map +1 -1
- package/dist/duct-segment/tool.js +2 -1
- package/dist/duct-terminal/definition.edit.d.ts.map +1 -1
- package/dist/duct-terminal/definition.edit.js +0 -2
- package/dist/duct-terminal/definition.render.d.ts.map +1 -1
- package/dist/duct-terminal/definition.render.js +2 -0
- package/dist/elevator/definition.edit.d.ts.map +1 -1
- package/dist/elevator/definition.edit.js +0 -10
- package/dist/elevator/definition.render.d.ts.map +1 -1
- package/dist/elevator/definition.render.js +10 -0
- package/dist/eyebrow-vent/definition.edit.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.edit.js +0 -2
- package/dist/eyebrow-vent/definition.render.d.ts.map +1 -1
- package/dist/eyebrow-vent/definition.render.js +2 -0
- package/dist/fence/definition.edit.d.ts.map +1 -1
- package/dist/fence/definition.edit.js +0 -6
- package/dist/fence/definition.render.d.ts.map +1 -1
- package/dist/fence/definition.render.js +2 -0
- package/dist/fence-feature/definition.edit.d.ts.map +1 -1
- package/dist/fence-feature/definition.edit.js +0 -3
- package/dist/fence-feature/definition.render.d.ts.map +1 -1
- package/dist/fence-feature/definition.render.js +3 -0
- package/dist/floor-opening/definition.edit.d.ts.map +1 -1
- package/dist/floor-opening/definition.edit.js +1 -3
- package/dist/floor-opening/definition.render.d.ts.map +1 -1
- package/dist/floor-opening/definition.render.js +3 -0
- package/dist/floor-opening/floorplan-affordances.d.ts +150 -0
- package/dist/floor-opening/floorplan-affordances.d.ts.map +1 -0
- package/dist/floor-opening/floorplan-affordances.js +67 -0
- package/dist/floor-opening/floorplan.d.ts +2 -151
- package/dist/floor-opening/floorplan.d.ts.map +1 -1
- package/dist/floor-opening/floorplan.js +0 -66
- package/dist/gutter/definition.edit.d.ts.map +1 -1
- package/dist/gutter/definition.edit.js +0 -2
- package/dist/gutter/definition.render.d.ts.map +1 -1
- package/dist/gutter/definition.render.js +2 -0
- package/dist/hvac-equipment/definition.edit.d.ts.map +1 -1
- package/dist/hvac-equipment/definition.edit.js +0 -2
- package/dist/hvac-equipment/definition.render.d.ts.map +1 -1
- package/dist/hvac-equipment/definition.render.js +2 -0
- package/dist/imported-mesh/definition.edit.d.ts.map +1 -1
- package/dist/imported-mesh/definition.edit.js +0 -2
- package/dist/imported-mesh/definition.render.d.ts.map +1 -1
- package/dist/imported-mesh/definition.render.js +2 -0
- package/dist/item/definition.edit.d.ts.map +1 -1
- package/dist/item/definition.edit.js +1 -4
- package/dist/item/definition.render.d.ts.map +1 -1
- package/dist/item/definition.render.js +4 -0
- package/dist/item/floorplan.d.ts.map +1 -1
- package/dist/item/floorplan.js +1 -2
- package/dist/item/plan-symbols.js +1 -1
- package/dist/lean-to-extension/definition.edit.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.edit.js +0 -2
- package/dist/lean-to-extension/definition.render.d.ts.map +1 -1
- package/dist/lean-to-extension/definition.render.js +2 -0
- package/dist/lineset/definition.edit.d.ts.map +1 -1
- package/dist/lineset/definition.edit.js +0 -2
- package/dist/lineset/definition.render.d.ts.map +1 -1
- package/dist/lineset/definition.render.js +2 -0
- package/dist/liquid-line/definition.edit.d.ts.map +1 -1
- package/dist/liquid-line/definition.edit.js +0 -2
- package/dist/liquid-line/definition.render.d.ts.map +1 -1
- package/dist/liquid-line/definition.render.js +2 -0
- package/dist/measurement/definition.edit.d.ts.map +1 -1
- package/dist/measurement/definition.edit.js +0 -2
- package/dist/measurement/definition.render.d.ts.map +1 -1
- package/dist/measurement/definition.render.js +2 -0
- package/dist/measurement/floorplan.d.ts.map +1 -1
- package/dist/measurement/floorplan.js +2 -3
- package/dist/pipe-fitting/definition.edit.d.ts.map +1 -1
- package/dist/pipe-fitting/definition.edit.js +0 -2
- package/dist/pipe-fitting/definition.render.d.ts.map +1 -1
- package/dist/pipe-fitting/definition.render.js +2 -0
- package/dist/pipe-segment/continuation-handle.d.ts +9 -0
- package/dist/pipe-segment/continuation-handle.d.ts.map +1 -0
- package/dist/pipe-segment/continuation-handle.js +35 -0
- package/dist/pipe-segment/continuation.d.ts +1 -5
- package/dist/pipe-segment/continuation.d.ts.map +1 -1
- package/dist/pipe-segment/continuation.js +2 -35
- package/dist/pipe-segment/definition.edit.d.ts.map +1 -1
- package/dist/pipe-segment/definition.edit.js +0 -2
- package/dist/pipe-segment/definition.render.d.ts.map +1 -1
- package/dist/pipe-segment/definition.render.js +2 -0
- package/dist/pipe-segment/floorplan.js +1 -1
- package/dist/pipe-segment/selection.d.ts.map +1 -1
- package/dist/pipe-segment/selection.js +2 -1
- package/dist/pipe-segment/tool.d.ts.map +1 -1
- package/dist/pipe-segment/tool.js +2 -1
- package/dist/pipe-trap/definition.edit.d.ts.map +1 -1
- package/dist/pipe-trap/definition.edit.js +0 -2
- package/dist/pipe-trap/definition.render.d.ts.map +1 -1
- package/dist/pipe-trap/definition.render.js +2 -0
- package/dist/procedural-item/definition.edit.d.ts.map +1 -1
- package/dist/procedural-item/definition.edit.js +1 -54
- package/dist/procedural-item/definition.render.d.ts.map +1 -1
- package/dist/procedural-item/definition.render.js +55 -2
- package/dist/ridge-vent/definition.edit.d.ts.map +1 -1
- package/dist/ridge-vent/definition.edit.js +0 -2
- package/dist/ridge-vent/definition.render.d.ts.map +1 -1
- package/dist/ridge-vent/definition.render.js +2 -0
- package/dist/roof/definition.d.ts +1 -1
- package/dist/roof/definition.edit.d.ts.map +1 -1
- package/dist/roof/definition.edit.js +0 -2
- package/dist/roof/definition.render.d.ts.map +1 -1
- package/dist/roof/definition.render.js +16 -5
- package/dist/roof/floorplan.d.ts.map +1 -1
- package/dist/roof/floorplan.js +1 -2
- package/dist/roof/renderer.d.ts.map +1 -1
- package/dist/roof/renderer.js +10 -5
- package/dist/roof-segment/definition.edit.d.ts.map +1 -1
- package/dist/roof-segment/definition.edit.js +0 -2
- package/dist/roof-segment/definition.render.d.ts.map +1 -1
- package/dist/roof-segment/definition.render.js +2 -0
- package/dist/separator/definition.edit.d.ts.map +1 -1
- package/dist/separator/definition.edit.js +0 -2
- package/dist/separator/definition.render.d.ts.map +1 -1
- package/dist/separator/definition.render.js +2 -0
- package/dist/separator/floorplan.js +1 -1
- package/dist/shared/opening-documentation.d.ts +1 -1
- package/dist/shared/opening-documentation.d.ts.map +1 -1
- package/dist/shared/opening-documentation.js +1 -2
- package/dist/shared/opening-placement-dimensions.d.ts.map +1 -1
- package/dist/shared/opening-placement-dimensions.js +1 -2
- package/dist/shelf/definition.edit.d.ts.map +1 -1
- package/dist/shelf/definition.edit.js +0 -2
- package/dist/shelf/definition.render.d.ts.map +1 -1
- package/dist/shelf/definition.render.js +2 -0
- package/dist/skylight/definition.edit.d.ts.map +1 -1
- package/dist/skylight/definition.edit.js +0 -2
- package/dist/skylight/definition.render.d.ts.map +1 -1
- package/dist/skylight/definition.render.js +2 -0
- package/dist/skylight/panel.js +1 -1
- package/dist/slab/definition.edit.d.ts.map +1 -1
- package/dist/slab/definition.edit.js +0 -4
- package/dist/slab/definition.render.d.ts.map +1 -1
- package/dist/slab/definition.render.js +4 -0
- package/dist/slab/floorplan.d.ts.map +1 -1
- package/dist/slab/floorplan.js +1 -2
- package/dist/solar-panel/definition.edit.d.ts.map +1 -1
- package/dist/solar-panel/definition.edit.js +0 -2
- package/dist/solar-panel/definition.render.d.ts.map +1 -1
- package/dist/solar-panel/definition.render.js +2 -0
- package/dist/spawn/definition.edit.d.ts.map +1 -1
- package/dist/spawn/definition.edit.js +0 -9
- package/dist/spawn/definition.render.d.ts.map +1 -1
- package/dist/spawn/definition.render.js +2 -0
- package/dist/stair/definition.edit.d.ts.map +1 -1
- package/dist/stair/definition.edit.js +0 -13
- package/dist/stair/definition.render.d.ts.map +1 -1
- package/dist/stair/definition.render.js +10 -0
- package/dist/stair/documentation.d.ts.map +1 -1
- package/dist/stair/documentation.js +1 -2
- package/dist/stair/floorplan.d.ts.map +1 -1
- package/dist/stair/floorplan.js +1 -2
- package/dist/stair/plan-entry.d.ts.map +1 -1
- package/dist/stair/plan-entry.js +1 -2
- package/dist/structural-grid/definition.edit.d.ts.map +1 -1
- package/dist/structural-grid/definition.edit.js +0 -2
- package/dist/structural-grid/definition.render.d.ts.map +1 -1
- package/dist/structural-grid/definition.render.js +2 -0
- package/dist/structural-grid/floorplan.js +1 -1
- package/dist/turbine-vent/definition.edit.d.ts.map +1 -1
- package/dist/turbine-vent/definition.edit.js +0 -2
- package/dist/turbine-vent/definition.render.d.ts.map +1 -1
- package/dist/turbine-vent/definition.render.js +2 -0
- package/dist/wall/contextual-dimensions.d.ts.map +1 -1
- package/dist/wall/contextual-dimensions.js +1 -2
- package/dist/wall/definition.edit.d.ts.map +1 -1
- package/dist/wall/definition.edit.js +0 -5
- package/dist/wall/definition.render.d.ts.map +1 -1
- package/dist/wall/definition.render.js +5 -0
- package/dist/wall/floorplan.d.ts.map +1 -1
- package/dist/wall/floorplan.js +1 -2
- package/dist/window/definition.edit.d.ts.map +1 -1
- package/dist/window/definition.edit.js +1 -6
- package/dist/window/definition.render.d.ts.map +1 -1
- package/dist/window/definition.render.js +6 -0
- package/dist/window/floorplan.d.ts.map +1 -1
- package/dist/window/floorplan.js +1 -2
- package/dist/zone/definition.edit.d.ts.map +1 -1
- package/dist/zone/definition.edit.js +0 -2
- package/dist/zone/definition.render.d.ts.map +1 -1
- package/dist/zone/definition.render.js +2 -0
- package/dist/zone/floorplan.d.ts.map +1 -1
- package/dist/zone/floorplan.js +1 -2
- package/dist/zone/room-clear-dimensions.d.ts.map +1 -1
- package/dist/zone/room-clear-dimensions.js +1 -2
- package/dist/zone/room-documentation.d.ts +1 -2
- package/dist/zone/room-documentation.d.ts.map +1 -1
- package/dist/zone/room-documentation.js +1 -1
- package/package.json +8 -8
|
@@ -5405,7 +5405,7 @@ export declare const builtinEditContributions: {
|
|
|
5405
5405
|
cavityInsulation: import("zod").ZodOptional<import("zod").ZodString>;
|
|
5406
5406
|
}, import("zod/v4/core").$strip>>;
|
|
5407
5407
|
slots: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>>;
|
|
5408
|
-
children: import("zod").ZodDefault<import("zod").ZodArray<import("zod").
|
|
5408
|
+
children: import("zod").ZodDefault<import("zod").ZodArray<import("zod").ZodString>>;
|
|
5409
5409
|
}, import("zod/v4/core").$strip>>;
|
|
5410
5410
|
'roof-segment': import("./definition-contributions.js").NodeEditContribution<import("zod").ZodObject<{
|
|
5411
5411
|
object: import("zod").ZodDefault<import("zod").ZodLiteral<"node">>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/cabinet/definition.edit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/cabinet/definition.edit.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAqDvE,OAAO,KAAK,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA4mD9D,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,WAAW,CAuC5E,CAAA;AAED,eAAO,MAAM,6BAA6B,EAAE,oBAAoB,CAAC,OAAO,iBAAiB,CAyBxF,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { cabinetDuplicateWorldPose, cabinetLocalBounds, composeCabinetDuplicatePose, isCabinetModule, isCabinetRun, } from './definition.render.js';
|
|
2
|
-
import { buildCabinetFloorplan, buildCabinetModuleFloorplan } from './floorplan.js';
|
|
3
2
|
import { cabinetModuleFloorplanMoveTarget } from './floorplan-move.js';
|
|
4
3
|
import { cabinetFloorplanSiblingOverrides } from './floorplan-overrides.js';
|
|
5
4
|
import { withCabinetHostedChildren } from './hosted-resize.js';
|
|
@@ -1315,7 +1314,6 @@ export const cabinetEditContribution = {
|
|
|
1315
1314
|
parametrics: cabinetParametrics,
|
|
1316
1315
|
handles: (node, sceneApi) => cabinetHandles(node, sceneApi).map(withCabinetHostedChildren),
|
|
1317
1316
|
placementNotice: cabinetPlacementNotice,
|
|
1318
|
-
floorplan: buildCabinetFloorplan,
|
|
1319
1317
|
floorplanSiblingOverrides: cabinetFloorplanSiblingOverrides,
|
|
1320
1318
|
floorplanAffectedIds: cabinetFloorplanAffectedIds,
|
|
1321
1319
|
quickActionNodeScope: 'level',
|
|
@@ -1356,7 +1354,6 @@ export const cabinetModuleEditContribution = {
|
|
|
1356
1354
|
parametrics: cabinetModuleParametrics,
|
|
1357
1355
|
handles: () => cabinetModuleHandles().map(withCabinetHostedChildren),
|
|
1358
1356
|
placementNotice: cabinetPlacementNotice,
|
|
1359
|
-
floorplan: buildCabinetModuleFloorplan,
|
|
1360
1357
|
floorplanSiblingOverrides: cabinetFloorplanSiblingOverrides,
|
|
1361
1358
|
floorplanAffectedIds: cabinetFloorplanAffectedIds,
|
|
1362
1359
|
// 2D ↔ 3D parity: module position is run-local, so the generic overlay's
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/cabinet/definition.render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,OAAO,EACP,SAAS,EACT,iBAAiB,IAAI,qBAAqB,EAC1C,WAAW,IAAI,eAAe,EAG9B,oBAAoB,EAIpB,QAAQ,EACT,MAAM,kBAAkB,CAAA;AAQzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/cabinet/definition.render.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,7 @@ import { CABINET_METRIC_DEFAULTS, cabinetSlots, findLevelAncestorId, selectionPr
|
|
|
2
2
|
import { findWallOpeningConflicts } from '../shared/wall-opening-clearance.js';
|
|
3
3
|
import { bakeCabinetAnimationClip } from './animation.js';
|
|
4
4
|
import { cabinetBatchable } from './batchable.js';
|
|
5
|
+
import { buildCabinetFloorplan, buildCabinetModuleFloorplan } from './floorplan.js';
|
|
5
6
|
import { buildCabinetGeometry } from './geometry.js';
|
|
6
7
|
import { cabinetModuleParentFrame } from './move-frame.js';
|
|
7
8
|
import { resolveCabinetGridPosition } from './placement-snap.js';
|
|
@@ -600,6 +601,7 @@ export const cabinetRenderDefinition = {
|
|
|
600
601
|
hidden: cabinetTreeHidden,
|
|
601
602
|
childIds: cabinetTreeChildIds,
|
|
602
603
|
},
|
|
604
|
+
floorplan: buildCabinetFloorplan,
|
|
603
605
|
presentation: {
|
|
604
606
|
label: 'Modular Cabinet',
|
|
605
607
|
description: 'A configurable parametric base cabinet.',
|
|
@@ -738,6 +740,7 @@ export const cabinetModuleRenderDefinition = {
|
|
|
738
740
|
selectionProxy: {
|
|
739
741
|
bypassDirectPick: (node, proxyTarget) => node.type === 'cabinet-module' && proxyTarget.type === 'cabinet',
|
|
740
742
|
},
|
|
743
|
+
floorplan: buildCabinetModuleFloorplan,
|
|
741
744
|
presentation: {
|
|
742
745
|
label: 'Cabinet Module',
|
|
743
746
|
description: 'An editable module inside a modular cabinet run.',
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { floorplanGeometryMetadata, readFloorplanContext } from '@pascal-app/
|
|
1
|
+
import { floorplanGeometryMetadata, readFloorplanContext } from '@pascal-app/core';
|
|
2
2
|
import { GAS_HOB_BURNER_RADIUS, gasHobBurners, inductionZones } from './geometry/cooktop.js';
|
|
3
3
|
import { FAUCET_SETBACK, sinkBowls } from './geometry/sink.js';
|
|
4
4
|
import { getRunSpanEnds, getRunSpans } from './run-layout.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.edit.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.edit.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAavE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA+E3C,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,WAAW,CA+C5E,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { resolveCeilingHeight, useScene, } from '@pascal-app/core';
|
|
2
2
|
import { clearStructuralElevationGuide, DRAFTING_SURFACE_EXTENSION_KEY, PANEL_MODEL_EXTENSION, publishStructuralElevationGuide, resolveStructuralElevationSnap, } from '@pascal-app/editor';
|
|
3
3
|
import { sameOutlineSurfaceCounterparts } from '../shared/surface-counterparts.js';
|
|
4
|
-
import { buildCeilingFloorplan } from './floorplan.js';
|
|
5
4
|
import { ceilingAddVertexAffordance, ceilingDeleteVertexAffordance, ceilingMoveEdgeAffordance, ceilingMoveVertexAffordance, } from './floorplan-affordances.js';
|
|
6
5
|
import { ceilingFloorplanMoveTarget } from './floorplan-move.js';
|
|
7
6
|
import { CEILING_HANDLE_MIN_HEIGHT, ceilingHeightRange } from './height-bounds.js';
|
|
@@ -102,7 +101,6 @@ export const ceilingEditContribution = {
|
|
|
102
101
|
'hole-edit': () => import('./hole-editor.js'),
|
|
103
102
|
move: () => import('./move-tool.js'),
|
|
104
103
|
},
|
|
105
|
-
floorplan: buildCeilingFloorplan,
|
|
106
104
|
floorplanDependsOnSiblings: true,
|
|
107
105
|
// 2D move handler — translates polygon by cursor delta from first
|
|
108
106
|
// pointer position. Mirror of slab; 3D `MoveCeilingTool` skips
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/ceiling/definition.render.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAIvE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAEtC,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,WAAW,CAAC,GAAG;IAC/E,IAAI,EAAE,SAAS,CAAA;CAqEhB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { ceilingSlots, resolveCeilingHeight, useScene, } from '@pascal-app/core';
|
|
2
2
|
import { surfaceBatchable } from '../shared/node-batch/batchable.js';
|
|
3
3
|
import { polygonMeasurementFeatures } from '../shared/polygon-measurement.js';
|
|
4
|
+
import { buildCeilingFloorplan } from './floorplan.js';
|
|
4
5
|
import { CeilingNode } from './schema.js';
|
|
5
6
|
export const ceilingRenderDefinition = {
|
|
6
7
|
kind: 'ceiling',
|
|
@@ -58,6 +59,7 @@ export const ceilingRenderDefinition = {
|
|
|
58
59
|
module: () => import('./system.js'),
|
|
59
60
|
priority: 4,
|
|
60
61
|
},
|
|
62
|
+
floorplan: buildCeilingFloorplan,
|
|
61
63
|
presentation: {
|
|
62
64
|
label: 'Ceiling',
|
|
63
65
|
description: 'A polygon-bounded ceiling surface that hosts ceiling-mounted items.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/chimney/definition.edit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/chimney/definition.edit.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AA+M3C,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,WAAW,CAsB5E,CAAA"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { getActiveRoofHeight, } from '@pascal-app/core';
|
|
2
|
-
import { buildChimneyFloorplan } from './floorplan.js';
|
|
3
2
|
import { chimneyPaint } from './paint.js';
|
|
4
3
|
import { chimneyParametrics } from './parametrics.js';
|
|
5
4
|
// Side handle offsets in metres. Match the roof-segment values so a
|
|
@@ -209,7 +208,6 @@ export const chimneyEditContribution = {
|
|
|
209
208
|
},
|
|
210
209
|
parametrics: chimneyParametrics,
|
|
211
210
|
handles: chimneyHandles,
|
|
212
|
-
floorplan: buildChimneyFloorplan,
|
|
213
211
|
preview: () => import('./preview.js'),
|
|
214
212
|
tool: () => import('./tool.js'),
|
|
215
213
|
toolHints: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/chimney/definition.render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/chimney/definition.render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AAgBtC,eAAO,MAAM,uBAAuB,EAAE,oBAAoB,CAAC,OAAO,WAAW,CAAC,GAAG;IAC/E,IAAI,EAAE,SAAS,CAAA;CA8ChB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ChimneyNode as ChimneyNodeSchema } from '@pascal-app/core';
|
|
2
|
+
import { buildChimneyFloorplan } from './floorplan.js';
|
|
2
3
|
import { ChimneyNode } from './schema.js';
|
|
3
4
|
// Every fresh chimney starts as plain white (body + top). The paint
|
|
4
5
|
// flow / material picker writes preset refs or full `MaterialSchema`
|
|
@@ -46,6 +47,7 @@ export const chimneyRenderDefinition = {
|
|
|
46
47
|
kind: 'parametric',
|
|
47
48
|
module: () => import('./renderer.js'),
|
|
48
49
|
},
|
|
50
|
+
floorplan: buildChimneyFloorplan,
|
|
49
51
|
presentation: {
|
|
50
52
|
label: 'Chimney',
|
|
51
53
|
description: 'Vertical masonry stack on a roof segment.',
|
package/dist/chimney/panel.js
CHANGED
|
@@ -198,7 +198,7 @@ export default function ChimneyPanel() {
|
|
|
198
198
|
let hi_z = Number.NEGATIVE_INFINITY;
|
|
199
199
|
for (const childId of roof.children ?? []) {
|
|
200
200
|
const seg = scenestate.nodes[childId];
|
|
201
|
-
if (
|
|
201
|
+
if (seg?.type !== 'roof-segment')
|
|
202
202
|
continue;
|
|
203
203
|
const segObj = sceneRegistry.nodes.get(seg.id);
|
|
204
204
|
if (!segObj)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/column/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/column/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAWvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AA4S1C,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAoC1E,CAAA"}
|
|
@@ -2,7 +2,6 @@ import { withHostedChildren } from '../shared/hosted-resize.js';
|
|
|
2
2
|
import { rebuildScriptedSize } from '../shared/scripted-opening-handles.js';
|
|
3
3
|
import { columnFootprintHalf } from './bounds.js';
|
|
4
4
|
import { columnEditPatch, isManagedColumn } from './edit-policy.js';
|
|
5
|
-
import { buildColumnFloorplan, computeColumnFloorplanLevelData } from './floorplan.js';
|
|
6
5
|
import { columnResizeAffordance, columnRotateAffordance } from './floorplan-affordances.js';
|
|
7
6
|
import { columnFloorplanMoveTarget } from './floorplan-move.js';
|
|
8
7
|
import { columnHostedPolicy } from './hosted-resize.js';
|
|
@@ -302,9 +301,7 @@ export const columnEditContribution = {
|
|
|
302
301
|
{ key: 'Left click', label: 'Place column' },
|
|
303
302
|
{ key: 'Esc', label: 'Cancel' },
|
|
304
303
|
],
|
|
305
|
-
computeFloorplanLevelData: computeColumnFloorplanLevelData,
|
|
306
304
|
floorplanDependsOnSiblings: true,
|
|
307
|
-
floorplan: buildColumnFloorplan,
|
|
308
305
|
// 2D body move routes through this kind-specific target so the column
|
|
309
306
|
// aligns by its footprint *edges* (and snaps flush to wall faces) instead
|
|
310
307
|
// of the overlay's generic free-translate path, which aligned by bbox
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/column/definition.render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/column/definition.render.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AASvE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAerC,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAyE5F,CAAA"}
|
|
@@ -3,6 +3,7 @@ import { columnBatchable } from '../shared/node-batch/batchable.js';
|
|
|
3
3
|
import { collectStructuralGridAxes, resolveStructuralGridSnap, } from '../structural-grid/coordination.js';
|
|
4
4
|
import { columnFootprintHalf } from './bounds.js';
|
|
5
5
|
import { isManagedColumn } from './edit-policy.js';
|
|
6
|
+
import { buildColumnFloorplan, computeColumnFloorplanLevelData } from './floorplan.js';
|
|
6
7
|
import { ColumnNode } from './schema.js';
|
|
7
8
|
import { columnSurfaceProvider } from './surface.js';
|
|
8
9
|
function resolveColumnStructuralGridMoveSnap({ candidatePosition, nodes, levelId, }) {
|
|
@@ -68,6 +69,8 @@ export const columnRenderDefinition = {
|
|
|
68
69
|
kind: 'parametric',
|
|
69
70
|
module: () => import('./renderer.js'),
|
|
70
71
|
},
|
|
72
|
+
computeFloorplanLevelData: computeColumnFloorplanLevelData,
|
|
73
|
+
floorplan: buildColumnFloorplan,
|
|
71
74
|
presentation: {
|
|
72
75
|
label: 'Column',
|
|
73
76
|
description: 'A parametric column with configurable cross-section, base, and capital.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/column/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,
|
|
1
|
+
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/column/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,OAAO,EACZ,KAAK,UAAU,EACf,KAAK,iBAAiB,EACtB,KAAK,cAAc,EAEnB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAA;AAuBzB,MAAM,MAAM,wBAAwB,GAAG;IACrC,eAAe,EAAE,kBAAkB,EAAE,CAAA;CACtC,CAAA;AAED,wBAAgB,+BAA+B,CAAC,EAC9C,QAAQ,EACR,KAAK,GACN,EAAE;IACD,QAAQ,EAAE,SAAS,UAAU,EAAE,CAAA;IAC/B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAC/B,GAAG,wBAAwB,CAI3B;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,UAAU,EAChB,GAAG,EAAE,eAAe,GACnB,iBAAiB,GAAG,IAAI,CAoP1B;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,UAAU,GAAG,cAAc,EAAE,CAiB9E"}
|
package/dist/column/floorplan.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { scriptImages, } from '@pascal-app/core';
|
|
2
|
-
import { floorplanGeometryMetadata } from '@pascal-app/editor';
|
|
1
|
+
import { floorplanGeometryMetadata, scriptImages, } from '@pascal-app/core';
|
|
3
2
|
import { collectStructuralGridAxes, resolveStructuralGridReference, } from '../structural-grid/coordination.js';
|
|
4
3
|
import { columnFootprintHalf } from './bounds.js';
|
|
5
4
|
import { isManagedColumn } from './edit-policy.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/definition.edit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/definition.edit.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAOvE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEzD,eAAO,MAAM,qCAAqC,EAAE,oBAAoB,CACtE,OAAO,yBAAyB,CA0BjC,CAAA"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { measurementAnchorReferenceNodeIds } from '@pascal-app/core';
|
|
2
2
|
import { resolveConstructionDimensionForDrawing } from './drawing-coordination.js';
|
|
3
|
-
import { buildConstructionDimensionFloorplan } from './floorplan.js';
|
|
4
3
|
import { moveConstructionDimensionBaselineAffordance, moveConstructionDimensionWitnessAffordance, } from './floorplan-affordances.js';
|
|
5
4
|
import { constructionDimensionParametrics } from './parametrics.js';
|
|
6
5
|
export const constructionDimensionEditContribution = {
|
|
@@ -13,7 +12,6 @@ export const constructionDimensionEditContribution = {
|
|
|
13
12
|
},
|
|
14
13
|
snapProfile: 'item',
|
|
15
14
|
parametrics: constructionDimensionParametrics,
|
|
16
|
-
floorplan: buildConstructionDimensionFloorplan,
|
|
17
15
|
floorplanDependencies: (node) => [
|
|
18
16
|
...measurementAnchorReferenceNodeIds(node.anchors),
|
|
19
17
|
...(node.controllingDimensionId ? [node.controllingDimensionId] : []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/definition.render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/definition.render.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAA;AAEpD,eAAO,MAAM,qCAAqC,EAAE,oBAAoB,CACtE,OAAO,yBAAyB,CACjC,GAAG;IAAE,IAAI,EAAE,wBAAwB,CAAA;CAqDnC,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { buildConstructionDimensionFloorplan } from './floorplan.js';
|
|
1
2
|
import { ConstructionDimensionNode } from './schema.js';
|
|
2
3
|
export const constructionDimensionRenderDefinition = {
|
|
3
4
|
kind: 'construction-dimension',
|
|
@@ -40,6 +41,7 @@ export const constructionDimensionRenderDefinition = {
|
|
|
40
41
|
presettable: false,
|
|
41
42
|
},
|
|
42
43
|
dirtyTracking: false,
|
|
44
|
+
floorplan: buildConstructionDimensionFloorplan,
|
|
43
45
|
presentation: {
|
|
44
46
|
label: 'Construction Dimension',
|
|
45
47
|
description: 'Associative linear, curved, circular, angular, or coordinate plan dimension.',
|
|
@@ -1 +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,
|
|
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,EAEd,KAAK,8BAA8B,EACnC,KAAK,yBAAyB,EAI9B,KAAK,iBAAiB,EAMtB,KAAK,iBAAiB,EAEtB,KAAK,gBAAgB,EAErB,KAAK,QAAQ,EACd,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAGL,KAAK,oBAAoB,EAS1B,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;eAEc,uCAAuC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use client';
|
|
2
2
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
-
import { ConstructionDimensionNode, closestMeasurementFeatureBinding, constructionDimensionRequiredAnchorCount, formatLinearMeasurement, getWallArcData, getWallCurveFrameAt, nodeRegistry, } from '@pascal-app/core';
|
|
4
|
-
import {
|
|
3
|
+
import { buildSvgArcPath, ConstructionDimensionNode, closestMeasurementFeatureBinding, constructionDimensionRequiredAnchorCount, formatLinearMeasurement, getArcPlanPoint, getWallArcData, getWallCurveFrameAt, nodeRegistry, } from '@pascal-app/core';
|
|
4
|
+
import { clearSurfacePlanSnapFeedback, FloorplanGeometryRenderer, isGridSnapActive, isMagneticSnapActive, markToolCancelConsumed, resolveSurfacePlanPointSnap, triggerSFX, useDrawingView, useFloorplanRender, useInteractionScope, } from '@pascal-app/editor';
|
|
5
5
|
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
|
|
6
6
|
import { alignConstructionDimensionDirectionToSharedWall, resolveCircularConstructionDimensionLayout, } from './geometry.js';
|
|
7
7
|
const SEMANTIC_SNAP_DISTANCE = 0.2;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,yBAAyB,EACzB,iBAAiB,EAGjB,eAAe,EAIhB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/construction-dimension/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,yBAAyB,EACzB,iBAAiB,EAGjB,eAAe,EAIhB,MAAM,kBAAkB,CAAA;AA2BzB,wBAAgB,mCAAmC,CACjD,IAAI,EAAE,yBAAyB,EAC/B,GAAG,EAAE,eAAe,GACnB,iBAAiB,GAAG,IAAI,CAiF1B"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { constructionDimensionRequiredAnchorCount, getWallArcData, getWallCurveFrameAt, getWallLocalFaceZ, } from '@pascal-app/core';
|
|
2
|
-
import { readFloorplanContext, readFloorplanMetricNotationOverride, withFloorplanGeometryMetadata, } from '@pascal-app/editor';
|
|
1
|
+
import { constructionDimensionRequiredAnchorCount, getWallArcData, getWallCurveFrameAt, getWallLocalFaceZ, readFloorplanContext, readFloorplanMetricNotationOverride, withFloorplanGeometryMetadata, } from '@pascal-app/core';
|
|
3
2
|
import { resolveMeasurementAnchor } from '../measurement/resolve.js';
|
|
4
3
|
import { formatConstructionLength, } from '../shared/construction-length.js';
|
|
5
4
|
import { buildDimensionStringGeometry } from '../shared/dimension-string.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/cupola/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/cupola/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAgG1C,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAgB1E,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { buildCupolaFloorplan } from './floorplan.js';
|
|
2
1
|
import { cupolaPaint } from './paint.js';
|
|
3
2
|
import { cupolaParametrics } from './parametrics.js';
|
|
4
3
|
const SIDE_HANDLE_OFFSET = 0.3;
|
|
@@ -90,7 +89,6 @@ export const cupolaEditContribution = {
|
|
|
90
89
|
},
|
|
91
90
|
parametrics: cupolaParametrics,
|
|
92
91
|
handles: cupolaHandles,
|
|
93
|
-
floorplan: buildCupolaFloorplan,
|
|
94
92
|
preview: () => import('./preview.js'),
|
|
95
93
|
tool: () => import('./tool.js'),
|
|
96
94
|
affordanceTools: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/cupola/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/cupola/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAEvE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CA2C5F,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { CUPOLA_LOUVERS_DEFAULT, CupolaNode as CupolaNodeSchema, cupolaSlots, } from '@pascal-app/core';
|
|
2
|
+
import { buildCupolaFloorplan } from './floorplan.js';
|
|
2
3
|
import { CupolaNode } from './schema.js';
|
|
3
4
|
export const cupolaRenderDefinition = {
|
|
4
5
|
kind: 'cupola',
|
|
@@ -30,6 +31,7 @@ export const cupolaRenderDefinition = {
|
|
|
30
31
|
kind: 'parametric',
|
|
31
32
|
module: () => import('./renderer.js'),
|
|
32
33
|
},
|
|
34
|
+
floorplan: buildCupolaFloorplan,
|
|
33
35
|
presentation: {
|
|
34
36
|
label: 'Cupola',
|
|
35
37
|
description: 'Louvered roof lantern with a dome or pyramid cap and optional finial.',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { AnyNodeDefinition, NodeDefinition } from '@pascal-app/core';
|
|
2
2
|
type NodeSchema = AnyNodeDefinition['schema'];
|
|
3
|
-
type EditField = 'extensions' | 'facingIndicator' | 'drafting' | 'connectedMove' | 'parametrics' | 'placementNotice' | 'quickActions' | 'quickActionNodeScope' | 'tool' | 'affordanceTools' | 'affordances' | 'toolHints' | 'affordanceHints' | 'toolOptions' | 'snapProfile' | 'snapDraftDirectional' | 'preview' | 'keyboardActions' | 'handles' | '
|
|
3
|
+
type EditField = 'extensions' | 'facingIndicator' | 'drafting' | 'connectedMove' | 'parametrics' | 'placementNotice' | 'quickActions' | 'quickActionNodeScope' | 'tool' | 'affordanceTools' | 'affordances' | 'toolHints' | 'affordanceHints' | 'toolOptions' | 'snapProfile' | 'snapDraftDirectional' | 'preview' | 'keyboardActions' | 'handles' | 'floorplanDependencies' | 'floorplanDependsOnSiblings' | 'floorplanAffectedIds' | 'floorplanSiblingOverrides' | 'floorplanAffordances' | 'floorplanMoveTarget';
|
|
4
4
|
type Capabilities<S extends NodeSchema> = NonNullable<NodeDefinition<S>['capabilities']>;
|
|
5
5
|
export type NodeRenderDefinition<S extends NodeSchema> = Omit<NodeDefinition<S>, EditField | 'capabilities'> & {
|
|
6
6
|
capabilities: Omit<Capabilities<S>, 'paint'>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition-contributions.d.ts","sourceRoot":"","sources":["../src/definition-contributions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEzE,KAAK,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAE7C,KAAK,SAAS,GACV,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,sBAAsB,GACtB,MAAM,GACN,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,sBAAsB,GACtB,SAAS,GACT,iBAAiB,GACjB,SAAS,GACT,
|
|
1
|
+
{"version":3,"file":"definition-contributions.d.ts","sourceRoot":"","sources":["../src/definition-contributions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAEzE,KAAK,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAA;AAE7C,KAAK,SAAS,GACV,YAAY,GACZ,iBAAiB,GACjB,UAAU,GACV,eAAe,GACf,aAAa,GACb,iBAAiB,GACjB,cAAc,GACd,sBAAsB,GACtB,MAAM,GACN,iBAAiB,GACjB,aAAa,GACb,WAAW,GACX,iBAAiB,GACjB,aAAa,GACb,aAAa,GACb,sBAAsB,GACtB,SAAS,GACT,iBAAiB,GACjB,SAAS,GACT,uBAAuB,GACvB,4BAA4B,GAC5B,sBAAsB,GACtB,2BAA2B,GAC3B,sBAAsB,GACtB,qBAAqB,CAAA;AAEzB,KAAK,YAAY,CAAC,CAAC,SAAS,UAAU,IAAI,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;AAExF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI,IAAI,CAC3D,cAAc,CAAC,CAAC,CAAC,EACjB,SAAS,GAAG,cAAc,CAC3B,GAAG;IAAE,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;CAAE,CAAA;AAGpD,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,UAAU,IAAI,OAAO,CAC9D,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,GAAG,UAAU,CAAC,CAChD,GAAG;IAAE,YAAY,CAAC,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,OAAO,GAAG,YAAY,CAAC,CAAA;CAAE,CAAA;AAEpE,yFAAyF;AACzF,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,UAAU,EACxD,MAAM,EAAE,oBAAoB,CAAC,CAAC,CAAC,EAC/B,IAAI,EAAE,oBAAoB,CAAC,CAAC,CAAC,GAC5B,cAAc,CAAC,CAAC,CAAC,CAMnB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/door/definition.edit.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/door/definition.edit.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAiBvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAiMxC,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,OAAO,QAAQ,CAuDtE,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { getDoorOpeningSize } from '@pascal-app/core';
|
|
2
2
|
import { curtainOpeningResizeMax } from '../shared/curtain-opening-limits.js';
|
|
3
|
-
import { buildDoorFloorplanSchedule
|
|
3
|
+
import { buildDoorFloorplanSchedule } from '../shared/opening-documentation.js';
|
|
4
4
|
import { publishOpeningResizeGuides } from '../shared/opening-guides-runtime.js';
|
|
5
5
|
import { createOpeningPropertyPreview } from '../shared/opening-property-preview.js';
|
|
6
6
|
import { openingPropertyPreviewHost } from '../shared/opening-property-preview-host.js';
|
|
@@ -10,7 +10,6 @@ import { readHostWallCeiling, readHostWallCeilingMaxWidth } from '../shared/wall
|
|
|
10
10
|
import { wallFloorplanSiblingOverrides } from '../wall/floorplan-overrides.js';
|
|
11
11
|
import { buildDoorContextualDimensions } from './contextual-dimensions.js';
|
|
12
12
|
import { scaleHandleHeight } from './door-math.js';
|
|
13
|
-
import { buildDoorFloorplan } from './floorplan.js';
|
|
14
13
|
import { doorWidthAffordance } from './floorplan-affordances.js';
|
|
15
14
|
import { doorFloorplanMoveTarget } from './floorplan-move.js';
|
|
16
15
|
import { doorPaint } from './paint.js';
|
|
@@ -204,10 +203,6 @@ export const doorEditContribution = {
|
|
|
204
203
|
? [doorMoveHandle(), ...scriptedOpeningHandles(node, doorWidthHandle, doorHeightHandle)]
|
|
205
204
|
: doorHandles,
|
|
206
205
|
preview: () => import('./preview.js'),
|
|
207
|
-
// Stage C: floor-plan polygon. Needs ctx.parent (the wall) to compute
|
|
208
|
-
// direction + perpendicular for the cutout footprint.
|
|
209
|
-
floorplan: buildDoorFloorplan,
|
|
210
|
-
computeFloorplanLevelData: computeDoorFloorplanLevelData,
|
|
211
206
|
floorplanDependsOnSiblings: true,
|
|
212
207
|
// Opening symbols position from `ctx.parent` (the host wall); merge the
|
|
213
208
|
// walls' live drag overrides so the symbol tracks a wall / group drag in
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/door/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/door/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAOvE,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAA;AAEnC,eAAO,MAAM,oBAAoB,EAAE,oBAAoB,CAAC,OAAO,QAAQ,CAAC,GAAG;IAAE,IAAI,EAAE,MAAM,CAAA;CAqFxF,CAAA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { doorSlots } from '@pascal-app/core';
|
|
2
2
|
import { NEW_DOOR_FRAME_THICKNESS } from '@pascal-app/core/building';
|
|
3
3
|
import { doorBatchable } from '../shared/node-batch/batchable.js';
|
|
4
|
+
import { computeDoorFloorplanLevelData } from '../shared/opening-documentation.js';
|
|
4
5
|
import { buildRoofWallOpeningCut } from '../shared/roof-wall-opening-cut.js';
|
|
5
6
|
import { openingSeenFromOutside } from '../wall/exterior.js';
|
|
7
|
+
import { buildDoorFloorplan } from './floorplan.js';
|
|
6
8
|
import { doorMechanism } from './mechanism.js';
|
|
7
9
|
import { DoorNode } from './schema.js';
|
|
8
10
|
export const doorRenderDefinition = {
|
|
@@ -75,6 +77,10 @@ export const doorRenderDefinition = {
|
|
|
75
77
|
// before wall mitering at 4).
|
|
76
78
|
priority: 3,
|
|
77
79
|
},
|
|
80
|
+
// Stage C: floor-plan polygon. Needs ctx.parent (the wall) to compute
|
|
81
|
+
// direction + perpendicular for the cutout footprint.
|
|
82
|
+
floorplan: buildDoorFloorplan,
|
|
83
|
+
computeFloorplanLevelData: computeDoorFloorplanLevelData,
|
|
78
84
|
presentation: {
|
|
79
85
|
label: 'Door',
|
|
80
86
|
description: 'A door cut into a wall. Animated open/close state.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/door/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"floorplan.d.ts","sourceRoot":"","sources":["../../src/door/floorplan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,iBAAiB,EAEjB,eAAe,EAEhB,MAAM,kBAAkB,CAAA;AAiBzB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,eAAe,GAAG,iBAAiB,GAAG,IAAI,CA+1BjG"}
|
package/dist/door/floorplan.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { getDoorOpeningSize, getWallBodyCenterOffset, openingHostFacing } from '@pascal-app/core';
|
|
2
|
-
import { readFloorplanContext, readFloorplanGeometryMetadata, withFloorplanGeometryMetadata, } from '@pascal-app/editor';
|
|
1
|
+
import { getDoorOpeningSize, getWallBodyCenterOffset, openingHostFacing, readFloorplanContext, readFloorplanGeometryMetadata, withFloorplanGeometryMetadata, } from '@pascal-app/core';
|
|
3
2
|
import { buildOpeningCasingPlan } from '../shared/opening-casing.js';
|
|
4
3
|
import { buildOpeningMarkAnnotation, } from '../shared/opening-documentation.js';
|
|
5
4
|
import { buildOpeningPlacementDimensions } from '../shared/opening-placement-dimensions.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/dormer/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/dormer/definition.edit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAuM1C,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAwB1E,CAAA"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { buildDormerFloorplan } from './floorplan.js';
|
|
2
1
|
import { dormerPaint } from './paint.js';
|
|
3
2
|
import { dormerParametrics } from './parametrics.js';
|
|
4
3
|
const SIDE_HANDLE_OFFSET = 0.25;
|
|
@@ -203,7 +202,6 @@ export const dormerEditContribution = {
|
|
|
203
202
|
},
|
|
204
203
|
parametrics: dormerParametrics,
|
|
205
204
|
handles: dormerHandles,
|
|
206
|
-
floorplan: buildDormerFloorplan,
|
|
207
205
|
preview: () => import('./preview.js'),
|
|
208
206
|
tool: () => import('./tool.js'),
|
|
209
207
|
toolHints: [
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/dormer/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/dormer/definition.render.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAGvE,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAA;AAErC,eAAO,MAAM,sBAAsB,EAAE,oBAAoB,CAAC,OAAO,UAAU,CAAC,GAAG;IAAE,IAAI,EAAE,QAAQ,CAAA;CAmD5F,CAAA"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { DormerNode as DormerNodeSchema, } from '@pascal-app/core';
|
|
2
2
|
import { buildDormerRoofCut } from './csg-geometry.js';
|
|
3
|
+
import { buildDormerFloorplan } from './floorplan.js';
|
|
3
4
|
import { DormerNode } from './schema.js';
|
|
4
5
|
export const dormerRenderDefinition = {
|
|
5
6
|
kind: 'dormer',
|
|
@@ -39,6 +40,7 @@ export const dormerRenderDefinition = {
|
|
|
39
40
|
kind: 'parametric',
|
|
40
41
|
module: () => import('./renderer.js'),
|
|
41
42
|
},
|
|
43
|
+
floorplan: buildDormerFloorplan,
|
|
42
44
|
presentation: {
|
|
43
45
|
label: 'Dormer',
|
|
44
46
|
description: 'House-shaped protrusion on a roof segment.',
|
|
@@ -43,7 +43,7 @@ export function DormerPositionSection({ node, segment, roof, selectedId, preview
|
|
|
43
43
|
let hi_z = Number.NEGATIVE_INFINITY;
|
|
44
44
|
for (const childId of roof.children ?? []) {
|
|
45
45
|
const seg = state.nodes[childId];
|
|
46
|
-
if (
|
|
46
|
+
if (seg?.type !== 'roof-segment')
|
|
47
47
|
continue;
|
|
48
48
|
const segObj = sceneRegistry.nodes.get(seg.id);
|
|
49
49
|
if (!segObj)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/duct-fitting/definition.edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.edit.d.ts","sourceRoot":"","sources":["../../src/duct-fitting/definition.edit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAKvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE/C,eAAO,MAAM,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,eAAe,CA0CpF,CAAA"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { ductBodyPaint } from '../shared/duct-body-paint.js';
|
|
2
2
|
import { rotateFittingNode } from '../shared/fitting-rotation.js';
|
|
3
3
|
import { ductFittingToolOptions } from '../shared/fitting-tool-options.js';
|
|
4
|
-
import { buildDuctFittingFloorplan } from './floorplan.js';
|
|
5
4
|
import { ductFittingParametrics } from './parametrics.js';
|
|
6
5
|
export const ductFittingEditContribution = {
|
|
7
6
|
snapProfile: 'item',
|
|
@@ -9,7 +8,6 @@ export const ductFittingEditContribution = {
|
|
|
9
8
|
paint: ductBodyPaint,
|
|
10
9
|
},
|
|
11
10
|
parametrics: ductFittingParametrics,
|
|
12
|
-
floorplan: buildDuctFittingFloorplan,
|
|
13
11
|
// R/T rotate a selected fitting ±45° around the shared active axis.
|
|
14
12
|
// The default editor rotate only knows Y; fittings need X/Z for
|
|
15
13
|
// risers, so this overrides it. Alt-cycling of the axis + the axis
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/duct-fitting/definition.render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;
|
|
1
|
+
{"version":3,"file":"definition.render.d.ts","sourceRoot":"","sources":["../../src/duct-fitting/definition.render.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAA;AAIvE,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAE1C,eAAO,MAAM,2BAA2B,EAAE,oBAAoB,CAAC,OAAO,eAAe,CAAC,GAAG;IACvF,IAAI,EAAE,cAAc,CAAA;CAiFrB,CAAA"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { ductBodySlots } from '@pascal-app/core';
|
|
2
|
+
import { buildDuctFittingFloorplan } from './floorplan.js';
|
|
2
3
|
import { buildDuctFittingGeometry } from './geometry.js';
|
|
3
4
|
import { getDuctFittingPorts } from './ports.js';
|
|
4
5
|
import { DuctFittingNode } from './schema.js';
|
|
@@ -69,6 +70,7 @@ export const ductFittingRenderDefinition = {
|
|
|
69
70
|
n.slots,
|
|
70
71
|
]),
|
|
71
72
|
ports: getDuctFittingPorts,
|
|
73
|
+
floorplan: buildDuctFittingFloorplan,
|
|
72
74
|
presentation: {
|
|
73
75
|
label: 'Duct Fitting',
|
|
74
76
|
description: 'Elbow, tee, reducer, or square-to-round transition connecting duct runs.',
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { AnyNode, DuctSegmentNode } from '@pascal-app/core';
|
|
2
|
+
import type { ScenePort } from '@pascal-app/editor/distribution';
|
|
3
|
+
import { type RunContinuationHandlePlan } from '../shared/elbow-branch-continuation.js';
|
|
4
|
+
export type DuctEndpoint = 'start' | 'end';
|
|
5
|
+
export declare function ductEndpointPort(duct: DuctSegmentNode, endpoint: DuctEndpoint): ScenePort | null;
|
|
6
|
+
export declare function ductContinuationHandlePoint(duct: DuctSegmentNode, endpoint: DuctEndpoint, gap?: number): [number, number, number] | null;
|
|
7
|
+
export declare function ductContinuationHandlePlan(duct: DuctSegmentNode, endpoint: DuctEndpoint, nodes: Readonly<Record<string, AnyNode>>, gap?: number): RunContinuationHandlePlan | null;
|
|
8
|
+
//# sourceMappingURL=continuation-handle.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"continuation-handle.d.ts","sourceRoot":"","sources":["../../src/duct-segment/continuation-handle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAChE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAA;AAChE,OAAO,EACL,KAAK,yBAAyB,EAE/B,MAAM,qCAAqC,CAAA;AAG5C,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,KAAK,CAAA;AAE1C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,eAAe,EAAE,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,CAkBhG;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,YAAY,EACtB,GAAG,SAAO,GACT,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAQjC;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACxC,GAAG,SAAO,GACT,yBAAyB,GAAG,IAAI,CAGlC"}
|