@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
@@ -12,11 +12,11 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
12
12
  parentId: string | null;
13
13
  visible: boolean;
14
14
  metadata: Record<string, unknown>;
15
- children: string[];
16
15
  polygon: {
17
16
  type: "polygon";
18
17
  points: [number, number][];
19
18
  };
19
+ children: string[];
20
20
  type: "site";
21
21
  name?: string | undefined;
22
22
  camera?: {
@@ -26,6 +26,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
26
26
  fov?: number | undefined;
27
27
  zoom?: number | undefined;
28
28
  } | undefined;
29
+ provenance?: {
30
+ refs: {
31
+ id: string;
32
+ ns?: string | undefined;
33
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
34
+ }[];
35
+ lineage?: {
36
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
37
+ fromIds: string[];
38
+ } | undefined;
39
+ } | undefined;
29
40
  terrain?: {
30
41
  type: "heightfield";
31
42
  origin: [number, number];
@@ -35,6 +46,84 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
35
46
  step: number;
36
47
  heights: string;
37
48
  } | undefined;
49
+ address?: {
50
+ street?: string | undefined;
51
+ city?: string | undefined;
52
+ state?: string | undefined;
53
+ zip?: string | undefined;
54
+ } | undefined;
55
+ parcel?: {
56
+ apn?: string | undefined;
57
+ source?: string | undefined;
58
+ county?: string | undefined;
59
+ state?: string | undefined;
60
+ lotAreaSqFt?: number | undefined;
61
+ originLngLat?: [number, number] | undefined;
62
+ resolvedAt?: string | undefined;
63
+ layer?: string | undefined;
64
+ notes?: string[] | undefined;
65
+ } | undefined;
66
+ setbacks?: {
67
+ front: number;
68
+ side: number;
69
+ rear: number;
70
+ left?: number | undefined;
71
+ right?: number | undefined;
72
+ streetSide?: number | undefined;
73
+ } | undefined;
74
+ setbacksSource?: string | undefined;
75
+ zone?: string | undefined;
76
+ frontEdge?: number | undefined;
77
+ streetEdges?: number[] | undefined;
78
+ sightTriangleFt?: number | undefined;
79
+ northRotation?: number | undefined;
80
+ dossier?: {
81
+ [x: string]: unknown;
82
+ provider: string;
83
+ asOf: string;
84
+ sections: Record<string, {
85
+ [x: string]: unknown;
86
+ status: string;
87
+ summary?: string | undefined;
88
+ reason?: string | undefined;
89
+ source?: {
90
+ name?: string | undefined;
91
+ kind?: string | undefined;
92
+ vintage?: string | undefined;
93
+ attribution?: string | undefined;
94
+ } | undefined;
95
+ }>;
96
+ point?: {
97
+ lat?: number | undefined;
98
+ lng?: number | undefined;
99
+ source?: string | undefined;
100
+ } | undefined;
101
+ address?: {
102
+ formatted?: string | undefined;
103
+ precision?: string | undefined;
104
+ } | undefined;
105
+ parcel?: Record<string, unknown> | undefined;
106
+ flood?: Record<string, unknown> | undefined;
107
+ codeBasis?: Record<string, unknown> | undefined;
108
+ zoning?: Record<string, unknown> | undefined;
109
+ utilities?: Record<string, unknown> | undefined;
110
+ soils?: Record<string, unknown> | undefined;
111
+ wetlands?: Record<string, unknown> | undefined;
112
+ structures?: Record<string, unknown> | undefined;
113
+ elevation?: Record<string, unknown> | undefined;
114
+ boundaries?: Record<string, unknown> | undefined;
115
+ } | undefined;
116
+ contourIntervalIn?: number | undefined;
117
+ contours3d?: boolean | undefined;
118
+ terrainContours?: {
119
+ datum: string;
120
+ intervalFt: number;
121
+ lines: {
122
+ elevationFt: number;
123
+ points: [number, number][];
124
+ }[];
125
+ source?: string | undefined;
126
+ } | undefined;
38
127
  } | {
39
128
  object: "node";
40
129
  position: [number, number, number];
@@ -53,6 +142,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
53
142
  fov?: number | undefined;
54
143
  zoom?: number | undefined;
55
144
  } | undefined;
145
+ provenance?: {
146
+ refs: {
147
+ id: string;
148
+ ns?: string | undefined;
149
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
150
+ }[];
151
+ lineage?: {
152
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
153
+ fromIds: string[];
154
+ } | undefined;
155
+ } | undefined;
56
156
  } | {
57
157
  object: "node";
58
158
  position: [number, number, number];
@@ -60,9 +160,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
60
160
  parentId: string | null;
61
161
  visible: boolean;
62
162
  metadata: Record<string, unknown>;
163
+ depth: number;
63
164
  rotation: number;
64
165
  width: number;
65
- depth: number;
66
166
  shaftWallThickness: number;
67
167
  shaftStyle: "glass" | "solid";
68
168
  cabHeight: number;
@@ -87,6 +187,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
87
187
  fov?: number | undefined;
88
188
  zoom?: number | undefined;
89
189
  } | undefined;
190
+ provenance?: {
191
+ refs: {
192
+ id: string;
193
+ ns?: string | undefined;
194
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
195
+ }[];
196
+ lineage?: {
197
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
198
+ fromIds: string[];
199
+ } | undefined;
200
+ } | undefined;
90
201
  slots?: Record<string, string> | undefined;
91
202
  material?: {
92
203
  id?: string | undefined;
@@ -116,8 +227,8 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
116
227
  parentId: string | null;
117
228
  visible: boolean;
118
229
  metadata: Record<string, unknown>;
119
- color: string;
120
230
  kind: "apartment" | "hotel-room" | "commercial" | "common";
231
+ color: string;
121
232
  members: `zone_${string}`[];
122
233
  type: "unit";
123
234
  camera?: {
@@ -127,13 +238,24 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
127
238
  fov?: number | undefined;
128
239
  zoom?: number | undefined;
129
240
  } | undefined;
241
+ provenance?: {
242
+ refs: {
243
+ id: string;
244
+ ns?: string | undefined;
245
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
246
+ }[];
247
+ lineage?: {
248
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
249
+ fromIds: string[];
250
+ } | undefined;
251
+ } | undefined;
130
252
  } | {
131
253
  object: "node";
132
254
  id: `level_${string}`;
133
255
  parentId: string | null;
134
256
  visible: boolean;
135
257
  metadata: Record<string, unknown>;
136
- children: (`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}`)[];
258
+ children: (`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}`)[];
137
259
  level: number;
138
260
  baseElevation: number;
139
261
  type: "level";
@@ -145,6 +267,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
145
267
  fov?: number | undefined;
146
268
  zoom?: number | undefined;
147
269
  } | undefined;
270
+ provenance?: {
271
+ refs: {
272
+ id: string;
273
+ ns?: string | undefined;
274
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
275
+ }[];
276
+ lineage?: {
277
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
278
+ fromIds: string[];
279
+ } | undefined;
280
+ } | undefined;
148
281
  height?: number | undefined;
149
282
  } | {
150
283
  object: "node";
@@ -225,6 +358,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
225
358
  fov?: number | undefined;
226
359
  zoom?: number | undefined;
227
360
  } | undefined;
361
+ provenance?: {
362
+ refs: {
363
+ id: string;
364
+ ns?: string | undefined;
365
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
366
+ }[];
367
+ lineage?: {
368
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
369
+ fromIds: string[];
370
+ } | undefined;
371
+ } | undefined;
228
372
  slots?: Record<string, string> | undefined;
229
373
  hostSlabId?: `slab_${string}` | undefined;
230
374
  hostSlabEdgeIndex?: number | undefined;
@@ -242,15 +386,15 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
242
386
  parentId: string | null;
243
387
  visible: boolean;
244
388
  metadata: Record<string, unknown>;
389
+ radius: number;
390
+ depth: number;
245
391
  rotation: number;
246
392
  children: string[];
247
393
  width: number;
248
- depth: number;
249
394
  height: number;
250
395
  baseHeight: number;
251
396
  style: "plain" | "faceted" | "fluted" | "lathe-turned" | "dravidian-carved" | "cluster";
252
397
  crossSection: "round" | "square" | "rectangular" | "octagonal" | "sixteen-sided";
253
- radius: number;
254
398
  edgeSoftness: number;
255
399
  capitalHeight: number;
256
400
  shaftProfile: "straight" | "tapered" | "bulged" | "baluster" | "hourglass";
@@ -324,6 +468,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
324
468
  fov?: number | undefined;
325
469
  zoom?: number | undefined;
326
470
  } | undefined;
471
+ provenance?: {
472
+ refs: {
473
+ id: string;
474
+ ns?: string | undefined;
475
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
476
+ }[];
477
+ lineage?: {
478
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
479
+ fromIds: string[];
480
+ } | undefined;
481
+ } | undefined;
327
482
  supportSlabId?: string | undefined;
328
483
  slots?: Record<string, string> | undefined;
329
484
  material?: {
@@ -344,6 +499,94 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
344
499
  } | undefined;
345
500
  } | undefined;
346
501
  materialPreset?: string | undefined;
502
+ source?: {
503
+ kind: "script";
504
+ language: "three" | "bpy";
505
+ script: string;
506
+ params: Record<string, string | number | boolean>;
507
+ artifact: string;
508
+ manifest: {
509
+ bounds: {
510
+ min: [number, number, number];
511
+ max: [number, number, number];
512
+ };
513
+ params: {
514
+ id: string;
515
+ kind: "string" | "number" | "boolean";
516
+ default: string | number | boolean;
517
+ label?: string | undefined;
518
+ min?: number | undefined;
519
+ max?: number | undefined;
520
+ step?: number | undefined;
521
+ unit?: string | undefined;
522
+ options?: string[] | undefined;
523
+ }[];
524
+ parts: {
525
+ id: string;
526
+ label?: string | undefined;
527
+ type?: string | undefined;
528
+ bounds?: {
529
+ min: [number, number, number];
530
+ max: [number, number, number];
531
+ } | undefined;
532
+ }[];
533
+ surfaces: {
534
+ y: number;
535
+ polygon: [number, number][];
536
+ part?: string | undefined;
537
+ }[];
538
+ slots: {
539
+ id: string;
540
+ label?: string | undefined;
541
+ color?: string | undefined;
542
+ roughness?: number | undefined;
543
+ metalness?: number | undefined;
544
+ transparent?: boolean | undefined;
545
+ emissive?: boolean | undefined;
546
+ }[];
547
+ anchors: {
548
+ id: string;
549
+ position: [number, number, number];
550
+ normal?: [number, number, number] | undefined;
551
+ }[];
552
+ lights: {
553
+ id: string;
554
+ position: [number, number, number];
555
+ color: string;
556
+ intensity: number;
557
+ distance?: number | undefined;
558
+ }[];
559
+ undersides: {
560
+ polygon: [number, number][];
561
+ plane: [number, number, number, number];
562
+ part?: string | undefined;
563
+ }[];
564
+ animations: {
565
+ name: string;
566
+ duration: number;
567
+ }[];
568
+ cutout: boolean;
569
+ collider: boolean;
570
+ triangles: number;
571
+ cutters?: {
572
+ host: "wall" | "slab" | "ceiling" | "mounted";
573
+ polygon: number[][];
574
+ minY: number;
575
+ maxY: number;
576
+ }[] | undefined;
577
+ };
578
+ meta?: {
579
+ description?: string | undefined;
580
+ category?: string | undefined;
581
+ tags?: string[] | undefined;
582
+ parent?: string | undefined;
583
+ } | undefined;
584
+ images?: {
585
+ artifact: string;
586
+ thumbnail: string;
587
+ floorPlan: string;
588
+ } | undefined;
589
+ } | undefined;
347
590
  } | {
348
591
  object: "node";
349
592
  mode: "radius" | "linear" | "diameter" | "center-mark" | "chord" | "arc-length" | "angular" | "coordinate";
@@ -393,6 +636,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
393
636
  fov?: number | undefined;
394
637
  zoom?: number | undefined;
395
638
  } | undefined;
639
+ provenance?: {
640
+ refs: {
641
+ id: string;
642
+ ns?: string | undefined;
643
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
644
+ }[];
645
+ lineage?: {
646
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
647
+ fromIds: string[];
648
+ } | undefined;
649
+ } | undefined;
396
650
  } | {
397
651
  object: "node";
398
652
  position: [number, number, number];
@@ -428,6 +682,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
428
682
  fov?: number | undefined;
429
683
  zoom?: number | undefined;
430
684
  } | undefined;
