@pascal-app/core 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1098) hide show
  1. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts +235 -0
  2. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -0
  3. package/dist/agent-operations/__fixtures__/add-object-cases.js +129 -0
  4. package/dist/agent-operations/__fixtures__/build-room-cases.d.ts +4 -0
  5. package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -0
  6. package/dist/agent-operations/__fixtures__/build-room-cases.js +635 -0
  7. package/dist/agent-operations/__fixtures__/cases.d.ts +52 -0
  8. package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -0
  9. package/dist/agent-operations/__fixtures__/cases.js +689 -0
  10. package/dist/agent-operations/__fixtures__/find-by-type-cases.d.ts +7 -0
  11. package/dist/agent-operations/__fixtures__/find-by-type-cases.d.ts.map +1 -0
  12. package/dist/agent-operations/__fixtures__/find-by-type-cases.js +21 -0
  13. package/dist/agent-operations/__fixtures__/place-items-cases.d.ts +17 -0
  14. package/dist/agent-operations/__fixtures__/place-items-cases.d.ts.map +1 -0
  15. package/dist/agent-operations/__fixtures__/place-items-cases.js +506 -0
  16. package/dist/agent-operations/__fixtures__/room-cases.d.ts +3 -0
  17. package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -0
  18. package/dist/agent-operations/__fixtures__/room-cases.js +338 -0
  19. package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts +5 -0
  20. package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -0
  21. package/dist/agent-operations/__fixtures__/search-assets-cases.js +137 -0
  22. package/dist/agent-operations/__fixtures__/structure-cases.d.ts +6 -0
  23. package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -0
  24. package/dist/agent-operations/__fixtures__/structure-cases.js +588 -0
  25. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +3 -0
  26. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -0
  27. package/dist/agent-operations/__fixtures__/verify-scene-cases.js +302 -0
  28. package/dist/agent-operations/achieved.d.ts +16 -0
  29. package/dist/agent-operations/achieved.d.ts.map +1 -0
  30. package/dist/agent-operations/achieved.js +28 -0
  31. package/dist/agent-operations/add-column.d.ts +23 -0
  32. package/dist/agent-operations/add-column.d.ts.map +1 -0
  33. package/dist/agent-operations/add-column.js +97 -0
  34. package/dist/agent-operations/add-level.d.ts +14 -0
  35. package/dist/agent-operations/add-level.d.ts.map +1 -0
  36. package/dist/agent-operations/add-level.js +94 -0
  37. package/dist/agent-operations/add-object.d.ts +114 -0
  38. package/dist/agent-operations/add-object.d.ts.map +1 -0
  39. package/dist/agent-operations/add-object.js +361 -0
  40. package/dist/agent-operations/add-wall.d.ts +15 -0
  41. package/dist/agent-operations/add-wall.d.ts.map +1 -0
  42. package/dist/agent-operations/add-wall.js +47 -0
  43. package/dist/agent-operations/apply-changes.d.ts +16 -0
  44. package/dist/agent-operations/apply-changes.d.ts.map +1 -0
  45. package/dist/agent-operations/apply-changes.js +93 -0
  46. package/dist/agent-operations/apply-outcome.d.ts +15 -0
  47. package/dist/agent-operations/apply-outcome.d.ts.map +1 -0
  48. package/dist/agent-operations/apply-outcome.js +18 -0
  49. package/dist/agent-operations/collections.d.ts +28 -0
  50. package/dist/agent-operations/collections.d.ts.map +1 -0
  51. package/dist/agent-operations/collections.js +130 -0
  52. package/dist/agent-operations/create-room.d.ts +36 -0
  53. package/dist/agent-operations/create-room.d.ts.map +1 -0
  54. package/dist/agent-operations/create-room.js +177 -0
  55. package/dist/agent-operations/create-stair.d.ts +33 -0
  56. package/dist/agent-operations/create-stair.d.ts.map +1 -0
  57. package/dist/agent-operations/create-stair.js +247 -0
  58. package/dist/agent-operations/delete-node.d.ts +6 -0
  59. package/dist/agent-operations/delete-node.d.ts.map +1 -0
  60. package/dist/agent-operations/delete-node.js +9 -0
  61. package/dist/agent-operations/door-clearance.d.ts +135 -0
  62. package/dist/agent-operations/door-clearance.d.ts.map +1 -0
  63. package/dist/agent-operations/door-clearance.js +334 -0
  64. package/dist/agent-operations/duplicate-level.d.ts +12 -0
  65. package/dist/agent-operations/duplicate-level.d.ts.map +1 -0
  66. package/dist/agent-operations/duplicate-level.js +54 -0
  67. package/dist/agent-operations/find-by-type.d.ts +11 -0
  68. package/dist/agent-operations/find-by-type.d.ts.map +1 -0
  69. package/dist/agent-operations/find-by-type.js +94 -0
  70. package/dist/agent-operations/furnish-room.d.ts +18 -0
  71. package/dist/agent-operations/furnish-room.d.ts.map +1 -0
  72. package/dist/agent-operations/furnish-room.js +259 -0
  73. package/dist/agent-operations/get-node.d.ts +9 -0
  74. package/dist/agent-operations/get-node.d.ts.map +1 -0
  75. package/dist/agent-operations/get-node.js +33 -0
  76. package/dist/agent-operations/hosted-services.d.ts +13 -0
  77. package/dist/agent-operations/hosted-services.d.ts.map +1 -0
  78. package/dist/agent-operations/hosted-services.js +22 -0
  79. package/dist/agent-operations/index.d.ts +277 -0
  80. package/dist/agent-operations/index.d.ts.map +1 -0
  81. package/dist/agent-operations/index.js +80 -0
  82. package/dist/agent-operations/layout-clearance.d.ts +108 -0
  83. package/dist/agent-operations/layout-clearance.d.ts.map +1 -0
  84. package/dist/agent-operations/layout-clearance.js +190 -0
  85. package/dist/agent-operations/level-reads.d.ts +33 -0
  86. package/dist/agent-operations/level-reads.d.ts.map +1 -0
  87. package/dist/agent-operations/level-reads.js +161 -0
  88. package/dist/agent-operations/level-target.d.ts +11 -0
  89. package/dist/agent-operations/level-target.d.ts.map +1 -0
  90. package/dist/agent-operations/level-target.js +29 -0
  91. package/dist/agent-operations/list-levels.d.ts +4 -0
  92. package/dist/agent-operations/list-levels.d.ts.map +1 -0
  93. package/dist/agent-operations/list-levels.js +31 -0
  94. package/dist/agent-operations/material-preset.d.ts +11 -0
  95. package/dist/agent-operations/material-preset.d.ts.map +1 -0
  96. package/dist/agent-operations/material-preset.js +74 -0
  97. package/dist/agent-operations/material-refs.d.ts +24 -0
  98. package/dist/agent-operations/material-refs.d.ts.map +1 -0
  99. package/dist/agent-operations/material-refs.js +100 -0
  100. package/dist/agent-operations/node-patch.d.ts +3 -0
  101. package/dist/agent-operations/node-patch.d.ts.map +1 -0
  102. package/dist/agent-operations/node-patch.js +114 -0
  103. package/dist/agent-operations/paint.d.ts +21 -0
  104. package/dist/agent-operations/paint.d.ts.map +1 -0
  105. package/dist/agent-operations/paint.js +219 -0
  106. package/dist/agent-operations/place-items.d.ts +20 -0
  107. package/dist/agent-operations/place-items.d.ts.map +1 -0
  108. package/dist/agent-operations/place-items.js +226 -0
  109. package/dist/agent-operations/plan-geometry.d.ts +24 -0
  110. package/dist/agent-operations/plan-geometry.d.ts.map +1 -0
  111. package/dist/agent-operations/plan-geometry.js +94 -0
  112. package/dist/agent-operations/room-structure.d.ts +87 -0
  113. package/dist/agent-operations/room-structure.d.ts.map +1 -0
  114. package/dist/agent-operations/room-structure.js +144 -0
  115. package/dist/agent-operations/scene-materials.d.ts +15 -0
  116. package/dist/agent-operations/scene-materials.d.ts.map +1 -0
  117. package/dist/agent-operations/scene-materials.js +62 -0
  118. package/dist/agent-operations/scene-measure.d.ts +73 -0
  119. package/dist/agent-operations/scene-measure.d.ts.map +1 -0
  120. package/dist/agent-operations/scene-measure.js +73 -0
  121. package/dist/agent-operations/scene-queries.d.ts +4510 -0
  122. package/dist/agent-operations/scene-queries.d.ts.map +1 -0
  123. package/dist/agent-operations/scene-queries.js +84 -0
  124. package/dist/agent-operations/scene-view.d.ts +98 -0
  125. package/dist/agent-operations/scene-view.d.ts.map +1 -0
  126. package/dist/agent-operations/scene-view.js +559 -0
  127. package/dist/agent-operations/search-assets.d.ts +14 -0
  128. package/dist/agent-operations/search-assets.d.ts.map +1 -0
  129. package/dist/agent-operations/search-assets.js +42 -0
  130. package/dist/agent-operations/search-materials.d.ts +12 -0
  131. package/dist/agent-operations/search-materials.d.ts.map +1 -0
  132. package/dist/agent-operations/search-materials.js +111 -0
  133. package/dist/agent-operations/stairs.d.ts +5 -0
  134. package/dist/agent-operations/stairs.d.ts.map +1 -0
  135. package/dist/agent-operations/stairs.js +70 -0
  136. package/dist/agent-operations/types.d.ts +59 -0
  137. package/dist/agent-operations/types.d.ts.map +1 -0
  138. package/dist/agent-operations/types.js +1 -0
  139. package/dist/agent-operations/verify-scene.d.ts +50 -0
  140. package/dist/agent-operations/verify-scene.d.ts.map +1 -0
  141. package/dist/agent-operations/verify-scene.js +369 -0
  142. package/dist/agent-operations/wall-opening.d.ts +65 -0
  143. package/dist/agent-operations/wall-opening.d.ts.map +1 -0
  144. package/dist/agent-operations/wall-opening.js +55 -0
  145. package/dist/agent-tools/achieved.d.ts +9 -0
  146. package/dist/agent-tools/achieved.d.ts.map +1 -0
  147. package/dist/agent-tools/achieved.js +8 -0
  148. package/dist/agent-tools/add-object.d.ts +43 -0
  149. package/dist/agent-tools/add-object.d.ts.map +1 -0
  150. package/dist/agent-tools/add-object.js +86 -0
  151. package/dist/agent-tools/assets.d.ts +13 -0
  152. package/dist/agent-tools/assets.d.ts.map +1 -0
  153. package/dist/agent-tools/assets.js +18 -0
  154. package/dist/agent-tools/clear-scene.d.ts +10 -0
  155. package/dist/agent-tools/clear-scene.d.ts.map +1 -0
  156. package/dist/agent-tools/clear-scene.js +9 -0
  157. package/dist/agent-tools/collections.d.ts +35 -0
  158. package/dist/agent-tools/collections.d.ts.map +1 -0
  159. package/dist/agent-tools/collections.js +31 -0
  160. package/dist/agent-tools/columns.d.ts +44 -0
  161. package/dist/agent-tools/columns.d.ts.map +1 -0
  162. package/dist/agent-tools/columns.js +59 -0
  163. package/dist/agent-tools/contract.d.ts +68 -0
  164. package/dist/agent-tools/contract.d.ts.map +1 -0
  165. package/dist/agent-tools/contract.js +1 -0
  166. package/dist/agent-tools/create-room.d.ts +63 -0
  167. package/dist/agent-tools/create-room.d.ts.map +1 -0
  168. package/dist/agent-tools/create-room.js +90 -0
  169. package/dist/agent-tools/find-by-type.d.ts +11 -0
  170. package/dist/agent-tools/find-by-type.d.ts.map +1 -0
  171. package/dist/agent-tools/find-by-type.js +14 -0
  172. package/dist/agent-tools/furnish-room.d.ts +26 -0
  173. package/dist/agent-tools/furnish-room.d.ts.map +1 -0
  174. package/dist/agent-tools/furnish-room.js +35 -0
  175. package/dist/agent-tools/hosted-services.d.ts +402 -0
  176. package/dist/agent-tools/hosted-services.d.ts.map +1 -0
  177. package/dist/agent-tools/hosted-services.js +148 -0
  178. package/dist/agent-tools/index.d.ts +864 -0
  179. package/dist/agent-tools/index.d.ts.map +1 -0
  180. package/dist/agent-tools/index.js +82 -0
  181. package/dist/agent-tools/levels.d.ts +72 -0
  182. package/dist/agent-tools/levels.d.ts.map +1 -0
  183. package/dist/agent-tools/levels.js +76 -0
  184. package/dist/agent-tools/measurement.d.ts +37 -0
  185. package/dist/agent-tools/measurement.d.ts.map +1 -0
  186. package/dist/agent-tools/measurement.js +94 -0
  187. package/dist/agent-tools/node-id.d.ts +3 -0
  188. package/dist/agent-tools/node-id.d.ts.map +1 -0
  189. package/dist/agent-tools/node-id.js +2 -0
  190. package/dist/agent-tools/nodes.d.ts +17 -0
  191. package/dist/agent-tools/nodes.d.ts.map +1 -0
  192. package/dist/agent-tools/nodes.js +13 -0
  193. package/dist/agent-tools/paint.d.ts +46 -0
  194. package/dist/agent-tools/paint.d.ts.map +1 -0
  195. package/dist/agent-tools/paint.js +29 -0
  196. package/dist/agent-tools/place-items.d.ts +19 -0
  197. package/dist/agent-tools/place-items.d.ts.map +1 -0
  198. package/dist/agent-tools/place-items.js +29 -0
  199. package/dist/agent-tools/refusal.d.ts +20 -0
  200. package/dist/agent-tools/refusal.d.ts.map +1 -0
  201. package/dist/agent-tools/refusal.js +29 -0
  202. package/dist/agent-tools/room-structure.d.ts +438 -0
  203. package/dist/agent-tools/room-structure.d.ts.map +1 -0
  204. package/dist/agent-tools/room-structure.js +207 -0
  205. package/dist/agent-tools/search-materials.d.ts +20 -0
  206. package/dist/agent-tools/search-materials.d.ts.map +1 -0
  207. package/dist/agent-tools/search-materials.js +32 -0
  208. package/dist/agent-tools/stairs.d.ts +86 -0
  209. package/dist/agent-tools/stairs.d.ts.map +1 -0
  210. package/dist/agent-tools/stairs.js +103 -0
  211. package/dist/agent-tools/verify-scene.d.ts +13 -0
  212. package/dist/agent-tools/verify-scene.d.ts.map +1 -0
  213. package/dist/agent-tools/verify-scene.js +21 -0
  214. package/dist/agent-tools/view-scene.d.ts +43 -0
  215. package/dist/agent-tools/view-scene.d.ts.map +1 -0
  216. package/dist/agent-tools/view-scene.js +80 -0
  217. package/dist/agent-tools/wall-openings.d.ts +163 -0
  218. package/dist/agent-tools/wall-openings.d.ts.map +1 -0
  219. package/dist/agent-tools/wall-openings.js +144 -0
  220. package/dist/agent-tools/walls.d.ts +21 -0
  221. package/dist/agent-tools/walls.d.ts.map +1 -0
  222. package/dist/agent-tools/walls.js +30 -0
  223. package/dist/agent-tools/write-target.d.ts +12 -0
  224. package/dist/agent-tools/write-target.d.ts.map +1 -0
  225. package/dist/agent-tools/write-target.js +10 -0
  226. package/dist/building/__fixtures__/wall-opening-cases.d.ts +736 -0
  227. package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -0
  228. package/dist/building/__fixtures__/wall-opening-cases.js +307 -0
  229. package/dist/building/door-types.d.ts +22 -0
  230. package/dist/building/door-types.d.ts.map +1 -0
  231. package/dist/building/door-types.js +167 -0
  232. package/dist/building/floor-item-fit.d.ts +38 -0
  233. package/dist/building/floor-item-fit.d.ts.map +1 -0
  234. package/dist/building/floor-item-fit.js +47 -0
  235. package/dist/building/index.d.ts +7 -0
  236. package/dist/building/index.d.ts.map +1 -0
  237. package/dist/building/index.js +6 -0
  238. package/dist/building/level-duplication.d.ts +8983 -0
  239. package/dist/building/level-duplication.d.ts.map +1 -0
  240. package/dist/building/level-duplication.js +314 -0
  241. package/dist/building/opening-style-presets.d.ts +46 -0
  242. package/dist/building/opening-style-presets.d.ts.map +1 -0
  243. package/dist/building/opening-style-presets.js +195 -0
  244. package/dist/building/wall-openings.d.ts +445 -0
  245. package/dist/building/wall-openings.d.ts.map +1 -0
  246. package/dist/building/wall-openings.js +231 -0
  247. package/dist/building/window-types.d.ts +17 -0
  248. package/dist/building/window-types.d.ts.map +1 -0
  249. package/dist/building/window-types.js +31 -0
  250. package/dist/commands/structure/apply-zone-transform.d.ts +23 -0
  251. package/dist/commands/structure/apply-zone-transform.d.ts.map +1 -0
  252. package/dist/commands/structure/apply-zone-transform.js +55 -0
  253. package/dist/commands/structure/create-mezzanine.d.ts +12 -0
  254. package/dist/commands/structure/create-mezzanine.d.ts.map +1 -0
  255. package/dist/commands/structure/create-mezzanine.js +46 -0
  256. package/dist/commands/structure/create-zone.d.ts +32 -0
  257. package/dist/commands/structure/create-zone.d.ts.map +1 -0
  258. package/dist/commands/structure/create-zone.js +126 -0
  259. package/dist/commands/structure/delete-zone.d.ts +51 -0
  260. package/dist/commands/structure/delete-zone.d.ts.map +1 -0
  261. package/dist/commands/structure/delete-zone.js +354 -0
  262. package/dist/commands/structure/divide-zone.d.ts +38 -0
  263. package/dist/commands/structure/divide-zone.d.ts.map +1 -0
  264. package/dist/commands/structure/divide-zone.js +186 -0
  265. package/dist/commands/structure/duplicate-zone.d.ts +7 -0
  266. package/dist/commands/structure/duplicate-zone.d.ts.map +1 -0
  267. package/dist/commands/structure/duplicate-zone.js +21 -0
  268. package/dist/commands/structure/floor-opening.d.ts +36 -0
  269. package/dist/commands/structure/floor-opening.d.ts.map +1 -0
  270. package/dist/commands/structure/floor-opening.js +124 -0
  271. package/dist/commands/structure/index.d.ts +22 -0
  272. package/dist/commands/structure/index.d.ts.map +1 -0
  273. package/dist/commands/structure/index.js +20 -0
  274. package/dist/commands/structure/lock-outside-faces.d.ts +12 -0
  275. package/dist/commands/structure/lock-outside-faces.d.ts.map +1 -0
  276. package/dist/commands/structure/lock-outside-faces.js +32 -0
  277. package/dist/commands/structure/merge-zones.d.ts +5 -0
  278. package/dist/commands/structure/merge-zones.d.ts.map +1 -0
  279. package/dist/commands/structure/merge-zones.js +22 -0
  280. package/dist/commands/structure/mezzanine-content.d.ts +16 -0
  281. package/dist/commands/structure/mezzanine-content.d.ts.map +1 -0
  282. package/dist/commands/structure/mezzanine-content.js +109 -0
  283. package/dist/commands/structure/plan-mezzanine-stair.d.ts +7 -0
  284. package/dist/commands/structure/plan-mezzanine-stair.d.ts.map +1 -0
  285. package/dist/commands/structure/plan-mezzanine-stair.js +127 -0
  286. package/dist/commands/structure/plan-wall-deletion.d.ts +9 -0
  287. package/dist/commands/structure/plan-wall-deletion.d.ts.map +1 -0
  288. package/dist/commands/structure/plan-wall-deletion.js +151 -0
  289. package/dist/commands/structure/rebase-floor-reference.d.ts +7 -0
  290. package/dist/commands/structure/rebase-floor-reference.d.ts.map +1 -0
  291. package/dist/commands/structure/rebase-floor-reference.js +90 -0
  292. package/dist/commands/structure/resize-mezzanine.d.ts +8 -0
  293. package/dist/commands/structure/resize-mezzanine.d.ts.map +1 -0
  294. package/dist/commands/structure/resize-mezzanine.js +43 -0
  295. package/dist/commands/structure/rotate-zone.d.ts +8 -0
  296. package/dist/commands/structure/rotate-zone.d.ts.map +1 -0
  297. package/dist/commands/structure/rotate-zone.js +28 -0
  298. package/dist/commands/structure/set-floor-foundation.d.ts +62 -0
  299. package/dist/commands/structure/set-floor-foundation.d.ts.map +1 -0
  300. package/dist/commands/structure/set-floor-foundation.js +162 -0
  301. package/dist/commands/structure/set-room-floor-construction.d.ts +8 -0
  302. package/dist/commands/structure/set-room-floor-construction.d.ts.map +1 -0
  303. package/dist/commands/structure/set-room-floor-construction.js +72 -0
  304. package/dist/commands/structure/set-wall-geometry.d.ts +10 -0
  305. package/dist/commands/structure/set-wall-geometry.d.ts.map +1 -0
  306. package/dist/commands/structure/set-wall-geometry.js +52 -0
  307. package/dist/commands/structure/set-zone-edges.d.ts +14 -0
  308. package/dist/commands/structure/set-zone-edges.d.ts.map +1 -0
  309. package/dist/commands/structure/set-zone-edges.js +143 -0
  310. package/dist/commands/structure/set-zone-intent.d.ts +39 -0
  311. package/dist/commands/structure/set-zone-intent.d.ts.map +1 -0
  312. package/dist/commands/structure/set-zone-intent.js +125 -0
  313. package/dist/commands/structure/shared.d.ts +4512 -0
  314. package/dist/commands/structure/shared.d.ts.map +1 -0
  315. package/dist/commands/structure/shared.js +102 -0
  316. package/dist/commands/structure/transform-zone.d.ts +23 -0
  317. package/dist/commands/structure/transform-zone.d.ts.map +1 -0
  318. package/dist/commands/structure/transform-zone.js +472 -0
  319. package/dist/commands/structure/validate-mezzanine.d.ts +5 -0
  320. package/dist/commands/structure/validate-mezzanine.d.ts.map +1 -0
  321. package/dist/commands/structure/validate-mezzanine.js +46 -0
  322. package/dist/commands/structure/zone-crossings.d.ts +8 -0
  323. package/dist/commands/structure/zone-crossings.d.ts.map +1 -0
  324. package/dist/commands/structure/zone-crossings.js +162 -0
  325. package/dist/commands/structure/zone-drop.d.ts +4 -0
  326. package/dist/commands/structure/zone-drop.d.ts.map +1 -0
  327. package/dist/commands/structure/zone-drop.js +68 -0
  328. package/dist/commands/structure/zone-insertion.d.ts +4 -0
  329. package/dist/commands/structure/zone-insertion.d.ts.map +1 -0
  330. package/dist/commands/structure/zone-insertion.js +200 -0
  331. package/dist/commands/structure/zone-transform-content.d.ts +6 -0
  332. package/dist/commands/structure/zone-transform-content.d.ts.map +1 -0
  333. package/dist/commands/structure/zone-transform-content.js +117 -0
  334. package/dist/commands/structure/zone-wall-merge.d.ts +4977 -0
  335. package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -0
  336. package/dist/commands/structure/zone-wall-merge.js +135 -0
  337. package/dist/contracts/reference-discovery.d.ts +18 -0
  338. package/dist/contracts/reference-discovery.d.ts.map +1 -0
  339. package/dist/contracts/reference-discovery.js +100 -0
  340. package/dist/contracts/reference-inventory.d.ts +44 -0
  341. package/dist/contracts/reference-inventory.d.ts.map +1 -0
  342. package/dist/contracts/reference-inventory.js +872 -0
  343. package/dist/events/bus.d.ts +70 -9
  344. package/dist/events/bus.d.ts.map +1 -1
  345. package/dist/hooks/scene-registry/item-clip-registry.d.ts +6 -3
  346. package/dist/hooks/scene-registry/item-clip-registry.d.ts.map +1 -1
  347. package/dist/hooks/scene-registry/item-clip-registry.js +2 -1
  348. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
  349. package/dist/hooks/spatial-grid/floor-placed-elevation.js +15 -1
  350. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +3 -2
  351. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  352. package/dist/hooks/spatial-grid/spatial-grid-manager.js +53 -66
  353. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +1612 -127
  354. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  355. package/dist/hooks/spatial-grid/spatial-grid-sync.js +86 -83
  356. package/dist/hooks/spatial-grid/support-host-patch.d.ts +1 -0
  357. package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
  358. package/dist/hooks/spatial-grid/support-host-patch.js +12 -5
  359. package/dist/index.d.ts +80 -13
  360. package/dist/index.d.ts.map +1 -1
  361. package/dist/index.js +75 -11
  362. package/dist/lib/__bench__/near-linear-walls.d.ts +2 -0
  363. package/dist/lib/__bench__/near-linear-walls.d.ts.map +1 -0
  364. package/dist/lib/__bench__/near-linear-walls.js +24 -0
  365. package/dist/lib/__bench__/structure-preview.bench.d.ts +2 -0
  366. package/dist/lib/__bench__/structure-preview.bench.d.ts.map +1 -0
  367. package/dist/lib/__bench__/structure-preview.bench.js +72 -0
  368. package/dist/lib/__fixtures__/mezzanine.d.ts +13968 -0
  369. package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -0
  370. package/dist/lib/__fixtures__/mezzanine.js +43 -0
  371. package/dist/lib/absorb-wall-separators.d.ts +4483 -0
  372. package/dist/lib/absorb-wall-separators.d.ts.map +1 -0
  373. package/dist/lib/absorb-wall-separators.js +65 -0
  374. package/dist/lib/angle-accumulator.d.ts +3 -0
  375. package/dist/lib/angle-accumulator.d.ts.map +1 -0
  376. package/dist/lib/angle-accumulator.js +13 -0
  377. package/dist/lib/artifact-store.d.ts +31 -0
  378. package/dist/lib/artifact-store.d.ts.map +1 -0
  379. package/dist/lib/artifact-store.js +42 -0
  380. package/dist/lib/assembly-stack.d.ts +54 -0
  381. package/dist/lib/assembly-stack.d.ts.map +1 -0
  382. package/dist/lib/assembly-stack.js +52 -0
  383. package/dist/lib/asset-storage.d.ts.map +1 -1
  384. package/dist/lib/asset-storage.js +3 -0
  385. package/dist/lib/canonical-opening-ring.d.ts +3 -0
  386. package/dist/lib/canonical-opening-ring.d.ts.map +1 -0
  387. package/dist/lib/canonical-opening-ring.js +14 -0
  388. package/dist/lib/ceiling-children.d.ts +8 -0
  389. package/dist/lib/ceiling-children.d.ts.map +1 -0
  390. package/dist/lib/ceiling-children.js +36 -0
  391. package/dist/lib/ceiling-surface.d.ts +40 -0
  392. package/dist/lib/ceiling-surface.d.ts.map +1 -0
  393. package/dist/lib/ceiling-surface.js +65 -0
  394. package/dist/lib/cutter-host.d.ts +5 -0
  395. package/dist/lib/cutter-host.d.ts.map +1 -0
  396. package/dist/lib/cutter-host.js +30 -0
  397. package/dist/lib/floor-construction-lift.d.ts +4 -0
  398. package/dist/lib/floor-construction-lift.d.ts.map +1 -0
  399. package/dist/lib/floor-construction-lift.js +54 -0
  400. package/dist/lib/floor-footprint-key.d.ts +3 -0
  401. package/dist/lib/floor-footprint-key.d.ts.map +1 -0
  402. package/dist/lib/floor-footprint-key.js +9 -0
  403. package/dist/lib/floor-footprint-name.d.ts +11 -0
  404. package/dist/lib/floor-footprint-name.d.ts.map +1 -0
  405. package/dist/lib/floor-footprint-name.js +52 -0
  406. package/dist/lib/floor-foundation-datum.d.ts +31 -0
  407. package/dist/lib/floor-foundation-datum.d.ts.map +1 -0
  408. package/dist/lib/floor-foundation-datum.js +226 -0
  409. package/dist/lib/floor-foundation-stack.d.ts +16 -0
  410. package/dist/lib/floor-foundation-stack.d.ts.map +1 -0
  411. package/dist/lib/floor-foundation-stack.js +214 -0
  412. package/dist/lib/floor-intent-changes.d.ts +10 -0
  413. package/dist/lib/floor-intent-changes.d.ts.map +1 -0
  414. package/dist/lib/floor-intent-changes.js +461 -0
  415. package/dist/lib/floor-opening-footprints.d.ts +24 -0
  416. package/dist/lib/floor-opening-footprints.d.ts.map +1 -0
  417. package/dist/lib/floor-opening-footprints.js +127 -0
  418. package/dist/lib/floor-opening-intent.d.ts +16 -0
  419. package/dist/lib/floor-opening-intent.d.ts.map +1 -0
  420. package/dist/lib/floor-opening-intent.js +82 -0
  421. package/dist/lib/floor-plate-id.d.ts +5 -0
  422. package/dist/lib/floor-plate-id.d.ts.map +1 -0
  423. package/dist/lib/floor-plate-id.js +20 -0
  424. package/dist/lib/floor-plate-paint.d.ts +8 -0
  425. package/dist/lib/floor-plate-paint.d.ts.map +1 -0
  426. package/dist/lib/floor-plate-paint.js +11 -0
  427. package/dist/lib/floor-plates.d.ts +211 -0
  428. package/dist/lib/floor-plates.d.ts.map +1 -0
  429. package/dist/lib/floor-plates.js +729 -0
  430. package/dist/lib/floor-room-faces.d.ts +5 -0
  431. package/dist/lib/floor-room-faces.d.ts.map +1 -0
  432. package/dist/lib/floor-room-faces.js +29 -0
  433. package/dist/lib/floor-step-finish.d.ts +49 -0
  434. package/dist/lib/floor-step-finish.d.ts.map +1 -0
  435. package/dist/lib/floor-step-finish.js +128 -0
  436. package/dist/lib/geometry-script-node.d.ts +82 -0
  437. package/dist/lib/geometry-script-node.d.ts.map +1 -0
  438. package/dist/lib/geometry-script-node.js +147 -0
  439. package/dist/lib/geometry-surfaces.d.ts +61 -0
  440. package/dist/lib/geometry-surfaces.d.ts.map +1 -0
  441. package/dist/lib/geometry-surfaces.js +156 -0
  442. package/dist/lib/item-slab-support.d.ts +14 -0
  443. package/dist/lib/item-slab-support.d.ts.map +1 -0
  444. package/dist/lib/item-slab-support.js +40 -0
  445. package/dist/lib/level-footprints.d.ts +23 -0
  446. package/dist/lib/level-footprints.d.ts.map +1 -0
  447. package/dist/lib/level-footprints.js +398 -0
  448. package/dist/lib/level-name.d.ts +7 -0
  449. package/dist/lib/level-name.d.ts.map +1 -1
  450. package/dist/lib/level-name.js +11 -3
  451. package/dist/lib/new-zone.d.ts +10 -0
  452. package/dist/lib/new-zone.d.ts.map +1 -0
  453. package/dist/lib/new-zone.js +10 -0
  454. package/dist/lib/node-ancestry.d.ts +30 -0
  455. package/dist/lib/node-ancestry.d.ts.map +1 -0
  456. package/dist/lib/node-ancestry.js +76 -0
  457. package/dist/lib/object-cuts.d.ts +11 -0
  458. package/dist/lib/object-cuts.d.ts.map +1 -0
  459. package/dist/lib/object-cuts.js +63 -0
  460. package/dist/lib/opening-floor-datum.d.ts +24 -0
  461. package/dist/lib/opening-floor-datum.d.ts.map +1 -0
  462. package/dist/lib/opening-floor-datum.js +145 -0
  463. package/dist/lib/own-floor-intent.d.ts +15 -0
  464. package/dist/lib/own-floor-intent.d.ts.map +1 -0
  465. package/dist/lib/own-floor-intent.js +201 -0
  466. package/dist/lib/plate-reference.d.ts +3 -0
  467. package/dist/lib/plate-reference.d.ts.map +1 -0
  468. package/dist/lib/plate-reference.js +91 -0
  469. package/dist/lib/plate-surface.d.ts +120 -0
  470. package/dist/lib/plate-surface.d.ts.map +1 -0
  471. package/dist/lib/plate-surface.js +725 -0
  472. package/dist/lib/polygon-boolean.d.ts +17 -0
  473. package/dist/lib/polygon-boolean.d.ts.map +1 -0
  474. package/dist/lib/polygon-boolean.js +195 -0
  475. package/dist/lib/polygon-label.d.ts +7 -0
  476. package/dist/lib/polygon-label.d.ts.map +1 -0
  477. package/dist/lib/polygon-label.js +94 -0
  478. package/dist/lib/room-drawn-floor.d.ts +29 -0
  479. package/dist/lib/room-drawn-floor.d.ts.map +1 -0
  480. package/dist/lib/room-drawn-floor.js +88 -0
  481. package/dist/lib/room-floor-choices.d.ts +11 -0
  482. package/dist/lib/room-floor-choices.d.ts.map +1 -0
  483. package/dist/lib/room-floor-choices.js +60 -0
  484. package/dist/lib/room-floor-feasibility.d.ts +25 -0
  485. package/dist/lib/room-floor-feasibility.d.ts.map +1 -0
  486. package/dist/lib/room-floor-feasibility.js +293 -0
  487. package/dist/lib/room-floor-plate.d.ts +3 -0
  488. package/dist/lib/room-floor-plate.d.ts.map +1 -0
  489. package/dist/lib/room-floor-plate.js +4 -0
  490. package/dist/lib/room-graph.d.ts +79 -0
  491. package/dist/lib/room-graph.d.ts.map +1 -0
  492. package/dist/lib/room-graph.js +1265 -0
  493. package/dist/lib/room-name.d.ts +10 -0
  494. package/dist/lib/room-name.d.ts.map +1 -0
  495. package/dist/lib/room-name.js +22 -0
  496. package/dist/lib/room-topology-index.d.ts +53 -5
  497. package/dist/lib/room-topology-index.d.ts.map +1 -1
  498. package/dist/lib/room-topology-index.js +176 -30
  499. package/dist/lib/room-vertical-placement.d.ts +12 -0
  500. package/dist/lib/room-vertical-placement.d.ts.map +1 -0
  501. package/dist/lib/room-vertical-placement.js +28 -0
  502. package/dist/lib/room-zone-adoption.d.ts +74 -0
  503. package/dist/lib/room-zone-adoption.d.ts.map +1 -0
  504. package/dist/lib/room-zone-adoption.js +150 -0
  505. package/dist/lib/setback-envelope.d.ts +73 -0
  506. package/dist/lib/setback-envelope.d.ts.map +1 -0
  507. package/dist/lib/setback-envelope.js +506 -0
  508. package/dist/lib/slab-polygon.d.ts.map +1 -1
  509. package/dist/lib/slab-polygon.js +33 -12
  510. package/dist/lib/slots.d.ts +20 -0
  511. package/dist/lib/slots.d.ts.map +1 -1
  512. package/dist/lib/slots.js +44 -0
  513. package/dist/lib/space-detection.d.ts +14 -94
  514. package/dist/lib/space-detection.d.ts.map +1 -1
  515. package/dist/lib/space-detection.js +244 -1616
  516. package/dist/lib/structure-commit.d.ts +38 -0
  517. package/dist/lib/structure-commit.d.ts.map +1 -0
  518. package/dist/lib/structure-commit.js +52 -0
  519. package/dist/lib/structure-kernel.d.ts +66 -0
  520. package/dist/lib/structure-kernel.d.ts.map +1 -0
  521. package/dist/lib/structure-kernel.js +735 -0
  522. package/dist/lib/structure-reconcile.d.ts +15 -0
  523. package/dist/lib/structure-reconcile.d.ts.map +1 -0
  524. package/dist/lib/structure-reconcile.js +218 -0
  525. package/dist/lib/terrain-contours.d.ts +29 -0
  526. package/dist/lib/terrain-contours.d.ts.map +1 -0
  527. package/dist/lib/terrain-contours.js +199 -0
  528. package/dist/lib/terrain-source-persisted.d.ts +42 -0
  529. package/dist/lib/terrain-source-persisted.d.ts.map +1 -0
  530. package/dist/lib/terrain-source-persisted.js +68 -0
  531. package/dist/lib/terrain-source.d.ts +2 -40
  532. package/dist/lib/terrain-source.d.ts.map +1 -1
  533. package/dist/lib/terrain-source.js +2 -68
  534. package/dist/lib/terrain-support-query.d.ts +83 -0
  535. package/dist/lib/terrain-support-query.d.ts.map +1 -0
  536. package/dist/lib/terrain-support-query.js +187 -0
  537. package/dist/lib/terrain-support.d.ts +1 -77
  538. package/dist/lib/terrain-support.d.ts.map +1 -1
  539. package/dist/lib/terrain-support.js +3 -181
  540. package/dist/lib/unit-containment.js +2 -2
  541. package/dist/lib/unit-report.d.ts.map +1 -1
  542. package/dist/lib/unit-report.js +5 -4
  543. package/dist/lib/zone-colors.d.ts +11 -0
  544. package/dist/lib/zone-colors.d.ts.map +1 -0
  545. package/dist/lib/zone-colors.js +32 -0
  546. package/dist/lib/zone-quantities.d.ts.map +1 -1
  547. package/dist/lib/zone-quantities.js +113 -223
  548. package/dist/material-library.d.ts +9 -1
  549. package/dist/material-library.d.ts.map +1 -1
  550. package/dist/material-library.js +550 -1
  551. package/dist/node-slots/block.d.ts +7 -0
  552. package/dist/node-slots/block.d.ts.map +1 -0
  553. package/dist/node-slots/block.js +27 -0
  554. package/dist/node-slots/cabinet.d.ts +4 -0
  555. package/dist/node-slots/cabinet.d.ts.map +1 -0
  556. package/dist/node-slots/cabinet.js +24 -0
  557. package/dist/node-slots/ceiling.d.ts +6 -0
  558. package/dist/node-slots/ceiling.d.ts.map +1 -0
  559. package/dist/node-slots/ceiling.js +7 -0
  560. package/dist/node-slots/column.d.ts +9 -0
  561. package/dist/node-slots/column.d.ts.map +1 -0
  562. package/dist/node-slots/column.js +24 -0
  563. package/dist/node-slots/door.d.ts +9 -0
  564. package/dist/node-slots/door.d.ts.map +1 -0
  565. package/dist/node-slots/door.js +20 -0
  566. package/dist/node-slots/duct.d.ts +5 -0
  567. package/dist/node-slots/duct.d.ts.map +1 -0
  568. package/dist/node-slots/duct.js +5 -0
  569. package/dist/node-slots/elevator.d.ts +9 -0
  570. package/dist/node-slots/elevator.d.ts.map +1 -0
  571. package/dist/node-slots/elevator.js +17 -0
  572. package/dist/node-slots/fence.d.ts +10 -0
  573. package/dist/node-slots/fence.d.ts.map +1 -0
  574. package/dist/node-slots/fence.js +23 -0
  575. package/dist/node-slots/index.d.ts +25 -0
  576. package/dist/node-slots/index.d.ts.map +1 -0
  577. package/dist/node-slots/index.js +92 -0
  578. package/dist/node-slots/lean-to-extension.d.ts +5 -0
  579. package/dist/node-slots/lean-to-extension.d.ts.map +1 -0
  580. package/dist/node-slots/lean-to-extension.js +15 -0
  581. package/dist/node-slots/procedural-item.d.ts +4 -0
  582. package/dist/node-slots/procedural-item.d.ts.map +1 -0
  583. package/dist/node-slots/procedural-item.js +3 -0
  584. package/dist/node-slots/roof-accessories.d.ts +9 -0
  585. package/dist/node-slots/roof-accessories.d.ts.map +1 -0
  586. package/dist/node-slots/roof-accessories.js +34 -0
  587. package/dist/node-slots/shelf.d.ts +9 -0
  588. package/dist/node-slots/shelf.d.ts.map +1 -0
  589. package/dist/node-slots/shelf.js +30 -0
  590. package/dist/node-slots/slab.d.ts +7 -0
  591. package/dist/node-slots/slab.d.ts.map +1 -0
  592. package/dist/node-slots/slab.js +21 -0
  593. package/dist/node-slots/stair.d.ts +8 -0
  594. package/dist/node-slots/stair.d.ts.map +1 -0
  595. package/dist/node-slots/stair.js +17 -0
  596. package/dist/node-slots/wall.d.ts +12 -0
  597. package/dist/node-slots/wall.d.ts.map +1 -0
  598. package/dist/node-slots/wall.js +55 -0
  599. package/dist/node-slots/window.d.ts +5 -0
  600. package/dist/node-slots/window.d.ts.map +1 -0
  601. package/dist/node-slots/window.js +11 -0
  602. package/dist/procedural-items/design-placement.d.ts +49 -0
  603. package/dist/procedural-items/design-placement.d.ts.map +1 -0
  604. package/dist/procedural-items/design-placement.js +129 -0
  605. package/dist/procedural-items/design.d.ts +261 -0
  606. package/dist/procedural-items/design.d.ts.map +1 -0
  607. package/dist/procedural-items/design.js +707 -0
  608. package/dist/procedural-items/fixtures.d.ts +464 -24
  609. package/dist/procedural-items/fixtures.d.ts.map +1 -1
  610. package/dist/procedural-items/index.d.ts +5 -0
  611. package/dist/procedural-items/index.d.ts.map +1 -1
  612. package/dist/procedural-items/index.js +5 -0
  613. package/dist/procedural-items/integration.d.ts +127 -6
  614. package/dist/procedural-items/integration.d.ts.map +1 -1
  615. package/dist/procedural-items/joints.d.ts +56 -0
  616. package/dist/procedural-items/joints.d.ts.map +1 -0
  617. package/dist/procedural-items/joints.js +251 -0
  618. package/dist/procedural-items/library-colors.d.ts +12 -0
  619. package/dist/procedural-items/library-colors.d.ts.map +1 -1
  620. package/dist/procedural-items/library-colors.js +37 -3
  621. package/dist/procedural-items/motion-controller.d.ts +29 -0
  622. package/dist/procedural-items/motion-controller.d.ts.map +1 -0
  623. package/dist/procedural-items/motion-controller.js +130 -0
  624. package/dist/procedural-items/node.d.ts +490 -24
  625. package/dist/procedural-items/node.d.ts.map +1 -1
  626. package/dist/procedural-items/query.d.ts +18 -1
  627. package/dist/procedural-items/query.d.ts.map +1 -1
  628. package/dist/procedural-items/query.js +78 -39
  629. package/dist/procedural-items/recipe.d.ts +258 -14
  630. package/dist/procedural-items/recipe.d.ts.map +1 -1
  631. package/dist/procedural-items/recipe.js +933 -61
  632. package/dist/procedural-items/section.d.ts +27 -0
  633. package/dist/procedural-items/section.d.ts.map +1 -0
  634. package/dist/procedural-items/section.js +237 -0
  635. package/dist/procedural-items/spatial.d.ts +21 -0
  636. package/dist/procedural-items/spatial.d.ts.map +1 -1
  637. package/dist/procedural-items/spatial.js +90 -0
  638. package/dist/registry/handles.d.ts +2 -0
  639. package/dist/registry/handles.d.ts.map +1 -1
  640. package/dist/registry/index.d.ts +6 -4
  641. package/dist/registry/index.d.ts.map +1 -1
  642. package/dist/registry/index.js +4 -2
  643. package/dist/registry/mechanism.d.ts +9 -0
  644. package/dist/registry/mechanism.d.ts.map +1 -0
  645. package/dist/registry/mechanism.js +21 -0
  646. package/dist/registry/registry.d.ts +6 -3
  647. package/dist/registry/registry.d.ts.map +1 -1
  648. package/dist/registry/registry.js +59 -22
  649. package/dist/registry/scene-api.d.ts +20 -0
  650. package/dist/registry/scene-api.d.ts.map +1 -1
  651. package/dist/registry/scene-api.js +26 -13
  652. package/dist/registry/subtree.d.ts +8 -0
  653. package/dist/registry/subtree.d.ts.map +1 -1
  654. package/dist/registry/subtree.js +53 -0
  655. package/dist/registry/types.d.ts +340 -11
  656. package/dist/registry/types.d.ts.map +1 -1
  657. package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
  658. package/dist/schema/__fixtures__/node-fixtures.js +2 -0
  659. package/dist/schema/assembly.d.ts +153 -0
  660. package/dist/schema/assembly.d.ts.map +1 -0
  661. package/dist/schema/assembly.js +155 -0
  662. package/dist/schema/asset-url.d.ts +2 -1
  663. package/dist/schema/asset-url.d.ts.map +1 -1
  664. package/dist/schema/asset-url.js +5 -2
  665. package/dist/schema/base.d.ts +26 -0
  666. package/dist/schema/base.d.ts.map +1 -1
  667. package/dist/schema/base.js +2 -0
  668. package/dist/schema/collection-templates.d.ts +46 -0
  669. package/dist/schema/collection-templates.d.ts.map +1 -0
  670. package/dist/schema/collection-templates.js +14 -0
  671. package/dist/schema/collections.d.ts +7 -0
  672. package/dist/schema/collections.d.ts.map +1 -1
  673. package/dist/schema/cut.d.ts +29 -0
  674. package/dist/schema/cut.d.ts.map +1 -0
  675. package/dist/schema/cut.js +50 -0
  676. package/dist/schema/geometry-metadata.d.ts +51 -0
  677. package/dist/schema/geometry-metadata.d.ts.map +1 -0
  678. package/dist/schema/geometry-metadata.js +57 -0
  679. package/dist/schema/geometry-source.d.ts +250 -0
  680. package/dist/schema/geometry-source.d.ts.map +1 -0
  681. package/dist/schema/geometry-source.js +130 -0
  682. package/dist/schema/index.d.ts +19 -7
  683. package/dist/schema/index.d.ts.map +1 -1
  684. package/dist/schema/index.js +21 -5
  685. package/dist/schema/nodes/block.d.ts +26 -0
  686. package/dist/schema/nodes/block.d.ts.map +1 -1
  687. package/dist/schema/nodes/block.js +1 -1
  688. package/dist/schema/nodes/box-vent.d.ts +26 -0
  689. package/dist/schema/nodes/box-vent.d.ts.map +1 -1
  690. package/dist/schema/nodes/building.d.ts +26 -0
  691. package/dist/schema/nodes/building.d.ts.map +1 -1
  692. package/dist/schema/nodes/cabinet.d.ts +61 -9
  693. package/dist/schema/nodes/cabinet.d.ts.map +1 -1
  694. package/dist/schema/nodes/ceiling.d.ts +37 -0
  695. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  696. package/dist/schema/nodes/ceiling.js +8 -0
  697. package/dist/schema/nodes/chimney.d.ts +26 -0
  698. package/dist/schema/nodes/chimney.d.ts.map +1 -1
  699. package/dist/schema/nodes/column.d.ts +126 -0
  700. package/dist/schema/nodes/column.d.ts.map +1 -1
  701. package/dist/schema/nodes/column.js +2 -0
  702. package/dist/schema/nodes/construction-dimension.d.ts +26 -0
  703. package/dist/schema/nodes/construction-dimension.d.ts.map +1 -1
  704. package/dist/schema/nodes/cupola.d.ts +26 -0
  705. package/dist/schema/nodes/cupola.d.ts.map +1 -1
  706. package/dist/schema/nodes/curtain-wall.d.ts +5 -5
  707. package/dist/schema/nodes/door.d.ts +139 -20
  708. package/dist/schema/nodes/door.d.ts.map +1 -1
  709. package/dist/schema/nodes/door.js +18 -33
  710. package/dist/schema/nodes/dormer.d.ts +28 -2
  711. package/dist/schema/nodes/dormer.d.ts.map +1 -1
  712. package/dist/schema/nodes/downspout.d.ts +27 -1
  713. package/dist/schema/nodes/downspout.d.ts.map +1 -1
  714. package/dist/schema/nodes/duct-fitting.d.ts +27 -1
  715. package/dist/schema/nodes/duct-fitting.d.ts.map +1 -1
  716. package/dist/schema/nodes/duct-segment.d.ts +27 -1
  717. package/dist/schema/nodes/duct-segment.d.ts.map +1 -1
  718. package/dist/schema/nodes/duct-terminal.d.ts +26 -0
  719. package/dist/schema/nodes/duct-terminal.d.ts.map +1 -1
  720. package/dist/schema/nodes/elevator.d.ts +26 -0
  721. package/dist/schema/nodes/elevator.d.ts.map +1 -1
  722. package/dist/schema/nodes/eyebrow-vent.d.ts +26 -0
  723. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
  724. package/dist/schema/nodes/fence-feature.d.ts +141 -0
  725. package/dist/schema/nodes/fence-feature.d.ts.map +1 -0
  726. package/dist/schema/nodes/fence-feature.js +21 -0
  727. package/dist/schema/nodes/fence.d.ts +186 -0
  728. package/dist/schema/nodes/fence.d.ts.map +1 -1
  729. package/dist/schema/nodes/fence.js +92 -7
  730. package/dist/schema/nodes/floor-opening.d.ts +61 -0
  731. package/dist/schema/nodes/floor-opening.d.ts.map +1 -0
  732. package/dist/schema/nodes/floor-opening.js +17 -0
  733. package/dist/schema/nodes/guide.d.ts +26 -0
  734. package/dist/schema/nodes/guide.d.ts.map +1 -1
  735. package/dist/schema/nodes/gutter.d.ts +26 -0
  736. package/dist/schema/nodes/gutter.d.ts.map +1 -1
  737. package/dist/schema/nodes/hvac-equipment.d.ts +26 -0
  738. package/dist/schema/nodes/hvac-equipment.d.ts.map +1 -1
  739. package/dist/schema/nodes/imported-mesh.d.ts +26 -0
  740. package/dist/schema/nodes/imported-mesh.d.ts.map +1 -1
  741. package/dist/schema/nodes/item.d.ts +153 -2
  742. package/dist/schema/nodes/item.d.ts.map +1 -1
  743. package/dist/schema/nodes/item.js +13 -0
  744. package/dist/schema/nodes/lean-to-extension.d.ts +26 -0
  745. package/dist/schema/nodes/lean-to-extension.d.ts.map +1 -1
  746. package/dist/schema/nodes/level.d.ts +27 -1
  747. package/dist/schema/nodes/level.d.ts.map +1 -1
  748. package/dist/schema/nodes/lineset.d.ts +26 -0
  749. package/dist/schema/nodes/lineset.d.ts.map +1 -1
  750. package/dist/schema/nodes/liquid-line.d.ts +26 -0
  751. package/dist/schema/nodes/liquid-line.d.ts.map +1 -1
  752. package/dist/schema/nodes/measurement.d.ts +26 -0
  753. package/dist/schema/nodes/measurement.d.ts.map +1 -1
  754. package/dist/schema/nodes/opening-types.d.ts +41 -0
  755. package/dist/schema/nodes/opening-types.d.ts.map +1 -0
  756. package/dist/schema/nodes/opening-types.js +48 -0
  757. package/dist/schema/nodes/pipe-fitting.d.ts +26 -0
  758. package/dist/schema/nodes/pipe-fitting.d.ts.map +1 -1
  759. package/dist/schema/nodes/pipe-segment.d.ts +26 -0
  760. package/dist/schema/nodes/pipe-segment.d.ts.map +1 -1
  761. package/dist/schema/nodes/pipe-trap.d.ts +26 -0
  762. package/dist/schema/nodes/pipe-trap.d.ts.map +1 -1
  763. package/dist/schema/nodes/ridge-vent.d.ts +26 -0
  764. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  765. package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
  766. package/dist/schema/nodes/roof-segment-walls.js +2 -1
  767. package/dist/schema/nodes/roof-segment.d.ts +30 -2
  768. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  769. package/dist/schema/nodes/roof-segment.js +9 -0
  770. package/dist/schema/nodes/roof.d.ts +101 -0
  771. package/dist/schema/nodes/roof.d.ts.map +1 -1
  772. package/dist/schema/nodes/roof.js +6 -0
  773. package/dist/schema/nodes/scan.d.ts +26 -0
  774. package/dist/schema/nodes/scan.d.ts.map +1 -1
  775. package/dist/schema/nodes/separator.d.ts +50 -0
  776. package/dist/schema/nodes/separator.d.ts.map +1 -0
  777. package/dist/schema/nodes/separator.js +8 -0
  778. package/dist/schema/nodes/shelf.d.ts +26 -0
  779. package/dist/schema/nodes/shelf.d.ts.map +1 -1
  780. package/dist/schema/nodes/site.d.ts +192 -0
  781. package/dist/schema/nodes/site.d.ts.map +1 -1
  782. package/dist/schema/nodes/site.js +178 -1
  783. package/dist/schema/nodes/skylight.d.ts +30 -4
  784. package/dist/schema/nodes/skylight.d.ts.map +1 -1
  785. package/dist/schema/nodes/slab.d.ts +84 -0
  786. package/dist/schema/nodes/slab.d.ts.map +1 -1
  787. package/dist/schema/nodes/slab.js +37 -2
  788. package/dist/schema/nodes/solar-panel.d.ts +26 -0
  789. package/dist/schema/nodes/solar-panel.d.ts.map +1 -1
  790. package/dist/schema/nodes/spawn.d.ts +26 -0
  791. package/dist/schema/nodes/spawn.d.ts.map +1 -1
  792. package/dist/schema/nodes/stair-construction.d.ts +21 -0
  793. package/dist/schema/nodes/stair-construction.d.ts.map +1 -0
  794. package/dist/schema/nodes/stair-construction.js +13 -0
  795. package/dist/schema/nodes/stair-design-targets.d.ts +9 -0
  796. package/dist/schema/nodes/stair-design-targets.d.ts.map +1 -0
  797. package/dist/schema/nodes/stair-design-targets.js +7 -0
  798. package/dist/schema/nodes/stair-segment.d.ts +72 -4
  799. package/dist/schema/nodes/stair-segment.d.ts.map +1 -1
  800. package/dist/schema/nodes/stair-segment.js +13 -0
  801. package/dist/schema/nodes/stair.d.ts +119 -2
  802. package/dist/schema/nodes/stair.d.ts.map +1 -1
  803. package/dist/schema/nodes/stair.js +59 -2
  804. package/dist/schema/nodes/structural-grid.d.ts +26 -0
  805. package/dist/schema/nodes/structural-grid.d.ts.map +1 -1
  806. package/dist/schema/nodes/surface-hole-metadata.d.ts +3 -0
  807. package/dist/schema/nodes/surface-hole-metadata.d.ts.map +1 -1
  808. package/dist/schema/nodes/surface-hole-metadata.js +2 -1
  809. package/dist/schema/nodes/surface-paint-region.d.ts +14 -0
  810. package/dist/schema/nodes/surface-paint-region.d.ts.map +1 -0
  811. package/dist/schema/nodes/surface-paint-region.js +12 -0
  812. package/dist/schema/nodes/turbine-vent.d.ts +26 -0
  813. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
  814. package/dist/schema/nodes/unit.d.ts +26 -0
  815. package/dist/schema/nodes/unit.d.ts.map +1 -1
  816. package/dist/schema/nodes/wall.d.ts +352 -61
  817. package/dist/schema/nodes/wall.d.ts.map +1 -1
  818. package/dist/schema/nodes/wall.js +185 -186
  819. package/dist/schema/nodes/window.d.ts +139 -20
  820. package/dist/schema/nodes/window.d.ts.map +1 -1
  821. package/dist/schema/nodes/window.js +12 -14
  822. package/dist/schema/nodes/zone.d.ts +69 -1
  823. package/dist/schema/nodes/zone.d.ts.map +1 -1
  824. package/dist/schema/nodes/zone.js +46 -0
  825. package/dist/schema/provenance.d.ts +118 -0
  826. package/dist/schema/provenance.d.ts.map +1 -0
  827. package/dist/schema/provenance.js +76 -0
  828. package/dist/schema/source-ref.d.ts +23 -0
  829. package/dist/schema/source-ref.d.ts.map +1 -0
  830. package/dist/schema/source-ref.js +29 -0
  831. package/dist/schema/types.d.ts +3317 -68
  832. package/dist/schema/types.d.ts.map +1 -1
  833. package/dist/schema/types.js +7 -0
  834. package/dist/services/alignment-anchors.d.ts +2 -1
  835. package/dist/services/alignment-anchors.d.ts.map +1 -1
  836. package/dist/services/alignment-anchors.js +9 -6
  837. package/dist/services/index.d.ts +1 -1
  838. package/dist/services/index.d.ts.map +1 -1
  839. package/dist/services/index.js +1 -1
  840. package/dist/services/level-height.d.ts.map +1 -1
  841. package/dist/services/level-height.js +6 -4
  842. package/dist/services/storey.d.ts +21 -1
  843. package/dist/services/storey.d.ts.map +1 -1
  844. package/dist/services/storey.js +94 -8
  845. package/dist/services/surface-hosting.d.ts.map +1 -1
  846. package/dist/services/surface-hosting.js +4 -1
  847. package/dist/store/actions/node-actions.d.ts +4563 -8
  848. package/dist/store/actions/node-actions.d.ts.map +1 -1
  849. package/dist/store/actions/node-actions.js +495 -174
  850. package/dist/store/derived-node-guard.d.ts +84 -0
  851. package/dist/store/derived-node-guard.d.ts.map +1 -0
  852. package/dist/store/derived-node-guard.js +586 -0
  853. package/dist/store/history-control.d.ts +34 -0
  854. package/dist/store/history-control.d.ts.map +1 -1
  855. package/dist/store/history-control.js +99 -1
  856. package/dist/store/history-drafts.d.ts +48 -0
  857. package/dist/store/history-drafts.d.ts.map +1 -0
  858. package/dist/store/history-drafts.js +403 -0
  859. package/dist/store/history-invalidation.d.ts.map +1 -1
  860. package/dist/store/history-invalidation.js +1 -0
  861. package/dist/store/item-interaction.d.ts +28 -0
  862. package/dist/store/item-interaction.d.ts.map +1 -0
  863. package/dist/store/item-interaction.js +34 -0
  864. package/dist/store/registered-node-defaults.d.ts +11 -0
  865. package/dist/store/registered-node-defaults.d.ts.map +1 -0
  866. package/dist/store/registered-node-defaults.js +25 -0
  867. package/dist/store/scene-annotations.d.ts +8969 -0
  868. package/dist/store/scene-annotations.d.ts.map +1 -0
  869. package/dist/store/scene-annotations.js +107 -0
  870. package/dist/store/use-interactive.d.ts +23 -1
  871. package/dist/store/use-interactive.d.ts.map +1 -1
  872. package/dist/store/use-interactive.js +128 -5
  873. package/dist/store/use-scene.d.ts +68 -12
  874. package/dist/store/use-scene.d.ts.map +1 -1
  875. package/dist/store/use-scene.js +416 -305
  876. package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -1
  877. package/dist/systems/elevator/elevator-opening-sync.js +4 -6
  878. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
  879. package/dist/systems/elevator/elevator-opening-system.js +12 -6
  880. package/dist/systems/elevator/elevator-service.d.ts.map +1 -1
  881. package/dist/systems/elevator/elevator-service.js +8 -3
  882. package/dist/systems/fence/fence-centerline.d.ts.map +1 -1
  883. package/dist/systems/fence/fence-centerline.js +6 -5
  884. package/dist/systems/fence/fence-features.d.ts +36 -0
  885. package/dist/systems/fence/fence-features.d.ts.map +1 -0
  886. package/dist/systems/fence/fence-features.js +105 -0
  887. package/dist/systems/fence/fence-spline.d.ts +8 -5
  888. package/dist/systems/fence/fence-spline.d.ts.map +1 -1
  889. package/dist/systems/fence/fence-spline.js +51 -16
  890. package/dist/systems/owned-floor-openings.d.ts +9 -0
  891. package/dist/systems/owned-floor-openings.d.ts.map +1 -0
  892. package/dist/systems/owned-floor-openings.js +326 -0
  893. package/dist/systems/reconcile-owned-floor-openings.d.ts +3 -0
  894. package/dist/systems/reconcile-owned-floor-openings.d.ts.map +1 -0
  895. package/dist/systems/reconcile-owned-floor-openings.js +25 -0
  896. package/dist/systems/slab/__fixtures__/doorway-steps.d.ts +8 -0
  897. package/dist/systems/slab/__fixtures__/doorway-steps.d.ts.map +1 -0
  898. package/dist/systems/slab/__fixtures__/doorway-steps.js +62 -0
  899. package/dist/systems/slab/__fixtures__/floor-step.d.ts +5636 -0
  900. package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -0
  901. package/dist/systems/slab/__fixtures__/floor-step.js +66 -0
  902. package/dist/systems/slab/__fixtures__/raised-room.d.ts +5775 -0
  903. package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -0
  904. package/dist/systems/slab/__fixtures__/raised-room.js +54 -0
  905. package/dist/systems/slab/ensure-slab-openings.d.ts +9 -0
  906. package/dist/systems/slab/ensure-slab-openings.d.ts.map +1 -0
  907. package/dist/systems/slab/ensure-slab-openings.js +41 -0
  908. package/dist/systems/slab/slab-support.d.ts +25 -6
  909. package/dist/systems/slab/slab-support.d.ts.map +1 -1
  910. package/dist/systems/slab/slab-support.js +471 -54
  911. package/dist/systems/stair/stair-base-elevation.d.ts +3 -0
  912. package/dist/systems/stair/stair-base-elevation.d.ts.map +1 -0
  913. package/dist/systems/stair/stair-base-elevation.js +49 -0
  914. package/dist/systems/stair/stair-clearance.d.ts +39 -0
  915. package/dist/systems/stair/stair-clearance.d.ts.map +1 -0
  916. package/dist/systems/stair/stair-clearance.js +508 -0
  917. package/dist/systems/stair/stair-construction.d.ts +37 -0
  918. package/dist/systems/stair/stair-construction.d.ts.map +1 -0
  919. package/dist/systems/stair/stair-construction.js +314 -0
  920. package/dist/systems/stair/stair-detail-budget.d.ts +13 -0
  921. package/dist/systems/stair/stair-detail-budget.d.ts.map +1 -0
  922. package/dist/systems/stair/stair-detail-budget.js +64 -0
  923. package/dist/systems/stair/stair-flight.d.ts +2 -2
  924. package/dist/systems/stair/stair-flight.d.ts.map +1 -1
  925. package/dist/systems/stair/stair-flight.js +4 -3
  926. package/dist/systems/stair/stair-floor-footprints.d.ts +7 -0
  927. package/dist/systems/stair/stair-floor-footprints.d.ts.map +1 -0
  928. package/dist/systems/stair/stair-floor-footprints.js +113 -0
  929. package/dist/systems/stair/stair-footprint.d.ts +3 -1
  930. package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
  931. package/dist/systems/stair/stair-footprint.js +97 -44
  932. package/dist/systems/stair/stair-layout.d.ts +39 -0
  933. package/dist/systems/stair/stair-layout.d.ts.map +1 -0
  934. package/dist/systems/stair/stair-layout.js +58 -0
  935. package/dist/systems/stair/stair-opening-preview.d.ts +1612 -80
  936. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  937. package/dist/systems/stair/stair-opening-sync.d.ts +8 -2
  938. package/dist/systems/stair/stair-opening-sync.d.ts.map +1 -1
  939. package/dist/systems/stair/stair-opening-sync.js +136 -315
  940. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
  941. package/dist/systems/stair/stair-opening-system.js +40 -8
  942. package/dist/systems/stair/stair-presets.d.ts +276 -0
  943. package/dist/systems/stair/stair-presets.d.ts.map +1 -0
  944. package/dist/systems/stair/stair-presets.js +151 -0
  945. package/dist/systems/stair/stair-rail-budget.d.ts +6 -0
  946. package/dist/systems/stair/stair-rail-budget.d.ts.map +1 -0
  947. package/dist/systems/stair/stair-rail-budget.js +36 -0
  948. package/dist/systems/stair/stair-rail-path.d.ts +22 -0
  949. package/dist/systems/stair/stair-rail-path.d.ts.map +1 -0
  950. package/dist/systems/stair/stair-rail-path.js +497 -0
  951. package/dist/systems/stair/stair-rise-edit.d.ts +9 -0
  952. package/dist/systems/stair/stair-rise-edit.d.ts.map +1 -0
  953. package/dist/systems/stair/stair-rise-edit.js +46 -0
  954. package/dist/systems/stair/stair-rise-query.d.ts +24 -0
  955. package/dist/systems/stair/stair-rise-query.d.ts.map +1 -0
  956. package/dist/systems/stair/stair-rise-query.js +125 -0
  957. package/dist/systems/stair/stair-rise.d.ts +4 -19
  958. package/dist/systems/stair/stair-rise.d.ts.map +1 -1
  959. package/dist/systems/stair/stair-rise.js +8 -71
  960. package/dist/systems/stair/stair-sizing.d.ts +414 -0
  961. package/dist/systems/stair/stair-sizing.d.ts.map +1 -0
  962. package/dist/systems/stair/stair-sizing.js +255 -0
  963. package/dist/systems/stair/stair-sweep-edit.d.ts +7 -0
  964. package/dist/systems/stair/stair-sweep-edit.d.ts.map +1 -0
  965. package/dist/systems/stair/stair-sweep-edit.js +8 -0
  966. package/dist/systems/stair/stair-walking-line.d.ts +5 -0
  967. package/dist/systems/stair/stair-walking-line.d.ts.map +1 -0
  968. package/dist/systems/stair/stair-walking-line.js +91 -0
  969. package/dist/systems/stair/stair-winder.d.ts +36 -0
  970. package/dist/systems/stair/stair-winder.d.ts.map +1 -0
  971. package/dist/systems/stair/stair-winder.js +173 -0
  972. package/dist/systems/wall/wall-assembly.d.ts +234 -0
  973. package/dist/systems/wall/wall-assembly.d.ts.map +1 -0
  974. package/dist/systems/wall/wall-assembly.js +854 -0
  975. package/dist/systems/wall/wall-curve.d.ts +2 -1
  976. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  977. package/dist/systems/wall/wall-curve.js +21 -5
  978. package/dist/systems/wall/wall-finish.d.ts +102 -0
  979. package/dist/systems/wall/wall-finish.d.ts.map +1 -0
  980. package/dist/systems/wall/wall-finish.js +264 -0
  981. package/dist/systems/wall/wall-footprint.d.ts +3 -0
  982. package/dist/systems/wall/wall-footprint.d.ts.map +1 -1
  983. package/dist/systems/wall/wall-footprint.js +15 -13
  984. package/dist/systems/wall/wall-frame.d.ts +45 -0
  985. package/dist/systems/wall/wall-frame.d.ts.map +1 -0
  986. package/dist/systems/wall/wall-frame.js +162 -0
  987. package/dist/systems/wall/wall-layer-bands.d.ts +38 -0
  988. package/dist/systems/wall/wall-layer-bands.d.ts.map +1 -0
  989. package/dist/systems/wall/wall-layer-bands.js +109 -0
  990. package/dist/systems/wall/wall-merge.d.ts +20 -1
  991. package/dist/systems/wall/wall-merge.d.ts.map +1 -1
  992. package/dist/systems/wall/wall-merge.js +189 -18
  993. package/dist/systems/wall/wall-mitering.d.ts +6 -5
  994. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  995. package/dist/systems/wall/wall-mitering.js +70 -20
  996. package/dist/systems/wall/wall-operations.d.ts +1 -1
  997. package/dist/systems/wall/wall-operations.d.ts.map +1 -1
  998. package/dist/systems/wall/wall-operations.js +2 -1
  999. package/dist/systems/wall/wall-paint-plan.d.ts +30 -0
  1000. package/dist/systems/wall/wall-paint-plan.d.ts.map +1 -0
  1001. package/dist/systems/wall/wall-paint-plan.js +167 -0
  1002. package/dist/systems/wall/wall-room-sides.d.ts +6 -0
  1003. package/dist/systems/wall/wall-room-sides.d.ts.map +1 -0
  1004. package/dist/systems/wall/wall-room-sides.js +14 -0
  1005. package/dist/systems/wall/wall-step-openings.d.ts +17 -0
  1006. package/dist/systems/wall/wall-step-openings.d.ts.map +1 -0
  1007. package/dist/systems/wall/wall-step-openings.js +32 -0
  1008. package/dist/systems/wall/wall-top.d.ts +2 -6
  1009. package/dist/systems/wall/wall-top.d.ts.map +1 -1
  1010. package/dist/systems/wall/wall-top.js +3 -9
  1011. package/dist/systems/wall/wall-topology.d.ts +21 -0
  1012. package/dist/systems/wall/wall-topology.d.ts.map +1 -1
  1013. package/dist/systems/wall/wall-topology.js +405 -4
  1014. package/dist/utils/clone-scene-graph.d.ts +6 -0
  1015. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  1016. package/dist/utils/clone-scene-graph.js +123 -15
  1017. package/dist/utils/ensure-scene-openings.d.ts +8965 -0
  1018. package/dist/utils/ensure-scene-openings.d.ts.map +1 -0
  1019. package/dist/utils/ensure-scene-openings.js +29 -0
  1020. package/dist/utils/exterior-threshold-migration.d.ts +4 -0
  1021. package/dist/utils/exterior-threshold-migration.d.ts.map +1 -0
  1022. package/dist/utils/exterior-threshold-migration.js +114 -0
  1023. package/dist/utils/floor-follow-migration.d.ts +3 -0
  1024. package/dist/utils/floor-follow-migration.d.ts.map +1 -0
  1025. package/dist/utils/floor-follow-migration.js +29 -0
  1026. package/dist/utils/floor-opening-migration.d.ts +13 -0
  1027. package/dist/utils/floor-opening-migration.d.ts.map +1 -0
  1028. package/dist/utils/floor-opening-migration.js +148 -0
  1029. package/dist/utils/floor-piece-adoption.d.ts +50 -0
  1030. package/dist/utils/floor-piece-adoption.d.ts.map +1 -0
  1031. package/dist/utils/floor-piece-adoption.js +182 -0
  1032. package/dist/utils/floor-plate-migration.d.ts +4507 -0
  1033. package/dist/utils/floor-plate-migration.d.ts.map +1 -0
  1034. package/dist/utils/floor-plate-migration.js +1360 -0
  1035. package/dist/utils/heal-plan-coordinates.d.ts +2 -0
  1036. package/dist/utils/heal-plan-coordinates.d.ts.map +1 -0
  1037. package/dist/utils/heal-plan-coordinates.js +69 -0
  1038. package/dist/utils/heal-scene-graph.d.ts +20 -6
  1039. package/dist/utils/heal-scene-graph.d.ts.map +1 -1
  1040. package/dist/utils/heal-scene-graph.js +61 -16
  1041. package/dist/utils/legacy-material-slots.d.ts +23 -0
  1042. package/dist/utils/legacy-material-slots.d.ts.map +1 -0
  1043. package/dist/utils/legacy-material-slots.js +120 -0
  1044. package/dist/utils/legacy-opening-datums.d.ts +11 -0
  1045. package/dist/utils/legacy-opening-datums.d.ts.map +1 -0
  1046. package/dist/utils/legacy-opening-datums.js +92 -0
  1047. package/dist/utils/legacy-wall-datums.d.ts +6 -0
  1048. package/dist/utils/legacy-wall-datums.d.ts.map +1 -0
  1049. package/dist/utils/legacy-wall-datums.js +199 -0
  1050. package/dist/utils/load-migration.d.ts +28 -0
  1051. package/dist/utils/load-migration.d.ts.map +1 -0
  1052. package/dist/utils/load-migration.js +89 -0
  1053. package/dist/utils/node-defaults.d.ts +37 -0
  1054. package/dist/utils/node-defaults.d.ts.map +1 -0
  1055. package/dist/utils/node-defaults.js +96 -0
  1056. package/dist/utils/normalize-legacy-structure.d.ts +2 -0
  1057. package/dist/utils/normalize-legacy-structure.d.ts.map +1 -0
  1058. package/dist/utils/normalize-legacy-structure.js +61 -0
  1059. package/dist/utils/omit-undefined.d.ts +2 -0
  1060. package/dist/utils/omit-undefined.d.ts.map +1 -0
  1061. package/dist/utils/omit-undefined.js +17 -0
  1062. package/dist/utils/owned-floor-opening-migration.d.ts +4489 -0
  1063. package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -0
  1064. package/dist/utils/owned-floor-opening-migration.js +365 -0
  1065. package/dist/utils/reconcile-structure-on-load.d.ts +8965 -0
  1066. package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -0
  1067. package/dist/utils/reconcile-structure-on-load.js +307 -0
  1068. package/dist/utils/room-zone-migration.d.ts +18 -0
  1069. package/dist/utils/room-zone-migration.d.ts.map +1 -0
  1070. package/dist/utils/room-zone-migration.js +258 -0
  1071. package/dist/utils/scene-migrations.d.ts +16 -1
  1072. package/dist/utils/scene-migrations.d.ts.map +1 -1
  1073. package/dist/utils/scene-migrations.js +15 -1
  1074. package/dist/utils/structure-id.d.ts +4 -0
  1075. package/dist/utils/structure-id.d.ts.map +1 -0
  1076. package/dist/utils/structure-id.js +115 -0
  1077. package/dist/utils/vertical-scene-migration.d.ts +8 -8
  1078. package/dist/utils/vertical-scene-migration.d.ts.map +1 -1
  1079. package/dist/utils/vertical-scene-migration.js +18 -8
  1080. package/dist/utils/wall-assembly-migration.d.ts +14 -0
  1081. package/dist/utils/wall-assembly-migration.d.ts.map +1 -0
  1082. package/dist/utils/wall-assembly-migration.js +23 -0
  1083. package/dist/utils/wall-face-migration.d.ts +23 -0
  1084. package/dist/utils/wall-face-migration.d.ts.map +1 -0
  1085. package/dist/utils/wall-face-migration.js +246 -0
  1086. package/dist/validation/opening-bounds.d.ts +36 -0
  1087. package/dist/validation/opening-bounds.d.ts.map +1 -0
  1088. package/dist/validation/opening-bounds.js +34 -0
  1089. package/dist/validation/validate-build-json.d.ts +2 -0
  1090. package/dist/validation/validate-build-json.d.ts.map +1 -1
  1091. package/dist/validation/validate-build-json.js +36 -1
  1092. package/package.json +36 -3
  1093. package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts +0 -13
  1094. package/dist/services/surface-hosting-procedural-parity.fixtures.d.ts.map +0 -1
  1095. package/dist/services/surface-hosting-procedural-parity.fixtures.js +0 -4691
  1096. package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts +0 -1060
  1097. package/dist/services/surface-hosting-shelf-parity.fixtures.d.ts.map +0 -1
  1098. package/dist/services/surface-hosting-shelf-parity.fixtures.js +0 -3127
