@pascal-app/core 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/events/bus.d.ts +30 -2
- package/dist/events/bus.d.ts.map +1 -1
- package/dist/hooks/scene-registry/item-clip-registry.d.ts +18 -0
- package/dist/hooks/scene-registry/item-clip-registry.d.ts.map +1 -0
- package/dist/hooks/scene-registry/item-clip-registry.js +10 -0
- package/dist/hooks/scene-registry/scene-registry.d.ts +8 -1
- package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
- package/dist/hooks/scene-registry/scene-registry.js +27 -1
- package/dist/hooks/scene-registry/scene-registry.test.d.ts +2 -0
- package/dist/hooks/scene-registry/scene-registry.test.d.ts.map +1 -0
- package/dist/hooks/scene-registry/scene-registry.test.js +26 -0
- package/dist/hooks/spatial-grid/floor-placed-elevation.test.js +93 -0
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +69 -12
- package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-manager.js +476 -195
- package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
- package/dist/hooks/spatial-grid/spatial-grid-sync.js +19 -1
- package/dist/hooks/spatial-grid/wall-slab-overlap.test.d.ts +2 -0
- package/dist/hooks/spatial-grid/wall-slab-overlap.test.d.ts.map +1 -0
- package/dist/hooks/spatial-grid/wall-slab-overlap.test.js +363 -0
- package/dist/index.d.ts +16 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +15 -5
- package/dist/lib/level-name.d.ts +4 -0
- package/dist/lib/level-name.d.ts.map +1 -0
- package/dist/lib/level-name.js +10 -0
- package/dist/lib/measurement-geometry.d.ts +19 -0
- package/dist/lib/measurement-geometry.d.ts.map +1 -0
- package/dist/lib/measurement-geometry.js +232 -0
- package/dist/lib/measurement-geometry.test.d.ts +2 -0
- package/dist/lib/measurement-geometry.test.d.ts.map +1 -0
- package/dist/lib/measurement-geometry.test.js +102 -0
- package/dist/lib/polygon-geometry.d.ts +0 -1
- package/dist/lib/polygon-geometry.d.ts.map +1 -1
- package/dist/lib/polygon-geometry.js +0 -18
- package/dist/lib/selection-proxy.d.ts +4 -0
- package/dist/lib/selection-proxy.d.ts.map +1 -0
- package/dist/lib/selection-proxy.js +12 -0
- package/dist/lib/slab-polygon.d.ts +31 -2
- package/dist/lib/slab-polygon.d.ts.map +1 -1
- package/dist/lib/slab-polygon.js +525 -31
- package/dist/lib/slab-polygon.test.d.ts +2 -0
- package/dist/lib/slab-polygon.test.d.ts.map +1 -0
- package/dist/lib/slab-polygon.test.js +635 -0
- package/dist/lib/slots.d.ts +14 -0
- package/dist/lib/slots.d.ts.map +1 -0
- package/dist/lib/slots.js +26 -0
- package/dist/lib/space-detection.d.ts +25 -2
- package/dist/lib/space-detection.d.ts.map +1 -1
- package/dist/lib/space-detection.js +414 -118
- package/dist/lib/space-detection.test.js +301 -2
- package/dist/lib/wall-distance.d.ts +60 -0
- package/dist/lib/wall-distance.d.ts.map +1 -0
- package/dist/lib/wall-distance.js +85 -0
- package/dist/lib/zone-quantities.d.ts +21 -0
- package/dist/lib/zone-quantities.d.ts.map +1 -0
- package/dist/lib/zone-quantities.js +183 -0
- package/dist/lib/zone-quantities.test.d.ts +2 -0
- package/dist/lib/zone-quantities.test.d.ts.map +1 -0
- package/dist/lib/zone-quantities.test.js +82 -0
- package/dist/material-library.d.ts +20 -1
- package/dist/material-library.d.ts.map +1 -1
- package/dist/material-library.js +2181 -441
- package/dist/registry/handles.d.ts +75 -2
- package/dist/registry/handles.d.ts.map +1 -1
- package/dist/registry/index.d.ts +3 -3
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +1 -1
- package/dist/registry/registry.d.ts +46 -3
- package/dist/registry/registry.d.ts.map +1 -1
- package/dist/registry/registry.js +82 -1
- package/dist/registry/registry.test.js +14 -1
- package/dist/registry/subtree.d.ts.map +1 -1
- package/dist/registry/subtree.js +4 -0
- package/dist/registry/subtree.test.js +30 -0
- package/dist/registry/types.d.ts +717 -38
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/schema/index.d.ts +21 -5
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +17 -3
- package/dist/schema/material.d.ts +3 -2
- package/dist/schema/material.d.ts.map +1 -1
- package/dist/schema/material.js +7 -5
- package/dist/schema/material.test.d.ts +2 -0
- package/dist/schema/material.test.d.ts.map +1 -0
- package/dist/schema/material.test.js +43 -0
- package/dist/schema/nodes/box-vent.d.ts +2 -2
- package/dist/schema/nodes/cabinet.d.ts +534 -0
- package/dist/schema/nodes/cabinet.d.ts.map +1 -0
- package/dist/schema/nodes/cabinet.js +137 -0
- package/dist/schema/nodes/ceiling.d.ts +3 -2
- package/dist/schema/nodes/ceiling.d.ts.map +1 -1
- package/dist/schema/nodes/ceiling.js +4 -0
- package/dist/schema/nodes/chimney.d.ts +4 -4
- package/dist/schema/nodes/column.d.ts +3 -2
- package/dist/schema/nodes/column.d.ts.map +1 -1
- package/dist/schema/nodes/column.js +3 -0
- package/dist/schema/nodes/cupola.d.ts +2 -2
- package/dist/schema/nodes/door.d.ts +13 -5
- package/dist/schema/nodes/door.d.ts.map +1 -1
- package/dist/schema/nodes/door.js +12 -0
- package/dist/schema/nodes/dormer.d.ts +8 -8
- package/dist/schema/nodes/dormer.js +1 -1
- package/dist/schema/nodes/downspout.d.ts +2 -2
- package/dist/schema/nodes/duct-fitting.d.ts +91 -0
- package/dist/schema/nodes/duct-fitting.d.ts.map +1 -0
- package/dist/schema/nodes/duct-fitting.js +92 -0
- package/dist/schema/nodes/duct-segment.d.ts +61 -0
- package/dist/schema/nodes/duct-segment.d.ts.map +1 -0
- package/dist/schema/nodes/duct-segment.js +73 -0
- package/dist/schema/nodes/duct-terminal.d.ts +57 -0
- package/dist/schema/nodes/duct-terminal.d.ts.map +1 -0
- package/dist/schema/nodes/duct-terminal.js +51 -0
- package/dist/schema/nodes/elevator.d.ts +3 -2
- package/dist/schema/nodes/elevator.d.ts.map +1 -1
- package/dist/schema/nodes/elevator.js +3 -0
- package/dist/schema/nodes/eyebrow-vent.d.ts +2 -2
- package/dist/schema/nodes/fence.d.ts +18 -2
- package/dist/schema/nodes/fence.d.ts.map +1 -1
- package/dist/schema/nodes/fence.js +25 -2
- package/dist/schema/nodes/gutter.d.ts +2 -2
- package/dist/schema/nodes/hvac-equipment.d.ts +63 -0
- package/dist/schema/nodes/hvac-equipment.d.ts.map +1 -0
- package/dist/schema/nodes/hvac-equipment.js +55 -0
- package/dist/schema/nodes/item.d.ts +8 -0
- package/dist/schema/nodes/item.d.ts.map +1 -1
- package/dist/schema/nodes/item.js +11 -0
- 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 +2 -0
- package/dist/schema/nodes/lineset.d.ts +42 -0
- package/dist/schema/nodes/lineset.d.ts.map +1 -0
- package/dist/schema/nodes/lineset.js +38 -0
- package/dist/schema/nodes/liquid-line.d.ts +34 -0
- package/dist/schema/nodes/liquid-line.d.ts.map +1 -0
- package/dist/schema/nodes/liquid-line.js +24 -0
- package/dist/schema/nodes/measurement.d.ts +306 -0
- package/dist/schema/nodes/measurement.d.ts.map +1 -0
- package/dist/schema/nodes/measurement.js +87 -0
- package/dist/schema/nodes/measurement.test.d.ts +2 -0
- package/dist/schema/nodes/measurement.test.d.ts.map +1 -0
- package/dist/schema/nodes/measurement.test.js +139 -0
- package/dist/schema/nodes/pipe-fitting.d.ts +56 -0
- package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -0
- package/dist/schema/nodes/pipe-fitting.js +45 -0
- package/dist/schema/nodes/pipe-segment.d.ts +48 -0
- package/dist/schema/nodes/pipe-segment.d.ts.map +1 -0
- package/dist/schema/nodes/pipe-segment.js +36 -0
- package/dist/schema/nodes/pipe-trap.d.ts +43 -0
- package/dist/schema/nodes/pipe-trap.d.ts.map +1 -0
- package/dist/schema/nodes/pipe-trap.js +36 -0
- package/dist/schema/nodes/ridge-vent-defaults.test.d.ts +2 -0
- package/dist/schema/nodes/ridge-vent-defaults.test.d.ts.map +1 -0
- package/dist/schema/nodes/ridge-vent-defaults.test.js +205 -0
- package/dist/schema/nodes/ridge-vent.d.ts +18 -3
- package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
- package/dist/schema/nodes/ridge-vent.js +221 -3
- package/dist/schema/nodes/roof-segment-shape.d.ts +90 -0
- package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-shape.js +318 -0
- package/dist/schema/nodes/roof-segment-shape.test.d.ts +2 -0
- package/dist/schema/nodes/roof-segment-shape.test.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-shape.test.js +175 -0
- package/dist/schema/nodes/roof-segment-surface.test.d.ts +2 -0
- package/dist/schema/nodes/roof-segment-surface.test.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-surface.test.js +48 -0
- package/dist/schema/nodes/roof-segment-trim.test.d.ts +2 -0
- package/dist/schema/nodes/roof-segment-trim.test.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-trim.test.js +107 -0
- package/dist/schema/nodes/roof-segment-walls.d.ts +101 -0
- package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-walls.js +330 -0
- package/dist/schema/nodes/roof-segment-walls.test.d.ts +2 -0
- package/dist/schema/nodes/roof-segment-walls.test.d.ts.map +1 -0
- package/dist/schema/nodes/roof-segment-walls.test.js +92 -0
- package/dist/schema/nodes/roof-segment.d.ts +84 -8
- package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
- package/dist/schema/nodes/roof-segment.js +290 -5
- package/dist/schema/nodes/roof.d.ts +8 -8
- package/dist/schema/nodes/shelf.d.ts +3 -2
- package/dist/schema/nodes/shelf.d.ts.map +1 -1
- package/dist/schema/nodes/shelf.js +6 -0
- package/dist/schema/nodes/skylight.d.ts +10 -10
- package/dist/schema/nodes/slab.d.ts +3 -2
- package/dist/schema/nodes/slab.d.ts.map +1 -1
- package/dist/schema/nodes/slab.js +4 -0
- package/dist/schema/nodes/solar-panel.d.ts +4 -4
- package/dist/schema/nodes/stair-segment.d.ts +4 -4
- package/dist/schema/nodes/stair.d.ts +13 -12
- package/dist/schema/nodes/stair.d.ts.map +1 -1
- package/dist/schema/nodes/stair.js +3 -0
- package/dist/schema/nodes/turbine-vent.d.ts +2 -2
- package/dist/schema/nodes/wall.d.ts +245 -6
- package/dist/schema/nodes/wall.d.ts.map +1 -1
- package/dist/schema/nodes/wall.js +257 -0
- package/dist/schema/nodes/wall.test.d.ts +2 -0
- package/dist/schema/nodes/wall.test.d.ts.map +1 -0
- package/dist/schema/nodes/wall.test.js +208 -0
- package/dist/schema/nodes/window.d.ts +11 -3
- package/dist/schema/nodes/window.d.ts.map +1 -1
- package/dist/schema/nodes/window.js +12 -0
- package/dist/schema/nodes/zone.d.ts +2 -0
- package/dist/schema/nodes/zone.d.ts.map +1 -1
- package/dist/schema/nodes/zone.js +6 -0
- package/dist/schema/scene-material.d.ts +41 -0
- package/dist/schema/scene-material.d.ts.map +1 -0
- package/dist/schema/scene-material.js +9 -0
- package/dist/schema/types.d.ts +1089 -94
- package/dist/schema/types.d.ts.map +1 -1
- package/dist/schema/types.js +23 -0
- package/dist/services/alignment-anchors.d.ts.map +1 -1
- package/dist/services/alignment-anchors.js +30 -1
- package/dist/services/alignment.d.ts +5 -0
- package/dist/services/alignment.d.ts.map +1 -1
- package/dist/services/alignment.js +2 -0
- package/dist/services/hosting.d.ts +8 -0
- package/dist/services/hosting.d.ts.map +1 -1
- package/dist/services/hosting.js +13 -4
- package/dist/services/hosting.test.js +32 -1
- package/dist/services/index.d.ts +8 -2
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +8 -2
- package/dist/services/level-height.d.ts +28 -0
- package/dist/services/level-height.d.ts.map +1 -0
- package/dist/services/level-height.js +62 -0
- package/dist/services/opening-guides.d.ts +141 -0
- package/dist/services/opening-guides.d.ts.map +1 -0
- package/dist/services/opening-guides.js +267 -0
- package/dist/services/opening-guides.test.d.ts +2 -0
- package/dist/services/opening-guides.test.d.ts.map +1 -0
- package/dist/services/opening-guides.test.js +208 -0
- package/dist/services/port-connectivity.d.ts +115 -0
- package/dist/services/port-connectivity.d.ts.map +1 -0
- package/dist/services/port-connectivity.js +300 -0
- package/dist/services/port-connectivity.test.d.ts +2 -0
- package/dist/services/port-connectivity.test.d.ts.map +1 -0
- package/dist/services/port-connectivity.test.js +297 -0
- package/dist/services/riser-diagram.d.ts +40 -0
- package/dist/services/riser-diagram.d.ts.map +1 -0
- package/dist/services/riser-diagram.js +110 -0
- package/dist/services/riser-diagram.test.d.ts +2 -0
- package/dist/services/riser-diagram.test.d.ts.map +1 -0
- package/dist/services/riser-diagram.test.js +66 -0
- package/dist/services/snap.d.ts +9 -1
- package/dist/services/snap.d.ts.map +1 -1
- package/dist/services/snap.js +21 -1
- package/dist/services/snap.test.js +43 -1
- package/dist/services/system-graph.d.ts +30 -0
- package/dist/services/system-graph.d.ts.map +1 -0
- package/dist/services/system-graph.js +164 -0
- package/dist/services/system-graph.test.d.ts +2 -0
- package/dist/services/system-graph.test.d.ts.map +1 -0
- package/dist/services/system-graph.test.js +138 -0
- package/dist/services/validate-dwv.d.ts +32 -0
- package/dist/services/validate-dwv.d.ts.map +1 -0
- package/dist/services/validate-dwv.js +118 -0
- package/dist/services/validate-dwv.test.d.ts +2 -0
- package/dist/services/validate-dwv.test.d.ts.map +1 -0
- package/dist/services/validate-dwv.test.js +109 -0
- package/dist/store/actions/node-actions.d.ts.map +1 -1
- package/dist/store/actions/node-actions.js +94 -1
- package/dist/store/actions/ridge-vent-update.test.d.ts +2 -0
- package/dist/store/actions/ridge-vent-update.test.d.ts.map +1 -0
- package/dist/store/actions/ridge-vent-update.test.js +264 -0
- package/dist/store/history-control.d.ts +11 -0
- package/dist/store/history-control.d.ts.map +1 -1
- package/dist/store/history-control.js +33 -0
- package/dist/store/use-scene-dirty-tracking.test.d.ts +2 -0
- package/dist/store/use-scene-dirty-tracking.test.d.ts.map +1 -0
- package/dist/store/use-scene-dirty-tracking.test.js +68 -0
- package/dist/store/use-scene-measurement-roundtrip.test.d.ts +2 -0
- package/dist/store/use-scene-measurement-roundtrip.test.d.ts.map +1 -0
- package/dist/store/use-scene-measurement-roundtrip.test.js +97 -0
- package/dist/store/use-scene-plugins.test.d.ts +2 -0
- package/dist/store/use-scene-plugins.test.d.ts.map +1 -0
- package/dist/store/use-scene-plugins.test.js +51 -0
- package/dist/store/use-scene-wall-slot-migration.test.d.ts +2 -0
- package/dist/store/use-scene-wall-slot-migration.test.d.ts.map +1 -0
- package/dist/store/use-scene-wall-slot-migration.test.js +210 -0
- package/dist/store/use-scene-window-migration.test.d.ts +2 -0
- package/dist/store/use-scene-window-migration.test.d.ts.map +1 -0
- package/dist/store/use-scene-window-migration.test.js +85 -0
- package/dist/store/use-scene.d.ts +17 -2
- package/dist/store/use-scene.d.ts.map +1 -1
- package/dist/store/use-scene.js +358 -51
- package/dist/systems/elevator/elevator-service.js +1 -1
- package/dist/systems/fence/fence-centerline.d.ts +12 -0
- package/dist/systems/fence/fence-centerline.d.ts.map +1 -0
- package/dist/systems/fence/fence-centerline.js +37 -0
- package/dist/systems/fence/fence-spline.d.ts +39 -0
- package/dist/systems/fence/fence-spline.d.ts.map +1 -0
- package/dist/systems/fence/fence-spline.js +196 -0
- package/dist/systems/fence/fence-spline.test.d.ts +2 -0
- package/dist/systems/fence/fence-spline.test.d.ts.map +1 -0
- package/dist/systems/fence/fence-spline.test.js +136 -0
- package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
- package/dist/systems/stair/stair-footprint.js +21 -11
- package/dist/systems/stair/stair-opening-preview.d.ts +1139 -469
- package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
- package/dist/systems/stair/stair-opening-sync.js +1 -18
- package/dist/systems/stair/stair-opening-sync.test.js +39 -0
- package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
- package/dist/systems/wall/wall-mitering.js +38 -2
- package/dist/systems/wall/wall-mitering.test.d.ts +2 -0
- package/dist/systems/wall/wall-mitering.test.d.ts.map +1 -0
- package/dist/systems/wall/wall-mitering.test.js +63 -0
- package/dist/utils/clone-scene-graph.d.ts +1 -0
- package/dist/utils/clone-scene-graph.d.ts.map +1 -1
- package/dist/utils/clone-scene-graph.js +23 -3
- package/dist/utils/clone-scene-graph.test.js +3 -0
- package/dist/utils/heal-scene-graph.d.ts +18 -0
- package/dist/utils/heal-scene-graph.d.ts.map +1 -0
- package/dist/utils/heal-scene-graph.js +90 -0
- package/dist/utils/heal-scene-graph.test.d.ts +2 -0
- package/dist/utils/heal-scene-graph.test.d.ts.map +1 -0
- package/dist/utils/heal-scene-graph.test.js +88 -0
- package/dist/validation/validate-build-json.d.ts +1 -0
- package/dist/validation/validate-build-json.d.ts.map +1 -1
- package/dist/validation/validate-build-json.js +31 -2
- package/package.json +3 -3
|
@@ -81,4 +81,10 @@ export const ShelfNode = BaseNode.extend({
|
|
|
81
81
|
// unchanged once `'shelf'` is added to `MaterialTarget`.
|
|
82
82
|
material: MaterialSchema.optional(),
|
|
83
83
|
materialPreset: z.string().optional(),
|
|
84
|
+
// Per-slot material overrides, mirroring `ItemNode.slots`. Key = slot id
|
|
85
|
+
// (`shelves` / `frame` / `back`, see `shelfSlots`), value = a `MaterialRef`
|
|
86
|
+
// string (`library:<id>` or `scene:<id>`). Absent slot = fall back to the
|
|
87
|
+
// legacy whole-shelf `material` / `materialPreset`, then the registry slot
|
|
88
|
+
// default. A dangling ref renders the default (never blocks).
|
|
89
|
+
slots: z.record(z.string(), z.string()).optional(),
|
|
84
90
|
});
|
|
@@ -14,15 +14,15 @@ export declare const SkylightType: z.ZodEnum<{
|
|
|
14
14
|
}>;
|
|
15
15
|
export type SkylightType = (typeof SKYLIGHT_TYPE_ORDER)[number];
|
|
16
16
|
export declare const SkylightOpeningSide: z.ZodEnum<{
|
|
17
|
+
right: "right";
|
|
18
|
+
left: "left";
|
|
17
19
|
top: "top";
|
|
18
20
|
bottom: "bottom";
|
|
19
|
-
left: "left";
|
|
20
|
-
right: "right";
|
|
21
21
|
}>;
|
|
22
22
|
export type SkylightOpeningSide = z.infer<typeof SkylightOpeningSide>;
|
|
23
23
|
export declare const SkylightSlideDirection: z.ZodEnum<{
|
|
24
|
-
x: "x";
|
|
25
24
|
z: "z";
|
|
25
|
+
x: "x";
|
|
26
26
|
}>;
|
|
27
27
|
export type SkylightSlideDirection = z.infer<typeof SkylightSlideDirection>;
|
|
28
28
|
export type SkylightTypePreset = {
|
|
@@ -173,7 +173,7 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
173
173
|
type: z.ZodDefault<z.ZodLiteral<"skylight">>;
|
|
174
174
|
material: z.ZodOptional<z.ZodObject<{
|
|
175
175
|
id: z.ZodOptional<z.ZodString>;
|
|
176
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
176
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
177
177
|
custom: "custom";
|
|
178
178
|
white: "white";
|
|
179
179
|
brick: "brick";
|
|
@@ -184,7 +184,7 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
184
184
|
plaster: "plaster";
|
|
185
185
|
tile: "tile";
|
|
186
186
|
marble: "marble";
|
|
187
|
-
}
|
|
187
|
+
}>>>;
|
|
188
188
|
properties: z.ZodOptional<z.ZodObject<{
|
|
189
189
|
color: z.ZodDefault<z.ZodString>;
|
|
190
190
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -206,7 +206,7 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
206
206
|
materialPreset: z.ZodOptional<z.ZodString>;
|
|
207
207
|
glassMaterial: z.ZodOptional<z.ZodObject<{
|
|
208
208
|
id: z.ZodOptional<z.ZodString>;
|
|
209
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
209
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
210
210
|
custom: "custom";
|
|
211
211
|
white: "white";
|
|
212
212
|
brick: "brick";
|
|
@@ -217,7 +217,7 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
217
217
|
plaster: "plaster";
|
|
218
218
|
tile: "tile";
|
|
219
219
|
marble: "marble";
|
|
220
|
-
}
|
|
220
|
+
}>>>;
|
|
221
221
|
properties: z.ZodOptional<z.ZodObject<{
|
|
222
222
|
color: z.ZodDefault<z.ZodString>;
|
|
223
223
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -256,17 +256,17 @@ export declare const SkylightNode: z.ZodObject<{
|
|
|
256
256
|
lanternTopScale: z.ZodDefault<z.ZodNumber>;
|
|
257
257
|
openingAngle: z.ZodDefault<z.ZodNumber>;
|
|
258
258
|
openingSide: z.ZodDefault<z.ZodEnum<{
|
|
259
|
+
right: "right";
|
|
260
|
+
left: "left";
|
|
259
261
|
top: "top";
|
|
260
262
|
bottom: "bottom";
|
|
261
|
-
left: "left";
|
|
262
|
-
right: "right";
|
|
263
263
|
}>>;
|
|
264
264
|
operationState: z.ZodDefault<z.ZodNumber>;
|
|
265
265
|
motorHousing: z.ZodDefault<z.ZodBoolean>;
|
|
266
266
|
slideFraction: z.ZodDefault<z.ZodNumber>;
|
|
267
267
|
slideDirection: z.ZodDefault<z.ZodEnum<{
|
|
268
|
-
x: "x";
|
|
269
268
|
z: "z";
|
|
269
|
+
x: "x";
|
|
270
270
|
}>>;
|
|
271
271
|
trackWidth: z.ZodDefault<z.ZodNumber>;
|
|
272
272
|
motorHousingSize: z.ZodDefault<z.ZodNumber>;
|
|
@@ -19,7 +19,7 @@ export declare const SlabNode: z.ZodObject<{
|
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"slab">>;
|
|
20
20
|
material: z.ZodOptional<z.ZodObject<{
|
|
21
21
|
id: z.ZodOptional<z.ZodString>;
|
|
22
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
22
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
23
23
|
custom: "custom";
|
|
24
24
|
white: "white";
|
|
25
25
|
brick: "brick";
|
|
@@ -30,7 +30,7 @@ export declare const SlabNode: z.ZodObject<{
|
|
|
30
30
|
plaster: "plaster";
|
|
31
31
|
tile: "tile";
|
|
32
32
|
marble: "marble";
|
|
33
|
-
}
|
|
33
|
+
}>>>;
|
|
34
34
|
properties: z.ZodOptional<z.ZodObject<{
|
|
35
35
|
color: z.ZodDefault<z.ZodString>;
|
|
36
36
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -50,6 +50,7 @@ export declare const SlabNode: z.ZodObject<{
|
|
|
50
50
|
}, z.core.$strip>>;
|
|
51
51
|
}, z.core.$strip>>;
|
|
52
52
|
materialPreset: z.ZodOptional<z.ZodString>;
|
|
53
|
+
slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
53
54
|
polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
|
|
54
55
|
holes: z.ZodDefault<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
|
|
55
56
|
holeMetadata: z.ZodDefault<z.ZodArray<z.ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slab.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/slab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"slab.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/slab.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAKvB,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAuBpB,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,QAAQ,CAAC,CAAA"}
|
|
@@ -8,6 +8,10 @@ export const SlabNode = BaseNode.extend({
|
|
|
8
8
|
type: nodeType('slab'),
|
|
9
9
|
material: MaterialSchema.optional(),
|
|
10
10
|
materialPreset: z.string().optional(),
|
|
11
|
+
// Per-slot material overrides on the unified slot model, mirroring
|
|
12
|
+
// `ShelfNode.slots`. Key = slot id (`surface`), value = a `MaterialRef`
|
|
13
|
+
// (`library:<id>` / `scene:<id>`). Absent = the declared slot default.
|
|
14
|
+
slots: z.record(z.string(), z.string()).optional(),
|
|
11
15
|
polygon: z.array(z.tuple([z.number(), z.number()])),
|
|
12
16
|
holes: z.array(z.array(z.tuple([z.number(), z.number()]))).default([]),
|
|
13
17
|
holeMetadata: z.array(SurfaceHoleMetadata).default([]),
|
|
@@ -24,7 +24,7 @@ export declare const SolarPanelNode: z.ZodObject<{
|
|
|
24
24
|
type: z.ZodDefault<z.ZodLiteral<"solar-panel">>;
|
|
25
25
|
material: z.ZodOptional<z.ZodObject<{
|
|
26
26
|
id: z.ZodOptional<z.ZodString>;
|
|
27
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
27
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
28
28
|
custom: "custom";
|
|
29
29
|
white: "white";
|
|
30
30
|
brick: "brick";
|
|
@@ -35,7 +35,7 @@ export declare const SolarPanelNode: z.ZodObject<{
|
|
|
35
35
|
plaster: "plaster";
|
|
36
36
|
tile: "tile";
|
|
37
37
|
marble: "marble";
|
|
38
|
-
}
|
|
38
|
+
}>>>;
|
|
39
39
|
properties: z.ZodOptional<z.ZodObject<{
|
|
40
40
|
color: z.ZodDefault<z.ZodString>;
|
|
41
41
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -57,7 +57,7 @@ export declare const SolarPanelNode: z.ZodObject<{
|
|
|
57
57
|
materialPreset: z.ZodOptional<z.ZodString>;
|
|
58
58
|
panelMaterial: z.ZodOptional<z.ZodObject<{
|
|
59
59
|
id: z.ZodOptional<z.ZodString>;
|
|
60
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
60
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
61
61
|
custom: "custom";
|
|
62
62
|
white: "white";
|
|
63
63
|
brick: "brick";
|
|
@@ -68,7 +68,7 @@ export declare const SolarPanelNode: z.ZodObject<{
|
|
|
68
68
|
plaster: "plaster";
|
|
69
69
|
tile: "tile";
|
|
70
70
|
marble: "marble";
|
|
71
|
-
}
|
|
71
|
+
}>>>;
|
|
72
72
|
properties: z.ZodOptional<z.ZodObject<{
|
|
73
73
|
color: z.ZodDefault<z.ZodString>;
|
|
74
74
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -6,8 +6,8 @@ export declare const StairSegmentType: z.ZodEnum<{
|
|
|
6
6
|
export type StairSegmentType = z.infer<typeof StairSegmentType>;
|
|
7
7
|
export declare const AttachmentSide: z.ZodEnum<{
|
|
8
8
|
front: "front";
|
|
9
|
-
left: "left";
|
|
10
9
|
right: "right";
|
|
10
|
+
left: "left";
|
|
11
11
|
}>;
|
|
12
12
|
export type AttachmentSide = z.infer<typeof AttachmentSide>;
|
|
13
13
|
export declare const StairSegmentNode: z.ZodObject<{
|
|
@@ -30,7 +30,7 @@ export declare const StairSegmentNode: z.ZodObject<{
|
|
|
30
30
|
type: z.ZodDefault<z.ZodLiteral<"stair-segment">>;
|
|
31
31
|
material: z.ZodOptional<z.ZodObject<{
|
|
32
32
|
id: z.ZodOptional<z.ZodString>;
|
|
33
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
33
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
34
34
|
custom: "custom";
|
|
35
35
|
white: "white";
|
|
36
36
|
brick: "brick";
|
|
@@ -41,7 +41,7 @@ export declare const StairSegmentNode: z.ZodObject<{
|
|
|
41
41
|
plaster: "plaster";
|
|
42
42
|
tile: "tile";
|
|
43
43
|
marble: "marble";
|
|
44
|
-
}
|
|
44
|
+
}>>>;
|
|
45
45
|
properties: z.ZodOptional<z.ZodObject<{
|
|
46
46
|
color: z.ZodDefault<z.ZodString>;
|
|
47
47
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -73,8 +73,8 @@ export declare const StairSegmentNode: z.ZodObject<{
|
|
|
73
73
|
stepCount: z.ZodDefault<z.ZodNumber>;
|
|
74
74
|
attachmentSide: z.ZodDefault<z.ZodEnum<{
|
|
75
75
|
front: "front";
|
|
76
|
-
left: "left";
|
|
77
76
|
right: "right";
|
|
77
|
+
left: "left";
|
|
78
78
|
}>>;
|
|
79
79
|
fillToFloor: z.ZodDefault<z.ZodBoolean>;
|
|
80
80
|
thickness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { MaterialSchema as MaterialSchemaType } from '../material';
|
|
3
3
|
export declare const StairRailingMode: z.ZodEnum<{
|
|
4
|
-
none: "none";
|
|
5
|
-
left: "left";
|
|
6
4
|
right: "right";
|
|
5
|
+
left: "left";
|
|
6
|
+
none: "none";
|
|
7
7
|
both: "both";
|
|
8
8
|
}>;
|
|
9
9
|
export declare const StairType: z.ZodEnum<{
|
|
@@ -48,7 +48,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
48
48
|
type: z.ZodDefault<z.ZodLiteral<"stair">>;
|
|
49
49
|
material: z.ZodOptional<z.ZodObject<{
|
|
50
50
|
id: z.ZodOptional<z.ZodString>;
|
|
51
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
51
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
52
52
|
custom: "custom";
|
|
53
53
|
white: "white";
|
|
54
54
|
brick: "brick";
|
|
@@ -59,7 +59,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
59
59
|
plaster: "plaster";
|
|
60
60
|
tile: "tile";
|
|
61
61
|
marble: "marble";
|
|
62
|
-
}
|
|
62
|
+
}>>>;
|
|
63
63
|
properties: z.ZodOptional<z.ZodObject<{
|
|
64
64
|
color: z.ZodDefault<z.ZodString>;
|
|
65
65
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -81,7 +81,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
81
81
|
materialPreset: z.ZodOptional<z.ZodString>;
|
|
82
82
|
railingMaterial: z.ZodOptional<z.ZodObject<{
|
|
83
83
|
id: z.ZodOptional<z.ZodString>;
|
|
84
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
84
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
85
85
|
custom: "custom";
|
|
86
86
|
white: "white";
|
|
87
87
|
brick: "brick";
|
|
@@ -92,7 +92,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
92
92
|
plaster: "plaster";
|
|
93
93
|
tile: "tile";
|
|
94
94
|
marble: "marble";
|
|
95
|
-
}
|
|
95
|
+
}>>>;
|
|
96
96
|
properties: z.ZodOptional<z.ZodObject<{
|
|
97
97
|
color: z.ZodDefault<z.ZodString>;
|
|
98
98
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -114,7 +114,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
114
114
|
railingMaterialPreset: z.ZodOptional<z.ZodString>;
|
|
115
115
|
treadMaterial: z.ZodOptional<z.ZodObject<{
|
|
116
116
|
id: z.ZodOptional<z.ZodString>;
|
|
117
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
117
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
118
118
|
custom: "custom";
|
|
119
119
|
white: "white";
|
|
120
120
|
brick: "brick";
|
|
@@ -125,7 +125,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
125
125
|
plaster: "plaster";
|
|
126
126
|
tile: "tile";
|
|
127
127
|
marble: "marble";
|
|
128
|
-
}
|
|
128
|
+
}>>>;
|
|
129
129
|
properties: z.ZodOptional<z.ZodObject<{
|
|
130
130
|
color: z.ZodDefault<z.ZodString>;
|
|
131
131
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -147,7 +147,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
147
147
|
treadMaterialPreset: z.ZodOptional<z.ZodString>;
|
|
148
148
|
sideMaterial: z.ZodOptional<z.ZodObject<{
|
|
149
149
|
id: z.ZodOptional<z.ZodString>;
|
|
150
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
150
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
151
151
|
custom: "custom";
|
|
152
152
|
white: "white";
|
|
153
153
|
brick: "brick";
|
|
@@ -158,7 +158,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
158
158
|
plaster: "plaster";
|
|
159
159
|
tile: "tile";
|
|
160
160
|
marble: "marble";
|
|
161
|
-
}
|
|
161
|
+
}>>>;
|
|
162
162
|
properties: z.ZodOptional<z.ZodObject<{
|
|
163
163
|
color: z.ZodDefault<z.ZodString>;
|
|
164
164
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -178,6 +178,7 @@ export declare const StairNode: z.ZodObject<{
|
|
|
178
178
|
}, z.core.$strip>>;
|
|
179
179
|
}, z.core.$strip>>;
|
|
180
180
|
sideMaterialPreset: z.ZodOptional<z.ZodString>;
|
|
181
|
+
slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
181
182
|
position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
|
|
182
183
|
rotation: z.ZodDefault<z.ZodNumber>;
|
|
183
184
|
stairType: z.ZodDefault<z.ZodEnum<{
|
|
@@ -207,9 +208,9 @@ export declare const StairNode: z.ZodObject<{
|
|
|
207
208
|
showCenterColumn: z.ZodDefault<z.ZodBoolean>;
|
|
208
209
|
showStepSupports: z.ZodDefault<z.ZodBoolean>;
|
|
209
210
|
railingMode: z.ZodDefault<z.ZodEnum<{
|
|
210
|
-
none: "none";
|
|
211
|
-
left: "left";
|
|
212
211
|
right: "right";
|
|
212
|
+
left: "left";
|
|
213
|
+
none: "none";
|
|
213
214
|
both: "both";
|
|
214
215
|
}>>;
|
|
215
216
|
railingHeight: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stair.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/stair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIvE,eAAO,MAAM,gBAAgB;;;;;EAA4C,CAAA;AACzE,eAAO,MAAM,SAAS;;;;EAA2C,CAAA;AACjE,eAAO,MAAM,mBAAmB;;;EAAiC,CAAA;AACjE,eAAO,MAAM,oBAAoB;;;EAAkC,CAAA;AAEnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AACjD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AACnE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,SAAS
|
|
1
|
+
{"version":3,"file":"stair.d.ts","sourceRoot":"","sources":["../../../src/schema/nodes/stair.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,OAAO,KAAK,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAIvE,eAAO,MAAM,gBAAgB;;;;;EAA4C,CAAA;AACzE,eAAO,MAAM,SAAS;;;;EAA2C,CAAA;AACjE,eAAO,MAAM,mBAAmB;;;EAAiC,CAAA;AACjE,eAAO,MAAM,oBAAoB;;;EAAkC,CAAA;AAEnE,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAC/D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AACjD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA;AACrE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AACvE,MAAM,MAAM,wBAAwB,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,CAAA;AACnE,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,kBAAkB,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA+DrB,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAA;AASjD,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,SAAS,EACf,IAAI,EAAE,wBAAwB,GAC7B,wBAAwB,CAmE1B"}
|
|
@@ -18,6 +18,9 @@ export const StairNode = BaseNode.extend({
|
|
|
18
18
|
treadMaterialPreset: z.string().optional(),
|
|
19
19
|
sideMaterial: MaterialSchema.optional(),
|
|
20
20
|
sideMaterialPreset: z.string().optional(),
|
|
21
|
+
// Unified paint-slot refs (`scene:`/`library:` MaterialRef per slot id),
|
|
22
|
+
// matching the slot model items/slab/shelf use. Absent = declared default.
|
|
23
|
+
slots: z.record(z.string(), z.string()).optional(),
|
|
21
24
|
position: z.tuple([z.number(), z.number(), z.number()]).default([0, 0, 0]),
|
|
22
25
|
// Rotation around Y axis in radians
|
|
23
26
|
rotation: z.number().default(0),
|
|
@@ -19,7 +19,7 @@ export declare const TurbineVentNode: z.ZodObject<{
|
|
|
19
19
|
type: z.ZodDefault<z.ZodLiteral<"turbine-vent">>;
|
|
20
20
|
material: z.ZodOptional<z.ZodObject<{
|
|
21
21
|
id: z.ZodOptional<z.ZodString>;
|
|
22
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
22
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
23
23
|
custom: "custom";
|
|
24
24
|
white: "white";
|
|
25
25
|
brick: "brick";
|
|
@@ -30,7 +30,7 @@ export declare const TurbineVentNode: z.ZodObject<{
|
|
|
30
30
|
plaster: "plaster";
|
|
31
31
|
tile: "tile";
|
|
32
32
|
marble: "marble";
|
|
33
|
-
}
|
|
33
|
+
}>>>;
|
|
34
34
|
properties: z.ZodOptional<z.ZodObject<{
|
|
35
35
|
color: z.ZodDefault<z.ZodString>;
|
|
36
36
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -1,5 +1,128 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { MaterialSchema } from '../material';
|
|
3
|
+
export declare const WallTreatmentSide: z.ZodEnum<{
|
|
4
|
+
interior: "interior";
|
|
5
|
+
exterior: "exterior";
|
|
6
|
+
both: "both";
|
|
7
|
+
}>;
|
|
8
|
+
export type WallTreatmentSide = z.infer<typeof WallTreatmentSide>;
|
|
9
|
+
export declare const WallTrimProfile: z.ZodEnum<{
|
|
10
|
+
flat: "flat";
|
|
11
|
+
bevel: "bevel";
|
|
12
|
+
triangle: "triangle";
|
|
13
|
+
cove: "cove";
|
|
14
|
+
bullnose: "bullnose";
|
|
15
|
+
"base-modern": "base-modern";
|
|
16
|
+
"base-colonial": "base-colonial";
|
|
17
|
+
"base-shoe": "base-shoe";
|
|
18
|
+
"base-ogee": "base-ogee";
|
|
19
|
+
"crown-cove": "crown-cove";
|
|
20
|
+
"crown-ogee": "crown-ogee";
|
|
21
|
+
"crown-craftsman": "crown-craftsman";
|
|
22
|
+
"crown-layered": "crown-layered";
|
|
23
|
+
"rail-rounded": "rail-rounded";
|
|
24
|
+
"rail-ogee": "rail-ogee";
|
|
25
|
+
"rail-picture": "rail-picture";
|
|
26
|
+
"rail-stepped": "rail-stepped";
|
|
27
|
+
}>;
|
|
28
|
+
export type WallTrimProfile = z.infer<typeof WallTrimProfile>;
|
|
29
|
+
export declare const WallTrimConfig: z.ZodObject<{
|
|
30
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
31
|
+
sides: z.ZodDefault<z.ZodEnum<{
|
|
32
|
+
interior: "interior";
|
|
33
|
+
exterior: "exterior";
|
|
34
|
+
both: "both";
|
|
35
|
+
}>>;
|
|
36
|
+
height: z.ZodDefault<z.ZodNumber>;
|
|
37
|
+
proud: z.ZodDefault<z.ZodNumber>;
|
|
38
|
+
profile: z.ZodDefault<z.ZodEnum<{
|
|
39
|
+
flat: "flat";
|
|
40
|
+
bevel: "bevel";
|
|
41
|
+
triangle: "triangle";
|
|
42
|
+
cove: "cove";
|
|
43
|
+
bullnose: "bullnose";
|
|
44
|
+
"base-modern": "base-modern";
|
|
45
|
+
"base-colonial": "base-colonial";
|
|
46
|
+
"base-shoe": "base-shoe";
|
|
47
|
+
"base-ogee": "base-ogee";
|
|
48
|
+
"crown-cove": "crown-cove";
|
|
49
|
+
"crown-ogee": "crown-ogee";
|
|
50
|
+
"crown-craftsman": "crown-craftsman";
|
|
51
|
+
"crown-layered": "crown-layered";
|
|
52
|
+
"rail-rounded": "rail-rounded";
|
|
53
|
+
"rail-ogee": "rail-ogee";
|
|
54
|
+
"rail-picture": "rail-picture";
|
|
55
|
+
"rail-stepped": "rail-stepped";
|
|
56
|
+
}>>;
|
|
57
|
+
offsetY: z.ZodOptional<z.ZodNumber>;
|
|
58
|
+
}, z.core.$strip>;
|
|
59
|
+
export type WallTrimConfig = z.infer<typeof WallTrimConfig>;
|
|
60
|
+
export declare const WALL_SKIRTING_DEFAULT: WallTrimConfig;
|
|
61
|
+
export declare const WALL_CROWN_DEFAULT: WallTrimConfig;
|
|
62
|
+
export declare const WALL_CHAIR_RAIL_DEFAULT: WallTrimConfig;
|
|
63
|
+
export declare const WALL_TRIM_DEFAULTS: {
|
|
64
|
+
readonly skirting: {
|
|
65
|
+
enabled: boolean;
|
|
66
|
+
sides: "interior" | "exterior" | "both";
|
|
67
|
+
height: number;
|
|
68
|
+
proud: number;
|
|
69
|
+
profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
|
|
70
|
+
offsetY?: number | undefined;
|
|
71
|
+
};
|
|
72
|
+
readonly crown: {
|
|
73
|
+
enabled: boolean;
|
|
74
|
+
sides: "interior" | "exterior" | "both";
|
|
75
|
+
height: number;
|
|
76
|
+
proud: number;
|
|
77
|
+
profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
|
|
78
|
+
offsetY?: number | undefined;
|
|
79
|
+
};
|
|
80
|
+
readonly chairRail: {
|
|
81
|
+
enabled: boolean;
|
|
82
|
+
sides: "interior" | "exterior" | "both";
|
|
83
|
+
height: number;
|
|
84
|
+
proud: number;
|
|
85
|
+
profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
|
|
86
|
+
offsetY?: number | undefined;
|
|
87
|
+
};
|
|
88
|
+
};
|
|
89
|
+
export declare const WallFaceBandConfig: z.ZodPreprocess<z.ZodObject<{
|
|
90
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
91
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
92
|
+
lowerHeight: z.ZodDefault<z.ZodNumber>;
|
|
93
|
+
middleHeight: z.ZodDefault<z.ZodNumber>;
|
|
94
|
+
upperHeight: z.ZodDefault<z.ZodNumber>;
|
|
95
|
+
}, z.core.$strip>>;
|
|
96
|
+
export type WallFaceBandConfig = z.infer<typeof WallFaceBandConfig>;
|
|
97
|
+
export declare const WALL_FACE_BAND_DEFAULT: WallFaceBandConfig;
|
|
98
|
+
export declare const WALL_SKIRTING_SLOT_DEFAULT = "library:preset-softwhite";
|
|
99
|
+
export declare const WALL_CROWN_SLOT_DEFAULT = "library:preset-white";
|
|
100
|
+
export declare const WALL_CHAIR_RAIL_SLOT_DEFAULT = "library:preset-cream";
|
|
101
|
+
export declare const WALL_FACE_BAND_SOLID_SLOT_DEFAULTS: {
|
|
102
|
+
readonly lower: "library:preset-white";
|
|
103
|
+
readonly middle: "library:preset-lightgrey";
|
|
104
|
+
readonly upper: "library:preset-greige";
|
|
105
|
+
readonly top: "library:preset-softwhite";
|
|
106
|
+
};
|
|
107
|
+
export declare const WALL_SURFACE_SLOT_DEFAULTS: {
|
|
108
|
+
readonly interior: "library:concrete-drywall";
|
|
109
|
+
readonly exterior: "library:concrete-drywall";
|
|
110
|
+
readonly lowerInterior: "library:concrete-drywall";
|
|
111
|
+
readonly middleInterior: "library:concrete-drywall";
|
|
112
|
+
readonly upperInterior: "library:concrete-drywall";
|
|
113
|
+
readonly topInterior: "library:concrete-drywall";
|
|
114
|
+
readonly lowerExterior: "library:concrete-drywall";
|
|
115
|
+
readonly middleExterior: "library:concrete-drywall";
|
|
116
|
+
readonly upperExterior: "library:concrete-drywall";
|
|
117
|
+
readonly topExterior: "library:concrete-drywall";
|
|
118
|
+
readonly skirtingInterior: "library:preset-softwhite";
|
|
119
|
+
readonly skirtingExterior: "library:preset-softwhite";
|
|
120
|
+
readonly crownInterior: "library:preset-white";
|
|
121
|
+
readonly crownExterior: "library:preset-white";
|
|
122
|
+
readonly chairRailInterior: "library:preset-cream";
|
|
123
|
+
readonly chairRailExterior: "library:preset-cream";
|
|
124
|
+
};
|
|
125
|
+
export type WallSurfaceSlotId = keyof typeof WALL_SURFACE_SLOT_DEFAULTS;
|
|
3
126
|
export declare const WallNode: z.ZodObject<{
|
|
4
127
|
object: z.ZodDefault<z.ZodLiteral<"node">>;
|
|
5
128
|
name: z.ZodOptional<z.ZodString>;
|
|
@@ -21,7 +144,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
21
144
|
children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`door_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`window_${string}`>>]>>>;
|
|
22
145
|
material: z.ZodOptional<z.ZodObject<{
|
|
23
146
|
id: z.ZodOptional<z.ZodString>;
|
|
24
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
147
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
25
148
|
custom: "custom";
|
|
26
149
|
white: "white";
|
|
27
150
|
brick: "brick";
|
|
@@ -32,7 +155,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
32
155
|
plaster: "plaster";
|
|
33
156
|
tile: "tile";
|
|
34
157
|
marble: "marble";
|
|
35
|
-
}
|
|
158
|
+
}>>>;
|
|
36
159
|
properties: z.ZodOptional<z.ZodObject<{
|
|
37
160
|
color: z.ZodDefault<z.ZodString>;
|
|
38
161
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -54,7 +177,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
54
177
|
materialPreset: z.ZodOptional<z.ZodString>;
|
|
55
178
|
interiorMaterial: z.ZodOptional<z.ZodObject<{
|
|
56
179
|
id: z.ZodOptional<z.ZodString>;
|
|
57
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
180
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
58
181
|
custom: "custom";
|
|
59
182
|
white: "white";
|
|
60
183
|
brick: "brick";
|
|
@@ -65,7 +188,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
65
188
|
plaster: "plaster";
|
|
66
189
|
tile: "tile";
|
|
67
190
|
marble: "marble";
|
|
68
|
-
}
|
|
191
|
+
}>>>;
|
|
69
192
|
properties: z.ZodOptional<z.ZodObject<{
|
|
70
193
|
color: z.ZodDefault<z.ZodString>;
|
|
71
194
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -87,7 +210,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
87
210
|
interiorMaterialPreset: z.ZodOptional<z.ZodString>;
|
|
88
211
|
exteriorMaterial: z.ZodOptional<z.ZodObject<{
|
|
89
212
|
id: z.ZodOptional<z.ZodString>;
|
|
90
|
-
preset: z.ZodOptional<z.ZodEnum<{
|
|
213
|
+
preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
|
|
91
214
|
custom: "custom";
|
|
92
215
|
white: "white";
|
|
93
216
|
brick: "brick";
|
|
@@ -98,7 +221,7 @@ export declare const WallNode: z.ZodObject<{
|
|
|
98
221
|
plaster: "plaster";
|
|
99
222
|
tile: "tile";
|
|
100
223
|
marble: "marble";
|
|
101
|
-
}
|
|
224
|
+
}>>>;
|
|
102
225
|
properties: z.ZodOptional<z.ZodObject<{
|
|
103
226
|
color: z.ZodDefault<z.ZodString>;
|
|
104
227
|
roughness: z.ZodDefault<z.ZodNumber>;
|
|
@@ -118,9 +241,107 @@ export declare const WallNode: z.ZodObject<{
|
|
|
118
241
|
}, z.core.$strip>>;
|
|
119
242
|
}, z.core.$strip>>;
|
|
120
243
|
exteriorMaterialPreset: z.ZodOptional<z.ZodString>;
|
|
244
|
+
slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
|
|
121
245
|
thickness: z.ZodOptional<z.ZodNumber>;
|
|
122
246
|
height: z.ZodOptional<z.ZodNumber>;
|
|
123
247
|
curveOffset: z.ZodOptional<z.ZodNumber>;
|
|
248
|
+
faceBands: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
|
|
249
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
250
|
+
count: z.ZodDefault<z.ZodNumber>;
|
|
251
|
+
lowerHeight: z.ZodDefault<z.ZodNumber>;
|
|
252
|
+
middleHeight: z.ZodDefault<z.ZodNumber>;
|
|
253
|
+
upperHeight: z.ZodDefault<z.ZodNumber>;
|
|
254
|
+
}, z.core.$strip>>>;
|
|
255
|
+
skirting: z.ZodOptional<z.ZodObject<{
|
|
256
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
257
|
+
sides: z.ZodDefault<z.ZodEnum<{
|
|
258
|
+
interior: "interior";
|
|
259
|
+
exterior: "exterior";
|
|
260
|
+
both: "both";
|
|
261
|
+
}>>;
|
|
262
|
+
height: z.ZodDefault<z.ZodNumber>;
|
|
263
|
+
proud: z.ZodDefault<z.ZodNumber>;
|
|
264
|
+
profile: z.ZodDefault<z.ZodEnum<{
|
|
265
|
+
flat: "flat";
|
|
266
|
+
bevel: "bevel";
|
|
267
|
+
triangle: "triangle";
|
|
268
|
+
cove: "cove";
|
|
269
|
+
bullnose: "bullnose";
|
|
270
|
+
"base-modern": "base-modern";
|
|
271
|
+
"base-colonial": "base-colonial";
|
|
272
|
+
"base-shoe": "base-shoe";
|
|
273
|
+
"base-ogee": "base-ogee";
|
|
274
|
+
"crown-cove": "crown-cove";
|
|
275
|
+
"crown-ogee": "crown-ogee";
|
|
276
|
+
"crown-craftsman": "crown-craftsman";
|
|
277
|
+
"crown-layered": "crown-layered";
|
|
278
|
+
"rail-rounded": "rail-rounded";
|
|
279
|
+
"rail-ogee": "rail-ogee";
|
|
280
|
+
"rail-picture": "rail-picture";
|
|
281
|
+
"rail-stepped": "rail-stepped";
|
|
282
|
+
}>>;
|
|
283
|
+
offsetY: z.ZodOptional<z.ZodNumber>;
|
|
284
|
+
}, z.core.$strip>>;
|
|
285
|
+
crown: z.ZodOptional<z.ZodObject<{
|
|
286
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
287
|
+
sides: z.ZodDefault<z.ZodEnum<{
|
|
288
|
+
interior: "interior";
|
|
289
|
+
exterior: "exterior";
|
|
290
|
+
both: "both";
|
|
291
|
+
}>>;
|
|
292
|
+
height: z.ZodDefault<z.ZodNumber>;
|
|
293
|
+
proud: z.ZodDefault<z.ZodNumber>;
|
|
294
|
+
profile: z.ZodDefault<z.ZodEnum<{
|
|
295
|
+
flat: "flat";
|
|
296
|
+
bevel: "bevel";
|
|
297
|
+
triangle: "triangle";
|
|
298
|
+
cove: "cove";
|
|
299
|
+
bullnose: "bullnose";
|
|
300
|
+
"base-modern": "base-modern";
|
|
301
|
+
"base-colonial": "base-colonial";
|
|
302
|
+
"base-shoe": "base-shoe";
|
|
303
|
+
"base-ogee": "base-ogee";
|
|
304
|
+
"crown-cove": "crown-cove";
|
|
305
|
+
"crown-ogee": "crown-ogee";
|
|
306
|
+
"crown-craftsman": "crown-craftsman";
|
|
307
|
+
"crown-layered": "crown-layered";
|
|
308
|
+
"rail-rounded": "rail-rounded";
|
|
309
|
+
"rail-ogee": "rail-ogee";
|
|
310
|
+
"rail-picture": "rail-picture";
|
|
311
|
+
"rail-stepped": "rail-stepped";
|
|
312
|
+
}>>;
|
|
313
|
+
offsetY: z.ZodOptional<z.ZodNumber>;
|
|
314
|
+
}, z.core.$strip>>;
|
|
315
|
+
chairRail: z.ZodOptional<z.ZodObject<{
|
|
316
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
317
|
+
sides: z.ZodDefault<z.ZodEnum<{
|
|
318
|
+
interior: "interior";
|
|
319
|
+
exterior: "exterior";
|
|
320
|
+
both: "both";
|
|
321
|
+
}>>;
|
|
322
|
+
height: z.ZodDefault<z.ZodNumber>;
|
|
323
|
+
proud: z.ZodDefault<z.ZodNumber>;
|
|
324
|
+
profile: z.ZodDefault<z.ZodEnum<{
|
|
325
|
+
flat: "flat";
|
|
326
|
+
bevel: "bevel";
|
|
327
|
+
triangle: "triangle";
|
|
328
|
+
cove: "cove";
|
|
329
|
+
bullnose: "bullnose";
|
|
330
|
+
"base-modern": "base-modern";
|
|
331
|
+
"base-colonial": "base-colonial";
|
|
332
|
+
"base-shoe": "base-shoe";
|
|
333
|
+
"base-ogee": "base-ogee";
|
|
334
|
+
"crown-cove": "crown-cove";
|
|
335
|
+
"crown-ogee": "crown-ogee";
|
|
336
|
+
"crown-craftsman": "crown-craftsman";
|
|
337
|
+
"crown-layered": "crown-layered";
|
|
338
|
+
"rail-rounded": "rail-rounded";
|
|
339
|
+
"rail-ogee": "rail-ogee";
|
|
340
|
+
"rail-picture": "rail-picture";
|
|
341
|
+
"rail-stepped": "rail-stepped";
|
|
342
|
+
}>>;
|
|
343
|
+
offsetY: z.ZodOptional<z.ZodNumber>;
|
|
344
|
+
}, z.core.$strip>>;
|
|
124
345
|
start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
125
346
|
end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
|
|
126
347
|
frontSide: z.ZodDefault<z.ZodEnum<{
|
|
@@ -136,6 +357,24 @@ export declare const WallNode: z.ZodObject<{
|
|
|
136
357
|
}, z.core.$strip>;
|
|
137
358
|
export type WallNode = z.infer<typeof WallNode>;
|
|
138
359
|
export type WallSurfaceSide = 'interior' | 'exterior';
|
|
360
|
+
export type WallFaceBand = 'lower' | 'middle' | 'upper' | 'top';
|
|
361
|
+
export type WallBandSurfaceSlotId = 'lowerInterior' | 'middleInterior' | 'upperInterior' | 'topInterior' | 'lowerExterior' | 'middleExterior' | 'upperExterior' | 'topExterior';
|
|
362
|
+
export declare const WALL_SLOT_DEFAULT: Record<WallSurfaceSide, string>;
|
|
363
|
+
export declare function getWallFaceBandConfig(wall: Pick<WallNode, 'height' | 'faceBands'>): {
|
|
364
|
+
enabled: boolean;
|
|
365
|
+
count: number;
|
|
366
|
+
lowerHeight: number;
|
|
367
|
+
middleHeight: number;
|
|
368
|
+
upperHeight: number;
|
|
369
|
+
lowerTop: number;
|
|
370
|
+
middleTop: number;
|
|
371
|
+
upperTop: number;
|
|
372
|
+
};
|
|
373
|
+
export declare function getWallFaceBandForHeight(wall: Pick<WallNode, 'height' | 'faceBands'>, y: number): WallFaceBand;
|
|
374
|
+
export declare function getWallBandSlotId(side: WallSurfaceSide, band: WallFaceBand): WallBandSurfaceSlotId;
|
|
375
|
+
export declare function buildWallFaceBandCountPatch(wall: Pick<WallNode, 'faceBands' | 'slots'>, count: number): Pick<WallNode, 'faceBands' | 'slots'>;
|
|
376
|
+
export declare function buildEnabledWallFaceBandPatch(wall: Pick<WallNode, 'faceBands' | 'slots'>): Pick<WallNode, 'faceBands' | 'slots'>;
|
|
377
|
+
export declare function getWallSurfaceSideFromBandSlot(slotId: string): WallSurfaceSide | null;
|
|
139
378
|
export type WallSurfaceMaterialSpec = {
|
|
140
379
|
material?: z.infer<typeof MaterialSchema>;
|
|
141
380
|
materialPreset?: string;
|