685
+ provenance?: {
686
+ refs: {
687
+ id: string;
688
+ ns?: string | undefined;
689
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
690
+ }[];
691
+ lineage?: {
692
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
693
+ fromIds: string[];
694
+ } | undefined;
695
+ } | undefined;
431
696
  supportSlabId?: string | undefined;
432
697
  } | {
433
698
  object: "node";
@@ -449,6 +714,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
449
714
  fov?: number | undefined;
450
715
  zoom?: number | undefined;
451
716
  } | undefined;
717
+ provenance?: {
718
+ refs: {
719
+ id: string;
720
+ ns?: string | undefined;
721
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
722
+ }[];
723
+ lineage?: {
724
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
725
+ fromIds: string[];
726
+ } | undefined;
727
+ } | undefined;
452
728
  } | {
453
729
  object: "node";
454
730
  id: `wall_${string}`;
@@ -469,6 +745,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
469
745
  fov?: number | undefined;
470
746
  zoom?: number | undefined;
471
747
  } | undefined;
748
+ provenance?: {
749
+ refs: {
750
+ id: string;
751
+ ns?: string | undefined;
752
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
753
+ }[];
754
+ lineage?: {
755
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
756
+ fromIds: string[];
757
+ } | undefined;
758
+ } | undefined;
472
759
  supportSlabId?: string | undefined;
473
760
  slots?: Record<string, string> | undefined;
474
761
  material?: {
@@ -498,13 +785,13 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
498
785
  layout: "count" | "maximum-spacing" | "fixed-spacing";
499
786
  count: number;
500
787
  spacing: number;
501
- alignment: "start" | "center" | "end";
788
+ alignment: "center" | "start" | "end";
502
789
  };
503
790
  rows: {
504
791
  layout: "count" | "maximum-spacing" | "fixed-spacing";
505
792
  count: number;
506
793
  spacing: number;
507
- alignment: "start" | "center" | "end";
794
+ alignment: "center" | "start" | "end";
508
795
  };
509
796
  mullionWidth: number;
510
797
  transomWidth: number;
@@ -525,6 +812,39 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
525
812
  }[];
526
813
  } | undefined;
527
814
  thickness?: number | undefined;
815
+ assembly?: {
816
+ layers: {
817
+ id: string;
818
+ role: "fill" | "shell" | "finish" | "lining" | "substrate" | "sheathing" | "membrane" | "underlay" | "insulation" | "air" | "furring" | "structure" | "deck" | "covering" | "glazing";
819
+ thickness: number;
820
+ core?: true | undefined;
821
+ material?: string | undefined;
822
+ slot?: string | undefined;
823
+ returns?: boolean | undefined;
824
+ display?: "construction" | "finished" | undefined;
825
+ inset?: number | undefined;
826
+ bottom?: number | undefined;
827
+ lift?: number | undefined;
828
+ src?: string | undefined;
829
+ }[];
830
+ backing?: {
831
+ id: string;
832
+ role: "fill" | "shell" | "finish" | "lining" | "substrate" | "sheathing" | "membrane" | "underlay" | "insulation" | "air" | "furring" | "structure" | "deck" | "covering" | "glazing";
833
+ thickness: number;
834
+ core?: true | undefined;
835
+ material?: string | undefined;
836
+ slot?: string | undefined;
837
+ returns?: boolean | undefined;
838
+ display?: "construction" | "finished" | undefined;
839
+ inset?: number | undefined;
840
+ bottom?: number | undefined;
841
+ lift?: number | undefined;
842
+ src?: string | undefined;
843
+ }[] | undefined;
844
+ face?: "front" | "exterior" | undefined;
845
+ presetId?: string | undefined;
846
+ cavityInsulation?: string | undefined;
847
+ } | undefined;
528
848
  fillToTerrain?: boolean | undefined;
529
849
  interiorMaterial?: {
530
850
  id?: string | undefined;
@@ -562,18 +882,73 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
562
882
  } | undefined;
563
883
  } | undefined;
564
884
  exteriorMaterialPreset?: string | undefined;
885
+ legacyFaceMaterials?: {
886
+ a?: {
887
+ material?: {
888
+ id?: string | undefined;
889
+ preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
890
+ properties?: {
891
+ color: string;
892
+ roughness: number;
893
+ metalness: number;
894
+ opacity: number;
895
+ transparent: boolean;
896
+ side: "front" | "back" | "double";
897
+ } | undefined;
898
+ texture?: {
899
+ url: string;
900
+ repeat?: [number, number] | undefined;
901
+ scale?: number | undefined;
902
+ } | undefined;
903
+ } | undefined;
904
+ materialPreset?: string | undefined;
905
+ } | undefined;
906
+ b?: {
907
+ material?: {
908
+ id?: string | undefined;
909
+ preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
910
+ properties?: {
911
+ color: string;
912
+ roughness: number;
913
+ metalness: number;
914
+ opacity: number;
915
+ transparent: boolean;
916
+ side: "front" | "back" | "double";
917
+ } | undefined;
918
+ texture?: {
919
+ url: string;
920
+ repeat?: [number, number] | undefined;
921
+ scale?: number | undefined;
922
+ } | undefined;
923
+ } | undefined;
924
+ materialPreset?: string | undefined;
925
+ } | undefined;
926
+ } | undefined;
927
+ faceRegions?: {
928
+ id: string;
929
+ face: "a" | "b";
930
+ finish: string;
931
+ u0?: number | undefined;
932
+ u1?: number | undefined;
933
+ v0?: number | undefined;
934
+ v1?: number | undefined;
935
+ }[] | undefined;
936
+ justification?: "a" | "b" | undefined;
565
937
  curveOffset?: number | undefined;
566
938
  supportOffset?: number | undefined;
567
- faceBands?: {
568
- enabled: boolean;
569
- count: number;
570
- lowerHeight: number;
571
- middleHeight: number;
572
- upperHeight: number;
939
+ underpinning?: {
940
+ rim: number;
941
+ stem: number;
942
+ openings?: {
943
+ u: number;
944
+ width: number;
945
+ top: number;
946
+ bottom: number;
947
+ }[] | undefined;
573
948
  } | undefined;
574
949
  skirting?: {
575
950
  enabled: boolean;
576
- sides: "interior" | "exterior" | "both";
951
+ sides: "a" | "b" | "interior" | "exterior" | "both";
577
952
  height: number;
578
953
  proud: number;
579
954
  profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
@@ -581,7 +956,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
581
956
  } | undefined;
582
957
  crown?: {
583
958
  enabled: boolean;
584
- sides: "interior" | "exterior" | "both";
959
+ sides: "a" | "b" | "interior" | "exterior" | "both";
585
960
  height: number;
586
961
  proud: number;
587
962
  profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
@@ -589,12 +964,76 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
589
964
  } | undefined;
590
965
  chairRail?: {
591
966
  enabled: boolean;
592
- sides: "interior" | "exterior" | "both";
967
+ sides: "a" | "b" | "interior" | "exterior" | "both";
593
968
  height: number;
594
969
  proud: number;
595
970
  profile: "flat" | "bevel" | "triangle" | "cove" | "bullnose" | "base-modern" | "base-colonial" | "base-shoe" | "base-ogee" | "crown-cove" | "crown-ogee" | "crown-craftsman" | "crown-layered" | "rail-rounded" | "rail-ogee" | "rail-picture" | "rail-stepped";
596
971
  offsetY?: number | undefined;
597
972
  } | undefined;
973
+ } | {
974
+ object: "node";
975
+ id: `separator_${string}`;
976
+ parentId: string | null;
977
+ visible: boolean;
978
+ metadata: Record<string, unknown>;
979
+ start: [number, number];
980
+ end: [number, number];
981
+ type: "separator";
982
+ name?: string | undefined;
983
+ camera?: {
984
+ position: [number, number, number];
985
+ target: [number, number, number];
986
+ mode: "perspective" | "orthographic";
987
+ fov?: number | undefined;
988
+ zoom?: number | undefined;
989
+ } | undefined;
990
+ provenance?: {
991
+ refs: {
992
+ id: string;
993
+ ns?: string | undefined;
994
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
995
+ }[];
996
+ lineage?: {
997
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
998
+ fromIds: string[];
999
+ } | undefined;
1000
+ } | undefined;
1001
+ } | {
1002
+ object: "node";
1003
+ id: `floor-opening_${string}`;
1004
+ parentId: string | null;
1005
+ visible: boolean;
1006
+ metadata: Record<string, unknown>;
1007
+ polygon: [number, number][];
1008
+ source: string;
1009
+ drawnOn: "ceiling" | "floor";
1010
+ cutsPrimary: boolean;
1011
+ cutsAdjacent: boolean;
1012
+ type: "floor-opening";
1013
+ name?: string | undefined;
1014
+ camera?: {
1015
+ position: [number, number, number];
1016
+ target: [number, number, number];
1017
+ mode: "perspective" | "orthographic";
1018
+ fov?: number | undefined;
1019
+ zoom?: number | undefined;
1020
+ } | undefined;
1021
+ provenance?: {
1022
+ refs: {
1023
+ id: string;
1024
+ ns?: string | undefined;
1025
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1026
+ }[];
1027
+ lineage?: {
1028
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1029
+ fromIds: string[];
1030
+ } | undefined;
1031
+ } | undefined;
1032
+ surfaceId?: string | undefined;
1033
+ hostZoneId?: string | undefined;
1034
+ legacyPlateCuts?: Record<string, [number, number][][]> | undefined;
1035
+ legacyCeilingCuts?: Record<string, [number, number][][]> | undefined;
1036
+ ownerId?: string | undefined;
598
1037
  } | {
599
1038
  object: "node";
600
1039
  id: `fence_${string}`;
@@ -602,14 +1041,30 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
602
1041
  visible: boolean;
603
1042
  metadata: Record<string, unknown>;
604
1043
  color: string;
1044
+ children: string[];
605
1045
  height: number;
606
1046
  baseHeight: number;
607
- style: "slat" | "rail" | "privacy" | "horizontal";
608
- baseStyle: "floating" | "grounded";
1047
+ style: "slat" | "rail" | "privacy" | "horizontal" | "guard" | "picket";
1048
+ baseStyle: "floating" | "grounded" | "raised";
609
1049
  start: [number, number];
610
1050
  end: [number, number];
611
1051
  thickness: number;
612
1052
  postSpacing: number;
1053
+ surfaceMode: "auto" | "level" | "selected";
1054
+ transitionMode: "step" | "slope" | "break";
1055
+ transitionWidth: number;
1056
+ picketSpacing: number;
1057
+ patternDistribution: "maximum-spacing" | "fixed-spacing" | "automatic" | "fixed-count" | "equal-fit";
1058
+ patternAlignment: "center" | "start" | "end";
1059
+ patternCount: number;
1060
+ patternRemainder: "leave" | "spread";
1061
+ picketWidth: number;
1062
+ picketTop: "flat" | "rounded" | "pointed" | "dog-ear";
1063
+ picketProfile: "arched" | "level" | "scalloped" | "alternating";
1064
+ picketTopClearance: number;
1065
+ picketVariation: number;
1066
+ picketRailProjection: number;
1067
+ picketRailCount: number;
613
1068
  postSize: number;
614
1069
  topRailHeight: number;
615
1070
  groundClearance: number;
@@ -617,6 +1072,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
617
1072
  slatGap: number;
618
1073
  postCap: "flat" | "none" | "pyramid";
619
1074
  showInfill: boolean;
1075
+ infillPlacement: "center" | "front" | "back";
620
1076
  type: "fence";
621
1077
  name?: string | undefined;
622
1078
  camera?: {
@@ -626,6 +1082,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
626
1082
  fov?: number | undefined;
627
1083
  zoom?: number | undefined;
628
1084
  } | undefined;
1085
+ provenance?: {
1086
+ refs: {
1087
+ id: string;
1088
+ ns?: string | undefined;
1089
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1090
+ }[];
1091
+ lineage?: {
1092
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1093
+ fromIds: string[];
1094
+ } | undefined;
1095
+ } | undefined;
629
1096
  path?: [number, number][] | undefined;
630
1097
  supportSlabId?: string | undefined;
631
1098
  slots?: Record<string, string> | undefined;
@@ -649,7 +1116,90 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
649
1116
  materialPreset?: string | undefined;
650
1117
  curveOffset?: number | undefined;
651
1118
  supportOffset?: number | undefined;
1119
+ spanModes?: ("straight" | "curve")[] | undefined;
652
1120
  tangents?: ([number, number] | null)[] | undefined;
1121
+ supportSurfaceNodeId?: string | undefined;
1122
+ guardInfill?: "balusters" | "cable" | "boards" | undefined;
1123
+ startPost?: boolean | undefined;
1124
+ endPost?: boolean | undefined;
1125
+ postThrough?: boolean | undefined;
1126
+ } | {
1127
+ object: "node";
1128
+ id: `fence-gate_${string}`;
1129
+ parentId: string | null;
1130
+ visible: boolean;
1131
+ metadata: Record<string, unknown>;
1132
+ center: number;
1133
+ width: number;
1134
+ type: "fence-gate";
1135
+ name?: string | undefined;
1136
+ camera?: {
1137
+ position: [number, number, number];
1138
+ target: [number, number, number];
1139
+ mode: "perspective" | "orthographic";
1140
+ fov?: number | undefined;
1141
+ zoom?: number | undefined;
1142
+ } | undefined;
1143
+ provenance?: {
1144
+ refs: {
1145
+ id: string;
1146
+ ns?: string | undefined;
1147
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1148
+ }[];
1149
+ lineage?: {
1150
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1151
+ fromIds: string[];
1152
+ } | undefined;
1153
+ } | undefined;
1154
+ height?: number | undefined;
1155
+ style?: "match" | "slat" | "rail" | "privacy" | "horizontal" | "guard" | "picket" | undefined;
1156
+ spacing?: number | undefined;
1157
+ thickness?: number | undefined;
1158
+ hinge?: "left" | "right" | undefined;
1159
+ matchFenceStyle?: boolean | undefined;
1160
+ matchFenceHeight?: boolean | undefined;
1161
+ leafType?: "double" | "single" | undefined;
1162
+ clearance?: number | undefined;
1163
+ frameWidth?: number | undefined;
1164
+ boardWidth?: number | undefined;
1165
+ swing?: "inward" | "outward" | undefined;
1166
+ openAngle?: number | undefined;
1167
+ leafSplit?: number | undefined;
1168
+ brace?: "none" | "cross" | "diagonal" | undefined;
1169
+ showHardware?: boolean | undefined;
1170
+ showPosts?: boolean | undefined;
1171
+ } | {
1172
+ object: "node";
1173
+ id: `fence-opening_${string}`;
1174
+ parentId: string | null;
1175
+ visible: boolean;
1176
+ metadata: Record<string, unknown>;
1177
+ center: number;
1178
+ width: number;
1179
+ showPosts: boolean;
1180
+ type: "fence-opening";
1181
+ name?: string | undefined;
1182
+ camera?: {
1183
+ position: [number, number, number];
1184
+ target: [number, number, number];
1185
+ mode: "perspective" | "orthographic";
1186
+ fov?: number | undefined;
1187
+ zoom?: number | undefined;
1188
+ } | undefined;
1189
+ provenance?: {
1190
+ refs: {
1191
+ id: string;
1192
+ ns?: string | undefined;
1193
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1194
+ }[];
1195
+ lineage?: {
1196
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1197
+ fromIds: string[];
1198
+ } | undefined;
1199
+ } | undefined;
1200
+ height?: number | undefined;
1201
+ matchFenceStyle?: boolean | undefined;
1202
+ matchFenceHeight?: boolean | undefined;
653
1203
  } | {
654
1204
  object: "node";
655
1205
  position: [number, number, number];
@@ -657,10 +1207,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
657
1207
  parentId: string | null;
658
1208
  visible: boolean;
659
1209
  metadata: Record<string, unknown>;
1210
+ depth: number;
660
1211
  rotation: number;
661
1212
  children: string[];
662
1213
  width: number;
663
- depth: number;
664
1214
  operationState: number;
665
1215
  runTier: "wall" | "base" | "tall";
666
1216
  withWaterfall: boolean;
@@ -677,9 +1227,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
677
1227
  frontGap: number;
678
1228
  frontStyle: "slab" | "shaker" | "raised-arch";
679
1229
  panelReady: boolean;
680
- handleStyle: "none" | "bar" | "cutout" | "hole" | "knob";
681
- handlePosition: "top" | "center" | "auto";
682
- frontOverlay: "full" | "inset";
1230
+ handleStyle: "cutout" | "none" | "bar" | "hole" | "knob";
1231
+ handlePosition: "center" | "top" | "auto";
1232
+ frontOverlay: "inset" | "full";
683
1233
  withBottomPanel: boolean;
684
1234
  showPlinth: boolean;
685
1235
  withCountertop: boolean;
@@ -692,6 +1242,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
692
1242
  fov?: number | undefined;
693
1243
  zoom?: number | undefined;
694
1244
  } | undefined;