@@ -40,6 +40,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
40
40
  zoom: z.ZodOptional<z.ZodNumber>;
41
41
  }, z.core.$strip>>;
42
42
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
43
+ provenance: z.ZodOptional<z.ZodObject<{
44
+ refs: z.ZodArray<z.ZodObject<{
45
+ ns: z.ZodOptional<z.ZodString>;
46
+ id: z.ZodString;
47
+ role: z.ZodOptional<z.ZodEnum<{
48
+ primary: "primary";
49
+ piece: "piece";
50
+ absorbed: "absorbed";
51
+ alias: "alias";
52
+ derived: "derived";
53
+ }>>;
54
+ }, z.core.$strip>>;
55
+ lineage: z.ZodOptional<z.ZodObject<{
56
+ op: z.ZodEnum<{
57
+ import: "import";
58
+ split: "split";
59
+ merge: "merge";
60
+ duplicate: "duplicate";
61
+ convert: "convert";
62
+ promote: "promote";
63
+ "make-independent": "make-independent";
64
+ attach: "attach";
65
+ }>;
66
+ fromIds: z.ZodArray<z.ZodString>;
67
+ }, z.core.$strip>>;
68
+ }, z.core.$strip>>;
43
69
  id: z.ZodDefault<z.ZodTemplateLiteral<`site_${string}`>>;
