@pascal-app/core 0.9.1 → 1.0.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (378) hide show
  1. package/README.md +17 -10
  2. package/dist/events/bus.d.ts +49 -2
  3. package/dist/events/bus.d.ts.map +1 -1
  4. package/dist/hooks/scene-registry/item-clip-registry.d.ts +18 -0
  5. package/dist/hooks/scene-registry/item-clip-registry.d.ts.map +1 -0
  6. package/dist/hooks/scene-registry/item-clip-registry.js +10 -0
  7. package/dist/hooks/scene-registry/scene-registry.d.ts +8 -1
  8. package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
  9. package/dist/hooks/scene-registry/scene-registry.js +27 -1
  10. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts +17 -1
  11. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
  12. package/dist/hooks/spatial-grid/floor-placed-elevation.js +61 -8
  13. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +135 -28
  14. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  15. package/dist/hooks/spatial-grid/spatial-grid-manager.js +427 -271
  16. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +46 -1
  17. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  18. package/dist/hooks/spatial-grid/spatial-grid-sync.js +208 -9
  19. package/dist/hooks/spatial-grid/support-host-id.d.ts +3 -0
  20. package/dist/hooks/spatial-grid/support-host-id.d.ts.map +1 -0
  21. package/dist/hooks/spatial-grid/support-host-id.js +2 -0
  22. package/dist/hooks/spatial-grid/support-host-patch.d.ts +51 -0
  23. package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -0
  24. package/dist/hooks/spatial-grid/support-host-patch.js +164 -0
  25. package/dist/index.d.ts +33 -11
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js +32 -10
  28. package/dist/lib/level-name.d.ts +4 -0
  29. package/dist/lib/level-name.d.ts.map +1 -0
  30. package/dist/lib/level-name.js +10 -0
  31. package/dist/lib/measurement-geometry.d.ts +23 -0
  32. package/dist/lib/measurement-geometry.d.ts.map +1 -0
  33. package/dist/lib/measurement-geometry.js +249 -0
  34. package/dist/lib/polygon-geometry.d.ts +0 -1
  35. package/dist/lib/polygon-geometry.d.ts.map +1 -1
  36. package/dist/lib/polygon-geometry.js +0 -18
  37. package/dist/lib/selection-proxy.d.ts +4 -0
  38. package/dist/lib/selection-proxy.d.ts.map +1 -0
  39. package/dist/lib/selection-proxy.js +12 -0
  40. package/dist/lib/slab-polygon.d.ts +31 -2
  41. package/dist/lib/slab-polygon.d.ts.map +1 -1
  42. package/dist/lib/slab-polygon.js +557 -31
  43. package/dist/lib/slots.d.ts +14 -0
  44. package/dist/lib/slots.d.ts.map +1 -0
  45. package/dist/lib/slots.js +26 -0
  46. package/dist/lib/space-detection.d.ts +40 -6
  47. package/dist/lib/space-detection.d.ts.map +1 -1
  48. package/dist/lib/space-detection.js +574 -192
  49. package/dist/lib/terrain-brush.d.ts +163 -0
  50. package/dist/lib/terrain-brush.d.ts.map +1 -0
  51. package/dist/lib/terrain-brush.js +359 -0
  52. package/dist/lib/terrain-codec.d.ts +51 -0
  53. package/dist/lib/terrain-codec.d.ts.map +1 -0
  54. package/dist/lib/terrain-codec.js +167 -0
  55. package/dist/lib/terrain-field.d.ts +150 -0
  56. package/dist/lib/terrain-field.d.ts.map +1 -0
  57. package/dist/lib/terrain-field.js +248 -0
  58. package/dist/lib/terrain-raycast.d.ts +44 -0
  59. package/dist/lib/terrain-raycast.d.ts.map +1 -0
  60. package/dist/lib/terrain-raycast.js +188 -0
  61. package/dist/lib/terrain-source.d.ts +60 -0
  62. package/dist/lib/terrain-source.d.ts.map +1 -0
  63. package/dist/lib/terrain-source.js +90 -0
  64. package/dist/lib/terrain-support.d.ts +60 -0
  65. package/dist/lib/terrain-support.d.ts.map +1 -0
  66. package/dist/lib/terrain-support.js +150 -0
  67. package/dist/lib/wall-distance.d.ts +60 -0
  68. package/dist/lib/wall-distance.d.ts.map +1 -0
  69. package/dist/lib/wall-distance.js +85 -0
  70. package/dist/lib/zone-quantities.d.ts +21 -0
  71. package/dist/lib/zone-quantities.d.ts.map +1 -0
  72. package/dist/lib/zone-quantities.js +428 -0
  73. package/dist/material-library.d.ts +28 -1
  74. package/dist/material-library.d.ts.map +1 -1
  75. package/dist/material-library.js +2233 -441
  76. package/dist/registry/handles.d.ts +91 -3
  77. package/dist/registry/handles.d.ts.map +1 -1
  78. package/dist/registry/index.d.ts +3 -3
  79. package/dist/registry/index.d.ts.map +1 -1
  80. package/dist/registry/index.js +1 -1
  81. package/dist/registry/registry.d.ts +46 -3
  82. package/dist/registry/registry.d.ts.map +1 -1
  83. package/dist/registry/registry.js +82 -1
  84. package/dist/registry/subtree.d.ts.map +1 -1
  85. package/dist/registry/subtree.js +8 -1
  86. package/dist/registry/types.d.ts +781 -39
  87. package/dist/registry/types.d.ts.map +1 -1
  88. package/dist/schema/index.d.ts +27 -8
  89. package/dist/schema/index.d.ts.map +1 -1
  90. package/dist/schema/index.js +23 -6
  91. package/dist/schema/material.d.ts +3 -2
  92. package/dist/schema/material.d.ts.map +1 -1
  93. package/dist/schema/material.js +7 -5
  94. package/dist/schema/nodes/box-vent.d.ts +2 -2
  95. package/dist/schema/nodes/cabinet.d.ts +536 -0
  96. package/dist/schema/nodes/cabinet.d.ts.map +1 -0
  97. package/dist/schema/nodes/cabinet.js +139 -0
  98. package/dist/schema/nodes/ceiling.d.ts +4 -3
  99. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  100. package/dist/schema/nodes/ceiling.js +11 -1
  101. package/dist/schema/nodes/chimney.d.ts +4 -4
  102. package/dist/schema/nodes/column.d.ts +4 -2
  103. package/dist/schema/nodes/column.d.ts.map +1 -1
  104. package/dist/schema/nodes/column.js +5 -0
  105. package/dist/schema/nodes/construction-dimension.d.ts +195 -0
  106. package/dist/schema/nodes/construction-dimension.d.ts.map +1 -0
  107. package/dist/schema/nodes/construction-dimension.js +151 -0
  108. package/dist/schema/nodes/cupola.d.ts +2 -2
  109. package/dist/schema/nodes/door.d.ts +42 -5
  110. package/dist/schema/nodes/door.d.ts.map +1 -1
  111. package/dist/schema/nodes/door.js +32 -0
  112. package/dist/schema/nodes/dormer.d.ts +8 -8
  113. package/dist/schema/nodes/dormer.js +1 -1
  114. package/dist/schema/nodes/downspout.d.ts +2 -2
  115. package/dist/schema/nodes/duct-fitting.d.ts +91 -0
  116. package/dist/schema/nodes/duct-fitting.d.ts.map +1 -0
  117. package/dist/schema/nodes/duct-fitting.js +92 -0
  118. package/dist/schema/nodes/duct-segment.d.ts +61 -0
  119. package/dist/schema/nodes/duct-segment.d.ts.map +1 -0
  120. package/dist/schema/nodes/duct-segment.js +73 -0
  121. package/dist/schema/nodes/duct-terminal.d.ts +58 -0
  122. package/dist/schema/nodes/duct-terminal.d.ts.map +1 -0
  123. package/dist/schema/nodes/duct-terminal.js +53 -0
  124. package/dist/schema/nodes/elevator.d.ts +3 -2
  125. package/dist/schema/nodes/elevator.d.ts.map +1 -1
  126. package/dist/schema/nodes/elevator.js +3 -0
  127. package/dist/schema/nodes/eyebrow-vent.d.ts +2 -2
  128. package/dist/schema/nodes/fence.d.ts +20 -2
  129. package/dist/schema/nodes/fence.d.ts.map +1 -1
  130. package/dist/schema/nodes/fence.js +33 -2
  131. package/dist/schema/nodes/gutter.d.ts +2 -2
  132. package/dist/schema/nodes/hvac-equipment.d.ts +64 -0
  133. package/dist/schema/nodes/hvac-equipment.d.ts.map +1 -0
  134. package/dist/schema/nodes/hvac-equipment.js +57 -0
  135. package/dist/schema/nodes/item.d.ts +9 -0
  136. package/dist/schema/nodes/item.d.ts.map +1 -1
  137. package/dist/schema/nodes/item.js +24 -0
  138. package/dist/schema/nodes/level.d.ts +2 -1
  139. package/dist/schema/nodes/level.d.ts.map +1 -1
  140. package/dist/schema/nodes/level.js +12 -31
  141. package/dist/schema/nodes/lineset.d.ts +42 -0
  142. package/dist/schema/nodes/lineset.d.ts.map +1 -0
  143. package/dist/schema/nodes/lineset.js +38 -0
  144. package/dist/schema/nodes/liquid-line.d.ts +34 -0
  145. package/dist/schema/nodes/liquid-line.d.ts.map +1 -0
  146. package/dist/schema/nodes/liquid-line.js +24 -0
  147. package/dist/schema/nodes/measurement.d.ts +306 -0
  148. package/dist/schema/nodes/measurement.d.ts.map +1 -0
  149. package/dist/schema/nodes/measurement.js +87 -0
  150. package/dist/schema/nodes/pipe-fitting.d.ts +56 -0
  151. package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -0
  152. package/dist/schema/nodes/pipe-fitting.js +45 -0
  153. package/dist/schema/nodes/pipe-segment.d.ts +48 -0
  154. package/dist/schema/nodes/pipe-segment.d.ts.map +1 -0
  155. package/dist/schema/nodes/pipe-segment.js +36 -0
  156. package/dist/schema/nodes/pipe-trap.d.ts +43 -0
  157. package/dist/schema/nodes/pipe-trap.d.ts.map +1 -0
  158. package/dist/schema/nodes/pipe-trap.js +36 -0
  159. package/dist/schema/nodes/ridge-vent.d.ts +18 -3
  160. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  161. package/dist/schema/nodes/ridge-vent.js +221 -3
  162. package/dist/schema/nodes/roof-segment-shape.d.ts +90 -0
  163. package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -0
  164. package/dist/schema/nodes/roof-segment-shape.js +318 -0
  165. package/dist/schema/nodes/roof-segment-walls.d.ts +101 -0
  166. package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -0
  167. package/dist/schema/nodes/roof-segment-walls.js +330 -0
  168. package/dist/schema/nodes/roof-segment.d.ts +84 -8
  169. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  170. package/dist/schema/nodes/roof-segment.js +290 -5
  171. package/dist/schema/nodes/roof.d.ts +8 -8
  172. package/dist/schema/nodes/shelf.d.ts +4 -2
  173. package/dist/schema/nodes/shelf.d.ts.map +1 -1
  174. package/dist/schema/nodes/shelf.js +8 -0
  175. package/dist/schema/nodes/site.d.ts +9 -0
  176. package/dist/schema/nodes/site.d.ts.map +1 -1
  177. package/dist/schema/nodes/site.js +8 -6
  178. package/dist/schema/nodes/skylight.d.ts +10 -10
  179. package/dist/schema/nodes/slab.d.ts +8 -2
  180. package/dist/schema/nodes/slab.d.ts.map +1 -1
  181. package/dist/schema/nodes/slab.js +18 -2
  182. package/dist/schema/nodes/solar-panel.d.ts +4 -4
  183. package/dist/schema/nodes/spawn.d.ts +1 -0
  184. package/dist/schema/nodes/spawn.d.ts.map +1 -1
  185. package/dist/schema/nodes/spawn.js +2 -0
  186. package/dist/schema/nodes/stair-segment.d.ts +4 -4
  187. package/dist/schema/nodes/stair.d.ts +16 -13
  188. package/dist/schema/nodes/stair.d.ts.map +1 -1
  189. package/dist/schema/nodes/stair.js +11 -1
  190. package/dist/schema/nodes/structural-grid.d.ts +27 -0
  191. package/dist/schema/nodes/structural-grid.d.ts.map +1 -0
  192. package/dist/schema/nodes/structural-grid.js +17 -0
  193. package/dist/schema/nodes/turbine-vent.d.ts +2 -2
  194. package/dist/schema/nodes/wall.d.ts +248 -6
  195. package/dist/schema/nodes/wall.d.ts.map +1 -1
  196. package/dist/schema/nodes/wall.js +266 -0
  197. package/dist/schema/nodes/window.d.ts +40 -3
  198. package/dist/schema/nodes/window.d.ts.map +1 -1
  199. package/dist/schema/nodes/window.js +30 -0
  200. package/dist/schema/nodes/zone.d.ts +22 -0
  201. package/dist/schema/nodes/zone.d.ts.map +1 -1
  202. package/dist/schema/nodes/zone.js +21 -0
  203. package/dist/schema/scene-material.d.ts +41 -0
  204. package/dist/schema/scene-material.d.ts.map +1 -0
  205. package/dist/schema/scene-material.js +9 -0
  206. package/dist/schema/terrain.d.ts +28 -0
  207. package/dist/schema/terrain.d.ts.map +1 -0
  208. package/dist/schema/terrain.js +30 -0
  209. package/dist/schema/types.d.ts +1300 -97
  210. package/dist/schema/types.d.ts.map +1 -1
  211. package/dist/schema/types.js +27 -0
  212. package/dist/services/__fixtures__/wall-plane-top-boundary-repro.d.ts +80 -0
  213. package/dist/services/__fixtures__/wall-plane-top-boundary-repro.d.ts.map +1 -0
  214. package/dist/services/__fixtures__/wall-plane-top-boundary-repro.js +89 -0
  215. package/dist/services/alignment-anchors.d.ts.map +1 -1
  216. package/dist/services/alignment-anchors.js +30 -1
  217. package/dist/services/alignment.d.ts +5 -0
  218. package/dist/services/alignment.d.ts.map +1 -1
  219. package/dist/services/alignment.js +2 -0
  220. package/dist/services/hosting.d.ts +8 -0
  221. package/dist/services/hosting.d.ts.map +1 -1
  222. package/dist/services/hosting.js +13 -4
  223. package/dist/services/index.d.ts +9 -2
  224. package/dist/services/index.d.ts.map +1 -1
  225. package/dist/services/index.js +9 -2
  226. package/dist/services/level-height.d.ts +27 -0
  227. package/dist/services/level-height.d.ts.map +1 -0
  228. package/dist/services/level-height.js +94 -0
  229. package/dist/services/opening-guides.d.ts +141 -0
  230. package/dist/services/opening-guides.d.ts.map +1 -0
  231. package/dist/services/opening-guides.js +267 -0
  232. package/dist/services/port-connectivity.d.ts +115 -0
  233. package/dist/services/port-connectivity.d.ts.map +1 -0
  234. package/dist/services/port-connectivity.js +300 -0
  235. package/dist/services/riser-diagram.d.ts +40 -0
  236. package/dist/services/riser-diagram.d.ts.map +1 -0
  237. package/dist/services/riser-diagram.js +110 -0
  238. package/dist/services/snap.d.ts +9 -1
  239. package/dist/services/snap.d.ts.map +1 -1
  240. package/dist/services/snap.js +21 -1
  241. package/dist/services/storey.d.ts +103 -0
  242. package/dist/services/storey.d.ts.map +1 -0
  243. package/dist/services/storey.js +296 -0
  244. package/dist/services/system-graph.d.ts +30 -0
  245. package/dist/services/system-graph.d.ts.map +1 -0
  246. package/dist/services/system-graph.js +164 -0
  247. package/dist/services/validate-dwv.d.ts +32 -0
  248. package/dist/services/validate-dwv.d.ts.map +1 -0
  249. package/dist/services/validate-dwv.js +118 -0
  250. package/dist/store/actions/node-actions.d.ts.map +1 -1
  251. package/dist/store/actions/node-actions.js +141 -4
  252. package/dist/store/history-control.d.ts +31 -0
  253. package/dist/store/history-control.d.ts.map +1 -1
  254. package/dist/store/history-control.js +130 -0
  255. package/dist/store/use-live-terrain.d.ts +65 -0
  256. package/dist/store/use-live-terrain.d.ts.map +1 -0
  257. package/dist/store/use-live-terrain.js +31 -0
  258. package/dist/store/use-live-transforms.d.ts +8 -0
  259. package/dist/store/use-live-transforms.d.ts.map +1 -1
  260. package/dist/store/use-scene.d.ts +47 -3
  261. package/dist/store/use-scene.d.ts.map +1 -1
  262. package/dist/store/use-scene.js +992 -55
  263. package/dist/systems/elevator/elevator-opening-system.d.ts +1 -0
  264. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
  265. package/dist/systems/elevator/elevator-opening-system.js +27 -21
  266. package/dist/systems/elevator/elevator-service.d.ts +0 -2
  267. package/dist/systems/elevator/elevator-service.d.ts.map +1 -1
  268. package/dist/systems/elevator/elevator-service.js +2 -24
  269. package/dist/systems/fence/fence-centerline.d.ts +12 -0
  270. package/dist/systems/fence/fence-centerline.d.ts.map +1 -0
  271. package/dist/systems/fence/fence-centerline.js +37 -0
  272. package/dist/systems/fence/fence-spline.d.ts +39 -0
  273. package/dist/systems/fence/fence-spline.d.ts.map +1 -0
  274. package/dist/systems/fence/fence-spline.js +196 -0
  275. package/dist/systems/slab/slab-placement.d.ts +11 -0
  276. package/dist/systems/slab/slab-placement.d.ts.map +1 -0
  277. package/dist/systems/slab/slab-placement.js +14 -0
  278. package/dist/systems/slab/slab-support.d.ts +137 -0
  279. package/dist/systems/slab/slab-support.d.ts.map +1 -0
  280. package/dist/systems/slab/slab-support.js +557 -0
  281. package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
  282. package/dist/systems/stair/stair-footprint.js +21 -11
  283. package/dist/systems/stair/stair-opening-preview.d.ts +1300 -505
  284. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  285. package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
  286. package/dist/systems/stair/stair-opening-sync.js +19 -33
  287. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
  288. package/dist/systems/stair/stair-opening-system.js +32 -4
  289. package/dist/systems/stair/stair-rise.d.ts +22 -0
  290. package/dist/systems/stair/stair-rise.d.ts.map +1 -0
  291. package/dist/systems/stair/stair-rise.js +79 -0
  292. package/dist/systems/wall/wall-curve.d.ts +10 -0
  293. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  294. package/dist/systems/wall/wall-curve.js +1 -1
  295. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  296. package/dist/systems/wall/wall-mitering.js +44 -8
  297. package/dist/systems/wall/wall-top.d.ts +40 -0
  298. package/dist/systems/wall/wall-top.d.ts.map +1 -0
  299. package/dist/systems/wall/wall-top.js +46 -0
  300. package/dist/utils/clone-scene-graph.d.ts +1 -0
  301. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  302. package/dist/utils/clone-scene-graph.js +56 -5
  303. package/dist/utils/heal-scene-graph.d.ts +18 -0
  304. package/dist/utils/heal-scene-graph.d.ts.map +1 -0
  305. package/dist/utils/heal-scene-graph.js +106 -0
  306. package/dist/validation/validate-build-json.d.ts +3 -0
  307. package/dist/validation/validate-build-json.d.ts.map +1 -1
  308. package/dist/validation/validate-build-json.js +90 -5
  309. package/package.json +4 -4
  310. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts +0 -2
  311. package/dist/hooks/spatial-grid/floor-placed-elevation.test.d.ts.map +0 -1
  312. package/dist/hooks/spatial-grid/floor-placed-elevation.test.js +0 -273
  313. package/dist/lib/space-detection-pause.test.d.ts +0 -2
  314. package/dist/lib/space-detection-pause.test.d.ts.map +0 -1
  315. package/dist/lib/space-detection-pause.test.js +0 -42
  316. package/dist/lib/space-detection.test.d.ts +0 -2
  317. package/dist/lib/space-detection.test.d.ts.map +0 -1
  318. package/dist/lib/space-detection.test.js +0 -77
  319. package/dist/registry/registry.test.d.ts +0 -2
  320. package/dist/registry/registry.test.d.ts.map +0 -1
  321. package/dist/registry/registry.test.js +0 -183
  322. package/dist/registry/relations-resolver.test.d.ts +0 -2
  323. package/dist/registry/relations-resolver.test.d.ts.map +0 -1
  324. package/dist/registry/relations-resolver.test.js +0 -183
  325. package/dist/registry/scene-api.test.d.ts +0 -2
  326. package/dist/registry/scene-api.test.d.ts.map +0 -1
  327. package/dist/registry/scene-api.test.js +0 -183
  328. package/dist/registry/subtree.test.d.ts +0 -2
  329. package/dist/registry/subtree.test.d.ts.map +0 -1
  330. package/dist/registry/subtree.test.js +0 -133
  331. package/dist/schema/asset-url.test.d.ts +0 -2
  332. package/dist/schema/asset-url.test.d.ts.map +0 -1
  333. package/dist/schema/asset-url.test.js +0 -134
  334. package/dist/services/alignment-anchors.test.d.ts +0 -2
  335. package/dist/services/alignment-anchors.test.d.ts.map +0 -1
  336. package/dist/services/alignment-anchors.test.js +0 -383
  337. package/dist/services/alignment.test.d.ts +0 -2
  338. package/dist/services/alignment.test.d.ts.map +0 -1
  339. package/dist/services/alignment.test.js +0 -92
  340. package/dist/services/drag-session.test.d.ts +0 -2
  341. package/dist/services/drag-session.test.d.ts.map +0 -1
  342. package/dist/services/drag-session.test.js +0 -219
  343. package/dist/services/hosting.test.d.ts +0 -2
  344. package/dist/services/hosting.test.d.ts.map +0 -1
  345. package/dist/services/hosting.test.js +0 -199
  346. package/dist/services/movement.test.d.ts +0 -2
  347. package/dist/services/movement.test.d.ts.map +0 -1
  348. package/dist/services/movement.test.js +0 -133
  349. package/dist/services/single-undo-dance.test.d.ts +0 -2
  350. package/dist/services/single-undo-dance.test.d.ts.map +0 -1
  351. package/dist/services/single-undo-dance.test.js +0 -210
  352. package/dist/services/snap.test.d.ts +0 -2
  353. package/dist/services/snap.test.d.ts.map +0 -1
  354. package/dist/services/snap.test.js +0 -95
  355. package/dist/store/actions/node-mutation-sanitize.test.d.ts +0 -2
  356. package/dist/store/actions/node-mutation-sanitize.test.d.ts.map +0 -1
  357. package/dist/store/actions/node-mutation-sanitize.test.js +0 -147
  358. package/dist/store/actions/reparent.test.d.ts +0 -2
  359. package/dist/store/actions/reparent.test.d.ts.map +0 -1
  360. package/dist/store/actions/reparent.test.js +0 -212
  361. package/dist/store/use-scene-elevator-migration.test.d.ts +0 -2
  362. package/dist/store/use-scene-elevator-migration.test.d.ts.map +0 -1
  363. package/dist/store/use-scene-elevator-migration.test.js +0 -109
  364. package/dist/systems/elevator/elevator-opening-sync.test.d.ts +0 -2
  365. package/dist/systems/elevator/elevator-opening-sync.test.d.ts.map +0 -1
  366. package/dist/systems/elevator/elevator-opening-sync.test.js +0 -146
  367. package/dist/systems/elevator/elevator-runtime.test.d.ts +0 -2
  368. package/dist/systems/elevator/elevator-runtime.test.d.ts.map +0 -1
  369. package/dist/systems/elevator/elevator-runtime.test.js +0 -64
  370. package/dist/systems/stair/stair-opening-preview.test.d.ts +0 -2
  371. package/dist/systems/stair/stair-opening-preview.test.d.ts.map +0 -1
  372. package/dist/systems/stair/stair-opening-preview.test.js +0 -80
  373. package/dist/systems/stair/stair-opening-sync.test.d.ts +0 -2
  374. package/dist/systems/stair/stair-opening-sync.test.d.ts.map +0 -1
  375. package/dist/systems/stair/stair-opening-sync.test.js +0 -446
  376. package/dist/utils/clone-scene-graph.test.d.ts +0 -2
  377. package/dist/utils/clone-scene-graph.test.d.ts.map +0 -1
  378. package/dist/utils/clone-scene-graph.test.js +0 -59