1245
+ provenance?: {
1246
+ refs: {
1247
+ id: string;
1248
+ ns?: string | undefined;
1249
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1250
+ }[];
1251
+ lineage?: {
1252
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1253
+ fromIds: string[];
1254
+ } | undefined;
1255
+ } | undefined;
695
1256
  supportSlabId?: string | undefined;
696
1257
  slots?: Record<string, string> | undefined;
697
1258
  material?: {
@@ -713,7 +1274,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
713
1274
  } | undefined;
714
1275
  materialPreset?: string | undefined;
715
1276
  barLedge?: {
716
- edge: "back" | "right" | "left";
1277
+ edge: "left" | "right" | "back";
717
1278
  height: number;
718
1279
  depth: number;
719
1280
  } | undefined;
@@ -806,10 +1367,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
806
1367
  parentId: string | null;
807
1368
  visible: boolean;
808
1369
  metadata: Record<string, unknown>;
1370
+ depth: number;
809
1371
  rotation: number;
810
1372
  children: string[];
811
1373
  width: number;
812
- depth: number;
813
1374
  operationState: number;
814
1375
  carcassHeight: number;
815
1376
  plinthHeight: number;
@@ -823,9 +1384,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
823
1384
  frontGap: number;
824
1385
  frontStyle: "slab" | "shaker" | "raised-arch";
825
1386
  panelReady: boolean;
826
- handleStyle: "none" | "bar" | "cutout" | "hole" | "knob";
827
- handlePosition: "top" | "center" | "auto";
828
- frontOverlay: "full" | "inset";
1387
+ handleStyle: "cutout" | "none" | "bar" | "hole" | "knob";
1388
+ handlePosition: "center" | "top" | "auto";
1389
+ frontOverlay: "inset" | "full";
829
1390
  withBottomPanel: boolean;
830
1391
  showPlinth: boolean;
831
1392
  withCountertop: boolean;
@@ -843,6 +1404,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
843
1404
  fov?: number | undefined;
844
1405
  zoom?: number | undefined;
845
1406
  } | undefined;
1407
+ provenance?: {
1408
+ refs: {
1409
+ id: string;
1410
+ ns?: string | undefined;
1411
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1412
+ }[];
1413
+ lineage?: {
1414
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1415
+ fromIds: string[];
1416
+ } | undefined;
1417
+ } | undefined;
846
1418
  supportSlabId?: string | undefined;
847
1419
  slots?: Record<string, string> | undefined;
848
1420
  material?: {
@@ -945,7 +1517,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
945
1517
  id: string;
946
1518
  height?: number | undefined;
947
1519
  })[] | undefined;
948
- openSide?: "right" | "left" | undefined;
1520
+ openSide?: "left" | "right" | undefined;
949
1521
  cornerShelf?: boolean | undefined;
950
1522
  } | {
951
1523
  object: "node";
@@ -1006,6 +1578,8 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1006
1578
  off?: string | undefined;
1007
1579
  loop?: string | undefined;
1008
1580
  };
1581
+ mode?: "ambient" | "open-close" | undefined;
1582
+ control?: number | undefined;
1009
1583
  } | {
1010
1584
  kind: "light";
1011
1585
  color: string;
@@ -1024,13 +1598,112 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1024
1598
  fov?: number | undefined;
1025
1599
  zoom?: number | undefined;
1026
1600
  } | undefined;
1601
+ provenance?: {
1602
+ refs: {
1603
+ id: string;
1604
+ ns?: string | undefined;
1605
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1606
+ }[];
1607
+ lineage?: {
1608
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1609
+ fromIds: string[];
1610
+ } | undefined;
1611
+ } | undefined;
1027
1612
  side?: "front" | "back" | undefined;
1028
1613
  supportSlabId?: string | undefined;
1029
1614
  slots?: Record<string, string> | undefined;
1030
1615
  roofSegmentId?: string | undefined;
1616
+ source?: {
1617
+ kind: "script";
1618
+ language: "three" | "bpy";
1619
+ script: string;
1620
+ params: Record<string, string | number | boolean>;
1621
+ artifact: string;
1622
+ manifest: {
1623
+ bounds: {
1624
+ min: [number, number, number];
1625
+ max: [number, number, number];
1626
+ };
1627
+ params: {
1628
+ id: string;
1629
+ kind: "string" | "number" | "boolean";
1630
+ default: string | number | boolean;
1631
+ label?: string | undefined;
1632
+ min?: number | undefined;
1633
+ max?: number | undefined;
1634
+ step?: number | undefined;
1635
+ unit?: string | undefined;
1636
+ options?: string[] | undefined;
1637
+ }[];
1638
+ parts: {
1639
+ id: string;
1640
+ label?: string | undefined;
1641
+ type?: string | undefined;
1642
+ bounds?: {
1643
+ min: [number, number, number];
1644
+ max: [number, number, number];
1645
+ } | undefined;
1646
+ }[];
1647
+ surfaces: {
1648
+ y: number;
1649
+ polygon: [number, number][];
1650
+ part?: string | undefined;
1651
+ }[];
1652
+ slots: {
1653
+ id: string;
1654
+ label?: string | undefined;
1655
+ color?: string | undefined;
1656
+ roughness?: number | undefined;
1657
+ metalness?: number | undefined;
1658
+ transparent?: boolean | undefined;
1659
+ emissive?: boolean | undefined;
1660
+ }[];
1661
+ anchors: {
1662
+ id: string;
1663
+ position: [number, number, number];
1664
+ normal?: [number, number, number] | undefined;
1665
+ }[];
1666
+ lights: {
1667
+ id: string;
1668
+ position: [number, number, number];
1669
+ color: string;
1670
+ intensity: number;
1671
+ distance?: number | undefined;
1672
+ }[];
1673
+ undersides: {
1674
+ polygon: [number, number][];
1675
+ plane: [number, number, number, number];
1676
+ part?: string | undefined;
1677
+ }[];
1678
+ animations: {
1679
+ name: string;
1680
+ duration: number;
1681
+ }[];
1682
+ cutout: boolean;
1683
+ collider: boolean;
1684
+ triangles: number;
1685
+ cutters?: {
1686
+ host: "wall" | "slab" | "ceiling" | "mounted";
1687
+ polygon: number[][];
1688
+ minY: number;
1689
+ maxY: number;
1690
+ }[] | undefined;
1691
+ };
1692
+ meta?: {
1693
+ description?: string | undefined;
1694
+ category?: string | undefined;
1695
+ tags?: string[] | undefined;
1696
+ parent?: string | undefined;
1697
+ } | undefined;
1698
+ images?: {
1699
+ artifact: string;
1700
+ thumbnail: string;
1701
+ floorPlan: string;
1702
+ } | undefined;
1703
+ } | undefined;
1031
1704
  wallId?: string | undefined;
1032
1705
  wallT?: number | undefined;
1033
- roofFace?: "front" | "back" | "right" | "left" | undefined;
1706
+ roofFace?: "left" | "right" | "front" | "back" | undefined;
1034
1707
  blockFaceId?: string | undefined;
1035
1708
  collectionIds?: `collection_${string}`[] | undefined;