44
70
  type: z.ZodDefault<z.ZodLiteral<"site">>;
45
71
  polygon: z.ZodDefault<z.ZodOptional<z.ZodObject<{
@@ -55,6 +81,82 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
55
81
  step: z.ZodNumber;
56
82
  heights: z.ZodString;
57
83
  }, z.core.$strip>>;
84
+ address: z.ZodOptional<z.ZodObject<{
85
+ street: z.ZodOptional<z.ZodString>;
86
+ city: z.ZodOptional<z.ZodString>;
87
+ state: z.ZodOptional<z.ZodString>;
88
+ zip: z.ZodOptional<z.ZodString>;
89
+ }, z.core.$strip>>;
90
+ parcel: z.ZodOptional<z.ZodObject<{
91
+ apn: z.ZodOptional<z.ZodString>;
92
+ source: z.ZodOptional<z.ZodString>;
93
+ county: z.ZodOptional<z.ZodString>;
94
+ state: z.ZodOptional<z.ZodString>;
95
+ lotAreaSqFt: z.ZodOptional<z.ZodNumber>;
96
+ originLngLat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
97
+ resolvedAt: z.ZodOptional<z.ZodString>;
98
+ layer: z.ZodOptional<z.ZodString>;
99
+ notes: z.ZodOptional<z.ZodArray<z.ZodString>>;
100
+ }, z.core.$strip>>;
101
+ setbacks: z.ZodOptional<z.ZodObject<{
102
+ front: z.ZodNumber;
103
+ side: z.ZodNumber;
104
+ rear: z.ZodNumber;
105
+ left: z.ZodOptional<z.ZodNumber>;
106
+ right: z.ZodOptional<z.ZodNumber>;
107
+ streetSide: z.ZodOptional<z.ZodNumber>;
108
+ }, z.core.$strip>>;
109
+ setbacksSource: z.ZodOptional<z.ZodString>;
110
+ zone: z.ZodOptional<z.ZodString>;
111
+ frontEdge: z.ZodOptional<z.ZodNumber>;
112
+ streetEdges: z.ZodOptional<z.ZodArray<z.ZodNumber>>;
113
+ sightTriangleFt: z.ZodOptional<z.ZodNumber>;
114
+ northRotation: z.ZodOptional<z.ZodNumber>;
115
+ dossier: z.ZodOptional<z.ZodObject<{
116
+ provider: z.ZodString;
117
+ asOf: z.ZodString;
118
+ point: z.ZodOptional<z.ZodObject<{
119
+ lat: z.ZodOptional<z.ZodNumber>;
120
+ lng: z.ZodOptional<z.ZodNumber>;
121
+ source: z.ZodOptional<z.ZodString>;
122
+ }, z.core.$strip>>;
123
+ address: z.ZodOptional<z.ZodObject<{
124
+ formatted: z.ZodOptional<z.ZodString>;
125
+ precision: z.ZodOptional<z.ZodString>;
126
+ }, z.core.$strip>>;
127
+ sections: z.ZodRecord<z.ZodString, z.ZodObject<{
128
+ status: z.ZodString;
129
+ summary: z.ZodOptional<z.ZodString>;
130
+ reason: z.ZodOptional<z.ZodString>;
131
+ source: z.ZodOptional<z.ZodObject<{
132
+ name: z.ZodOptional<z.ZodString>;
133
+ kind: z.ZodOptional<z.ZodString>;
134
+ vintage: z.ZodOptional<z.ZodString>;
135
+ attribution: z.ZodOptional<z.ZodString>;
136
+ }, z.core.$strip>>;
137
+ }, z.core.$loose>>;
138
+ parcel: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
139
+ flood: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
140
+ codeBasis: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
141
+ zoning: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
142
+ utilities: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
143
+ soils: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
144
+ wetlands: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
145
+ structures: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
146
+ elevation: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
147
+ boundaries: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
148
+ }, z.core.$loose>>;
149
+ contourIntervalIn: z.ZodOptional<z.ZodNumber>;
150
+ contours3d: z.ZodOptional<z.ZodBoolean>;
151
+ terrainContours: z.ZodOptional<z.ZodObject<{
152
+ datum: z.ZodString;
153
+ intervalFt: z.ZodNumber;
154
+ source: z.ZodOptional<z.ZodString>;
155
+ lines: z.ZodArray<z.ZodObject<{
156
+ elevationFt: z.ZodNumber;
157
+ points: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
158
+ }, z.core.$strip>>;
159
+ }, z.core.$strip>>;
58
160
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
59
161
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
60
162
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -72,6 +174,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
72
174
  zoom: z.ZodOptional<z.ZodNumber>;
73
175
  }, z.core.$strip>>;
74
176
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
177
+ provenance: z.ZodOptional<z.ZodObject<{
178
+ refs: z.ZodArray<z.ZodObject<{
179
+ ns: z.ZodOptional<z.ZodString>;
180
+ id: z.ZodString;
181
+ role: z.ZodOptional<z.ZodEnum<{
182
+ primary: "primary";
183
+ piece: "piece";
184
+ absorbed: "absorbed";
185
+ alias: "alias";
186
+ derived: "derived";
187
+ }>>;
188
+ }, z.core.$strip>>;
189
+ lineage: z.ZodOptional<z.ZodObject<{
190
+ op: z.ZodEnum<{
191
+ import: "import";
192
+ split: "split";
193
+ merge: "merge";
194
+ duplicate: "duplicate";
195
+ convert: "convert";
196
+ promote: "promote";
197
+ "make-independent": "make-independent";
198
+ attach: "attach";
199
+ }>;
200
+ fromIds: z.ZodArray<z.ZodString>;
201
+ }, z.core.$strip>>;
202
+ }, z.core.$strip>>;
75
203
  id: z.ZodDefault<z.ZodTemplateLiteral<`building_${string}`>>;
76
204
  type: z.ZodDefault<z.ZodLiteral<"building">>;
77
205
  children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`level_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`elevator_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`unit_${string}`>>]>>>;
@@ -93,6 +221,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
93
221
  zoom: z.ZodOptional<z.ZodNumber>;
94
222
  }, z.core.$strip>>;
95
223
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
224
+ provenance: z.ZodOptional<z.ZodObject<{
225
+ refs: z.ZodArray<z.ZodObject<{
226
+ ns: z.ZodOptional<z.ZodString>;
227
+ id: z.ZodString;
228
+ role: z.ZodOptional<z.ZodEnum<{
229
+ primary: "primary";
230
+ piece: "piece";
231
+ absorbed: "absorbed";
232
+ alias: "alias";
233
+ derived: "derived";
234
+ }>>;
235
+ }, z.core.$strip>>;
236
+ lineage: z.ZodOptional<z.ZodObject<{
237
+ op: z.ZodEnum<{
238
+ import: "import";
239
+ split: "split";
240
+ merge: "merge";
241
+ duplicate: "duplicate";
242
+ convert: "convert";
243
+ promote: "promote";
244
+ "make-independent": "make-independent";
245
+ attach: "attach";
246
+ }>;
247
+ fromIds: z.ZodArray<z.ZodString>;
248
+ }, z.core.$strip>>;
249
+ }, z.core.$strip>>;
96
250
  id: z.ZodDefault<z.ZodTemplateLiteral<`elevator_${string}`>>;
97
251
  type: z.ZodDefault<z.ZodLiteral<"elevator">>;
98
252
  material: z.ZodOptional<z.ZodObject<{
@@ -176,6 +330,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
176
330
  fov: z.ZodOptional<z.ZodNumber>;
177
331
  zoom: z.ZodOptional<z.ZodNumber>;
178
332
  }, z.core.$strip>>;
333
+ provenance: z.ZodOptional<z.ZodObject<{
334
+ refs: z.ZodArray<z.ZodObject<{
335
+ ns: z.ZodOptional<z.ZodString>;
336
+ id: z.ZodString;
337
+ role: z.ZodOptional<z.ZodEnum<{
338
+ primary: "primary";
339
+ piece: "piece";
340
+ absorbed: "absorbed";
341
+ alias: "alias";
342
+ derived: "derived";
343
+ }>>;
344
+ }, z.core.$strip>>;
345
+ lineage: z.ZodOptional<z.ZodObject<{
346
+ op: z.ZodEnum<{
347
+ import: "import";
348
+ split: "split";
349
+ merge: "merge";
350
+ duplicate: "duplicate";
351
+ convert: "convert";
352
+ promote: "promote";
353
+ "make-independent": "make-independent";
354
+ attach: "attach";
355
+ }>;
356
+ fromIds: z.ZodArray<z.ZodString>;
357
+ }, z.core.$strip>>;
358
+ }, z.core.$strip>>;
179
359
  id: z.ZodDefault<z.ZodTemplateLiteral<`unit_${string}`>>;
180
360
  type: z.ZodDefault<z.ZodLiteral<"unit">>;
181
361
  name: z.ZodDefault<z.ZodString>;
@@ -204,9 +384,35 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
204
384
  zoom: z.ZodOptional<z.ZodNumber>;
205
385
  }, z.core.$strip>>;
206
386
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
387
+ provenance: z.ZodOptional<z.ZodObject<{
388
+ refs: z.ZodArray<z.ZodObject<{
389
+ ns: z.ZodOptional<z.ZodString>;
390
+ id: z.ZodString;
391
+ role: z.ZodOptional<z.ZodEnum<{
392
+ primary: "primary";
393
+ piece: "piece";
394
+ absorbed: "absorbed";
395
+ alias: "alias";
396
+ derived: "derived";
397
+ }>>;
398
+ }, z.core.$strip>>;
399
+ lineage: z.ZodOptional<z.ZodObject<{
400
+ op: z.ZodEnum<{
401
+ import: "import";
402
+ split: "split";
403
+ merge: "merge";
404
+ duplicate: "duplicate";
405
+ convert: "convert";
406
+ promote: "promote";
407
+ "make-independent": "make-independent";
408
+ attach: "attach";
409
+ }>;
410
+ fromIds: z.ZodArray<z.ZodString>;
411
+ }, z.core.$strip>>;
412
+ }, z.core.$strip>>;
207
413
  id: z.ZodDefault<z.ZodTemplateLiteral<`level_${string}`>>;
208
414
  type: z.ZodDefault<z.ZodLiteral<"level">>;
209
- children: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`block_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `wall_${string}` | `roof_${string}` | `slab_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${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>>>>;
415
+ children: z.ZodDefault<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<`block_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `wall_${string}` | `roof_${string}` | `slab_${string}` | `separator_${string}` | `floor-opening_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${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>>>>;
210
416
  level: z.ZodDefault<z.ZodNumber>;
211
417
  baseElevation: z.ZodDefault<z.ZodNumber>;
212
418
  height: z.ZodOptional<z.ZodNumber>;
@@ -226,6 +432,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
226
432
  zoom: z.ZodOptional<z.ZodNumber>;
227
433
  }, z.core.$strip>>;
228
434
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
435
+ provenance: z.ZodOptional<z.ZodObject<{
436
+ refs: z.ZodArray<z.ZodObject<{
437
+ ns: z.ZodOptional<z.ZodString>;
438
+ id: z.ZodString;
439
+ role: z.ZodOptional<z.ZodEnum<{
440
+ primary: "primary";
441
+ piece: "piece";
442
+ absorbed: "absorbed";
443
+ alias: "alias";
444
+ derived: "derived";
445
+ }>>;
446
+ }, z.core.$strip>>;
447
+ lineage: z.ZodOptional<z.ZodObject<{
448
+ op: z.ZodEnum<{
449
+ import: "import";
450
+ split: "split";
451
+ merge: "merge";
452
+ duplicate: "duplicate";
453
+ convert: "convert";
454
+ promote: "promote";
455
+ "make-independent": "make-independent";
456
+ attach: "attach";
457
+ }>;
458
+ fromIds: z.ZodArray<z.ZodString>;
459
+ }, z.core.$strip>>;
460
+ }, z.core.$strip>>;
229
461
  id: z.ZodDefault<z.ZodTemplateLiteral<`leanto_${string}`>>;
230
462
  type: z.ZodDefault<z.ZodLiteral<"lean-to-extension">>;
231
463
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -376,12 +608,138 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
376
608
  zoom: z.ZodOptional<z.ZodNumber>;
377
609
  }, z.core.$strip>>;
378
610
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
611
+ provenance: z.ZodOptional<z.ZodObject<{
612
+ refs: z.ZodArray<z.ZodObject<{
613
+ ns: z.ZodOptional<z.ZodString>;
614
+ id: z.ZodString;
615
+ role: z.ZodOptional<z.ZodEnum<{
616
+ primary: "primary";
617
+ piece: "piece";
618
+ absorbed: "absorbed";
619
+ alias: "alias";
620
+ derived: "derived";
621
+ }>>;
622
+ }, z.core.$strip>>;
623
+ lineage: z.ZodOptional<z.ZodObject<{
624
+ op: z.ZodEnum<{
625
+ import: "import";
626
+ split: "split";
627
+ merge: "merge";
628
+ duplicate: "duplicate";
629
+ convert: "convert";
630
+ promote: "promote";
631
+ "make-independent": "make-independent";
632
+ attach: "attach";
633
+ }>;
634
+ fromIds: z.ZodArray<z.ZodString>;
635
+ }, z.core.$strip>>;
636
+ }, z.core.$strip>>;
379
637
  id: z.ZodDefault<z.ZodTemplateLiteral<`column_${string}`>>;
380
638
  type: z.ZodDefault<z.ZodLiteral<"column">>;
381
639
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
382
640
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
383
641
  rotation: z.ZodDefault<z.ZodNumber>;
384
642
  supportSlabId: z.ZodOptional<z.ZodString>;
643
+ source: z.ZodOptional<z.ZodObject<{
644
+ kind: z.ZodLiteral<"script">;
645
+ meta: z.ZodOptional<z.ZodObject<{
646
+ description: z.ZodOptional<z.ZodString>;
647
+ category: z.ZodOptional<z.ZodString>;
648
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
649
+ parent: z.ZodOptional<z.ZodString>;
650
+ }, z.core.$strip>>;
651
+ language: z.ZodDefault<z.ZodEnum<{
652
+ three: "three";
653
+ bpy: "bpy";
654
+ }>>;
655
+ script: z.ZodString;
656
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>>>;
657
+ artifact: z.ZodString;
658
+ manifest: z.ZodObject<{
659
+ bounds: z.ZodObject<{
660
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
661
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
662
+ }, z.core.$strip>;
663
+ params: z.ZodDefault<z.ZodArray<z.ZodObject<{
664
+ id: z.ZodString;
665
+ label: z.ZodOptional<z.ZodString>;
666
+ kind: z.ZodEnum<{
667
+ string: "string";
668
+ number: "number";
669
+ boolean: "boolean";
670
+ }>;
671
+ default: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
672
+ min: z.ZodOptional<z.ZodNumber>;
673
+ max: z.ZodOptional<z.ZodNumber>;
674
+ step: z.ZodOptional<z.ZodNumber>;
675
+ unit: z.ZodOptional<z.ZodString>;
676
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
677
+ }, z.core.$strip>>>;
678
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
679
+ id: z.ZodString;
680
+ label: z.ZodOptional<z.ZodString>;
681
+ type: z.ZodOptional<z.ZodString>;
682
+ bounds: z.ZodOptional<z.ZodObject<{
683
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
684
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
685
+ }, z.core.$strip>>;
686
+ }, z.core.$strip>>>;
687
+ surfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
688
+ part: z.ZodOptional<z.ZodString>;
689
+ y: z.ZodNumber;
690
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
691
+ }, z.core.$strip>>>;
692
+ slots: z.ZodDefault<z.ZodArray<z.ZodObject<{
693
+ id: z.ZodString;
694
+ label: z.ZodOptional<z.ZodString>;
695
+ color: z.ZodOptional<z.ZodString>;
696
+ roughness: z.ZodOptional<z.ZodNumber>;
697
+ metalness: z.ZodOptional<z.ZodNumber>;
698
+ transparent: z.ZodOptional<z.ZodBoolean>;
699
+ emissive: z.ZodOptional<z.ZodBoolean>;
700
+ }, z.core.$strip>>>;
701
+ anchors: z.ZodDefault<z.ZodArray<z.ZodObject<{
702
+ id: z.ZodString;
703
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
704
+ normal: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
705
+ }, z.core.$strip>>>;
706
+ lights: z.ZodDefault<z.ZodArray<z.ZodObject<{
707
+ id: z.ZodString;
708
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
709
+ color: z.ZodString;
710
+ intensity: z.ZodNumber;
711
+ distance: z.ZodOptional<z.ZodNumber>;
712
+ }, z.core.$strip>>>;
713
+ undersides: z.ZodDefault<z.ZodArray<z.ZodObject<{
714
+ part: z.ZodOptional<z.ZodString>;
715
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
716
+ plane: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
717
+ }, z.core.$strip>>>;
718
+ animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
719
+ name: z.ZodString;
720
+ duration: z.ZodNumber;
721
+ }, z.core.$strip>>>;
722
+ cutters: z.ZodOptional<z.ZodArray<z.ZodObject<{
723
+ host: z.ZodEnum<{
724
+ wall: "wall";
725
+ slab: "slab";
726
+ ceiling: "ceiling";
727
+ mounted: "mounted";
728
+ }>;
729
+ polygon: z.ZodArray<z.ZodArray<z.ZodNumber>>;
730
+ minY: z.ZodNumber;
731
+ maxY: z.ZodNumber;
732
+ }, z.core.$strip>>>;
733
+ cutout: z.ZodDefault<z.ZodBoolean>;
734
+ collider: z.ZodDefault<z.ZodBoolean>;
735
+ triangles: z.ZodNumber;
736
+ }, z.core.$strip>;
737
+ images: z.ZodOptional<z.ZodObject<{
738
+ artifact: z.ZodString;
739
+ thumbnail: z.ZodString;
740
+ floorPlan: z.ZodString;
741
+ }, z.core.$strip>>;
742
+ }, z.core.$strip>>;
385
743
  style: z.ZodDefault<z.ZodEnum<{
386
744
  plain: "plain";
387
745
  faceted: "faceted";
@@ -581,6 +939,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
581
939
  zoom: z.ZodOptional<z.ZodNumber>;
582
940
  }, z.core.$strip>>;
583
941
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
942
+ provenance: z.ZodOptional<z.ZodObject<{
943
+ refs: z.ZodArray<z.ZodObject<{
944
+ ns: z.ZodOptional<z.ZodString>;
945
+ id: z.ZodString;
946
+ role: z.ZodOptional<z.ZodEnum<{
947
+ primary: "primary";
948
+ piece: "piece";
949
+ absorbed: "absorbed";
950
+ alias: "alias";
951
+ derived: "derived";
952
+ }>>;
953
+ }, z.core.$strip>>;
954
+ lineage: z.ZodOptional<z.ZodObject<{
955
+ op: z.ZodEnum<{
956
+ import: "import";
957
+ split: "split";
958
+ merge: "merge";
959
+ duplicate: "duplicate";
960
+ convert: "convert";
961
+ promote: "promote";
962
+ "make-independent": "make-independent";
963
+ attach: "attach";
964
+ }>;
965
+ fromIds: z.ZodArray<z.ZodString>;
966
+ }, z.core.$strip>>;
967
+ }, z.core.$strip>>;
584
968
  id: z.ZodDefault<z.ZodTemplateLiteral<`construction-dimension_${string}`>>;
585
969
  type: z.ZodDefault<z.ZodLiteral<"construction-dimension">>;
586
970
  anchors: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>, z.ZodObject<{
@@ -683,6 +1067,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
683
1067
  zoom: z.ZodOptional<z.ZodNumber>;
684
1068
  }, z.core.$strip>>;
685
1069
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1070
+ provenance: z.ZodOptional<z.ZodObject<{
1071
+ refs: z.ZodArray<z.ZodObject<{
1072
+ ns: z.ZodOptional<z.ZodString>;
1073
+ id: z.ZodString;
1074
+ role: z.ZodOptional<z.ZodEnum<{
1075
+ primary: "primary";
1076
+ piece: "piece";
1077
+ absorbed: "absorbed";
1078
+ alias: "alias";
1079
+ derived: "derived";
1080
+ }>>;
1081
+ }, z.core.$strip>>;
1082
+ lineage: z.ZodOptional<z.ZodObject<{
1083
+ op: z.ZodEnum<{
1084
+ import: "import";
1085
+ split: "split";
1086
+ merge: "merge";
1087
+ duplicate: "duplicate";
1088
+ convert: "convert";
1089
+ promote: "promote";
1090
+ "make-independent": "make-independent";
1091
+ attach: "attach";
1092
+ }>;
1093
+ fromIds: z.ZodArray<z.ZodString>;
1094
+ }, z.core.$strip>>;
1095
+ }, z.core.$strip>>;
686
1096
  id: z.ZodDefault<z.ZodTemplateLiteral<`block_${string}`>>;
687
1097
  type: z.ZodDefault<z.ZodLiteral<"block">>;
688
1098
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -722,6 +1132,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
722
1132
  zoom: z.ZodOptional<z.ZodNumber>;
723
1133
  }, z.core.$strip>>;
724
1134
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1135
+ provenance: z.ZodOptional<z.ZodObject<{
1136
+ refs: z.ZodArray<z.ZodObject<{
1137
+ ns: z.ZodOptional<z.ZodString>;
1138
+ id: z.ZodString;
1139
+ role: z.ZodOptional<z.ZodEnum<{
1140
+ primary: "primary";
1141
+ piece: "piece";
1142
+ absorbed: "absorbed";
1143
+ alias: "alias";
1144
+ derived: "derived";
1145
+ }>>;
1146
+ }, z.core.$strip>>;
1147
+ lineage: z.ZodOptional<z.ZodObject<{
1148
+ op: z.ZodEnum<{
1149
+ import: "import";
1150
+ split: "split";
1151
+ merge: "merge";
1152
+ duplicate: "duplicate";
1153
+ convert: "convert";
1154
+ promote: "promote";
1155
+ "make-independent": "make-independent";
1156
+ attach: "attach";
1157
+ }>;
1158
+ fromIds: z.ZodArray<z.ZodString>;
1159
+ }, z.core.$strip>>;
1160
+ }, z.core.$strip>>;
725
1161
  id: z.ZodDefault<z.ZodTemplateLiteral<`structural-grid_${string}`>>;
726
1162
  type: z.ZodDefault<z.ZodLiteral<"structural-grid">>;
727
1163
  start: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
@@ -745,6 +1181,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
745
1181
  zoom: z.ZodOptional<z.ZodNumber>;
746
1182
  }, z.core.$strip>>;
747
1183
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1184
+ provenance: z.ZodOptional<z.ZodObject<{
1185
+ refs: z.ZodArray<z.ZodObject<{
1186
+ ns: z.ZodOptional<z.ZodString>;
1187
+ id: z.ZodString;
1188
+ role: z.ZodOptional<z.ZodEnum<{
1189
+ primary: "primary";
1190
+ piece: "piece";
1191
+ absorbed: "absorbed";
1192
+ alias: "alias";
1193
+ derived: "derived";
1194
+ }>>;
1195
+ }, z.core.$strip>>;
1196
+ lineage: z.ZodOptional<z.ZodObject<{
1197
+ op: z.ZodEnum<{
1198
+ import: "import";
1199
+ split: "split";
1200
+ merge: "merge";
1201
+ duplicate: "duplicate";
1202
+ convert: "convert";
1203
+ promote: "promote";
1204
+ "make-independent": "make-independent";
1205
+ attach: "attach";
1206
+ }>;
1207
+ fromIds: z.ZodArray<z.ZodString>;
1208
+ }, z.core.$strip>>;
1209
+ }, z.core.$strip>>;
748
1210
  id: z.ZodDefault<z.ZodTemplateLiteral<`wall_${string}`>>;
749
1211
  type: z.ZodDefault<z.ZodLiteral<"wall">>;
750
1212
  wallType: z.ZodOptional<z.ZodEnum<{
@@ -771,8 +1233,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
771
1233
  count: z.ZodDefault<z.ZodNumber>;
772
1234
  spacing: z.ZodDefault<z.ZodNumber>;
773
1235
  alignment: z.ZodDefault<z.ZodEnum<{
774
- start: "start";
775
1236
  center: "center";
1237
+ start: "start";
776
1238
  end: "end";
777
1239
  }>>;
778
1240
  }, z.core.$strip>>;
@@ -785,8 +1247,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
785
1247
  count: z.ZodDefault<z.ZodNumber>;
786
1248
  spacing: z.ZodDefault<z.ZodNumber>;
787
1249
  alignment: z.ZodDefault<z.ZodEnum<{
788
- start: "start";
789
1250
  center: "center";
1251
+ start: "start";
790
1252
  end: "end";
791
1253
  }>>;
792
1254
  }, z.core.$strip>>;
@@ -921,22 +1383,189 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
921
1383
  }, z.core.$strip>>;
922
1384
  exteriorMaterialPreset: z.ZodOptional<z.ZodString>;
923
1385
  slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1386