@@ -21,6 +21,15 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
21
21
  type: z.ZodLiteral<"polygon">;
22
22
  points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
23
23
  }, z.core.$strip>>>;
24
+ terrain: z.ZodOptional<z.ZodObject<{
25
+ type: z.ZodLiteral<"heightfield">;
26
+ origin: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
27
+ spacing: z.ZodNumber;
28
+ cols: z.ZodNumber;
29
+ rows: z.ZodNumber;
30
+ step: z.ZodNumber;
31
+ heights: z.ZodString;
32
+ }, z.core.$strip>>;
24
33
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
25
34
  }, z.core.$strip>, z.ZodObject<{
26
35
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -63,7 +72,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
63
72
  type: z.ZodDefault<z.ZodLiteral<"elevator">>;
64
73
  material: z.ZodOptional<z.ZodObject<{
65
74
  id: z.ZodOptional<z.ZodString>;
66
- preset: z.ZodOptional<z.ZodEnum<{
75
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
67
76
  custom: "custom";
68
77
  white: "white";
69
78
  brick: "brick";
@@ -74,7 +83,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
74
83
  plaster: "plaster";
75
84
  tile: "tile";
76
85
  marble: "marble";
77
- }>>;
86
+ }>>>;
78
87
  properties: z.ZodOptional<z.ZodObject<{
79
88
  color: z.ZodDefault<z.ZodString>;
80
89
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -94,6 +103,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
94
103
  }, z.core.$strip>>;
95
104
  }, z.core.$strip>>;
96
105
  materialPreset: z.ZodOptional<z.ZodString>;
106
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
97
107
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
98
108
  rotation: z.ZodDefault<z.ZodNumber>;
99
109
  width: z.ZodDefault<z.ZodNumber>;
@@ -145,8 +155,9 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
145
155
  metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
146
156
  id: z.ZodDefault<z.ZodTemplateLiteral<`level_${string}`>>;
147
157
  type: z.ZodDefault<z.ZodLiteral<"level">>;
148
- children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`wall_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`fence_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`column_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`zone_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`slab_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`ceiling_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`roof_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`stair_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`scan_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`guide_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`spawn_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`shelf_${string}`>>]>>>;
158
+ children: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`item_${string}` | `ceiling_${string}` | `column_${string}` | `wall_${string}` | `fence_${string}` | `construction-dimension_${string}` | `structural-grid_${string}` | `zone_${string}` | `slab_${string}` | `roof_${string}` | `stair_${string}` | `scan_${string}` | `guide_${string}` | `measurement_${string}` | `spawn_${string}` | `shelf_${string}` | `duct-segment_${string}` | `duct-fitting_${string}` | `duct-terminal_${string}` | `hvac-equipment_${string}` | `lineset_${string}` | `liquid-line_${string}` | `pipe-segment_${string}` | `pipe-fitting_${string}` | `pipe-trap_${string}`, string>>>>;
149
159
  level: z.ZodDefault<z.ZodNumber>;
160
+ height: z.ZodOptional<z.ZodNumber>;
150
161
  }, z.core.$strip>, z.ZodObject<{
151
162
  object: z.ZodDefault<z.ZodLiteral<"node">>;
152
163
  name: z.ZodOptional<z.ZodString>;
@@ -167,6 +178,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
167
178
  type: z.ZodDefault<z.ZodLiteral<"column">>;
168
179
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
169
180
  rotation: z.ZodDefault<z.ZodNumber>;
181
+ supportSlabId: z.ZodOptional<z.ZodString>;
170
182
  style: z.ZodDefault<z.ZodEnum<{
171
183
  plain: "plain";
172
184
  faceted: "faceted";
@@ -318,7 +330,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
318
330
  bracePlateEnabled: z.ZodDefault<z.ZodBoolean>;
319
331
  material: z.ZodOptional<z.ZodObject<{
320
332
  id: z.ZodOptional<z.ZodString>;
321
- preset: z.ZodOptional<z.ZodEnum<{
333
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
322
334
  custom: "custom";
323
335
  white: "white";
324
336
  brick: "brick";
@@ -329,7 +341,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
329
341
  plaster: "plaster";
330
342
  tile: "tile";
331
343
  marble: "marble";
332
- }>>;
344
+ }>>>;
333
345
  properties: z.ZodOptional<z.ZodObject<{
334
346
  color: z.ZodDefault<z.ZodString>;
335
347
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -349,6 +361,132 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
349
361
  }, z.core.$strip>>;
350
362
  }, z.core.$strip>>;
351
363
  materialPreset: z.ZodOptional<z.ZodString>;
364
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
365
+ }, z.core.$strip>, z.ZodObject<{
366
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
367
+ name: z.ZodOptional<z.ZodString>;
368
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
369
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
370
+ camera: z.ZodOptional<z.ZodObject<{
371
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
372
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
373
+ mode: z.ZodDefault<z.ZodEnum<{
374
+ perspective: "perspective";
375
+ orthographic: "orthographic";
376
+ }>>;
377
+ fov: z.ZodOptional<z.ZodNumber>;
378
+ zoom: z.ZodOptional<z.ZodNumber>;
379
+ }, z.core.$strip>>;
380
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
381
+ id: z.ZodDefault<z.ZodTemplateLiteral<`construction-dimension_${string}`>>;
382
+ type: z.ZodDefault<z.ZodLiteral<"construction-dimension">>;
383
+ anchors: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
384
+ kind: z.ZodLiteral<"feature">;
385
+ reference: z.ZodObject<{
386
+ nodeId: z.ZodString;
387
+ featureId: z.ZodString;
388
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
389
+ }, z.core.$strip>;
390
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
391
+ }, z.core.$strip>]>>>;
392
+ baseline: z.ZodDefault<z.ZodObject<{
393
+ origin: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
394
+ direction: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
395
+ }, z.core.$strip>>;
396
+ chainMode: z.ZodDefault<z.ZodEnum<{
397
+ "point-to-point": "point-to-point";
398
+ continuous: "continuous";
399
+ }>>;
400
+ mode: z.ZodDefault<z.ZodEnum<{
401
+ radius: "radius";
402
+ linear: "linear";
403
+ diameter: "diameter";
404
+ "center-mark": "center-mark";
405
+ chord: "chord";
406
+ "arc-length": "arc-length";
407
+ angular: "angular";
408
+ coordinate: "coordinate";
409
+ }>>;
410
+ featureCount: z.ZodDefault<z.ZodNumber>;
411
+ showCenterMark: z.ZodDefault<z.ZodBoolean>;
412
+ prefix: z.ZodDefault<z.ZodString>;
413
+ suffix: z.ZodDefault<z.ZodString>;
414
+ textOverride: z.ZodDefault<z.ZodNullable<z.ZodString>>;
415
+ datumPolicy: z.ZodDefault<z.ZodEnum<{
416
+ centerline: "centerline";
417
+ "wall-face": "wall-face";
418
+ "structural-face": "structural-face";
419
+ "finish-face": "finish-face";
420
+ }>>;
421
+ terminator: z.ZodDefault<z.ZodEnum<{
422
+ "architectural-tick": "architectural-tick";
423
+ "filled-arrow": "filled-arrow";
424
+ "open-arrow": "open-arrow";
425
+ dot: "dot";
426
+ }>>;
427
+ textPosition: z.ZodDefault<z.ZodEnum<{
428
+ above: "above";
429
+ centered: "centered";
430
+ }>>;
431
+ imperialPrecision: z.ZodDefault<z.ZodEnum<{
432
+ 1: "1";
433
+ "1/2": "1/2";
434
+ "1/4": "1/4";
435
+ "1/8": "1/8";
436
+ "1/16": "1/16";
437
+ }>>;
438
+ metricNotation: z.ZodDefault<z.ZodEnum<{
439
+ meters: "meters";
440
+ millimeters: "millimeters";
441
+ }>>;
442
+ extensionStartGap: z.ZodDefault<z.ZodNumber>;
443
+ extensionOvershoot: z.ZodDefault<z.ZodNumber>;
444
+ drawingType: z.ZodDefault<z.ZodEnum<{
445
+ "floor-plan": "floor-plan";
446
+ "foundation-plan": "foundation-plan";
447
+ "reflected-ceiling-plan": "reflected-ceiling-plan";
448
+ "roof-plan": "roof-plan";
449
+ "site-plan": "site-plan";
450
+ }>>;
451
+ drawingOverrides: z.ZodDefault<z.ZodArray<z.ZodObject<{
452
+ drawingType: z.ZodEnum<{
453
+ "floor-plan": "floor-plan";
454
+ "foundation-plan": "foundation-plan";
455
+ "reflected-ceiling-plan": "reflected-ceiling-plan";
456
+ "roof-plan": "roof-plan";
457
+ "site-plan": "site-plan";
458
+ }>;
459
+ presentation: z.ZodEnum<{
460
+ shown: "shown";
461
+ omit: "omit";
462
+ controlled: "controlled";
463
+ }>;
464
+ suppressedSegmentIndexes: z.ZodDefault<z.ZodArray<z.ZodNumber>>;
465
+ }, z.core.$strip>>>;
466
+ controllingDimensionId: z.ZodDefault<z.ZodNullable<z.ZodDefault<z.ZodTemplateLiteral<`construction-dimension_${string}`>>>>;
467
+ }, z.core.$strip>, z.ZodObject<{
468
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
469
+ name: z.ZodOptional<z.ZodString>;
470
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
471
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
472
+ camera: z.ZodOptional<z.ZodObject<{
473
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
474
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
475
+ mode: z.ZodDefault<z.ZodEnum<{
476
+ perspective: "perspective";
477
+ orthographic: "orthographic";
478
+ }>>;
479
+ fov: z.ZodOptional<z.ZodNumber>;
480
+ zoom: z.ZodOptional<z.ZodNumber>;
481
+ }, z.core.$strip>>;
482
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
483
+ id: z.ZodDefault<z.ZodTemplateLiteral<`structural-grid_${string}`>>;
484
+ type: z.ZodDefault<z.ZodLiteral<"structural-grid">>;
485
+ start: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
486
+ end: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
487
+ label: z.ZodDefault<z.ZodString>;
488
+ showStartBubble: z.ZodDefault<z.ZodBoolean>;
489
+ showEndBubble: z.ZodDefault<z.ZodBoolean>;
352
490
  }, z.core.$strip>, z.ZodObject<{
353
491
  object: z.ZodDefault<z.ZodLiteral<"node">>;
354
492
  name: z.ZodOptional<z.ZodString>;
@@ -370,7 +508,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
370
508
  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}`>>]>>>;