1036
1709
  } | {
@@ -1045,7 +1718,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1045
1718
  slots: Record<string, string>;
1046
1719
  parameters: Record<string, number>;
1047
1720
  recipe: {
1048
- version: 1;
1721
+ version: 2 | 1;
1049
1722
  name: string;
1050
1723
  description: string;
1051
1724
  parameters: {
@@ -1055,9 +1728,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1055
1728
  min: number;
1056
1729
  max: number;
1057
1730
  step: number;
1058
- unit: "count" | "m" | "rad";
1731
+ unit: "count" | "m" | "rad" | "s" | "bool" | "choice";
1732
+ options?: string[] | undefined;
1059
1733
  part?: string | undefined;
1060
- axis?: "x" | "y" | "z" | undefined;
1734
+ axis?: "x" | "z" | "y" | undefined;
1061
1735
  }[];
1062
1736
  slots: {
1063
1737
  id: string;
@@ -1069,16 +1743,102 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1069
1743
  id: string;
1070
1744
  label: string;
1071
1745
  count: import("../../procedural-items/index.js").Expr;
1072
- shapes: {
1746
+ shapes: ({
1073
1747
  id: string;
1074
- primitive: "box" | "roundedBox" | "cylinder";
1748
+ primitive: "box" | "roundedBox" | "cylinder" | "ellipsoid";
1075
1749
  slot: string;
1076
1750
  size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1077
1751
  position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1752
+ support?: boolean | undefined;
1753
+ when?: import("../../procedural-items/index.js").Expr | undefined;
1078
1754
  rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1079
1755
  radius?: import("../../procedural-items/index.js").Expr | undefined;
1756
+ topScale?: import("../../procedural-items/index.js").Expr | undefined;
1757
+ segments?: number | undefined;
1758
+ open?: boolean | undefined;
1759
+ inner?: import("../../procedural-items/index.js").Expr | undefined;
1760
+ arc?: import("../../procedural-items/index.js").Expr | undefined;
1761
+ } | {
1762
+ id: string;
1763
+ primitive: "extrude";
1764
+ slot: string;
1765
+ section: {
1766
+ kind: "rectangle";
1767
+ width: import("../../procedural-items/index.js").Expr;
1768
+ depth: import("../../procedural-items/index.js").Expr;
1769
+ corner?: import("../../procedural-items/index.js").Expr | undefined;
1770
+ } | {
1771
+ kind: "round";
1772
+ radius: import("../../procedural-items/index.js").Expr;
1773
+ wall?: import("../../procedural-items/index.js").Expr | undefined;
1774
+ } | {
1775
+ kind: "oval";
1776
+ width: import("../../procedural-items/index.js").Expr;
1777
+ depth: import("../../procedural-items/index.js").Expr;
1778
+ } | {
1779
+ kind: "section";
1780
+ family: "C" | "I" | "L" | "T" | "Z" | "rect-tube";
1781
+ width: import("../../procedural-items/index.js").Expr;
1782
+ depth: import("../../procedural-items/index.js").Expr;
1783
+ web: import("../../procedural-items/index.js").Expr;
1784
+ flange: import("../../procedural-items/index.js").Expr;
1785
+ } | {
1786
+ kind: "polygon";
1787
+ outer: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr][];
1788
+ holes?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr][][] | undefined;
1789
+ };
1790
+ length: import("../../procedural-items/index.js").Expr;
1791
+ position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1080
1792
  support?: boolean | undefined;
1081
- }[];
1793
+ when?: import("../../procedural-items/index.js").Expr | undefined;
1794
+ bevel?: import("../../procedural-items/index.js").Expr | undefined;
1795
+ rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1796
+ } | {
1797
+ id: string;
1798
+ primitive: "revolve";
1799
+ slot: string;
1800
+ profile: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr][];
1801
+ position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1802
+ support?: boolean | undefined;
1803
+ when?: import("../../procedural-items/index.js").Expr | undefined;
1804
+ segments?: number | undefined;
1805
+ arc?: import("../../procedural-items/index.js").Expr | undefined;
1806
+ rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1807
+ })[];
1808
+ parent?: string | undefined;
1809
+ frame?: {
1810
+ position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1811
+ rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1812
+ } | undefined;
1813
+ when?: import("../../procedural-items/index.js").Expr | undefined;
1814
+ motion?: {
1815
+ kind: "hinge";
1816
+ pivot: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1817
+ axis: "x" | "z" | "y";
1818
+ angle: import("../../procedural-items/index.js").Expr;
1819
+ delay?: import("../../procedural-items/index.js").Expr | undefined;
1820
+ duration?: import("../../procedural-items/index.js").Expr | undefined;
1821
+ easing?: "linear" | "smooth" | "soft" | undefined;
1822
+ } | {
1823
+ kind: "slide";
1824
+ axis: "x" | "z" | "y";
1825
+ distance: import("../../procedural-items/index.js").Expr;
1826
+ delay?: import("../../procedural-items/index.js").Expr | undefined;
1827
+ duration?: import("../../procedural-items/index.js").Expr | undefined;
1828
+ easing?: "linear" | "smooth" | "soft" | undefined;
1829
+ } | {
1830
+ kind: "spin";
1831
+ pivot: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1832
+ axis: "x" | "z" | "y";
1833
+ radiansPerSecond: import("../../procedural-items/index.js").Expr;
1834
+ } | undefined;
1835
+ light?: {
1836
+ position: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1837
+ color: string;
1838
+ intensity?: number | undefined;
1839
+ distance?: number | undefined;
1840
+ emissiveSlot?: string | undefined;
1841
+ } | undefined;
1082
1842
  }[];
1083
1843
  constraints: {
1084
1844
  left: import("../../procedural-items/index.js").Expr;
@@ -1095,6 +1855,16 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1095
1855
  attachTo: "ceiling" | "wall-side";
1096
1856
  reference: string;
1097
1857
  } | undefined;
1858
+ base?: import("../../procedural-items/index.js").Expr | undefined;
1859
+ cuts?: ({
1860
+ shape: "rect";
1861
+ size: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1862
+ center?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1863
+ } | {
1864
+ shape: "circle";
1865
+ diameter: import("../../procedural-items/index.js").Expr;
1866
+ center?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1867
+ })[] | undefined;
1098
1868
  surfaces?: {
1099
1869
  id: string;
1100
1870
  label: string;
@@ -1103,6 +1873,19 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1103
1873
  part?: string | undefined;
1104
1874
  rotation?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1105
1875
  }[] | undefined;
1876
+ joints?: {
1877
+ child: string;
1878
+ kind: "fixed" | "continuous" | "revolute" | "prismatic";
1879
+ origin: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1880
+ axis: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr];
1881
+ delay?: import("../../procedural-items/index.js").Expr | undefined;
1882
+ duration?: import("../../procedural-items/index.js").Expr | undefined;
1883
+ easing?: "linear" | "smooth" | "soft" | undefined;
1884
+ open?: import("../../procedural-items/index.js").Expr | undefined;
1885
+ rest?: import("../../procedural-items/index.js").Expr | undefined;
1886
+ range?: [import("../../procedural-items/index.js").Expr, import("../../procedural-items/index.js").Expr] | undefined;
1887
+ speed?: import("../../procedural-items/index.js").Expr | undefined;
1888
+ }[] | undefined;
1106
1889
  };
1107
1890
  attachments: Record<string, string>;
1108
1891
  type: "procedural-item";
@@ -1114,6 +1897,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1114
1897
  fov?: number | undefined;
1115
1898
  zoom?: number | undefined;
1116
1899
  } | undefined;
1900
+ provenance?: {
1901
+ refs: {
1902
+ id: string;
1903
+ ns?: string | undefined;
1904
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1905
+ }[];
1906
+ lineage?: {
1907
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1908
+ fromIds: string[];
1909
+ } | undefined;
1910
+ } | undefined;
1117
1911
  side?: "front" | "back" | undefined;
1118
1912
  supportSlabId?: string | undefined;
1119
1913
  wallId?: string | undefined;
@@ -1141,18 +1935,31 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1141
1935
  fov?: number | undefined;
1142
1936
  zoom?: number | undefined;
1143
1937
  } | undefined;
1938
+ provenance?: {
1939
+ refs: {
1940
+ id: string;
1941
+ ns?: string | undefined;
1942
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1943
+ }[];
1944
+ lineage?: {
1945
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1946
+ fromIds: string[];
1947
+ } | undefined;
1948
+ } | undefined;
1144
1949
  } | {
1145
1950
  object: "node";
1951
+ holes: [number, number][][];
1146
1952
  id: `zone_${string}`;
1147
1953
  name: string;
1148
1954
  parentId: string | null;
1149
1955
  visible: boolean;
1150
1956
  metadata: Record<string, unknown>;
1151
- color: string;
1152
1957
  polygon: [number, number][];
1958
+ color: string;
1153
1959
  autoFromWalls: boolean;
1154
1960
  boundaryWallIds: `wall_${string}`[];
1155
- spaceRole: "generic" | "room";
1961
+ boundarySeparatorIds: string[];
1962
+ spaceRole: "room" | "generic";
1156
1963
  roomNumber: string;
1157
1964
  enclosureStatus: "auto" | "open" | "enclosed";
1158
1965
  floorFinish: string;
@@ -1169,17 +1976,66 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1169
1976
  fov?: number | undefined;
1170
1977
  zoom?: number | undefined;
1171
1978
  } | undefined;
1979
+ provenance?: {
1980
+ refs: {
1981
+ id: string;
1982
+ ns?: string | undefined;
1983
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
1984
+ }[];
1985
+ lineage?: {
1986
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
1987
+ fromIds: string[];
1988
+ } | undefined;
1989
+ } | undefined;
1990
+ ceiling?: {
1991
+ regions?: {
1992
+ id: string;
1993
+ polygon: [number, number][];
1994
+ finish: string | Record<string, unknown>;
1995
+ }[] | undefined;
1996
+ } | undefined;
1997
+ floor?: {
1998
+ elevation?: number | undefined;
1999
+ support?: "open" | undefined;
2000
+ footprint?: string | undefined;
2001
+ thickness?: number | undefined;
2002
+ sourceSlabId?: `slab_${string}` | undefined;
2003
+ finish?: string | Record<string, unknown> | undefined;
2004
+ regions?: {
2005
+ id: string;
2006
+ polygon: [number, number][];
2007
+ finish: string | Record<string, unknown>;
2008
+ }[] | undefined;
2009
+ } | undefined;
2010
+ wallMaterial?: string | undefined;
2011
+ hostZoneId?: string | undefined;
2012
+ seed?: [number, number] | undefined;
2013
+ floorStepFinish?: string | undefined;
2014
+ floorStepOverrides?: {
2015
+ key: string;
2016
+ finish: string;
2017
+ step?: number | undefined;
2018
+ }[] | undefined;
2019
+ floorEdgeFinish?: string | undefined;
2020
+ wallOverrides?: {
2021
+ wallId: string;
2022
+ face: "a" | "b";
2023
+ finish: string;
2024
+ }[] | undefined;
2025
+ hasFloor?: false | undefined;
2026
+ hasCeiling?: false | undefined;
1172
2027
  } | {
1173
2028
  object: "node";
2029
+ holes: [number, number][][];
1174
2030
  id: `slab_${string}`;
1175
2031
  parentId: string | null;
1176
2032
  visible: boolean;
1177
2033
  metadata: Record<string, unknown>;
1178
- recessed: boolean;
1179
2034
  polygon: [number, number][];
1180
- holes: [number, number][][];
2035
+ recessed: boolean;
1181
2036
  holeMetadata: {
1182
- source: "stair" | "elevator" | "manual";
2037
+ source: "stair" | "elevator" | "manual" | "room" | "floor-opening";
2038
+ openingId?: string | undefined;
1183
2039
  stairId?: string | undefined;
1184
2040
  elevatorId?: string | undefined;
1185
2041
  }[];
@@ -1195,6 +2051,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1195
2051
  fov?: number | undefined;
1196
2052
  zoom?: number | undefined;
1197
2053
  } | undefined;
2054
+ provenance?: {
2055
+ refs: {
2056
+ id: string;
2057
+ ns?: string | undefined;
2058
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2059
+ }[];
2060
+ lineage?: {
2061
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2062
+ fromIds: string[];
2063
+ } | undefined;
2064
+ } | undefined;
1198
2065
  slots?: Record<string, string> | undefined;
1199
2066
  material?: {
1200
2067
  id?: string | undefined;
@@ -1214,19 +2081,51 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1214
2081
  } | undefined;
1215
2082
  } | undefined;
1216
2083
  materialPreset?: string | undefined;