+ legacyFaceMaterials: z.ZodOptional<z.ZodObject<{
1387
+ a: z.ZodOptional<z.ZodObject<{
1388
+ material: z.ZodOptional<z.ZodObject<{
1389
+ id: z.ZodOptional<z.ZodString>;
1390
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1391
+ custom: "custom";
1392
+ white: "white";
1393
+ brick: "brick";
1394
+ concrete: "concrete";
1395
+ wood: "wood";
1396
+ glass: "glass";
1397
+ metal: "metal";
1398
+ plaster: "plaster";
1399
+ tile: "tile";
1400
+ marble: "marble";
1401
+ }>>>;
1402
+ properties: z.ZodOptional<z.ZodObject<{
1403
+ color: z.ZodDefault<z.ZodString>;
1404
+ roughness: z.ZodDefault<z.ZodNumber>;
1405
+ metalness: z.ZodDefault<z.ZodNumber>;
1406
+ opacity: z.ZodDefault<z.ZodNumber>;
1407
+ transparent: z.ZodDefault<z.ZodBoolean>;
1408
+ side: z.ZodDefault<z.ZodEnum<{
1409
+ front: "front";
1410
+ back: "back";
1411
+ double: "double";
1412
+ }>>;
1413
+ }, z.core.$strip>>;
1414
+ texture: z.ZodOptional<z.ZodObject<{
1415
+ url: z.ZodString;
1416
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1417
+ scale: z.ZodOptional<z.ZodNumber>;
1418
+ }, z.core.$strip>>;
1419
+ }, z.core.$strip>>;
1420
+ materialPreset: z.ZodOptional<z.ZodString>;
1421
+ }, z.core.$strip>>;
1422
+ b: z.ZodOptional<z.ZodObject<{
1423
+ material: z.ZodOptional<z.ZodObject<{
1424
+ id: z.ZodOptional<z.ZodString>;
1425
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
1426
+ custom: "custom";
1427
+ white: "white";
1428
+ brick: "brick";
1429
+ concrete: "concrete";
1430
+ wood: "wood";
1431
+ glass: "glass";
1432
+ metal: "metal";
1433
+ plaster: "plaster";
1434
+ tile: "tile";
1435
+ marble: "marble";
1436
+ }>>>;
1437
+ properties: z.ZodOptional<z.ZodObject<{
1438
+ color: z.ZodDefault<z.ZodString>;
1439
+ roughness: z.ZodDefault<z.ZodNumber>;
1440
+ metalness: z.ZodDefault<z.ZodNumber>;
1441
+ opacity: z.ZodDefault<z.ZodNumber>;
1442
+ transparent: z.ZodDefault<z.ZodBoolean>;
1443
+ side: z.ZodDefault<z.ZodEnum<{
1444
+ front: "front";
1445
+ back: "back";
1446
+ double: "double";
1447
+ }>>;
1448
+ }, z.core.$strip>>;
1449
+ texture: z.ZodOptional<z.ZodObject<{
1450
+ url: z.ZodString;
1451
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1452
+ scale: z.ZodOptional<z.ZodNumber>;
1453
+ }, z.core.$strip>>;
1454
+ }, z.core.$strip>>;
1455
+ materialPreset: z.ZodOptional<z.ZodString>;
1456
+ }, z.core.$strip>>;
1457
+ }, z.core.$strip>>;
1458
+ faceRegions: z.ZodOptional<z.ZodArray<z.ZodObject<{
1459
+ id: z.ZodString;
1460
+ face: z.ZodEnum<{
1461
+ a: "a";
1462
+ b: "b";
1463
+ }>;
1464
+ u0: z.ZodOptional<z.ZodNumber>;
1465
+ u1: z.ZodOptional<z.ZodNumber>;
1466
+ v0: z.ZodOptional<z.ZodNumber>;
1467
+ v1: z.ZodOptional<z.ZodNumber>;
1468
+ finish: z.ZodString;
1469
+ }, z.core.$strip>>>;
924
1470
  thickness: z.ZodOptional<z.ZodNumber>;
1471
+ assembly: z.ZodOptional<z.ZodObject<{
1472
+ layers: z.ZodArray<z.ZodObject<{
1473
+ id: z.ZodString;
1474
+ role: z.ZodEnum<{
1475
+ fill: "fill";
1476
+ shell: "shell";
1477
+ finish: "finish";
1478
+ lining: "lining";
1479
+ substrate: "substrate";
1480
+ sheathing: "sheathing";
1481
+ membrane: "membrane";
1482
+ underlay: "underlay";
1483
+ insulation: "insulation";
1484
+ air: "air";
1485
+ furring: "furring";
1486
+ structure: "structure";
1487
+ deck: "deck";
1488
+ covering: "covering";
1489
+ glazing: "glazing";
1490
+ }>;
1491
+ thickness: z.ZodNumber;
1492
+ core: z.ZodOptional<z.ZodLiteral<true>>;
1493
+ material: z.ZodOptional<z.ZodString>;
1494
+ slot: z.ZodOptional<z.ZodString>;
1495
+ returns: z.ZodOptional<z.ZodBoolean>;
1496
+ display: z.ZodOptional<z.ZodEnum<{
1497
+ construction: "construction";
1498
+ finished: "finished";
1499
+ }>>;
1500
+ inset: z.ZodOptional<z.ZodNumber>;
1501
+ bottom: z.ZodOptional<z.ZodNumber>;
1502
+ lift: z.ZodOptional<z.ZodNumber>;
1503
+ src: z.ZodOptional<z.ZodString>;
1504
+ }, z.core.$strip>>;
1505
+ backing: z.ZodOptional<z.ZodArray<z.ZodObject<{
1506
+ id: z.ZodString;
1507
+ role: z.ZodEnum<{
1508
+ fill: "fill";
1509
+ shell: "shell";
1510
+ finish: "finish";
1511
+ lining: "lining";
1512
+ substrate: "substrate";
1513
+ sheathing: "sheathing";
1514
+ membrane: "membrane";
1515
+ underlay: "underlay";
1516
+ insulation: "insulation";
1517
+ air: "air";
1518
+ furring: "furring";
1519
+ structure: "structure";
1520
+ deck: "deck";
1521
+ covering: "covering";
1522
+ glazing: "glazing";
1523
+ }>;
1524
+ thickness: z.ZodNumber;
1525
+ core: z.ZodOptional<z.ZodLiteral<true>>;
1526
+ material: z.ZodOptional<z.ZodString>;
1527
+ slot: z.ZodOptional<z.ZodString>;
1528
+ returns: z.ZodOptional<z.ZodBoolean>;
1529
+ display: z.ZodOptional<z.ZodEnum<{
1530
+ construction: "construction";
1531
+ finished: "finished";
1532
+ }>>;
1533
+ inset: z.ZodOptional<z.ZodNumber>;
1534
+ bottom: z.ZodOptional<z.ZodNumber>;
1535
+ lift: z.ZodOptional<z.ZodNumber>;
1536
+ src: z.ZodOptional<z.ZodString>;
1537
+ }, z.core.$strip>>>;
1538
+ face: z.ZodOptional<z.ZodEnum<{
1539
+ front: "front";
1540
+ exterior: "exterior";
1541
+ }>>;
1542
+ presetId: z.ZodOptional<z.ZodString>;
1543
+ cavityInsulation: z.ZodOptional<z.ZodString>;
1544
+ }, z.core.$strip>>;
1545
+ justification: z.ZodOptional<z.ZodEnum<{
1546
+ a: "a";
1547
+ b: "b";
1548
+ }>>;
925
1549
  height: z.ZodOptional<z.ZodNumber>;
926
1550
  curveOffset: z.ZodOptional<z.ZodNumber>;
927
1551
  supportSlabId: z.ZodOptional<z.ZodString>;
928
1552
  supportOffset: z.ZodOptional<z.ZodNumber>;
929
1553
  fillToTerrain: z.ZodOptional<z.ZodBoolean>;
930
- faceBands: z.ZodOptional<z.ZodPreprocess<z.ZodObject<{
931
- enabled: z.ZodDefault<z.ZodBoolean>;
932
- count: z.ZodDefault<z.ZodNumber>;
933
- lowerHeight: z.ZodDefault<z.ZodNumber>;
934
- middleHeight: z.ZodDefault<z.ZodNumber>;
935
- upperHeight: z.ZodDefault<z.ZodNumber>;
936
- }, z.core.$strip>, unknown>>;
1554
+ underpinning: z.ZodOptional<z.ZodObject<{
1555
+ rim: z.ZodNumber;
1556
+ stem: z.ZodNumber;
1557
+ openings: z.ZodOptional<z.ZodArray<z.ZodObject<{
1558
+ u: z.ZodNumber;
1559
+ width: z.ZodNumber;
1560
+ top: z.ZodNumber;
1561
+ bottom: z.ZodNumber;
1562
+ }, z.core.$strip>>>;
1563
+ }, z.core.$strip>>;
937
1564
  skirting: z.ZodOptional<z.ZodObject<{
938
1565
  enabled: z.ZodDefault<z.ZodBoolean>;
939
1566
  sides: z.ZodDefault<z.ZodEnum<{
1567
+ a: "a";
1568
+ b: "b";
940
1569
  interior: "interior";
941
1570
  exterior: "exterior";
942
1571
  both: "both";
@@ -967,6 +1596,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
967
1596
  crown: z.ZodOptional<z.ZodObject<{
968
1597
  enabled: z.ZodDefault<z.ZodBoolean>;
969
1598
  sides: z.ZodDefault<z.ZodEnum<{
1599
+ a: "a";
1600
+ b: "b";
970
1601
  interior: "interior";
971
1602
  exterior: "exterior";
972
1603
  both: "both";
@@ -997,6 +1628,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
997
1628
  chairRail: z.ZodOptional<z.ZodObject<{
998
1629
  enabled: z.ZodDefault<z.ZodBoolean>;
999
1630
  sides: z.ZodDefault<z.ZodEnum<{
1631
+ a: "a";
1632
+ b: "b";
1000
1633
  interior: "interior";
1001
1634
  exterior: "exterior";
1002
1635
  both: "both";
@@ -1052,8 +1685,138 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1052
1685
  zoom: z.ZodOptional<z.ZodNumber>;
1053
1686
  }, z.core.$strip>>;
1054
1687
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1688
+ provenance: z.ZodOptional<z.ZodObject<{
1689
+ refs: z.ZodArray<z.ZodObject<{
1690
+ ns: z.ZodOptional<z.ZodString>;
1691
+ id: z.ZodString;
1692
+ role: z.ZodOptional<z.ZodEnum<{
1693
+ primary: "primary";
1694
+ piece: "piece";
1695
+ absorbed: "absorbed";
1696
+ alias: "alias";
1697
+ derived: "derived";
1698
+ }>>;
1699
+ }, z.core.$strip>>;
1700
+ lineage: z.ZodOptional<z.ZodObject<{
1701
+ op: z.ZodEnum<{
1702
+ import: "import";
1703
+ split: "split";
1704
+ merge: "merge";
1705
+ duplicate: "duplicate";
1706
+ convert: "convert";
1707
+ promote: "promote";
1708
+ "make-independent": "make-independent";
1709
+ attach: "attach";
1710
+ }>;
1711
+ fromIds: z.ZodArray<z.ZodString>;
1712
+ }, z.core.$strip>>;
1713
+ }, z.core.$strip>>;
1714
+ id: z.ZodDefault<z.ZodTemplateLiteral<`separator_${string}`>>;
1715
+ type: z.ZodDefault<z.ZodLiteral<"separator">>;
1716
+ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1717
+ end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1718
+ }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
1719
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
1720
+ name: z.ZodOptional<z.ZodString>;
1721
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1722
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1723
+ camera: z.ZodOptional<z.ZodObject<{
1724
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1725
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1726
+ mode: z.ZodDefault<z.ZodEnum<{
1727
+ perspective: "perspective";
1728
+ orthographic: "orthographic";
1729
+ }>>;
1730
+ fov: z.ZodOptional<z.ZodNumber>;
1731
+ zoom: z.ZodOptional<z.ZodNumber>;
1732
+ }, z.core.$strip>>;
1733
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1734
+ provenance: z.ZodOptional<z.ZodObject<{
1735
+ refs: z.ZodArray<z.ZodObject<{
1736
+ ns: z.ZodOptional<z.ZodString>;
1737
+ id: z.ZodString;
1738
+ role: z.ZodOptional<z.ZodEnum<{
1739
+ primary: "primary";
1740
+ piece: "piece";
1741
+ absorbed: "absorbed";
1742
+ alias: "alias";
1743
+ derived: "derived";
1744
+ }>>;
1745
+ }, z.core.$strip>>;
1746
+ lineage: z.ZodOptional<z.ZodObject<{
1747
+ op: z.ZodEnum<{
1748
+ import: "import";
1749
+ split: "split";
1750
+ merge: "merge";
1751
+ duplicate: "duplicate";
1752
+ convert: "convert";
1753
+ promote: "promote";
1754
+ "make-independent": "make-independent";
1755
+ attach: "attach";
1756
+ }>;
1757
+ fromIds: z.ZodArray<z.ZodString>;
1758
+ }, z.core.$strip>>;
1759
+ }, z.core.$strip>>;
1760
+ id: z.ZodDefault<z.ZodTemplateLiteral<`floor-opening_${string}`>>;
1761
+ type: z.ZodDefault<z.ZodLiteral<"floor-opening">>;
1762
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
1763
+ hostZoneId: z.ZodOptional<z.ZodString>;
1764
+ legacyPlateCuts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>>;
1765
+ legacyCeilingCuts: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>>;
1766
+ source: z.ZodDefault<z.ZodString>;
1767
+ ownerId: z.ZodOptional<z.ZodString>;
1768
+ surfaceId: z.ZodOptional<z.ZodString>;
1769
+ drawnOn: z.ZodDefault<z.ZodEnum<{
1770
+ ceiling: "ceiling";
1771
+ floor: "floor";
1772
+ }>>;
1773
+ cutsPrimary: z.ZodDefault<z.ZodBoolean>;
1774
+ cutsAdjacent: z.ZodDefault<z.ZodBoolean>;
1775
+ }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
1776
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
1777
+ name: z.ZodOptional<z.ZodString>;
1778
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
1779
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1780
+ camera: z.ZodOptional<z.ZodObject<{
1781
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1782
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
1783
+ mode: z.ZodDefault<z.ZodEnum<{
1784
+ perspective: "perspective";
1785
+ orthographic: "orthographic";
1786
+ }>>;
1787
+ fov: z.ZodOptional<z.ZodNumber>;
1788
+ zoom: z.ZodOptional<z.ZodNumber>;
1789
+ }, z.core.$strip>>;
1790
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1791
+ provenance: z.ZodOptional<z.ZodObject<{
1792
+ refs: z.ZodArray<z.ZodObject<{
1793
+ ns: z.ZodOptional<z.ZodString>;
1794
+ id: z.ZodString;
1795
+ role: z.ZodOptional<z.ZodEnum<{
1796
+ primary: "primary";
1797
+ piece: "piece";
1798
+ absorbed: "absorbed";
1799
+ alias: "alias";
1800
+ derived: "derived";
1801
+ }>>;
1802
+ }, z.core.$strip>>;
1803
+ lineage: z.ZodOptional<z.ZodObject<{
1804
+ op: z.ZodEnum<{
1805
+ import: "import";
1806
+ split: "split";
1807
+ merge: "merge";
1808
+ duplicate: "duplicate";
1809
+ convert: "convert";
1810
+ promote: "promote";
1811
+ "make-independent": "make-independent";
1812
+ attach: "attach";
1813
+ }>;
1814
+ fromIds: z.ZodArray<z.ZodString>;
1815
+ }, z.core.$strip>>;
1816
+ }, z.core.$strip>>;
1055
1817
  id: z.ZodDefault<z.ZodTemplateLiteral<`fence_${string}`>>;
1056
1818
  type: z.ZodDefault<z.ZodLiteral<"fence">>;
1819
+ children: z.ZodDefault<z.ZodArray<z.ZodString>>;
1057
1820
  material: z.ZodOptional<z.ZodObject<{
1058
1821
  id: z.ZodOptional<z.ZodString>;
1059
1822
  preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
@@ -1091,14 +1854,65 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1091
1854
  start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1092
1855
  end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
1093
1856
  path: z.ZodOptional<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>;
1857
+ spanModes: z.ZodOptional<z.ZodArray<z.ZodEnum<{
1858
+ straight: "straight";
1859
+ curve: "curve";
1860
+ }>>>;
1094
1861
  tangents: z.ZodOptional<z.ZodArray<z.ZodNullable<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
1095
1862
  height: z.ZodDefault<z.ZodNumber>;
1096
1863
  thickness: z.ZodDefault<z.ZodNumber>;
1097
1864
  supportSlabId: z.ZodOptional<z.ZodString>;
1865
+ supportSurfaceNodeId: z.ZodOptional<z.ZodString>;
1098
1866
  supportOffset: z.ZodOptional<z.ZodNumber>;
1867
+ surfaceMode: z.ZodDefault<z.ZodEnum<{
1868
+ auto: "auto";
1869
+ level: "level";
1870
+ selected: "selected";
1871
+ }>>;
1872
+ transitionMode: z.ZodDefault<z.ZodEnum<{
1873
+ step: "step";
1874
+ slope: "slope";
1875
+ break: "break";
1876
+ }>>;
1877
+ transitionWidth: z.ZodDefault<z.ZodNumber>;
1099
1878
  curveOffset: z.ZodOptional<z.ZodNumber>;
1100
1879
  baseHeight: z.ZodDefault<z.ZodNumber>;
1101
1880
  postSpacing: z.ZodDefault<z.ZodNumber>;
1881
+ picketSpacing: z.ZodDefault<z.ZodNumber>;
1882
+ patternDistribution: z.ZodDefault<z.ZodEnum<{
1883
+ "maximum-spacing": "maximum-spacing";
1884
+ "fixed-spacing": "fixed-spacing";
1885
+ automatic: "automatic";
1886
+ "fixed-count": "fixed-count";
1887
+ "equal-fit": "equal-fit";
1888
+ }>>;
1889
+ patternAlignment: z.ZodDefault<z.ZodEnum<{
1890
+ center: "center";
1891
+ start: "start";
1892
+ end: "end";
1893
+ }>>;
1894
+ patternCount: z.ZodDefault<z.ZodNumber>;
1895
+ patternRemainder: z.ZodDefault<z.ZodEnum<{
1896
+ leave: "leave";
1897
+ spread: "spread";
1898
+ }>>;
1899
+ picketWidth: z.ZodDefault<z.ZodNumber>;
1900
+ picketTop: z.ZodDefault<z.ZodEnum<{
1901
+ flat: "flat";
1902
+ rounded: "rounded";
1903
+ pointed: "pointed";
1904
+ "dog-ear": "dog-ear";
1905
+ }>>;
1906
+ picketProfile: z.ZodDefault<z.ZodEnum<{
1907
+ arched: "arched";
1908
+ level: "level";
1909
+ scalloped: "scalloped";
1910
+ alternating: "alternating";
1911
+ }>>;
1912
+ picketTopClearance: z.ZodDefault<z.ZodNumber>;
1913
+ picketVariation: z.ZodDefault<z.ZodNumber>;
1914
+ picketRailProjection: z.ZodDefault<z.ZodNumber>;
1915
+ picketRailCount: z.ZodDefault<z.ZodNumber>;
1102
1916
  postSize: z.ZodDefault<z.ZodNumber>;
1103
1917
  topRailHeight: z.ZodDefault<z.ZodNumber>;
1104
1918
  groundClearance: z.ZodDefault<z.ZodNumber>;
@@ -1112,14 +1926,30 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1112
1926
  baseStyle: z.ZodDefault<z.ZodEnum<{
1113
1927
  floating: "floating";
1114
1928
  grounded: "grounded";
1929
+ raised: "raised";
1115
1930
  }>>;
1116
1931
  showInfill: z.ZodDefault<z.ZodBoolean>;
1932
+ guardInfill: z.ZodOptional<z.ZodEnum<{
1933
+ balusters: "balusters";
1934
+ cable: "cable";
1935
+ boards: "boards";
1936
+ }>>;
1937
+ startPost: z.ZodOptional<z.ZodBoolean>;
1938
+ endPost: z.ZodOptional<z.ZodBoolean>;
1939
+ postThrough: z.ZodOptional<z.ZodBoolean>;
1940
+ infillPlacement: z.ZodDefault<z.ZodEnum<{
1941
+ center: "center";
1942
+ front: "front";
1943
+ back: "back";
1944
+ }>>;
1117
1945
  color: z.ZodDefault<z.ZodString>;
1118
1946
  style: z.ZodDefault<z.ZodEnum<{
1119
1947
  slat: "slat";
1120
1948
  rail: "rail";
1121
1949
  privacy: "privacy";
1122
1950
  horizontal: "horizontal";
1951
+ guard: "guard";
1952
+ picket: "picket";
1123
1953
  }>>;
1124
1954
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
1125
1955
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -1137,6 +1967,166 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1137
1967
  zoom: z.ZodOptional<z.ZodNumber>;
1138
1968
  }, z.core.$strip>>;
1139
1969
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
1970
+ provenance: z.ZodOptional<z.ZodObject<{
1971
+ refs: z.ZodArray<z.ZodObject<{
1972
+ ns: z.ZodOptional<z.ZodString>;
1973
+ id: z.ZodString;
1974
+ role: z.ZodOptional<z.ZodEnum<{
1975
+ primary: "primary";
1976
+ piece: "piece";
1977
+ absorbed: "absorbed";
1978
+ alias: "alias";
1979
+ derived: "derived";
1980
+ }>>;
1981
+ }, z.core.$strip>>;
1982
+ lineage: z.ZodOptional<z.ZodObject<{
1983
+ op: z.ZodEnum<{
1984
+ import: "import";
1985
+ split: "split";
1986
+ merge: "merge";
1987
+ duplicate: "duplicate";
1988
+ convert: "convert";
1989
+ promote: "promote";
1990
+ "make-independent": "make-independent";
1991
+ attach: "attach";
1992
+ }>;
1993
+ fromIds: z.ZodArray<z.ZodString>;
1994
+ }, z.core.$strip>>;
1995
+ }, z.core.$strip>>;
1996
+ id: z.ZodDefault<z.ZodTemplateLiteral<`fence-gate_${string}`>>;
1997
+ type: z.ZodDefault<z.ZodLiteral<"fence-gate">>;
1998
+ center: z.ZodDefault<z.ZodNumber>;
1999
+ width: z.ZodDefault<z.ZodNumber>;
2000
+ height: z.ZodOptional<z.ZodNumber>;
2001
+ style: z.ZodOptional<z.ZodEnum<{
2002
+ match: "match";
2003
+ slat: "slat";
2004
+ rail: "rail";
2005
+ privacy: "privacy";
2006
+ horizontal: "horizontal";
2007
+ guard: "guard";
2008
+ picket: "picket";
2009
+ }>>;
2010
+ spacing: z.ZodOptional<z.ZodNumber>;
2011
+ thickness: z.ZodOptional<z.ZodNumber>;
2012
+ hinge: z.ZodOptional<z.ZodEnum<{
2013
+ left: "left";
2014
+ right: "right";
2015
+ }>>;
2016
+ matchFenceStyle: z.ZodOptional<z.ZodBoolean>;
2017
+ matchFenceHeight: z.ZodOptional<z.ZodBoolean>;
2018
+ leafType: z.ZodOptional<z.ZodEnum<{
2019
+ double: "double";
2020
+ single: "single";
2021
+ }>>;
2022
+ clearance: z.ZodOptional<z.ZodNumber>;
2023
+ frameWidth: z.ZodOptional<z.ZodNumber>;
2024
+ boardWidth: z.ZodOptional<z.ZodNumber>;
2025
+ swing: z.ZodOptional<z.ZodEnum<{
2026
+ inward: "inward";
2027
+ outward: "outward";
2028
+ }>>;
2029
+ openAngle: z.ZodOptional<z.ZodNumber>;
2030
+ leafSplit: z.ZodOptional<z.ZodNumber>;
2031
+ brace: z.ZodOptional<z.ZodEnum<{
2032
+ none: "none";
2033
+ cross: "cross";
2034
+ diagonal: "diagonal";
2035
+ }>>;
2036
+ showHardware: z.ZodOptional<z.ZodBoolean>;
2037
+ showPosts: z.ZodOptional<z.ZodBoolean>;
2038
+ }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2039
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
2040
+ name: z.ZodOptional<z.ZodString>;
2041
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2042
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2043
+ camera: z.ZodOptional<z.ZodObject<{
2044
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2045
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2046
+ mode: z.ZodDefault<z.ZodEnum<{
2047
+ perspective: "perspective";
2048
+ orthographic: "orthographic";
2049
+ }>>;
2050
+ fov: z.ZodOptional<z.ZodNumber>;
2051
+ zoom: z.ZodOptional<z.ZodNumber>;
2052
+ }, z.core.$strip>>;
2053
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2054
+ provenance: z.ZodOptional<z.ZodObject<{
2055
+ refs: z.ZodArray<z.ZodObject<{
2056
+ ns: z.ZodOptional<z.ZodString>;
2057
+ id: z.ZodString;
2058
+ role: z.ZodOptional<z.ZodEnum<{
2059
+ primary: "primary";
2060
+ piece: "piece";
2061
+ absorbed: "absorbed";
2062
+ alias: "alias";
2063
+ derived: "derived";
2064
+ }>>;
2065
+ }, z.core.$strip>>;
2066
+ lineage: z.ZodOptional<z.ZodObject<{
2067
+ op: z.ZodEnum<{
2068
+ import: "import";
2069
+ split: "split";
2070
+ merge: "merge";
2071
+ duplicate: "duplicate";
2072
+ convert: "convert";
2073
+ promote: "promote";
2074
+ "make-independent": "make-independent";
2075
+ attach: "attach";
2076
+ }>;
2077
+ fromIds: z.ZodArray<z.ZodString>;
2078
+ }, z.core.$strip>>;
2079
+ }, z.core.$strip>>;
2080
+ center: z.ZodDefault<z.ZodNumber>;
2081
+ width: z.ZodDefault<z.ZodNumber>;
2082
+ matchFenceStyle: z.ZodOptional<z.ZodBoolean>;
2083
+ matchFenceHeight: z.ZodOptional<z.ZodBoolean>;
2084
+ height: z.ZodOptional<z.ZodNumber>;
2085
+ showPosts: z.ZodDefault<z.ZodBoolean>;
2086
+ id: z.ZodDefault<z.ZodTemplateLiteral<`fence-opening_${string}`>>;
2087
+ type: z.ZodDefault<z.ZodLiteral<"fence-opening">>;
2088
+ }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2089
+ object: z.ZodDefault<z.ZodLiteral<"node">>;
2090
+ name: z.ZodOptional<z.ZodString>;
2091
+ parentId: z.ZodDefault<z.ZodNullable<z.ZodString>>;
2092
+ visible: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
2093
+ camera: z.ZodOptional<z.ZodObject<{
2094
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2095
+ target: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2096
+ mode: z.ZodDefault<z.ZodEnum<{
2097
+ perspective: "perspective";
2098
+ orthographic: "orthographic";
2099
+ }>>;
2100
+ fov: z.ZodOptional<z.ZodNumber>;
2101
+ zoom: z.ZodOptional<z.ZodNumber>;
2102
+ }, z.core.$strip>>;
2103
+ metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2104
+ provenance: z.ZodOptional<z.ZodObject<{
2105
+ refs: z.ZodArray<z.ZodObject<{
2106
+ ns: z.ZodOptional<z.ZodString>;
2107
+ id: z.ZodString;
2108
+ role: z.ZodOptional<z.ZodEnum<{
2109
+ primary: "primary";
2110
+ piece: "piece";
2111
+ absorbed: "absorbed";
2112
+ alias: "alias";
2113
+ derived: "derived";
2114
+ }>>;
2115
+ }, z.core.$strip>>;
2116
+ lineage: z.ZodOptional<z.ZodObject<{
2117
+ op: z.ZodEnum<{
2118
+ import: "import";
2119
+ split: "split";
2120
+ merge: "merge";
2121
+ duplicate: "duplicate";
2122
+ convert: "convert";
2123
+ promote: "promote";
2124
+ "make-independent": "make-independent";
2125
+ attach: "attach";
2126
+ }>;
2127
+ fromIds: z.ZodArray<z.ZodString>;
2128
+ }, z.core.$strip>>;
2129
+ }, z.core.$strip>>;
1140
2130
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1141
2131
  rotation: z.ZodDefault<z.ZodNumber>;
1142
2132
  supportSlabId: z.ZodOptional<z.ZodString>;
@@ -1160,20 +2150,20 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1160
2150
  }>>;
1161
2151
  panelReady: z.ZodDefault<z.ZodBoolean>;
1162
2152
  handleStyle: z.ZodDefault<z.ZodEnum<{
2153
+ cutout: "cutout";
1163
2154
  none: "none";
1164
2155
  bar: "bar";
1165
- cutout: "cutout";
1166
2156
  hole: "hole";
1167
2157
  knob: "knob";
1168
2158
  }>>;
1169
2159
  handlePosition: z.ZodDefault<z.ZodEnum<{
1170
- top: "top";
1171
2160
  center: "center";
2161
+ top: "top";
1172
2162
  auto: "auto";
1173
2163
  }>>;
1174
2164
  frontOverlay: z.ZodDefault<z.ZodEnum<{
1175
- full: "full";
1176
2165
  inset: "inset";
2166
+ full: "full";
1177
2167
  }>>;
1178
2168
  withBottomPanel: z.ZodDefault<z.ZodBoolean>;
1179
2169
  showPlinth: z.ZodDefault<z.ZodBoolean>;
@@ -1325,9 +2315,9 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1325
2315
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
1326
2316
  barLedge: z.ZodOptional<z.ZodObject<{
1327
2317
  edge: z.ZodDefault<z.ZodEnum<{
1328
- back: "back";
1329
- right: "right";
1330
2318
  left: "left";
2319
+ right: "right";
2320
+ back: "back";
1331
2321
  }>>;
1332
2322
  height: z.ZodDefault<z.ZodNumber>;
1333
2323
  depth: z.ZodDefault<z.ZodNumber>;
@@ -1350,6 +2340,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1350
2340
  zoom: z.ZodOptional<z.ZodNumber>;
1351
2341
  }, z.core.$strip>>;
1352
2342
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2343
+ provenance: z.ZodOptional<z.ZodObject<{
2344
+ refs: z.ZodArray<z.ZodObject<{
2345
+ ns: z.ZodOptional<z.ZodString>;
2346
+ id: z.ZodString;
2347
+ role: z.ZodOptional<z.ZodEnum<{
2348
+ primary: "primary";
2349
+ piece: "piece";
2350
+ absorbed: "absorbed";
2351
+ alias: "alias";
2352
+ derived: "derived";
2353
+ }>>;
2354
+ }, z.core.$strip>>;
2355
+ lineage: z.ZodOptional<z.ZodObject<{
2356
+ op: z.ZodEnum<{
2357
+ import: "import";
2358
+ split: "split";
2359
+ merge: "merge";
2360
+ duplicate: "duplicate";
2361
+ convert: "convert";
2362
+ promote: "promote";
2363
+ "make-independent": "make-independent";
2364
+ attach: "attach";
2365
+ }>;
2366
+ fromIds: z.ZodArray<z.ZodString>;
2367
+ }, z.core.$strip>>;
2368
+ }, z.core.$strip>>;
1353
2369
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
1354
2370
  rotation: z.ZodDefault<z.ZodNumber>;
1355
2371
  supportSlabId: z.ZodOptional<z.ZodString>;
@@ -1373,20 +2389,20 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1373
2389
  }>>;
1374
2390
  panelReady: z.ZodDefault<z.ZodBoolean>;
1375
2391
  handleStyle: z.ZodDefault<z.ZodEnum<{
2392
+ cutout: "cutout";
1376
2393
  none: "none";
1377
2394
  bar: "bar";
1378
- cutout: "cutout";
1379
2395
  hole: "hole";
1380
2396
  knob: "knob";
1381
2397
  }>>;
1382
2398
  handlePosition: z.ZodDefault<z.ZodEnum<{
1383
- top: "top";
1384
2399
  center: "center";
2400
+ top: "top";
1385
2401
  auto: "auto";
1386
2402
  }>>;
1387
2403
  frontOverlay: z.ZodDefault<z.ZodEnum<{
1388
- full: "full";
1389
2404
  inset: "inset";
2405
+ full: "full";
1390
2406
  }>>;
1391
2407
  withBottomPanel: z.ZodDefault<z.ZodBoolean>;
1392
2408
  showPlinth: z.ZodDefault<z.ZodBoolean>;
@@ -1540,8 +2556,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1540
2556
  "corner-filler": "corner-filler";
1541
2557
  }>>;
1542
2558
  openSide: z.ZodOptional<z.ZodEnum<{
1543
- right: "right";
1544
2559
  left: "left";
2560
+ right: "right";
1545
2561
  }>>;
1546
2562
  cornerShelf: z.ZodOptional<z.ZodBoolean>;
1547
2563
  topFinish: z.ZodDefault<z.ZodEnum<{
@@ -1567,6 +2583,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1567
2583
  zoom: z.ZodOptional<z.ZodNumber>;
1568
2584
  }, z.core.$strip>>;
1569
2585
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2586
+ provenance: z.ZodOptional<z.ZodObject<{
2587
+ refs: z.ZodArray<z.ZodObject<{
2588
+ ns: z.ZodOptional<z.ZodString>;
2589
+ id: z.ZodString;
2590
+ role: z.ZodOptional<z.ZodEnum<{
2591
+ primary: "primary";
2592
+ piece: "piece";
2593
+ absorbed: "absorbed";
2594
+ alias: "alias";
2595
+ derived: "derived";
2596
+ }>>;
2597
+ }, z.core.$strip>>;
2598
+ lineage: z.ZodOptional<z.ZodObject<{
2599
+ op: z.ZodEnum<{
2600
+ import: "import";
2601
+ split: "split";
2602
+ merge: "merge";
2603
+ duplicate: "duplicate";
2604
+ convert: "convert";
2605
+ promote: "promote";
2606
+ "make-independent": "make-independent";
2607
+ attach: "attach";
2608
+ }>;
2609
+ fromIds: z.ZodArray<z.ZodString>;
2610
+ }, z.core.$strip>>;
2611
+ }, z.core.$strip>>;
1570
2612
  id: z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>;
