@pascal-app/core 1.0.0 → 1.0.3
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/capture/index.d.ts +2 -2
- package/dist/capture/index.js +2 -2
- package/dist/capture/schema.d.ts.map +1 -1
- package/dist/capture/schema.js +2 -0
- package/dist/capture/source.d.ts +1 -1
- package/dist/capture/source.js +1 -1
- package/dist/events/bus.d.ts +6 -3
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +4 -4
- package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/floor-placed-elevation.js +7 -12
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts +4 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.d.ts.map +1 -0
- package/dist/hooks/spatial-grid/floor-placed-footprints.js +7 -0
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +5 -8
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +23 -106
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +263 -84
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +77 -13
- package/dist/hooks/spatial-grid/support-host-patch.d.ts +1 -1
- package/dist/hooks/spatial-grid/support-host-patch.js +6 -6
- package/dist/hooks/spatial-grid/use-spatial-query.d.ts +1 -1
- package/dist/hooks/spatial-grid/use-spatial-query.js +1 -1
- package/dist/index.d.ts +77 -72
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +74 -69
- package/dist/lib/door-operation.d.ts +1 -1
- package/dist/lib/item-polygon-overlap.d.ts +6 -0
- package/dist/lib/item-polygon-overlap.d.ts.map +1 -0
- package/dist/lib/item-polygon-overlap.js +67 -0
- package/dist/lib/level-name.d.ts +1 -1
- package/dist/lib/measurement-geometry.d.ts +4 -4
- package/dist/lib/node-visibility.d.ts +12 -0
- package/dist/lib/node-visibility.d.ts.map +1 -0
- package/dist/lib/node-visibility.js +12 -0
- package/dist/lib/plan-footprint.d.ts +41 -0
- package/dist/lib/plan-footprint.d.ts.map +1 -0
- package/dist/lib/plan-footprint.js +58 -0
- package/dist/lib/room-topology-index.d.ts +1 -1
- package/dist/lib/room-topology-index.js +1 -1
- package/dist/lib/selection-proxy.d.ts +1 -1
- package/dist/lib/slab-polygon.d.ts +2 -2
- package/dist/lib/slab-polygon.js +2 -2
- package/dist/lib/space-detection.d.ts +1 -1
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +16 -11
- package/dist/lib/terrain-brush.d.ts +1 -1
- package/dist/lib/terrain-brush.js +1 -1
- package/dist/lib/terrain-codec.d.ts +2 -2
- package/dist/lib/terrain-codec.js +1 -1
- package/dist/lib/terrain-raycast.d.ts +1 -1
- package/dist/lib/terrain-raycast.js +1 -1
- package/dist/lib/terrain-source.d.ts +3 -3
- package/dist/lib/terrain-source.js +3 -3
- package/dist/lib/terrain-support.d.ts +1 -1
- package/dist/lib/terrain-support.js +3 -3
- package/dist/lib/unit-containment.d.ts +19 -0
- package/dist/lib/unit-containment.d.ts.map +1 -0
- package/dist/lib/unit-containment.js +158 -0
- package/dist/lib/unit-report.d.ts +19 -0
- package/dist/lib/unit-report.d.ts.map +1 -0
- package/dist/lib/unit-report.js +36 -0
- package/dist/lib/wall-distance.d.ts +2 -2
- package/dist/lib/wall-distance.js +1 -1
- package/dist/lib/zone-quantities.d.ts +1 -1
- package/dist/lib/zone-quantities.js +7 -7
- package/dist/material-library.d.ts +1 -1
- package/dist/material-library.js +1 -1
- package/dist/procedural-items/fixtures.d.ts +261 -0
- package/dist/procedural-items/fixtures.d.ts.map +1 -0
- package/dist/procedural-items/fixtures.js +349 -0
- package/dist/procedural-items/index.d.ts +10 -0
- package/dist/procedural-items/index.d.ts.map +1 -0
- package/dist/procedural-items/index.js +9 -0
- package/dist/procedural-items/integration.d.ts +92 -0
- package/dist/procedural-items/integration.d.ts.map +1 -0
- package/dist/procedural-items/integration.js +19 -0
- package/dist/procedural-items/library-colors.d.ts +56 -0
- package/dist/procedural-items/library-colors.d.ts.map +1 -0
- package/dist/procedural-items/library-colors.js +84 -0
- package/dist/procedural-items/materials.d.ts +5 -0
- package/dist/procedural-items/materials.d.ts.map +1 -0
- package/dist/procedural-items/materials.js +47 -0
- package/dist/procedural-items/node.d.ts +280 -0
- package/dist/procedural-items/node.d.ts.map +1 -0
- package/dist/procedural-items/node.js +71 -0
- package/dist/procedural-items/placement.d.ts +7 -0
- package/dist/procedural-items/placement.d.ts.map +1 -0
- package/dist/procedural-items/placement.js +48 -0
- package/dist/procedural-items/query.d.ts +51 -0
- package/dist/procedural-items/query.d.ts.map +1 -0
- package/dist/procedural-items/query.js +342 -0
- package/dist/procedural-items/recipe.d.ts +144 -0
- package/dist/procedural-items/recipe.d.ts.map +1 -0
- package/dist/procedural-items/recipe.js +372 -0
- package/dist/procedural-items/spatial.d.ts +19 -0
- package/dist/procedural-items/spatial.d.ts.map +1 -0
- package/dist/procedural-items/spatial.js +39 -0
- package/dist/registry/__bench__/relations-resolver.bench.js +2 -2
- package/dist/registry/handles.d.ts +40 -5
- package/dist/registry/handles.d.ts.map +1 -1
- package/dist/registry/index.d.ts +6 -6
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -4
- package/dist/registry/registry.d.ts +1 -1
- package/dist/registry/relations-resolver.d.ts +2 -2
- package/dist/registry/relations-resolver.js +1 -1
- package/dist/registry/scene-api.d.ts +2 -2
- package/dist/registry/scene-api.js +2 -2
- package/dist/registry/subtree.d.ts +1 -1
- package/dist/registry/subtree.d.ts.map +1 -1
- package/dist/registry/subtree.js +8 -2
- package/dist/registry/types.d.ts +32 -10
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/registry/use-registry-version.js +1 -1
- package/dist/registry/validate-relations.d.ts +4 -0
- package/dist/registry/validate-relations.d.ts.map +1 -0
- package/dist/registry/validate-relations.js +22 -0
- package/dist/schema/__bench__/node-parsers.bench.js +3 -3
- package/dist/schema/__fixtures__/node-fixtures.d.ts +1 -1
- package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
- package/dist/schema/__fixtures__/node-fixtures.js +4 -2
- package/dist/schema/base.js +1 -1
- package/dist/schema/collections.d.ts +1 -1
- package/dist/schema/collections.js +1 -1
- package/dist/schema/compiled-node-parsers.d.ts +1 -1
- package/dist/schema/compiled-node-parsers.js +1 -1
- package/dist/schema/index.d.ts +74 -70
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +65 -61
- package/dist/schema/material.d.ts +1 -1
- package/dist/schema/material.js +1 -1
- package/dist/schema/nodes/automatic-downspout.d.ts +4 -4
- package/dist/schema/nodes/automatic-downspout.js +5 -5
- package/dist/schema/nodes/block.d.ts +3 -3
- package/dist/schema/nodes/block.d.ts.map +1 -1
- package/dist/schema/nodes/block.js +24 -12
- package/dist/schema/nodes/box-vent.js +2 -2
- package/dist/schema/nodes/building.d.ts +1 -1
- package/dist/schema/nodes/building.d.ts.map +1 -1
- package/dist/schema/nodes/building.js +8 -5
- package/dist/schema/nodes/cabinet.d.ts +4 -4
- package/dist/schema/nodes/cabinet.js +4 -4
- package/dist/schema/nodes/ceiling.d.ts +1 -1
- package/dist/schema/nodes/ceiling.js +5 -5
- package/dist/schema/nodes/chimney.js +2 -2
- package/dist/schema/nodes/column.d.ts +1 -0
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +3 -2
- package/dist/schema/nodes/construction-dimension.d.ts +3 -3
- package/dist/schema/nodes/construction-dimension.js +2 -2
- package/dist/schema/nodes/cupola.d.ts +1 -1
- package/dist/schema/nodes/cupola.js +2 -2
- package/dist/schema/nodes/curtain-wall.d.ts +129 -0
- package/dist/schema/nodes/curtain-wall.d.ts.map +1 -0
- package/dist/schema/nodes/curtain-wall.js +49 -0
- package/dist/schema/nodes/door.d.ts +2 -2
- package/dist/schema/nodes/door.js +2 -2
- package/dist/schema/nodes/dormer.d.ts +3 -3
- package/dist/schema/nodes/dormer.js +4 -4
- package/dist/schema/nodes/downspout.js +2 -2
- package/dist/schema/nodes/duct-fitting.js +1 -1
- package/dist/schema/nodes/duct-segment.js +2 -2
- package/dist/schema/nodes/duct-terminal.js +1 -1
- package/dist/schema/nodes/elevator.js +2 -2
- package/dist/schema/nodes/eyebrow-vent.js +2 -2
- package/dist/schema/nodes/fence.js +2 -2
- package/dist/schema/nodes/guide.js +2 -2
- package/dist/schema/nodes/gutter.d.ts +1 -1
- package/dist/schema/nodes/gutter.js +4 -4
- package/dist/schema/nodes/hvac-equipment.js +1 -1
- package/dist/schema/nodes/imported-mesh.d.ts +40 -0
- package/dist/schema/nodes/imported-mesh.d.ts.map +1 -0
- package/dist/schema/nodes/imported-mesh.js +27 -0
- package/dist/schema/nodes/item.d.ts +3 -3
- package/dist/schema/nodes/item.js +3 -3
- package/dist/schema/nodes/lean-to-extension.js +4 -4
- package/dist/schema/nodes/level.d.ts +1 -1
- package/dist/schema/nodes/level.d.ts.map +1 -1
- package/dist/schema/nodes/level.js +1 -1
- package/dist/schema/nodes/lineset.js +1 -1
- package/dist/schema/nodes/liquid-line.js +1 -1
- package/dist/schema/nodes/measurement.js +2 -2
- package/dist/schema/nodes/pipe-fitting.d.ts +1 -1
- package/dist/schema/nodes/pipe-fitting.js +1 -1
- package/dist/schema/nodes/pipe-segment.d.ts +1 -1
- package/dist/schema/nodes/pipe-segment.js +2 -2
- package/dist/schema/nodes/pipe-trap.d.ts +1 -1
- package/dist/schema/nodes/pipe-trap.js +1 -1
- package/dist/schema/nodes/ridge-vent.d.ts +1 -1
- package/dist/schema/nodes/ridge-vent.js +3 -3
- package/dist/schema/nodes/roof-segment-shape.d.ts +1 -1
- package/dist/schema/nodes/roof-segment-shape.js +1 -1
- package/dist/schema/nodes/roof-segment-walls.d.ts +1 -1
- package/dist/schema/nodes/roof-segment-walls.js +1 -1
- package/dist/schema/nodes/roof-segment.d.ts +2 -2
- package/dist/schema/nodes/roof-segment.js +2 -2
- package/dist/schema/nodes/roof.d.ts +1 -1
- package/dist/schema/nodes/roof.js +3 -3
- package/dist/schema/nodes/scan.js +3 -3
- package/dist/schema/nodes/shelf.d.ts +1 -1
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/shelf.js +3 -4
- package/dist/schema/nodes/site.js +2 -2
- package/dist/schema/nodes/skylight.d.ts +4 -4
- package/dist/schema/nodes/skylight.js +2 -2
- package/dist/schema/nodes/slab.js +3 -3
- package/dist/schema/nodes/solar-panel.js +3 -3
- package/dist/schema/nodes/spawn.js +1 -1
- package/dist/schema/nodes/stair-segment.js +2 -2
- package/dist/schema/nodes/stair.d.ts +1 -1
- package/dist/schema/nodes/stair.js +3 -3
- package/dist/schema/nodes/structural-grid.js +1 -1
- package/dist/schema/nodes/turbine-vent.d.ts +1 -1
- package/dist/schema/nodes/turbine-vent.js +2 -2
- package/dist/schema/nodes/unit.d.ts +33 -0
- package/dist/schema/nodes/unit.d.ts.map +1 -0
- package/dist/schema/nodes/unit.js +13 -0
- package/dist/schema/nodes/wall.d.ts +75 -2
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +10 -6
- package/dist/schema/nodes/window.js +2 -2
- package/dist/schema/nodes/zone.js +1 -1
- package/dist/schema/scene-material.js +2 -2
- package/dist/schema/types.d.ts +417 -22
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +56 -49
- package/dist/services/__fixtures__/hosting.d.ts +3 -0
- package/dist/services/__fixtures__/hosting.d.ts.map +1 -0
- package/dist/services/__fixtures__/hosting.js +9 -0
- package/dist/services/__fixtures__/shelf-surface-rows.d.ts +4 -0
- package/dist/services/__fixtures__/shelf-surface-rows.d.ts.map +1 -0
- package/dist/services/__fixtures__/shelf-surface-rows.js +18 -0
- package/dist/services/alignment-anchors.d.ts +6 -11
- package/dist/services/alignment-anchors.d.ts.map +1 -1
- package/dist/services/alignment-anchors.js +7 -34
- package/dist/services/drag-session.d.ts +4 -4
- package/dist/services/drag-session.js +1 -1
- package/dist/services/hosting.d.ts +5 -8
- package/dist/services/hosting.d.ts.map +1 -1
- package/dist/services/hosting.js +25 -18
- package/dist/services/index.d.ts +16 -13
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +16 -13
- package/dist/services/level-height.d.ts +2 -2
- package/dist/services/level-height.js +3 -3
- package/dist/services/movement.d.ts +3 -3
- package/dist/services/movement.js +2 -2
- package/dist/services/port-connectivity.d.ts +1 -1
- package/dist/services/port-connectivity.js +1 -1
- package/dist/services/riser-diagram.d.ts +1 -1
- package/dist/services/shelf-board.d.ts +5 -0
- package/dist/services/shelf-board.d.ts.map +1 -0
- package/dist/services/shelf-board.js +15 -0
- package/dist/services/snap.d.ts +3 -0
- package/dist/services/snap.d.ts.map +1 -1
- package/dist/services/snap.js +11 -0
- package/dist/services/storey.d.ts +2 -2
- package/dist/services/storey.js +2 -2
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +13 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-procedural-parity.fixtures.js +4691 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +1060 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +1 -0
- package/dist/services/surface-hosting-shelf-parity.fixtures.js +3127 -0
- package/dist/services/surface-hosting.d.ts +92 -0
- package/dist/services/surface-hosting.d.ts.map +1 -0
- package/dist/services/surface-hosting.js +305 -0
- package/dist/services/surface-region.d.ts +8 -0
- package/dist/services/surface-region.d.ts.map +1 -0
- package/dist/services/surface-region.js +44 -0
- package/dist/services/system-graph.d.ts +2 -2
- package/dist/services/system-graph.js +2 -2
- package/dist/services/validate-dwv.d.ts +1 -1
- package/dist/services/validate-dwv.js +1 -1
- package/dist/store/actions/node-actions.d.ts +2 -2
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +50 -104
- package/dist/store/history-control.d.ts +3 -3
- package/dist/store/history-invalidation.d.ts +1 -1
- package/dist/store/history-invalidation.js +1 -1
- package/dist/store/use-interactive.d.ts +2 -2
- package/dist/store/use-live-terrain.d.ts +1 -1
- package/dist/store/use-scene.d.ts +4 -4
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +50 -32
- package/dist/systems/elevator/elevator-dispatch.d.ts +2 -2
- package/dist/systems/elevator/elevator-dispatch.js +1 -1
- package/dist/systems/elevator/elevator-geometry.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.d.ts +1 -1
- package/dist/systems/elevator/elevator-opening-sync.js +2 -2
- package/dist/systems/elevator/elevator-opening-system.js +3 -3
- package/dist/systems/elevator/elevator-runtime.d.ts +3 -3
- package/dist/systems/elevator/elevator-runtime.js +3 -3
- package/dist/systems/elevator/elevator-service.d.ts +1 -1
- package/dist/systems/elevator/elevator-service.js +1 -1
- package/dist/systems/fence/fence-centerline.d.ts +2 -2
- package/dist/systems/fence/fence-centerline.js +2 -2
- package/dist/systems/fence/fence-spline.d.ts +2 -2
- package/dist/systems/roof/roof-elevation-system.js +3 -3
- package/dist/systems/roof/roof-elevation.d.ts +2 -2
- package/dist/systems/roof/roof-elevation.js +6 -6
- package/dist/systems/roof/roof-footprint.d.ts +1 -1
- package/dist/systems/roof/roof-footprint.js +3 -3
- package/dist/systems/slab/slab-placement.d.ts +1 -1
- package/dist/systems/slab/slab-support.d.ts +1 -1
- package/dist/systems/slab/slab-support.js +4 -4
- package/dist/systems/stair/stair-flight.d.ts +2 -2
- package/dist/systems/stair/stair-flight.js +2 -2
- package/dist/systems/stair/stair-footprint.d.ts +1 -1
- package/dist/systems/stair/stair-opening-preview.d.ts +248 -87
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-preview.js +2 -2
- package/dist/systems/stair/stair-opening-sync.d.ts +1 -1
- package/dist/systems/stair/stair-opening-sync.js +6 -6
- package/dist/systems/stair/stair-opening-system.js +8 -8
- package/dist/systems/stair/stair-rise.d.ts +1 -1
- package/dist/systems/stair/stair-rise.js +3 -3
- package/dist/systems/wall/wall-curve.d.ts +2 -2
- package/dist/systems/wall/wall-footprint.d.ts +3 -3
- package/dist/systems/wall/wall-footprint.js +3 -3
- package/dist/systems/wall/wall-merge.d.ts +38 -0
- package/dist/systems/wall/wall-merge.d.ts.map +1 -0
- package/dist/systems/wall/wall-merge.js +240 -0
- package/dist/systems/wall/wall-mitering.d.ts +1 -1
- package/dist/systems/wall/wall-mitering.js +1 -1
- package/dist/systems/wall/wall-move.d.ts +1 -1
- package/dist/systems/wall/wall-operations.d.ts +28 -0
- package/dist/systems/wall/wall-operations.d.ts.map +1 -0
- package/dist/systems/wall/wall-operations.js +145 -0
- package/dist/systems/wall/wall-top.d.ts +1 -1
- package/dist/systems/wall/wall-topology.d.ts +9 -2
- package/dist/systems/wall/wall-topology.d.ts.map +1 -1
- package/dist/systems/wall/wall-topology.js +57 -9
- package/dist/utils/clone-scene-graph.d.ts +3 -3
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +9 -3
- package/dist/utils/scene-migrations.d.ts +3 -3
- package/dist/utils/scene-migrations.js +3 -3
- package/dist/utils/vertical-scene-migration.js +5 -5
- package/dist/validation/validate-build-json.d.ts +5 -2
- package/dist/validation/validate-build-json.d.ts.map +1 -1
- package/dist/validation/validate-build-json.js +57 -4
- package/package.json +15 -4
|
@@ -167,8 +167,8 @@ export declare const CabinetNode: z.ZodObject<{
|
|
|
167
167
|
}>>;
|
|
168
168
|
handlePosition: z.ZodDefault<z.ZodEnum<{
|
|
169
169
|
top: "top";
|
|
170
|
-
auto: "auto";
|
|
171
170
|
center: "center";
|
|
171
|
+
auto: "auto";
|
|
172
172
|
}>>;
|
|
173
173
|
frontOverlay: z.ZodDefault<z.ZodEnum<{
|
|
174
174
|
full: "full";
|
|
@@ -321,7 +321,7 @@ export declare const CabinetNode: z.ZodObject<{
|
|
|
321
321
|
base: "base";
|
|
322
322
|
tall: "tall";
|
|
323
323
|
}>>;
|
|
324
|
-
children: z.ZodDefault<z.ZodArray<z.
|
|
324
|
+
children: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
325
325
|
barLedge: z.ZodOptional<z.ZodObject<{
|
|
326
326
|
edge: z.ZodDefault<z.ZodEnum<{
|
|
327
327
|
back: "back";
|
|
@@ -381,8 +381,8 @@ export declare const CabinetModuleNode: z.ZodObject<{
|
|
|
381
381
|
}>>;
|
|
382
382
|
handlePosition: z.ZodDefault<z.ZodEnum<{
|
|
383
383
|
top: "top";
|
|
384
|
-
auto: "auto";
|
|
385
384
|
center: "center";
|
|
385
|
+
auto: "auto";
|
|
386
386
|
}>>;
|
|
387
387
|
frontOverlay: z.ZodDefault<z.ZodEnum<{
|
|
388
388
|
full: "full";
|
|
@@ -530,7 +530,7 @@ export declare const CabinetModuleNode: z.ZodObject<{
|
|
|
530
530
|
}, z.core.$strip>], "type">>>;
|
|
531
531
|
id: z.ZodDefault<z.ZodTemplateLiteral<`cabinet-module_${string}`>>;
|
|
532
532
|
type: z.ZodDefault<z.ZodLiteral<"cabinet-module">>;
|
|
533
|
-
children: z.ZodDefault<z.ZodArray<z.
|
|
533
|
+
children: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
534
534
|
cabinetType: z.ZodDefault<z.ZodEnum<{
|
|
535
535
|
base: "base";
|
|
536
536
|
tall: "tall";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
-
import { MaterialSchema } from '../material';
|
|
2
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
3
|
+
import { MaterialSchema } from '../material.js';
|
|
4
4
|
const compartmentBase = {
|
|
5
5
|
id: z.string(),
|
|
6
6
|
height: z.number().positive().max(2.5).optional(),
|
|
@@ -120,7 +120,7 @@ export const CabinetNode = BaseNode.extend({
|
|
|
120
120
|
id: objectId('cabinet'),
|
|
121
121
|
type: nodeType('cabinet'),
|
|
122
122
|
runTier: z.enum(['base', 'wall', 'tall']).default('base'),
|
|
123
|
-
children: z.array(z.
|
|
123
|
+
children: z.array(z.string()).default([]),
|
|
124
124
|
// Raised bar counter along one run edge: a knee wall topped by a slab at
|
|
125
125
|
// bar height. Run-level because it spans modules like the countertop.
|
|
126
126
|
barLedge: z
|
|
@@ -139,7 +139,7 @@ export const CabinetNode = BaseNode.extend({
|
|
|
139
139
|
export const CabinetModuleNode = BaseNode.extend({
|
|
140
140
|
id: objectId('cabinet-module'),
|
|
141
141
|
type: nodeType('cabinet-module'),
|
|
142
|
-
children: z.array(z.
|
|
142
|
+
children: z.array(z.string()).default([]),
|
|
143
143
|
cabinetType: z.enum(['base', 'tall']).default('base'),
|
|
144
144
|
// Discriminator for specialty units (corner L-shape, sink base, appliance
|
|
145
145
|
// gap, open shelving). 'standard' modules use the compartment stack as-is;
|
|
@@ -17,7 +17,7 @@ export declare const CeilingNode: z.ZodObject<{
|
|
|
17
17
|
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
18
18
|
id: z.ZodDefault<z.ZodTemplateLiteral<`ceiling_${string}`>>;
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"ceiling">>;
|
|
20
|
-
children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`item_${string}
|
|
20
|
+
children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`procedural-item_${string}`>>]>>>;
|
|
21
21
|
material: z.ZodOptional<z.ZodObject<{
|
|
22
22
|
id: z.ZodOptional<z.ZodString>;
|
|
23
23
|
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { ItemNode } from './item';
|
|
6
|
-
import { SurfaceHoleMetadata } from './surface-hole-metadata';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { ItemNode } from './item.js';
|
|
6
|
+
import { SurfaceHoleMetadata } from './surface-hole-metadata.js';
|
|
7
7
|
export const CeilingNode = BaseNode.extend({
|
|
8
8
|
id: objectId('ceiling'),
|
|
9
9
|
type: nodeType('ceiling'),
|
|
10
|
-
children: z.array(ItemNode.shape.id).default([]),
|
|
10
|
+
children: z.array(z.union([ItemNode.shape.id, objectId('procedural-item')])).default([]),
|
|
11
11
|
material: MaterialSchema.optional(),
|
|
12
12
|
materialPreset: z.string().optional(),
|
|
13
13
|
// Per-slot material overrides on the unified slot model, mirroring
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const ChimneyMaterialRole = z.enum(['body', 'top']);
|
|
6
6
|
export const ChimneyNode = BaseNode.extend({
|
|
7
7
|
id: objectId('chimney'),
|
|
@@ -110,6 +110,7 @@ export declare const ColumnNode: z.ZodObject<{
|
|
|
110
110
|
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
111
111
|
id: z.ZodDefault<z.ZodTemplateLiteral<`column_${string}`>>;
|
|
112
112
|
type: z.ZodDefault<z.ZodLiteral<"column">>;
|
|
113
|
+
children: z.ZodDefault<z.ZodArray<z.ZodString>>;
|
|
113
114
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
114
115
|
rotation: z.ZodDefault<z.ZodNumber>;
|
|
115
116
|
supportSlabId: z.ZodOptional<z.ZodString>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAAqE,CAAA;AAEpG,eAAO,MAAM,iBAAiB;;;;;;EAAmE,CAAA;AAEjG,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAA;AAE1E,eAAO,MAAM,eAAe;;;;;;;;;EAS1B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAa7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;EAA4C,CAAA;AAE5E,eAAO,MAAM,sBAAsB;;;;;EAA8C,CAAA;AAEjF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAY7B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAC7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"column.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/column.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAIvB,eAAO,MAAM,WAAW;;;;;;;EAOtB,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAM7B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;EAAqE,CAAA;AAEpG,eAAO,MAAM,iBAAiB;;;;;;EAAmE,CAAA;AAEjG,eAAO,MAAM,gBAAgB;;;;EAA6C,CAAA;AAE1E,eAAO,MAAM,eAAe;;;;;;;;;EAS1B,CAAA;AAEF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;EAa7B,CAAA;AAEF,eAAO,MAAM,mBAAmB;;;;;EAA4C,CAAA;AAE5E,eAAO,MAAM,sBAAsB;;;;;EAA8C,CAAA;AAEjF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;EAY7B,CAAA;AAEF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AACrD,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AACjE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC/D,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAA;AAC7D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AACnE,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAC3E,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAiGrB,CAAA;AAEF,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA2yBiE,CAAA;AAE5F,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,cAAc,CAAA;AAExD,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const ColumnStyle = z.enum([
|
|
6
6
|
'plain',
|
|
7
7
|
'faceted',
|
|
@@ -62,6 +62,7 @@ export const ColumnSupportStyle = z.enum([
|
|
|
62
62
|
export const ColumnNode = BaseNode.extend({
|
|
63
63
|
id: objectId('column'),
|
|
64
64
|
type: nodeType('column'),
|
|
65
|
+
children: z.array(z.string()).default([]),
|
|
65
66
|
position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
66
67
|
rotation: z.number().default(0),
|
|
67
68
|
// Persisted slab-support host — see ItemNode.supportSlabId for the rules.
|
|
@@ -25,8 +25,8 @@ export declare const ConstructionDrawingType: z.ZodEnum<{
|
|
|
25
25
|
"site-plan": "site-plan";
|
|
26
26
|
}>;
|
|
27
27
|
export declare const ConstructionDimensionDrawingPresentation: z.ZodEnum<{
|
|
28
|
-
omit: "omit";
|
|
29
28
|
shown: "shown";
|
|
29
|
+
omit: "omit";
|
|
30
30
|
controlled: "controlled";
|
|
31
31
|
}>;
|
|
32
32
|
export declare const ConstructionDimensionDrawingOverride: z.ZodObject<{
|
|
@@ -38,8 +38,8 @@ export declare const ConstructionDimensionDrawingOverride: z.ZodObject<{
|
|
|
38
38
|
"site-plan": "site-plan";
|
|
39
39
|
}>;
|
|
40
40
|
presentation: z.ZodEnum<{
|
|
41
|
-
omit: "omit";
|
|
42
41
|
shown: "shown";
|
|
42
|
+
omit: "omit";
|
|
43
43
|
controlled: "controlled";
|
|
44
44
|
}>;
|
|
45
45
|
suppressedSegmentIndexes: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
@@ -166,8 +166,8 @@ export declare const ConstructionDimensionNode: z.ZodObject<{
|
|
|
166
166
|
"site-plan": "site-plan";
|
|
167
167
|
}>;
|
|
168
168
|
presentation: z.ZodEnum<{
|
|
169
|
-
omit: "omit";
|
|
170
169
|
shown: "shown";
|
|
170
|
+
omit: "omit";
|
|
171
171
|
controlled: "controlled";
|
|
172
172
|
}>;
|
|
173
173
|
suppressedSegmentIndexes: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MeasurementAnchor } from './measurement';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MeasurementAnchor } from './measurement.js';
|
|
5
5
|
const FiniteCoordinate = z.number().finite();
|
|
6
6
|
export const ConstructionDimensionBaseline = z
|
|
7
7
|
.object({
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const CupolaMaterialRole = z.enum(['base', 'body', 'roof', 'louvers']);
|
|
6
6
|
export const CupolaNode = BaseNode.extend({
|
|
7
7
|
id: objectId('cupola'),
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const CurtainGrid: z.ZodObject<{
|
|
3
|
+
layout: z.ZodDefault<z.ZodEnum<{
|
|
4
|
+
count: "count";
|
|
5
|
+
"maximum-spacing": "maximum-spacing";
|
|
6
|
+
"fixed-spacing": "fixed-spacing";
|
|
7
|
+
}>>;
|
|
8
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
9
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
10
|
+
alignment: z.ZodDefault<z.ZodEnum<{
|
|
11
|
+
start: "start";
|
|
12
|
+
center: "center";
|
|
13
|
+
end: "end";
|
|
14
|
+
}>>;
|
|
15
|
+
}, z.core.$strip>;
|
|
16
|
+
export type CurtainGrid = z.infer<typeof CurtainGrid>;
|
|
17
|
+
export declare const CurtainPanelType: z.ZodEnum<{
|
|
18
|
+
glass: "glass";
|
|
19
|
+
solid: "solid";
|
|
20
|
+
empty: "empty";
|
|
21
|
+
}>;
|
|
22
|
+
export type CurtainPanelType = z.infer<typeof CurtainPanelType>;
|
|
23
|
+
export declare const CurtainWallConfig: z.ZodObject<{
|
|
24
|
+
construction: z.ZodDefault<z.ZodEnum<{
|
|
25
|
+
stick: "stick";
|
|
26
|
+
unitized: "unitized";
|
|
27
|
+
}>>;
|
|
28
|
+
framing: z.ZodDefault<z.ZodEnum<{
|
|
29
|
+
capped: "capped";
|
|
30
|
+
"vertical-caps": "vertical-caps";
|
|
31
|
+
"horizontal-caps": "horizontal-caps";
|
|
32
|
+
"structural-glazing": "structural-glazing";
|
|
33
|
+
}>>;
|
|
34
|
+
columns: z.ZodPrefault<z.ZodObject<{
|
|
35
|
+
layout: z.ZodDefault<z.ZodEnum<{
|
|
36
|
+
count: "count";
|
|
37
|
+
"maximum-spacing": "maximum-spacing";
|
|
38
|
+
"fixed-spacing": "fixed-spacing";
|
|
39
|
+
}>>;
|
|
40
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
41
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
42
|
+
alignment: z.ZodDefault<z.ZodEnum<{
|
|
43
|
+
start: "start";
|
|
44
|
+
center: "center";
|
|
45
|
+
end: "end";
|
|
46
|
+
}>>;
|
|
47
|
+
}, z.core.$strip>>;
|
|
48
|
+
rows: z.ZodPrefault<z.ZodObject<{
|
|
49
|
+
layout: z.ZodDefault<z.ZodEnum<{
|
|
50
|
+
count: "count";
|
|
51
|
+
"maximum-spacing": "maximum-spacing";
|
|
52
|
+
"fixed-spacing": "fixed-spacing";
|
|
53
|
+
}>>;
|
|
54
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
55
|
+
spacing: z.ZodDefault<z.ZodNumber>;
|
|
56
|
+
alignment: z.ZodDefault<z.ZodEnum<{
|
|
57
|
+
start: "start";
|
|
58
|
+
center: "center";
|
|
59
|
+
end: "end";
|
|
60
|
+
}>>;
|
|
61
|
+
}, z.core.$strip>>;
|
|
62
|
+
mullionWidth: z.ZodDefault<z.ZodNumber>;
|
|
63
|
+
transomWidth: z.ZodDefault<z.ZodNumber>;
|
|
64
|
+
perimeterWidth: z.ZodDefault<z.ZodNumber>;
|
|
65
|
+
jointWidth: z.ZodDefault<z.ZodNumber>;
|
|
66
|
+
glassThickness: z.ZodDefault<z.ZodNumber>;
|
|
67
|
+
panelType: z.ZodDefault<z.ZodEnum<{
|
|
68
|
+
glass: "glass";
|
|
69
|
+
solid: "solid";
|
|
70
|
+
empty: "empty";
|
|
71
|
+
}>>;
|
|
72
|
+
spandrel: z.ZodDefault<z.ZodEnum<{
|
|
73
|
+
top: "top";
|
|
74
|
+
none: "none";
|
|
75
|
+
bottom: "bottom";
|
|
76
|
+
}>>;
|
|
77
|
+
frameColor: z.ZodDefault<z.ZodString>;
|
|
78
|
+
glassColor: z.ZodDefault<z.ZodString>;
|
|
79
|
+
solidColor: z.ZodDefault<z.ZodString>;
|
|
80
|
+
glassOpacity: z.ZodDefault<z.ZodNumber>;
|
|
81
|
+
glassRoughness: z.ZodDefault<z.ZodNumber>;
|
|
82
|
+
panels: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
83
|
+
column: z.ZodNumber;
|
|
84
|
+
row: z.ZodNumber;
|
|
85
|
+
type: z.ZodEnum<{
|
|
86
|
+
glass: "glass";
|
|
87
|
+
solid: "solid";
|
|
88
|
+
empty: "empty";
|
|
89
|
+
}>;
|
|
90
|
+
}, z.core.$strip>>>;
|
|
91
|
+
}, z.core.$strip>;
|
|
92
|
+
export type CurtainWallConfig = z.infer<typeof CurtainWallConfig>;
|
|
93
|
+
export declare const DEFAULT_CURTAIN_WALL: {
|
|
94
|
+
construction: "stick" | "unitized";
|
|
95
|
+
framing: "capped" | "vertical-caps" | "horizontal-caps" | "structural-glazing";
|
|
96
|
+
columns: {
|
|
97
|
+
layout: "count" | "maximum-spacing" | "fixed-spacing";
|
|
98
|
+
count: number;
|
|
99
|
+
spacing: number;
|
|
100
|
+
alignment: "start" | "center" | "end";
|
|
101
|
+
};
|
|
102
|
+
rows: {
|
|
103
|
+
layout: "count" | "maximum-spacing" | "fixed-spacing";
|
|
104
|
+
count: number;
|
|
105
|
+
spacing: number;
|
|
106
|
+
alignment: "start" | "center" | "end";
|
|
107
|
+
};
|
|
108
|
+
mullionWidth: number;
|
|
109
|
+
transomWidth: number;
|
|
110
|
+
perimeterWidth: number;
|
|
111
|
+
jointWidth: number;
|
|
112
|
+
glassThickness: number;
|
|
113
|
+
panelType: "glass" | "solid" | "empty";
|
|
114
|
+
spandrel: "top" | "none" | "bottom";
|
|
115
|
+
frameColor: string;
|
|
116
|
+
glassColor: string;
|
|
117
|
+
solidColor: string;
|
|
118
|
+
glassOpacity: number;
|
|
119
|
+
glassRoughness: number;
|
|
120
|
+
panels: {
|
|
121
|
+
column: number;
|
|
122
|
+
row: number;
|
|
123
|
+
type: "glass" | "solid" | "empty";
|
|
124
|
+
}[];
|
|
125
|
+
};
|
|
126
|
+
export declare function getCurtainWallConfig(wall: {
|
|
127
|
+
curtainWall?: CurtainWallConfig;
|
|
128
|
+
}): CurtainWallConfig;
|
|
129
|
+
//# sourceMappingURL=curtain-wall.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"curtain-wall.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/curtain-wall.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,WAAW;;;;;;;;;;;;;iBAKtB,CAAA;AACF,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAA;AAErD,eAAO,MAAM,gBAAgB;;;;EAAsC,CAAA;AACnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsC5B,CAAA;AACF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAA;AAEjE,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAA8B,CAAA;AAE/D,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IAAE,WAAW,CAAC,EAAE,iBAAiB,CAAA;CAAE,GAAG,iBAAiB,CAEjG"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const CurtainGrid = z.object({
|
|
3
|
+
layout: z.enum(['count', 'maximum-spacing', 'fixed-spacing']).default('maximum-spacing'),
|
|
4
|
+
count: z.number().int().min(1).max(32).default(3),
|
|
5
|
+
spacing: z.number().finite().min(0.2).max(100).default(1.5),
|
|
6
|
+
alignment: z.enum(['start', 'center', 'end']).default('center'),
|
|
7
|
+
});
|
|
8
|
+
export const CurtainPanelType = z.enum(['glass', 'solid', 'empty']);
|
|
9
|
+
export const CurtainWallConfig = z.object({
|
|
10
|
+
construction: z.enum(['stick', 'unitized']).default('stick'),
|
|
11
|
+
framing: z
|
|
12
|
+
.enum(['capped', 'vertical-caps', 'horizontal-caps', 'structural-glazing'])
|
|
13
|
+
.default('capped'),
|
|
14
|
+
columns: CurtainGrid.prefault({}),
|
|
15
|
+
rows: CurtainGrid.prefault({ layout: 'count', count: 2 }),
|
|
16
|
+
mullionWidth: z.number().finite().min(0.01).max(0.3).default(0.05),
|
|
17
|
+
transomWidth: z.number().finite().min(0.01).max(0.3).default(0.05),
|
|
18
|
+
perimeterWidth: z.number().finite().min(0.01).max(0.3).default(0.05),
|
|
19
|
+
jointWidth: z.number().finite().min(0.002).max(0.05).default(0.01),
|
|
20
|
+
glassThickness: z.number().finite().min(0.004).max(0.08).default(0.024),
|
|
21
|
+
panelType: CurtainPanelType.default('glass'),
|
|
22
|
+
spandrel: z.enum(['none', 'bottom', 'top']).default('none'),
|
|
23
|
+
frameColor: z
|
|
24
|
+
.string()
|
|
25
|
+
.regex(/^#[0-9a-fA-F]{6}$/)
|
|
26
|
+
.default('#303942'),
|
|
27
|
+
glassColor: z
|
|
28
|
+
.string()
|
|
29
|
+
.regex(/^#[0-9a-fA-F]{6}$/)
|
|
30
|
+
.default('#a9d5df'),
|
|
31
|
+
solidColor: z
|
|
32
|
+
.string()
|
|
33
|
+
.regex(/^#[0-9a-fA-F]{6}$/)
|
|
34
|
+
.default('#53616d'),
|
|
35
|
+
glassOpacity: z.number().finite().min(0.05).max(1).default(0.3),
|
|
36
|
+
glassRoughness: z.number().finite().min(0).max(1).default(0.12),
|
|
37
|
+
panels: z
|
|
38
|
+
.array(z.object({
|
|
39
|
+
column: z.number().int().min(0).max(31),
|
|
40
|
+
row: z.number().int().min(0).max(31),
|
|
41
|
+
type: CurtainPanelType,
|
|
42
|
+
}))
|
|
43
|
+
.max(1024)
|
|
44
|
+
.default([]),
|
|
45
|
+
});
|
|
46
|
+
export const DEFAULT_CURTAIN_WALL = CurtainWallConfig.parse({});
|
|
47
|
+
export function getCurtainWallConfig(wall) {
|
|
48
|
+
return wall.curtainWall ?? DEFAULT_CURTAIN_WALL;
|
|
49
|
+
}
|
|
@@ -2,8 +2,8 @@ import { z } from 'zod';
|
|
|
2
2
|
export declare const DoorSegment: z.ZodObject<{
|
|
3
3
|
type: z.ZodEnum<{
|
|
4
4
|
glass: "glass";
|
|
5
|
-
panel: "panel";
|
|
6
5
|
empty: "empty";
|
|
6
|
+
panel: "panel";
|
|
7
7
|
}>;
|
|
8
8
|
heightRatio: z.ZodNumber;
|
|
9
9
|
columnRatios: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
@@ -195,8 +195,8 @@ export declare const DoorNode: z.ZodObject<{
|
|
|
195
195
|
segments: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
196
196
|
type: z.ZodEnum<{
|
|
197
197
|
glass: "glass";
|
|
198
|
-
panel: "panel";
|
|
199
198
|
empty: "empty";
|
|
199
|
+
panel: "panel";
|
|
200
200
|
}>;
|
|
201
201
|
heightRatio: z.ZodNumber;
|
|
202
202
|
columnRatios: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const DoorSegment = z.object({
|
|
6
6
|
type: z.enum(['panel', 'glass', 'empty']),
|
|
7
7
|
heightRatio: z.number(),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { MaterialSchema } from '../material';
|
|
3
|
-
import { type RoofSegmentNode } from './roof-segment';
|
|
4
|
-
import { WindowNode } from './window';
|
|
2
|
+
import { MaterialSchema } from '../material.js';
|
|
3
|
+
import { type RoofSegmentNode } from './roof-segment.js';
|
|
4
|
+
import { WindowNode } from './window.js';
|
|
5
5
|
export type DormerSurfaceMaterialRole = 'top' | 'side' | 'wall';
|
|
6
6
|
export type DormerSurfaceMaterialSpec = {
|
|
7
7
|
material?: z.infer<typeof MaterialSchema>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { getRoofSegmentSurfaceY, RoofType } from './roof-segment';
|
|
6
|
-
import { WindowNode } from './window';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { getRoofSegmentSurfaceY, RoofType } from './roof-segment.js';
|
|
6
|
+
import { WindowNode } from './window.js';
|
|
7
7
|
export const DormerWallFace = z.enum(['front', 'back', 'right', 'left']);
|
|
8
8
|
/**
|
|
9
9
|
* Default dormer dimensions and window controls. Values match the
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
const DEFAULT_DOWNSPOUT_GENERATOR = 'default-downspout';
|
|
6
6
|
export const DownspoutNode = BaseNode.extend({
|
|
7
7
|
id: objectId('downspout'),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
4
|
/**
|
|
5
5
|
* Duct fitting — the junction pieces that connect round duct segments:
|
|
6
6
|
* elbows (direction change), tees (branch takeoff), reducers (diameter
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { HangerOverrides } from './hanger-overrides';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { HangerOverrides } from './hanger-overrides.js';
|
|
5
5
|
/**
|
|
6
6
|
* Round duct segment — a polyline of 3D points connected by cylindrical
|
|
7
7
|
* duct sections. Forced-air HVAC supply/return runs in US residential.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
4
|
/**
|
|
5
5
|
* Duct terminal — where the air loop meets the room: supply registers,
|
|
6
6
|
* ceiling diffusers, return grilles.
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const ElevatorDoorStyle = z.enum(['center-opening', 'single-left', 'single-right']);
|
|
6
6
|
export const ElevatorDoorPanelStyle = z.enum(['glass-frame', 'solid-panel', 'segmented-panel']);
|
|
7
7
|
export const ElevatorShaftStyle = z.enum(['solid', 'glass']);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const EyebrowVentMaterialRole = z.enum(['hood', 'front']);
|
|
6
6
|
export const EyebrowVentNode = BaseNode.extend({
|
|
7
7
|
id: objectId('eyebrow-vent'),
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
5
|
export const FenceStyle = z.enum(['slat', 'rail', 'privacy', 'horizontal']);
|
|
6
6
|
export const FenceBaseStyle = z.enum(['floating', 'grounded']);
|
|
7
7
|
export const FencePostCap = z.enum(['none', 'flat', 'pyramid']);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { AssetUrl } from '../asset-url';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
2
|
+
import { AssetUrl } from '../asset-url.js';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
4
|
export const GuideScaleReference = z.object({
|
|
5
5
|
start: z.tuple([z.number(), z.number()]),
|
|
6
6
|
end: z.tuple([z.number(), z.number()]),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
import { type RoofSegmentNode } from './roof-segment';
|
|
2
|
+
import { type RoofSegmentNode } from './roof-segment.js';
|
|
3
3
|
export declare const GUTTER_EAVE_TUCK_INWARD = 0.04;
|
|
4
4
|
export declare const GUTTER_EAVE_TUCK_UP = 0.04;
|
|
5
5
|
export type GutterEaveSide = '+X' | '-X' | '+Z' | '-Z';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
4
|
-
import { MaterialSchema } from '../material';
|
|
5
|
-
import { normalizeRoofSegmentTrim } from './roof-segment';
|
|
6
|
-
import { getRoofShapeEaveSides } from './roof-segment-shape';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
|
+
import { MaterialSchema } from '../material.js';
|
|
5
|
+
import { normalizeRoofSegmentTrim } from './roof-segment.js';
|
|
6
|
+
import { getRoofShapeEaveSides } from './roof-segment-shape.js';
|
|
7
7
|
const MIN_DEFAULT_GUTTER_LENGTH_M = 0.2;
|
|
8
8
|
const DEFAULT_GUTTER_GENERATOR = 'default-gutter';
|
|
9
9
|
const AUTO_GUTTER_METADATA_KEY = 'autoGutter';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import dedent from 'dedent';
|
|
2
2
|
import { z } from 'zod';
|
|
3
|
-
import { BaseNode, nodeType, objectId } from '../base';
|
|
3
|
+
import { BaseNode, nodeType, objectId } from '../base.js';
|
|
4
4
|
/**
|
|
5
5
|
* HVAC equipment — the boxes duct systems start and end at: furnace,
|
|
6
6
|
* air handler, outdoor condenser.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const ImportedMeshPrimitive: z.ZodObject<{
|
|
3
|
+
positions: z.ZodArray<z.ZodNumber>;
|
|
4
|
+
normals: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
5
|
+
indices: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
6
|
+
color: z.ZodDefault<z.ZodString>;
|
|
7
|
+
opacity: z.ZodDefault<z.ZodNumber>;
|
|
8
|
+
}, z.core.$strip>;
|
|
9
|
+
export type ImportedMeshPrimitive = z.infer<typeof ImportedMeshPrimitive>;
|
|
10
|
+
/** Triangle geometry retained when an import has no native Pascal shape. */
|
|
11
|
+
export declare const ImportedMeshNode: z.ZodObject<{
|
|
12
|
+
object: z.ZodDefault<z.ZodLiteral<"node">>;
|
|
13
|
+
name: z.ZodOptional<z.ZodString>;
|
|
14
|
+
parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
|
|
15
|
+
visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
16
|
+
camera: z.ZodOptional<z.ZodObject<{
|
|
17
|
+
position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
18
|
+
target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
|
|
19
|
+
mode: z.ZodDefault<z.ZodEnum<{
|
|
20
|
+
perspective: "perspective";
|
|
21
|
+
orthographic: "orthographic";
|
|
22
|
+
}>>;
|
|
23
|
+
fov: z.ZodOptional<z.ZodNumber>;
|
|
24
|
+
zoom: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
}, z.core.$strip>>;
|
|
26
|
+
metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
|
|
27
|
+
id: z.ZodDefault<z.ZodTemplateLiteral<`imesh_${string}`>>;
|
|
28
|
+
type: z.ZodDefault<z.ZodLiteral<"imported-mesh">>;
|
|
29
|
+
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
30
|
+
rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
31
|
+
primitives: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
32
|
+
positions: z.ZodArray<z.ZodNumber>;
|
|
33
|
+
normals: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
|
|
34
|
+
indices: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
|
|
35
|
+
color: z.ZodDefault<z.ZodString>;
|
|
36
|
+
opacity: z.ZodDefault<z.ZodNumber>;
|
|
37
|
+
}, z.core.$strip>>>;
|
|
38
|
+
}, z.core.$strip>;
|
|
39
|
+
export type ImportedMeshNode = z.infer<typeof ImportedMeshNode>;
|
|
40
|
+
//# sourceMappingURL=imported-mesh.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"imported-mesh.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/imported-mesh.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAQvB,eAAO,MAAM,qBAAqB;;;;;;iBAMhC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,4EAA4E;AAC5E,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAa5B,CAAA;AAED,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA"}
|