2084
+ boundary?: "auto" | undefined;
2085
+ support?: "open" | undefined;
2086
+ floorHeight?: number | undefined;
2087
+ referenceFloorElevation?: number | undefined;
2088
+ foundation?: {
2089
+ type: "solid" | "none";
2090
+ material?: string | {
2091
+ id?: string | undefined;
2092
+ preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
2093
+ properties?: {
2094
+ color: string;
2095
+ roughness: number;
2096
+ metalness: number;
2097
+ opacity: number;
2098
+ transparent: boolean;
2099
+ side: "front" | "back" | "double";
2100
+ } | undefined;
2101
+ texture?: {
2102
+ url: string;
2103
+ repeat?: [number, number] | undefined;
2104
+ scale?: number | undefined;
2105
+ } | undefined;
2106
+ } | undefined;
2107
+ } | undefined;
1217
2108
  recessedRimElevation?: number | undefined;
1218
2109
  fillToTerrain?: boolean | undefined;
2110
+ plateRole?: "base" | "platform" | "sunken" | undefined;
2111
+ railing?: {
2112
+ start: [number, number];
2113
+ end: [number, number];
2114
+ }[] | undefined;
2115
+ zoneIds?: string[] | undefined;
2116
+ associatedZoneIds?: string[] | undefined;
1219
2117
  } | {
1220
2118
  object: "node";
2119
+ holes: [number, number][][];
1221
2120
  id: `ceiling_${string}`;
1222
2121
  parentId: string | null;
1223
2122
  visible: boolean;
1224
2123
  metadata: Record<string, unknown>;
1225
- children: (`item_${string}` | `procedural-item_${string}`)[];
1226
2124
  polygon: [number, number][];
1227
- holes: [number, number][][];
2125
+ children: (`item_${string}` | `procedural-item_${string}`)[];
1228
2126
  holeMetadata: {
1229
- source: "stair" | "elevator" | "manual";
2127
+ source: "stair" | "elevator" | "manual" | "room" | "floor-opening";
2128
+ openingId?: string | undefined;
1230
2129
  stairId?: string | undefined;
1231
2130
  elevatorId?: string | undefined;
1232
2131
  }[];
@@ -1240,6 +2139,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1240
2139
  fov?: number | undefined;
1241
2140
  zoom?: number | undefined;
1242
2141
  } | undefined;
2142
+ provenance?: {
2143
+ refs: {
2144
+ id: string;
2145
+ ns?: string | undefined;
2146
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2147
+ }[];
2148
+ lineage?: {
2149
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2150
+ fromIds: string[];
2151
+ } | undefined;
2152
+ } | undefined;
1243
2153
  slots?: Record<string, string> | undefined;
1244
2154
  material?: {
1245
2155
  id?: string | undefined;
@@ -1260,6 +2170,14 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1260
2170
  } | undefined;
1261
2171
  materialPreset?: string | undefined;
1262
2172
  height?: number | undefined;
2173
+ openingIds?: string[] | undefined;
2174
+ regions?: {
2175
+ id: string;
2176
+ polygon: [number, number][];
2177
+ finish: string | Record<string, unknown>;
2178
+ }[] | undefined;
2179
+ boundary?: "auto" | undefined;
2180
+ zoneId?: string | undefined;
1263
2181
  } | {
1264
2182
  object: "node";
1265
2183
  position: [number, number, number];
@@ -1288,6 +2206,18 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1288
2206
  fov?: number | undefined;
1289
2207
  zoom?: number | undefined;
1290
2208
  } | undefined;
2209
+ provenance?: {
2210
+ refs: {
2211
+ id: string;
2212
+ ns?: string | undefined;
2213
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2214
+ }[];
2215
+ lineage?: {
2216
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2217
+ fromIds: string[];
2218
+ } | undefined;
2219
+ } | undefined;
2220
+ slots?: Record<string, string> | undefined;
1291
2221
  material?: {
1292
2222
  id?: string | undefined;
1293
2223
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -1360,6 +2290,39 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1360
2290
  } | undefined;
1361
2291
  } | undefined;
1362
2292
  wallMaterialPreset?: string | undefined;
2293
+ assembly?: {
2294
+ layers: {
2295
+ id: string;
2296
+ role: "fill" | "shell" | "finish" | "lining" | "substrate" | "sheathing" | "membrane" | "underlay" | "insulation" | "air" | "furring" | "structure" | "deck" | "covering" | "glazing";
2297
+ thickness: number;
2298
+ core?: true | undefined;
2299
+ material?: string | undefined;
2300
+ slot?: string | undefined;
2301
+ returns?: boolean | undefined;
2302
+ display?: "construction" | "finished" | undefined;
2303
+ inset?: number | undefined;
2304
+ bottom?: number | undefined;
2305
+ lift?: number | undefined;
2306
+ src?: string | undefined;
2307
+ }[];
2308
+ backing?: {
2309
+ id: string;
2310
+ role: "fill" | "shell" | "finish" | "lining" | "substrate" | "sheathing" | "membrane" | "underlay" | "insulation" | "air" | "furring" | "structure" | "deck" | "covering" | "glazing";
2311
+ thickness: number;
2312
+ core?: true | undefined;
2313
+ material?: string | undefined;
2314
+ slot?: string | undefined;
2315
+ returns?: boolean | undefined;
2316
+ display?: "construction" | "finished" | undefined;
2317
+ inset?: number | undefined;
2318
+ bottom?: number | undefined;
2319
+ lift?: number | undefined;
2320
+ src?: string | undefined;
2321
+ }[] | undefined;
2322
+ face?: "front" | "exterior" | undefined;
2323
+ presetId?: string | undefined;
2324
+ cavityInsulation?: string | undefined;
2325
+ } | undefined;
1363
2326
  } | {
1364
2327
  object: "node";
1365
2328
  position: [number, number, number];
@@ -1367,6 +2330,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1367
2330
  parentId: string | null;
1368
2331
  visible: boolean;
1369
2332
  metadata: Record<string, unknown>;
2333
+ depth: number;
1370
2334
  rotation: number;
1371
2335
  children: string[];
1372
2336
  trim: {
@@ -1388,7 +2352,6 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1388
2352
  backRightZ: number;
1389
2353
  };
1390
2354
  width: number;
1391
- depth: number;
1392
2355
  roofType: "flat" | "hip" | "gable" | "shed" | "gambrel" | "dutch" | "mansard" | "conical";
1393
2356
  wallHeight: number;
1394
2357
  pitch: number;
@@ -1397,7 +2360,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1397
2360
  overhang: number;
1398
2361
  shingleThickness: number;
1399
2362
  managedByParent: boolean;
1400
- wallShell: "omit" | "auto" | "include";
2363
+ wallShell: "auto" | "omit" | "include";
1401
2364
  shedInsetEndPanels: boolean;
1402
2365
  gambrelLowerWidthRatio: number;
1403
2366
  gambrelLowerHeightRatio: number;
@@ -1417,6 +2380,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1417
2380
  fov?: number | undefined;
1418
2381
  zoom?: number | undefined;
1419
2382
  } | undefined;
2383
+ provenance?: {
2384
+ refs: {
2385
+ id: string;
2386
+ ns?: string | undefined;
2387
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2388
+ }[];
2389
+ lineage?: {
2390
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2391
+ fromIds: string[];
2392
+ } | undefined;
2393
+ } | undefined;
1420
2394
  material?: {
1421
2395
  id?: string | undefined;
1422
2396
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -1501,7 +2475,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1501
2475
  shedSideInfillMinX?: number | undefined;
1502
2476
  shedSideInfillMaxX?: number | undefined;
1503
2477
  shedFootprintPieces?: [number, number][][] | undefined;
1504
- shedOpenEndSides?: ("right" | "left")[] | undefined;
2478
+ shedOpenEndSides?: ("left" | "right")[] | undefined;
1505
2479
  shedJointFrame?: {
1506
2480
  position: [number, number, number];
1507
2481
  rotation: number;
@@ -1509,6 +2483,8 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1509
2483
  shedJointOwnerId?: string | undefined;
1510
2484
  shedJointNeighborIds?: string[] | undefined;
1511
2485
  shedJointScopeId?: string | undefined;
2486
+ fascia?: boolean | undefined;
2487
+ fasciaHighEdge?: boolean | undefined;
1512
2488
  } | {
1513
2489
  object: "node";
1514
2490
  position: [number, number, number];
@@ -1516,10 +2492,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1516
2492
  parentId: string | null;
1517
2493
  visible: boolean;
1518
2494
  metadata: Record<string, unknown>;
2495
+ depth: number;
1519
2496
  rotation: [number, number, number];
1520
2497
  children: string[];
1521
2498
  width: number;
1522
- depth: number;
1523
2499
  height: number;
1524
2500
  style: "wall-shelf" | "bookshelf" | "open-rack" | "cubby";
1525
2501
  rows: number;
@@ -1538,6 +2514,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1538
2514
  fov?: number | undefined;
1539
2515
  zoom?: number | undefined;
1540
2516
  } | undefined;
2517
+ provenance?: {
2518
+ refs: {
2519
+ id: string;
2520
+ ns?: string | undefined;
2521
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2522
+ }[];
2523
+ lineage?: {
2524
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2525
+ fromIds: string[];
2526
+ } | undefined;
2527
+ } | undefined;
1541
2528
  supportSlabId?: string | undefined;
1542
2529
  slots?: Record<string, string> | undefined;
1543
2530
  material?: {
@@ -1582,7 +2569,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1582
2569
  topLandingDepth: number;
1583
2570
  showCenterColumn: boolean;
1584
2571
  showStepSupports: boolean;
1585
- railingMode: "right" | "left" | "none" | "both";
2572
+ railingMode: "left" | "right" | "none" | "both";
1586
2573
  railingHeight: number;
1587
2574
  type: "stair";
1588
2575
  name?: string | undefined;
@@ -1593,6 +2580,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1593
2580
  fov?: number | undefined;
1594
2581
  zoom?: number | undefined;
1595
2582
  } | undefined;
2583
+ provenance?: {
2584
+ refs: {
2585
+ id: string;
2586
+ ns?: string | undefined;
2587
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2588
+ }[];
2589
+ lineage?: {
2590
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2591
+ fromIds: string[];
2592
+ } | undefined;
2593
+ } | undefined;
1596
2594
  supportSlabId?: string | undefined;
1597
2595
  slots?: Record<string, string> | undefined;
1598
2596
  material?: {
@@ -1613,6 +2611,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1613
2611
  } | undefined;
1614
2612
  } | undefined;
1615
2613
  materialPreset?: string | undefined;
2614
+ construction?: {
2615
+ mode: "solid" | "open" | "waist" | "side-stringers" | "center-stringer";
2616
+ waistThickness: number;
2617
+ treadThickness: number;
2618
+ riserThickness: number;
2619
+ nosing: number;
2620
+ finishThickness: number;
2621
+ closedRisers: boolean;
2622
+ stringerWidth: number;
2623
+ stringerDepth: number;
2624
+ } | undefined;
1616
2625
  railingMaterial?: {
1617
2626
  id?: string | undefined;
1618
2627
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -1669,14 +2678,42 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1669
2678
  sideMaterialPreset?: string | undefined;
1670
2679
  deckSlabId?: string | undefined;
1671
2680
  totalRise?: number | undefined;
2681
+ designTargets?: {
2682
+ maxRiserHeight: number;
2683
+ minimumGoing: number;
2684
+ targetGoing: number;
2685
+ minimumHeadroom: number;
2686
+ } | undefined;
2687
+ uniformRisers?: boolean | undefined;
2688
+ railingStyle?: "glass" | "metal" | "balusters" | "cable" | "boards" | "post-and-rail" | undefined;
2689
+ railingPath?: "continuous" | "original" | undefined;
2690
+ handrail?: {
2691
+ mode: "left" | "right" | "none" | "both";
2692
+ height: number;
2693
+ diameter: number;
2694
+ offset: number;
2695
+ bottom?: {
2696
+ extension: number;
2697
+ return: "wall" | "floor" | "none" | "post";
2698
+ returnLength: number;
2699
+ } | undefined;
2700
+ top?: {
2701
+ extension: number;
2702
+ return: "wall" | "floor" | "none" | "post";
2703
+ returnLength: number;
2704
+ } | undefined;
2705
+ } | undefined;
2706
+ railingTopPost?: boolean | undefined;
2707
+ railingTopReach?: number | undefined;
2708
+ railingPostThrough?: boolean | undefined;
1672
2709
  } | {
1673
2710
  object: "node";
2711
+ length: number;
1674
2712
  position: [number, number, number];
1675
2713
  id: `sseg_${string}`;
1676
2714
  parentId: string | null;
1677
2715
  visible: boolean;
1678
2716
  metadata: Record<string, unknown>;
1679
- length: number;
1680
2717
  rotation: number;
1681
2718
  width: number;
1682
2719
  height: number;
@@ -1684,7 +2721,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1684
2721
  stepCount: number;
1685
2722
  fillToFloor: boolean;
1686
2723
  segmentType: "stair" | "landing";
1687
- attachmentSide: "front" | "right" | "left";
2724
+ attachmentSide: "left" | "right" | "front";
1688
2725
  type: "stair-segment";
1689
2726
  name?: string | undefined;
1690
2727
  camera?: {
@@ -1694,6 +2731,18 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1694
2731
  fov?: number | undefined;
1695
2732
  zoom?: number | undefined;
1696
2733
  } | undefined;
2734
+ provenance?: {
2735
+ refs: {
2736
+ id: string;
2737
+ ns?: string | undefined;
2738
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2739
+ }[];
2740
+ lineage?: {
2741
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2742
+ fromIds: string[];
2743
+ } | undefined;
2744
+ } | undefined;
2745
+ slots?: Record<string, string> | undefined;
1697
2746
  material?: {
1698
2747
  id?: string | undefined;
1699
2748
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -1712,6 +2761,23 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1712
2761
  } | undefined;
1713
2762
  } | undefined;