1571
2613
  type: z.ZodDefault<z.ZodLiteral<"item">>;
1572
2614
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -1581,15 +2623,115 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1581
2623
  wallT: z.ZodOptional<z.ZodNumber>;
1582
2624
  roofSegmentId: z.ZodOptional<z.ZodString>;
1583
2625
  roofFace: z.ZodOptional<z.ZodEnum<{
2626
+ left: "left";
2627
+ right: "right";
1584
2628
  front: "front";
1585
2629
  back: "back";
1586
- right: "right";
1587
- left: "left";
1588
2630
  }>>;
1589
2631
  blockFaceId: z.ZodOptional<z.ZodString>;
1590
2632
  supportSlabId: z.ZodOptional<z.ZodString>;
1591
2633
  collectionIds: z.ZodOptional<z.ZodArray<z.ZodCustom<`collection_${string}`, `collection_${string}`>>>;
1592
2634
  slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2635
+ source: z.ZodOptional<z.ZodObject<{
2636
+ kind: z.ZodLiteral<"script">;
2637
+ meta: z.ZodOptional<z.ZodObject<{
2638
+ description: z.ZodOptional<z.ZodString>;
2639
+ category: z.ZodOptional<z.ZodString>;
2640
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
2641
+ parent: z.ZodOptional<z.ZodString>;
2642
+ }, z.core.$strip>>;
2643
+ language: z.ZodDefault<z.ZodEnum<{
2644
+ three: "three";
2645
+ bpy: "bpy";
2646
+ }>>;
2647
+ script: z.ZodString;
2648
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>>>;
2649
+ artifact: z.ZodString;
2650
+ manifest: z.ZodObject<{
2651
+ bounds: z.ZodObject<{
2652
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2653
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2654
+ }, z.core.$strip>;
2655
+ params: z.ZodDefault<z.ZodArray<z.ZodObject<{
2656
+ id: z.ZodString;
2657
+ label: z.ZodOptional<z.ZodString>;
2658
+ kind: z.ZodEnum<{
2659
+ string: "string";
2660
+ number: "number";
2661
+ boolean: "boolean";
2662
+ }>;
2663
+ default: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
2664
+ min: z.ZodOptional<z.ZodNumber>;
2665
+ max: z.ZodOptional<z.ZodNumber>;
2666
+ step: z.ZodOptional<z.ZodNumber>;
2667
+ unit: z.ZodOptional<z.ZodString>;
2668
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
2669
+ }, z.core.$strip>>>;
2670
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
2671
+ id: z.ZodString;
2672
+ label: z.ZodOptional<z.ZodString>;
2673
+ type: z.ZodOptional<z.ZodString>;
2674
+ bounds: z.ZodOptional<z.ZodObject<{
2675
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2676
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2677
+ }, z.core.$strip>>;
2678
+ }, z.core.$strip>>>;
2679
+ surfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
2680
+ part: z.ZodOptional<z.ZodString>;
2681
+ y: z.ZodNumber;
2682
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
2683
+ }, z.core.$strip>>>;
2684
+ slots: z.ZodDefault<z.ZodArray<z.ZodObject<{
2685
+ id: z.ZodString;
2686
+ label: z.ZodOptional<z.ZodString>;
2687
+ color: z.ZodOptional<z.ZodString>;
2688
+ roughness: z.ZodOptional<z.ZodNumber>;
2689
+ metalness: z.ZodOptional<z.ZodNumber>;
2690
+ transparent: z.ZodOptional<z.ZodBoolean>;
2691
+ emissive: z.ZodOptional<z.ZodBoolean>;
2692
+ }, z.core.$strip>>>;
2693
+ anchors: z.ZodDefault<z.ZodArray<z.ZodObject<{
2694
+ id: z.ZodString;
2695
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2696
+ normal: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2697
+ }, z.core.$strip>>>;
2698
+ lights: z.ZodDefault<z.ZodArray<z.ZodObject<{
2699
+ id: z.ZodString;
2700
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2701
+ color: z.ZodString;
2702
+ intensity: z.ZodNumber;
2703
+ distance: z.ZodOptional<z.ZodNumber>;
2704
+ }, z.core.$strip>>>;
2705
+ undersides: z.ZodDefault<z.ZodArray<z.ZodObject<{
2706
+ part: z.ZodOptional<z.ZodString>;
2707
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
2708
+ plane: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
2709
+ }, z.core.$strip>>>;
2710
+ animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
2711
+ name: z.ZodString;
2712
+ duration: z.ZodNumber;
2713
+ }, z.core.$strip>>>;
2714
+ cutters: z.ZodOptional<z.ZodArray<z.ZodObject<{
2715
+ host: z.ZodEnum<{
2716
+ wall: "wall";
2717
+ slab: "slab";
2718
+ ceiling: "ceiling";
2719
+ mounted: "mounted";
2720
+ }>;
2721
+ polygon: z.ZodArray<z.ZodArray<z.ZodNumber>>;
2722
+ minY: z.ZodNumber;
2723
+ maxY: z.ZodNumber;
2724
+ }, z.core.$strip>>>;
2725
+ cutout: z.ZodDefault<z.ZodBoolean>;
2726
+ collider: z.ZodDefault<z.ZodBoolean>;
2727
+ triangles: z.ZodNumber;
2728
+ }, z.core.$strip>;
2729
+ images: z.ZodOptional<z.ZodObject<{
2730
+ artifact: z.ZodString;
2731
+ thumbnail: z.ZodString;
2732
+ floorPlan: z.ZodString;
2733
+ }, z.core.$strip>>;
2734
+ }, z.core.$strip>>;
1593
2735
  asset: z.ZodObject<{
1594
2736
  id: z.ZodString;
1595
2737
  category: z.ZodString;
@@ -1649,6 +2791,11 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1649
2791
  }, z.core.$strip>], "kind">>>;
1650
2792
  effects: z.ZodDefault<z.ZodArray<z.ZodDiscriminatedUnion<[z.ZodObject<{
1651
2793
  kind: z.ZodLiteral<"animation">;
2794
+ mode: z.ZodOptional<z.ZodEnum<{
2795
+ ambient: "ambient";
2796
+ "open-close": "open-close";
2797
+ }>>;
2798
+ control: z.ZodOptional<z.ZodNumber>;
1652
2799
  clips: z.ZodObject<{
1653
2800
  on: z.ZodOptional<z.ZodString>;
1654
2801
  off: z.ZodOptional<z.ZodString>;
@@ -1679,10 +2826,36 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1679
2826
  zoom: z.ZodOptional<z.ZodNumber>;
1680
2827
  }, z.core.$strip>>;
1681
2828
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
2829
+ provenance: z.ZodOptional<z.ZodObject<{
2830
+ refs: z.ZodArray<z.ZodObject<{
2831
+ ns: z.ZodOptional<z.ZodString>;
2832
+ id: z.ZodString;
2833
+ role: z.ZodOptional<z.ZodEnum<{
2834
+ primary: "primary";
2835
+ piece: "piece";
2836
+ absorbed: "absorbed";
2837
+ alias: "alias";
2838
+ derived: "derived";
2839
+ }>>;
2840
+ }, z.core.$strip>>;
2841
+ lineage: z.ZodOptional<z.ZodObject<{
2842
+ op: z.ZodEnum<{
2843
+ import: "import";
2844
+ split: "split";
2845
+ merge: "merge";
2846
+ duplicate: "duplicate";
2847
+ convert: "convert";
2848
+ promote: "promote";
2849
+ "make-independent": "make-independent";
2850
+ attach: "attach";
2851
+ }>;
2852
+ fromIds: z.ZodArray<z.ZodString>;
2853
+ }, z.core.$strip>>;
2854
+ }, z.core.$strip>>;
1682
2855
  id: z.ZodDefault<z.ZodTemplateLiteral<`procedural-item_${string}`>>;
1683
2856
  type: z.ZodDefault<z.ZodLiteral<"procedural-item">>;
1684
2857
  recipe: z.ZodPipe<z.ZodCustom<{
1685
- version: 1;
2858
+ version: 2 | 1;
1686
2859
  name: string;
1687
2860
  description: string;
1688
2861
  parameters: {
@@ -1692,9 +2865,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1692
2865
  min: number;
1693
2866
  max: number;
1694
2867
  step: number;
1695
- unit: "count" | "m" | "rad";
2868
+ unit: "count" | "m" | "rad" | "s" | "bool" | "choice";
2869
+ options?: string[] | undefined;
1696
2870
  part?: string | undefined;
1697
- axis?: "x" | "y" | "z" | undefined;
2871
+ axis?: "x" | "z" | "y" | undefined;
1698
2872
  }[];
1699
2873
  slots: {
1700
2874
  id: string;
@@ -1706,16 +2880,102 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1706
2880
  id: string;
1707
2881
  label: string;
1708
2882
  count: import("../procedural-items/index.js").Expr;
1709
- shapes: {
2883
+ shapes: ({
1710
2884
  id: string;
1711
- primitive: "box" | "roundedBox" | "cylinder";
2885
+ primitive: "box" | "roundedBox" | "cylinder" | "ellipsoid";
1712
2886
  slot: string;
1713
2887
  size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1714
2888
  position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2889
+ support?: boolean | undefined;
2890
+ when?: import("../procedural-items/index.js").Expr | undefined;
1715
2891
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1716
2892
  radius?: import("../procedural-items/index.js").Expr | undefined;
2893
+ topScale?: import("../procedural-items/index.js").Expr | undefined;
2894
+ segments?: number | undefined;
2895
+ open?: boolean | undefined;
2896
+ inner?: import("../procedural-items/index.js").Expr | undefined;
2897
+ arc?: import("../procedural-items/index.js").Expr | undefined;
2898
+ } | {
2899
+ id: string;
2900
+ primitive: "extrude";
2901
+ slot: string;
2902
+ section: {
2903
+ kind: "rectangle";
2904
+ width: import("../procedural-items/index.js").Expr;
2905
+ depth: import("../procedural-items/index.js").Expr;
2906
+ corner?: import("../procedural-items/index.js").Expr | undefined;
2907
+ } | {
2908
+ kind: "round";
2909
+ radius: import("../procedural-items/index.js").Expr;
2910
+ wall?: import("../procedural-items/index.js").Expr | undefined;
2911
+ } | {
2912
+ kind: "oval";
2913
+ width: import("../procedural-items/index.js").Expr;
2914
+ depth: import("../procedural-items/index.js").Expr;
2915
+ } | {
2916
+ kind: "section";
2917
+ family: "C" | "I" | "L" | "T" | "Z" | "rect-tube";
2918
+ width: import("../procedural-items/index.js").Expr;
2919
+ depth: import("../procedural-items/index.js").Expr;
2920
+ web: import("../procedural-items/index.js").Expr;
2921
+ flange: import("../procedural-items/index.js").Expr;
2922
+ } | {
2923
+ kind: "polygon";
2924
+ outer: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
2925
+ holes?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][][] | undefined;
2926
+ };
2927
+ length: import("../procedural-items/index.js").Expr;
2928
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2929
+ support?: boolean | undefined;
2930
+ when?: import("../procedural-items/index.js").Expr | undefined;
2931
+ bevel?: import("../procedural-items/index.js").Expr | undefined;
2932
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
2933
+ } | {
2934
+ id: string;
2935
+ primitive: "revolve";
2936
+ slot: string;
2937
+ profile: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
2938
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1717
2939
  support?: boolean | undefined;
1718
- }[];
2940
+ when?: import("../procedural-items/index.js").Expr | undefined;
2941
+ segments?: number | undefined;
2942
+ arc?: import("../procedural-items/index.js").Expr | undefined;
2943
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
2944
+ })[];
2945
+ parent?: string | undefined;
2946
+ frame?: {
2947
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2948
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
2949
+ } | undefined;
2950
+ when?: import("../procedural-items/index.js").Expr | undefined;
2951
+ motion?: {
2952
+ kind: "hinge";
2953
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2954
+ axis: "x" | "z" | "y";
2955
+ angle: import("../procedural-items/index.js").Expr;
2956
+ delay?: import("../procedural-items/index.js").Expr | undefined;
2957
+ duration?: import("../procedural-items/index.js").Expr | undefined;
2958
+ easing?: "linear" | "smooth" | "soft" | undefined;
2959
+ } | {
2960
+ kind: "slide";
2961
+ axis: "x" | "z" | "y";
2962
+ distance: import("../procedural-items/index.js").Expr;
2963
+ delay?: import("../procedural-items/index.js").Expr | undefined;
2964
+ duration?: import("../procedural-items/index.js").Expr | undefined;
2965
+ easing?: "linear" | "smooth" | "soft" | undefined;
2966
+ } | {
2967
+ kind: "spin";
2968
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2969
+ axis: "x" | "z" | "y";
2970
+ radiansPerSecond: import("../procedural-items/index.js").Expr;
2971
+ } | undefined;
2972
+ light?: {
2973
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2974
+ color: string;
2975
+ intensity?: number | undefined;
2976
+ distance?: number | undefined;
2977
+ emissiveSlot?: string | undefined;
2978
+ } | undefined;
1719
2979
  }[];
1720
2980
  constraints: {
1721
2981
  left: import("../procedural-items/index.js").Expr;
@@ -1732,6 +2992,16 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1732
2992
  attachTo: "ceiling" | "wall-side";
1733
2993
  reference: string;
1734
2994
  } | undefined;
2995
+ base?: import("../procedural-items/index.js").Expr | undefined;
2996
+ cuts?: ({
2997
+ shape: "rect";
2998
+ size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
2999
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3000
+ } | {
3001
+ shape: "circle";
3002
+ diameter: import("../procedural-items/index.js").Expr;
3003
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3004
+ })[] | undefined;
1735
3005
  surfaces?: {
1736
3006
  id: string;
1737
3007
  label: string;
@@ -1740,8 +3010,21 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1740
3010
  part?: string | undefined;
1741
3011
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1742
3012
  }[] | undefined;
3013
+ joints?: {
3014
+ child: string;
3015
+ kind: "fixed" | "continuous" | "revolute" | "prismatic";
3016
+ origin: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3017
+ axis: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3018
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3019
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3020
+ easing?: "linear" | "smooth" | "soft" | undefined;
3021
+ open?: import("../procedural-items/index.js").Expr | undefined;
3022
+ rest?: import("../procedural-items/index.js").Expr | undefined;
3023
+ range?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3024
+ speed?: import("../procedural-items/index.js").Expr | undefined;
3025
+ }[] | undefined;
1743
3026
  }, {
1744
- version: 1;
3027
+ version: 2 | 1;
1745
3028
  name: string;
1746
3029
  description: string;
1747
3030
  parameters: {
@@ -1751,9 +3034,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1751
3034
  min: number;
1752
3035
  max: number;
1753
3036
  step: number;
1754
- unit: "count" | "m" | "rad";
3037
+ unit: "count" | "m" | "rad" | "s" | "bool" | "choice";
3038
+ options?: string[] | undefined;
1755
3039
  part?: string | undefined;
1756
- axis?: "x" | "y" | "z" | undefined;
3040
+ axis?: "x" | "z" | "y" | undefined;
1757
3041
  }[];
1758
3042
  slots: {
1759
3043
  id: string;
@@ -1765,16 +3049,102 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1765
3049
  id: string;
1766
3050
  label: string;
1767
3051
  count: import("../procedural-items/index.js").Expr;
1768
- shapes: {
3052
+ shapes: ({
1769
3053
  id: string;
1770
- primitive: "box" | "roundedBox" | "cylinder";
3054
+ primitive: "box" | "roundedBox" | "cylinder" | "ellipsoid";
1771
3055
  slot: string;
1772
3056
  size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1773
3057
  position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3058
+ support?: boolean | undefined;
3059
+ when?: import("../procedural-items/index.js").Expr | undefined;
1774
3060
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1775
3061
  radius?: import("../procedural-items/index.js").Expr | undefined;
3062
+ topScale?: import("../procedural-items/index.js").Expr | undefined;
3063
+ segments?: number | undefined;
3064
+ open?: boolean | undefined;
3065
+ inner?: import("../procedural-items/index.js").Expr | undefined;
3066
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3067
+ } | {
3068
+ id: string;
3069
+ primitive: "extrude";
3070
+ slot: string;
3071
+ section: {
3072
+ kind: "rectangle";
3073
+ width: import("../procedural-items/index.js").Expr;
3074
+ depth: import("../procedural-items/index.js").Expr;
3075
+ corner?: import("../procedural-items/index.js").Expr | undefined;
3076
+ } | {
3077
+ kind: "round";
3078
+ radius: import("../procedural-items/index.js").Expr;
3079
+ wall?: import("../procedural-items/index.js").Expr | undefined;
3080
+ } | {
3081
+ kind: "oval";
3082
+ width: import("../procedural-items/index.js").Expr;
3083
+ depth: import("../procedural-items/index.js").Expr;
3084
+ } | {
3085
+ kind: "section";
3086
+ family: "C" | "I" | "L" | "T" | "Z" | "rect-tube";
3087
+ width: import("../procedural-items/index.js").Expr;
3088
+ depth: import("../procedural-items/index.js").Expr;
3089
+ web: import("../procedural-items/index.js").Expr;
3090
+ flange: import("../procedural-items/index.js").Expr;
3091
+ } | {
3092
+ kind: "polygon";
3093
+ outer: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3094
+ holes?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][][] | undefined;
3095
+ };
3096
+ length: import("../procedural-items/index.js").Expr;
3097
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3098
+ support?: boolean | undefined;
3099
+ when?: import("../procedural-items/index.js").Expr | undefined;
3100
+ bevel?: import("../procedural-items/index.js").Expr | undefined;
3101
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3102
+ } | {
3103
+ id: string;
3104
+ primitive: "revolve";
3105
+ slot: string;
3106
+ profile: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3107
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1776
3108
  support?: boolean | undefined;
1777
- }[];
3109
+ when?: import("../procedural-items/index.js").Expr | undefined;
3110
+ segments?: number | undefined;
3111
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3112
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3113
+ })[];
3114
+ parent?: string | undefined;
3115
+ frame?: {
3116
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3117
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3118
+ } | undefined;
3119
+ when?: import("../procedural-items/index.js").Expr | undefined;
3120
+ motion?: {
3121
+ kind: "hinge";
3122
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3123
+ axis: "x" | "z" | "y";
3124
+ angle: import("../procedural-items/index.js").Expr;
3125
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3126
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3127
+ easing?: "linear" | "smooth" | "soft" | undefined;
3128
+ } | {
3129
+ kind: "slide";
3130
+ axis: "x" | "z" | "y";
3131
+ distance: import("../procedural-items/index.js").Expr;
3132
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3133
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3134
+ easing?: "linear" | "smooth" | "soft" | undefined;
3135
+ } | {
3136
+ kind: "spin";
3137
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3138
+ axis: "x" | "z" | "y";
3139
+ radiansPerSecond: import("../procedural-items/index.js").Expr;
3140
+ } | undefined;
3141
+ light?: {
3142
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3143
+ color: string;
3144
+ intensity?: number | undefined;
3145
+ distance?: number | undefined;
3146
+ emissiveSlot?: string | undefined;
3147
+ } | undefined;
1778
3148
  }[];
1779
3149
  constraints: {
1780
3150
  left: import("../procedural-items/index.js").Expr;
@@ -1791,6 +3161,16 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1791
3161
  attachTo: "ceiling" | "wall-side";
1792
3162
  reference: string;
1793
3163
  } | undefined;
3164
+ base?: import("../procedural-items/index.js").Expr | undefined;
3165
+ cuts?: ({
3166
+ shape: "rect";
3167
+ size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3168
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3169
+ } | {
3170
+ shape: "circle";
3171
+ diameter: import("../procedural-items/index.js").Expr;
3172
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3173
+ })[] | undefined;
1794
3174
  surfaces?: {
1795
3175
  id: string;
1796
3176
  label: string;
@@ -1799,8 +3179,21 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1799
3179
  part?: string | undefined;
1800
3180
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1801
3181
  }[] | undefined;
3182
+ joints?: {
3183
+ child: string;
3184
+ kind: "fixed" | "continuous" | "revolute" | "prismatic";
3185
+ origin: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3186
+ axis: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3187
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3188
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3189
+ easing?: "linear" | "smooth" | "soft" | undefined;
3190
+ open?: import("../procedural-items/index.js").Expr | undefined;
3191
+ rest?: import("../procedural-items/index.js").Expr | undefined;
3192
+ range?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3193
+ speed?: import("../procedural-items/index.js").Expr | undefined;
3194
+ }[] | undefined;
1802
3195
  }>, z.ZodTransform<{
1803
- version: 1;
3196
+ version: 2 | 1;
1804
3197
  name: string;
1805
3198
  description: string;
1806
3199
  parameters: {
@@ -1810,9 +3203,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1810
3203
  min: number;
1811
3204
  max: number;
1812
3205
  step: number;
1813
- unit: "count" | "m" | "rad";
3206
+ unit: "count" | "m" | "rad" | "s" | "bool" | "choice";
3207
+ options?: string[] | undefined;
1814
3208
  part?: string | undefined;
1815
- axis?: "x" | "y" | "z" | undefined;
3209
+ axis?: "x" | "z" | "y" | undefined;
1816
3210
  }[];
1817
3211
  slots: {
1818
3212
  id: string;
@@ -1824,16 +3218,102 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1824
3218
  id: string;
1825
3219
  label: string;
1826
3220
  count: import("../procedural-items/index.js").Expr;
1827
- shapes: {
3221
+ shapes: ({
1828
3222
  id: string;
1829
- primitive: "box" | "roundedBox" | "cylinder";
3223
+ primitive: "box" | "roundedBox" | "cylinder" | "ellipsoid";
1830
3224
  slot: string;
1831
3225
  size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1832
3226
  position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3227
+ support?: boolean | undefined;
3228
+ when?: import("../procedural-items/index.js").Expr | undefined;
1833
3229
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1834
3230
  radius?: import("../procedural-items/index.js").Expr | undefined;
3231
+ topScale?: import("../procedural-items/index.js").Expr | undefined;
3232
+ segments?: number | undefined;
3233
+ open?: boolean | undefined;
3234
+ inner?: import("../procedural-items/index.js").Expr | undefined;
3235
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3236
+ } | {
3237
+ id: string;
3238
+ primitive: "extrude";
3239
+ slot: string;
3240
+ section: {
3241
+ kind: "rectangle";
3242
+ width: import("../procedural-items/index.js").Expr;
3243
+ depth: import("../procedural-items/index.js").Expr;
3244
+ corner?: import("../procedural-items/index.js").Expr | undefined;
3245
+ } | {
3246
+ kind: "round";
3247
+ radius: import("../procedural-items/index.js").Expr;
3248
+ wall?: import("../procedural-items/index.js").Expr | undefined;
3249
+ } | {
3250
+ kind: "oval";
3251
+ width: import("../procedural-items/index.js").Expr;
3252
+ depth: import("../procedural-items/index.js").Expr;
3253
+ } | {
3254
+ kind: "section";
3255
+ family: "C" | "I" | "L" | "T" | "Z" | "rect-tube";
3256
+ width: import("../procedural-items/index.js").Expr;
3257
+ depth: import("../procedural-items/index.js").Expr;
3258
+ web: import("../procedural-items/index.js").Expr;
3259
+ flange: import("../procedural-items/index.js").Expr;
3260
+ } | {
3261
+ kind: "polygon";
3262
+ outer: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3263
+ holes?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][][] | undefined;
3264
+ };
3265
+ length: import("../procedural-items/index.js").Expr;
3266
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3267
+ support?: boolean | undefined;
3268
+ when?: import("../procedural-items/index.js").Expr | undefined;
3269
+ bevel?: import("../procedural-items/index.js").Expr | undefined;
3270
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3271
+ } | {
3272
+ id: string;
3273
+ primitive: "revolve";
3274
+ slot: string;
3275
+ profile: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3276
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1835
3277
  support?: boolean | undefined;
1836
- }[];
3278
+ when?: import("../procedural-items/index.js").Expr | undefined;
3279
+ segments?: number | undefined;
3280
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3281
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3282
+ })[];
3283
+ parent?: string | undefined;
3284
+ frame?: {
3285
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3286
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3287
+ } | undefined;
3288
+ when?: import("../procedural-items/index.js").Expr | undefined;
3289
+ motion?: {
3290
+ kind: "hinge";
3291
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3292
+ axis: "x" | "z" | "y";
3293
+ angle: import("../procedural-items/index.js").Expr;
3294
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3295
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3296
+ easing?: "linear" | "smooth" | "soft" | undefined;
3297
+ } | {
3298
+ kind: "slide";
3299
+ axis: "x" | "z" | "y";
3300
+ distance: import("../procedural-items/index.js").Expr;
3301
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3302
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3303
+ easing?: "linear" | "smooth" | "soft" | undefined;
3304
+ } | {
3305
+ kind: "spin";
3306
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3307
+ axis: "x" | "z" | "y";
3308
+ radiansPerSecond: import("../procedural-items/index.js").Expr;
3309
+ } | undefined;
3310
+ light?: {
3311
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3312
+ color: string;
3313
+ intensity?: number | undefined;
3314
+ distance?: number | undefined;
3315
+ emissiveSlot?: string | undefined;
3316
+ } | undefined;
1837
3317
  }[];
1838
3318
  constraints: {
1839
3319
  left: import("../procedural-items/index.js").Expr;
@@ -1850,6 +3330,16 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1850
3330
  attachTo: "ceiling" | "wall-side";
1851
3331
  reference: string;
1852
3332
  } | undefined;
3333
+ base?: import("../procedural-items/index.js").Expr | undefined;
3334
+ cuts?: ({
3335
+ shape: "rect";
3336
+ size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3337
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3338
+ } | {
3339
+ shape: "circle";
3340
+ diameter: import("../procedural-items/index.js").Expr;
3341
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3342
+ })[] | undefined;
1853
3343
  surfaces?: {
1854
3344
  id: string;
1855
3345
  label: string;
@@ -1858,8 +3348,21 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1858
3348
  part?: string | undefined;
1859
3349
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1860
3350
  }[] | undefined;
3351
+ joints?: {
3352
+ child: string;
3353
+ kind: "fixed" | "continuous" | "revolute" | "prismatic";
3354
+ origin: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3355
+ axis: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3356
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3357
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3358
+ easing?: "linear" | "smooth" | "soft" | undefined;
3359
+ open?: import("../procedural-items/index.js").Expr | undefined;
3360
+ rest?: import("../procedural-items/index.js").Expr | undefined;
3361
+ range?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3362
+ speed?: import("../procedural-items/index.js").Expr | undefined;
3363
+ }[] | undefined;
1861
3364
  }, {
1862
- version: 1;
3365
+ version: 2 | 1;
1863
3366
  name: string;
1864
3367
  description: string;
1865
3368
  parameters: {
@@ -1869,9 +3372,10 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1869
3372
  min: number;
1870
3373
  max: number;
1871
3374
  step: number;
1872
- unit: "count" | "m" | "rad";
3375
+ unit: "count" | "m" | "rad" | "s" | "bool" | "choice";
3376
+ options?: string[] | undefined;
1873
3377
  part?: string | undefined;
1874
- axis?: "x" | "y" | "z" | undefined;
3378
+ axis?: "x" | "z" | "y" | undefined;
1875
3379
  }[];
1876
3380
  slots: {
1877
3381
  id: string;
@@ -1883,16 +3387,102 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1883
3387
  id: string;
1884
3388
  label: string;
1885
3389
  count: import("../procedural-items/index.js").Expr;
1886
- shapes: {
3390
+ shapes: ({
1887
3391
  id: string;
1888
- primitive: "box" | "roundedBox" | "cylinder";
3392
+ primitive: "box" | "roundedBox" | "cylinder" | "ellipsoid";
1889
3393
  slot: string;
1890
3394
  size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1891
3395
  position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3396
+ support?: boolean | undefined;
3397
+ when?: import("../procedural-items/index.js").Expr | undefined;
1892
3398
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1893
3399
  radius?: import("../procedural-items/index.js").Expr | undefined;
3400
+ topScale?: import("../procedural-items/index.js").Expr | undefined;
3401
+ segments?: number | undefined;
3402
+ open?: boolean | undefined;
3403
+ inner?: import("../procedural-items/index.js").Expr | undefined;
3404
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3405
+ } | {
3406
+ id: string;
3407
+ primitive: "extrude";
3408
+ slot: string;
3409
+ section: {
3410
+ kind: "rectangle";
3411
+ width: import("../procedural-items/index.js").Expr;
3412
+ depth: import("../procedural-items/index.js").Expr;
3413
+ corner?: import("../procedural-items/index.js").Expr | undefined;
3414
+ } | {
3415
+ kind: "round";
3416
+ radius: import("../procedural-items/index.js").Expr;
3417
+ wall?: import("../procedural-items/index.js").Expr | undefined;
3418
+ } | {
3419
+ kind: "oval";
3420
+ width: import("../procedural-items/index.js").Expr;
3421
+ depth: import("../procedural-items/index.js").Expr;
3422
+ } | {
3423
+ kind: "section";
3424
+ family: "C" | "I" | "L" | "T" | "Z" | "rect-tube";
3425
+ width: import("../procedural-items/index.js").Expr;
3426
+ depth: import("../procedural-items/index.js").Expr;
3427
+ web: import("../procedural-items/index.js").Expr;
3428
+ flange: import("../procedural-items/index.js").Expr;
3429
+ } | {
3430
+ kind: "polygon";
3431
+ outer: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3432
+ holes?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][][] | undefined;
3433
+ };
3434
+ length: import("../procedural-items/index.js").Expr;
3435
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3436
+ support?: boolean | undefined;
3437
+ when?: import("../procedural-items/index.js").Expr | undefined;
3438
+ bevel?: import("../procedural-items/index.js").Expr | undefined;
3439
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3440
+ } | {
3441
+ id: string;
3442
+ primitive: "revolve";
3443
+ slot: string;
3444
+ profile: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr][];
3445
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
1894
3446
  support?: boolean | undefined;
1895
- }[];
3447
+ when?: import("../procedural-items/index.js").Expr | undefined;
3448
+ segments?: number | undefined;
3449
+ arc?: import("../procedural-items/index.js").Expr | undefined;
3450
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3451
+ })[];
3452
+ parent?: string | undefined;
3453
+ frame?: {
3454
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3455
+ rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3456
+ } | undefined;
3457
+ when?: import("../procedural-items/index.js").Expr | undefined;
3458
+ motion?: {
3459
+ kind: "hinge";
3460
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3461
+ axis: "x" | "z" | "y";
3462
+ angle: import("../procedural-items/index.js").Expr;
3463
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3464
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3465
+ easing?: "linear" | "smooth" | "soft" | undefined;
3466
+ } | {
3467
+ kind: "slide";
3468
+ axis: "x" | "z" | "y";
3469
+ distance: import("../procedural-items/index.js").Expr;
3470
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3471
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3472
+ easing?: "linear" | "smooth" | "soft" | undefined;
3473
+ } | {
3474
+ kind: "spin";
3475
+ pivot: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3476
+ axis: "x" | "z" | "y";
3477
+ radiansPerSecond: import("../procedural-items/index.js").Expr;
3478
+ } | undefined;
3479
+ light?: {
3480
+ position: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3481
+ color: string;
3482
+ intensity?: number | undefined;
3483
+ distance?: number | undefined;
3484
+ emissiveSlot?: string | undefined;
3485
+ } | undefined;
1896
3486
  }[];
1897
3487
  constraints: {
1898
3488
  left: import("../procedural-items/index.js").Expr;
@@ -1909,6 +3499,16 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1909
3499
  attachTo: "ceiling" | "wall-side";
1910
3500
  reference: string;
1911
3501
  } | undefined;
3502
+ base?: import("../procedural-items/index.js").Expr | undefined;
3503
+ cuts?: ({
3504
+ shape: "rect";
3505
+ size: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3506
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3507
+ } | {
3508
+ shape: "circle";
3509
+ diameter: import("../procedural-items/index.js").Expr;
3510
+ center?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3511
+ })[] | undefined;
1912
3512
  surfaces?: {
1913
3513
  id: string;
1914
3514
  label: string;
@@ -1917,6 +3517,19 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1917
3517
  part?: string | undefined;
1918
3518
  rotation?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
1919
3519
  }[] | undefined;
3520
+ joints?: {
3521
+ child: string;
3522
+ kind: "fixed" | "continuous" | "revolute" | "prismatic";
3523
+ origin: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3524
+ axis: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr];
3525
+ delay?: import("../procedural-items/index.js").Expr | undefined;
3526
+ duration?: import("../procedural-items/index.js").Expr | undefined;
3527
+ easing?: "linear" | "smooth" | "soft" | undefined;
3528
+ open?: import("../procedural-items/index.js").Expr | undefined;
3529
+ rest?: import("../procedural-items/index.js").Expr | undefined;
3530
+ range?: [import("../procedural-items/index.js").Expr, import("../procedural-items/index.js").Expr] | undefined;
3531
+ speed?: import("../procedural-items/index.js").Expr | undefined;
3532
+ }[] | undefined;
1920
3533
  }>>;
1921
3534
  parameters: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodNumber>>;
1922
3535
  slots: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodString>>;
@@ -1946,6 +3559,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1946
3559
  zoom: z.ZodOptional<z.ZodNumber>;
1947
3560
  }, z.core.$strip>>;
1948
3561
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3562
+ provenance: z.ZodOptional<z.ZodObject<{
3563
+ refs: z.ZodArray<z.ZodObject<{
3564
+ ns: z.ZodOptional<z.ZodString>;
3565
+ id: z.ZodString;
3566
+ role: z.ZodOptional<z.ZodEnum<{
3567
+ primary: "primary";
3568
+ piece: "piece";
3569
+ absorbed: "absorbed";
3570
+ alias: "alias";
3571
+ derived: "derived";
3572
+ }>>;
3573
+ }, z.core.$strip>>;
3574
+ lineage: z.ZodOptional<z.ZodObject<{
3575
+ op: z.ZodEnum<{
3576
+ import: "import";
3577
+ split: "split";
3578
+ merge: "merge";
3579
+ duplicate: "duplicate";
3580
+ convert: "convert";
3581
+ promote: "promote";
3582
+ "make-independent": "make-independent";
3583
+ attach: "attach";
3584
+ }>;
3585
+ fromIds: z.ZodArray<z.ZodString>;
3586
+ }, z.core.$strip>>;
3587
+ }, z.core.$strip>>;
1949
3588
  id: z.ZodDefault<z.ZodTemplateLiteral<`imesh_${string}`>>;