371
509
  material: z.ZodOptional<z.ZodObject<{
372
510
  id: z.ZodOptional<z.ZodString>;
373
- preset: z.ZodOptional<z.ZodEnum<{
511
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
374
512
  custom: "custom";
375
513
  white: "white";
376
514
  brick: "brick";
@@ -381,7 +519,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
381
519
  plaster: "plaster";
382
520
  tile: "tile";
383
521
  marble: "marble";
384
- }>>;
522
+ }>>>;
385
523
  properties: z.ZodOptional<z.ZodObject<{
386
524
  color: z.ZodDefault<z.ZodString>;
387
525
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -403,7 +541,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
403
541
  materialPreset: z.ZodOptional<z.ZodString>;
404
542
  interiorMaterial: z.ZodOptional<z.ZodObject<{
405
543
  id: z.ZodOptional<z.ZodString>;
406
- preset: z.ZodOptional<z.ZodEnum<{
544
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
407
545
  custom: "custom";
408
546
  white: "white";
409
547
  brick: "brick";
@@ -414,7 +552,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
414
552
  plaster: "plaster";
415
553
  tile: "tile";
416
554
  marble: "marble";
417
- }>>;
555
+ }>>>;
418
556
  properties: z.ZodOptional<z.ZodObject<{
419
557
  color: z.ZodDefault<z.ZodString>;
420
558
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -436,7 +574,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
436
574
  interiorMaterialPreset: z.ZodOptional<z.ZodString>;
437
575
  exteriorMaterial: z.ZodOptional<z.ZodObject<{
438
576
  id: z.ZodOptional<z.ZodString>;
439
- preset: z.ZodOptional<z.ZodEnum<{
577
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
440
578
  custom: "custom";
441
579
  white: "white";
442
580
  brick: "brick";
@@ -447,7 +585,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
447
585
  plaster: "plaster";
448
586
  tile: "tile";
449
587
  marble: "marble";
450
- }>>;
588
+ }>>>;
451
589
  properties: z.ZodOptional<z.ZodObject<{
452
590
  color: z.ZodDefault<z.ZodString>;
453
591
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -467,9 +605,110 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
467
605
  }, z.core.$strip>>;
468
606
  }, z.core.$strip>>;
469
607
  exteriorMaterialPreset: z.ZodOptional<z.ZodString>;
608
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
470
609
  thickness: z.ZodOptional<z.ZodNumber>;
471
610
  height: z.ZodOptional<z.ZodNumber>;
472
611
  curveOffset: z.ZodOptional<z.ZodNumber>;
612
+ supportSlabId: z.ZodOptional<z.ZodString>;
613
+ supportOffset: z.ZodOptional<z.ZodNumber>;
614
+ fillToTerrain: z.ZodOptional<z.ZodBoolean>;
615
+ faceBands: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
616
+ enabled: z.ZodDefault<z.ZodBoolean>;
617
+ count: z.ZodDefault<z.ZodNumber>;
618
+ lowerHeight: z.ZodDefault<z.ZodNumber>;
619
+ middleHeight: z.ZodDefault<z.ZodNumber>;
620
+ upperHeight: z.ZodDefault<z.ZodNumber>;
621
+ }, z.core.$strip>>>;
622
+ skirting: z.ZodOptional<z.ZodObject<{
623
+ enabled: z.ZodDefault<z.ZodBoolean>;
624
+ sides: z.ZodDefault<z.ZodEnum<{
625
+ interior: "interior";
626
+ exterior: "exterior";
627
+ both: "both";
628
+ }>>;
629
+ height: z.ZodDefault<z.ZodNumber>;
630
+ proud: z.ZodDefault<z.ZodNumber>;
631
+ profile: z.ZodDefault<z.ZodEnum<{
632
+ flat: "flat";
633
+ bevel: "bevel";
634
+ triangle: "triangle";
635
+ cove: "cove";
636
+ bullnose: "bullnose";
637
+ "base-modern": "base-modern";
638
+ "base-colonial": "base-colonial";
639
+ "base-shoe": "base-shoe";
640
+ "base-ogee": "base-ogee";
641
+ "crown-cove": "crown-cove";
642
+ "crown-ogee": "crown-ogee";
643
+ "crown-craftsman": "crown-craftsman";
644
+ "crown-layered": "crown-layered";
645
+ "rail-rounded": "rail-rounded";
646
+ "rail-ogee": "rail-ogee";
647
+ "rail-picture": "rail-picture";
648
+ "rail-stepped": "rail-stepped";
649
+ }>>;
650
+ offsetY: z.ZodOptional<z.ZodNumber>;
651
+ }, z.core.$strip>>;
652
+ crown: z.ZodOptional<z.ZodObject<{
653
+ enabled: z.ZodDefault<z.ZodBoolean>;
654
+ sides: z.ZodDefault<z.ZodEnum<{
655
+ interior: "interior";
656
+ exterior: "exterior";
657
+ both: "both";
658
+ }>>;
659
+ height: z.ZodDefault<z.ZodNumber>;
660
+ proud: z.ZodDefault<z.ZodNumber>;
661
+ profile: z.ZodDefault<z.ZodEnum<{
662
+ flat: "flat";
663
+ bevel: "bevel";
664
+ triangle: "triangle";
665
+ cove: "cove";
666
+ bullnose: "bullnose";
667
+ "base-modern": "base-modern";
668
+ "base-colonial": "base-colonial";
669
+ "base-shoe": "base-shoe";
670
+ "base-ogee": "base-ogee";
671
+ "crown-cove": "crown-cove";
672
+ "crown-ogee": "crown-ogee";
673
+ "crown-craftsman": "crown-craftsman";
674
+ "crown-layered": "crown-layered";
675
+ "rail-rounded": "rail-rounded";
676
+ "rail-ogee": "rail-ogee";
677
+ "rail-picture": "rail-picture";
678
+ "rail-stepped": "rail-stepped";
679
+ }>>;
680
+ offsetY: z.ZodOptional<z.ZodNumber>;
681
+ }, z.core.$strip>>;
682
+ chairRail: z.ZodOptional<z.ZodObject<{
683
+ enabled: z.ZodDefault<z.ZodBoolean>;
684
+ sides: z.ZodDefault<z.ZodEnum<{
685
+ interior: "interior";
686
+ exterior: "exterior";
687
+ both: "both";
688
+ }>>;
689
+ height: z.ZodDefault<z.ZodNumber>;
690
+ proud: z.ZodDefault<z.ZodNumber>;
691
+ profile: z.ZodDefault<z.ZodEnum<{
692
+ flat: "flat";
693
+ bevel: "bevel";
694
+ triangle: "triangle";
695
+ cove: "cove";
696
+ bullnose: "bullnose";
697
+ "base-modern": "base-modern";
698
+ "base-colonial": "base-colonial";
699
+ "base-shoe": "base-shoe";
700
+ "base-ogee": "base-ogee";
701
+ "crown-cove": "crown-cove";
702
+ "crown-ogee": "crown-ogee";
703
+ "crown-craftsman": "crown-craftsman";
704
+ "crown-layered": "crown-layered";
705
+ "rail-rounded": "rail-rounded";
706
+ "rail-ogee": "rail-ogee";
707
+ "rail-picture": "rail-picture";
708
+ "rail-stepped": "rail-stepped";
709
+ }>>;
710
+ offsetY: z.ZodOptional<z.ZodNumber>;
711
+ }, z.core.$strip>>;
473
712
  start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
474
713
  end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
475
714
  frontSide: z.ZodDefault<z.ZodEnum<{
@@ -502,7 +741,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
502
741
  type: z.ZodDefault<z.ZodLiteral<"fence">>;
503
742
  material: z.ZodOptional<z.ZodObject<{
504
743
  id: z.ZodOptional<z.ZodString>;
505
- preset: z.ZodOptional<z.ZodEnum<{
744
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
506
745
  custom: "custom";
507
746
  white: "white";
508
747
  brick: "brick";
@@ -513,7 +752,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
513
752
  plaster: "plaster";
514
753
  tile: "tile";
515
754
  marble: "marble";
516
- }>>;
755
+ }>>>;
517
756
  properties: z.ZodOptional<z.ZodObject<{
518
757
  color: z.ZodDefault<z.ZodString>;
519
758
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -533,10 +772,15 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
533
772
  }, z.core.$strip>>;
534
773
  }, z.core.$strip>>;
535
774
  materialPreset: z.ZodOptional<z.ZodString>;
775
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
536
776
  start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
537
777
  end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
778
+ path: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>;
779
+ tangents: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
538
780
  height: z.ZodDefault<z.ZodNumber>;
539
781
  thickness: z.ZodDefault<z.ZodNumber>;
782
+ supportSlabId: z.ZodOptional<z.ZodString>;
783
+ supportOffset: z.ZodOptional<z.ZodNumber>;
540
784
  curveOffset: z.ZodOptional<z.ZodNumber>;
541
785
  baseHeight: z.ZodDefault<z.ZodNumber>;
542
786
  postSpacing: z.ZodDefault<z.ZodNumber>;
@@ -544,6 +788,12 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
544
788
  topRailHeight: z.ZodDefault<z.ZodNumber>;
545
789
  groundClearance: z.ZodDefault<z.ZodNumber>;
546
790
  edgeInset: z.ZodDefault<z.ZodNumber>;