1714
2763
  materialPreset?: string | undefined;
2764
+ construction?: {
2765
+ mode: "solid" | "open" | "waist" | "side-stringers" | "center-stringer";
2766
+ waistThickness: number;
2767
+ treadThickness: number;
2768
+ riserThickness: number;
2769
+ nosing: number;
2770
+ finishThickness: number;
2771
+ closedRisers: boolean;
2772
+ stringerWidth: number;
2773
+ stringerDepth: number;
2774
+ } | undefined;
2775
+ winder?: {
2776
+ turn: "left" | "right";
2777
+ innerGap: number;
2778
+ walkingLineOffset: number;
2779
+ division: "equal-going" | "equal-angle";
2780
+ } | undefined;
1715
2781
  } | {
1716
2782
  object: "node";
1717
2783
  position: [number, number, number];
@@ -1723,13 +2789,13 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1723
2789
  url: string | null;
1724
2790
  scale: number;
1725
2791
  rotation: [number, number, number];
2792
+ layers: Record<string, boolean>;
1726
2793
  captureSession: {
1727
2794
  sessionId: string;
1728
2795
  schemaVersion?: number | undefined;
1729
2796
  revisionId?: string | undefined;
1730
2797
  manifestUrl?: string | undefined;
1731
2798
  } | null;
1732
- layers: Record<string, boolean>;
1733
2799
  type: "scan";
1734
2800
  name?: string | undefined;
1735
2801
  camera?: {
@@ -1739,6 +2805,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1739
2805
  fov?: number | undefined;
1740
2806
  zoom?: number | undefined;
1741
2807
  } | undefined;
2808
+ provenance?: {
2809
+ refs: {
2810
+ id: string;
2811
+ ns?: string | undefined;
2812
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2813
+ }[];
2814
+ lineage?: {
2815
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2816
+ fromIds: string[];
2817
+ } | undefined;
2818
+ } | undefined;
1742
2819
  } | {
1743
2820
  object: "node";
1744
2821
  position: [number, number, number];
@@ -1767,6 +2844,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1767
2844
  fov?: number | undefined;
1768
2845
  zoom?: number | undefined;
1769
2846
  } | undefined;
2847
+ provenance?: {
2848
+ refs: {
2849
+ id: string;
2850
+ ns?: string | undefined;
2851
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2852
+ }[];
2853
+ lineage?: {
2854
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2855
+ fromIds: string[];
2856
+ } | undefined;
2857
+ } | undefined;
1770
2858
  } | {
1771
2859
  object: "node";
1772
2860
  id: `measurement_${string}`;
@@ -1863,6 +2951,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1863
2951
  fov?: number | undefined;
1864
2952
  zoom?: number | undefined;
1865
2953
  } | undefined;
2954
+ provenance?: {
2955
+ refs: {
2956
+ id: string;
2957
+ ns?: string | undefined;
2958
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2959
+ }[];
2960
+ lineage?: {
2961
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2962
+ fromIds: string[];
2963
+ } | undefined;
2964
+ } | undefined;
1866
2965
  } | {
1867
2966
  object: "node";
1868
2967
  position: [number, number, number];
@@ -1880,6 +2979,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1880
2979
  fov?: number | undefined;
1881
2980
  zoom?: number | undefined;
1882
2981
  } | undefined;
2982
+ provenance?: {
2983
+ refs: {
2984
+ id: string;
2985
+ ns?: string | undefined;
2986
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
2987
+ }[];
2988
+ lineage?: {
2989
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
2990
+ fromIds: string[];
2991
+ } | undefined;
2992
+ } | undefined;
1883
2993
  supportSlabId?: string | undefined;
1884
2994
  } | {
1885
2995
  object: "node";
@@ -1891,7 +3001,8 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1891
3001
  rotation: [number, number, number];
1892
3002
  width: number;
1893
3003
  height: number;
1894
- constructionType: "framed" | "masonry";
3004
+ floorThresholdVersion: 0 | 1;
3005
+ constructionType: "masonry" | "framed";
1895
3006
  dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
1896
3007
  operationState: number;
1897
3008
  openingKind: "window" | "opening";
@@ -1902,7 +3013,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1902
3013
  openingRevealRadius: number;
1903
3014
  frameThickness: number;
1904
3015
  frameDepth: number;
1905
- hingesSide: "right" | "left";
3016
+ hingesSide: "left" | "right";
1906
3017
  columnRatios: number[];
1907
3018
  windowType: "fixed" | "sliding" | "casement" | "awning" | "hopper" | "single-hung" | "double-hung" | "bay" | "bow" | "louvered";
1908
3019
  awningDirection: "up" | "down";
@@ -1923,6 +3034,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1923
3034
  fov?: number | undefined;
1924
3035
  zoom?: number | undefined;
1925
3036
  } | undefined;
3037
+ provenance?: {
3038
+ refs: {
3039
+ id: string;
3040
+ ns?: string | undefined;
3041
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3042
+ }[];
3043
+ lineage?: {
3044
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3045
+ fromIds: string[];
3046
+ } | undefined;
3047
+ } | undefined;
1926
3048
  side?: "front" | "back" | undefined;
1927
3049
  slots?: Record<string, string> | undefined;
1928
3050
  material?: {
@@ -1943,8 +3065,97 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1943
3065
  } | undefined;
1944
3066
  } | undefined;
1945
3067
  roofSegmentId?: string | undefined;
3068
+ source?: {
3069
+ kind: "script";
3070
+ language: "three" | "bpy";
3071
+ script: string;
3072
+ params: Record<string, string | number | boolean>;
3073
+ artifact: string;
3074
+ manifest: {
3075
+ bounds: {
3076
+ min: [number, number, number];
3077
+ max: [number, number, number];
3078
+ };
3079
+ params: {
3080
+ id: string;
3081
+ kind: "string" | "number" | "boolean";
3082
+ default: string | number | boolean;
3083
+ label?: string | undefined;
3084
+ min?: number | undefined;
3085
+ max?: number | undefined;
3086
+ step?: number | undefined;
3087
+ unit?: string | undefined;
3088
+ options?: string[] | undefined;
3089
+ }[];
3090
+ parts: {
3091
+ id: string;
3092
+ label?: string | undefined;
3093
+ type?: string | undefined;
3094
+ bounds?: {
3095
+ min: [number, number, number];
3096
+ max: [number, number, number];
3097
+ } | undefined;
3098
+ }[];
3099
+ surfaces: {
3100
+ y: number;
3101
+ polygon: [number, number][];
3102
+ part?: string | undefined;
3103
+ }[];
3104
+ slots: {
3105
+ id: string;
3106
+ label?: string | undefined;
3107
+ color?: string | undefined;
3108
+ roughness?: number | undefined;
3109
+ metalness?: number | undefined;
3110
+ transparent?: boolean | undefined;
3111
+ emissive?: boolean | undefined;
3112
+ }[];
3113
+ anchors: {
3114
+ id: string;
3115
+ position: [number, number, number];
3116
+ normal?: [number, number, number] | undefined;
3117
+ }[];
3118
+ lights: {
3119
+ id: string;
3120
+ position: [number, number, number];
3121
+ color: string;
3122
+ intensity: number;
3123
+ distance?: number | undefined;
3124
+ }[];
3125
+ undersides: {
3126
+ polygon: [number, number][];
3127
+ plane: [number, number, number, number];
3128
+ part?: string | undefined;
3129
+ }[];
3130
+ animations: {
3131
+ name: string;
3132
+ duration: number;
3133
+ }[];
3134
+ cutout: boolean;
3135
+ collider: boolean;
3136
+ triangles: number;
3137
+ cutters?: {
3138
+ host: "wall" | "slab" | "ceiling" | "mounted";
3139
+ polygon: number[][];
3140
+ minY: number;
3141
+ maxY: number;
3142
+ }[] | undefined;
3143
+ };
3144
+ meta?: {
3145
+ description?: string | undefined;
3146
+ category?: string | undefined;
3147
+ tags?: string[] | undefined;
3148
+ parent?: string | undefined;
3149
+ } | undefined;
3150
+ images?: {
3151
+ artifact: string;
3152
+ thumbnail: string;
3153
+ floorPlan: string;
3154
+ } | undefined;
3155
+ } | undefined;
1946
3156
  wallId?: string | undefined;
1947
- roofFace?: "front" | "back" | "right" | "left" | undefined;
3157
+ roofFace?: "left" | "right" | "front" | "back" | undefined;
3158
+ verticalAnchor?: "wall" | "floor" | undefined;
1948
3159
  mark?: string | undefined;
1949
3160
  roughOpeningWidth?: number | undefined;
1950
3161
  roughOpeningHeight?: number | undefined;
@@ -1953,7 +3164,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1953
3164
  finishOpeningWidth?: number | undefined;
1954
3165
  finishOpeningHeight?: number | undefined;
1955
3166
  dormerId?: string | undefined;
1956
- dormerFace?: "front" | "back" | "right" | "left" | undefined;
3167
+ dormerFace?: "left" | "right" | "front" | "back" | undefined;
1957
3168
  } | {
1958
3169
  object: "node";
1959
3170
  position: [number, number, number];
@@ -1964,13 +3175,14 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1964
3175
  rotation: [number, number, number];
1965
3176
  width: number;
1966
3177
  height: number;
1967
- leafCount: 3 | 2 | 1 | 4;
1968
- constructionType: "framed" | "masonry";
3178
+ leafCount: 2 | 1 | 3 | 4;
3179
+ floorThresholdVersion: 0 | 1;
3180
+ constructionType: "masonry" | "framed";
1969
3181
  dimensionReference: "nominal" | "rough-opening" | "masonry-opening" | "finish-opening";
1970
3182
  doorCategory: "interior" | "garage";
1971
3183
  doorType: "double" | "hinged" | "french" | "folding" | "pocket" | "barn" | "sliding" | "garage-sectional" | "garage-rollup" | "garage-tiltup";
1972
3184
  operationState: number;
1973
- slideDirection: "right" | "left";
3185
+ slideDirection: "left" | "right";
1974
3186
  trackStyle: "visible" | "none" | "pocket" | "overhead";
1975
3187
  garagePanelCount: number;
1976
3188
  openingKind: "door" | "opening";
@@ -1984,7 +3196,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1984
3196
  frameDepth: number;
1985
3197
  threshold: boolean;
1986
3198
  thresholdHeight: number;
1987
- hingesSide: "right" | "left";
3199
+ hingesSide: "left" | "right";
1988
3200
  swingDirection: "inward" | "outward";
1989
3201
  swingAngle: number;
1990
3202
  segments: {
@@ -1997,7 +3209,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
1997
3209
  }[];
1998
3210
  handle: boolean;
1999
3211
  handleHeight: number;
2000
- handleSide: "right" | "left";
3212
+ handleSide: "left" | "right";
2001
3213
  contentPadding: [number, number];
2002
3214
  doorCloser: boolean;
2003
3215
  panicBar: boolean;
@@ -2011,6 +3223,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2011
3223
  fov?: number | undefined;
2012
3224
  zoom?: number | undefined;
2013
3225
  } | undefined;