1950
3589
  type: z.ZodDefault<z.ZodLiteral<"imported-mesh">>;
1951
3590
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -1971,15 +3610,83 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
1971
3610
  fov: z.ZodOptional<z.ZodNumber>;
1972
3611
  zoom: z.ZodOptional<z.ZodNumber>;
1973
3612
  }, z.core.$strip>>;
3613
+ provenance: z.ZodOptional<z.ZodObject<{
3614
+ refs: z.ZodArray<z.ZodObject<{
3615
+ ns: z.ZodOptional<z.ZodString>;
3616
+ id: z.ZodString;
3617
+ role: z.ZodOptional<z.ZodEnum<{
3618
+ primary: "primary";
3619
+ piece: "piece";
3620
+ absorbed: "absorbed";
3621
+ alias: "alias";
3622
+ derived: "derived";
3623
+ }>>;
3624
+ }, z.core.$strip>>;
3625
+ lineage: z.ZodOptional<z.ZodObject<{
3626
+ op: z.ZodEnum<{
3627
+ import: "import";
3628
+ split: "split";
3629
+ merge: "merge";
3630
+ duplicate: "duplicate";
3631
+ convert: "convert";
3632
+ promote: "promote";
3633
+ "make-independent": "make-independent";
3634
+ attach: "attach";
3635
+ }>;
3636
+ fromIds: z.ZodArray<z.ZodString>;
3637
+ }, z.core.$strip>>;
3638
+ }, z.core.$strip>>;
1974
3639
  id: z.ZodDefault<z.ZodTemplateLiteral<`zone_${string}`>>;
1975
3640
  type: z.ZodDefault<z.ZodLiteral<"zone">>;
1976
3641
  name: z.ZodString;
1977
3642
  polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3643
+ holes: z.ZodDefault<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
1978
3644
  autoFromWalls: z.ZodDefault<z.ZodBoolean>;
1979
3645
  boundaryWallIds: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`wall_${string}`>>>>;
3646
+ boundarySeparatorIds: z.ZodDefault<z.ZodArray<z.ZodString>>;
3647
+ hostZoneId: z.ZodOptional<z.ZodString>;
3648
+ seed: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3649
+ floor: z.ZodOptional<z.ZodObject<{
3650
+ elevation: z.ZodOptional<z.ZodNumber>;
3651
+ support: z.ZodOptional<z.ZodLiteral<"open">>;
3652
+ footprint: z.ZodOptional<z.ZodString>;
3653
+ thickness: z.ZodOptional<z.ZodNumber>;
3654
+ sourceSlabId: z.ZodOptional<z.ZodTemplateLiteral<`slab_${string}`>>;
3655
+ finish: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>>;
3656
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3657
+ id: z.ZodString;
3658
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3659
+ finish: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
3660
+ }, z.core.$strip>>>;
3661
+ }, z.core.$strip>>;
3662
+ ceiling: z.ZodOptional<z.ZodObject<{
3663
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3664
+ id: z.ZodString;
3665
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3666
+ finish: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
3667
+ }, z.core.$strip>>>;
3668
+ }, z.core.$strip>>;
3669
+ floorStepFinish: z.ZodOptional<z.ZodString>;
3670
+ floorStepOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
3671
+ key: z.ZodString;
3672
+ step: z.ZodOptional<z.ZodNumber>;
3673
+ finish: z.ZodString;
3674
+ }, z.core.$strip>>>;
3675
+ floorEdgeFinish: z.ZodOptional<z.ZodString>;
3676
+ wallMaterial: z.ZodOptional<z.ZodString>;
3677
+ wallOverrides: z.ZodOptional<z.ZodArray<z.ZodObject<{
3678
+ wallId: z.ZodString;
3679
+ face: z.ZodEnum<{
3680
+ a: "a";
3681
+ b: "b";
3682
+ }>;
3683
+ finish: z.ZodString;
3684
+ }, z.core.$strip>>>;
3685
+ hasFloor: z.ZodOptional<z.ZodLiteral<false>>;
3686
+ hasCeiling: z.ZodOptional<z.ZodLiteral<false>>;
1980
3687
  spaceRole: z.ZodDefault<z.ZodEnum<{
1981
- generic: "generic";
1982
3688
  room: "room";
3689
+ generic: "generic";
1983
3690
  }>>;
1984
3691
  roomNumber: z.ZodDefault<z.ZodString>;
1985
3692
  enclosureStatus: z.ZodDefault<z.ZodEnum<{
@@ -2015,6 +3722,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2015
3722
  zoom: z.ZodOptional<z.ZodNumber>;
2016
3723
  }, z.core.$strip>>;
2017
3724
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3725
+ provenance: z.ZodOptional<z.ZodObject<{
3726
+ refs: z.ZodArray<z.ZodObject<{
3727
+ ns: z.ZodOptional<z.ZodString>;
3728
+ id: z.ZodString;
3729
+ role: z.ZodOptional<z.ZodEnum<{
3730
+ primary: "primary";
3731
+ piece: "piece";
3732
+ absorbed: "absorbed";
3733
+ alias: "alias";
3734
+ derived: "derived";
3735
+ }>>;
3736
+ }, z.core.$strip>>;
3737
+ lineage: z.ZodOptional<z.ZodObject<{
3738
+ op: z.ZodEnum<{
3739
+ import: "import";
3740
+ split: "split";
3741
+ merge: "merge";
3742
+ duplicate: "duplicate";
3743
+ convert: "convert";
3744
+ promote: "promote";
3745
+ "make-independent": "make-independent";
3746
+ attach: "attach";
3747
+ }>;
3748
+ fromIds: z.ZodArray<z.ZodString>;
3749
+ }, z.core.$strip>>;
3750
+ }, z.core.$strip>>;
2018
3751
  id: z.ZodDefault<z.ZodTemplateLiteral<`slab_${string}`>>;
2019
3752
  type: z.ZodDefault<z.ZodLiteral<"slab">>;
2020
3753
  material: z.ZodOptional<z.ZodObject<{
@@ -2058,15 +3791,71 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2058
3791
  stair: "stair";
2059
3792
  elevator: "elevator";
2060
3793
  manual: "manual";
3794
+ room: "room";
3795
+ "floor-opening": "floor-opening";
2061
3796
  }>>;
3797
+ openingId: z.ZodOptional<z.ZodString>;
2062
3798
  stairId: z.ZodOptional<z.ZodString>;
2063
3799
  elevatorId: z.ZodOptional<z.ZodString>;
2064
3800
  }, z.core.$strip>>>;
2065
3801
  elevation: z.ZodDefault<z.ZodNumber>;
3802
+ floorHeight: z.ZodOptional<z.ZodNumber>;
3803
+ referenceFloorElevation: z.ZodOptional<z.ZodNumber>;
3804
+ foundation: z.ZodOptional<z.ZodObject<{
3805
+ type: z.ZodEnum<{
3806
+ solid: "solid";
3807
+ none: "none";
3808
+ }>;
3809
+ material: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodObject<{
3810
+ id: z.ZodOptional<z.ZodString>;
3811
+ preset: z.ZodOptional<z.ZodCatch<z.ZodEnum<{
3812
+ custom: "custom";
3813
+ white: "white";
3814
+ brick: "brick";
3815
+ concrete: "concrete";
3816
+ wood: "wood";
3817
+ glass: "glass";
3818
+ metal: "metal";
3819
+ plaster: "plaster";
3820
+ tile: "tile";
3821
+ marble: "marble";
3822
+ }>>>;
3823
+ properties: z.ZodOptional<z.ZodObject<{
3824
+ color: z.ZodDefault<z.ZodString>;
3825
+ roughness: z.ZodDefault<z.ZodNumber>;
3826
+ metalness: z.ZodDefault<z.ZodNumber>;
3827
+ opacity: z.ZodDefault<z.ZodNumber>;
3828
+ transparent: z.ZodDefault<z.ZodBoolean>;
3829
+ side: z.ZodDefault<z.ZodEnum<{
3830
+ front: "front";
3831
+ back: "back";
3832
+ double: "double";
3833
+ }>>;
3834
+ }, z.core.$strip>>;
3835
+ texture: z.ZodOptional<z.ZodObject<{
3836
+ url: z.ZodString;
3837
+ repeat: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3838
+ scale: z.ZodOptional<z.ZodNumber>;
3839
+ }, z.core.$strip>>;
3840
+ }, z.core.$strip>]>>;
3841
+ }, z.core.$strip>>;
2066
3842
  thickness: z.ZodDefault<z.ZodNumber>;
2067
3843
  recessed: z.ZodDefault<z.ZodBoolean>;
2068
3844
  recessedRimElevation: z.ZodOptional<z.ZodNumber>;
2069
3845
  fillToTerrain: z.ZodOptional<z.ZodBoolean>;
3846
+ boundary: z.ZodOptional<z.ZodLiteral<"auto">>;
3847
+ support: z.ZodOptional<z.ZodLiteral<"open">>;
3848
+ plateRole: z.ZodOptional<z.ZodEnum<{
3849
+ base: "base";
3850
+ platform: "platform";
3851
+ sunken: "sunken";
3852
+ }>>;
3853
+ railing: z.ZodOptional<z.ZodArray<z.ZodObject<{
3854
+ start: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
3855
+ end: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
3856
+ }, z.core.$strip>>>;
3857
+ zoneIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
3858
+ associatedZoneIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2070
3859
  autoFromWalls: z.ZodDefault<z.ZodBoolean>;
2071
3860
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2072
3861
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -2084,6 +3873,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2084
3873
  zoom: z.ZodOptional<z.ZodNumber>;
2085
3874
  }, z.core.$strip>>;
2086
3875
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3876
+ provenance: z.ZodOptional<z.ZodObject<{
3877
+ refs: z.ZodArray<z.ZodObject<{
3878
+ ns: z.ZodOptional<z.ZodString>;
3879
+ id: z.ZodString;
3880
+ role: z.ZodOptional<z.ZodEnum<{
3881
+ primary: "primary";
3882
+ piece: "piece";
3883
+ absorbed: "absorbed";
3884
+ alias: "alias";
3885
+ derived: "derived";
3886
+ }>>;
3887
+ }, z.core.$strip>>;
3888
+ lineage: z.ZodOptional<z.ZodObject<{
3889
+ op: z.ZodEnum<{
3890
+ import: "import";
3891
+ split: "split";
3892
+ merge: "merge";
3893
+ duplicate: "duplicate";
3894
+ convert: "convert";
3895
+ promote: "promote";
3896
+ "make-independent": "make-independent";
3897
+ attach: "attach";
3898
+ }>;
3899
+ fromIds: z.ZodArray<z.ZodString>;
3900
+ }, z.core.$strip>>;
3901
+ }, z.core.$strip>>;
2087
3902
  id: z.ZodDefault<z.ZodTemplateLiteral<`ceiling_${string}`>>;
2088
3903
  type: z.ZodDefault<z.ZodLiteral<"ceiling">>;
2089
3904
  children: z.ZodDefault<z.ZodArray<z.ZodUnion<readonly [z.ZodDefault<z.ZodTemplateLiteral<`item_${string}`>>, z.ZodDefault<z.ZodTemplateLiteral<`procedural-item_${string}`>>]>>>;
@@ -2128,11 +3943,22 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2128
3943
  stair: "stair";
2129
3944
  elevator: "elevator";
2130
3945
  manual: "manual";
3946
+ room: "room";
3947
+ "floor-opening": "floor-opening";
2131
3948
  }>>;
3949
+ openingId: z.ZodOptional<z.ZodString>;
2132
3950
  stairId: z.ZodOptional<z.ZodString>;
2133
3951
  elevatorId: z.ZodOptional<z.ZodString>;
2134
3952
  }, z.core.$strip>>>;
3953
+ openingIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
2135
3954
  height: z.ZodOptional<z.ZodNumber>;
3955
+ regions: z.ZodOptional<z.ZodArray<z.ZodObject<{
3956
+ id: z.ZodString;
3957
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3958
+ finish: z.ZodUnion<readonly [z.ZodString, z.ZodRecord<z.ZodString, z.ZodUnknown>]>;
3959
+ }, z.core.$strip>>>;
3960
+ boundary: z.ZodOptional<z.ZodLiteral<"auto">>;
3961
+ zoneId: z.ZodOptional<z.ZodString>;
2136
3962
  autoFromWalls: z.ZodDefault<z.ZodBoolean>;
2137
3963
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2138
3964
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -2150,6 +3976,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2150
3976
  zoom: z.ZodOptional<z.ZodNumber>;
2151
3977
  }, z.core.$strip>>;
2152
3978
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
3979
+ provenance: z.ZodOptional<z.ZodObject<{
3980
+ refs: z.ZodArray<z.ZodObject<{
3981
+ ns: z.ZodOptional<z.ZodString>;
3982
+ id: z.ZodString;
3983
+ role: z.ZodOptional<z.ZodEnum<{
3984
+ primary: "primary";
3985
+ piece: "piece";
3986
+ absorbed: "absorbed";
3987
+ alias: "alias";
3988
+ derived: "derived";
3989
+ }>>;
3990
+ }, z.core.$strip>>;
3991
+ lineage: z.ZodOptional<z.ZodObject<{
3992
+ op: z.ZodEnum<{
3993
+ import: "import";
3994
+ split: "split";
3995
+ merge: "merge";
3996
+ duplicate: "duplicate";
3997
+ convert: "convert";
3998
+ promote: "promote";
3999
+ "make-independent": "make-independent";
4000
+ attach: "attach";
4001
+ }>;
4002
+ fromIds: z.ZodArray<z.ZodString>;
4003
+ }, z.core.$strip>>;
4004
+ }, z.core.$strip>>;
2153
4005
  id: z.ZodDefault<z.ZodTemplateLiteral<`roof_${string}`>>;
2154
4006
  type: z.ZodDefault<z.ZodLiteral<"roof">>;
2155
4007
  material: z.ZodOptional<z.ZodObject<{
@@ -2296,6 +4148,81 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2296
4148
  localPosition: z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>;
2297
4149
  curbHeight: z.ZodDefault<z.ZodNumber>;
2298
4150
  }, z.core.$strip>], "kind">>;
4151
+ assembly: z.ZodOptional<z.ZodObject<{
4152
+ layers: z.ZodArray<z.ZodObject<{
4153
+ id: z.ZodString;
4154
+ role: z.ZodEnum<{
4155
+ fill: "fill";
4156
+ shell: "shell";
4157
+ finish: "finish";
4158
+ lining: "lining";
4159
+ substrate: "substrate";
4160
+ sheathing: "sheathing";
4161
+ membrane: "membrane";
4162
+ underlay: "underlay";
4163
+ insulation: "insulation";
4164
+ air: "air";
4165
+ furring: "furring";
4166
+ structure: "structure";
4167
+ deck: "deck";
4168
+ covering: "covering";
4169
+ glazing: "glazing";
4170
+ }>;
4171
+ thickness: z.ZodNumber;
4172
+ core: z.ZodOptional<z.ZodLiteral<true>>;
4173
+ material: z.ZodOptional<z.ZodString>;
4174
+ slot: z.ZodOptional<z.ZodString>;
4175
+ returns: z.ZodOptional<z.ZodBoolean>;
4176
+ display: z.ZodOptional<z.ZodEnum<{
4177
+ construction: "construction";
4178
+ finished: "finished";
4179
+ }>>;
4180
+ inset: z.ZodOptional<z.ZodNumber>;
4181
+ bottom: z.ZodOptional<z.ZodNumber>;
4182
+ lift: z.ZodOptional<z.ZodNumber>;
4183
+ src: z.ZodOptional<z.ZodString>;
4184
+ }, z.core.$strip>>;
4185
+ backing: z.ZodOptional<z.ZodArray<z.ZodObject<{
4186
+ id: z.ZodString;
4187
+ role: z.ZodEnum<{
4188
+ fill: "fill";
4189
+ shell: "shell";
4190
+ finish: "finish";
4191
+ lining: "lining";
4192
+ substrate: "substrate";
4193
+ sheathing: "sheathing";
4194
+ membrane: "membrane";
4195
+ underlay: "underlay";
4196
+ insulation: "insulation";
4197
+ air: "air";
4198
+ furring: "furring";
4199
+ structure: "structure";
4200
+ deck: "deck";
4201
+ covering: "covering";
4202
+ glazing: "glazing";
4203
+ }>;
4204
+ thickness: z.ZodNumber;
4205
+ core: z.ZodOptional<z.ZodLiteral<true>>;
4206
+ material: z.ZodOptional<z.ZodString>;
4207
+ slot: z.ZodOptional<z.ZodString>;
4208
+ returns: z.ZodOptional<z.ZodBoolean>;
4209
+ display: z.ZodOptional<z.ZodEnum<{
4210
+ construction: "construction";
4211
+ finished: "finished";
4212
+ }>>;
4213
+ inset: z.ZodOptional<z.ZodNumber>;
4214
+ bottom: z.ZodOptional<z.ZodNumber>;
4215
+ lift: z.ZodOptional<z.ZodNumber>;
4216
+ src: z.ZodOptional<z.ZodString>;
4217
+ }, z.core.$strip>>>;
4218
+ face: z.ZodOptional<z.ZodEnum<{
4219
+ front: "front";
4220
+ exterior: "exterior";
4221
+ }>>;
4222
+ presetId: z.ZodOptional<z.ZodString>;
4223
+ cavityInsulation: z.ZodOptional<z.ZodString>;
4224
+ }, z.core.$strip>>;
4225
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2299
4226
  children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`rseg_${string}`>>>>;
2300
4227
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2301
4228
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -2313,6 +4240,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2313
4240
  zoom: z.ZodOptional<z.ZodNumber>;
2314
4241
  }, z.core.$strip>>;
2315
4242
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4243
+ provenance: z.ZodOptional<z.ZodObject<{
4244
+ refs: z.ZodArray<z.ZodObject<{
4245
+ ns: z.ZodOptional<z.ZodString>;
4246
+ id: z.ZodString;
4247
+ role: z.ZodOptional<z.ZodEnum<{
4248
+ primary: "primary";
4249
+ piece: "piece";
4250
+ absorbed: "absorbed";
4251
+ alias: "alias";
4252
+ derived: "derived";
4253
+ }>>;
4254
+ }, z.core.$strip>>;
4255
+ lineage: z.ZodOptional<z.ZodObject<{
4256
+ op: z.ZodEnum<{
4257
+ import: "import";
4258
+ split: "split";
4259
+ merge: "merge";
4260
+ duplicate: "duplicate";
4261
+ convert: "convert";
4262
+ promote: "promote";
4263
+ "make-independent": "make-independent";
4264
+ attach: "attach";
4265
+ }>;
4266
+ fromIds: z.ZodArray<z.ZodString>;
4267
+ }, z.core.$strip>>;
4268
+ }, z.core.$strip>>;
2316
4269
  id: z.ZodDefault<z.ZodTemplateLiteral<`rseg_${string}`>>;
2317
4270
  type: z.ZodDefault<z.ZodLiteral<"roof-segment">>;
2318
4271
  material: z.ZodOptional<z.ZodObject<{
@@ -2498,8 +4451,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2498
4451
  shedSideInfillMaxX: z.ZodOptional<z.ZodNumber>;
2499
4452
  shedFootprintPieces: z.ZodOptional<z.ZodArray<z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>>>;
2500
4453
  shedOpenEndSides: z.ZodOptional<z.ZodArray<z.ZodEnum<{
2501
- right: "right";
2502
4454
  left: "left";
4455
+ right: "right";
2503
4456
  }>>>;
2504
4457
  shedJointFrame: z.ZodOptional<z.ZodObject<{
2505
4458
  position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
@@ -2510,11 +4463,13 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2510
4463
  shedJointScopeId: z.ZodOptional<z.ZodString>;
2511
4464
  managedByParent: z.ZodDefault<z.ZodBoolean>;
2512
4465
  wallShell: z.ZodDefault<z.ZodEnum<{
2513
- omit: "omit";
2514
4466
  auto: "auto";
4467
+ omit: "omit";
2515
4468
  include: "include";
2516
4469
  }>>;
2517
4470
  shedInsetEndPanels: z.ZodDefault<z.ZodBoolean>;
4471
+ fascia: z.ZodOptional<z.ZodBoolean>;
4472
+ fasciaHighEdge: z.ZodOptional<z.ZodBoolean>;
2518
4473
  gambrelLowerWidthRatio: z.ZodDefault<z.ZodNumber>;
2519
4474
  gambrelLowerHeightRatio: z.ZodDefault<z.ZodNumber>;
2520
4475
  mansardSteepWidthRatio: z.ZodDefault<z.ZodNumber>;
@@ -2541,6 +4496,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2541
4496
  zoom: z.ZodOptional<z.ZodNumber>;
2542
4497
  }, z.core.$strip>>;
2543
4498
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4499
+ provenance: z.ZodOptional<z.ZodObject<{
4500
+ refs: z.ZodArray<z.ZodObject<{
4501
+ ns: z.ZodOptional<z.ZodString>;
4502
+ id: z.ZodString;
4503
+ role: z.ZodOptional<z.ZodEnum<{
4504
+ primary: "primary";
4505
+ piece: "piece";
4506
+ absorbed: "absorbed";
4507
+ alias: "alias";
4508
+ derived: "derived";
4509
+ }>>;
4510
+ }, z.core.$strip>>;
4511
+ lineage: z.ZodOptional<z.ZodObject<{
4512
+ op: z.ZodEnum<{
4513
+ import: "import";
4514
+ split: "split";
4515
+ merge: "merge";
4516
+ duplicate: "duplicate";
4517
+ convert: "convert";
4518
+ promote: "promote";
4519
+ "make-independent": "make-independent";
4520
+ attach: "attach";
4521
+ }>;
4522
+ fromIds: z.ZodArray<z.ZodString>;
4523
+ }, z.core.$strip>>;
4524
+ }, z.core.$strip>>;
2544
4525
  id: z.ZodDefault<z.ZodTemplateLiteral<`shelf_${string}`>>;
2545
4526
  type: z.ZodDefault<z.ZodLiteral<"shelf">>;
2546
4527
  children: z.ZodDefault<z.ZodArray<z.ZodString>>;
@@ -2617,6 +4598,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2617
4598
  zoom: z.ZodOptional<z.ZodNumber>;
2618
4599
  }, z.core.$strip>>;
2619
4600
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4601
+ provenance: z.ZodOptional<z.ZodObject<{
4602
+ refs: z.ZodArray<z.ZodObject<{
4603
+ ns: z.ZodOptional<z.ZodString>;
4604
+ id: z.ZodString;
4605
+ role: z.ZodOptional<z.ZodEnum<{
4606
+ primary: "primary";
4607
+ piece: "piece";
4608
+ absorbed: "absorbed";
4609
+ alias: "alias";
4610
+ derived: "derived";
4611
+ }>>;
4612
+ }, z.core.$strip>>;
4613
+ lineage: z.ZodOptional<z.ZodObject<{
4614
+ op: z.ZodEnum<{
4615
+ import: "import";
4616
+ split: "split";
4617
+ merge: "merge";
4618
+ duplicate: "duplicate";
4619
+ convert: "convert";
4620
+ promote: "promote";
4621
+ "make-independent": "make-independent";
4622
+ attach: "attach";
4623
+ }>;
4624
+ fromIds: z.ZodArray<z.ZodString>;
4625
+ }, z.core.$strip>>;
4626
+ }, z.core.$strip>>;
2620
4627
  id: z.ZodDefault<z.ZodTemplateLiteral<`stair_${string}`>>;
2621
4628
  type: z.ZodDefault<z.ZodLiteral<"stair">>;
2622
4629
  material: z.ZodOptional<z.ZodObject<{
@@ -2770,9 +4777,33 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2770
4777
  openingOffset: z.ZodDefault<z.ZodNumber>;
2771
4778
  width: z.ZodDefault<z.ZodNumber>;
2772
4779
  totalRise: z.ZodOptional<z.ZodNumber>;
4780
+ designTargets: z.ZodOptional<z.ZodObject<{
4781
+ maxRiserHeight: z.ZodDefault<z.ZodNumber>;
4782
+ minimumGoing: z.ZodDefault<z.ZodNumber>;
4783
+ targetGoing: z.ZodDefault<z.ZodNumber>;
4784
+ minimumHeadroom: z.ZodDefault<z.ZodNumber>;
4785
+ }, z.core.$strip>>;
4786
+ uniformRisers: z.ZodOptional<z.ZodBoolean>;
2773
4787
  stepCount: z.ZodDefault<z.ZodNumber>;
2774
4788
  thickness: z.ZodDefault<z.ZodNumber>;
2775
4789
  fillToFloor: z.ZodDefault<z.ZodBoolean>;
4790
+ construction: z.ZodOptional<z.ZodObject<{
4791
+ mode: z.ZodDefault<z.ZodEnum<{
4792
+ solid: "solid";
4793
+ open: "open";
4794
+ waist: "waist";
4795
+ "side-stringers": "side-stringers";
4796
+ "center-stringer": "center-stringer";
4797
+ }>>;
4798
+ waistThickness: z.ZodDefault<z.ZodNumber>;
4799
+ treadThickness: z.ZodDefault<z.ZodNumber>;
4800
+ riserThickness: z.ZodDefault<z.ZodNumber>;
4801
+ nosing: z.ZodDefault<z.ZodNumber>;
4802
+ finishThickness: z.ZodDefault<z.ZodNumber>;
4803
+ closedRisers: z.ZodDefault<z.ZodBoolean>;
4804
+ stringerWidth: z.ZodDefault<z.ZodNumber>;
4805
+ stringerDepth: z.ZodDefault<z.ZodNumber>;
4806
+ }, z.core.$strip>>;
2776
4807
  innerRadius: z.ZodDefault<z.ZodNumber>;
2777
4808
  sweepAngle: z.ZodDefault<z.ZodNumber>;
2778
4809
  topLandingMode: z.ZodDefault<z.ZodEnum<{
@@ -2783,12 +4814,58 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2783
4814
  showCenterColumn: z.ZodDefault<z.ZodBoolean>;
2784
4815
  showStepSupports: z.ZodDefault<z.ZodBoolean>;
2785
4816
  railingMode: z.ZodDefault<z.ZodEnum<{
2786
- right: "right";
2787
4817
  left: "left";
4818
+ right: "right";
2788
4819
  none: "none";
2789
4820
  both: "both";
2790
4821
  }>>;
2791
4822
  railingHeight: z.ZodDefault<z.ZodNumber>;
4823
+ railingStyle: z.ZodOptional<z.ZodEnum<{
4824
+ glass: "glass";
4825
+ metal: "metal";
4826
+ balusters: "balusters";
4827
+ cable: "cable";
4828
+ boards: "boards";
4829
+ "post-and-rail": "post-and-rail";
4830
+ }>>;
4831
+ railingPath: z.ZodOptional<z.ZodEnum<{
4832
+ continuous: "continuous";
4833
+ original: "original";
4834
+ }>>;
4835
+ handrail: z.ZodOptional<z.ZodObject<{
4836
+ mode: z.ZodDefault<z.ZodEnum<{
4837
+ left: "left";
4838
+ right: "right";
4839
+ none: "none";
4840
+ both: "both";
4841
+ }>>;
4842
+ height: z.ZodDefault<z.ZodNumber>;
4843
+ diameter: z.ZodDefault<z.ZodNumber>;
4844
+ offset: z.ZodDefault<z.ZodNumber>;
4845
+ bottom: z.ZodOptional<z.ZodObject<{
4846
+ extension: z.ZodDefault<z.ZodNumber>;
4847
+ return: z.ZodDefault<z.ZodEnum<{
4848
+ wall: "wall";
4849
+ floor: "floor";
4850
+ none: "none";
4851
+ post: "post";
4852
+ }>>;
4853
+ returnLength: z.ZodDefault<z.ZodNumber>;
4854
+ }, z.core.$strip>>;
4855
+ top: z.ZodOptional<z.ZodObject<{
4856
+ extension: z.ZodDefault<z.ZodNumber>;
4857
+ return: z.ZodDefault<z.ZodEnum<{
4858
+ wall: "wall";
4859
+ floor: "floor";
4860
+ none: "none";
4861
+ post: "post";
4862
+ }>>;
4863
+ returnLength: z.ZodDefault<z.ZodNumber>;
4864
+ }, z.core.$strip>>;
4865
+ }, z.core.$strip>>;
4866
+ railingTopPost: z.ZodOptional<z.ZodBoolean>;
4867
+ railingTopReach: z.ZodOptional<z.ZodNumber>;
4868
+ railingPostThrough: z.ZodOptional<z.ZodBoolean>;
2792
4869
  children: z.ZodDefault<z.ZodArray<z.ZodDefault<z.ZodTemplateLiteral<`sseg_${string}`>>>>;
2793
4870
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2794
4871
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -2806,6 +4883,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2806
4883
  zoom: z.ZodOptional<z.ZodNumber>;
2807
4884
  }, z.core.$strip>>;
2808
4885
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
4886
+ provenance: z.ZodOptional<z.ZodObject<{
4887
+ refs: z.ZodArray<z.ZodObject<{
4888
+ ns: z.ZodOptional<z.ZodString>;
4889
+ id: z.ZodString;
4890
+ role: z.ZodOptional<z.ZodEnum<{
4891
+ primary: "primary";
4892
+ piece: "piece";
4893
+ absorbed: "absorbed";
4894
+ alias: "alias";
4895
+ derived: "derived";
4896
+ }>>;
4897
+ }, z.core.$strip>>;
4898
+ lineage: z.ZodOptional<z.ZodObject<{
4899
+ op: z.ZodEnum<{
4900
+ import: "import";
4901
+ split: "split";
4902
+ merge: "merge";
4903
+ duplicate: "duplicate";
4904
+ convert: "convert";
4905
+ promote: "promote";
4906
+ "make-independent": "make-independent";
4907
+ attach: "attach";
4908
+ }>;
4909
+ fromIds: z.ZodArray<z.ZodString>;
4910
+ }, z.core.$strip>>;
4911
+ }, z.core.$strip>>;
2809
4912
  id: z.ZodDefault<z.ZodTemplateLiteral<`sseg_${string}`>>;
2810
4913
  type: z.ZodDefault<z.ZodLiteral<"stair-segment">>;
2811
4914
  material: z.ZodOptional<z.ZodObject<{
@@ -2841,6 +4944,7 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2841
4944
  }, z.core.$strip>>;
2842
4945
  }, z.core.$strip>>;
2843
4946
  materialPreset: z.ZodOptional<z.ZodString>;
4947
+ slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
2844
4948
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
2845
4949
  rotation: z.ZodDefault<z.ZodNumber>;
2846
4950
  segmentType: z.ZodDefault<z.ZodEnum<{
@@ -2852,11 +4956,40 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2852
4956
  height: z.ZodDefault<z.ZodNumber>;
2853
4957
  stepCount: z.ZodDefault<z.ZodNumber>;
2854
4958
  attachmentSide: z.ZodDefault<z.ZodEnum<{
2855
- front: "front";
2856
- right: "right";
2857
4959
  left: "left";
4960
+ right: "right";
4961
+ front: "front";
2858
4962
  }>>;
2859
4963
  fillToFloor: z.ZodDefault<z.ZodBoolean>;
4964
+ construction: z.ZodOptional<z.ZodObject<{
4965
+ mode: z.ZodDefault<z.ZodEnum<{
4966
+ solid: "solid";
4967
+ open: "open";
4968
+ waist: "waist";
4969
+ "side-stringers": "side-stringers";
4970
+ "center-stringer": "center-stringer";
4971
+ }>>;
4972
+ waistThickness: z.ZodDefault<z.ZodNumber>;
4973
+ treadThickness: z.ZodDefault<z.ZodNumber>;
4974
+ riserThickness: z.ZodDefault<z.ZodNumber>;
4975
+ nosing: z.ZodDefault<z.ZodNumber>;
4976
+ finishThickness: z.ZodDefault<z.ZodNumber>;
4977
+ closedRisers: z.ZodDefault<z.ZodBoolean>;
4978
+ stringerWidth: z.ZodDefault<z.ZodNumber>;
4979
+ stringerDepth: z.ZodDefault<z.ZodNumber>;
4980
+ }, z.core.$strip>>;
4981
+ winder: z.ZodOptional<z.ZodObject<{
4982
+ turn: z.ZodEnum<{
4983
+ left: "left";
4984
+ right: "right";
4985
+ }>;
4986
+ innerGap: z.ZodDefault<z.ZodNumber>;
4987
+ walkingLineOffset: z.ZodDefault<z.ZodNumber>;
4988
+ division: z.ZodDefault<z.ZodEnum<{
4989
+ "equal-going": "equal-going";
4990
+ "equal-angle": "equal-angle";
4991
+ }>>;
4992
+ }, z.core.$strip>>;
2860
4993
  thickness: z.ZodDefault<z.ZodNumber>;
2861
4994
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
2862
4995
  object: z.ZodDefault<z.ZodLiteral<"node">>;
@@ -2874,6 +5007,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2874
5007
  zoom: z.ZodOptional<z.ZodNumber>;
2875
5008
  }, z.core.$strip>>;