791
+ slatGap: z.ZodDefault<z.ZodNumber>;
792
+ postCap: z.ZodDefault<z.ZodEnum<{
793
+ flat: "flat";
794
+ none: "none";
795
+ pyramid: "pyramid";
796
+ }>>;
547
797
  baseStyle: z.ZodDefault<z.ZodEnum<{
548
798
  floating: "floating";
549
799
  grounded: "grounded";
@@ -554,7 +804,428 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
554
804
  slat: "slat";
555
805
  rail: "rail";
556
806
  privacy: "privacy";
807
+ horizontal: "horizontal";
808
+ }>>;
809
+ }, z.core.$strip>, z.ZodObject<{
810
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
811
+ name: z.ZodOptional<z.ZodString>;
812
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
813
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
814
+ camera: z.ZodOptional<z.ZodObject<{
815
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
816
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
817
+ mode: z.ZodDefault<z.ZodEnum<{
818
+ perspective: "perspective";
819
+ orthographic: "orthographic";
820
+ }>>;
821
+ fov: z.ZodOptional<z.ZodNumber>;
822
+ zoom: z.ZodOptional<z.ZodNumber>;
823
+ }, z.core.$strip>>;
824
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
825
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
826
+ rotation: z.ZodDefault<z.ZodNumber>;
827
+ supportSlabId: z.ZodOptional<z.ZodString>;
828
+ width: z.ZodDefault<z.ZodNumber>;
829
+ depth: z.ZodDefault<z.ZodNumber>;
830
+ carcassHeight: z.ZodDefault<z.ZodNumber>;
831
+ operationState: z.ZodDefault<z.ZodNumber>;
832
+ plinthHeight: z.ZodDefault<z.ZodNumber>;
833
+ toeKickDepth: z.ZodDefault<z.ZodNumber>;
834
+ boardThickness: z.ZodDefault<z.ZodNumber>;
835
+ countertopThickness: z.ZodDefault<z.ZodNumber>;
836
+ countertopOverhang: z.ZodDefault<z.ZodNumber>;
837
+ countertopBackOverhang: z.ZodDefault<z.ZodNumber>;
838
+ withFinishedBack: z.ZodDefault<z.ZodBoolean>;
839
+ frontThickness: z.ZodDefault<z.ZodNumber>;
840
+ frontGap: z.ZodDefault<z.ZodNumber>;
841
+ frontStyle: z.ZodDefault<z.ZodEnum<{
842
+ slab: "slab";
843
+ shaker: "shaker";
844
+ "raised-arch": "raised-arch";
845
+ }>>;
846
+ handleStyle: z.ZodDefault<z.ZodEnum<{
847
+ none: "none";
848
+ bar: "bar";
849
+ cutout: "cutout";
850
+ hole: "hole";
851
+ knob: "knob";
852
+ }>>;
853
+ handlePosition: z.ZodDefault<z.ZodEnum<{
854
+ top: "top";
855
+ auto: "auto";
856
+ center: "center";
857
+ }>>;
858
+ frontOverlay: z.ZodDefault<z.ZodEnum<{
859
+ full: "full";
860
+ inset: "inset";
861
+ }>>;
862
+ withBottomPanel: z.ZodDefault<z.ZodBoolean>;
863
+ showPlinth: z.ZodDefault<z.ZodBoolean>;
864
+ withCountertop: z.ZodDefault<z.ZodBoolean>;
865
+ material: z.ZodOptional<z.ZodObject<{
866
+ id: z.ZodOptional<z.ZodString>;
867
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
868
+ custom: "custom";
869
+ white: "white";
870
+ brick: "brick";
871
+ concrete: "concrete";
872
+ wood: "wood";
873
+ glass: "glass";
874
+ metal: "metal";
875
+ plaster: "plaster";
876
+ tile: "tile";
877
+ marble: "marble";
878
+ }>>>;
879
+ properties: z.ZodOptional<z.ZodObject<{
880
+ color: z.ZodDefault<z.ZodString>;
881
+ roughness: z.ZodDefault<z.ZodNumber>;
882
+ metalness: z.ZodDefault<z.ZodNumber>;
883
+ opacity: z.ZodDefault<z.ZodNumber>;
884
+ transparent: z.ZodDefault<z.ZodBoolean>;
885
+ side: z.ZodDefault<z.ZodEnum<{
886
+ front: "front";
887
+ back: "back";
888
+ double: "double";
889
+ }>>;
890
+ }, z.core.$strip>>;
891
+ texture: z.ZodOptional<z.ZodObject<{
892
+ url: z.ZodString;
893
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
894
+ scale: z.ZodOptional<z.ZodNumber>;
895
+ }, z.core.$strip>>;
896
+ }, z.core.$strip>>;
897
+ materialPreset: z.ZodOptional<z.ZodString>;
898
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
899
+ stack: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
900
+ type: z.ZodLiteral<"shelf">;
901
+ shelfCount: z.ZodOptional<z.ZodNumber>;
902
+ id: z.ZodString;
903
+ height: z.ZodOptional<z.ZodNumber>;
904
+ }, z.core.$strip>, z.ZodObject<{
905
+ type: z.ZodLiteral<"drawer">;
906
+ drawerCount: z.ZodOptional<z.ZodNumber>;
907
+ id: z.ZodString;
908
+ height: z.ZodOptional<z.ZodNumber>;
909
+ }, z.core.$strip>, z.ZodObject<{
910
+ type: z.ZodLiteral<"door">;
911
+ doorType: z.ZodOptional<z.ZodEnum<{
912
+ glass: "glass";
913
+ double: "double";
914
+ "single-left": "single-left";
915
+ "single-right": "single-right";
916
+ }>>;
917
+ shelfCount: z.ZodOptional<z.ZodNumber>;
918
+ id: z.ZodString;
919
+ height: z.ZodOptional<z.ZodNumber>;
920
+ }, z.core.$strip>, z.ZodObject<{
921
+ type: z.ZodLiteral<"sink">;
922
+ sinkLayout: z.ZodOptional<z.ZodEnum<{
923
+ double: "double";
924
+ single: "single";
925
+ "double-offset": "double-offset";
926
+ }>>;
927
+ id: z.ZodString;
928
+ height: z.ZodOptional<z.ZodNumber>;
929
+ }, z.core.$strip>, z.ZodObject<{
930
+ type: z.ZodLiteral<"oven">;
931
+ id: z.ZodString;
932
+ height: z.ZodOptional<z.ZodNumber>;
933
+ }, z.core.$strip>, z.ZodObject<{
934
+ type: z.ZodLiteral<"microwave">;
935
+ id: z.ZodString;
936
+ height: z.ZodOptional<z.ZodNumber>;
937
+ }, z.core.$strip>, z.ZodObject<{
938
+ type: z.ZodLiteral<"dishwasher">;
939
+ id: z.ZodString;
940
+ height: z.ZodOptional<z.ZodNumber>;
941
+ }, z.core.$strip>, z.ZodObject<{
942
+ cooktopLayout: z.ZodOptional<z.ZodEnum<{
943
+ "gas-2burner": "gas-2burner";
944
+ "gas-4burner": "gas-4burner";
945
+ "gas-5burner-wok": "gas-5burner-wok";
946
+ "gas-6burner": "gas-6burner";
947
+ }>>;
948
+ cooktopBurnersOn: z.ZodOptional<z.ZodBoolean>;
949
+ cooktopActiveBurners: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
950
+ cooktopKnobProgress: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
951
+ cooktopShowGrate: z.ZodOptional<z.ZodBoolean>;
952
+ type: z.ZodLiteral<"cooktop-gas">;
953
+ id: z.ZodString;
954
+ height: z.ZodOptional<z.ZodNumber>;
955
+ }, z.core.$strip>, z.ZodObject<{
956
+ cooktopLayout: z.ZodOptional<z.ZodEnum<{
957
+ "induction-2zone": "induction-2zone";
958
+ "induction-4zone": "induction-4zone";
959
+ }>>;
960
+ cooktopBurnersOn: z.ZodOptional<z.ZodBoolean>;
961
+ cooktopActiveBurners: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
962
+ cooktopKnobProgress: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
963
+ cooktopShowGrate: z.ZodOptional<z.ZodBoolean>;
964
+ type: z.ZodLiteral<"cooktop-induction">;
965
+ id: z.ZodString;
966
+ height: z.ZodOptional<z.ZodNumber>;
967
+ }, z.core.$strip>, z.ZodObject<{
968
+ type: z.ZodLiteral<"pull-out-pantry">;
969
+ shelfCount: z.ZodOptional<z.ZodNumber>;
970
+ pantryRackStyle: z.ZodOptional<z.ZodEnum<{
971
+ glass: "glass";
972
+ wire: "wire";
973
+ tray: "tray";
974
+ }>>;
975
+ id: z.ZodString;
976
+ height: z.ZodOptional<z.ZodNumber>;
977
+ }, z.core.$strip>, z.ZodObject<{
978
+ type: z.ZodLiteral<"fridge-single">;
979
+ id: z.ZodString;
980
+ height: z.ZodOptional<z.ZodNumber>;
981
+ }, z.core.$strip>, z.ZodObject<{
982
+ type: z.ZodLiteral<"fridge-double">;
983
+ id: z.ZodString;
984
+ height: z.ZodOptional<z.ZodNumber>;
985
+ }, z.core.$strip>, z.ZodObject<{
986
+ type: z.ZodLiteral<"fridge-top-freezer">;
987
+ id: z.ZodString;
988
+ height: z.ZodOptional<z.ZodNumber>;
989
+ }, z.core.$strip>, z.ZodObject<{
990
+ type: z.ZodLiteral<"fridge-bottom-freezer">;
991
+ id: z.ZodString;
992
+ height: z.ZodOptional<z.ZodNumber>;
993
+ }, z.core.$strip>, z.ZodObject<{
994
+ type: z.ZodLiteral<"hood-pyramid">;
995
+ id: z.ZodString;
996
+ height: z.ZodOptional<z.ZodNumber>;
997
+ }, z.core.$strip>, z.ZodObject<{
998
+ type: z.ZodLiteral<"hood-curved-glass">;
999
+ id: z.ZodString;
1000
+ height: z.ZodOptional<z.ZodNumber>;
1001
+ }, z.core.$strip>], "type">>>;
1002
+ id: z.ZodDefault<z.ZodTemplateLiteral<`cabinet_${string}`>>;
1003
+ type: z.ZodDefault<z.ZodLiteral<"cabinet">>;
1004
+ runTier: z.ZodDefault<z.ZodEnum<{
1005
+ wall: "wall";
1006
+ base: "base";
1007
+ tall: "tall";
1008
+ }>>;
1009
+ children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`cabinet-module_${string}`>>>>;
1010
+ barLedge: z.ZodOptional<z.ZodObject<{
1011
+ edge: z.ZodDefault<z.ZodEnum<{
1012
+ back: "back";
1013
+ right: "right";
1014
+ left: "left";
1015
+ }>>;
1016
+ height: z.ZodDefault<z.ZodNumber>;
1017
+ depth: z.ZodDefault<z.ZodNumber>;
1018
+ }, z.core.$strip>>;
1019
+ withWaterfall: z.ZodDefault<z.ZodBoolean>;
1020
+ }, z.core.$strip>, z.ZodObject<{
1021
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
1022
+ name: z.ZodOptional<z.ZodString>;
1023
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1024
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1025
+ camera: z.ZodOptional<z.ZodObject<{
1026
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1027
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1028
+ mode: z.ZodDefault<z.ZodEnum<{
1029
+ perspective: "perspective";
1030
+ orthographic: "orthographic";
1031
+ }>>;
1032
+ fov: z.ZodOptional<z.ZodNumber>;
1033
+ zoom: z.ZodOptional<z.ZodNumber>;
1034
+ }, z.core.$strip>>;
1035
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
1036
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1037
+ rotation: z.ZodDefault<z.ZodNumber>;
1038
+ supportSlabId: z.ZodOptional<z.ZodString>;
1039
+ width: z.ZodDefault<z.ZodNumber>;
1040
+ depth: z.ZodDefault<z.ZodNumber>;
1041
+ carcassHeight: z.ZodDefault<z.ZodNumber>;
1042
+ operationState: z.ZodDefault<z.ZodNumber>;
1043
+ plinthHeight: z.ZodDefault<z.ZodNumber>;
1044
+ toeKickDepth: z.ZodDefault<z.ZodNumber>;
1045
+ boardThickness: z.ZodDefault<z.ZodNumber>;
1046
+ countertopThickness: z.ZodDefault<z.ZodNumber>;
1047
+ countertopOverhang: z.ZodDefault<z.ZodNumber>;
1048
+ countertopBackOverhang: z.ZodDefault<z.ZodNumber>;
1049
+ withFinishedBack: z.ZodDefault<z.ZodBoolean>;
1050
+ frontThickness: z.ZodDefault<z.ZodNumber>;
1051
+ frontGap: z.ZodDefault<z.ZodNumber>;
1052
+ frontStyle: z.ZodDefault<z.ZodEnum<{
1053
+ slab: "slab";
1054
+ shaker: "shaker";
1055
+ "raised-arch": "raised-arch";
1056
+ }>>;
1057
+ handleStyle: z.ZodDefault<z.ZodEnum<{
1058
+ none: "none";
1059
+ bar: "bar";
1060
+ cutout: "cutout";
1061
+ hole: "hole";
1062
+ knob: "knob";
1063
+ }>>;
1064
+ handlePosition: z.ZodDefault<z.ZodEnum<{
1065
+ top: "top";
1066
+ auto: "auto";
1067
+ center: "center";
1068
+ }>>;
1069
+ frontOverlay: z.ZodDefault<z.ZodEnum<{
1070
+ full: "full";
1071
+ inset: "inset";
1072
+ }>>;
1073
+ withBottomPanel: z.ZodDefault<z.ZodBoolean>;
1074
+ showPlinth: z.ZodDefault<z.ZodBoolean>;
1075
+ withCountertop: z.ZodDefault<z.ZodBoolean>;
1076
+ material: z.ZodOptional<z.ZodObject<{
1077
+ id: z.ZodOptional<z.ZodString>;
1078
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1079
+ custom: "custom";
1080
+ white: "white";
1081
+ brick: "brick";
1082
+ concrete: "concrete";
1083
+ wood: "wood";
1084
+ glass: "glass";
1085
+ metal: "metal";
1086
+ plaster: "plaster";
1087
+ tile: "tile";
1088
+ marble: "marble";
1089
+ }>>>;
1090
+ properties: z.ZodOptional<z.ZodObject<{
1091
+ color: z.ZodDefault<z.ZodString>;
1092
+ roughness: z.ZodDefault<z.ZodNumber>;
1093
+ metalness: z.ZodDefault<z.ZodNumber>;
1094
+ opacity: z.ZodDefault<z.ZodNumber>;
1095
+ transparent: z.ZodDefault<z.ZodBoolean>;
1096
+ side: z.ZodDefault<z.ZodEnum<{
1097
+ front: "front";
1098
+ back: "back";
1099
+ double: "double";
1100
+ }>>;
1101
+ }, z.core.$strip>>;
1102
+ texture: z.ZodOptional<z.ZodObject<{
1103
+ url: z.ZodString;
1104
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1105
+ scale: z.ZodOptional<z.ZodNumber>;
1106
+ }, z.core.$strip>>;
1107
+ }, z.core.$strip>>;
1108
+ materialPreset: z.ZodOptional<z.ZodString>;
1109
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1110
+ stack: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1111
+ type: z.ZodLiteral<"shelf">;
1112
+ shelfCount: z.ZodOptional<z.ZodNumber>;
1113
+ id: z.ZodString;
1114
+ height: z.ZodOptional<z.ZodNumber>;
1115
+ }, z.core.$strip>, z.ZodObject<{
1116
+ type: z.ZodLiteral<"drawer">;
1117
+ drawerCount: z.ZodOptional<z.ZodNumber>;
1118
+ id: z.ZodString;
1119
+ height: z.ZodOptional<z.ZodNumber>;
1120
+ }, z.core.$strip>, z.ZodObject<{
1121
+ type: z.ZodLiteral<"door">;
1122
+ doorType: z.ZodOptional<z.ZodEnum<{
1123
+ glass: "glass";
1124
+ double: "double";
1125
+ "single-left": "single-left";
1126
+ "single-right": "single-right";
1127
+ }>>;
1128
+ shelfCount: z.ZodOptional<z.ZodNumber>;
1129
+ id: z.ZodString;
1130
+ height: z.ZodOptional<z.ZodNumber>;
1131
+ }, z.core.$strip>, z.ZodObject<{
1132
+ type: z.ZodLiteral<"sink">;
1133
+ sinkLayout: z.ZodOptional<z.ZodEnum<{
1134
+ double: "double";
1135
+ single: "single";
1136
+ "double-offset": "double-offset";
1137
+ }>>;
1138
+ id: z.ZodString;
1139
+ height: z.ZodOptional<z.ZodNumber>;
1140
+ }, z.core.$strip>, z.ZodObject<{
1141
+ type: z.ZodLiteral<"oven">;
1142
+ id: z.ZodString;
1143
+ height: z.ZodOptional<z.ZodNumber>;
1144
+ }, z.core.$strip>, z.ZodObject<{
1145
+ type: z.ZodLiteral<"microwave">;
1146
+ id: z.ZodString;
1147
+ height: z.ZodOptional<z.ZodNumber>;
1148
+ }, z.core.$strip>, z.ZodObject<{
1149
+ type: z.ZodLiteral<"dishwasher">;
1150
+ id: z.ZodString;
1151
+ height: z.ZodOptional<z.ZodNumber>;
1152
+ }, z.core.$strip>, z.ZodObject<{
1153
+ cooktopLayout: z.ZodOptional<z.ZodEnum<{
1154
+ "gas-2burner": "gas-2burner";
1155
+ "gas-4burner": "gas-4burner";
1156
+ "gas-5burner-wok": "gas-5burner-wok";
1157
+ "gas-6burner": "gas-6burner";
1158
+ }>>;
1159
+ cooktopBurnersOn: z.ZodOptional<z.ZodBoolean>;
1160
+ cooktopActiveBurners: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1161
+ cooktopKnobProgress: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1162
+ cooktopShowGrate: z.ZodOptional<z.ZodBoolean>;
1163
+ type: z.ZodLiteral<"cooktop-gas">;
1164
+ id: z.ZodString;
1165
+ height: z.ZodOptional<z.ZodNumber>;
1166
+ }, z.core.$strip>, z.ZodObject<{
1167
+ cooktopLayout: z.ZodOptional<z.ZodEnum<{
1168
+ "induction-2zone": "induction-2zone";
1169
+ "induction-4zone": "induction-4zone";
1170
+ }>>;
1171
+ cooktopBurnersOn: z.ZodOptional<z.ZodBoolean>;
1172
+ cooktopActiveBurners: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1173
+ cooktopKnobProgress: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
1174
+ cooktopShowGrate: z.ZodOptional<z.ZodBoolean>;
1175
+ type: z.ZodLiteral<"cooktop-induction">;
1176
+ id: z.ZodString;
1177
+ height: z.ZodOptional<z.ZodNumber>;
1178
+ }, z.core.$strip>, z.ZodObject<{
1179
+ type: z.ZodLiteral<"pull-out-pantry">;
1180
+ shelfCount: z.ZodOptional<z.ZodNumber>;
1181
+ pantryRackStyle: z.ZodOptional<z.ZodEnum<{
1182
+ glass: "glass";
1183
+ wire: "wire";
1184
+ tray: "tray";
1185
+ }>>;
1186
+ id: z.ZodString;
1187
+ height: z.ZodOptional<z.ZodNumber>;
1188
+ }, z.core.$strip>, z.ZodObject<{
1189
+ type: z.ZodLiteral<"fridge-single">;
1190
+ id: z.ZodString;
1191
+ height: z.ZodOptional<z.ZodNumber>;
1192
+ }, z.core.$strip>, z.ZodObject<{
1193
+ type: z.ZodLiteral<"fridge-double">;
1194
+ id: z.ZodString;
1195
+ height: z.ZodOptional<z.ZodNumber>;
1196
+ }, z.core.$strip>, z.ZodObject<{
1197
+ type: z.ZodLiteral<"fridge-top-freezer">;
1198
+ id: z.ZodString;
1199
+ height: z.ZodOptional<z.ZodNumber>;
1200
+ }, z.core.$strip>, z.ZodObject<{
1201
+ type: z.ZodLiteral<"fridge-bottom-freezer">;
1202
+ id: z.ZodString;
1203
+ height: z.ZodOptional<z.ZodNumber>;
1204
+ }, z.core.$strip>, z.ZodObject<{
1205
+ type: z.ZodLiteral<"hood-pyramid">;
1206
+ id: z.ZodString;
1207
+ height: z.ZodOptional<z.ZodNumber>;
1208
+ }, z.core.$strip>, z.ZodObject<{
1209
+ type: z.ZodLiteral<"hood-curved-glass">;
1210
+ id: z.ZodString;
1211
+ height: z.ZodOptional<z.ZodNumber>;
1212
+ }, z.core.$strip>], "type">>>;
1213
+ id: z.ZodDefault<z.ZodTemplateLiteral<`cabinet-module_${string}`>>;
1214
+ type: z.ZodDefault<z.ZodLiteral<"cabinet-module">>;
1215
+ children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`cabinet-module_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`cabinet_${string}`>>]>>>;
1216
+ cabinetType: z.ZodDefault<z.ZodEnum<{
1217
+ base: "base";
1218
+ tall: "tall";
1219
+ }>>;
1220
+ moduleKind: z.ZodDefault<z.ZodEnum<{
1221
+ standard: "standard";
1222
+ "corner-filler": "corner-filler";
1223
+ }>>;
1224
+ openSide: z.ZodOptional<z.ZodEnum<{
1225
+ right: "right";
1226
+ left: "left";
557
1227
  }>>;
1228
+ cornerShelf: z.ZodOptional<z.ZodBoolean>;
558
1229
  }, z.core.$strip>, z.ZodObject<{
559
1230
  object: z.ZodDefault<z.ZodLiteral<"node">>;
560
1231
  name: z.ZodOptional<z.ZodString>;
@@ -583,7 +1254,16 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
583
1254
  children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>>>;
584
1255
  wallId: z.ZodOptional<z.ZodString>;
585
1256
  wallT: z.ZodOptional<z.ZodNumber>;
1257
+ roofSegmentId: z.ZodOptional<z.ZodString>;
1258
+ roofFace: z.ZodOptional<z.ZodEnum<{
1259
+ front: "front";
1260
+ back: "back";
1261
+ right: "right";
1262
+ left: "left";
1263
+ }>>;
1264
+ supportSlabId: z.ZodOptional<z.ZodString>;
586
1265
  collectionIds: z.ZodOptional<z.ZodArray<z.ZodCustom<`collection_${string}`, `collection_${string}`>>>;
1266
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
587
1267
  asset: z.ZodObject<{
588
1268
  id: z.ZodString;
589
1269
  category: z.ZodString;
@@ -675,6 +1355,28 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
675
1355
  type: z.ZodDefault<z.ZodLiteral<"zone">>;
676
1356
  name: z.ZodString;
677
1357
  polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1358
+ autoFromWalls: z.ZodDefault<z.ZodBoolean>;
1359
+ boundaryWallIds: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`wall_${string}`>>>>;
1360
+ spaceRole: z.ZodDefault<z.ZodEnum<{
1361
+ generic: "generic";
1362
+ room: "room";
1363
+ }>>;
1364
+ roomNumber: z.ZodDefault<z.ZodString>;
1365
+ enclosureStatus: z.ZodDefault<z.ZodEnum<{
1366
+ auto: "auto";
1367
+ enclosed: "enclosed";
1368
+ open: "open";
1369
+ }>>;
1370
+ floorFinish: z.ZodDefault<z.ZodString>;
1371
+ wallFinish: z.ZodDefault<z.ZodString>;
1372
+ ceilingFinish: z.ZodDefault<z.ZodString>;
1373
+ ceilingHeight: z.ZodDefault<z.ZodNumber>;
1374
+ occupancy: z.ZodDefault<z.ZodString>;
1375
+ clearDimensionPolicy: z.ZodDefault<z.ZodEnum<{
1376
+ none: "none";
1377
+ "inside-faces": "inside-faces";
1378
+ "finish-faces": "finish-faces";
1379
+ }>>;
678
1380
  color: z.ZodDefault<z.ZodString>;
679
1381
  metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
680
1382
  }, z.core.$strip>, z.ZodObject<{
@@ -697,7 +1399,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
697
1399
  type: z.ZodDefault<z.ZodLiteral<"slab">>;
698
1400
  material: z.ZodOptional<z.ZodObject<{
699
1401
  id: z.ZodOptional<z.ZodString>;
700
- preset: z.ZodOptional<z.ZodEnum<{
1402
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
701
1403
  custom: "custom";
702
1404
  white: "white";
703
1405
  brick: "brick";
@@ -708,7 +1410,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
708
1410
  plaster: "plaster";
709
1411
  tile: "tile";
710
1412
  marble: "marble";
711
- }>>;
1413
+ }>>>;
712
1414
  properties: z.ZodOptional<z.ZodObject<{
713
1415
  color: z.ZodDefault<z.ZodString>;
714
1416
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -728,6 +1430,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
728
1430
  }, z.core.$strip>>;
729
1431
  }, z.core.$strip>>;
730
1432
  materialPreset: z.ZodOptional<z.ZodString>;
1433
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
731
1434
  polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
732
1435
  holes: z.ZodDefault<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
733
1436
  holeMetadata: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -740,6 +1443,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
740
1443
  elevatorId: z.ZodOptional<z.ZodString>;
741
1444
  }, z.core.$strip>>>;
742
1445
  elevation: z.ZodDefault<z.ZodNumber>;
1446
+ thickness: z.ZodDefault<z.ZodNumber>;
1447
+ recessed: z.ZodDefault<z.ZodBoolean>;
1448
+ recessedRimElevation: z.ZodOptional<z.ZodNumber>;
1449
+ fillToTerrain: z.ZodOptional<z.ZodBoolean>;
743
1450
  autoFromWalls: z.ZodDefault<z.ZodBoolean>;
744
1451
  }, z.core.$strip>, z.ZodObject<{
745
1452
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -762,7 +1469,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
762
1469
  children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>>>;
763
1470
  material: z.ZodOptional<z.ZodObject<{
764
1471
  id: z.ZodOptional<z.ZodString>;
765
- preset: z.ZodOptional<z.ZodEnum<{
1472
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
766
1473
  custom: "custom";
767
1474
  white: "white";
768
1475
  brick: "brick";
@@ -773,7 +1480,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
773
1480
  plaster: "plaster";
774
1481
  tile: "tile";
775
1482
  marble: "marble";
776
- }>>;
1483
+ }>>>;
777
1484
  properties: z.ZodOptional<z.ZodObject<{
778
1485
  color: z.ZodDefault<z.ZodString>;
779
1486
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -793,6 +1500,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
793
1500
  }, z.core.$strip>>;
794
1501
  }, z.core.$strip>>;
795
1502
  materialPreset: z.ZodOptional<z.ZodString>;
1503
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
796
1504
  polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
797
1505
  holes: z.ZodDefault<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
798
1506
  holeMetadata: z.ZodDefault<z.ZodArray<z.ZodObject<{
@@ -804,7 +1512,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
804
1512
  stairId: z.ZodOptional<z.ZodString>;
805
1513
  elevatorId: z.ZodOptional<z.ZodString>;
806
1514
  }, z.core.$strip>>>;
807
- height: z.ZodDefault<z.ZodNumber>;
1515
+ height: z.ZodOptional<z.ZodNumber>;
808
1516
  autoFromWalls: z.ZodDefault<z.ZodBoolean>;
809
1517
  }, z.core.$strip>, z.ZodObject<{
810
1518
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -826,7 +1534,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
826
1534
  type: z.ZodDefault<z.ZodLiteral<"roof">>;
827
1535
  material: z.ZodOptional<z.ZodObject<{
828
1536
  id: z.ZodOptional<z.ZodString>;
829
- preset: z.ZodOptional<z.ZodEnum<{
1537
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
830
1538
  custom: "custom";
831
1539
  white: "white";
832
1540
  brick: "brick";
@@ -837,7 +1545,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
837
1545
  plaster: "plaster";
838
1546
  tile: "tile";
839
1547
  marble: "marble";
840
- }>>;
1548
+ }>>>;
841
1549
  properties: z.ZodOptional<z.ZodObject<{
842
1550
  color: z.ZodDefault<z.ZodString>;
843
1551
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -859,7 +1567,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
859
1567
  materialPreset: z.ZodOptional<z.ZodString>;
860
1568
  topMaterial: z.ZodOptional<z.ZodObject<{
861
1569
  id: z.ZodOptional<z.ZodString>;
862
- preset: z.ZodOptional<z.ZodEnum<{
1570
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
863
1571
  custom: "custom";
864
1572
  white: "white";
865
1573
  brick: "brick";
@@ -870,7 +1578,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
870
1578
  plaster: "plaster";
871
1579
  tile: "tile";
872
1580
  marble: "marble";
873
- }>>;
1581
+ }>>>;
874
1582
  properties: z.ZodOptional<z.ZodObject<{
875
1583
  color: z.ZodDefault<z.ZodString>;
876
1584
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -892,7 +1600,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
892
1600
  topMaterialPreset: z.ZodOptional<z.ZodString>;
893
1601
  edgeMaterial: z.ZodOptional<z.ZodObject<{
894
1602
  id: z.ZodOptional<z.ZodString>;
895
- preset: z.ZodOptional<z.ZodEnum<{
1603
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
896
1604
  custom: "custom";
897
1605
  white: "white";
898
1606
  brick: "brick";
@@ -903,7 +1611,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
903
1611
  plaster: "plaster";
904
1612
  tile: "tile";
905
1613
  marble: "marble";
906
- }>>;
1614
+ }>>>;
907
1615
  properties: z.ZodOptional<z.ZodObject<{
908
1616
  color: z.ZodDefault<z.ZodString>;
909
1617
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -925,7 +1633,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
925
1633
  edgeMaterialPreset: z.ZodOptional<z.ZodString>;
926
1634
  wallMaterial: z.ZodOptional<z.ZodObject<{
927
1635
  id: z.ZodOptional<z.ZodString>;
928
- preset: z.ZodOptional<z.ZodEnum<{
1636
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
929
1637
  custom: "custom";
930
1638
  white: "white";
931
1639
  brick: "brick";
@@ -936,7 +1644,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
936
1644
  plaster: "plaster";
937
1645
  tile: "tile";
938
1646
  marble: "marble";
939
- }>>;
1647
+ }>>>;
940
1648
  properties: z.ZodOptional<z.ZodObject<{
941
1649
  color: z.ZodDefault<z.ZodString>;
942
1650
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -979,7 +1687,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
979
1687
  type: z.ZodDefault<z.ZodLiteral<"roof-segment">>;
980
1688
  material: z.ZodOptional<z.ZodObject<{
981
1689
  id: z.ZodOptional<z.ZodString>;
982
- preset: z.ZodOptional<z.ZodEnum<{
1690
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
983
1691
  custom: "custom";
984
1692
  white: "white";
985
1693
  brick: "brick";
@@ -990,7 +1698,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
990
1698
  plaster: "plaster";
991
1699
  tile: "tile";
992
1700
  marble: "marble";
993
- }>>;
1701
+ }>>>;
994
1702
  properties: z.ZodOptional<z.ZodObject<{
995
1703
  color: z.ZodDefault<z.ZodString>;
996
1704
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1012,7 +1720,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1012
1720
  materialPreset: z.ZodOptional<z.ZodString>;
1013
1721
  topMaterial: z.ZodOptional<z.ZodObject<{
1014
1722
  id: z.ZodOptional<z.ZodString>;
1015
- preset: z.ZodOptional<z.ZodEnum<{
1723
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1016
1724
  custom: "custom";
1017
1725
  white: "white";
1018
1726
  brick: "brick";
@@ -1023,7 +1731,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1023
1731
  plaster: "plaster";
1024
1732
  tile: "tile";
1025
1733
  marble: "marble";
1026
- }>>;
1734
+ }>>>;
1027
1735
  properties: z.ZodOptional<z.ZodObject<{
1028
1736
  color: z.ZodDefault<z.ZodString>;
1029
1737
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1045,7 +1753,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1045
1753
  topMaterialPreset: z.ZodOptional<z.ZodString>;
1046
1754
  edgeMaterial: z.ZodOptional<z.ZodObject<{
1047
1755
  id: z.ZodOptional<z.ZodString>;
1048
- preset: z.ZodOptional<z.ZodEnum<{
1756
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1049
1757
  custom: "custom";
1050
1758
  white: "white";
1051
1759
  brick: "brick";
@@ -1056,7 +1764,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1056
1764
  plaster: "plaster";
1057
1765
  tile: "tile";
1058
1766
  marble: "marble";
1059
- }>>;
1767
+ }>>>;
1060
1768
  properties: z.ZodOptional<z.ZodObject<{
1061
1769
  color: z.ZodDefault<z.ZodString>;
1062
1770
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1078,7 +1786,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1078
1786
  edgeMaterialPreset: z.ZodOptional<z.ZodString>;
1079
1787
  wallMaterial: z.ZodOptional<z.ZodObject<{
1080
1788
  id: z.ZodOptional<z.ZodString>;
1081
- preset: z.ZodOptional<z.ZodEnum<{
1789
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1082
1790
  custom: "custom";
1083
1791
  white: "white";
1084
1792
  brick: "brick";
@@ -1089,7 +1797,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1089
1797
  plaster: "plaster";
1090
1798
  tile: "tile";
1091
1799
  marble: "marble";
1092
- }>>;
1800
+ }>>>;
1093
1801
  properties: z.ZodOptional<z.ZodObject<{
1094
1802
  color: z.ZodDefault<z.ZodString>;
1095
1803
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1122,6 +1830,24 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1122
1830
  }>>;
1123
1831
  width: z.ZodDefault<z.ZodNumber>;
1124
1832
  depth: z.ZodDefault<z.ZodNumber>;
1833
+ trim: z.ZodDefault<z.ZodObject<{
1834
+ left: z.ZodDefault<z.ZodNumber>;
1835
+ right: z.ZodDefault<z.ZodNumber>;
1836
+ front: z.ZodDefault<z.ZodNumber>;
1837
+ back: z.ZodDefault<z.ZodNumber>;
1838
+ frontLeft: z.ZodDefault<z.ZodNumber>;
1839
+ frontRight: z.ZodDefault<z.ZodNumber>;
1840
+ backLeft: z.ZodDefault<z.ZodNumber>;
1841
+ backRight: z.ZodDefault<z.ZodNumber>;
1842
+ frontLeftX: z.ZodDefault<z.ZodNumber>;
1843
+ frontLeftZ: z.ZodDefault<z.ZodNumber>;
1844
+ frontRightX: z.ZodDefault<z.ZodNumber>;
1845
+ frontRightZ: z.ZodDefault<z.ZodNumber>;
1846
+ backLeftX: z.ZodDefault<z.ZodNumber>;
1847
+ backLeftZ: z.ZodDefault<z.ZodNumber>;
1848
+ backRightX: z.ZodDefault<z.ZodNumber>;
1849
+ backRightZ: z.ZodDefault<z.ZodNumber>;
1850
+ }, z.core.$strip>>;
1125
1851
  wallHeight: z.ZodDefault<z.ZodNumber>;
1126
1852
  pitch: z.ZodDefault<z.ZodNumber>;
1127
1853
  wallThickness: z.ZodDefault<z.ZodNumber>;
@@ -1134,6 +1860,9 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1134
1860
  mansardSteepHeightRatio: z.ZodDefault<z.ZodNumber>;
1135
1861
  dutchHipWidthRatio: z.ZodDefault<z.ZodNumber>;
1136
1862
  dutchHipHeightRatio: z.ZodDefault<z.ZodNumber>;
1863
+ dutchWaistLengthRatio: z.ZodDefault<z.ZodNumber>;
1864
+ dutchGabletRake: z.ZodDefault<z.ZodNumber>;
1865
+ dutchTopRakeThickness: z.ZodDefault<z.ZodNumber>;
1137
1866
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
1138
1867
  }, z.core.$strip>, z.ZodObject<{
1139
1868
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -1156,6 +1885,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1156
1885
  children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>>>;
1157
1886
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1158
1887
  rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1888
+ supportSlabId: z.ZodOptional<z.ZodString>;
1159
1889
  width: z.ZodDefault<z.ZodNumber>;
1160
1890
  depth: z.ZodDefault<z.ZodNumber>;
1161
1891
  thickness: z.ZodDefault<z.ZodNumber>;
@@ -1178,7 +1908,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1178
1908
  }>>;
1179
1909
  material: z.ZodOptional<z.ZodObject<{
1180
1910
  id: z.ZodOptional<z.ZodString>;
1181
- preset: z.ZodOptional<z.ZodEnum<{
1911
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1182
1912
  custom: "custom";
1183
1913
  white: "white";
1184
1914
  brick: "brick";
@@ -1189,7 +1919,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1189
1919
  plaster: "plaster";
1190
1920
  tile: "tile";
1191
1921
  marble: "marble";
1192
- }>>;
1922
+ }>>>;
1193
1923
  properties: z.ZodOptional<z.ZodObject<{
1194
1924
  color: z.ZodDefault<z.ZodString>;
1195
1925
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1209,6 +1939,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1209
1939
  }, z.core.$strip>>;
1210
1940
  }, z.core.$strip>>;
1211
1941
  materialPreset: z.ZodOptional<z.ZodString>;
1942
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1212
1943
  }, z.core.$strip>, z.ZodObject<{
1213
1944
  object: z.ZodDefault<z.ZodLiteral<"node">>;
1214
1945
  name: z.ZodOptional<z.ZodString>;
@@ -1229,7 +1960,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1229
1960
  type: z.ZodDefault<z.ZodLiteral<"stair">>;
1230
1961
  material: z.ZodOptional<z.ZodObject<{
1231
1962
  id: z.ZodOptional<z.ZodString>;
1232
- preset: z.ZodOptional<z.ZodEnum<{
1963
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1233
1964
  custom: "custom";
1234
1965
  white: "white";
1235
1966
  brick: "brick";
@@ -1240,7 +1971,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1240
1971
  plaster: "plaster";
1241
1972
  tile: "tile";
1242
1973
  marble: "marble";
1243
- }>>;
1974
+ }>>>;
1244
1975
  properties: z.ZodOptional<z.ZodObject<{
1245
1976
  color: z.ZodDefault<z.ZodString>;
1246
1977
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1262,7 +1993,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1262
1993
  materialPreset: z.ZodOptional<z.ZodString>;
1263
1994
  railingMaterial: z.ZodOptional<z.ZodObject<{
1264
1995
  id: z.ZodOptional<z.ZodString>;
1265
- preset: z.ZodOptional<z.ZodEnum<{
1996
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1266
1997
  custom: "custom";
1267
1998
  white: "white";
1268
1999
  brick: "brick";
@@ -1273,7 +2004,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1273
2004
  plaster: "plaster";
1274
2005
  tile: "tile";
1275
2006
  marble: "marble";
1276
- }>>;
2007
+ }>>>;
1277
2008
  properties: z.ZodOptional<z.ZodObject<{
1278
2009
  color: z.ZodDefault<z.ZodString>;
1279
2010
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1295,7 +2026,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1295
2026
  railingMaterialPreset: z.ZodOptional<z.ZodString>;
1296
2027
  treadMaterial: z.ZodOptional<z.ZodObject<{
1297
2028
  id: z.ZodOptional<z.ZodString>;
1298
- preset: z.ZodOptional<z.ZodEnum<{
2029
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1299
2030
  custom: "custom";
1300
2031
  white: "white";
1301
2032
  brick: "brick";
@@ -1306,7 +2037,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1306
2037
  plaster: "plaster";
1307
2038
  tile: "tile";
1308
2039
  marble: "marble";
1309
- }>>;
2040
+ }>>>;
1310
2041
  properties: z.ZodOptional<z.ZodObject<{
1311
2042
  color: z.ZodDefault<z.ZodString>;
1312
2043
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1328,7 +2059,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1328
2059
  treadMaterialPreset: z.ZodOptional<z.ZodString>;
1329
2060
  sideMaterial: z.ZodOptional<z.ZodObject<{
1330
2061
  id: z.ZodOptional<z.ZodString>;
1331
- preset: z.ZodOptional<z.ZodEnum<{
2062
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1332
2063
  custom: "custom";
1333
2064
  white: "white";
1334
2065
  brick: "brick";
@@ -1339,7 +2070,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1339
2070
  plaster: "plaster";
1340
2071
  tile: "tile";
1341
2072
  marble: "marble";
1342
- }>>;
2073
+ }>>>;
1343
2074
  properties: z.ZodOptional<z.ZodObject<{
1344
2075
  color: z.ZodDefault<z.ZodString>;
1345
2076
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1359,8 +2090,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1359
2090
  }, z.core.$strip>>;
1360
2091
  }, z.core.$strip>>;
1361
2092
  sideMaterialPreset: z.ZodOptional<z.ZodString>;
2093
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1362
2094
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1363
2095
  rotation: z.ZodDefault<z.ZodNumber>;
2096
+ supportSlabId: z.ZodOptional<z.ZodString>;
1364
2097
  stairType: z.ZodDefault<z.ZodEnum<{
1365
2098
  straight: "straight";
1366
2099
  spiral: "spiral";
@@ -1368,13 +2101,14 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1368
2101
  }>>;
1369
2102
  fromLevelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1370
2103
  toLevelId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2104
+ deckSlabId: z.ZodOptional<z.ZodString>;
1371
2105
  slabOpeningMode: z.ZodDefault<z.ZodEnum<{
1372
2106
  none: "none";
1373
2107
  destination: "destination";
1374
2108
  }>>;
1375
2109
  openingOffset: z.ZodDefault<z.ZodNumber>;
1376
2110
  width: z.ZodDefault<z.ZodNumber>;
1377
- totalRise: z.ZodDefault<z.ZodNumber>;
2111
+ totalRise: z.ZodOptional<z.ZodNumber>;
1378
2112
  stepCount: z.ZodDefault<z.ZodNumber>;
1379
2113
  thickness: z.ZodDefault<z.ZodNumber>;
1380
2114
  fillToFloor: z.ZodDefault<z.ZodBoolean>;
@@ -1388,9 +2122,9 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1388
2122
  showCenterColumn: z.ZodDefault<z.ZodBoolean>;
1389
2123
  showStepSupports: z.ZodDefault<z.ZodBoolean>;
1390
2124
  railingMode: z.ZodDefault<z.ZodEnum<{
1391
- none: "none";
1392
- left: "left";
1393
2125
  right: "right";
2126
+ left: "left";
2127
+ none: "none";
1394
2128
  both: "both";
1395
2129
  }>>;
1396
2130
  railingHeight: z.ZodDefault<z.ZodNumber>;
@@ -1415,7 +2149,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1415
2149
  type: z.ZodDefault<z.ZodLiteral<"stair-segment">>;
1416
2150
  material: z.ZodOptional<z.ZodObject<{
1417
2151
  id: z.ZodOptional<z.ZodString>;
1418
- preset: z.ZodOptional<z.ZodEnum<{
2152
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1419
2153
  custom: "custom";
1420
2154
  white: "white";
1421
2155
  brick: "brick";
@@ -1426,7 +2160,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1426
2160
  plaster: "plaster";
1427
2161
  tile: "tile";
1428
2162
  marble: "marble";
1429
- }>>;
2163
+ }>>>;
1430
2164
  properties: z.ZodOptional<z.ZodObject<{
1431
2165
  color: z.ZodDefault<z.ZodString>;
1432
2166
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1458,8 +2192,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1458
2192
  stepCount: z.ZodDefault<z.ZodNumber>;
1459
2193
  attachmentSide: z.ZodDefault<z.ZodEnum<{
1460
2194
  front: "front";
1461
- left: "left";
1462
2195
  right: "right";
2196
+ left: "left";
1463
2197
  }>>;
1464
2198
  fillToFloor: z.ZodDefault<z.ZodBoolean>;
1465
2199
  thickness: z.ZodDefault<z.ZodNumber>;
@@ -1533,10 +2267,110 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1533
2267
  zoom: z.ZodOptional<z.ZodNumber>;
1534
2268
  }, z.core.$strip>>;
1535
2269
  metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
1536
- id: z.ZodDefault<z.ZodTemplateLiteral<`spawn_${string}`>>;
2270
+ id: z.ZodDefault<z.ZodTemplateLiteral<`measurement_${string}`>>;
2271
+ type: z.ZodDefault<z.ZodLiteral<"measurement">>;
2272
+ measurement: z.ZodDiscriminatedUnion<[z.ZodObject<{
2273
+ kind: z.ZodLiteral<"distance">;
2274
+ points: z.ZodTuple<[z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2275
+ kind: z.ZodLiteral<"feature">;
2276
+ reference: z.ZodObject<{
2277
+ nodeId: z.ZodString;
2278
+ featureId: z.ZodString;
2279
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2280
+ }, z.core.$strip>;
2281
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2282
+ }, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2283
+ kind: z.ZodLiteral<"feature">;
2284
+ reference: z.ZodObject<{
2285
+ nodeId: z.ZodString;
2286
+ featureId: z.ZodString;
2287
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2288
+ }, z.core.$strip>;
2289
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2290
+ }, z.core.$strip>]>], null>;
2291
+ }, z.core.$strip>, z.ZodObject<{
2292
+ kind: z.ZodLiteral<"angle">;
2293
+ points: z.ZodTuple<[z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2294
+ kind: z.ZodLiteral<"feature">;
2295
+ reference: z.ZodObject<{
2296
+ nodeId: z.ZodString;
2297
+ featureId: z.ZodString;
2298
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2299
+ }, z.core.$strip>;
2300
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2301
+ }, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2302
+ kind: z.ZodLiteral<"feature">;
2303
+ reference: z.ZodObject<{
2304
+ nodeId: z.ZodString;
2305
+ featureId: z.ZodString;
2306
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2307
+ }, z.core.$strip>;
2308
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2309
+ }, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2310
+ kind: z.ZodLiteral<"feature">;
2311
+ reference: z.ZodObject<{
2312
+ nodeId: z.ZodString;
2313
+ featureId: z.ZodString;
2314
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2315
+ }, z.core.$strip>;
2316
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2317
+ }, z.core.$strip>]>], null>;
2318
+ }, z.core.$strip>, z.ZodObject<{
2319
+ kind: z.ZodLiteral<"area">;
2320
+ base: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2321
+ kind: z.ZodLiteral<"feature">;
2322
+ reference: z.ZodObject<{
2323
+ nodeId: z.ZodString;
2324
+ featureId: z.ZodString;
2325
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2326
+ }, z.core.$strip>;
2327
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2328
+ }, z.core.$strip>]>>;
2329
+ }, z.core.$strip>, z.ZodObject<{
2330
+ kind: z.ZodLiteral<"perimeter">;
2331
+ base: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2332
+ kind: z.ZodLiteral<"feature">;
2333
+ reference: z.ZodObject<{
2334
+ nodeId: z.ZodString;
2335
+ featureId: z.ZodString;
2336
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2337
+ }, z.core.$strip>;
2338
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2339
+ }, z.core.$strip>]>>;
2340
+ }, z.core.$strip>, z.ZodObject<{
2341
+ kind: z.ZodLiteral<"volume">;
2342
+ base: z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
2343
+ kind: z.ZodLiteral<"feature">;
2344
+ reference: z.ZodObject<{
2345
+ nodeId: z.ZodString;
2346
+ featureId: z.ZodString;
2347
+ parameters: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodString, z.ZodBoolean, z.ZodNumber]>>>;
2348
+ }, z.core.$strip>;
2349
+ fallback: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2350
+ }, z.core.$strip>]>>;
2351
+ extrusion: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2352
+ }, z.core.$strip>], "kind">;
2353
+ }, z.core.$strip>, z.ZodObject<{
2354
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
2355
+ name: z.ZodOptional<z.ZodString>;
2356
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2357
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2358
+ camera: z.ZodOptional<z.ZodObject<{
2359
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2360
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2361
+ mode: z.ZodDefault<z.ZodEnum<{
2362
+ perspective: "perspective";
2363
+ orthographic: "orthographic";
2364
+ }>>;
2365
+ fov: z.ZodOptional<z.ZodNumber>;
2366
+ zoom: z.ZodOptional<z.ZodNumber>;
2367
+ }, z.core.$strip>>;
2368
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
2369
+ id: z.ZodDefault<z.ZodTemplateLiteral<`spawn_${string}`>>;
1537
2370
  type: z.ZodDefault<z.ZodLiteral<"spawn">>;
1538
2371
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1539
2372
  rotation: z.ZodDefault<z.ZodNumber>;
2373
+ supportSlabId: z.ZodOptional<z.ZodString>;
1540
2374
  }, z.core.$strip>, z.ZodObject<{
1541
2375
  object: z.ZodDefault<z.ZodLiteral<"node">>;
1542
2376
  name: z.ZodOptional<z.ZodString>;
@@ -1557,7 +2391,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1557
2391
  type: z.ZodDefault<z.ZodLiteral<"window">>;
1558
2392
  material: z.ZodOptional<z.ZodObject<{
1559
2393
  id: z.ZodOptional<z.ZodString>;
1560
- preset: z.ZodOptional<z.ZodEnum<{
2394
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1561
2395
  custom: "custom";
1562
2396
  white: "white";
1563
2397
  brick: "brick";
@@ -1568,7 +2402,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1568
2402
  plaster: "plaster";
1569
2403
  tile: "tile";
1570
2404
  marble: "marble";
1571
- }>>;
2405
+ }>>>;
1572
2406
  properties: z.ZodOptional<z.ZodObject<{
1573
2407
  color: z.ZodDefault<z.ZodString>;
1574
2408
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1587,6 +2421,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1587
2421
  scale: z.ZodOptional<z.ZodNumber>;
1588
2422
  }, z.core.$strip>>;
1589
2423
  }, z.core.$strip>>;
2424
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1590
2425
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1591
2426
  rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1592
2427
  side: z.ZodOptional<z.ZodEnum<{
@@ -1594,8 +2429,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1594
2429
  back: "back";
1595
2430
  }>>;
1596
2431
  wallId: z.ZodOptional<z.ZodString>;
2432
+ roofSegmentId: z.ZodOptional<z.ZodString>;
2433
+ roofFace: z.ZodOptional<z.ZodEnum<{
2434
+ front: "front";
2435
+ back: "back";
2436
+ right: "right";
2437
+ left: "left";
2438
+ }>>;
1597
2439
  width: z.ZodDefault<z.ZodNumber>;
1598
2440
  height: z.ZodDefault<z.ZodNumber>;
2441
+ mark: z.ZodOptional<z.ZodString>;
2442
+ constructionType: z.ZodDefault<z.ZodEnum<{
2443
+ framed: "framed";
2444
+ masonry: "masonry";
2445
+ }>>;
2446
+ dimensionReference: z.ZodDefault<z.ZodEnum<{
2447
+ nominal: "nominal";
2448
+ "rough-opening": "rough-opening";
2449
+ "masonry-opening": "masonry-opening";
2450
+ "finish-opening": "finish-opening";
2451
+ }>>;
2452
+ roughOpeningWidth: z.ZodOptional<z.ZodNumber>;
2453
+ roughOpeningHeight: z.ZodOptional<z.ZodNumber>;
2454
+ masonryOpeningWidth: z.ZodOptional<z.ZodNumber>;
2455
+ masonryOpeningHeight: z.ZodOptional<z.ZodNumber>;
2456
+ finishOpeningWidth: z.ZodOptional<z.ZodNumber>;
2457
+ finishOpeningHeight: z.ZodOptional<z.ZodNumber>;
1599
2458
  openingKind: z.ZodDefault<z.ZodEnum<{
1600
2459
  window: "window";
1601
2460
  opening: "opening";
@@ -1622,8 +2481,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1622
2481
  single: "single";
1623
2482
  }>>;
1624
2483
  hingesSide: z.ZodDefault<z.ZodEnum<{
1625
- left: "left";
1626
2484
  right: "right";
2485
+ left: "left";
1627
2486
  }>>;
1628
2487
  openingShape: z.ZodDefault<z.ZodEnum<{
1629
2488
  rectangle: "rectangle";
@@ -1667,7 +2526,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1667
2526
  type: z.ZodDefault<z.ZodLiteral<"door">>;
1668
2527
  material: z.ZodOptional<z.ZodObject<{
1669
2528
  id: z.ZodOptional<z.ZodString>;
1670
- preset: z.ZodOptional<z.ZodEnum<{
2529
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1671
2530
  custom: "custom";
1672
2531
  white: "white";
1673
2532
  brick: "brick";
@@ -1678,7 +2537,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1678
2537
  plaster: "plaster";
1679
2538
  tile: "tile";
1680
2539
  marble: "marble";
1681
- }>>;
2540
+ }>>>;
1682
2541
  properties: z.ZodOptional<z.ZodObject<{
1683
2542
  color: z.ZodDefault<z.ZodString>;
1684
2543
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1697,6 +2556,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1697
2556
  scale: z.ZodOptional<z.ZodNumber>;
1698
2557
  }, z.core.$strip>>;
1699
2558
  }, z.core.$strip>>;
2559
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1700
2560
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1701
2561
  rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1702
2562
  side: z.ZodOptional<z.ZodEnum<{
@@ -1704,8 +2564,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1704
2564
  back: "back";
1705
2565
  }>>;
1706
2566
  wallId: z.ZodOptional<z.ZodString>;
2567
+ roofSegmentId: z.ZodOptional<z.ZodString>;
2568
+ roofFace: z.ZodOptional<z.ZodEnum<{
2569
+ front: "front";
2570
+ back: "back";
2571
+ right: "right";
2572
+ left: "left";
2573
+ }>>;
1707
2574
  width: z.ZodDefault<z.ZodNumber>;
1708
2575
  height: z.ZodDefault<z.ZodNumber>;
2576
+ mark: z.ZodOptional<z.ZodString>;
2577
+ constructionType: z.ZodDefault<z.ZodEnum<{
2578
+ framed: "framed";
2579
+ masonry: "masonry";
2580
+ }>>;
2581
+ dimensionReference: z.ZodDefault<z.ZodEnum<{
2582
+ nominal: "nominal";
2583
+ "rough-opening": "rough-opening";
2584
+ "masonry-opening": "masonry-opening";
2585
+ "finish-opening": "finish-opening";
2586
+ }>>;
2587
+ roughOpeningWidth: z.ZodOptional<z.ZodNumber>;
2588
+ roughOpeningHeight: z.ZodOptional<z.ZodNumber>;
2589
+ masonryOpeningWidth: z.ZodOptional<z.ZodNumber>;
2590
+ masonryOpeningHeight: z.ZodOptional<z.ZodNumber>;
2591
+ finishOpeningWidth: z.ZodOptional<z.ZodNumber>;
2592
+ finishOpeningHeight: z.ZodOptional<z.ZodNumber>;
1709
2593
  doorCategory: z.ZodDefault<z.ZodEnum<{
1710
2594
  interior: "interior";
1711
2595
  garage: "garage";
@@ -1725,8 +2609,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1725
2609
  leafCount: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
1726
2610
  operationState: z.ZodDefault<z.ZodNumber>;
1727
2611
  slideDirection: z.ZodDefault<z.ZodEnum<{
1728
- left: "left";
1729
2612
  right: "right";
2613
+ left: "left";
1730
2614
  }>>;
1731
2615
  trackStyle: z.ZodDefault<z.ZodEnum<{
1732
2616
  visible: "visible";
@@ -1757,8 +2641,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1757
2641
  threshold: z.ZodDefault<z.ZodBoolean>;
1758
2642
  thresholdHeight: z.ZodDefault<z.ZodNumber>;
1759
2643
  hingesSide: z.ZodDefault<z.ZodEnum<{
1760
- left: "left";
1761
2644
  right: "right";
2645
+ left: "left";
1762
2646
  }>>;
1763
2647
  swingDirection: z.ZodDefault<z.ZodEnum<{
1764
2648
  inward: "inward";
@@ -1780,8 +2664,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1780
2664
  handle: z.ZodDefault<z.ZodBoolean>;
1781
2665
  handleHeight: z.ZodDefault<z.ZodNumber>;
1782
2666
  handleSide: z.ZodDefault<z.ZodEnum<{
1783
- left: "left";
1784
2667
  right: "right";
2668
+ left: "left";
1785
2669
  }>>;
1786
2670
  contentPadding: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1787
2671
  doorCloser: z.ZodDefault<z.ZodBoolean>;
@@ -1807,7 +2691,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1807
2691
  type: z.ZodDefault<z.ZodLiteral<"box-vent">>;
1808
2692
  material: z.ZodOptional<z.ZodObject<{
1809
2693
  id: z.ZodOptional<z.ZodString>;
1810
- preset: z.ZodOptional<z.ZodEnum<{
2694
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1811
2695
  custom: "custom";
1812
2696
  white: "white";
1813
2697
  brick: "brick";
@@ -1818,7 +2702,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1818
2702
  plaster: "plaster";
1819
2703
  tile: "tile";
1820
2704
  marble: "marble";
1821
- }>>;
2705
+ }>>>;
1822
2706
  properties: z.ZodOptional<z.ZodObject<{
1823
2707
  color: z.ZodDefault<z.ZodString>;
1824
2708
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1877,7 +2761,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1877
2761
  type: z.ZodDefault<z.ZodLiteral<"ridge-vent">>;
1878
2762
  material: z.ZodOptional<z.ZodObject<{
1879
2763
  id: z.ZodOptional<z.ZodString>;
1880
- preset: z.ZodOptional<z.ZodEnum<{
2764
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1881
2765
  custom: "custom";
1882
2766
  white: "white";
1883
2767
  brick: "brick";
@@ -1888,7 +2772,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1888
2772
  plaster: "plaster";
1889
2773
  tile: "tile";
1890
2774
  marble: "marble";
1891
- }>>;
2775
+ }>>>;
1892
2776
  properties: z.ZodOptional<z.ZodObject<{
1893
2777
  color: z.ZodDefault<z.ZodString>;
1894
2778
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -1907,7 +2791,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1907
2791
  scale: z.ZodOptional<z.ZodNumber>;
1908
2792
  }, z.core.$strip>>;
1909
2793
  }, z.core.$strip>>;
1910
- materialPreset: z.ZodDefault<z.ZodString>;
2794
+ materialPreset: z.ZodOptional<z.ZodString>;
1911
2795
  roofSegmentId: z.ZodOptional<z.ZodString>;
1912
2796
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1913
2797
  rotation: z.ZodDefault<z.ZodNumber>;
@@ -1940,7 +2824,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1940
2824
  type: z.ZodDefault<z.ZodLiteral<"turbine-vent">>;
1941
2825
  material: z.ZodOptional<z.ZodObject<{
1942
2826
  id: z.ZodOptional<z.ZodString>;
1943
- preset: z.ZodOptional<z.ZodEnum<{
2827
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1944
2828
  custom: "custom";
1945
2829
  white: "white";
1946
2830
  brick: "brick";
@@ -1951,7 +2835,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
1951
2835
  plaster: "plaster";
1952
2836
  tile: "tile";
1953
2837
  marble: "marble";
1954
- }>>;
2838
+ }>>>;
1955
2839
  properties: z.ZodOptional<z.ZodObject<{
1956
2840
  color: z.ZodDefault<z.ZodString>;
1957
2841
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2004,7 +2888,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2004
2888
  type: z.ZodDefault<z.ZodLiteral<"cupola">>;
2005
2889
  material: z.ZodOptional<z.ZodObject<{
2006
2890
  id: z.ZodOptional<z.ZodString>;
2007
- preset: z.ZodOptional<z.ZodEnum<{
2891
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2008
2892
  custom: "custom";
2009
2893
  white: "white";
2010
2894
  brick: "brick";
@@ -2015,7 +2899,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2015
2899
  plaster: "plaster";
2016
2900
  tile: "tile";
2017
2901
  marble: "marble";
2018
- }>>;
2902
+ }>>>;
2019
2903
  properties: z.ZodOptional<z.ZodObject<{
2020
2904
  color: z.ZodDefault<z.ZodString>;
2021
2905
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2066,7 +2950,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2066
2950
  type: z.ZodDefault<z.ZodLiteral<"eyebrow-vent">>;
2067
2951
  material: z.ZodOptional<z.ZodObject<{
2068
2952
  id: z.ZodOptional<z.ZodString>;
2069
- preset: z.ZodOptional<z.ZodEnum<{
2953
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2070
2954
  custom: "custom";
2071
2955
  white: "white";
2072
2956
  brick: "brick";
@@ -2077,7 +2961,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2077
2961
  plaster: "plaster";
2078
2962
  tile: "tile";
2079
2963
  marble: "marble";
2080
- }>>;
2964
+ }>>>;
2081
2965
  properties: z.ZodOptional<z.ZodObject<{
2082
2966
  color: z.ZodDefault<z.ZodString>;
2083
2967
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2130,7 +3014,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2130
3014
  type: z.ZodDefault<z.ZodLiteral<"gutter">>;
2131
3015
  material: z.ZodOptional<z.ZodObject<{
2132
3016
  id: z.ZodOptional<z.ZodString>;
2133
- preset: z.ZodOptional<z.ZodEnum<{
3017
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2134
3018
  custom: "custom";
2135
3019
  white: "white";
2136
3020
  brick: "brick";
@@ -2141,7 +3025,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2141
3025
  plaster: "plaster";
2142
3026
  tile: "tile";
2143
3027
  marble: "marble";
2144
- }>>;
3028
+ }>>>;
2145
3029
  properties: z.ZodOptional<z.ZodObject<{
2146
3030
  color: z.ZodDefault<z.ZodString>;
2147
3031
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2204,7 +3088,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2204
3088
  type: z.ZodDefault<z.ZodLiteral<"chimney">>;
2205
3089
  material: z.ZodOptional<z.ZodObject<{
2206
3090
  id: z.ZodOptional<z.ZodString>;
2207
- preset: z.ZodOptional<z.ZodEnum<{
3091
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2208
3092
  custom: "custom";
2209
3093
  white: "white";
2210
3094
  brick: "brick";
@@ -2215,7 +3099,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2215
3099
  plaster: "plaster";
2216
3100
  tile: "tile";
2217
3101
  marble: "marble";
2218
- }>>;
3102
+ }>>>;
2219
3103
  properties: z.ZodOptional<z.ZodObject<{
2220
3104
  color: z.ZodDefault<z.ZodString>;
2221
3105
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2237,7 +3121,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2237
3121
  materialPreset: z.ZodOptional<z.ZodString>;
2238
3122
  topMaterial: z.ZodOptional<z.ZodObject<{
2239
3123
  id: z.ZodOptional<z.ZodString>;
2240
- preset: z.ZodOptional<z.ZodEnum<{
3124
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2241
3125
  custom: "custom";
2242
3126
  white: "white";
2243
3127
  brick: "brick";
@@ -2248,7 +3132,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2248
3132
  plaster: "plaster";
2249
3133
  tile: "tile";
2250
3134
  marble: "marble";
2251
- }>>;
3135
+ }>>>;
2252
3136
  properties: z.ZodOptional<z.ZodObject<{
2253
3137
  color: z.ZodDefault<z.ZodString>;
2254
3138
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2353,7 +3237,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2353
3237
  type: z.ZodDefault<z.ZodLiteral<"solar-panel">>;
2354
3238
  material: z.ZodOptional<z.ZodObject<{
2355
3239
  id: z.ZodOptional<z.ZodString>;
2356
- preset: z.ZodOptional<z.ZodEnum<{
3240
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2357
3241
  custom: "custom";
2358
3242
  white: "white";
2359
3243
  brick: "brick";
@@ -2364,7 +3248,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2364
3248
  plaster: "plaster";
2365
3249
  tile: "tile";
2366
3250
  marble: "marble";
2367
- }>>;
3251
+ }>>>;
2368
3252
  properties: z.ZodOptional<z.ZodObject<{
2369
3253
  color: z.ZodDefault<z.ZodString>;
2370
3254
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2386,7 +3270,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2386
3270
  materialPreset: z.ZodOptional<z.ZodString>;
2387
3271
  panelMaterial: z.ZodOptional<z.ZodObject<{
2388
3272
  id: z.ZodOptional<z.ZodString>;
2389
- preset: z.ZodOptional<z.ZodEnum<{
3273
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2390
3274
  custom: "custom";
2391
3275
  white: "white";
2392
3276
  brick: "brick";
@@ -2397,7 +3281,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2397
3281
  plaster: "plaster";
2398
3282
  tile: "tile";
2399
3283
  marble: "marble";
2400
- }>>;
3284
+ }>>>;
2401
3285
  properties: z.ZodOptional<z.ZodObject<{
2402
3286
  color: z.ZodDefault<z.ZodString>;
2403
3287
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2461,7 +3345,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2461
3345
  type: z.ZodDefault<z.ZodLiteral<"skylight">>;
2462
3346
  material: z.ZodOptional<z.ZodObject<{
2463
3347
  id: z.ZodOptional<z.ZodString>;
2464
- preset: z.ZodOptional<z.ZodEnum<{
3348
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2465
3349
  custom: "custom";
2466
3350
  white: "white";
2467
3351
  brick: "brick";
@@ -2472,7 +3356,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2472
3356
  plaster: "plaster";
2473
3357
  tile: "tile";
2474
3358
  marble: "marble";
2475
- }>>;
3359
+ }>>>;
2476
3360
  properties: z.ZodOptional<z.ZodObject<{
2477
3361
  color: z.ZodDefault<z.ZodString>;
2478
3362
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2494,7 +3378,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2494
3378
  materialPreset: z.ZodOptional<z.ZodString>;
2495
3379
  glassMaterial: z.ZodOptional<z.ZodObject<{
2496
3380
  id: z.ZodOptional<z.ZodString>;
2497
- preset: z.ZodOptional<z.ZodEnum<{
3381
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2498
3382
  custom: "custom";
2499
3383
  white: "white";
2500
3384
  brick: "brick";
@@ -2505,7 +3389,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2505
3389
  plaster: "plaster";
2506
3390
  tile: "tile";
2507
3391
  marble: "marble";
2508
- }>>;
3392
+ }>>>;
2509
3393
  properties: z.ZodOptional<z.ZodObject<{
2510
3394
  color: z.ZodDefault<z.ZodString>;
2511
3395
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2544,17 +3428,17 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2544
3428
  lanternTopScale: z.ZodDefault<z.ZodNumber>;
2545
3429
  openingAngle: z.ZodDefault<z.ZodNumber>;
2546
3430
  openingSide: z.ZodDefault<z.ZodEnum<{
3431
+ right: "right";
3432
+ left: "left";
2547
3433
  top: "top";
2548
3434
  bottom: "bottom";
2549
- left: "left";
2550
- right: "right";
2551
3435
  }>>;
2552
3436
  operationState: z.ZodDefault<z.ZodNumber>;
2553
3437
  motorHousing: z.ZodDefault<z.ZodBoolean>;
2554
3438
  slideFraction: z.ZodDefault<z.ZodNumber>;
2555
3439
  slideDirection: z.ZodDefault<z.ZodEnum<{
2556
- x: "x";
2557
3440
  z: "z";
3441
+ x: "x";
2558
3442
  }>>;
2559
3443
  trackWidth: z.ZodDefault<z.ZodNumber>;
2560
3444
  motorHousingSize: z.ZodDefault<z.ZodNumber>;
@@ -2582,7 +3466,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2582
3466
  type: z.ZodDefault<z.ZodLiteral<"dormer">>;
2583
3467
  material: z.ZodOptional<z.ZodObject<{
2584
3468
  id: z.ZodOptional<z.ZodString>;
2585
- preset: z.ZodOptional<z.ZodEnum<{
3469
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2586
3470
  custom: "custom";
2587
3471
  white: "white";
2588
3472
  brick: "brick";
@@ -2593,7 +3477,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2593
3477
  plaster: "plaster";
2594
3478
  tile: "tile";
2595
3479
  marble: "marble";
2596
- }>>;
3480
+ }>>>;
2597
3481
  properties: z.ZodOptional<z.ZodObject<{
2598
3482
  color: z.ZodDefault<z.ZodString>;
2599
3483
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2615,7 +3499,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2615
3499
  materialPreset: z.ZodOptional<z.ZodString>;
2616
3500
  topMaterial: z.ZodOptional<z.ZodObject<{
2617
3501
  id: z.ZodOptional<z.ZodString>;
2618
- preset: z.ZodOptional<z.ZodEnum<{
3502
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2619
3503
  custom: "custom";
2620
3504
  white: "white";
2621
3505
  brick: "brick";
@@ -2626,7 +3510,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2626
3510
  plaster: "plaster";
2627
3511
  tile: "tile";
2628
3512
  marble: "marble";
2629
- }>>;
3513
+ }>>>;
2630
3514
  properties: z.ZodOptional<z.ZodObject<{
2631
3515
  color: z.ZodDefault<z.ZodString>;
2632
3516
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2648,7 +3532,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2648
3532
  topMaterialPreset: z.ZodOptional<z.ZodString>;
2649
3533
  sideMaterial: z.ZodOptional<z.ZodObject<{
2650
3534
  id: z.ZodOptional<z.ZodString>;
2651
- preset: z.ZodOptional<z.ZodEnum<{
3535
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2652
3536
  custom: "custom";
2653
3537
  white: "white";
2654
3538
  brick: "brick";
@@ -2659,7 +3543,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2659
3543
  plaster: "plaster";
2660
3544
  tile: "tile";
2661
3545
  marble: "marble";
2662
- }>>;
3546
+ }>>>;
2663
3547
  properties: z.ZodOptional<z.ZodObject<{
2664
3548
  color: z.ZodDefault<z.ZodString>;
2665
3549
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2681,7 +3565,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2681
3565
  sideMaterialPreset: z.ZodOptional<z.ZodString>;
2682
3566
  wallMaterial: z.ZodOptional<z.ZodObject<{
2683
3567
  id: z.ZodOptional<z.ZodString>;
2684
- preset: z.ZodOptional<z.ZodEnum<{
3568
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2685
3569
  custom: "custom";
2686
3570
  white: "white";
2687
3571
  brick: "brick";
@@ -2692,7 +3576,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2692
3576
  plaster: "plaster";
2693
3577
  tile: "tile";
2694
3578
  marble: "marble";
2695
- }>>;
3579
+ }>>>;
2696
3580
  properties: z.ZodOptional<z.ZodObject<{
2697
3581
  color: z.ZodDefault<z.ZodString>;
2698
3582
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2768,7 +3652,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2768
3652
  type: z.ZodDefault<z.ZodLiteral<"downspout">>;
2769
3653
  material: z.ZodOptional<z.ZodObject<{
2770
3654
  id: z.ZodOptional<z.ZodString>;
2771
- preset: z.ZodOptional<z.ZodEnum<{
3655
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
2772
3656
  custom: "custom";
2773
3657
  white: "white";
2774
3658
  brick: "brick";
@@ -2779,7 +3663,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2779
3663
  plaster: "plaster";
2780
3664
  tile: "tile";
2781
3665
  marble: "marble";
2782
- }>>;
3666
+ }>>>;
2783
3667
  properties: z.ZodOptional<z.ZodObject<{
2784
3668
  color: z.ZodDefault<z.ZodString>;
2785
3669
  roughness: z.ZodDefault<z.ZodNumber>;
@@ -2819,6 +3703,325 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<[z.ZodObject<{
2819
3703
  splash: "splash";
2820
3704
  kickout: "kickout";
2821
3705
  }>>;
3706
+ }, z.core.$strip>, z.ZodObject<{
3707
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3708
+ name: z.ZodOptional<z.ZodString>;
3709
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3710
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3711
+ camera: z.ZodOptional<z.ZodObject<{
3712
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3713
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3714
+ mode: z.ZodDefault<z.ZodEnum<{
3715
+ perspective: "perspective";
3716
+ orthographic: "orthographic";
3717
+ }>>;
3718
+ fov: z.ZodOptional<z.ZodNumber>;
3719
+ zoom: z.ZodOptional<z.ZodNumber>;
3720
+ }, z.core.$strip>>;
3721
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3722
+ id: z.ZodDefault<z.ZodTemplateLiteral<`duct-segment_${string}`>>;
3723
+ type: z.ZodDefault<z.ZodLiteral<"duct-segment">>;
3724
+ path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3725
+ shape: z.ZodDefault<z.ZodEnum<{
3726
+ round: "round";
3727
+ rect: "rect";
3728
+ oval: "oval";
3729
+ }>>;
3730
+ diameter: z.ZodDefault<z.ZodNumber>;
3731
+ width: z.ZodDefault<z.ZodNumber>;
3732
+ height: z.ZodDefault<z.ZodNumber>;
3733
+ roll: z.ZodDefault<z.ZodNumber>;
3734
+ ductMaterial: z.ZodDefault<z.ZodEnum<{
3735
+ spiral: "spiral";
3736
+ "sheet-metal": "sheet-metal";
3737
+ flex: "flex";
3738
+ "duct-board": "duct-board";
3739
+ }>>;
3740
+ seamDetail: z.ZodDefault<z.ZodBoolean>;
3741
+ insulated: z.ZodDefault<z.ZodBoolean>;
3742
+ insulationR: z.ZodDefault<z.ZodNumber>;
3743
+ system: z.ZodDefault<z.ZodEnum<{
3744
+ supply: "supply";
3745
+ return: "return";
3746
+ }>>;
3747
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3748
+ }, z.core.$strip>, z.ZodObject<{
3749
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3750
+ name: z.ZodOptional<z.ZodString>;
3751
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3752
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3753
+ camera: z.ZodOptional<z.ZodObject<{
3754
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3755
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3756
+ mode: z.ZodDefault<z.ZodEnum<{
3757
+ perspective: "perspective";
3758
+ orthographic: "orthographic";
3759
+ }>>;
3760
+ fov: z.ZodOptional<z.ZodNumber>;
3761
+ zoom: z.ZodOptional<z.ZodNumber>;
3762
+ }, z.core.$strip>>;
3763
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3764
+ id: z.ZodDefault<z.ZodTemplateLiteral<`duct-fitting_${string}`>>;
3765
+ type: z.ZodDefault<z.ZodLiteral<"duct-fitting">>;
3766
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3767
+ rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3768
+ fittingType: z.ZodDefault<z.ZodEnum<{
3769
+ elbow: "elbow";
3770
+ tee: "tee";
3771
+ cross: "cross";
3772
+ reducer: "reducer";
3773
+ transition: "transition";
3774
+ }>>;
3775
+ shape: z.ZodDefault<z.ZodEnum<{
3776
+ round: "round";
3777
+ rect: "rect";
3778
+ oval: "oval";
3779
+ }>>;
3780
+ width: z.ZodDefault<z.ZodNumber>;
3781
+ height: z.ZodDefault<z.ZodNumber>;
3782
+ shape2: z.ZodDefault<z.ZodEnum<{
3783
+ round: "round";
3784
+ rect: "rect";
3785
+ oval: "oval";
3786
+ }>>;
3787
+ width2: z.ZodDefault<z.ZodNumber>;
3788
+ height2: z.ZodDefault<z.ZodNumber>;
3789
+ angle: z.ZodDefault<z.ZodNumber>;
3790
+ branchAngle: z.ZodDefault<z.ZodNumber>;
3791
+ diameter: z.ZodDefault<z.ZodNumber>;
3792
+ diameter2: z.ZodDefault<z.ZodNumber>;
3793
+ ductMaterial: z.ZodDefault<z.ZodEnum<{
3794
+ "sheet-metal": "sheet-metal";
3795
+ flex: "flex";
3796
+ "duct-board": "duct-board";
3797
+ }>>;
3798
+ system: z.ZodDefault<z.ZodEnum<{
3799
+ supply: "supply";
3800
+ return: "return";
3801
+ }>>;
3802
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
3803
+ }, z.core.$strip>, z.ZodObject<{
3804
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3805
+ name: z.ZodOptional<z.ZodString>;
3806
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3807
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3808
+ camera: z.ZodOptional<z.ZodObject<{
3809
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3810
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3811
+ mode: z.ZodDefault<z.ZodEnum<{
3812
+ perspective: "perspective";
3813
+ orthographic: "orthographic";
3814
+ }>>;
3815
+ fov: z.ZodOptional<z.ZodNumber>;
3816
+ zoom: z.ZodOptional<z.ZodNumber>;
3817
+ }, z.core.$strip>>;
3818
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3819
+ id: z.ZodDefault<z.ZodTemplateLiteral<`duct-terminal_${string}`>>;
3820
+ type: z.ZodDefault<z.ZodLiteral<"duct-terminal">>;
3821
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3822
+ rotation: z.ZodDefault<z.ZodNumber>;
3823
+ supportSlabId: z.ZodOptional<z.ZodString>;
3824
+ terminalType: z.ZodDefault<z.ZodEnum<{
3825
+ "supply-register": "supply-register";
3826
+ diffuser: "diffuser";
3827
+ "return-grille": "return-grille";
3828
+ }>>;
3829
+ mount: z.ZodDefault<z.ZodEnum<{
3830
+ wall: "wall";
3831
+ ceiling: "ceiling";
3832
+ floor: "floor";
3833
+ }>>;
3834
+ width: z.ZodDefault<z.ZodNumber>;
3835
+ depth: z.ZodDefault<z.ZodNumber>;
3836
+ collarShape: z.ZodDefault<z.ZodEnum<{
3837
+ round: "round";
3838
+ rect: "rect";
3839
+ oval: "oval";
3840
+ }>>;
3841
+ collarDiameter: z.ZodDefault<z.ZodNumber>;
3842
+ collarWidth: z.ZodDefault<z.ZodNumber>;
3843
+ collarHeight: z.ZodDefault<z.ZodNumber>;
3844
+ }, z.core.$strip>, z.ZodObject<{
3845
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3846
+ name: z.ZodOptional<z.ZodString>;
3847
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3848
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3849
+ camera: z.ZodOptional<z.ZodObject<{
3850
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3851
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3852
+ mode: z.ZodDefault<z.ZodEnum<{
3853
+ perspective: "perspective";
3854
+ orthographic: "orthographic";
3855
+ }>>;
3856
+ fov: z.ZodOptional<z.ZodNumber>;
3857
+ zoom: z.ZodOptional<z.ZodNumber>;
3858
+ }, z.core.$strip>>;
3859
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3860
+ id: z.ZodDefault<z.ZodTemplateLiteral<`hvac-equipment_${string}`>>;
3861
+ type: z.ZodDefault<z.ZodLiteral<"hvac-equipment">>;
3862
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3863
+ rotation: z.ZodDefault<z.ZodNumber>;
3864
+ supportSlabId: z.ZodOptional<z.ZodString>;
3865
+ equipmentType: z.ZodDefault<z.ZodEnum<{
3866
+ furnace: "furnace";
3867
+ "air-handler": "air-handler";
3868
+ condenser: "condenser";
3869
+ }>>;
3870
+ width: z.ZodDefault<z.ZodNumber>;
3871
+ depth: z.ZodDefault<z.ZodNumber>;
3872
+ height: z.ZodDefault<z.ZodNumber>;
3873
+ supplyShape: z.ZodDefault<z.ZodEnum<{
3874
+ round: "round";
3875
+ rect: "rect";
3876
+ oval: "oval";
3877
+ }>>;
3878
+ returnShape: z.ZodDefault<z.ZodEnum<{
3879
+ round: "round";
3880
+ rect: "rect";
3881
+ oval: "oval";
3882
+ }>>;
3883
+ supplyDiameter: z.ZodDefault<z.ZodNumber>;
3884
+ returnDiameter: z.ZodDefault<z.ZodNumber>;
3885
+ supplyWidth: z.ZodDefault<z.ZodNumber>;
3886
+ supplyHeight: z.ZodDefault<z.ZodNumber>;
3887
+ returnWidth: z.ZodDefault<z.ZodNumber>;
3888
+ returnHeight: z.ZodDefault<z.ZodNumber>;
3889
+ }, z.core.$strip>, z.ZodObject<{
3890
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3891
+ name: z.ZodOptional<z.ZodString>;
3892
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3893
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3894
+ camera: z.ZodOptional<z.ZodObject<{
3895
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3896
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3897
+ mode: z.ZodDefault<z.ZodEnum<{
3898
+ perspective: "perspective";
3899
+ orthographic: "orthographic";
3900
+ }>>;
3901
+ fov: z.ZodOptional<z.ZodNumber>;
3902
+ zoom: z.ZodOptional<z.ZodNumber>;
3903
+ }, z.core.$strip>>;
3904
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3905
+ id: z.ZodDefault<z.ZodTemplateLiteral<`lineset_${string}`>>;
3906
+ type: z.ZodDefault<z.ZodLiteral<"lineset">>;
3907
+ path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3908
+ suctionDiameter: z.ZodDefault<z.ZodNumber>;
3909
+ liquidDiameter: z.ZodDefault<z.ZodNumber>;
3910
+ insulated: z.ZodDefault<z.ZodBoolean>;
3911
+ }, z.core.$strip>, z.ZodObject<{
3912
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3913
+ name: z.ZodOptional<z.ZodString>;
3914
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3915
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3916
+ camera: z.ZodOptional<z.ZodObject<{
3917
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3918
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3919
+ mode: z.ZodDefault<z.ZodEnum<{
3920
+ perspective: "perspective";
3921
+ orthographic: "orthographic";
3922
+ }>>;
3923
+ fov: z.ZodOptional<z.ZodNumber>;
3924
+ zoom: z.ZodOptional<z.ZodNumber>;
3925
+ }, z.core.$strip>>;
3926
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3927
+ id: z.ZodDefault<z.ZodTemplateLiteral<`liquid-line_${string}`>>;
3928
+ type: z.ZodDefault<z.ZodLiteral<"liquid-line">>;
3929
+ path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3930
+ diameter: z.ZodDefault<z.ZodNumber>;
3931
+ }, z.core.$strip>, z.ZodObject<{
3932
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3933
+ name: z.ZodOptional<z.ZodString>;
3934
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3935
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3936
+ camera: z.ZodOptional<z.ZodObject<{
3937
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3938
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3939
+ mode: z.ZodDefault<z.ZodEnum<{
3940
+ perspective: "perspective";
3941
+ orthographic: "orthographic";
3942
+ }>>;
3943
+ fov: z.ZodOptional<z.ZodNumber>;
3944
+ zoom: z.ZodOptional<z.ZodNumber>;
3945
+ }, z.core.$strip>>;
3946
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3947
+ id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-segment_${string}`>>;
3948
+ type: z.ZodDefault<z.ZodLiteral<"pipe-segment">>;
3949
+ path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3950
+ diameter: z.ZodDefault<z.ZodNumber>;
3951
+ pipeMaterial: z.ZodDefault<z.ZodEnum<{
3952
+ pvc: "pvc";
3953
+ abs: "abs";
3954
+ "cast-iron": "cast-iron";
3955
+ }>>;
3956
+ system: z.ZodDefault<z.ZodEnum<{
3957
+ waste: "waste";
3958
+ vent: "vent";
3959
+ }>>;
3960
+ }, z.core.$strip>, z.ZodObject<{
3961
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
3962
+ name: z.ZodOptional<z.ZodString>;
3963
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
3964
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
3965
+ camera: z.ZodOptional<z.ZodObject<{
3966
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3967
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
3968
+ mode: z.ZodDefault<z.ZodEnum<{
3969
+ perspective: "perspective";
3970
+ orthographic: "orthographic";
3971
+ }>>;
3972
+ fov: z.ZodOptional<z.ZodNumber>;
3973
+ zoom: z.ZodOptional<z.ZodNumber>;
3974
+ }, z.core.$strip>>;
3975
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
3976
+ id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-fitting_${string}`>>;
3977
+ type: z.ZodDefault<z.ZodLiteral<"pipe-fitting">>;
3978
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3979
+ rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3980
+ fittingType: z.ZodDefault<z.ZodEnum<{
3981
+ elbow: "elbow";
3982
+ cross: "cross";
3983
+ wye: "wye";
3984
+ "sanitary-tee": "sanitary-tee";
3985
+ }>>;
3986
+ angle: z.ZodDefault<z.ZodNumber>;
3987
+ diameter: z.ZodDefault<z.ZodNumber>;
3988
+ diameter2: z.ZodDefault<z.ZodNumber>;
3989
+ pipeMaterial: z.ZodDefault<z.ZodEnum<{
3990
+ pvc: "pvc";
3991
+ abs: "abs";
3992
+ "cast-iron": "cast-iron";
3993
+ }>>;
3994
+ system: z.ZodDefault<z.ZodEnum<{
3995
+ waste: "waste";
3996
+ vent: "vent";
3997
+ }>>;
3998
+ }, z.core.$strip>, z.ZodObject<{
3999
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
4000
+ name: z.ZodOptional<z.ZodString>;
4001
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
4002
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
4003
+ camera: z.ZodOptional<z.ZodObject<{
4004
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
4005
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
4006
+ mode: z.ZodDefault<z.ZodEnum<{
4007
+ perspective: "perspective";
4008
+ orthographic: "orthographic";
4009
+ }>>;
4010
+ fov: z.ZodOptional<z.ZodNumber>;
4011
+ zoom: z.ZodOptional<z.ZodNumber>;
4012
+ }, z.core.$strip>>;
4013
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodJSONSchema>>;
4014
+ id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-trap_${string}`>>;
4015
+ type: z.ZodDefault<z.ZodLiteral<"pipe-trap">>;
4016
+ position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
4017
+ rotation: z.ZodDefault<z.ZodNumber>;
4018
+ diameter: z.ZodDefault<z.ZodNumber>;
4019
+ pipeMaterial: z.ZodDefault<z.ZodEnum<{
4020
+ pvc: "pvc";
4021
+ abs: "abs";
4022
+ "cast-iron": "cast-iron";
4023
+ }>>;
4024
+ armLengthM: z.ZodDefault<z.ZodNumber>;
2822
4025
  }, z.core.$strip>], "type">;
2823
4026
  export type AnyNode = z.infer<typeof AnyNode>;
2824
4027
  export type AnyNodeType = AnyNode['type'];