3226
+ provenance?: {
3227
+ refs: {
3228
+ id: string;
3229
+ ns?: string | undefined;
3230
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3231
+ }[];
3232
+ lineage?: {
3233
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3234
+ fromIds: string[];
3235
+ } | undefined;
3236
+ } | undefined;
2014
3237
  side?: "front" | "back" | undefined;
2015
3238
  slots?: Record<string, string> | undefined;
2016
3239
  material?: {
@@ -2031,8 +3254,97 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2031
3254
  } | undefined;
2032
3255
  } | undefined;
2033
3256
  roofSegmentId?: string | undefined;
3257
+ source?: {
3258
+ kind: "script";
3259
+ language: "three" | "bpy";
3260
+ script: string;
3261
+ params: Record<string, string | number | boolean>;
3262
+ artifact: string;
3263
+ manifest: {
3264
+ bounds: {
3265
+ min: [number, number, number];
3266
+ max: [number, number, number];
3267
+ };
3268
+ params: {
3269
+ id: string;
3270
+ kind: "string" | "number" | "boolean";
3271
+ default: string | number | boolean;
3272
+ label?: string | undefined;
3273
+ min?: number | undefined;
3274
+ max?: number | undefined;
3275
+ step?: number | undefined;
3276
+ unit?: string | undefined;
3277
+ options?: string[] | undefined;
3278
+ }[];
3279
+ parts: {
3280
+ id: string;
3281
+ label?: string | undefined;
3282
+ type?: string | undefined;
3283
+ bounds?: {
3284
+ min: [number, number, number];
3285
+ max: [number, number, number];
3286
+ } | undefined;
3287
+ }[];
3288
+ surfaces: {
3289
+ y: number;
3290
+ polygon: [number, number][];
3291
+ part?: string | undefined;
3292
+ }[];
3293
+ slots: {
3294
+ id: string;
3295
+ label?: string | undefined;
3296
+ color?: string | undefined;
3297
+ roughness?: number | undefined;
3298
+ metalness?: number | undefined;
3299
+ transparent?: boolean | undefined;
3300
+ emissive?: boolean | undefined;
3301
+ }[];
3302
+ anchors: {
3303
+ id: string;
3304
+ position: [number, number, number];
3305
+ normal?: [number, number, number] | undefined;
3306
+ }[];
3307
+ lights: {
3308
+ id: string;
3309
+ position: [number, number, number];
3310
+ color: string;
3311
+ intensity: number;
3312
+ distance?: number | undefined;
3313
+ }[];
3314
+ undersides: {
3315
+ polygon: [number, number][];
3316
+ plane: [number, number, number, number];
3317
+ part?: string | undefined;
3318
+ }[];
3319
+ animations: {
3320
+ name: string;
3321
+ duration: number;
3322
+ }[];
3323
+ cutout: boolean;
3324
+ collider: boolean;
3325
+ triangles: number;
3326
+ cutters?: {
3327
+ host: "wall" | "slab" | "ceiling" | "mounted";
3328
+ polygon: number[][];
3329
+ minY: number;
3330
+ maxY: number;
3331
+ }[] | undefined;
3332
+ };
3333
+ meta?: {
3334
+ description?: string | undefined;
3335
+ category?: string | undefined;
3336
+ tags?: string[] | undefined;
3337
+ parent?: string | undefined;
3338
+ } | undefined;
3339
+ images?: {
3340
+ artifact: string;
3341
+ thumbnail: string;
3342
+ floorPlan: string;
3343
+ } | undefined;
3344
+ } | undefined;
2034
3345
  wallId?: string | undefined;
2035
- roofFace?: "front" | "back" | "right" | "left" | undefined;
3346
+ roofFace?: "left" | "right" | "front" | "back" | undefined;
3347
+ verticalAnchor?: "wall" | "floor" | undefined;
2036
3348
  mark?: string | undefined;
2037
3349
  roughOpeningWidth?: number | undefined;
2038
3350
  roughOpeningHeight?: number | undefined;
@@ -2047,10 +3359,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2047
3359
  parentId: string | null;
2048
3360
  visible: boolean;
2049
3361
  metadata: Record<string, unknown>;
3362
+ depth: number;
2050
3363
  rotation: number;
2051
3364
  materialPreset: string;
2052
3365
  width: number;
2053
- depth: number;
2054
3366
  height: number;
2055
3367
  hoodOverhang: number;
2056
3368
  topTaper: number;
@@ -2070,6 +3382,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2070
3382
  fov?: number | undefined;
2071
3383
  zoom?: number | undefined;
2072
3384
  } | undefined;
3385
+ provenance?: {
3386
+ refs: {
3387
+ id: string;
3388
+ ns?: string | undefined;
3389
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3390
+ }[];
3391
+ lineage?: {
3392
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3393
+ fromIds: string[];
3394
+ } | undefined;
3395
+ } | undefined;
2073
3396
  slots?: Record<string, string> | undefined;
2074
3397
  material?: {
2075
3398
  id?: string | undefined;
@@ -2091,12 +3414,12 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2091
3414
  roofSegmentId?: string | undefined;
2092
3415
  } | {
2093
3416
  object: "node";
3417
+ length: number;
2094
3418
  position: [number, number, number];
2095
3419
  id: `rvent_${string}`;
2096
3420
  parentId: string | null;
2097
3421
  visible: boolean;
2098
3422
  metadata: Record<string, unknown>;
2099
- length: number;
2100
3423
  rotation: number;
2101
3424
  width: number;
2102
3425
  height: number;
@@ -2111,6 +3434,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2111
3434
  fov?: number | undefined;
2112
3435
  zoom?: number | undefined;
2113
3436
  } | undefined;
3437
+ provenance?: {
3438
+ refs: {
3439
+ id: string;
3440
+ ns?: string | undefined;
3441
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3442
+ }[];
3443
+ lineage?: {
3444
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3445
+ fromIds: string[];
3446
+ } | undefined;
3447
+ } | undefined;
2114
3448
  material?: {
2115
3449
  id?: string | undefined;
2116
3450
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -2155,6 +3489,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2155
3489
  fov?: number | undefined;
2156
3490
  zoom?: number | undefined;
2157
3491
  } | undefined;
3492
+ provenance?: {
3493
+ refs: {
3494
+ id: string;
3495
+ ns?: string | undefined;
3496
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3497
+ }[];
3498
+ lineage?: {
3499
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3500
+ fromIds: string[];
3501
+ } | undefined;
3502
+ } | undefined;
2158
3503
  slots?: Record<string, string> | undefined;
2159
3504
  material?: {
2160
3505
  id?: string | undefined;
@@ -2181,10 +3526,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2181
3526
  parentId: string | null;
2182
3527
  visible: boolean;
2183
3528
  metadata: Record<string, unknown>;
3529
+ depth: number;
2184
3530
  rotation: number;
2185
3531
  materialPreset: string;
2186
3532
  width: number;
2187
- depth: number;
2188
3533
  height: number;
2189
3534
  roofStyle: "dome" | "pyramid";
2190
3535
  finial: boolean;
@@ -2197,6 +3542,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2197
3542
  fov?: number | undefined;
2198
3543
  zoom?: number | undefined;
2199
3544
  } | undefined;
3545
+ provenance?: {
3546
+ refs: {
3547
+ id: string;
3548
+ ns?: string | undefined;
3549
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3550
+ }[];
3551
+ lineage?: {
3552
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3553
+ fromIds: string[];
3554
+ } | undefined;
3555
+ } | undefined;
2200
3556
  slots?: Record<string, string> | undefined;
2201
3557
  material?: {
2202
3558
  id?: string | undefined;
@@ -2223,10 +3579,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2223
3579
  parentId: string | null;
2224
3580
  visible: boolean;
2225
3581
  metadata: Record<string, unknown>;
3582
+ depth: number;
2226
3583
  rotation: number;
2227
3584
  materialPreset: string;
2228
3585
  width: number;
2229
- depth: number;
2230
3586
  height: number;
2231
3587
  style: "half-round" | "scoop" | "slant-box";
2232
3588
  louverCount: number;
@@ -2240,6 +3596,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2240
3596
  fov?: number | undefined;
2241
3597
  zoom?: number | undefined;
2242
3598
  } | undefined;
3599
+ provenance?: {
3600
+ refs: {
3601
+ id: string;
3602
+ ns?: string | undefined;
3603
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3604
+ }[];
3605
+ lineage?: {
3606
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3607
+ fromIds: string[];
3608
+ } | undefined;
3609
+ } | undefined;
2243
3610
  slots?: Record<string, string> | undefined;
2244
3611
  material?: {
2245
3612
  id?: string | undefined;
@@ -2261,12 +3628,12 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2261
3628
  roofSegmentId?: string | undefined;
2262
3629
  } | {
2263
3630
  object: "node";
3631
+ length: number;
2264
3632
  position: [number, number, number];
2265
3633
  id: `gutter_${string}`;
2266
3634
  parentId: string | null;
2267
3635
  visible: boolean;
2268
3636
  metadata: Record<string, unknown>;
2269
- length: number;
2270
3637
  rotation: number;
2271
3638
  materialPreset: string;
2272
3639
  thickness: number;
@@ -2291,6 +3658,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2291
3658
  fov?: number | undefined;
2292
3659
  zoom?: number | undefined;
2293
3660
  } | undefined;
3661
+ provenance?: {
3662
+ refs: {
3663
+ id: string;
3664
+ ns?: string | undefined;
3665
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3666
+ }[];
3667
+ lineage?: {
3668
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3669
+ fromIds: string[];
3670
+ } | undefined;
3671
+ } | undefined;
2294
3672
  slots?: Record<string, string> | undefined;
2295
3673
  material?: {
2296
3674
  id?: string | undefined;
@@ -2322,9 +3700,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2322
3700
  parentId: string | null;
2323
3701
  visible: boolean;
2324
3702
  metadata: Record<string, unknown>;
3703
+ depth: number;
2325
3704
  rotation: number;
2326
3705
  width: number;
2327
- depth: number;
2328
3706
  cornerBevel: number;
2329
3707
  cap: boolean;
2330
3708
  panelDepth: number;
@@ -2366,6 +3744,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2366
3744
  fov?: number | undefined;
2367
3745
  zoom?: number | undefined;
2368
3746
  } | undefined;
3747
+ provenance?: {
3748
+ refs: {
3749
+ id: string;
3750
+ ns?: string | undefined;
3751
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3752
+ }[];
3753
+ lineage?: {
3754
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3755
+ fromIds: string[];
3756
+ } | undefined;
3757
+ } | undefined;
2369
3758
  material?: {
2370
3759
  id?: string | undefined;
2371
3760
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -2431,6 +3820,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2431
3820
  fov?: number | undefined;
2432
3821
  zoom?: number | undefined;
2433
3822
  } | undefined;
3823
+ provenance?: {
3824
+ refs: {
3825
+ id: string;
3826
+ ns?: string | undefined;
3827
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3828
+ }[];
3829
+ lineage?: {
3830
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3831
+ fromIds: string[];
3832
+ } | undefined;
3833
+ } | undefined;
2434
3834
  material?: {
2435
3835
  id?: string | undefined;
2436
3836
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -2491,7 +3891,7 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2491
3891
  lanternHeight: number;
2492
3892
  lanternTopScale: number;
2493
3893
  openingAngle: number;
2494
- openingSide: "top" | "right" | "left" | "bottom";
3894
+ openingSide: "left" | "right" | "top" | "bottom";
2495
3895
  motorHousing: boolean;
2496
3896
  slideFraction: number;
2497
3897
  trackWidth: number;
@@ -2506,6 +3906,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2506
3906
  fov?: number | undefined;
2507
3907
  zoom?: number | undefined;
2508
3908
  } | undefined;
3909
+ provenance?: {
3910
+ refs: {
3911
+ id: string;
3912
+ ns?: string | undefined;
3913
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
3914
+ }[];
3915
+ lineage?: {
3916
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
3917
+ fromIds: string[];
3918
+ } | undefined;
3919
+ } | undefined;
2509
3920
  material?: {
2510
3921
  id?: string | undefined;
2511
3922
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -2551,10 +3962,10 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2551
3962
  parentId: string | null;
2552
3963
  visible: boolean;
2553
3964
  metadata: Record<string, unknown>;
3965
+ depth: number;
2554
3966
  rotation: number;
2555
3967
  children: `window_${string}`[];
2556
3968
  width: number;
2557
- depth: number;
2558
3969
  height: number;
2559
3970
  roofType: "flat" | "hip" | "gable" | "shed" | "gambrel" | "dutch" | "mansard" | "conical";
2560
3971
  roofHeight: number;
@@ -2584,6 +3995,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2584
3995
  fov?: number | undefined;
2585
3996
  zoom?: number | undefined;
2586
3997
  } | undefined;