2876
5009
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5010
+ provenance: z.ZodOptional<z.ZodObject<{
5011
+ refs: z.ZodArray<z.ZodObject<{
5012
+ ns: z.ZodOptional<z.ZodString>;
5013
+ id: z.ZodString;
5014
+ role: z.ZodOptional<z.ZodEnum<{
5015
+ primary: "primary";
5016
+ piece: "piece";
5017
+ absorbed: "absorbed";
5018
+ alias: "alias";
5019
+ derived: "derived";
5020
+ }>>;
5021
+ }, z.core.$strip>>;
5022
+ lineage: z.ZodOptional<z.ZodObject<{
5023
+ op: z.ZodEnum<{
5024
+ import: "import";
5025
+ split: "split";
5026
+ merge: "merge";
5027
+ duplicate: "duplicate";
5028
+ convert: "convert";
5029
+ promote: "promote";
5030
+ "make-independent": "make-independent";
5031
+ attach: "attach";
5032
+ }>;
5033
+ fromIds: z.ZodArray<z.ZodString>;
5034
+ }, z.core.$strip>>;
5035
+ }, z.core.$strip>>;
2877
5036
  id: z.ZodDefault<z.ZodTemplateLiteral<`scan_${string}`>>;
2878
5037
  type: z.ZodDefault<z.ZodLiteral<"scan">>;
2879
5038
  url: z.ZodDefault<z.ZodNullable<z.ZodString>>;
@@ -2904,6 +5063,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2904
5063
  zoom: z.ZodOptional<z.ZodNumber>;
2905
5064
  }, z.core.$strip>>;
2906
5065
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5066
+ provenance: z.ZodOptional<z.ZodObject<{
5067
+ refs: z.ZodArray<z.ZodObject<{
5068
+ ns: z.ZodOptional<z.ZodString>;
5069
+ id: z.ZodString;
5070
+ role: z.ZodOptional<z.ZodEnum<{
5071
+ primary: "primary";
5072
+ piece: "piece";
5073
+ absorbed: "absorbed";
5074
+ alias: "alias";
5075
+ derived: "derived";
5076
+ }>>;
5077
+ }, z.core.$strip>>;
5078
+ lineage: z.ZodOptional<z.ZodObject<{
5079
+ op: z.ZodEnum<{
5080
+ import: "import";
5081
+ split: "split";
5082
+ merge: "merge";
5083
+ duplicate: "duplicate";
5084
+ convert: "convert";
5085
+ promote: "promote";
5086
+ "make-independent": "make-independent";
5087
+ attach: "attach";
5088
+ }>;
5089
+ fromIds: z.ZodArray<z.ZodString>;
5090
+ }, z.core.$strip>>;
5091
+ }, z.core.$strip>>;
2907
5092
  id: z.ZodDefault<z.ZodTemplateLiteral<`guide_${string}`>>;
2908
5093
  type: z.ZodDefault<z.ZodLiteral<"guide">>;
2909
5094
  url: z.ZodString;
@@ -2935,6 +5120,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
2935
5120
  zoom: z.ZodOptional<z.ZodNumber>;
2936
5121
  }, z.core.$strip>>;
2937
5122
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5123
+ provenance: z.ZodOptional<z.ZodObject<{
5124
+ refs: z.ZodArray<z.ZodObject<{
5125
+ ns: z.ZodOptional<z.ZodString>;
5126
+ id: z.ZodString;
5127
+ role: z.ZodOptional<z.ZodEnum<{
5128
+ primary: "primary";
5129
+ piece: "piece";
5130
+ absorbed: "absorbed";
5131
+ alias: "alias";
5132
+ derived: "derived";
5133
+ }>>;
5134
+ }, z.core.$strip>>;
5135
+ lineage: z.ZodOptional<z.ZodObject<{
5136
+ op: z.ZodEnum<{
5137
+ import: "import";
5138
+ split: "split";
5139
+ merge: "merge";
5140
+ duplicate: "duplicate";
5141
+ convert: "convert";
5142
+ promote: "promote";
5143
+ "make-independent": "make-independent";
5144
+ attach: "attach";
5145
+ }>;
5146
+ fromIds: z.ZodArray<z.ZodString>;
5147
+ }, z.core.$strip>>;
5148
+ }, z.core.$strip>>;
2938
5149
  id: z.ZodDefault<z.ZodTemplateLiteral<`measurement_${string}`>>;
2939
5150
  type: z.ZodDefault<z.ZodLiteral<"measurement">>;
2940
5151
  measurement: z.ZodDiscriminatedUnion<[z.ZodObject<{
@@ -3034,6 +5245,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3034
5245
  zoom: z.ZodOptional<z.ZodNumber>;
3035
5246
  }, z.core.$strip>>;
3036
5247
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5248
+ provenance: z.ZodOptional<z.ZodObject<{
5249
+ refs: z.ZodArray<z.ZodObject<{
5250
+ ns: z.ZodOptional<z.ZodString>;
5251
+ id: z.ZodString;
5252
+ role: z.ZodOptional<z.ZodEnum<{
5253
+ primary: "primary";
5254
+ piece: "piece";
5255
+ absorbed: "absorbed";
5256
+ alias: "alias";
5257
+ derived: "derived";
5258
+ }>>;
5259
+ }, z.core.$strip>>;
5260
+ lineage: z.ZodOptional<z.ZodObject<{
5261
+ op: z.ZodEnum<{
5262
+ import: "import";
5263
+ split: "split";
5264
+ merge: "merge";
5265
+ duplicate: "duplicate";
5266
+ convert: "convert";
5267
+ promote: "promote";
5268
+ "make-independent": "make-independent";
5269
+ attach: "attach";
5270
+ }>;
5271
+ fromIds: z.ZodArray<z.ZodString>;
5272
+ }, z.core.$strip>>;
5273
+ }, z.core.$strip>>;
3037
5274
  id: z.ZodDefault<z.ZodTemplateLiteral<`spawn_${string}`>>;
3038
5275
  type: z.ZodDefault<z.ZodLiteral<"spawn">>;
3039
5276
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -3055,6 +5292,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3055
5292
  zoom: z.ZodOptional<z.ZodNumber>;
3056
5293
  }, z.core.$strip>>;
3057
5294
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5295
+ provenance: z.ZodOptional<z.ZodObject<{
5296
+ refs: z.ZodArray<z.ZodObject<{
5297
+ ns: z.ZodOptional<z.ZodString>;
5298
+ id: z.ZodString;
5299
+ role: z.ZodOptional<z.ZodEnum<{
5300
+ primary: "primary";
5301
+ piece: "piece";
5302
+ absorbed: "absorbed";
5303
+ alias: "alias";
5304
+ derived: "derived";
5305
+ }>>;
5306
+ }, z.core.$strip>>;
5307
+ lineage: z.ZodOptional<z.ZodObject<{
5308
+ op: z.ZodEnum<{
5309
+ import: "import";
5310
+ split: "split";
5311
+ merge: "merge";
5312
+ duplicate: "duplicate";
5313
+ convert: "convert";
5314
+ promote: "promote";
5315
+ "make-independent": "make-independent";
5316
+ attach: "attach";
5317
+ }>;
5318
+ fromIds: z.ZodArray<z.ZodString>;
5319
+ }, z.core.$strip>>;
5320
+ }, z.core.$strip>>;
3058
5321
  id: z.ZodDefault<z.ZodTemplateLiteral<`window_${string}`>>;
3059
5322
  type: z.ZodDefault<z.ZodLiteral<"window">>;
3060
5323
  material: z.ZodOptional<z.ZodObject<{
@@ -3090,33 +5353,138 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3090
5353
  }, z.core.$strip>>;
3091
5354
  }, z.core.$strip>>;
3092
5355
  slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5356
+ source: z.ZodOptional<z.ZodObject<{
5357
+ kind: z.ZodLiteral<"script">;
5358
+ meta: z.ZodOptional<z.ZodObject<{
5359
+ description: z.ZodOptional<z.ZodString>;
5360
+ category: z.ZodOptional<z.ZodString>;
5361
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
5362
+ parent: z.ZodOptional<z.ZodString>;
5363
+ }, z.core.$strip>>;
5364
+ language: z.ZodDefault<z.ZodEnum<{
5365
+ three: "three";
5366
+ bpy: "bpy";
5367
+ }>>;
5368
+ script: z.ZodString;
5369
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>>>;
5370
+ artifact: z.ZodString;
5371
+ manifest: z.ZodObject<{
5372
+ bounds: z.ZodObject<{
5373
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5374
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5375
+ }, z.core.$strip>;
5376
+ params: z.ZodDefault<z.ZodArray<z.ZodObject<{
5377
+ id: z.ZodString;
5378
+ label: z.ZodOptional<z.ZodString>;
5379
+ kind: z.ZodEnum<{
5380
+ string: "string";
5381
+ number: "number";
5382
+ boolean: "boolean";
5383
+ }>;
5384
+ default: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
5385
+ min: z.ZodOptional<z.ZodNumber>;
5386
+ max: z.ZodOptional<z.ZodNumber>;
5387
+ step: z.ZodOptional<z.ZodNumber>;
5388
+ unit: z.ZodOptional<z.ZodString>;
5389
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
5390
+ }, z.core.$strip>>>;
5391
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
5392
+ id: z.ZodString;
5393
+ label: z.ZodOptional<z.ZodString>;
5394
+ type: z.ZodOptional<z.ZodString>;
5395
+ bounds: z.ZodOptional<z.ZodObject<{
5396
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5397
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5398
+ }, z.core.$strip>>;
5399
+ }, z.core.$strip>>>;
5400
+ surfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
5401
+ part: z.ZodOptional<z.ZodString>;
5402
+ y: z.ZodNumber;
5403
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
5404
+ }, z.core.$strip>>>;
5405
+ slots: z.ZodDefault<z.ZodArray<z.ZodObject<{
5406
+ id: z.ZodString;
5407
+ label: z.ZodOptional<z.ZodString>;
5408
+ color: z.ZodOptional<z.ZodString>;
5409
+ roughness: z.ZodOptional<z.ZodNumber>;
5410
+ metalness: z.ZodOptional<z.ZodNumber>;
5411
+ transparent: z.ZodOptional<z.ZodBoolean>;
5412
+ emissive: z.ZodOptional<z.ZodBoolean>;
5413
+ }, z.core.$strip>>>;
5414
+ anchors: z.ZodDefault<z.ZodArray<z.ZodObject<{
5415
+ id: z.ZodString;
5416
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5417
+ normal: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
5418
+ }, z.core.$strip>>>;
5419
+ lights: z.ZodDefault<z.ZodArray<z.ZodObject<{
5420
+ id: z.ZodString;
5421
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5422
+ color: z.ZodString;
5423
+ intensity: z.ZodNumber;
5424
+ distance: z.ZodOptional<z.ZodNumber>;
5425
+ }, z.core.$strip>>>;
5426
+ undersides: z.ZodDefault<z.ZodArray<z.ZodObject<{
5427
+ part: z.ZodOptional<z.ZodString>;
5428
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
5429
+ plane: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5430
+ }, z.core.$strip>>>;
5431
+ animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
5432
+ name: z.ZodString;
5433
+ duration: z.ZodNumber;
5434
+ }, z.core.$strip>>>;
5435
+ cutters: z.ZodOptional<z.ZodArray<z.ZodObject<{
5436
+ host: z.ZodEnum<{
5437
+ wall: "wall";
5438
+ slab: "slab";
5439
+ ceiling: "ceiling";
5440
+ mounted: "mounted";
5441
+ }>;
5442
+ polygon: z.ZodArray<z.ZodArray<z.ZodNumber>>;
5443
+ minY: z.ZodNumber;
5444
+ maxY: z.ZodNumber;
5445
+ }, z.core.$strip>>>;
5446
+ cutout: z.ZodDefault<z.ZodBoolean>;
5447
+ collider: z.ZodDefault<z.ZodBoolean>;
5448
+ triangles: z.ZodNumber;
5449
+ }, z.core.$strip>;
5450
+ images: z.ZodOptional<z.ZodObject<{
5451
+ artifact: z.ZodString;
5452
+ thumbnail: z.ZodString;
5453
+ floorPlan: z.ZodString;
5454
+ }, z.core.$strip>>;
5455
+ }, z.core.$strip>>;
3093
5456
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3094
5457
  rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3095
5458
  side: z.ZodOptional<z.ZodEnum<{
3096
5459
  front: "front";
3097
5460
  back: "back";
3098
5461
  }>>;
5462
+ verticalAnchor: z.ZodOptional<z.ZodEnum<{
5463
+ wall: "wall";
5464
+ floor: "floor";
5465
+ }>>;
5466
+ floorThresholdVersion: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
3099
5467
  wallId: z.ZodOptional<z.ZodString>;
3100
5468
  dormerId: z.ZodOptional<z.ZodString>;
3101
5469
  dormerFace: z.ZodOptional<z.ZodEnum<{
5470
+ left: "left";
5471
+ right: "right";
3102
5472
  front: "front";
3103
5473
  back: "back";
3104
- right: "right";
3105
- left: "left";
3106
5474
  }>>;
3107
5475
  roofSegmentId: z.ZodOptional<z.ZodString>;
3108
5476
  roofFace: z.ZodOptional<z.ZodEnum<{
5477
+ left: "left";
5478
+ right: "right";
3109
5479
  front: "front";
3110
5480
  back: "back";
3111
- right: "right";
3112
- left: "left";
3113
5481
  }>>;
3114
5482
  width: z.ZodDefault<z.ZodNumber>;
3115
5483
  height: z.ZodDefault<z.ZodNumber>;
3116
5484
  mark: z.ZodOptional<z.ZodString>;
3117
5485
  constructionType: z.ZodDefault<z.ZodEnum<{
3118
- framed: "framed";
3119
5486
  masonry: "masonry";
5487
+ framed: "framed";
3120
5488
  }>>;
3121
5489
  dimensionReference: z.ZodDefault<z.ZodEnum<{
3122
5490
  nominal: "nominal";
@@ -3156,8 +5524,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3156
5524
  single: "single";
3157
5525
  }>>;
3158
5526
  hingesSide: z.ZodDefault<z.ZodEnum<{
3159
- right: "right";
3160
5527
  left: "left";
5528
+ right: "right";
3161
5529
  }>>;
3162
5530
  openingShape: z.ZodDefault<z.ZodEnum<{
3163
5531
  rectangle: "rectangle";
@@ -3197,6 +5565,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3197
5565
  zoom: z.ZodOptional<z.ZodNumber>;
3198
5566
  }, z.core.$strip>>;
3199
5567
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5568
+ provenance: z.ZodOptional<z.ZodObject<{
5569
+ refs: z.ZodArray<z.ZodObject<{
5570
+ ns: z.ZodOptional<z.ZodString>;
5571
+ id: z.ZodString;
5572
+ role: z.ZodOptional<z.ZodEnum<{
5573
+ primary: "primary";
5574
+ piece: "piece";
5575
+ absorbed: "absorbed";
5576
+ alias: "alias";
5577
+ derived: "derived";
5578
+ }>>;
5579
+ }, z.core.$strip>>;
5580
+ lineage: z.ZodOptional<z.ZodObject<{
5581
+ op: z.ZodEnum<{
5582
+ import: "import";
5583
+ split: "split";
5584
+ merge: "merge";
5585
+ duplicate: "duplicate";
5586
+ convert: "convert";
5587
+ promote: "promote";
5588
+ "make-independent": "make-independent";
5589
+ attach: "attach";
5590
+ }>;
5591
+ fromIds: z.ZodArray<z.ZodString>;
5592
+ }, z.core.$strip>>;
5593
+ }, z.core.$strip>>;
3200
5594
  id: z.ZodDefault<z.ZodTemplateLiteral<`door_${string}`>>;
3201
5595
  type: z.ZodDefault<z.ZodLiteral<"door">>;
3202
5596
  material: z.ZodOptional<z.ZodObject<{
@@ -3232,26 +5626,131 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3232
5626
  }, z.core.$strip>>;
3233
5627
  }, z.core.$strip>>;
3234
5628
  slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
5629
+ source: z.ZodOptional<z.ZodObject<{
5630
+ kind: z.ZodLiteral<"script">;
5631
+ meta: z.ZodOptional<z.ZodObject<{
5632
+ description: z.ZodOptional<z.ZodString>;
5633
+ category: z.ZodOptional<z.ZodString>;
5634
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
5635
+ parent: z.ZodOptional<z.ZodString>;
5636
+ }, z.core.$strip>>;
5637
+ language: z.ZodDefault<z.ZodEnum<{
5638
+ three: "three";
5639
+ bpy: "bpy";
5640
+ }>>;
5641
+ script: z.ZodString;
5642
+ params: z.ZodDefault<z.ZodRecord<z.ZodString, z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>>>;
5643
+ artifact: z.ZodString;
5644
+ manifest: z.ZodObject<{
5645
+ bounds: z.ZodObject<{
5646
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5647
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5648
+ }, z.core.$strip>;
5649
+ params: z.ZodDefault<z.ZodArray<z.ZodObject<{
5650
+ id: z.ZodString;
5651
+ label: z.ZodOptional<z.ZodString>;
5652
+ kind: z.ZodEnum<{
5653
+ string: "string";
5654
+ number: "number";
5655
+ boolean: "boolean";
5656
+ }>;
5657
+ default: z.ZodUnion<readonly [z.ZodNumber, z.ZodBoolean, z.ZodString]>;
5658
+ min: z.ZodOptional<z.ZodNumber>;
5659
+ max: z.ZodOptional<z.ZodNumber>;
5660
+ step: z.ZodOptional<z.ZodNumber>;
5661
+ unit: z.ZodOptional<z.ZodString>;
5662
+ options: z.ZodOptional<z.ZodArray<z.ZodString>>;
5663
+ }, z.core.$strip>>>;
5664
+ parts: z.ZodDefault<z.ZodArray<z.ZodObject<{
5665
+ id: z.ZodString;
5666
+ label: z.ZodOptional<z.ZodString>;
5667
+ type: z.ZodOptional<z.ZodString>;
5668
+ bounds: z.ZodOptional<z.ZodObject<{
5669
+ min: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5670
+ max: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5671
+ }, z.core.$strip>>;
5672
+ }, z.core.$strip>>>;
5673
+ surfaces: z.ZodDefault<z.ZodArray<z.ZodObject<{
5674
+ part: z.ZodOptional<z.ZodString>;
5675
+ y: z.ZodNumber;
5676
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
5677
+ }, z.core.$strip>>>;
5678
+ slots: z.ZodDefault<z.ZodArray<z.ZodObject<{
5679
+ id: z.ZodString;
5680
+ label: z.ZodOptional<z.ZodString>;
5681
+ color: z.ZodOptional<z.ZodString>;
5682
+ roughness: z.ZodOptional<z.ZodNumber>;
5683
+ metalness: z.ZodOptional<z.ZodNumber>;
5684
+ transparent: z.ZodOptional<z.ZodBoolean>;
5685
+ emissive: z.ZodOptional<z.ZodBoolean>;
5686
+ }, z.core.$strip>>>;
5687
+ anchors: z.ZodDefault<z.ZodArray<z.ZodObject<{
5688
+ id: z.ZodString;
5689
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5690
+ normal: z.ZodOptional<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
5691
+ }, z.core.$strip>>>;
5692
+ lights: z.ZodDefault<z.ZodArray<z.ZodObject<{
5693
+ id: z.ZodString;
5694
+ position: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5695
+ color: z.ZodString;
5696
+ intensity: z.ZodNumber;
5697
+ distance: z.ZodOptional<z.ZodNumber>;
5698
+ }, z.core.$strip>>>;
5699
+ undersides: z.ZodDefault<z.ZodArray<z.ZodObject<{
5700
+ part: z.ZodOptional<z.ZodString>;
5701
+ polygon: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
5702
+ plane: z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber, z.ZodNumber], null>;
5703
+ }, z.core.$strip>>>;
5704
+ animations: z.ZodDefault<z.ZodArray<z.ZodObject<{
5705
+ name: z.ZodString;
5706
+ duration: z.ZodNumber;
5707
+ }, z.core.$strip>>>;
5708
+ cutters: z.ZodOptional<z.ZodArray<z.ZodObject<{
5709
+ host: z.ZodEnum<{
5710
+ wall: "wall";
5711
+ slab: "slab";
5712
+ ceiling: "ceiling";
5713
+ mounted: "mounted";
5714
+ }>;
5715
+ polygon: z.ZodArray<z.ZodArray<z.ZodNumber>>;
5716
+ minY: z.ZodNumber;
5717
+ maxY: z.ZodNumber;
5718
+ }, z.core.$strip>>>;
5719
+ cutout: z.ZodDefault<z.ZodBoolean>;
5720
+ collider: z.ZodDefault<z.ZodBoolean>;
5721
+ triangles: z.ZodNumber;
5722
+ }, z.core.$strip>;
5723
+ images: z.ZodOptional<z.ZodObject<{
5724
+ artifact: z.ZodString;
5725
+ thumbnail: z.ZodString;
5726
+ floorPlan: z.ZodString;
5727
+ }, z.core.$strip>>;
5728
+ }, z.core.$strip>>;
3235
5729
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3236
5730
  rotation: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
3237
5731
  side: z.ZodOptional<z.ZodEnum<{
3238
5732
  front: "front";
3239
5733
  back: "back";
3240
5734
  }>>;
5735
+ verticalAnchor: z.ZodOptional<z.ZodEnum<{
5736
+ wall: "wall";
5737
+ floor: "floor";
5738
+ }>>;
5739
+ floorThresholdVersion: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<0>, z.ZodLiteral<1>]>>;
3241
5740
  wallId: z.ZodOptional<z.ZodString>;
3242
5741
  roofSegmentId: z.ZodOptional<z.ZodString>;
3243
5742
  roofFace: z.ZodOptional<z.ZodEnum<{
5743
+ left: "left";
5744
+ right: "right";
3244
5745
  front: "front";
3245
5746
  back: "back";
3246
- right: "right";
3247
- left: "left";
3248
5747
  }>>;
3249
5748
  width: z.ZodDefault<z.ZodNumber>;
3250
5749
  height: z.ZodDefault<z.ZodNumber>;
3251
5750
  mark: z.ZodOptional<z.ZodString>;
3252
5751
  constructionType: z.ZodDefault<z.ZodEnum<{
3253
- framed: "framed";
3254
5752
  masonry: "masonry";
5753
+ framed: "framed";
3255
5754
  }>>;
3256
5755
  dimensionReference: z.ZodDefault<z.ZodEnum<{
3257
5756
  nominal: "nominal";
@@ -3284,8 +5783,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3284
5783
  leafCount: z.ZodDefault<z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>]>>;
3285
5784
  operationState: z.ZodDefault<z.ZodNumber>;
3286
5785
  slideDirection: z.ZodDefault<z.ZodEnum<{
3287
- right: "right";
3288
5786
  left: "left";
5787
+ right: "right";
3289
5788
  }>>;
3290
5789
  trackStyle: z.ZodDefault<z.ZodEnum<{
3291
5790
  visible: "visible";
@@ -3316,8 +5815,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3316
5815
  threshold: z.ZodDefault<z.ZodBoolean>;
3317
5816
  thresholdHeight: z.ZodDefault<z.ZodNumber>;
3318
5817
  hingesSide: z.ZodDefault<z.ZodEnum<{
3319
- right: "right";
3320
5818
  left: "left";
5819
+ right: "right";
3321
5820
  }>>;
3322
5821
  swingDirection: z.ZodDefault<z.ZodEnum<{
3323
5822
  inward: "inward";
@@ -3339,8 +5838,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3339
5838
  handle: z.ZodDefault<z.ZodBoolean>;
3340
5839
  handleHeight: z.ZodDefault<z.ZodNumber>;
3341
5840
  handleSide: z.ZodDefault<z.ZodEnum<{
3342
- right: "right";
3343
5841
  left: "left";
5842
+ right: "right";
3344
5843
  }>>;
3345
5844
  contentPadding: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>>;
3346
5845
  doorCloser: z.ZodDefault<z.ZodBoolean>;
@@ -3362,6 +5861,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3362
5861
  zoom: z.ZodOptional<z.ZodNumber>;
3363
5862
  }, z.core.$strip>>;
3364
5863
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5864
+ provenance: z.ZodOptional<z.ZodObject<{
5865
+ refs: z.ZodArray<z.ZodObject<{
5866
+ ns: z.ZodOptional<z.ZodString>;
5867
+ id: z.ZodString;
5868
+ role: z.ZodOptional<z.ZodEnum<{
5869
+ primary: "primary";
5870
+ piece: "piece";
5871
+ absorbed: "absorbed";
5872
+ alias: "alias";
5873
+ derived: "derived";
5874
+ }>>;
5875
+ }, z.core.$strip>>;
5876
+ lineage: z.ZodOptional<z.ZodObject<{
5877
+ op: z.ZodEnum<{
5878
+ import: "import";
5879
+ split: "split";
5880
+ merge: "merge";
5881
+ duplicate: "duplicate";
5882
+ convert: "convert";
5883
+ promote: "promote";
5884
+ "make-independent": "make-independent";
5885
+ attach: "attach";
5886
+ }>;
5887
+ fromIds: z.ZodArray<z.ZodString>;
5888
+ }, z.core.$strip>>;
5889
+ }, z.core.$strip>>;
3365
5890
  id: z.ZodDefault<z.ZodTemplateLiteral<`bvent_${string}`>>;
3366
5891
  type: z.ZodDefault<z.ZodLiteral<"box-vent">>;
3367
5892
  material: z.ZodOptional<z.ZodObject<{
@@ -3433,6 +5958,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3433
5958
  zoom: z.ZodOptional<z.ZodNumber>;
3434
5959
  }, z.core.$strip>>;
3435
5960
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
5961
+ provenance: z.ZodOptional<z.ZodObject<{
5962
+ refs: z.ZodArray<z.ZodObject<{
5963
+ ns: z.ZodOptional<z.ZodString>;
5964
+ id: z.ZodString;
5965
+ role: z.ZodOptional<z.ZodEnum<{
5966
+ primary: "primary";
5967
+ piece: "piece";
5968
+ absorbed: "absorbed";
5969
+ alias: "alias";
5970
+ derived: "derived";
5971
+ }>>;
5972
+ }, z.core.$strip>>;
5973
+ lineage: z.ZodOptional<z.ZodObject<{
5974
+ op: z.ZodEnum<{
5975
+ import: "import";
5976
+ split: "split";
5977
+ merge: "merge";
5978
+ duplicate: "duplicate";
5979
+ convert: "convert";
5980
+ promote: "promote";
5981
+ "make-independent": "make-independent";
5982
+ attach: "attach";
5983
+ }>;
5984
+ fromIds: z.ZodArray<z.ZodString>;
5985
+ }, z.core.$strip>>;
5986
+ }, z.core.$strip>>;
3436
5987
  id: z.ZodDefault<z.ZodTemplateLiteral<`rvent_${string}`>>;
3437
5988
  type: z.ZodDefault<z.ZodLiteral<"ridge-vent">>;
3438
5989
  material: z.ZodOptional<z.ZodObject<{
@@ -3496,6 +6047,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3496
6047
  zoom: z.ZodOptional<z.ZodNumber>;
3497
6048
  }, z.core.$strip>>;
3498
6049
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6050
+ provenance: z.ZodOptional<z.ZodObject<{
6051
+ refs: z.ZodArray<z.ZodObject<{
6052
+ ns: z.ZodOptional<z.ZodString>;
6053
+ id: z.ZodString;
6054
+ role: z.ZodOptional<z.ZodEnum<{
6055
+ primary: "primary";
6056
+ piece: "piece";
6057
+ absorbed: "absorbed";
6058
+ alias: "alias";
6059
+ derived: "derived";
6060
+ }>>;
6061
+ }, z.core.$strip>>;
6062
+ lineage: z.ZodOptional<z.ZodObject<{
6063
+ op: z.ZodEnum<{
6064
+ import: "import";
6065
+ split: "split";
6066
+ merge: "merge";
6067
+ duplicate: "duplicate";
6068
+ convert: "convert";
6069
+ promote: "promote";
6070
+ "make-independent": "make-independent";
6071
+ attach: "attach";
6072
+ }>;
6073
+ fromIds: z.ZodArray<z.ZodString>;
6074
+ }, z.core.$strip>>;
6075
+ }, z.core.$strip>>;
3499
6076
  id: z.ZodDefault<z.ZodTemplateLiteral<`tvent_${string}`>>;
3500
6077
  type: z.ZodDefault<z.ZodLiteral<"turbine-vent">>;
3501
6078
  material: z.ZodOptional<z.ZodObject<{
@@ -3561,6 +6138,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3561
6138
  zoom: z.ZodOptional<z.ZodNumber>;
3562
6139
  }, z.core.$strip>>;
3563
6140
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6141
+ provenance: z.ZodOptional<z.ZodObject<{
6142
+ refs: z.ZodArray<z.ZodObject<{
6143
+ ns: z.ZodOptional<z.ZodString>;
6144
+ id: z.ZodString;
6145
+ role: z.ZodOptional<z.ZodEnum<{
6146
+ primary: "primary";
6147
+ piece: "piece";
6148
+ absorbed: "absorbed";
6149
+ alias: "alias";
6150
+ derived: "derived";
6151
+ }>>;
6152
+ }, z.core.$strip>>;
6153
+ lineage: z.ZodOptional<z.ZodObject<{
6154
+ op: z.ZodEnum<{
6155
+ import: "import";
6156
+ split: "split";
6157
+ merge: "merge";
6158
+ duplicate: "duplicate";
6159
+ convert: "convert";
6160
+ promote: "promote";
6161
+ "make-independent": "make-independent";
6162
+ attach: "attach";
6163
+ }>;
6164
+ fromIds: z.ZodArray<z.ZodString>;
6165
+ }, z.core.$strip>>;
6166
+ }, z.core.$strip>>;
3564
6167
  id: z.ZodDefault<z.ZodTemplateLiteral<`cupola_${string}`>>;
3565
6168
  type: z.ZodDefault<z.ZodLiteral<"cupola">>;
3566
6169
  material: z.ZodOptional<z.ZodObject<{
@@ -3624,6 +6227,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3624
6227
  zoom: z.ZodOptional<z.ZodNumber>;
3625
6228
  }, z.core.$strip>>;
3626
6229
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6230
+ provenance: z.ZodOptional<z.ZodObject<{
6231
+ refs: z.ZodArray<z.ZodObject<{
6232
+ ns: z.ZodOptional<z.ZodString>;
6233
+ id: z.ZodString;
6234
+ role: z.ZodOptional<z.ZodEnum<{
6235
+ primary: "primary";
6236
+ piece: "piece";
6237
+ absorbed: "absorbed";
6238
+ alias: "alias";
6239
+ derived: "derived";
6240
+ }>>;
6241
+ }, z.core.$strip>>;
6242
+ lineage: z.ZodOptional<z.ZodObject<{
6243
+ op: z.ZodEnum<{
6244
+ import: "import";
6245
+ split: "split";
6246
+ merge: "merge";
6247
+ duplicate: "duplicate";
6248
+ convert: "convert";
6249
+ promote: "promote";
6250
+ "make-independent": "make-independent";
6251
+ attach: "attach";
6252
+ }>;
6253
+ fromIds: z.ZodArray<z.ZodString>;
6254
+ }, z.core.$strip>>;
6255
+ }, z.core.$strip>>;
3627
6256
  id: z.ZodDefault<z.ZodTemplateLiteral<`eyebrow-vent_${string}`>>;
3628
6257
  type: z.ZodDefault<z.ZodLiteral<"eyebrow-vent">>;
3629
6258
  material: z.ZodOptional<z.ZodObject<{
@@ -3689,6 +6318,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3689
6318
  zoom: z.ZodOptional<z.ZodNumber>;
3690
6319
  }, z.core.$strip>>;
3691
6320
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6321
+ provenance: z.ZodOptional<z.ZodObject<{
6322
+ refs: z.ZodArray<z.ZodObject<{
6323
+ ns: z.ZodOptional<z.ZodString>;
6324
+ id: z.ZodString;
6325
+ role: z.ZodOptional<z.ZodEnum<{
6326
+ primary: "primary";
6327
+ piece: "piece";
6328
+ absorbed: "absorbed";
6329
+ alias: "alias";
6330
+ derived: "derived";
6331
+ }>>;
6332
+ }, z.core.$strip>>;
6333
+ lineage: z.ZodOptional<z.ZodObject<{
6334
+ op: z.ZodEnum<{
6335
+ import: "import";
6336
+ split: "split";
6337
+ merge: "merge";
6338
+ duplicate: "duplicate";
6339
+ convert: "convert";
6340
+ promote: "promote";
6341
+ "make-independent": "make-independent";
6342
+ attach: "attach";
6343
+ }>;
6344
+ fromIds: z.ZodArray<z.ZodString>;
6345
+ }, z.core.$strip>>;
6346
+ }, z.core.$strip>>;
3692
6347
  id: z.ZodDefault<z.ZodTemplateLiteral<`gutter_${string}`>>;
3693
6348
  type: z.ZodDefault<z.ZodLiteral<"gutter">>;
3694
6349
  material: z.ZodOptional<z.ZodObject<{
@@ -3770,6 +6425,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3770
6425
  zoom: z.ZodOptional<z.ZodNumber>;
3771
6426
  }, z.core.$strip>>;
3772
6427
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6428
+ provenance: z.ZodOptional<z.ZodObject<{
6429
+ refs: z.ZodArray<z.ZodObject<{
6430
+ ns: z.ZodOptional<z.ZodString>;
6431
+ id: z.ZodString;
6432
+ role: z.ZodOptional<z.ZodEnum<{
6433
+ primary: "primary";
6434
+ piece: "piece";
6435
+ absorbed: "absorbed";
6436
+ alias: "alias";
6437
+ derived: "derived";
6438
+ }>>;
6439
+ }, z.core.$strip>>;
6440
+ lineage: z.ZodOptional<z.ZodObject<{
6441
+ op: z.ZodEnum<{
6442
+ import: "import";
6443
+ split: "split";
6444
+ merge: "merge";
6445
+ duplicate: "duplicate";
6446
+ convert: "convert";
6447
+ promote: "promote";
6448
+ "make-independent": "make-independent";
6449
+ attach: "attach";
6450
+ }>;
6451
+ fromIds: z.ZodArray<z.ZodString>;
6452
+ }, z.core.$strip>>;
6453
+ }, z.core.$strip>>;
3773
6454
  id: z.ZodDefault<z.ZodTemplateLiteral<`chimney_${string}`>>;
3774
6455
  type: z.ZodDefault<z.ZodLiteral<"chimney">>;
3775
6456
  material: z.ZodOptional<z.ZodObject<{
@@ -3919,6 +6600,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
3919
6600
  zoom: z.ZodOptional<z.ZodNumber>;
3920
6601
  }, z.core.$strip>>;
3921
6602
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6603
+ provenance: z.ZodOptional<z.ZodObject<{
6604
+ refs: z.ZodArray<z.ZodObject<{
6605
+ ns: z.ZodOptional<z.ZodString>;
6606
+ id: z.ZodString;
6607
+ role: z.ZodOptional<z.ZodEnum<{
6608
+ primary: "primary";
6609
+ piece: "piece";
6610
+ absorbed: "absorbed";
6611
+ alias: "alias";
6612
+ derived: "derived";
6613
+ }>>;
6614
+ }, z.core.$strip>>;
6615
+ lineage: z.ZodOptional<z.ZodObject<{
6616
+ op: z.ZodEnum<{
6617
+ import: "import";
6618
+ split: "split";
6619
+ merge: "merge";
6620
+ duplicate: "duplicate";
6621
+ convert: "convert";
6622
+ promote: "promote";
6623
+ "make-independent": "make-independent";
6624
+ attach: "attach";
6625
+ }>;
6626
+ fromIds: z.ZodArray<z.ZodString>;
6627
+ }, z.core.$strip>>;
6628
+ }, z.core.$strip>>;
3922
6629
  id: z.ZodDefault<z.ZodTemplateLiteral<`solarpanel_${string}`>>;
3923
6630
  type: z.ZodDefault<z.ZodLiteral<"solar-panel">>;
3924
6631
  material: z.ZodOptional<z.ZodObject<{
@@ -4027,6 +6734,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4027
6734
  zoom: z.ZodOptional<z.ZodNumber>;
4028
6735
  }, z.core.$strip>>;
4029
6736
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6737
+ provenance: z.ZodOptional<z.ZodObject<{
6738
+ refs: z.ZodArray<z.ZodObject<{
6739
+ ns: z.ZodOptional<z.ZodString>;
6740
+ id: z.ZodString;
6741
+ role: z.ZodOptional<z.ZodEnum<{
6742
+ primary: "primary";
6743
+ piece: "piece";
6744
+ absorbed: "absorbed";
6745
+ alias: "alias";
6746
+ derived: "derived";
6747
+ }>>;
6748
+ }, z.core.$strip>>;
6749
+ lineage: z.ZodOptional<z.ZodObject<{
6750
+ op: z.ZodEnum<{
6751
+ import: "import";
6752
+ split: "split";
6753
+ merge: "merge";
6754
+ duplicate: "duplicate";
6755
+ convert: "convert";
6756
+ promote: "promote";
6757
+ "make-independent": "make-independent";
6758
+ attach: "attach";
6759
+ }>;
6760
+ fromIds: z.ZodArray<z.ZodString>;
6761
+ }, z.core.$strip>>;
6762
+ }, z.core.$strip>>;
4030
6763
  id: z.ZodDefault<z.ZodTemplateLiteral<`skylight_${string}`>>;
4031
6764
  type: z.ZodDefault<z.ZodLiteral<"skylight">>;
4032
6765
  material: z.ZodOptional<z.ZodObject<{
@@ -4114,9 +6847,9 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4114
6847
  lanternTopScale: z.ZodDefault<z.ZodNumber>;
4115
6848
  openingAngle: z.ZodDefault<z.ZodNumber>;
4116
6849
  openingSide: z.ZodDefault<z.ZodEnum<{
4117
- top: "top";
4118
- right: "right";
4119
6850
  left: "left";
6851
+ right: "right";
6852
+ top: "top";
4120
6853
  bottom: "bottom";
4121
6854
  }>>;
4122
6855
  operationState: z.ZodDefault<z.ZodNumber>;
@@ -4148,6 +6881,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4148
6881
  zoom: z.ZodOptional<z.ZodNumber>;
4149
6882
  }, z.core.$strip>>;
4150
6883
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
6884
+ provenance: z.ZodOptional<z.ZodObject<{
6885
+ refs: z.ZodArray<z.ZodObject<{
6886
+ ns: z.ZodOptional<z.ZodString>;
6887
+ id: z.ZodString;
6888
+ role: z.ZodOptional<z.ZodEnum<{
6889
+ primary: "primary";
6890
+ piece: "piece";
6891
+ absorbed: "absorbed";
6892
+ alias: "alias";
6893
+ derived: "derived";
6894
+ }>>;
6895
+ }, z.core.$strip>>;
6896
+ lineage: z.ZodOptional<z.ZodObject<{
6897
+ op: z.ZodEnum<{
6898
+ import: "import";
6899
+ split: "split";
6900
+ merge: "merge";
6901
+ duplicate: "duplicate";
6902
+ convert: "convert";
6903
+ promote: "promote";
6904
+ "make-independent": "make-independent";
6905
+ attach: "attach";
6906
+ }>;
6907
+ fromIds: z.ZodArray<z.ZodString>;
6908
+ }, z.core.$strip>>;
6909
+ }, z.core.$strip>>;
4151
6910
  id: z.ZodDefault<z.ZodTemplateLiteral<`dormer_${string}`>>;
4152
6911
  type: z.ZodDefault<z.ZodLiteral<"dormer">>;
4153
6912
  material: z.ZodOptional<z.ZodObject<{
@@ -4340,6 +7099,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4340
7099
  zoom: z.ZodOptional<z.ZodNumber>;
4341
7100
  }, z.core.$strip>>;
4342
7101
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7102
+ provenance: z.ZodOptional<z.ZodObject<{
7103
+ refs: z.ZodArray<z.ZodObject<{
7104
+ ns: z.ZodOptional<z.ZodString>;
7105
+ id: z.ZodString;
7106
+ role: z.ZodOptional<z.ZodEnum<{
7107
+ primary: "primary";
7108
+ piece: "piece";
7109
+ absorbed: "absorbed";
7110
+ alias: "alias";
7111
+ derived: "derived";
7112
+ }>>;
7113
+ }, z.core.$strip>>;
7114
+ lineage: z.ZodOptional<z.ZodObject<{
7115
+ op: z.ZodEnum<{
7116
+ import: "import";
7117
+ split: "split";
7118
+ merge: "merge";
7119
+ duplicate: "duplicate";
7120
+ convert: "convert";
7121
+ promote: "promote";
7122
+ "make-independent": "make-independent";
7123
+ attach: "attach";
7124
+ }>;
7125
+ fromIds: z.ZodArray<z.ZodString>;
7126
+ }, z.core.$strip>>;
7127
+ }, z.core.$strip>>;
4343
7128
  id: z.ZodDefault<z.ZodTemplateLiteral<`downspout_${string}`>>;
4344
7129
  type: z.ZodDefault<z.ZodLiteral<"downspout">>;
4345
7130
  material: z.ZodOptional<z.ZodObject<{
@@ -4386,8 +7171,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4386
7171
  diameter: z.ZodDefault<z.ZodNumber>;
4387
7172
  standoff: z.ZodDefault<z.ZodNumber>;
4388
7173
  shape: z.ZodDefault<z.ZodEnum<{
4389
- round: "round";
4390
7174
  auto: "auto";
7175
+ round: "round";
4391
7176
  rect: "rect";
4392
7177
  }>>;
4393
7178
  strapStyle: z.ZodDefault<z.ZodEnum<{
@@ -4416,6 +7201,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4416
7201
  zoom: z.ZodOptional<z.ZodNumber>;
4417
7202
  }, z.core.$strip>>;
4418
7203
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7204
+ provenance: z.ZodOptional<z.ZodObject<{
7205
+ refs: z.ZodArray<z.ZodObject<{
7206
+ ns: z.ZodOptional<z.ZodString>;
7207
+ id: z.ZodString;
7208
+ role: z.ZodOptional<z.ZodEnum<{
7209
+ primary: "primary";
7210
+ piece: "piece";
7211
+ absorbed: "absorbed";
7212
+ alias: "alias";
7213
+ derived: "derived";
7214
+ }>>;
7215
+ }, z.core.$strip>>;
7216
+ lineage: z.ZodOptional<z.ZodObject<{
7217
+ op: z.ZodEnum<{
7218
+ import: "import";
7219
+ split: "split";
7220
+ merge: "merge";
7221
+ duplicate: "duplicate";
7222
+ convert: "convert";
7223
+ promote: "promote";
7224
+ "make-independent": "make-independent";
7225
+ attach: "attach";
7226
+ }>;
7227
+ fromIds: z.ZodArray<z.ZodString>;
7228
+ }, z.core.$strip>>;
7229
+ }, z.core.$strip>>;
4419
7230
  id: z.ZodDefault<z.ZodTemplateLiteral<`duct-segment_${string}`>>;
4420
7231
  type: z.ZodDefault<z.ZodLiteral<"duct-segment">>;
4421
7232
  path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4460,8 +7271,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4460
7271
  insulated: z.ZodDefault<z.ZodBoolean>;
4461
7272
  insulationR: z.ZodDefault<z.ZodNumber>;
4462
7273
  system: z.ZodDefault<z.ZodEnum<{
4463
- supply: "supply";
4464
7274
  return: "return";
7275
+ supply: "supply";
4465
7276
  }>>;
4466
7277
  slots: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
4467
7278
  }, z.core.$strip>>, BareDiscriminator<z.ZodObject<{
@@ -4480,6 +7291,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4480
7291
  zoom: z.ZodOptional<z.ZodNumber>;
4481
7292
  }, z.core.$strip>>;
4482
7293
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7294
+ provenance: z.ZodOptional<z.ZodObject<{
7295
+ refs: z.ZodArray<z.ZodObject<{
7296
+ ns: z.ZodOptional<z.ZodString>;
7297
+ id: z.ZodString;
7298
+ role: z.ZodOptional<z.ZodEnum<{
7299
+ primary: "primary";
7300
+ piece: "piece";
7301
+ absorbed: "absorbed";
7302
+ alias: "alias";
7303
+ derived: "derived";
7304
+ }>>;
7305
+ }, z.core.$strip>>;
7306
+ lineage: z.ZodOptional<z.ZodObject<{
7307
+ op: z.ZodEnum<{
7308
+ import: "import";
7309
+ split: "split";
7310
+ merge: "merge";
7311
+ duplicate: "duplicate";
7312
+ convert: "convert";
7313
+ promote: "promote";
7314
+ "make-independent": "make-independent";
7315
+ attach: "attach";
7316
+ }>;
7317
+ fromIds: z.ZodArray<z.ZodString>;
7318
+ }, z.core.$strip>>;
7319
+ }, z.core.$strip>>;
4483
7320
  id: z.ZodDefault<z.ZodTemplateLiteral<`duct-fitting_${string}`>>;
4484
7321
  type: z.ZodDefault<z.ZodLiteral<"duct-fitting">>;
4485
7322
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4529,8 +7366,8 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4529
7366
  "duct-board": "duct-board";
4530
7367
  }>>;
4531
7368
  system: z.ZodDefault<z.ZodEnum<{
4532
- supply: "supply";
4533
7369
  return: "return";
7370
+ supply: "supply";
4534
7371
  }>>;
4535
7372
  damperAngle: z.ZodDefault<z.ZodNumber>;
4536
7373
  panelWidth: z.ZodDefault<z.ZodNumber>;
@@ -4552,6 +7389,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4552
7389
  zoom: z.ZodOptional<z.ZodNumber>;
4553
7390
  }, z.core.$strip>>;
4554
7391
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7392
+ provenance: z.ZodOptional<z.ZodObject<{
7393
+ refs: z.ZodArray<z.ZodObject<{
7394
+ ns: z.ZodOptional<z.ZodString>;
7395
+ id: z.ZodString;
7396
+ role: z.ZodOptional<z.ZodEnum<{
7397
+ primary: "primary";
7398
+ piece: "piece";
7399
+ absorbed: "absorbed";
7400
+ alias: "alias";
7401
+ derived: "derived";
7402
+ }>>;
7403
+ }, z.core.$strip>>;
7404
+ lineage: z.ZodOptional<z.ZodObject<{
7405
+ op: z.ZodEnum<{
7406
+ import: "import";
7407
+ split: "split";
7408
+ merge: "merge";
7409
+ duplicate: "duplicate";
7410
+ convert: "convert";
7411
+ promote: "promote";
7412
+ "make-independent": "make-independent";
7413
+ attach: "attach";
7414
+ }>;
7415
+ fromIds: z.ZodArray<z.ZodString>;
7416
+ }, z.core.$strip>>;
7417
+ }, z.core.$strip>>;
4555
7418
  id: z.ZodDefault<z.ZodTemplateLiteral<`duct-terminal_${string}`>>;
4556
7419
  type: z.ZodDefault<z.ZodLiteral<"duct-terminal">>;
4557
7420
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4593,6 +7456,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4593
7456
  zoom: z.ZodOptional<z.ZodNumber>;
4594
7457
  }, z.core.$strip>>;
4595
7458
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7459
+ provenance: z.ZodOptional<z.ZodObject<{
7460
+ refs: z.ZodArray<z.ZodObject<{
7461
+ ns: z.ZodOptional<z.ZodString>;
7462
+ id: z.ZodString;
7463
+ role: z.ZodOptional<z.ZodEnum<{
7464
+ primary: "primary";
7465
+ piece: "piece";
7466
+ absorbed: "absorbed";
7467
+ alias: "alias";
7468
+ derived: "derived";
7469
+ }>>;
7470
+ }, z.core.$strip>>;
7471
+ lineage: z.ZodOptional<z.ZodObject<{
7472
+ op: z.ZodEnum<{
7473
+ import: "import";
7474
+ split: "split";
7475
+ merge: "merge";
7476
+ duplicate: "duplicate";
7477
+ convert: "convert";
7478
+ promote: "promote";
7479
+ "make-independent": "make-independent";
7480
+ attach: "attach";
7481
+ }>;
7482
+ fromIds: z.ZodArray<z.ZodString>;
7483
+ }, z.core.$strip>>;
7484
+ }, z.core.$strip>>;
4596
7485
  id: z.ZodDefault<z.ZodTemplateLiteral<`hvac-equipment_${string}`>>;
4597
7486
  type: z.ZodDefault<z.ZodLiteral<"hvac-equipment">>;
4598
7487
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4638,6 +7527,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4638
7527
  zoom: z.ZodOptional<z.ZodNumber>;
4639
7528
  }, z.core.$strip>>;
4640
7529
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7530
+ provenance: z.ZodOptional<z.ZodObject<{
7531
+ refs: z.ZodArray<z.ZodObject<{
7532
+ ns: z.ZodOptional<z.ZodString>;
7533
+ id: z.ZodString;
7534
+ role: z.ZodOptional<z.ZodEnum<{
7535
+ primary: "primary";
7536
+ piece: "piece";
7537
+ absorbed: "absorbed";
7538
+ alias: "alias";
7539
+ derived: "derived";
7540
+ }>>;
7541
+ }, z.core.$strip>>;
7542
+ lineage: z.ZodOptional<z.ZodObject<{
7543
+ op: z.ZodEnum<{
7544
+ import: "import";
7545
+ split: "split";
7546
+ merge: "merge";
7547
+ duplicate: "duplicate";
7548
+ convert: "convert";
7549
+ promote: "promote";
7550
+ "make-independent": "make-independent";
7551
+ attach: "attach";
7552
+ }>;
7553
+ fromIds: z.ZodArray<z.ZodString>;
7554
+ }, z.core.$strip>>;
7555
+ }, z.core.$strip>>;
4641
7556
  id: z.ZodDefault<z.ZodTemplateLiteral<`lineset_${string}`>>;
4642
7557
  type: z.ZodDefault<z.ZodLiteral<"lineset">>;
4643
7558
  path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4660,6 +7575,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4660
7575
  zoom: z.ZodOptional<z.ZodNumber>;
4661
7576
  }, z.core.$strip>>;
4662
7577
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7578
+ provenance: z.ZodOptional<z.ZodObject<{
7579
+ refs: z.ZodArray<z.ZodObject<{
7580
+ ns: z.ZodOptional<z.ZodString>;
7581
+ id: z.ZodString;
7582
+ role: z.ZodOptional<z.ZodEnum<{
7583
+ primary: "primary";
7584
+ piece: "piece";
7585
+ absorbed: "absorbed";
7586
+ alias: "alias";
7587
+ derived: "derived";
7588
+ }>>;
7589
+ }, z.core.$strip>>;
7590
+ lineage: z.ZodOptional<z.ZodObject<{
7591
+ op: z.ZodEnum<{
7592
+ import: "import";
7593
+ split: "split";
7594
+ merge: "merge";
7595
+ duplicate: "duplicate";
7596
+ convert: "convert";
7597
+ promote: "promote";
7598
+ "make-independent": "make-independent";
7599
+ attach: "attach";
7600
+ }>;
7601
+ fromIds: z.ZodArray<z.ZodString>;
7602
+ }, z.core.$strip>>;
7603
+ }, z.core.$strip>>;
4663
7604
  id: z.ZodDefault<z.ZodTemplateLiteral<`liquid-line_${string}`>>;
4664
7605
  type: z.ZodDefault<z.ZodLiteral<"liquid-line">>;
4665
7606
  path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4680,6 +7621,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4680
7621
  zoom: z.ZodOptional<z.ZodNumber>;
4681
7622
  }, z.core.$strip>>;
4682
7623
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7624
+ provenance: z.ZodOptional<z.ZodObject<{
7625
+ refs: z.ZodArray<z.ZodObject<{
7626
+ ns: z.ZodOptional<z.ZodString>;
7627
+ id: z.ZodString;
7628
+ role: z.ZodOptional<z.ZodEnum<{
7629
+ primary: "primary";
7630
+ piece: "piece";
7631
+ absorbed: "absorbed";
7632
+ alias: "alias";
7633
+ derived: "derived";
7634
+ }>>;
7635
+ }, z.core.$strip>>;
7636
+ lineage: z.ZodOptional<z.ZodObject<{
7637
+ op: z.ZodEnum<{
7638
+ import: "import";
7639
+ split: "split";
7640
+ merge: "merge";
7641
+ duplicate: "duplicate";
7642
+ convert: "convert";
7643
+ promote: "promote";
7644
+ "make-independent": "make-independent";
7645
+ attach: "attach";
7646
+ }>;
7647
+ fromIds: z.ZodArray<z.ZodString>;
7648
+ }, z.core.$strip>>;
7649
+ }, z.core.$strip>>;
4683
7650
  id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-segment_${string}`>>;
4684
7651
  type: z.ZodDefault<z.ZodLiteral<"pipe-segment">>;
4685
7652
  path: z.ZodArray<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4731,6 +7698,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4731
7698
  zoom: z.ZodOptional<z.ZodNumber>;
4732
7699
  }, z.core.$strip>>;
4733
7700
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7701
+ provenance: z.ZodOptional<z.ZodObject<{
7702
+ refs: z.ZodArray<z.ZodObject<{
7703
+ ns: z.ZodOptional<z.ZodString>;
7704
+ id: z.ZodString;
7705
+ role: z.ZodOptional<z.ZodEnum<{
7706
+ primary: "primary";
7707
+ piece: "piece";
7708
+ absorbed: "absorbed";
7709
+ alias: "alias";
7710
+ derived: "derived";
7711
+ }>>;
7712
+ }, z.core.$strip>>;
7713
+ lineage: z.ZodOptional<z.ZodObject<{
7714
+ op: z.ZodEnum<{
7715
+ import: "import";
7716
+ split: "split";
7717
+ merge: "merge";
7718
+ duplicate: "duplicate";
7719
+ convert: "convert";
7720
+ promote: "promote";
7721
+ "make-independent": "make-independent";
7722
+ attach: "attach";
7723
+ }>;
7724
+ fromIds: z.ZodArray<z.ZodString>;
7725
+ }, z.core.$strip>>;
7726
+ }, z.core.$strip>>;
4734
7727
  id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-fitting_${string}`>>;
4735
7728
  type: z.ZodDefault<z.ZodLiteral<"pipe-fitting">>;
4736
7729
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4777,6 +7770,32 @@ export declare const AnyNode: z.ZodDiscriminatedUnion<readonly [BareDiscriminato
4777
7770
  zoom: z.ZodOptional<z.ZodNumber>;
4778
7771
  }, z.core.$strip>>;
4779
7772
  metadata: z.ZodDefault<z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>>;
7773
+ provenance: z.ZodOptional<z.ZodObject<{
7774
+ refs: z.ZodArray<z.ZodObject<{
7775
+ ns: z.ZodOptional<z.ZodString>;
7776
+ id: z.ZodString;
7777
+ role: z.ZodOptional<z.ZodEnum<{
7778
+ primary: "primary";
7779
+ piece: "piece";
7780
+ absorbed: "absorbed";
7781
+ alias: "alias";
7782
+ derived: "derived";
7783
+ }>>;
7784
+ }, z.core.$strip>>;
7785
+ lineage: z.ZodOptional<z.ZodObject<{
7786
+ op: z.ZodEnum<{
7787
+ import: "import";
7788
+ split: "split";
7789
+ merge: "merge";
7790
+ duplicate: "duplicate";
7791
+ convert: "convert";
7792
+ promote: "promote";
7793
+ "make-independent": "make-independent";
7794
+ attach: "attach";
7795
+ }>;
7796
+ fromIds: z.ZodArray<z.ZodString>;
7797
+ }, z.core.$strip>>;
7798
+ }, z.core.$strip>>;
4780
7799
  id: z.ZodDefault<z.ZodTemplateLiteral<`pipe-trap_${string}`>>;
4781
7800
  type: z.ZodDefault<z.ZodLiteral<"pipe-trap">>;
4782
7801
  position: z.ZodDefault<z.ZodTuple<[z.ZodNumber, z.ZodNumber, z.ZodNumber], null>>;
@@ -4796,5 +7815,235 @@ export type AnyNodeId = AnyNode['id'];
4796
7815
  export type AnyNodeOption = (typeof AnyNode)['options'][number];
4797
7816
  /** The node kind a union member accepts, read off its bare-literal discriminator. */
4798
7817
  export declare const nodeKindOf: (option: AnyNodeOption) => AnyNodeType;
7818
+ /** A plan-or-surface 2-vector in metres. */
7819
+ export type FidelityV2 = readonly [number, number];
7820
+ /** A 3-vector in metres, in the frame the owning field names. */
7821
+ export type FidelityV3 = readonly [number, number, number];
7822
+ /**
7823
+ * Identity of a generated part within its owner (F3):
7824
+ * `${generatorId}/${role}/${station}[/${sub}]`. A spacing station is its
7825
+ * integer lattice index `s<k>`, k = round((at − origin) / spacing), so a key
7826
+ * survives reload, split and extension. The owner node is implicit.
7827
+ */
7828
+ export type PartKey = `${string}/${string}/${string}`;
7829
+ /**
7830
+ * One finite surface patch of a host (F5a). Never names a family of faces.
7831
+ * `riser:<zoneId>/<boundaryKey>[/<k>]` replaces the retired `riser:<zoneId>`.
7832
+ * Wider recipe surface ids stay plain `SurfaceId` strings.
7833
+ */
7834
+ export type SurfacePatchId = 'front' | 'back' | 'top' | 'underside' | 'bearing' | `cladding:${string}` | `riser:${string}/${string}` | `facet:${string}:covering` | `facet:${string}:underside` | `edge:${string}` | `face:${string}`;
7835
+ /** What an anchor does when its patch or part splits, merges or vanishes. Absent = follow. */
7836
+ export type AnchorPolicy = 'follow' | 'freeze';
7837
+ /**
7838
+ * A point on one host patch (F5a): `Mount.surface` when `host` is `surface`.
7839
+ *
7840
+ * Chart (frozen): `point = [u, v, offset]` in metres. u is the patch frame's
7841
+ * local +X, offset runs along its outward normal (local +Y, the
7842
+ * `SurfaceFrame.normal`), and v = normal × u, so (u, v, normal) is
7843
+ * right-handed. In frame-local coordinates that is (x = u, y = offset,
7844
+ * z = −v); a `SurfaceRegion` point [x, z] is [u, −v]. On a wall's front patch
7845
+ * u runs along the wall and v up the face.
7846
+ */
7847
+ export type SurfaceAnchor = {
7848
+ nodeId: string;
7849
+ partKey?: PartKey;
7850
+ surfaceId: string;
7851
+ point: FidelityV3;
7852
+ /** Part anchors: the part's station when written; > 1 mm drift = unresolved. */
7853
+ at?: number;
7854
+ policy?: AnchorPolicy;
7855
+ };
7856
+ /**
7857
+ * The contact enum (F6), stored as the node's own `anchor` field (items,
7858
+ * devices), never inside `Mount`: which envelope height sits on the mount
7859
+ * point. No default: a node without `anchor` keeps its legacy pose meaning.
7860
+ */
7861
+ export type Anchor = 'bottom' | 'center' | 'top';
7862
+ export type WallMountDatum = 'floor' | 'wall-base' | 'wall-top' | 'ceiling';
7863
+ /** Orientation only. A normal never elects a height. */
7864
+ export type MountAlign = 'normal' | 'plumb';
7865
+ /**
7866
+ * The placement intent (F6); the stored pose is only a fallback.
7867
+ *
7868
+ * Frames (frozen):
7869
+ * - Horizontal hosts (`ceiling`, `floor`): `x`, `z` are level-local plan
7870
+ * metres from the level origin, +Y up. The height is the evaluated host
7871
+ * surface at (x, z); the envelope's footprint centre sits on (x, z).
7872
+ * - Vertical hosts (`wall`, and `surface` on a vertical patch): the node's
7873
+ * local +Z is the finished face's outward normal and its local z = 0 plane
7874
+ * (the envelope's back) lies on the finished face: the body face at
7875
+ * ±thickness/2 where bare, a cladding's outer face where clad. `along` is
7876
+ * measured on the face, `height` above `datum` (default `floor`: the
7877
+ * finished floor on that side).
7878
+ * - The node's `anchor` names the envelope height (local +Y) that sits on
7879
+ * the mount point. `align` orients the node; it never changes the elected
7880
+ * height.
7881
+ */
7882
+ export type Mount = {
7883
+ host: 'wall';
7884
+ wallId: string;
7885
+ side: 'front' | 'back';
7886
+ along: number;
7887
+ from?: 'start' | 'end' | 'opening';
7888
+ ref?: string;
7889
+ height: number;
7890
+ datum?: WallMountDatum;
7891
+ } | {
7892
+ host: 'ceiling';
7893
+ ceilingId: string;
7894
+ x: number;
7895
+ z: number;
7896
+ align?: MountAlign;
7897
+ } | {
7898
+ host: 'floor';
7899
+ x: number;
7900
+ z: number;
7901
+ supportSlabId?: string;
7902
+ } | {
7903
+ host: 'surface';
7904
+ surface: SurfaceAnchor;
7905
+ } | {
7906
+ host: 'free';
7907
+ };
7908
+ export type MountHost = Mount['host'];
7909
+ /** A fit target for walls and service spaces (F5a); generalises `roofFit`. */
7910
+ export type FitTarget = {
7911
+ source: 'roof' | 'ceiling' | 'slab';
7912
+ ids?: string[];
7913
+ datum?: 'underside' | 'top';
7914
+ offset?: number;
7915
+ };
7916
+ /**
7917
+ * A pinned definition (F1, F6 §Definitions are pinned). A saved scene names the
7918
+ * exact version or content hash it used, or carries the resolved payload
7919
+ * itself, so it resolves offline and a library correction never moves saved
7920
+ * geometry. Never a mutable global id or an account lookup. Exactly one arm:
7921
+ * a pin is a version or a hash, never both.
7922
+ *
7923
+ * `hash` is `sha256:` + lowercase hex SHA-256 of the UTF-8 bytes of the
7924
+ * resolved definition serialized with RFC 8785 JSON Canonicalization (JCS):
7925
+ * object keys sorted by UTF-16 code units, no whitespace, ECMAScript number
7926
+ * and string serialization. Key order in the source never changes the hash.
7927
+ */
7928
+ export type DefinitionPin = {
7929
+ id: string;
7930
+ v: number;
7931
+ hash?: never;
7932
+ } | {
7933
+ hash: `sha256:${string}`;
7934
+ id?: never;
7935
+ v?: never;
7936
+ };
7937
+ export type SectionFamily = 'I' | 'C' | 'L' | 'T' | 'Z' | 'rect-tube';
7938
+ /** One section (F1). Metres; section x = across, y = up. */
7939
+ export type SectionProfile = {
7940
+ kind: 'rectangle';
7941
+ width: number;
7942
+ depth: number;
7943
+ corner?: number;
7944
+ } | {
7945
+ kind: 'round';
7946
+ radius: number;
7947
+ wall?: number;
7948
+ } | {
7949
+ kind: 'oval';
7950
+ width: number;
7951
+ depth: number;
7952
+ } | {
7953
+ kind: 'section';
7954
+ family: SectionFamily;
7955
+ width: number;
7956
+ depth: number;
7957
+ web: number;
7958
+ flange: number;
7959
+ } | {
7960
+ kind: 'polygon';
7961
+ outer: FidelityV2[];
7962
+ holes?: FidelityV2[][];
7963
+ } | {
7964
+ kind: 'ref';
7965
+ id: string;
7966
+ v: number;
7967
+ scale?: FidelityV2;
7968
+ };
7969
+ /** A section with its geometry inline: what a `ref` resolves to. */
7970
+ export type ResolvedSectionProfile = Exclude<SectionProfile, {
7971
+ kind: 'ref';
7972
+ }>;
7973
+ /**
7974
+ * Section library (owner decision O4, frozen): a small immutable, versioned
7975
+ * core baseline (`source: 'core'`: rectangles, rounds, nominal lumber mapped
7976
+ * to actual sizes, standard steel shapes) plus portable presets
7977
+ * (`source: 'preset'`: casings, mouldings, fascia and gutter sections,
7978
+ * handrails, regional catalogues) that a scene pins by `{ id, v }` or content
7979
+ * hash and can carry with the project. An entry never changes once published.
7980
+ */
7981
+ export type SectionLibraryEntry = {
7982
+ id: string;
7983
+ v: number;
7984
+ source: 'core' | 'preset';
7985
+ profile: ResolvedSectionProfile;
7986
+ /** The section point that rides the path, in section metres. */
7987
+ ride: FidelityV2;
7988
+ };
7989
+ /**
7990
+ * A member end cut (R §D2) as the sweep builder consumes it (F1). The cut
7991
+ * plane has `normal` (the path's frame; normalised before use) and crosses
7992
+ * the path `offset` metres beyond its end along the end tangent (negative
7993
+ * trims). The builder moves the swept end vertex by `offset` and passes
7994
+ * `normal` as `SweepEndSpec.cut.normal`; the persisted path never moves.
7995
+ * |n̂ · t| < 0.1 is a validation finding.
7996
+ */
7997
+ export type EndCut = {
7998
+ normal: FidelityV3;
7999
+ offset: number;
8000
+ };
8001
+ /** A sweep end (F1): a planar cut through the end vertex and an optional cap. */
8002
+ export type SweepEndSpec = {
8003
+ cut?: {
8004
+ normal: FidelityV3;
8005
+ };
8006
+ cap?: boolean;
8007
+ };
8008
+ export type MaterialPatternType = 'running-bond' | 'stack' | 'herringbone' | 'french' | 'plank' | 'lap' | 'seam' | 'grid' | 'mesh';
8009
+ /**
8010
+ * One portable pattern parameter set (SI-R2, versioned). Lengths are metres in
8011
+ * UV space, where 1 UV unit = 1 m. `grid` (openings of `unit` between bars
8012
+ * `joint` wide) and `mesh` (wire of diameter `wire` at pitch `unit`) also
8013
+ * emit an alpha mask whose open fraction equals the geometric one; masks are
8014
+ * alpha-tested at 0.5, never blended, and reach the GLB as a texture. The other
8015
+ * types are opaque and emit no mask.
8016
+ */
8017
+ export type MaterialPattern = {
8018
+ v: 1;
8019
+ type: MaterialPatternType;
8020
+ unit: FidelityV2;
8021
+ joint: number;
8022
+ jointColor?: string;
8023
+ bevel?: number;
8024
+ variation?: number;
8025
+ seed?: number;
8026
+ wire?: number;
8027
+ };
8028
+ export type DisplayMode = 'finished' | 'construction' | 'systems';
8029
+ /** What a physical part is, for display and export (F4). A missing tag reads as `finish`. */
8030
+ export type DisplayFamily = 'finish' | 'exposed-structure' | 'framing' | 'masonry' | 'sheathing' | 'insulation' | 'membrane' | 'fill' | 'foundation' | 'service-space' | 'device' | 'run' | 'inspection';
8031
+ export type Discipline = 'mechanical' | 'plumbing' | 'electrical' | 'low-voltage' | 'fire';
8032
+ /**
8033
+ * The project's saved look on the `site` node (owner decision O3, frozen), never
8034
+ * a scene-root key. `display` is the saved default for the personal display
8035
+ * state; SI-R5 adds `theme`, `sun`, `exposure`, `edges` and `shading` beside
8036
+ * it. Precedence: explicit local viewer toggles > `site.presentation` >
8037
+ * theme defaults. The canonical bake ignores it.
8038
+ */
8039
+ export type SitePresentation = {
8040
+ display?: {
8041
+ mode?: DisplayMode;
8042
+ families?: Partial<Record<DisplayFamily, boolean>>;
8043
+ disciplines?: Partial<Record<Discipline, boolean>>;
8044
+ xray?: boolean;
8045
+ colorBy?: 'material' | 'service';
8046
+ };
8047
+ };
4799
8048
  export {};
4800
8049
  //# sourceMappingURL=types.d.ts.map