3998
+ provenance?: {
3999
+ refs: {
4000
+ id: string;
4001
+ ns?: string | undefined;
4002
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4003
+ }[];
4004
+ lineage?: {
4005
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4006
+ fromIds: string[];
4007
+ } | undefined;
4008
+ } | undefined;
2587
4009
  material?: {
2588
4010
  id?: string | undefined;
2589
4011
  preset?: "custom" | "white" | "brick" | "concrete" | "wood" | "glass" | "metal" | "plaster" | "tile" | "marble" | undefined;
@@ -2659,14 +4081,14 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2659
4081
  sideMaterialPreset?: string | undefined;
2660
4082
  } | {
2661
4083
  object: "node";
4084
+ length: number;
2662
4085
  id: `downspout_${string}`;
2663
4086
  parentId: string | null;
2664
4087
  visible: boolean;
2665
4088
  metadata: Record<string, unknown>;
2666
- length: number;
4089
+ shape: "auto" | "round" | "rect";
2667
4090
  materialPreset: string;
2668
4091
  diameter: number;
2669
- shape: "round" | "auto" | "rect";
2670
4092
  standoff: number;
2671
4093
  strapStyle: "none" | "band";
2672
4094
  strapSpacing: number;
@@ -2680,6 +4102,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2680
4102
  fov?: number | undefined;
2681
4103
  zoom?: number | undefined;
2682
4104
  } | undefined;
4105
+ provenance?: {
4106
+ refs: {
4107
+ id: string;
4108
+ ns?: string | undefined;
4109
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4110
+ }[];
4111
+ lineage?: {
4112
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4113
+ fromIds: string[];
4114
+ } | undefined;
4115
+ } | undefined;
2683
4116
  slots?: Record<string, string> | undefined;
2684
4117
  material?: {
2685
4118
  id?: string | undefined;
@@ -2707,17 +4140,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2707
4140
  parentId: string | null;
2708
4141
  visible: boolean;
2709
4142
  metadata: Record<string, unknown>;
4143
+ shape: "round" | "rect" | "oval";
2710
4144
  path: [number, number, number][];
2711
4145
  width: number;
2712
4146
  height: number;
2713
4147
  diameter: number;
2714
- shape: "round" | "rect" | "oval";
2715
4148
  roll: number;
2716
4149
  ductMaterial: "spiral" | "sheet-metal" | "flex" | "duct-board";
2717
4150
  seamDetail: boolean;
2718
4151
  insulated: boolean;
2719
4152
  insulationR: number;
2720
- system: "supply" | "return";
4153
+ system: "return" | "supply";
2721
4154
  type: "duct-segment";
2722
4155
  name?: string | undefined;
2723
4156
  camera?: {
@@ -2727,6 +4160,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2727
4160
  fov?: number | undefined;
2728
4161
  zoom?: number | undefined;
2729
4162
  } | undefined;
4163
+ provenance?: {
4164
+ refs: {
4165
+ id: string;
4166
+ ns?: string | undefined;
4167
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4168
+ }[];
4169
+ lineage?: {
4170
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4171
+ fromIds: string[];
4172
+ } | undefined;
4173
+ } | undefined;
2730
4174
  slots?: Record<string, string> | undefined;
2731
4175
  autoHangers?: boolean | undefined;
2732
4176
  hangerOverrides?: Record<string, {
@@ -2751,14 +4195,14 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2751
4195
  parentId: string | null;
2752
4196
  visible: boolean;
2753
4197
  metadata: Record<string, unknown>;
4198
+ shape: "round" | "rect" | "oval";
2754
4199
  rotation: [number, number, number];
2755
4200
  width: number;
2756
4201
  height: number;
2757
4202
  angle: number;
2758
4203
  diameter: number;
2759
- shape: "round" | "rect" | "oval";
2760
4204
  ductMaterial: "sheet-metal" | "flex" | "duct-board";
2761
- system: "supply" | "return";
4205
+ system: "return" | "supply";
2762
4206
  fittingType: "elbow" | "tee" | "cross" | "reducer" | "transition" | "end-cap" | "damper" | "access-panel" | "coupling";
2763
4207
  shape2: "round" | "rect" | "oval";
2764
4208
  width2: number;
@@ -2777,6 +4221,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2777
4221
  fov?: number | undefined;
2778
4222
  zoom?: number | undefined;
2779
4223
  } | undefined;
4224
+ provenance?: {
4225
+ refs: {
4226
+ id: string;
4227
+ ns?: string | undefined;
4228
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4229
+ }[];
4230
+ lineage?: {
4231
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4232
+ fromIds: string[];
4233
+ } | undefined;
4234
+ } | undefined;
2780
4235
  slots?: Record<string, string> | undefined;
2781
4236
  inletShape?: "round" | "rect" | "oval" | undefined;
2782
4237
  outletShape?: "round" | "rect" | "oval" | undefined;
@@ -2787,11 +4242,11 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2787
4242
  parentId: string | null;
2788
4243
  visible: boolean;
2789
4244
  metadata: Record<string, unknown>;
4245
+ depth: number;
2790
4246
  rotation: number;
2791
4247
  width: number;
2792
- depth: number;
2793
- terminalType: "supply-register" | "diffuser" | "return-grille";
2794
4248
  mount: "wall" | "ceiling" | "floor";
4249
+ terminalType: "supply-register" | "diffuser" | "return-grille";
2795
4250
  collarShape: "round" | "rect" | "oval";
2796
4251
  collarDiameter: number;
2797
4252
  collarWidth: number;
@@ -2805,6 +4260,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2805
4260
  fov?: number | undefined;
2806
4261
  zoom?: number | undefined;
2807
4262
  } | undefined;
4263
+ provenance?: {
4264
+ refs: {
4265
+ id: string;
4266
+ ns?: string | undefined;
4267
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4268
+ }[];
4269
+ lineage?: {
4270
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4271
+ fromIds: string[];
4272
+ } | undefined;
4273
+ } | undefined;
2808
4274
  supportSlabId?: string | undefined;
2809
4275
  } | {
2810
4276
  object: "node";
@@ -2813,9 +4279,9 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2813
4279
  parentId: string | null;
2814
4280
  visible: boolean;
2815
4281
  metadata: Record<string, unknown>;
4282
+ depth: number;
2816
4283
  rotation: number;
2817
4284
  width: number;
2818
- depth: number;
2819
4285
  height: number;
2820
4286
  equipmentType: "furnace" | "air-handler" | "condenser";
2821
4287
  supplyShape: "round" | "rect" | "oval";
@@ -2835,6 +4301,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2835
4301
  fov?: number | undefined;
2836
4302
  zoom?: number | undefined;
2837
4303
  } | undefined;
4304
+ provenance?: {
4305
+ refs: {
4306
+ id: string;
4307
+ ns?: string | undefined;
4308
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4309
+ }[];
4310
+ lineage?: {
4311
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4312
+ fromIds: string[];
4313
+ } | undefined;
4314
+ } | undefined;
2838
4315
  supportSlabId?: string | undefined;
2839
4316
  } | {
2840
4317
  object: "node";
@@ -2855,6 +4332,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2855
4332
  fov?: number | undefined;
2856
4333
  zoom?: number | undefined;
2857
4334
  } | undefined;
4335
+ provenance?: {
4336
+ refs: {
4337
+ id: string;
4338
+ ns?: string | undefined;
4339
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4340
+ }[];
4341
+ lineage?: {
4342
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4343
+ fromIds: string[];
4344
+ } | undefined;
4345
+ } | undefined;
2858
4346
  } | {
2859
4347
  object: "node";
2860
4348
  id: `liquid-line_${string}`;
@@ -2872,6 +4360,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2872
4360
  fov?: number | undefined;
2873
4361
  zoom?: number | undefined;
2874
4362
  } | undefined;
4363
+ provenance?: {
4364
+ refs: {
4365
+ id: string;
4366
+ ns?: string | undefined;
4367
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4368
+ }[];
4369
+ lineage?: {
4370
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4371
+ fromIds: string[];
4372
+ } | undefined;
4373
+ } | undefined;
2875
4374
  } | {
2876
4375
  object: "node";
2877
4376
  id: `pipe-segment_${string}`;
@@ -2891,6 +4390,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2891
4390
  fov?: number | undefined;
2892
4391
  zoom?: number | undefined;
2893
4392
  } | undefined;
4393
+ provenance?: {
4394
+ refs: {
4395
+ id: string;
4396
+ ns?: string | undefined;
4397
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4398
+ }[];
4399
+ lineage?: {
4400
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4401
+ fromIds: string[];
4402
+ } | undefined;
4403
+ } | undefined;
2894
4404
  autoHangers?: boolean | undefined;
2895
4405
  hangerOverrides?: Record<string, {
2896
4406
  fraction?: number | undefined;
@@ -2931,6 +4441,17 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2931
4441
  fov?: number | undefined;
2932
4442
  zoom?: number | undefined;
2933
4443
  } | undefined;
4444
+ provenance?: {
4445
+ refs: {
4446
+ id: string;
4447
+ ns?: string | undefined;
4448
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4449
+ }[];
4450
+ lineage?: {
4451
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4452
+ fromIds: string[];
4453
+ } | undefined;
4454
+ } | undefined;
2934
4455
  } | {
2935
4456
  object: "node";
2936
4457
  position: [number, number, number];
@@ -2951,9 +4472,20 @@ export declare function getNodesWithLiveStairOpeningInputs(nodes: Record<string,
2951
4472
  fov?: number | undefined;
2952
4473
  zoom?: number | undefined;
2953
4474
  } | undefined;
4475
+ provenance?: {
4476
+ refs: {
4477
+ id: string;
4478
+ ns?: string | undefined;
4479
+ role?: "primary" | "piece" | "absorbed" | "alias" | "derived" | undefined;
4480
+ }[];
4481
+ lineage?: {
4482
+ op: "import" | "split" | "merge" | "duplicate" | "convert" | "promote" | "make-independent" | "attach";
4483
+ fromIds: string[];
4484
+ } | undefined;
4485
+ } | undefined;
2954
4486
  }>;
2955
4487
  export declare function createSurfaceOpeningPreviewController(): {
2956
- previewSurfaceIds: Set<`block_${string}` | `bvent_${string}` | `elevator_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `site_${string}` | `building_${string}` | `level_${string}` | `wall_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}` | `roof_${string}` | `rseg_${string}` | `slab_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${string}` | `stair_${string}` | `sseg_${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}` | `unit_${string}` | `cabinet_${string}` | `cabinet-module_${string}` | `rvent_${string}` | `tvent_${string}` | `cupola_${string}` | `eyebrow-vent_${string}` | `gutter_${string}` | `chimney_${string}` | `solarpanel_${string}` | `skylight_${string}` | `dormer_${string}` | `downspout_${string}`>;
4488
+ previewSurfaceIds: Set<`block_${string}` | `bvent_${string}` | `elevator_${string}` | `ceiling_${string}` | `item_${string}` | `procedural-item_${string}` | `column_${string}` | `construction-dimension_${string}` | `site_${string}` | `building_${string}` | `level_${string}` | `wall_${string}` | `door_${string}` | `window_${string}` | `leanto_${string}` | `roof_${string}` | `rseg_${string}` | `slab_${string}` | `separator_${string}` | `floor-opening_${string}` | `fence_${string}` | `structural-grid_${string}` | `imesh_${string}` | `zone_${string}` | `stair_${string}` | `sseg_${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}` | `unit_${string}` | `fence-gate_${string}` | `fence-opening_${string}` | `cabinet_${string}` | `cabinet-module_${string}` | `rvent_${string}` | `tvent_${string}` | `cupola_${string}` | `eyebrow-vent_${string}` | `gutter_${string}` | `chimney_${string}` | `solarpanel_${string}` | `skylight_${string}` | `dormer_${string}` | `downspout_${string}`>;
2957
4489
  apply(updates: SurfaceOpeningUpdate[]): void;
2958
4490
  clear(): void;
2959
4491
  };