@pascal-app/core 1.0.5 → 1.0.7

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 (940) hide show
  1. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts +31 -0
  2. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -1
  3. package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -1
  4. package/dist/agent-operations/__fixtures__/build-room-cases.js +27 -0
  5. package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -1
  6. package/dist/agent-operations/__fixtures__/cases.js +19 -11
  7. package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts +25 -2
  8. package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts.map +1 -1
  9. package/dist/agent-operations/__fixtures__/design-brief-cases.js +509 -66
  10. package/dist/agent-operations/__fixtures__/dressing-scenes.d.ts +30 -0
  11. package/dist/agent-operations/__fixtures__/dressing-scenes.d.ts.map +1 -0
  12. package/dist/agent-operations/__fixtures__/dressing-scenes.js +82 -0
  13. package/dist/agent-operations/__fixtures__/native-materials.d.ts +407 -9
  14. package/dist/agent-operations/__fixtures__/native-materials.d.ts.map +1 -1
  15. package/dist/agent-operations/__fixtures__/notation-cases.d.ts.map +1 -1
  16. package/dist/agent-operations/__fixtures__/notation-cases.js +14 -0
  17. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +7253 -4053
  18. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts.map +1 -1
  19. package/dist/agent-operations/__fixtures__/room-cases.d.ts +1 -0
  20. package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -1
  21. package/dist/agent-operations/__fixtures__/room-cases.js +57 -1
  22. package/dist/agent-operations/__fixtures__/room-check-scenes.d.ts +51 -0
  23. package/dist/agent-operations/__fixtures__/room-check-scenes.d.ts.map +1 -0
  24. package/dist/agent-operations/__fixtures__/room-check-scenes.js +121 -0
  25. package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts.map +1 -1
  26. package/dist/agent-operations/__fixtures__/scene-check-cases.js +152 -18
  27. package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -1
  28. package/dist/agent-operations/__fixtures__/search-assets-cases.js +91 -0
  29. package/dist/agent-operations/__fixtures__/site-cases.d.ts +40 -1
  30. package/dist/agent-operations/__fixtures__/site-cases.d.ts.map +1 -1
  31. package/dist/agent-operations/__fixtures__/structure-cases.d.ts +3 -0
  32. package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -1
  33. package/dist/agent-operations/__fixtures__/structure-cases.js +199 -18
  34. package/dist/agent-operations/__fixtures__/unit-cases.d.ts +6 -0
  35. package/dist/agent-operations/__fixtures__/unit-cases.d.ts.map +1 -0
  36. package/dist/agent-operations/__fixtures__/unit-cases.js +266 -0
  37. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +109 -73
  38. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -1
  39. package/dist/agent-operations/add-column.d.ts.map +1 -1
  40. package/dist/agent-operations/add-column.js +32 -3
  41. package/dist/agent-operations/add-fence.d.ts.map +1 -1
  42. package/dist/agent-operations/add-fence.js +2 -1
  43. package/dist/agent-operations/add-level.d.ts.map +1 -1
  44. package/dist/agent-operations/add-level.js +4 -4
  45. package/dist/agent-operations/add-object.d.ts +32 -6
  46. package/dist/agent-operations/add-object.d.ts.map +1 -1
  47. package/dist/agent-operations/add-object.js +59 -12
  48. package/dist/agent-operations/add-wall.d.ts +3 -8
  49. package/dist/agent-operations/add-wall.d.ts.map +1 -1
  50. package/dist/agent-operations/add-wall.js +31 -8
  51. package/dist/agent-operations/apply-changes.d.ts.map +1 -1
  52. package/dist/agent-operations/apply-changes.js +2 -1
  53. package/dist/agent-operations/asset-catalog.d.ts +63 -0
  54. package/dist/agent-operations/asset-catalog.d.ts.map +1 -0
  55. package/dist/agent-operations/asset-catalog.js +182 -0
  56. package/dist/agent-operations/asset-views.d.ts +4 -2
  57. package/dist/agent-operations/asset-views.d.ts.map +1 -1
  58. package/dist/agent-operations/asset-views.js +1 -3
  59. package/dist/agent-operations/author-scene-checks.d.ts +38 -0
  60. package/dist/agent-operations/author-scene-checks.d.ts.map +1 -0
  61. package/dist/agent-operations/author-scene-checks.js +266 -0
  62. package/dist/agent-operations/author-scene.d.ts +54 -20
  63. package/dist/agent-operations/author-scene.d.ts.map +1 -1
  64. package/dist/agent-operations/author-scene.js +1164 -196
  65. package/dist/agent-operations/authored-scene-merge.d.ts.map +1 -1
  66. package/dist/agent-operations/authored-scene-merge.js +61 -3
  67. package/dist/agent-operations/batch.d.ts +1 -1
  68. package/dist/agent-operations/batch.d.ts.map +1 -1
  69. package/dist/agent-operations/batch.js +38 -39
  70. package/dist/agent-operations/ceiling-object-observations.d.ts.map +1 -1
  71. package/dist/agent-operations/ceiling-object-observations.js +5 -4
  72. package/dist/agent-operations/circulation-geometry.d.ts +14 -0
  73. package/dist/agent-operations/circulation-geometry.d.ts.map +1 -0
  74. package/dist/agent-operations/circulation-geometry.js +151 -0
  75. package/dist/agent-operations/circulation-graph.d.ts +72 -0
  76. package/dist/agent-operations/circulation-graph.d.ts.map +1 -0
  77. package/dist/agent-operations/circulation-graph.js +713 -0
  78. package/dist/agent-operations/circulation-non-spaces.d.ts +10 -0
  79. package/dist/agent-operations/circulation-non-spaces.d.ts.map +1 -0
  80. package/dist/agent-operations/circulation-non-spaces.js +88 -0
  81. package/dist/agent-operations/circulation-spaces.d.ts +5880 -0
  82. package/dist/agent-operations/circulation-spaces.d.ts.map +1 -0
  83. package/dist/agent-operations/circulation-spaces.js +368 -0
  84. package/dist/agent-operations/collections.d.ts.map +1 -1
  85. package/dist/agent-operations/collections.js +9 -7
  86. package/dist/agent-operations/corner-window.d.ts.map +1 -1
  87. package/dist/agent-operations/corner-window.js +2 -4
  88. package/dist/agent-operations/create-roof.d.ts.map +1 -1
  89. package/dist/agent-operations/create-roof.js +5 -7
  90. package/dist/agent-operations/create-room.d.ts +4 -1
  91. package/dist/agent-operations/create-room.d.ts.map +1 -1
  92. package/dist/agent-operations/create-room.js +7 -4
  93. package/dist/agent-operations/create-stair.js +2 -2
  94. package/dist/agent-operations/design-brief.d.ts +13 -7
  95. package/dist/agent-operations/design-brief.d.ts.map +1 -1
  96. package/dist/agent-operations/design-brief.js +172 -92
  97. package/dist/agent-operations/door-clearance.d.ts +68 -8
  98. package/dist/agent-operations/door-clearance.d.ts.map +1 -1
  99. package/dist/agent-operations/door-clearance.js +127 -20
  100. package/dist/agent-operations/dress-targets.d.ts +23 -0
  101. package/dist/agent-operations/dress-targets.d.ts.map +1 -0
  102. package/dist/agent-operations/dress-targets.js +34 -0
  103. package/dist/agent-operations/duplicate-node.d.ts +14 -0
  104. package/dist/agent-operations/duplicate-node.d.ts.map +1 -0
  105. package/dist/agent-operations/duplicate-node.js +173 -0
  106. package/dist/agent-operations/find-by-type.d.ts.map +1 -1
  107. package/dist/agent-operations/find-by-type.js +3 -0
  108. package/dist/agent-operations/furnish-room.d.ts +2 -0
  109. package/dist/agent-operations/furnish-room.d.ts.map +1 -1
  110. package/dist/agent-operations/furnish-room.js +15 -4
  111. package/dist/agent-operations/furniture-kind.d.ts +28 -1
  112. package/dist/agent-operations/furniture-kind.d.ts.map +1 -1
  113. package/dist/agent-operations/furniture-kind.js +105 -6
  114. package/dist/agent-operations/ground-reader.d.ts +10 -0
  115. package/dist/agent-operations/ground-reader.d.ts.map +1 -0
  116. package/dist/agent-operations/ground-reader.js +25 -0
  117. package/dist/agent-operations/index.d.ts +118 -12
  118. package/dist/agent-operations/index.d.ts.map +1 -1
  119. package/dist/agent-operations/index.js +26 -1
  120. package/dist/agent-operations/item-solids.d.ts +39 -0
  121. package/dist/agent-operations/item-solids.d.ts.map +1 -0
  122. package/dist/agent-operations/item-solids.js +128 -0
  123. package/dist/agent-operations/layout-clearance.d.ts +91 -11
  124. package/dist/agent-operations/layout-clearance.d.ts.map +1 -1
  125. package/dist/agent-operations/layout-clearance.js +280 -73
  126. package/dist/agent-operations/level-height-fill.d.ts.map +1 -1
  127. package/dist/agent-operations/level-height-fill.js +7 -1
  128. package/dist/agent-operations/level-reads.d.ts +5 -0
  129. package/dist/agent-operations/level-reads.d.ts.map +1 -1
  130. package/dist/agent-operations/level-reads.js +38 -2
  131. package/dist/agent-operations/list-levels.d.ts.map +1 -1
  132. package/dist/agent-operations/list-levels.js +2 -4
  133. package/dist/agent-operations/move-node.d.ts +12 -0
  134. package/dist/agent-operations/move-node.d.ts.map +1 -0
  135. package/dist/agent-operations/move-node.js +28 -0
  136. package/dist/agent-operations/move-plan.d.ts +28 -0
  137. package/dist/agent-operations/move-plan.d.ts.map +1 -0
  138. package/dist/agent-operations/move-plan.js +257 -0
  139. package/dist/agent-operations/node-patch.d.ts.map +1 -1
  140. package/dist/agent-operations/node-patch.js +15 -0
  141. package/dist/agent-operations/paint.d.ts +3 -1
  142. package/dist/agent-operations/paint.d.ts.map +1 -1
  143. package/dist/agent-operations/paint.js +14 -1
  144. package/dist/agent-operations/photo-elevation.d.ts.map +1 -1
  145. package/dist/agent-operations/photo-elevation.js +2 -1
  146. package/dist/agent-operations/place-in-room.d.ts.map +1 -1
  147. package/dist/agent-operations/place-in-room.js +1 -0
  148. package/dist/agent-operations/place-items.d.ts.map +1 -1
  149. package/dist/agent-operations/place-items.js +3 -4
  150. package/dist/agent-operations/plan-clearance.d.ts +28 -0
  151. package/dist/agent-operations/plan-clearance.d.ts.map +1 -0
  152. package/dist/agent-operations/plan-clearance.js +47 -0
  153. package/dist/agent-operations/plan-geometry.d.ts +2 -0
  154. package/dist/agent-operations/plan-geometry.d.ts.map +1 -1
  155. package/dist/agent-operations/plan-geometry.js +10 -0
  156. package/dist/agent-operations/project-files.d.ts +10 -0
  157. package/dist/agent-operations/project-files.d.ts.map +1 -1
  158. package/dist/agent-operations/reachability.d.ts +41 -0
  159. package/dist/agent-operations/reachability.d.ts.map +1 -0
  160. package/dist/agent-operations/reachability.js +199 -0
  161. package/dist/agent-operations/room-checks.d.ts +60 -0
  162. package/dist/agent-operations/room-checks.d.ts.map +1 -0
  163. package/dist/agent-operations/room-checks.js +226 -0
  164. package/dist/agent-operations/room-faces.d.ts +30 -0
  165. package/dist/agent-operations/room-faces.d.ts.map +1 -0
  166. package/dist/agent-operations/room-faces.js +31 -0
  167. package/dist/agent-operations/room-findings.d.ts +5 -2
  168. package/dist/agent-operations/room-findings.d.ts.map +1 -1
  169. package/dist/agent-operations/room-findings.js +30 -0
  170. package/dist/agent-operations/room-finishes.d.ts +87 -0
  171. package/dist/agent-operations/room-finishes.d.ts.map +1 -0
  172. package/dist/agent-operations/room-finishes.js +193 -0
  173. package/dist/agent-operations/room-floor-script.d.ts +3 -3
  174. package/dist/agent-operations/room-floor-script.js +3 -3
  175. package/dist/agent-operations/room-readings.d.ts +90 -0
  176. package/dist/agent-operations/room-readings.d.ts.map +1 -0
  177. package/dist/agent-operations/room-readings.js +369 -0
  178. package/dist/agent-operations/room-tile.d.ts +15 -0
  179. package/dist/agent-operations/room-tile.d.ts.map +1 -0
  180. package/dist/agent-operations/room-tile.js +30 -0
  181. package/dist/agent-operations/room-wet.d.ts +55 -0
  182. package/dist/agent-operations/room-wet.d.ts.map +1 -0
  183. package/dist/agent-operations/room-wet.js +203 -0
  184. package/dist/agent-operations/scene-check-policy.d.ts +5 -0
  185. package/dist/agent-operations/scene-check-policy.d.ts.map +1 -0
  186. package/dist/agent-operations/scene-check-policy.js +24 -0
  187. package/dist/agent-operations/scene-checkpoint.d.ts +10 -0
  188. package/dist/agent-operations/scene-checkpoint.d.ts.map +1 -1
  189. package/dist/agent-operations/scene-checkpoint.js +31 -0
  190. package/dist/agent-operations/scene-issue-groups.d.ts +17 -0
  191. package/dist/agent-operations/scene-issue-groups.d.ts.map +1 -0
  192. package/dist/agent-operations/scene-issue-groups.js +71 -0
  193. package/dist/agent-operations/scene-materials.d.ts +23 -0
  194. package/dist/agent-operations/scene-materials.d.ts.map +1 -1
  195. package/dist/agent-operations/scene-materials.js +41 -0
  196. package/dist/agent-operations/scene-queries.d.ts +1667 -866
  197. package/dist/agent-operations/scene-queries.d.ts.map +1 -1
  198. package/dist/agent-operations/scene-queries.js +3 -3
  199. package/dist/agent-operations/scene-review.d.ts.map +1 -1
  200. package/dist/agent-operations/scene-review.js +3 -2
  201. package/dist/agent-operations/scene-view.d.ts.map +1 -1
  202. package/dist/agent-operations/scene-view.js +91 -21
  203. package/dist/agent-operations/search-assets.d.ts +10 -6
  204. package/dist/agent-operations/search-assets.d.ts.map +1 -1
  205. package/dist/agent-operations/search-assets.js +37 -22
  206. package/dist/agent-operations/set-checkpoint.d.ts.map +1 -1
  207. package/dist/agent-operations/set-checkpoint.js +1 -0
  208. package/dist/agent-operations/set-ground-level.d.ts +1 -1
  209. package/dist/agent-operations/set-ground-level.d.ts.map +1 -1
  210. package/dist/agent-operations/set-ground-level.js +3 -14
  211. package/dist/agent-operations/site.js +3 -2
  212. package/dist/agent-operations/slab-surface-script.d.ts +25 -0
  213. package/dist/agent-operations/slab-surface-script.d.ts.map +1 -0
  214. package/dist/agent-operations/slab-surface-script.js +60 -0
  215. package/dist/agent-operations/stair-plan-footprint.d.ts +9 -0
  216. package/dist/agent-operations/stair-plan-footprint.d.ts.map +1 -0
  217. package/dist/agent-operations/stair-plan-footprint.js +50 -0
  218. package/dist/agent-operations/types.d.ts +10 -5
  219. package/dist/agent-operations/types.d.ts.map +1 -1
  220. package/dist/agent-operations/units.d.ts +26 -0
  221. package/dist/agent-operations/units.d.ts.map +1 -0
  222. package/dist/agent-operations/units.js +110 -0
  223. package/dist/agent-operations/unreachable-rooms-check.d.ts +17 -0
  224. package/dist/agent-operations/unreachable-rooms-check.d.ts.map +1 -0
  225. package/dist/agent-operations/unreachable-rooms-check.js +35 -0
  226. package/dist/agent-operations/usage-checks.d.ts +2 -0
  227. package/dist/agent-operations/usage-checks.d.ts.map +1 -0
  228. package/dist/agent-operations/usage-checks.js +12 -0
  229. package/dist/agent-operations/verify-scene.d.ts +8 -11
  230. package/dist/agent-operations/verify-scene.d.ts.map +1 -1
  231. package/dist/agent-operations/verify-scene.js +55 -11
  232. package/dist/agent-operations/wall-face-defaults.d.ts +44 -0
  233. package/dist/agent-operations/wall-face-defaults.d.ts.map +1 -0
  234. package/dist/agent-operations/wall-face-defaults.js +229 -0
  235. package/dist/agent-operations/wall-joins.d.ts +119 -0
  236. package/dist/agent-operations/wall-joins.d.ts.map +1 -0
  237. package/dist/agent-operations/wall-joins.js +308 -0
  238. package/dist/agent-operations/wall-object-observations.d.ts.map +1 -1
  239. package/dist/agent-operations/wall-object-observations.js +4 -6
  240. package/dist/agent-operations/wall-skirting.d.ts.map +1 -1
  241. package/dist/agent-operations/wall-skirting.js +2 -0
  242. package/dist/agent-operations/wall-type.d.ts +49 -0
  243. package/dist/agent-operations/wall-type.d.ts.map +1 -0
  244. package/dist/agent-operations/wall-type.js +31 -0
  245. package/dist/agent-operations/zone-coverage.d.ts +85 -0
  246. package/dist/agent-operations/zone-coverage.d.ts.map +1 -0
  247. package/dist/agent-operations/zone-coverage.js +208 -0
  248. package/dist/agent-tools/add-object.d.ts +31 -0
  249. package/dist/agent-tools/add-object.d.ts.map +1 -1
  250. package/dist/agent-tools/add-object.js +44 -7
  251. package/dist/agent-tools/assets.d.ts +4 -0
  252. package/dist/agent-tools/assets.d.ts.map +1 -1
  253. package/dist/agent-tools/assets.js +11 -1
  254. package/dist/agent-tools/author-scene.d.ts +810 -15
  255. package/dist/agent-tools/author-scene.d.ts.map +1 -1
  256. package/dist/agent-tools/author-scene.js +275 -34
  257. package/dist/agent-tools/batch.d.ts +1 -1
  258. package/dist/agent-tools/batch.d.ts.map +1 -1
  259. package/dist/agent-tools/batch.js +5 -1
  260. package/dist/agent-tools/checkpoints.js +1 -1
  261. package/dist/agent-tools/columns.d.ts +14 -0
  262. package/dist/agent-tools/columns.d.ts.map +1 -1
  263. package/dist/agent-tools/columns.js +14 -2
  264. package/dist/agent-tools/contract.d.ts +10 -0
  265. package/dist/agent-tools/contract.d.ts.map +1 -1
  266. package/dist/agent-tools/contract.js +5 -1
  267. package/dist/agent-tools/corner-window.d.ts +1 -0
  268. package/dist/agent-tools/corner-window.d.ts.map +1 -1
  269. package/dist/agent-tools/corner-window.js +1 -1
  270. package/dist/agent-tools/create-room.d.ts +85 -0
  271. package/dist/agent-tools/create-room.d.ts.map +1 -1
  272. package/dist/agent-tools/create-room.js +8 -1
  273. package/dist/agent-tools/design-brief.d.ts +513 -7
  274. package/dist/agent-tools/design-brief.d.ts.map +1 -1
  275. package/dist/agent-tools/design-brief.js +192 -14
  276. package/dist/agent-tools/designs.js +1 -1
  277. package/dist/agent-tools/find-by-type.js +1 -1
  278. package/dist/agent-tools/index.d.ts +658 -10
  279. package/dist/agent-tools/index.d.ts.map +1 -1
  280. package/dist/agent-tools/index.js +9 -1
  281. package/dist/agent-tools/levels.js +4 -4
  282. package/dist/agent-tools/move-duplicate.d.ts +65 -0
  283. package/dist/agent-tools/move-duplicate.d.ts.map +1 -0
  284. package/dist/agent-tools/move-duplicate.js +68 -0
  285. package/dist/agent-tools/paint.d.ts +6 -0
  286. package/dist/agent-tools/paint.d.ts.map +1 -1
  287. package/dist/agent-tools/paint.js +7 -3
  288. package/dist/agent-tools/photo-elevation.js +1 -1
  289. package/dist/agent-tools/project-files.d.ts +2 -2
  290. package/dist/agent-tools/project-files.d.ts.map +1 -1
  291. package/dist/agent-tools/project-files.js +1 -1
  292. package/dist/agent-tools/refusal.d.ts +9 -1
  293. package/dist/agent-tools/refusal.d.ts.map +1 -1
  294. package/dist/agent-tools/refusal.js +5 -1
  295. package/dist/agent-tools/roofs.js +1 -1
  296. package/dist/agent-tools/room-structure.d.ts +60 -0
  297. package/dist/agent-tools/room-structure.d.ts.map +1 -1
  298. package/dist/agent-tools/room-structure.js +20 -1
  299. package/dist/agent-tools/search-materials.d.ts +1 -0
  300. package/dist/agent-tools/search-materials.d.ts.map +1 -1
  301. package/dist/agent-tools/site.js +1 -1
  302. package/dist/agent-tools/stairs.js +1 -1
  303. package/dist/agent-tools/units.d.ts +84 -0
  304. package/dist/agent-tools/units.d.ts.map +1 -0
  305. package/dist/agent-tools/units.js +54 -0
  306. package/dist/agent-tools/verify-scene-usage.d.ts +44 -0
  307. package/dist/agent-tools/verify-scene-usage.d.ts.map +1 -0
  308. package/dist/agent-tools/verify-scene-usage.js +146 -0
  309. package/dist/agent-tools/verify-scene.d.ts +12 -1
  310. package/dist/agent-tools/verify-scene.d.ts.map +1 -1
  311. package/dist/agent-tools/verify-scene.js +183 -3
  312. package/dist/agent-tools/view-scene.d.ts +3 -0
  313. package/dist/agent-tools/view-scene.d.ts.map +1 -1
  314. package/dist/agent-tools/view-scene.js +4 -1
  315. package/dist/agent-tools/wall-openings.d.ts +121 -2
  316. package/dist/agent-tools/wall-openings.d.ts.map +1 -1
  317. package/dist/agent-tools/wall-openings.js +123 -18
  318. package/dist/agent-tools/walls.d.ts +30 -0
  319. package/dist/agent-tools/walls.d.ts.map +1 -1
  320. package/dist/agent-tools/walls.js +54 -2
  321. package/dist/building/__fixtures__/wall-opening-cases.d.ts +340 -195
  322. package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -1
  323. package/dist/building/__fixtures__/wall-opening-cases.js +13 -0
  324. package/dist/building/code-profile.d.ts +231 -0
  325. package/dist/building/code-profile.d.ts.map +1 -0
  326. package/dist/building/code-profile.js +208 -0
  327. package/dist/building/corner-window.d.ts +2 -2
  328. package/dist/building/corner-window.d.ts.map +1 -1
  329. package/dist/building/corner-window.js +11 -2
  330. package/dist/building/door-types.d.ts +1 -0
  331. package/dist/building/door-types.d.ts.map +1 -1
  332. package/dist/building/door-types.js +2 -0
  333. package/dist/building/floor-item-fit.d.ts.map +1 -1
  334. package/dist/building/floor-item-fit.js +2 -4
  335. package/dist/building/ground-level.d.ts +1 -3
  336. package/dist/building/ground-level.d.ts.map +1 -1
  337. package/dist/building/ground-level.js +3 -5
  338. package/dist/building/index.d.ts +2 -0
  339. package/dist/building/index.d.ts.map +1 -1
  340. package/dist/building/index.js +2 -0
  341. package/dist/building/level-duplication.d.ts +5951 -4351
  342. package/dist/building/level-duplication.d.ts.map +1 -1
  343. package/dist/building/level-insertion.d.ts +1 -1
  344. package/dist/building/level-wall-copy.d.ts +24 -0
  345. package/dist/building/level-wall-copy.d.ts.map +1 -0
  346. package/dist/building/level-wall-copy.js +53 -0
  347. package/dist/building/merge-windows.d.ts.map +1 -1
  348. package/dist/building/merge-windows.js +1 -0
  349. package/dist/building/opening-style-presets.d.ts +2 -0
  350. package/dist/building/opening-style-presets.d.ts.map +1 -1
  351. package/dist/building/opening-style-presets.js +26 -5
  352. package/dist/building/room-use.d.ts +26 -0
  353. package/dist/building/room-use.d.ts.map +1 -0
  354. package/dist/building/room-use.js +102 -0
  355. package/dist/building/wall-openings.d.ts +115 -7
  356. package/dist/building/wall-openings.d.ts.map +1 -1
  357. package/dist/building/wall-openings.js +121 -29
  358. package/dist/building/window-types.d.ts +1 -0
  359. package/dist/building/window-types.d.ts.map +1 -1
  360. package/dist/building/window-types.js +3 -0
  361. package/dist/coherence/__fixtures__/enclosure-scenes.d.ts +84 -0
  362. package/dist/coherence/__fixtures__/enclosure-scenes.d.ts.map +1 -0
  363. package/dist/coherence/__fixtures__/enclosure-scenes.js +44 -0
  364. package/dist/commands/structure/attached-walls.d.ts +16 -0
  365. package/dist/commands/structure/attached-walls.d.ts.map +1 -0
  366. package/dist/commands/structure/attached-walls.js +53 -0
  367. package/dist/commands/structure/index.d.ts +3 -0
  368. package/dist/commands/structure/index.d.ts.map +1 -1
  369. package/dist/commands/structure/index.js +3 -0
  370. package/dist/commands/structure/move-separators.d.ts +62 -0
  371. package/dist/commands/structure/move-separators.d.ts.map +1 -0
  372. package/dist/commands/structure/move-separators.js +346 -0
  373. package/dist/commands/structure/set-floor-foundation.d.ts +5 -0
  374. package/dist/commands/structure/set-floor-foundation.d.ts.map +1 -1
  375. package/dist/commands/structure/set-wall-geometry.d.ts.map +1 -1
  376. package/dist/commands/structure/set-wall-geometry.js +44 -11
  377. package/dist/commands/structure/set-zone-intent.d.ts +26 -0
  378. package/dist/commands/structure/set-zone-intent.d.ts.map +1 -1
  379. package/dist/commands/structure/set-zone-intent.js +107 -2
  380. package/dist/commands/structure/shared.d.ts +888 -88
  381. package/dist/commands/structure/shared.d.ts.map +1 -1
  382. package/dist/commands/structure/wall-overlap.d.ts +45 -0
  383. package/dist/commands/structure/wall-overlap.d.ts.map +1 -0
  384. package/dist/commands/structure/wall-overlap.js +289 -0
  385. package/dist/commands/structure/zone-wall-merge.d.ts +3326 -2370
  386. package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -1
  387. package/dist/contracts/reference-discovery.d.ts +2 -2
  388. package/dist/contracts/reference-discovery.d.ts.map +1 -1
  389. package/dist/contracts/reference-discovery.js +5 -3
  390. package/dist/contracts/reference-inventory.d.ts.map +1 -1
  391. package/dist/contracts/reference-inventory.js +75 -24
  392. package/dist/events/bus.d.ts +15 -2
  393. package/dist/events/bus.d.ts.map +1 -1
  394. package/dist/hooks/spatial-grid/built-in-floor-placed.d.ts +40 -0
  395. package/dist/hooks/spatial-grid/built-in-floor-placed.d.ts.map +1 -0
  396. package/dist/hooks/spatial-grid/built-in-floor-placed.js +220 -0
  397. package/dist/hooks/spatial-grid/floor-placed-elevation.d.ts.map +1 -1
  398. package/dist/hooks/spatial-grid/floor-placed-elevation.js +13 -7
  399. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +56 -1
  400. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  401. package/dist/hooks/spatial-grid/spatial-grid-manager.js +177 -27
  402. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +1631 -831
  403. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  404. package/dist/hooks/spatial-grid/spatial-grid-sync.js +24 -1
  405. package/dist/hooks/spatial-grid/support-host-patch.js +10 -10
  406. package/dist/i18n/format.d.ts +41 -0
  407. package/dist/i18n/format.d.ts.map +1 -0
  408. package/dist/i18n/format.js +124 -0
  409. package/dist/i18n/index.d.ts +5 -0
  410. package/dist/i18n/index.d.ts.map +1 -0
  411. package/dist/i18n/index.js +3 -0
  412. package/dist/i18n/registry.d.ts +78 -0
  413. package/dist/i18n/registry.d.ts.map +1 -0
  414. package/dist/i18n/registry.js +252 -0
  415. package/dist/i18n/use-translate.d.ts +16 -0
  416. package/dist/i18n/use-translate.d.ts.map +1 -0
  417. package/dist/i18n/use-translate.js +23 -0
  418. package/dist/index.d.ts +32 -16
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +31 -15
  421. package/dist/lib/__fixtures__/mezzanine.d.ts +6840 -4169
  422. package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
  423. package/dist/lib/absorb-wall-separators.d.ts +2128 -1328
  424. package/dist/lib/absorb-wall-separators.d.ts.map +1 -1
  425. package/dist/lib/beam.d.ts +137 -0
  426. package/dist/lib/beam.d.ts.map +1 -0
  427. package/dist/lib/beam.js +297 -0
  428. package/dist/lib/below-grade-footprints.d.ts +13 -5
  429. package/dist/lib/below-grade-footprints.d.ts.map +1 -1
  430. package/dist/lib/below-grade-footprints.js +53 -10
  431. package/dist/lib/build-up.d.ts +89 -0
  432. package/dist/lib/build-up.d.ts.map +1 -0
  433. package/dist/lib/build-up.js +216 -0
  434. package/dist/lib/corner-pair.d.ts +205 -4
  435. package/dist/lib/corner-pair.d.ts.map +1 -1
  436. package/dist/lib/deck-boards.d.ts +80 -0
  437. package/dist/lib/deck-boards.d.ts.map +1 -0
  438. package/dist/lib/deck-boards.js +184 -0
  439. package/dist/lib/deck-framing.d.ts +150 -0
  440. package/dist/lib/deck-framing.d.ts.map +1 -0
  441. package/dist/lib/deck-framing.js +515 -0
  442. package/dist/lib/deepest-drawn.d.ts +3 -6
  443. package/dist/lib/deepest-drawn.d.ts.map +1 -1
  444. package/dist/lib/deepest-drawn.js +4 -8
  445. package/dist/lib/door-opening.d.ts +19 -0
  446. package/dist/lib/door-opening.d.ts.map +1 -0
  447. package/dist/lib/door-opening.js +27 -0
  448. package/dist/lib/door-operation.d.ts +2 -0
  449. package/dist/lib/door-operation.d.ts.map +1 -1
  450. package/dist/lib/door-operation.js +4 -0
  451. package/dist/lib/exterior-wall-loops.d.ts.map +1 -1
  452. package/dist/lib/exterior-wall-loops.js +2 -1
  453. package/dist/lib/finish-script.d.ts +5 -5
  454. package/dist/lib/finish-script.d.ts.map +1 -1
  455. package/dist/lib/finish-script.js +12 -5
  456. package/dist/lib/floor-footprint-name.d.ts +17 -0
  457. package/dist/lib/floor-footprint-name.d.ts.map +1 -1
  458. package/dist/lib/floor-footprint-name.js +17 -4
  459. package/dist/lib/floor-intent-changes.d.ts.map +1 -1
  460. package/dist/lib/floor-intent-changes.js +60 -35
  461. package/dist/lib/floor-opening-footprints.d.ts +1 -1
  462. package/dist/lib/floor-opening-footprints.d.ts.map +1 -1
  463. package/dist/lib/floor-opening-footprints.js +10 -4
  464. package/dist/lib/floor-plate-paint.d.ts +2 -0
  465. package/dist/lib/floor-plate-paint.d.ts.map +1 -1
  466. package/dist/lib/floor-plate-paint.js +12 -0
  467. package/dist/lib/floor-plates.d.ts +250 -0
  468. package/dist/lib/floor-plates.d.ts.map +1 -1
  469. package/dist/lib/floor-plates.js +43 -4
  470. package/dist/lib/floor-script.d.ts +35 -6
  471. package/dist/lib/floor-script.d.ts.map +1 -1
  472. package/dist/lib/floor-script.js +96 -16
  473. package/dist/lib/foundation-construction.d.ts +4 -13
  474. package/dist/lib/foundation-construction.d.ts.map +1 -1
  475. package/dist/lib/foundation-construction.js +4 -14
  476. package/dist/lib/foundation-standard.d.ts +2 -3
  477. package/dist/lib/foundation-standard.d.ts.map +1 -1
  478. package/dist/lib/foundation-standard.js +2 -3
  479. package/dist/lib/foundation-wall.d.ts +1 -2
  480. package/dist/lib/foundation-wall.d.ts.map +1 -1
  481. package/dist/lib/foundation-wall.js +1 -2
  482. package/dist/lib/framing-post.d.ts +91 -0
  483. package/dist/lib/framing-post.d.ts.map +1 -0
  484. package/dist/lib/framing-post.js +174 -0
  485. package/dist/lib/geometry-script-node.d.ts +11 -0
  486. package/dist/lib/geometry-script-node.d.ts.map +1 -1
  487. package/dist/lib/geometry-script-node.js +35 -0
  488. package/dist/lib/grade-standing.d.ts +16 -2
  489. package/dist/lib/grade-standing.d.ts.map +1 -1
  490. package/dist/lib/grade-standing.js +129 -9
  491. package/dist/lib/ground-seat.d.ts +2 -22
  492. package/dist/lib/ground-seat.d.ts.map +1 -1
  493. package/dist/lib/ground-seat.js +2 -17
  494. package/dist/lib/ground-window.d.ts +2 -1
  495. package/dist/lib/ground-window.d.ts.map +1 -1
  496. package/dist/lib/ground-window.js +5 -2
  497. package/dist/lib/level-footprints.d.ts +2 -0
  498. package/dist/lib/level-footprints.d.ts.map +1 -1
  499. package/dist/lib/level-footprints.js +7 -0
  500. package/dist/lib/opening-casing.d.ts +67 -0
  501. package/dist/lib/opening-casing.d.ts.map +1 -0
  502. package/dist/lib/opening-casing.js +131 -0
  503. package/dist/lib/opening-exterior-face.d.ts +6 -0
  504. package/dist/lib/opening-exterior-face.d.ts.map +1 -0
  505. package/dist/lib/opening-exterior-face.js +15 -0
  506. package/dist/lib/opening-floor-datum.d.ts +11 -5
  507. package/dist/lib/opening-floor-datum.d.ts.map +1 -1
  508. package/dist/lib/opening-floor-datum.js +38 -6
  509. package/dist/lib/opening-frame-depth.d.ts +18 -0
  510. package/dist/lib/opening-frame-depth.d.ts.map +1 -0
  511. package/dist/lib/opening-frame-depth.js +22 -0
  512. package/dist/lib/outdoor-room.d.ts +32 -0
  513. package/dist/lib/outdoor-room.d.ts.map +1 -0
  514. package/dist/lib/outdoor-room.js +66 -0
  515. package/dist/lib/plate-surface.d.ts +8 -0
  516. package/dist/lib/plate-surface.d.ts.map +1 -1
  517. package/dist/lib/plate-surface.js +53 -3
  518. package/dist/lib/porch-framing-sync.d.ts +46 -0
  519. package/dist/lib/porch-framing-sync.d.ts.map +1 -0
  520. package/dist/lib/porch-framing-sync.js +206 -0
  521. package/dist/lib/porch-framing.d.ts +44 -0
  522. package/dist/lib/porch-framing.d.ts.map +1 -0
  523. package/dist/lib/porch-framing.js +159 -0
  524. package/dist/lib/railing-rooms.d.ts +13 -0
  525. package/dist/lib/railing-rooms.d.ts.map +1 -0
  526. package/dist/lib/railing-rooms.js +37 -0
  527. package/dist/lib/roof-eave.d.ts +135 -0
  528. package/dist/lib/roof-eave.d.ts.map +1 -0
  529. package/dist/lib/roof-eave.js +186 -0
  530. package/dist/lib/room-floor-plate.d.ts +3 -1
  531. package/dist/lib/room-floor-plate.d.ts.map +1 -1
  532. package/dist/lib/room-floor-plate.js +7 -0
  533. package/dist/lib/space-detection.d.ts +13 -0
  534. package/dist/lib/space-detection.d.ts.map +1 -1
  535. package/dist/lib/space-detection.js +112 -24
  536. package/dist/lib/structure-kernel.d.ts +22 -9
  537. package/dist/lib/structure-kernel.d.ts.map +1 -1
  538. package/dist/lib/structure-kernel.js +146 -28
  539. package/dist/lib/structure-reconcile.d.ts +1 -1
  540. package/dist/lib/structure-reconcile.d.ts.map +1 -1
  541. package/dist/lib/structure-reconcile.js +7 -4
  542. package/dist/lib/surface-intent.d.ts +10 -0
  543. package/dist/lib/surface-intent.d.ts.map +1 -0
  544. package/dist/lib/surface-intent.js +18 -0
  545. package/dist/lib/terrain-source.d.ts.map +1 -1
  546. package/dist/lib/terrain-source.js +2 -1
  547. package/dist/lib/wall-face-script.d.ts.map +1 -1
  548. package/dist/lib/wall-face-script.js +5 -2
  549. package/dist/material-kinds.d.ts +1 -1
  550. package/dist/material-kinds.d.ts.map +1 -1
  551. package/dist/material-kinds.js +1 -0
  552. package/dist/material-library.d.ts +15 -0
  553. package/dist/material-library.d.ts.map +1 -1
  554. package/dist/material-library.js +458 -59
  555. package/dist/node-slots/door.d.ts +3 -4
  556. package/dist/node-slots/door.d.ts.map +1 -1
  557. package/dist/node-slots/door.js +4 -3
  558. package/dist/node-slots/wall.d.ts.map +1 -1
  559. package/dist/node-slots/wall.js +21 -3
  560. package/dist/node-slots/window.d.ts +2 -2
  561. package/dist/node-slots/window.d.ts.map +1 -1
  562. package/dist/node-slots/window.js +6 -1
  563. package/dist/procedural-items/design.d.ts +8 -0
  564. package/dist/procedural-items/design.d.ts.map +1 -1
  565. package/dist/procedural-items/design.js +169 -21
  566. package/dist/procedural-items/motion-controller.d.ts +2 -0
  567. package/dist/procedural-items/motion-controller.d.ts.map +1 -1
  568. package/dist/procedural-items/motion-controller.js +2 -1
  569. package/dist/registry/index.d.ts +2 -2
  570. package/dist/registry/index.d.ts.map +1 -1
  571. package/dist/registry/index.js +1 -1
  572. package/dist/registry/mechanism.d.ts +4 -1
  573. package/dist/registry/mechanism.d.ts.map +1 -1
  574. package/dist/registry/mechanism.js +10 -0
  575. package/dist/registry/types.d.ts +65 -23
  576. package/dist/registry/types.d.ts.map +1 -1
  577. package/dist/runtime/__fixtures__/live-scene.d.ts +14 -0
  578. package/dist/runtime/__fixtures__/live-scene.d.ts.map +1 -0
  579. package/dist/runtime/__fixtures__/live-scene.js +64 -0
  580. package/dist/runtime/apply.d.ts +42 -0
  581. package/dist/runtime/apply.d.ts.map +1 -0
  582. package/dist/runtime/apply.js +274 -0
  583. package/dist/runtime/dependencies.d.ts +97 -0
  584. package/dist/runtime/dependencies.d.ts.map +1 -0
  585. package/dist/runtime/dependencies.js +42 -0
  586. package/dist/runtime/ids.d.ts +11 -0
  587. package/dist/runtime/ids.d.ts.map +1 -0
  588. package/dist/runtime/ids.js +80 -0
  589. package/dist/runtime/index.d.ts +14 -0
  590. package/dist/runtime/index.d.ts.map +1 -0
  591. package/dist/runtime/index.js +11 -0
  592. package/dist/runtime/node-queries.d.ts +16 -0
  593. package/dist/runtime/node-queries.d.ts.map +1 -0
  594. package/dist/runtime/node-queries.js +30 -0
  595. package/dist/runtime/patch.d.ts +26 -0
  596. package/dist/runtime/patch.d.ts.map +1 -0
  597. package/dist/runtime/patch.js +165 -0
  598. package/dist/runtime/reader.d.ts +104 -0
  599. package/dist/runtime/reader.d.ts.map +1 -0
  600. package/dist/runtime/reader.js +455 -0
  601. package/dist/runtime/scene-runtime.d.ts +112 -0
  602. package/dist/runtime/scene-runtime.d.ts.map +1 -0
  603. package/dist/runtime/scene-runtime.js +302 -0
  604. package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
  605. package/dist/schema/__fixtures__/node-fixtures.js +1 -0
  606. package/dist/schema/assembly.d.ts +3 -0
  607. package/dist/schema/assembly.d.ts.map +1 -1
  608. package/dist/schema/assembly.js +13 -0
  609. package/dist/schema/asset-url.d.ts +37 -2
  610. package/dist/schema/asset-url.d.ts.map +1 -1
  611. package/dist/schema/asset-url.js +80 -11
  612. package/dist/schema/base.d.ts +8 -0
  613. package/dist/schema/base.d.ts.map +1 -1
  614. package/dist/schema/base.js +19 -1
  615. package/dist/schema/build-up.d.ts +247 -0
  616. package/dist/schema/build-up.d.ts.map +1 -0
  617. package/dist/schema/build-up.js +83 -0
  618. package/dist/schema/geometry-source.d.ts +80 -0
  619. package/dist/schema/geometry-source.d.ts.map +1 -1
  620. package/dist/schema/geometry-source.js +38 -0
  621. package/dist/schema/index.d.ts +12 -7
  622. package/dist/schema/index.d.ts.map +1 -1
  623. package/dist/schema/index.js +12 -6
  624. package/dist/schema/material.d.ts +5 -0
  625. package/dist/schema/material.d.ts.map +1 -1
  626. package/dist/schema/material.js +6 -0
  627. package/dist/schema/nodes/beam.d.ts +264 -0
  628. package/dist/schema/nodes/beam.d.ts.map +1 -0
  629. package/dist/schema/nodes/beam.js +139 -0
  630. package/dist/schema/nodes/box-vent.d.ts +5 -0
  631. package/dist/schema/nodes/box-vent.d.ts.map +1 -1
  632. package/dist/schema/nodes/cabinet.d.ts +10 -0
  633. package/dist/schema/nodes/cabinet.d.ts.map +1 -1
  634. package/dist/schema/nodes/ceiling.d.ts +48 -0
  635. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  636. package/dist/schema/nodes/ceiling.js +5 -0
  637. package/dist/schema/nodes/chimney.d.ts +10 -0
  638. package/dist/schema/nodes/chimney.d.ts.map +1 -1
  639. package/dist/schema/nodes/column.d.ts +42 -0
  640. package/dist/schema/nodes/column.d.ts.map +1 -1
  641. package/dist/schema/nodes/column.js +11 -1
  642. package/dist/schema/nodes/cupola.d.ts +5 -0
  643. package/dist/schema/nodes/cupola.d.ts.map +1 -1
  644. package/dist/schema/nodes/door.d.ts +54 -3
  645. package/dist/schema/nodes/door.d.ts.map +1 -1
  646. package/dist/schema/nodes/door.js +41 -7
  647. package/dist/schema/nodes/dormer.d.ts +20 -0
  648. package/dist/schema/nodes/dormer.d.ts.map +1 -1
  649. package/dist/schema/nodes/downspout.d.ts +5 -0
  650. package/dist/schema/nodes/downspout.d.ts.map +1 -1
  651. package/dist/schema/nodes/elevator.d.ts +5 -0
  652. package/dist/schema/nodes/elevator.d.ts.map +1 -1
  653. package/dist/schema/nodes/eyebrow-vent.d.ts +5 -0
  654. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
  655. package/dist/schema/nodes/fence.d.ts +5 -0
  656. package/dist/schema/nodes/fence.d.ts.map +1 -1
  657. package/dist/schema/nodes/guide.d.ts +14 -0
  658. package/dist/schema/nodes/guide.d.ts.map +1 -1
  659. package/dist/schema/nodes/guide.js +2 -0
  660. package/dist/schema/nodes/gutter.d.ts +5 -0
  661. package/dist/schema/nodes/gutter.d.ts.map +1 -1
  662. package/dist/schema/nodes/item.d.ts +71 -0
  663. package/dist/schema/nodes/item.d.ts.map +1 -1
  664. package/dist/schema/nodes/item.js +5 -1
  665. package/dist/schema/nodes/level.d.ts +1 -1
  666. package/dist/schema/nodes/level.d.ts.map +1 -1
  667. package/dist/schema/nodes/opening-types.d.ts +13 -0
  668. package/dist/schema/nodes/opening-types.d.ts.map +1 -1
  669. package/dist/schema/nodes/opening-types.js +8 -1
  670. package/dist/schema/nodes/railing-wall.d.ts +112 -0
  671. package/dist/schema/nodes/railing-wall.d.ts.map +1 -0
  672. package/dist/schema/nodes/railing-wall.js +160 -0
  673. package/dist/schema/nodes/ridge-vent.d.ts +5 -0
  674. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  675. package/dist/schema/nodes/roof-segment.d.ts +224 -1
  676. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  677. package/dist/schema/nodes/roof-segment.js +57 -10
  678. package/dist/schema/nodes/roof-types.d.ts +11 -0
  679. package/dist/schema/nodes/roof-types.d.ts.map +1 -1
  680. package/dist/schema/nodes/roof-types.js +6 -0
  681. package/dist/schema/nodes/roof.d.ts +60 -0
  682. package/dist/schema/nodes/roof.d.ts.map +1 -1
  683. package/dist/schema/nodes/roof.js +4 -0
  684. package/dist/schema/nodes/shelf.d.ts +5 -0
  685. package/dist/schema/nodes/shelf.d.ts.map +1 -1
  686. package/dist/schema/nodes/site.d.ts +80 -0
  687. package/dist/schema/nodes/site.d.ts.map +1 -1
  688. package/dist/schema/nodes/site.js +7 -0
  689. package/dist/schema/nodes/skylight.d.ts +10 -0
  690. package/dist/schema/nodes/skylight.d.ts.map +1 -1
  691. package/dist/schema/nodes/slab.d.ts +137 -0
  692. package/dist/schema/nodes/slab.d.ts.map +1 -1
  693. package/dist/schema/nodes/slab.js +3 -0
  694. package/dist/schema/nodes/solar-panel.d.ts +10 -0
  695. package/dist/schema/nodes/solar-panel.d.ts.map +1 -1
  696. package/dist/schema/nodes/stair-segment.d.ts +5 -0
  697. package/dist/schema/nodes/stair-segment.d.ts.map +1 -1
  698. package/dist/schema/nodes/stair-structure.d.ts +69 -0
  699. package/dist/schema/nodes/stair-structure.d.ts.map +1 -0
  700. package/dist/schema/nodes/stair-structure.js +39 -0
  701. package/dist/schema/nodes/stair.d.ts +46 -0
  702. package/dist/schema/nodes/stair.d.ts.map +1 -1
  703. package/dist/schema/nodes/stair.js +3 -0
  704. package/dist/schema/nodes/turbine-vent.d.ts +5 -0
  705. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
  706. package/dist/schema/nodes/wall.d.ts +135 -2
  707. package/dist/schema/nodes/wall.d.ts.map +1 -1
  708. package/dist/schema/nodes/wall.js +42 -6
  709. package/dist/schema/nodes/window.d.ts +66 -1
  710. package/dist/schema/nodes/window.d.ts.map +1 -1
  711. package/dist/schema/nodes/window.js +50 -5
  712. package/dist/schema/nodes/zone.d.ts +68 -0
  713. package/dist/schema/nodes/zone.d.ts.map +1 -1
  714. package/dist/schema/nodes/zone.js +32 -0
  715. package/dist/schema/scene-material.d.ts +5 -0
  716. package/dist/schema/scene-material.d.ts.map +1 -1
  717. package/dist/schema/types.d.ts +1079 -4
  718. package/dist/schema/types.d.ts.map +1 -1
  719. package/dist/schema/types.js +2 -0
  720. package/dist/schema/wall-type.d.ts +95 -0
  721. package/dist/schema/wall-type.d.ts.map +1 -0
  722. package/dist/schema/wall-type.js +32 -0
  723. package/dist/services/roof-bearing.d.ts.map +1 -1
  724. package/dist/services/roof-bearing.js +6 -3
  725. package/dist/services/roof-level.d.ts.map +1 -1
  726. package/dist/services/roof-level.js +4 -3
  727. package/dist/services/roof-move.d.ts.map +1 -1
  728. package/dist/services/roof-move.js +13 -7
  729. package/dist/services/storey.d.ts.map +1 -1
  730. package/dist/services/storey.js +13 -8
  731. package/dist/spatial/usage-field/beds.d.ts +51 -0
  732. package/dist/spatial/usage-field/beds.d.ts.map +1 -0
  733. package/dist/spatial/usage-field/beds.js +346 -0
  734. package/dist/spatial/usage-field/blocked.d.ts +28 -0
  735. package/dist/spatial/usage-field/blocked.d.ts.map +1 -0
  736. package/dist/spatial/usage-field/blocked.js +185 -0
  737. package/dist/spatial/usage-field/boxes.d.ts +17 -0
  738. package/dist/spatial/usage-field/boxes.d.ts.map +1 -0
  739. package/dist/spatial/usage-field/boxes.js +82 -0
  740. package/dist/spatial/usage-field/catalogue-shapes.d.ts +3 -0
  741. package/dist/spatial/usage-field/catalogue-shapes.d.ts.map +1 -0
  742. package/dist/spatial/usage-field/catalogue-shapes.js +257 -0
  743. package/dist/spatial/usage-field/catalogue.d.ts +6 -0
  744. package/dist/spatial/usage-field/catalogue.d.ts.map +1 -0
  745. package/dist/spatial/usage-field/catalogue.js +11 -0
  746. package/dist/spatial/usage-field/clash.d.ts +40 -0
  747. package/dist/spatial/usage-field/clash.d.ts.map +1 -0
  748. package/dist/spatial/usage-field/clash.js +187 -0
  749. package/dist/spatial/usage-field/door-stairs.d.ts +18 -0
  750. package/dist/spatial/usage-field/door-stairs.d.ts.map +1 -0
  751. package/dist/spatial/usage-field/door-stairs.js +129 -0
  752. package/dist/spatial/usage-field/entry-way.d.ts +14 -0
  753. package/dist/spatial/usage-field/entry-way.d.ts.map +1 -0
  754. package/dist/spatial/usage-field/entry-way.js +219 -0
  755. package/dist/spatial/usage-field/fences.d.ts +18 -0
  756. package/dist/spatial/usage-field/fences.d.ts.map +1 -0
  757. package/dist/spatial/usage-field/fences.js +253 -0
  758. package/dist/spatial/usage-field/field.d.ts +44 -0
  759. package/dist/spatial/usage-field/field.d.ts.map +1 -0
  760. package/dist/spatial/usage-field/field.js +145 -0
  761. package/dist/spatial/usage-field/findings.d.ts +76 -0
  762. package/dist/spatial/usage-field/findings.d.ts.map +1 -0
  763. package/dist/spatial/usage-field/findings.js +252 -0
  764. package/dist/spatial/usage-field/fixtures.d.ts +18 -0
  765. package/dist/spatial/usage-field/fixtures.d.ts.map +1 -0
  766. package/dist/spatial/usage-field/fixtures.js +160 -0
  767. package/dist/spatial/usage-field/flag.d.ts +10 -0
  768. package/dist/spatial/usage-field/flag.d.ts.map +1 -0
  769. package/dist/spatial/usage-field/flag.js +12 -0
  770. package/dist/spatial/usage-field/floors.d.ts +13 -0
  771. package/dist/spatial/usage-field/floors.d.ts.map +1 -0
  772. package/dist/spatial/usage-field/floors.js +36 -0
  773. package/dist/spatial/usage-field/index.d.ts +7 -0
  774. package/dist/spatial/usage-field/index.d.ts.map +1 -0
  775. package/dist/spatial/usage-field/index.js +5 -0
  776. package/dist/spatial/usage-field/items.d.ts +38 -0
  777. package/dist/spatial/usage-field/items.d.ts.map +1 -0
  778. package/dist/spatial/usage-field/items.js +261 -0
  779. package/dist/spatial/usage-field/labels.d.ts +8 -0
  780. package/dist/spatial/usage-field/labels.d.ts.map +1 -0
  781. package/dist/spatial/usage-field/labels.js +14 -0
  782. package/dist/spatial/usage-field/level-field.d.ts +47 -0
  783. package/dist/spatial/usage-field/level-field.d.ts.map +1 -0
  784. package/dist/spatial/usage-field/level-field.js +96 -0
  785. package/dist/spatial/usage-field/measure.d.ts +324 -0
  786. package/dist/spatial/usage-field/measure.d.ts.map +1 -0
  787. package/dist/spatial/usage-field/measure.js +458 -0
  788. package/dist/spatial/usage-field/obstacles.d.ts +63 -0
  789. package/dist/spatial/usage-field/obstacles.d.ts.map +1 -0
  790. package/dist/spatial/usage-field/obstacles.js +215 -0
  791. package/dist/spatial/usage-field/openings.d.ts +12 -0
  792. package/dist/spatial/usage-field/openings.d.ts.map +1 -0
  793. package/dist/spatial/usage-field/openings.js +162 -0
  794. package/dist/spatial/usage-field/path.d.ts +48 -0
  795. package/dist/spatial/usage-field/path.d.ts.map +1 -0
  796. package/dist/spatial/usage-field/path.js +354 -0
  797. package/dist/spatial/usage-field/pieces.d.ts +27 -0
  798. package/dist/spatial/usage-field/pieces.d.ts.map +1 -0
  799. package/dist/spatial/usage-field/pieces.js +89 -0
  800. package/dist/spatial/usage-field/shapes.d.ts +18 -0
  801. package/dist/spatial/usage-field/shapes.d.ts.map +1 -0
  802. package/dist/spatial/usage-field/shapes.js +92 -0
  803. package/dist/spatial/usage-field/stairs.d.ts +23 -0
  804. package/dist/spatial/usage-field/stairs.d.ts.map +1 -0
  805. package/dist/spatial/usage-field/stairs.js +163 -0
  806. package/dist/spatial/usage-field/support.d.ts +24 -0
  807. package/dist/spatial/usage-field/support.d.ts.map +1 -0
  808. package/dist/spatial/usage-field/support.js +46 -0
  809. package/dist/spatial/usage-field/swings.d.ts +846 -0
  810. package/dist/spatial/usage-field/swings.d.ts.map +1 -0
  811. package/dist/spatial/usage-field/swings.js +427 -0
  812. package/dist/spatial/usage-field/types.d.ts +65 -0
  813. package/dist/spatial/usage-field/types.d.ts.map +1 -0
  814. package/dist/spatial/usage-field/types.js +1 -0
  815. package/dist/spatial/usage-field/walls.d.ts +1057 -0
  816. package/dist/spatial/usage-field/walls.d.ts.map +1 -0
  817. package/dist/spatial/usage-field/walls.js +166 -0
  818. package/dist/spatial/usage-field/way-in.d.ts +26 -0
  819. package/dist/spatial/usage-field/way-in.d.ts.map +1 -0
  820. package/dist/spatial/usage-field/way-in.js +113 -0
  821. package/dist/store/actions/node-actions.d.ts +2124 -1322
  822. package/dist/store/actions/node-actions.d.ts.map +1 -1
  823. package/dist/store/actions/node-actions.js +42 -16
  824. package/dist/store/derived-node-guard.d.ts +10 -2
  825. package/dist/store/derived-node-guard.d.ts.map +1 -1
  826. package/dist/store/derived-node-guard.js +31 -11
  827. package/dist/store/document-settling.d.ts +9 -0
  828. package/dist/store/document-settling.d.ts.map +1 -0
  829. package/dist/store/document-settling.js +22 -0
  830. package/dist/store/history-control.d.ts +19 -10
  831. package/dist/store/history-control.d.ts.map +1 -1
  832. package/dist/store/history-control.js +176 -127
  833. package/dist/store/history-drafts.d.ts.map +1 -1
  834. package/dist/store/history-drafts.js +21 -17
  835. package/dist/store/live-previews.d.ts +9 -0
  836. package/dist/store/live-previews.d.ts.map +1 -0
  837. package/dist/store/live-previews.js +19 -0
  838. package/dist/store/scene-annotations.d.ts +6751 -5151
  839. package/dist/store/scene-annotations.d.ts.map +1 -1
  840. package/dist/store/scene-environment.d.ts +33 -0
  841. package/dist/store/scene-environment.d.ts.map +1 -0
  842. package/dist/store/scene-environment.js +54 -0
  843. package/dist/store/scene-hydration.d.ts.map +1 -1
  844. package/dist/store/scene-hydration.js +41 -30
  845. package/dist/store/use-interactive.d.ts +9 -3
  846. package/dist/store/use-interactive.d.ts.map +1 -1
  847. package/dist/store/use-interactive.js +43 -11
  848. package/dist/store/use-live-node-overrides.d.ts.map +1 -1
  849. package/dist/store/use-live-node-overrides.js +3 -0
  850. package/dist/store/use-scene.d.ts +25 -0
  851. package/dist/store/use-scene.d.ts.map +1 -1
  852. package/dist/store/use-scene.js +408 -336
  853. package/dist/systems/document-reconcile.d.ts +40 -0
  854. package/dist/systems/document-reconcile.d.ts.map +1 -0
  855. package/dist/systems/document-reconcile.js +159 -0
  856. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
  857. package/dist/systems/elevator/elevator-opening-system.js +9 -24
  858. package/dist/systems/fence/guard-layout.d.ts +69 -0
  859. package/dist/systems/fence/guard-layout.d.ts.map +1 -0
  860. package/dist/systems/fence/guard-layout.js +194 -0
  861. package/dist/systems/owned-floor-openings.d.ts +13 -1
  862. package/dist/systems/owned-floor-openings.d.ts.map +1 -1
  863. package/dist/systems/owned-floor-openings.js +58 -2
  864. package/dist/systems/reconcile-owned-floor-openings.d.ts +3 -1
  865. package/dist/systems/reconcile-owned-floor-openings.d.ts.map +1 -1
  866. package/dist/systems/reconcile-owned-floor-openings.js +4 -4
  867. package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -1
  868. package/dist/systems/roof/roof-elevation-system.js +8 -26
  869. package/dist/systems/roof/roof-elevation.d.ts +16 -1
  870. package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
  871. package/dist/systems/roof/roof-elevation.js +85 -4
  872. package/dist/systems/roof/roof-footprint.d.ts +42 -1
  873. package/dist/systems/roof/roof-footprint.d.ts.map +1 -1
  874. package/dist/systems/roof/roof-footprint.js +160 -4
  875. package/dist/systems/slab/__fixtures__/floor-step.d.ts +3163 -1934
  876. package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
  877. package/dist/systems/slab/__fixtures__/raised-room.d.ts +2495 -1249
  878. package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
  879. package/dist/systems/stair/stair-clearance.d.ts +7 -0
  880. package/dist/systems/stair/stair-clearance.d.ts.map +1 -1
  881. package/dist/systems/stair/stair-clearance.js +31 -11
  882. package/dist/systems/stair/stair-construction.d.ts +8 -3
  883. package/dist/systems/stair/stair-construction.d.ts.map +1 -1
  884. package/dist/systems/stair/stair-construction.js +55 -4
  885. package/dist/systems/stair/stair-opening-preview.d.ts +889 -89
  886. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  887. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
  888. package/dist/systems/stair/stair-opening-system.js +18 -34
  889. package/dist/systems/stair/stair-presets.d.ts +36 -0
  890. package/dist/systems/stair/stair-presets.d.ts.map +1 -1
  891. package/dist/systems/stair/stair-rise-query.d.ts.map +1 -1
  892. package/dist/systems/stair/stair-rise-query.js +3 -2
  893. package/dist/systems/stair/stair-rise.d.ts.map +1 -1
  894. package/dist/systems/stair/stair-rise.js +6 -0
  895. package/dist/systems/stair/stair-sizing.d.ts +42 -11
  896. package/dist/systems/stair/stair-sizing.d.ts.map +1 -1
  897. package/dist/systems/stair/stair-sizing.js +10 -1
  898. package/dist/systems/stair/stair-structure.d.ts +277 -0
  899. package/dist/systems/stair/stair-structure.d.ts.map +1 -0
  900. package/dist/systems/stair/stair-structure.js +496 -0
  901. package/dist/systems/wall/wall-assembly.d.ts +84 -6
  902. package/dist/systems/wall/wall-assembly.d.ts.map +1 -1
  903. package/dist/systems/wall/wall-assembly.js +204 -5
  904. package/dist/systems/wall/wall-finish.d.ts +38 -2
  905. package/dist/systems/wall/wall-finish.d.ts.map +1 -1
  906. package/dist/systems/wall/wall-finish.js +70 -2
  907. package/dist/systems/wall/wall-footprint.js +2 -2
  908. package/dist/systems/wall/wall-merge.d.ts.map +1 -1
  909. package/dist/systems/wall/wall-merge.js +28 -7
  910. package/dist/systems/wall/wall-mitering.d.ts +1 -0
  911. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  912. package/dist/systems/wall/wall-mitering.js +152 -52
  913. package/dist/systems/wall/wall-move.d.ts +23 -6
  914. package/dist/systems/wall/wall-move.d.ts.map +1 -1
  915. package/dist/systems/wall/wall-move.js +65 -0
  916. package/dist/systems/wall/wall-top.d.ts +2 -2
  917. package/dist/systems/wall/wall-top.d.ts.map +1 -1
  918. package/dist/systems/wall/wall-top.js +6 -1
  919. package/dist/systems/wall/wall-topology.d.ts +32 -1
  920. package/dist/systems/wall/wall-topology.d.ts.map +1 -1
  921. package/dist/systems/wall/wall-topology.js +118 -10
  922. package/dist/systems/wall/wall-trim-profiles.d.ts +12 -0
  923. package/dist/systems/wall/wall-trim-profiles.d.ts.map +1 -0
  924. package/dist/systems/wall/wall-trim-profiles.js +191 -0
  925. package/dist/utils/ensure-scene-openings.d.ts +6523 -4923
  926. package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
  927. package/dist/utils/floor-piece-adoption.d.ts +5 -0
  928. package/dist/utils/floor-piece-adoption.d.ts.map +1 -1
  929. package/dist/utils/floor-plate-migration.d.ts +1930 -1130
  930. package/dist/utils/floor-plate-migration.d.ts.map +1 -1
  931. package/dist/utils/owned-floor-opening-migration.d.ts +888 -88
  932. package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
  933. package/dist/utils/reconcile-structure-on-load.d.ts +1930 -1130
  934. package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
  935. package/dist/utils/structure-id.d.ts.map +1 -1
  936. package/dist/utils/structure-id.js +4 -0
  937. package/package.json +22 -5
  938. package/dist/lib/generic-foundation.d.ts +0 -40
  939. package/dist/lib/generic-foundation.d.ts.map +0 -1
  940. package/dist/lib/generic-foundation.js +0 -200
@@ -25,7 +25,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
25
25
  } | undefined;
26
26
  id: `wall_${string}`;
27
27
  type: "wall";
28
- wallType?: "curtain" | "standard" | undefined;
28
+ wallType?: "curtain" | "railing" | "standard" | undefined;
29
29
  curtainWall?: {
30
30
  construction: "stick" | "unitized";
31
31
  framing: "capped" | "horizontal-caps" | "structural-glazing" | "vertical-caps";
@@ -59,6 +59,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
59
59
  type: "empty" | "glass" | "solid";
60
60
  }[];
61
61
  } | undefined;
62
+ railing?: {
63
+ style: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail";
64
+ postSpacing: number;
65
+ postSize: number;
66
+ infillSize: number;
67
+ infillGap: number;
68
+ bottomClearance: number;
69
+ cap: boolean;
70
+ } | undefined;
62
71
  children: (`door_${string}` | `item_${string}` | `leanto_${string}` | `procedural-item_${string}` | `window_${string}`)[];
63
72
  material?: {
64
73
  id?: string | undefined;
@@ -75,6 +84,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
75
84
  url: string;
76
85
  repeat?: [number, number] | undefined;
77
86
  scale?: number | undefined;
87
+ offset?: [number, number] | undefined;
88
+ normalMap?: string | undefined;
89
+ normalScale?: number | undefined;
90
+ bumpMap?: string | undefined;
91
+ bumpScale?: number | undefined;
78
92
  } | undefined;
79
93
  } | undefined;
80
94
  materialPreset?: string | undefined;
@@ -93,6 +107,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
93
107
  url: string;
94
108
  repeat?: [number, number] | undefined;
95
109
  scale?: number | undefined;
110
+ offset?: [number, number] | undefined;
111
+ normalMap?: string | undefined;
112
+ normalScale?: number | undefined;
113
+ bumpMap?: string | undefined;
114
+ bumpScale?: number | undefined;
96
115
  } | undefined;
97
116
  } | undefined;
98
117
  interiorMaterialPreset?: string | undefined;
@@ -111,6 +130,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
111
130
  url: string;
112
131
  repeat?: [number, number] | undefined;
113
132
  scale?: number | undefined;
133
+ offset?: [number, number] | undefined;
134
+ normalMap?: string | undefined;
135
+ normalScale?: number | undefined;
136
+ bumpMap?: string | undefined;
137
+ bumpScale?: number | undefined;
114
138
  } | undefined;
115
139
  } | undefined;
116
140
  exteriorMaterialPreset?: string | undefined;
@@ -132,6 +156,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
132
156
  url: string;
133
157
  repeat?: [number, number] | undefined;
134
158
  scale?: number | undefined;
159
+ offset?: [number, number] | undefined;
160
+ normalMap?: string | undefined;
161
+ normalScale?: number | undefined;
162
+ bumpMap?: string | undefined;
163
+ bumpScale?: number | undefined;
135
164
  } | undefined;
136
165
  } | undefined;
137
166
  materialPreset?: string | undefined;
@@ -152,6 +181,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
152
181
  url: string;
153
182
  repeat?: [number, number] | undefined;
154
183
  scale?: number | undefined;
184
+ offset?: [number, number] | undefined;
185
+ normalMap?: string | undefined;
186
+ normalScale?: number | undefined;
187
+ bumpMap?: string | undefined;
188
+ bumpScale?: number | undefined;
155
189
  } | undefined;
156
190
  } | undefined;
157
191
  materialPreset?: string | undefined;
@@ -173,6 +207,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
173
207
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
174
208
  thickness: number;
175
209
  core?: true | undefined;
210
+ spacing?: number | undefined;
176
211
  material?: string | undefined;
177
212
  slot?: string | undefined;
178
213
  returns?: boolean | undefined;
@@ -187,6 +222,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
187
222
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
188
223
  thickness: number;
189
224
  core?: true | undefined;
225
+ spacing?: number | undefined;
190
226
  material?: string | undefined;
191
227
  slot?: string | undefined;
192
228
  returns?: boolean | undefined;
@@ -304,6 +340,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
304
340
  color: string;
305
341
  intensity: number;
306
342
  distance?: number | undefined;
343
+ spot?: {
344
+ direction: [number, number, number];
345
+ angle: number;
346
+ softness: number;
347
+ } | undefined;
348
+ shadows?: boolean | undefined;
349
+ glow?: {
350
+ size: number;
351
+ strength: number;
352
+ } | undefined;
307
353
  }[];
308
354
  undersides: {
309
355
  part?: string | undefined;
@@ -322,6 +368,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
322
368
  }[] | undefined;
323
369
  cutout: boolean;
324
370
  collider: boolean;
371
+ shape?: {
372
+ tolerance: number;
373
+ bands: {
374
+ y0: number;
375
+ y1: number;
376
+ polygons: {
377
+ outer: [number, number][];
378
+ holes?: [number, number][][] | undefined;
379
+ }[];
380
+ }[];
381
+ } | undefined;
325
382
  triangles: number;
326
383
  coverage?: number | undefined;
327
384
  uncovered?: {
@@ -399,6 +456,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
399
456
  color: string;
400
457
  intensity: number;
401
458
  distance?: number | undefined;
459
+ spot?: {
460
+ direction: [number, number, number];
461
+ angle: number;
462
+ softness: number;
463
+ } | undefined;
464
+ shadows?: boolean | undefined;
465
+ glow?: {
466
+ size: number;
467
+ strength: number;
468
+ } | undefined;
402
469
  }[];
403
470
  undersides: {
404
471
  part?: string | undefined;
@@ -417,6 +484,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
417
484
  }[] | undefined;
418
485
  cutout: boolean;
419
486
  collider: boolean;
487
+ shape?: {
488
+ tolerance: number;
489
+ bands: {
490
+ y0: number;
491
+ y1: number;
492
+ polygons: {
493
+ outer: [number, number][];
494
+ holes?: [number, number][][] | undefined;
495
+ }[];
496
+ }[];
497
+ } | undefined;
420
498
  triangles: number;
421
499
  coverage?: number | undefined;
422
500
  uncovered?: {
@@ -439,6 +517,34 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
439
517
  backSide: "exterior" | "interior" | "unknown";
440
518
  };
441
519
  boundary: {
520
+ object: "node";
521
+ name?: string | undefined;
522
+ parentId: string | null;
523
+ visible: boolean;
524
+ camera?: {
525
+ position: [number, number, number];
526
+ target: [number, number, number];
527
+ mode: "orthographic" | "perspective";
528
+ fov?: number | undefined;
529
+ zoom?: number | undefined;
530
+ } | undefined;
531
+ metadata: Record<string, unknown>;
532
+ provenance?: {
533
+ refs: {
534
+ ns?: string | undefined;
535
+ id: string;
536
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
537
+ }[];
538
+ lineage?: {
539
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
540
+ fromIds: string[];
541
+ } | undefined;
542
+ } | undefined;
543
+ id: `separator_${string}`;
544
+ type: "separator";
545
+ start: [number, number];
546
+ end: [number, number];
547
+ } | {
442
548
  object: "node";
443
549
  name?: string | undefined;
444
550
  parentId: string | null;
@@ -464,7 +570,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
464
570
  } | undefined;
465
571
  id: `wall_${string}`;
466
572
  type: "wall";
467
- wallType?: "curtain" | "standard" | undefined;
573
+ wallType?: "curtain" | "railing" | "standard" | undefined;
468
574
  curtainWall?: {
469
575
  construction: "stick" | "unitized";
470
576
  framing: "capped" | "horizontal-caps" | "structural-glazing" | "vertical-caps";
@@ -498,6 +604,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
498
604
  type: "empty" | "glass" | "solid";
499
605
  }[];
500
606
  } | undefined;
607
+ railing?: {
608
+ style: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail";
609
+ postSpacing: number;
610
+ postSize: number;
611
+ infillSize: number;
612
+ infillGap: number;
613
+ bottomClearance: number;
614
+ cap: boolean;
615
+ } | undefined;
501
616
  children: (`door_${string}` | `item_${string}` | `leanto_${string}` | `procedural-item_${string}` | `window_${string}`)[];
502
617
  material?: {
503
618
  id?: string | undefined;
@@ -514,6 +629,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
514
629
  url: string;
515
630
  repeat?: [number, number] | undefined;
516
631
  scale?: number | undefined;
632
+ offset?: [number, number] | undefined;
633
+ normalMap?: string | undefined;
634
+ normalScale?: number | undefined;
635
+ bumpMap?: string | undefined;
636
+ bumpScale?: number | undefined;
517
637
  } | undefined;
518
638
  } | undefined;
519
639
  materialPreset?: string | undefined;
@@ -532,6 +652,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
532
652
  url: string;
533
653
  repeat?: [number, number] | undefined;
534
654
  scale?: number | undefined;
655
+ offset?: [number, number] | undefined;
656
+ normalMap?: string | undefined;
657
+ normalScale?: number | undefined;
658
+ bumpMap?: string | undefined;
659
+ bumpScale?: number | undefined;
535
660
  } | undefined;
536
661
  } | undefined;
537
662
  interiorMaterialPreset?: string | undefined;
@@ -550,6 +675,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
550
675
  url: string;
551
676
  repeat?: [number, number] | undefined;
552
677
  scale?: number | undefined;
678
+ offset?: [number, number] | undefined;
679
+ normalMap?: string | undefined;
680
+ normalScale?: number | undefined;
681
+ bumpMap?: string | undefined;
682
+ bumpScale?: number | undefined;
553
683
  } | undefined;
554
684
  } | undefined;
555
685
  exteriorMaterialPreset?: string | undefined;
@@ -571,6 +701,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
571
701
  url: string;
572
702
  repeat?: [number, number] | undefined;
573
703
  scale?: number | undefined;
704
+ offset?: [number, number] | undefined;
705
+ normalMap?: string | undefined;
706
+ normalScale?: number | undefined;
707
+ bumpMap?: string | undefined;
708
+ bumpScale?: number | undefined;
574
709
  } | undefined;
575
710
  } | undefined;
576
711
  materialPreset?: string | undefined;
@@ -591,6 +726,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
591
726
  url: string;
592
727
  repeat?: [number, number] | undefined;
593
728
  scale?: number | undefined;
729
+ offset?: [number, number] | undefined;
730
+ normalMap?: string | undefined;
731
+ normalScale?: number | undefined;
732
+ bumpMap?: string | undefined;
733
+ bumpScale?: number | undefined;
594
734
  } | undefined;
595
735
  } | undefined;
596
736
  materialPreset?: string | undefined;
@@ -612,6 +752,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
612
752
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
613
753
  thickness: number;
614
754
  core?: true | undefined;
755
+ spacing?: number | undefined;
615
756
  material?: string | undefined;
616
757
  slot?: string | undefined;
617
758
  returns?: boolean | undefined;
@@ -626,6 +767,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
626
767
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
627
768
  thickness: number;
628
769
  core?: true | undefined;
770
+ spacing?: number | undefined;
629
771
  material?: string | undefined;
630
772
  slot?: string | undefined;
631
773
  returns?: boolean | undefined;
@@ -743,6 +885,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
743
885
  color: string;
744
886
  intensity: number;
745
887
  distance?: number | undefined;
888
+ spot?: {
889
+ direction: [number, number, number];
890
+ angle: number;
891
+ softness: number;
892
+ } | undefined;
893
+ shadows?: boolean | undefined;
894
+ glow?: {
895
+ size: number;
896
+ strength: number;
897
+ } | undefined;
746
898
  }[];
747
899
  undersides: {
748
900
  part?: string | undefined;
@@ -761,6 +913,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
761
913
  }[] | undefined;
762
914
  cutout: boolean;
763
915
  collider: boolean;
916
+ shape?: {
917
+ tolerance: number;
918
+ bands: {
919
+ y0: number;
920
+ y1: number;
921
+ polygons: {
922
+ outer: [number, number][];
923
+ holes?: [number, number][][] | undefined;
924
+ }[];
925
+ }[];
926
+ } | undefined;
764
927
  triangles: number;
765
928
  coverage?: number | undefined;
766
929
  uncovered?: {
@@ -838,6 +1001,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
838
1001
  color: string;
839
1002
  intensity: number;
840
1003
  distance?: number | undefined;
1004
+ spot?: {
1005
+ direction: [number, number, number];
1006
+ angle: number;
1007
+ softness: number;
1008
+ } | undefined;
1009
+ shadows?: boolean | undefined;
1010
+ glow?: {
1011
+ size: number;
1012
+ strength: number;
1013
+ } | undefined;
841
1014
  }[];
842
1015
  undersides: {
843
1016
  part?: string | undefined;
@@ -856,6 +1029,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
856
1029
  }[] | undefined;
857
1030
  cutout: boolean;
858
1031
  collider: boolean;
1032
+ shape?: {
1033
+ tolerance: number;
1034
+ bands: {
1035
+ y0: number;
1036
+ y1: number;
1037
+ polygons: {
1038
+ outer: [number, number][];
1039
+ holes?: [number, number][][] | undefined;
1040
+ }[];
1041
+ }[];
1042
+ } | undefined;
859
1043
  triangles: number;
860
1044
  coverage?: number | undefined;
861
1045
  uncovered?: {
@@ -876,34 +1060,6 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
876
1060
  end: [number, number];
877
1061
  frontSide: "exterior" | "interior" | "unknown";
878
1062
  backSide: "exterior" | "interior" | "unknown";
879
- } | {
880
- object: "node";
881
- name?: string | undefined;
882
- parentId: string | null;
883
- visible: boolean;
884
- camera?: {
885
- position: [number, number, number];
886
- target: [number, number, number];
887
- mode: "orthographic" | "perspective";
888
- fov?: number | undefined;
889
- zoom?: number | undefined;
890
- } | undefined;
891
- metadata: Record<string, unknown>;
892
- provenance?: {
893
- refs: {
894
- ns?: string | undefined;
895
- id: string;
896
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
897
- }[];
898
- lineage?: {
899
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
900
- fromIds: string[];
901
- } | undefined;
902
- } | undefined;
903
- id: `separator_${string}`;
904
- type: "separator";
905
- start: [number, number];
906
- end: [number, number];
907
1063
  };
908
1064
  door: {
909
1065
  object: "node";
@@ -946,6 +1102,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
946
1102
  url: string;
947
1103
  repeat?: [number, number] | undefined;
948
1104
  scale?: number | undefined;
1105
+ offset?: [number, number] | undefined;
1106
+ normalMap?: string | undefined;
1107
+ normalScale?: number | undefined;
1108
+ bumpMap?: string | undefined;
1109
+ bumpScale?: number | undefined;
949
1110
  } | undefined;
950
1111
  } | undefined;
951
1112
  slots?: Record<string, string> | undefined;
@@ -1011,6 +1172,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1011
1172
  color: string;
1012
1173
  intensity: number;
1013
1174
  distance?: number | undefined;
1175
+ spot?: {
1176
+ direction: [number, number, number];
1177
+ angle: number;
1178
+ softness: number;
1179
+ } | undefined;
1180
+ shadows?: boolean | undefined;
1181
+ glow?: {
1182
+ size: number;
1183
+ strength: number;
1184
+ } | undefined;
1014
1185
  }[];
1015
1186
  undersides: {
1016
1187
  part?: string | undefined;
@@ -1029,6 +1200,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1029
1200
  }[] | undefined;
1030
1201
  cutout: boolean;
1031
1202
  collider: boolean;
1203
+ shape?: {
1204
+ tolerance: number;
1205
+ bands: {
1206
+ y0: number;
1207
+ y1: number;
1208
+ polygons: {
1209
+ outer: [number, number][];
1210
+ holes?: [number, number][][] | undefined;
1211
+ }[];
1212
+ }[];
1213
+ } | undefined;
1032
1214
  triangles: number;
1033
1215
  coverage?: number | undefined;
1034
1216
  uncovered?: {
@@ -1052,6 +1234,10 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1052
1234
  roofFace?: "back" | "front" | "left" | "right" | undefined;
1053
1235
  width: number;
1054
1236
  height: number;
1237
+ sidelightLeft?: number | undefined;
1238
+ sidelightRight?: number | undefined;
1239
+ transomHeight?: number | undefined;
1240
+ slidingStyle?: "bypass" | "patio" | undefined;
1055
1241
  mark?: string | undefined;
1056
1242
  constructionType: "framed" | "masonry";
1057
1243
  dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
@@ -1063,7 +1249,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1063
1249
  finishOpeningHeight?: number | undefined;
1064
1250
  doorCategory: "garage" | "interior";
1065
1251
  doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
1066
- leafCount: 1 | 2 | 3 | 4;
1252
+ leafCount: 1 | 2 | 3 | 4 | 6 | 8;
1067
1253
  operationState: number;
1068
1254
  slideDirection: "left" | "right";
1069
1255
  trackStyle: "none" | "overhead" | "pocket" | "visible";
@@ -1076,9 +1262,12 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1076
1262
  archHeight: number;
1077
1263
  openingRevealRadius: number;
1078
1264
  frameThickness: number;
1079
- frameDepth: number;
1265
+ frameDepth?: number | undefined;
1080
1266
  threshold: boolean;
1081
1267
  thresholdHeight: number;
1268
+ casingFaceA?: boolean | undefined;
1269
+ casingFaceB?: boolean | undefined;
1270
+ casingWidth?: number | undefined;
1082
1271
  hingesSide: "left" | "right";
1083
1272
  swingDirection: "inward" | "outward";
1084
1273
  swingAngle: number;
@@ -1091,11 +1280,14 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1091
1280
  panelInset: number;
1092
1281
  }[];
1093
1282
  handle: boolean;
1283
+ handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
1094
1284
  handleHeight: number;
1095
1285
  handleSide: "left" | "right";
1096
1286
  contentPadding: [number, number];
1097
1287
  doorCloser: boolean;
1098
1288
  panicBar: boolean;
1289
+ panicBarStyle: "crossbar" | "touchbar";
1290
+ panicBarRods: boolean;
1099
1291
  panicBarHeight: number;
1100
1292
  };
1101
1293
  walls: {
@@ -1124,7 +1316,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1124
1316
  } | undefined;
1125
1317
  id: `wall_${string}`;
1126
1318
  type: "wall";
1127
- wallType?: "curtain" | "standard" | undefined;
1319
+ wallType?: "curtain" | "railing" | "standard" | undefined;
1128
1320
  curtainWall?: {
1129
1321
  construction: "stick" | "unitized";
1130
1322
  framing: "capped" | "horizontal-caps" | "structural-glazing" | "vertical-caps";
@@ -1158,6 +1350,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1158
1350
  type: "empty" | "glass" | "solid";
1159
1351
  }[];
1160
1352
  } | undefined;
1353
+ railing?: {
1354
+ style: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail";
1355
+ postSpacing: number;
1356
+ postSize: number;
1357
+ infillSize: number;
1358
+ infillGap: number;
1359
+ bottomClearance: number;
1360
+ cap: boolean;
1361
+ } | undefined;
1161
1362
  children: (`door_${string}` | `item_${string}` | `leanto_${string}` | `procedural-item_${string}` | `window_${string}`)[];
1162
1363
  material?: {
1163
1364
  id?: string | undefined;
@@ -1174,6 +1375,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1174
1375
  url: string;
1175
1376
  repeat?: [number, number] | undefined;
1176
1377
  scale?: number | undefined;
1378
+ offset?: [number, number] | undefined;
1379
+ normalMap?: string | undefined;
1380
+ normalScale?: number | undefined;
1381
+ bumpMap?: string | undefined;
1382
+ bumpScale?: number | undefined;
1177
1383
  } | undefined;
1178
1384
  } | undefined;
1179
1385
  materialPreset?: string | undefined;
@@ -1192,6 +1398,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1192
1398
  url: string;
1193
1399
  repeat?: [number, number] | undefined;
1194
1400
  scale?: number | undefined;
1401
+ offset?: [number, number] | undefined;
1402
+ normalMap?: string | undefined;
1403
+ normalScale?: number | undefined;
1404
+ bumpMap?: string | undefined;
1405
+ bumpScale?: number | undefined;
1195
1406
  } | undefined;
1196
1407
  } | undefined;
1197
1408
  interiorMaterialPreset?: string | undefined;
@@ -1210,6 +1421,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1210
1421
  url: string;
1211
1422
  repeat?: [number, number] | undefined;
1212
1423
  scale?: number | undefined;
1424
+ offset?: [number, number] | undefined;
1425
+ normalMap?: string | undefined;
1426
+ normalScale?: number | undefined;
1427
+ bumpMap?: string | undefined;
1428
+ bumpScale?: number | undefined;
1213
1429
  } | undefined;
1214
1430
  } | undefined;
1215
1431
  exteriorMaterialPreset?: string | undefined;
@@ -1231,6 +1447,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1231
1447
  url: string;
1232
1448
  repeat?: [number, number] | undefined;
1233
1449
  scale?: number | undefined;
1450
+ offset?: [number, number] | undefined;
1451
+ normalMap?: string | undefined;
1452
+ normalScale?: number | undefined;
1453
+ bumpMap?: string | undefined;
1454
+ bumpScale?: number | undefined;
1234
1455
  } | undefined;
1235
1456
  } | undefined;
1236
1457
  materialPreset?: string | undefined;
@@ -1251,6 +1472,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1251
1472
  url: string;
1252
1473
  repeat?: [number, number] | undefined;
1253
1474
  scale?: number | undefined;
1475
+ offset?: [number, number] | undefined;
1476
+ normalMap?: string | undefined;
1477
+ normalScale?: number | undefined;
1478
+ bumpMap?: string | undefined;
1479
+ bumpScale?: number | undefined;
1254
1480
  } | undefined;
1255
1481
  } | undefined;
1256
1482
  materialPreset?: string | undefined;
@@ -1272,6 +1498,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1272
1498
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1273
1499
  thickness: number;
1274
1500
  core?: true | undefined;
1501
+ spacing?: number | undefined;
1275
1502
  material?: string | undefined;
1276
1503
  slot?: string | undefined;
1277
1504
  returns?: boolean | undefined;
@@ -1286,6 +1513,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1286
1513
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1287
1514
  thickness: number;
1288
1515
  core?: true | undefined;
1516
+ spacing?: number | undefined;
1289
1517
  material?: string | undefined;
1290
1518
  slot?: string | undefined;
1291
1519
  returns?: boolean | undefined;
@@ -1403,6 +1631,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1403
1631
  color: string;
1404
1632
  intensity: number;
1405
1633
  distance?: number | undefined;
1634
+ spot?: {
1635
+ direction: [number, number, number];
1636
+ angle: number;
1637
+ softness: number;
1638
+ } | undefined;
1639
+ shadows?: boolean | undefined;
1640
+ glow?: {
1641
+ size: number;
1642
+ strength: number;
1643
+ } | undefined;
1406
1644
  }[];
1407
1645
  undersides: {
1408
1646
  part?: string | undefined;
@@ -1421,6 +1659,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1421
1659
  }[] | undefined;
1422
1660
  cutout: boolean;
1423
1661
  collider: boolean;
1662
+ shape?: {
1663
+ tolerance: number;
1664
+ bands: {
1665
+ y0: number;
1666
+ y1: number;
1667
+ polygons: {
1668
+ outer: [number, number][];
1669
+ holes?: [number, number][][] | undefined;
1670
+ }[];
1671
+ }[];
1672
+ } | undefined;
1424
1673
  triangles: number;
1425
1674
  coverage?: number | undefined;
1426
1675
  uncovered?: {
@@ -1498,6 +1747,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1498
1747
  color: string;
1499
1748
  intensity: number;
1500
1749
  distance?: number | undefined;
1750
+ spot?: {
1751
+ direction: [number, number, number];
1752
+ angle: number;
1753
+ softness: number;
1754
+ } | undefined;
1755
+ shadows?: boolean | undefined;
1756
+ glow?: {
1757
+ size: number;
1758
+ strength: number;
1759
+ } | undefined;
1501
1760
  }[];
1502
1761
  undersides: {
1503
1762
  part?: string | undefined;
@@ -1516,6 +1775,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1516
1775
  }[] | undefined;
1517
1776
  cutout: boolean;
1518
1777
  collider: boolean;
1778
+ shape?: {
1779
+ tolerance: number;
1780
+ bands: {
1781
+ y0: number;
1782
+ y1: number;
1783
+ polygons: {
1784
+ outer: [number, number][];
1785
+ holes?: [number, number][][] | undefined;
1786
+ }[];
1787
+ }[];
1788
+ } | undefined;
1519
1789
  triangles: number;
1520
1790
  coverage?: number | undefined;
1521
1791
  uncovered?: {
@@ -1568,6 +1838,18 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1568
1838
  boundarySeparatorIds: string[];
1569
1839
  hostZoneId?: string | undefined;
1570
1840
  seed?: [number, number] | undefined;
1841
+ roomType?: "deck" | "patio" | "porch" | undefined;
1842
+ porchFraming?: {
1843
+ auto?: boolean | undefined;
1844
+ postSize?: string | undefined;
1845
+ postSpacing?: number | undefined;
1846
+ beamSize?: string | undefined;
1847
+ } | undefined;
1848
+ decking?: {
1849
+ boardSize?: "2x4" | "2x6" | "5/4x6" | "composite" | undefined;
1850
+ gap?: number | undefined;
1851
+ direction?: "diagonal" | "parallel" | "perpendicular" | undefined;
1852
+ } | undefined;
1571
1853
  ceiling?: {
1572
1854
  regions?: {
1573
1855
  id: string;
@@ -1647,6 +1929,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1647
1929
  url: string;
1648
1930
  repeat?: [number, number] | undefined;
1649
1931
  scale?: number | undefined;
1932
+ offset?: [number, number] | undefined;
1933
+ normalMap?: string | undefined;
1934
+ normalScale?: number | undefined;
1935
+ bumpMap?: string | undefined;
1936
+ bumpScale?: number | undefined;
1650
1937
  } | undefined;
1651
1938
  } | undefined;
1652
1939
  materialPreset?: string | undefined;
@@ -1677,6 +1964,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1677
1964
  url: string;
1678
1965
  repeat?: [number, number] | undefined;
1679
1966
  scale?: number | undefined;
1967
+ offset?: [number, number] | undefined;
1968
+ normalMap?: string | undefined;
1969
+ normalScale?: number | undefined;
1970
+ bumpMap?: string | undefined;
1971
+ bumpScale?: number | undefined;
1680
1972
  } | undefined;
1681
1973
  } | undefined;
1682
1974
  } | undefined;
@@ -1693,6 +1985,121 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1693
1985
  zoneIds?: string[] | undefined;
1694
1986
  associatedZoneIds?: string[] | undefined;
1695
1987
  autoFromWalls: boolean;
1988
+ surfaceScript?: {
1989
+ kind: "script";
1990
+ meta?: {
1991
+ description?: string | undefined;
1992
+ category?: string | undefined;
1993
+ tags?: string[] | undefined;
1994
+ parent?: string | undefined;
1995
+ } | undefined;
1996
+ language: "bpy" | "three";
1997
+ script: string;
1998
+ params: Record<string, string | number | boolean>;
1999
+ artifact: string;
2000
+ manifest: {
2001
+ bounds: {
2002
+ min: [number, number, number];
2003
+ max: [number, number, number];
2004
+ };
2005
+ params: {
2006
+ id: string;
2007
+ label?: string | undefined;
2008
+ kind: "boolean" | "number" | "string";
2009
+ default: string | number | boolean;
2010
+ min?: number | undefined;
2011
+ max?: number | undefined;
2012
+ step?: number | undefined;
2013
+ unit?: string | undefined;
2014
+ options?: string[] | undefined;
2015
+ }[];
2016
+ parts: {
2017
+ id: string;
2018
+ label?: string | undefined;
2019
+ type?: string | undefined;
2020
+ bounds?: {
2021
+ min: [number, number, number];
2022
+ max: [number, number, number];
2023
+ } | undefined;
2024
+ }[];
2025
+ surfaces: {
2026
+ part?: string | undefined;
2027
+ y: number;
2028
+ polygon: [number, number][];
2029
+ }[];
2030
+ slots: {
2031
+ id: string;
2032
+ label?: string | undefined;
2033
+ color?: string | undefined;
2034
+ roughness?: number | undefined;
2035
+ metalness?: number | undefined;
2036
+ transparent?: boolean | undefined;
2037
+ emissive?: boolean | undefined;
2038
+ }[];
2039
+ anchors: {
2040
+ id: string;
2041
+ position: [number, number, number];
2042
+ normal?: [number, number, number] | undefined;
2043
+ }[];
2044
+ lights: {
2045
+ id: string;
2046
+ position: [number, number, number];
2047
+ color: string;
2048
+ intensity: number;
2049
+ distance?: number | undefined;
2050
+ spot?: {
2051
+ direction: [number, number, number];
2052
+ angle: number;
2053
+ softness: number;
2054
+ } | undefined;
2055
+ shadows?: boolean | undefined;
2056
+ glow?: {
2057
+ size: number;
2058
+ strength: number;
2059
+ } | undefined;
2060
+ }[];
2061
+ undersides: {
2062
+ part?: string | undefined;
2063
+ polygon: [number, number][];
2064
+ plane: [number, number, number, number];
2065
+ }[];
2066
+ animations: {
2067
+ name: string;
2068
+ duration: number;
2069
+ }[];
2070
+ cutters?: {
2071
+ host: "ceiling" | "mounted" | "slab" | "wall";
2072
+ polygon: number[][];
2073
+ minY: number;
2074
+ maxY: number;
2075
+ }[] | undefined;
2076
+ cutout: boolean;
2077
+ collider: boolean;
2078
+ shape?: {
2079
+ tolerance: number;
2080
+ bands: {
2081
+ y0: number;
2082
+ y1: number;
2083
+ polygons: {
2084
+ outer: [number, number][];
2085
+ holes?: [number, number][][] | undefined;
2086
+ }[];
2087
+ }[];
2088
+ } | undefined;
2089
+ triangles: number;
2090
+ coverage?: number | undefined;
2091
+ uncovered?: {
2092
+ min: [number, number];
2093
+ max: [number, number];
2094
+ }[] | undefined;
2095
+ };
2096
+ images?: {
2097
+ artifact: string;
2098
+ thumbnail: string;
2099
+ floorPlan: string;
2100
+ } | undefined;
2101
+ inputs: string;
2102
+ } | undefined;
1696
2103
  elevation: number;
1697
2104
  thickness: number;
1698
2105
  polygon: [number, number][];
@@ -1721,79 +2128,18 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1721
2128
  fromIds: string[];
1722
2129
  } | undefined;
1723
2130
  } | undefined;
1724
- id: `construction-dimension_${string}`;
1725
- anchors: ({
1726
- kind: "feature";
1727
- reference: {
1728
- nodeId: string;
1729
- featureId: string;
1730
- parameters?: Record<string, string | number | boolean> | undefined;
1731
- };
1732
- fallback: [number, number, number];
1733
- } | [number, number, number])[];
1734
- baseline: {
1735
- origin: [number, number];
1736
- direction: [number, number];
1737
- };
1738
- chainMode: "continuous" | "point-to-point";
1739
- mode: "angular" | "arc-length" | "center-mark" | "chord" | "coordinate" | "diameter" | "linear" | "radius";
1740
- featureCount: number;
1741
- showCenterMark: boolean;
1742
- prefix: string;
1743
- suffix: string;
1744
- textOverride: string | null;
1745
- datumPolicy: "centerline" | "finish-face" | "structural-face" | "wall-face";
1746
- terminator: "architectural-tick" | "dot" | "filled-arrow" | "open-arrow";
1747
- textPosition: "above" | "centered";
1748
- imperialPrecision: "1" | "1/16" | "1/2" | "1/4" | "1/8";
1749
- metricNotation: "meters" | "millimeters";
1750
- extensionStartGap: number;
1751
- extensionOvershoot: number;
1752
- drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
1753
- drawingOverrides: {
1754
- drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
1755
- presentation: "controlled" | "omit" | "shown";
1756
- suppressedSegmentIndexes: number[];
1757
- }[];
1758
- controllingDimensionId: `construction-dimension_${string}` | null;
1759
- type: "construction-dimension";
1760
- } | {
1761
- object: "node";
1762
- name?: string | undefined;
1763
- parentId: string | null;
1764
- visible: boolean;
1765
- camera?: {
1766
- position: [number, number, number];
1767
- target: [number, number, number];
1768
- mode: "orthographic" | "perspective";
1769
- fov?: number | undefined;
1770
- zoom?: number | undefined;
1771
- } | undefined;
1772
- metadata: Record<string, unknown>;
1773
- provenance?: {
1774
- refs: {
1775
- ns?: string | undefined;
1776
- id: string;
1777
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
1778
- }[];
1779
- lineage?: {
1780
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
1781
- fromIds: string[];
1782
- } | undefined;
1783
- } | undefined;
1784
- id: `duct-terminal_${string}`;
1785
- position: [number, number, number];
1786
- rotation: number;
1787
- supportSlabId?: string | undefined;
1788
- terminalType: "diffuser" | "return-grille" | "supply-register";
1789
- mount: "ceiling" | "floor" | "wall";
2131
+ id: `beam_${string}`;
2132
+ start: [number, number];
2133
+ end: [number, number];
1790
2134
  width: number;
1791
2135
  depth: number;
1792
- collarShape: "oval" | "rect" | "round";
1793
- collarDiameter: number;
1794
- collarWidth: number;
1795
- collarHeight: number;
1796
- type: "duct-terminal";
2136
+ size?: string | undefined;
2137
+ plies: number;
2138
+ material: "glulam" | "lvl" | "pressure-treated" | "sawn" | "steel";
2139
+ placement: "dropped" | "flush";
2140
+ topElevation?: number | undefined;
2141
+ supportSlabId?: string | undefined;
2142
+ type: "beam";
1797
2143
  } | {
1798
2144
  object: "node";
1799
2145
  name?: string | undefined;
@@ -1818,21 +2164,89 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1818
2164
  fromIds: string[];
1819
2165
  } | undefined;
1820
2166
  } | undefined;
1821
- id: `guide_${string}`;
1822
- url: string;
1823
- position: [number, number, number];
1824
- rotation: [number, number, number];
1825
- scale: number;
1826
- opacity: number;
1827
- scaleReference: {
1828
- start: [number, number];
1829
- end: [number, number];
1830
- realLengthMeters: number;
1831
- measuredLengthUnits: number;
1832
- metersPerUnit: number;
1833
- label: string;
1834
- } | null;
1835
- type: "guide";
2167
+ id: `measurement_${string}`;
2168
+ measurement: {
2169
+ kind: "volume";
2170
+ base: ({
2171
+ kind: "feature";
2172
+ reference: {
2173
+ nodeId: string;
2174
+ featureId: string;
2175
+ parameters?: Record<string, string | number | boolean> | undefined;
2176
+ };
2177
+ fallback: [number, number, number];
2178
+ } | [number, number, number])[];
2179
+ extrusion: [number, number, number];
2180
+ } | {
2181
+ kind: "distance";
2182
+ points: [{
2183
+ kind: "feature";
2184
+ reference: {
2185
+ nodeId: string;
2186
+ featureId: string;
2187
+ parameters?: Record<string, string | number | boolean> | undefined;
2188
+ };
2189
+ fallback: [number, number, number];
2190
+ } | [number, number, number], {
2191
+ kind: "feature";
2192
+ reference: {
2193
+ nodeId: string;
2194
+ featureId: string;
2195
+ parameters?: Record<string, string | number | boolean> | undefined;
2196
+ };
2197
+ fallback: [number, number, number];
2198
+ } | [number, number, number]];
2199
+ } | {
2200
+ kind: "angle";
2201
+ points: [{
2202
+ kind: "feature";
2203
+ reference: {
2204
+ nodeId: string;
2205
+ featureId: string;
2206
+ parameters?: Record<string, string | number | boolean> | undefined;
2207
+ };
2208
+ fallback: [number, number, number];
2209
+ } | [number, number, number], {
2210
+ kind: "feature";
2211
+ reference: {
2212
+ nodeId: string;
2213
+ featureId: string;
2214
+ parameters?: Record<string, string | number | boolean> | undefined;
2215
+ };
2216
+ fallback: [number, number, number];
2217
+ } | [number, number, number], {
2218
+ kind: "feature";
2219
+ reference: {
2220
+ nodeId: string;
2221
+ featureId: string;
2222
+ parameters?: Record<string, string | number | boolean> | undefined;
2223
+ };
2224
+ fallback: [number, number, number];
2225
+ } | [number, number, number]];
2226
+ } | {
2227
+ kind: "area";
2228
+ base: ({
2229
+ kind: "feature";
2230
+ reference: {
2231
+ nodeId: string;
2232
+ featureId: string;
2233
+ parameters?: Record<string, string | number | boolean> | undefined;
2234
+ };
2235
+ fallback: [number, number, number];
2236
+ } | [number, number, number])[];
2237
+ } | {
2238
+ kind: "perimeter";
2239
+ base: ({
2240
+ kind: "feature";
2241
+ reference: {
2242
+ nodeId: string;
2243
+ featureId: string;
2244
+ parameters?: Record<string, string | number | boolean> | undefined;
2245
+ };
2246
+ fallback: [number, number, number];
2247
+ } | [number, number, number])[];
2248
+ };
2249
+ type: "measurement";
1836
2250
  } | {
1837
2251
  object: "node";
1838
2252
  name?: string | undefined;
@@ -1857,10 +2271,133 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1857
2271
  fromIds: string[];
1858
2272
  } | undefined;
1859
2273
  } | undefined;
1860
- id: `liquid-line_${string}`;
2274
+ id: `duct-segment_${string}`;
1861
2275
  path: [number, number, number][];
2276
+ autoHangers?: boolean | undefined;
2277
+ hangerOverrides?: Record<string, {
2278
+ fraction?: number | undefined;
2279
+ skipped?: boolean | undefined;
2280
+ hostId?: string | undefined;
2281
+ }> | undefined;
2282
+ hangerStyle?: "double" | "single" | undefined;
2283
+ hangerSpacing?: number | undefined;
2284
+ hangerMaxReach?: number | undefined;
2285
+ wallAttachment?: {
2286
+ wallId: `wall_${string}`;
2287
+ side: "back" | "front";
2288
+ startUV: [number, number];
2289
+ endUV: [number, number];
2290
+ offset: number;
2291
+ } | undefined;
2292
+ shape: "oval" | "rect" | "round";
1862
2293
  diameter: number;
1863
- type: "liquid-line";
2294
+ width: number;
2295
+ height: number;
2296
+ roll: number;
2297
+ ductMaterial: "duct-board" | "flex" | "sheet-metal" | "spiral";
2298
+ seamDetail: boolean;
2299
+ insulated: boolean;
2300
+ insulationR: number;
2301
+ system: "return" | "supply";
2302
+ slots?: Record<string, string> | undefined;
2303
+ type: "duct-segment";
2304
+ } | {
2305
+ object: "node";
2306
+ name?: string | undefined;
2307
+ parentId: string | null;
2308
+ visible: boolean;
2309
+ camera?: {
2310
+ position: [number, number, number];
2311
+ target: [number, number, number];
2312
+ mode: "orthographic" | "perspective";
2313
+ fov?: number | undefined;
2314
+ zoom?: number | undefined;
2315
+ } | undefined;
2316
+ metadata: Record<string, unknown>;
2317
+ provenance?: {
2318
+ refs: {
2319
+ ns?: string | undefined;
2320
+ id: string;
2321
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2322
+ }[];
2323
+ lineage?: {
2324
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2325
+ fromIds: string[];
2326
+ } | undefined;
2327
+ } | undefined;
2328
+ id: `floor-opening_${string}`;
2329
+ polygon: [number, number][];
2330
+ hostZoneId?: string | undefined;
2331
+ legacyPlateCuts?: Record<string, [number, number][][]> | undefined;
2332
+ legacyCeilingCuts?: Record<string, [number, number][][]> | undefined;
2333
+ source: string;
2334
+ ownerId?: string | undefined;
2335
+ surfaceId?: string | undefined;
2336
+ drawnOn: "ceiling" | "floor";
2337
+ cutsPrimary: boolean;
2338
+ cutsAdjacent: boolean;
2339
+ type: "floor-opening";
2340
+ } | {
2341
+ object: "node";
2342
+ name?: string | undefined;
2343
+ parentId: string | null;
2344
+ visible: boolean;
2345
+ camera?: {
2346
+ position: [number, number, number];
2347
+ target: [number, number, number];
2348
+ mode: "orthographic" | "perspective";
2349
+ fov?: number | undefined;
2350
+ zoom?: number | undefined;
2351
+ } | undefined;
2352
+ metadata: Record<string, unknown>;
2353
+ provenance?: {
2354
+ refs: {
2355
+ ns?: string | undefined;
2356
+ id: string;
2357
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2358
+ }[];
2359
+ lineage?: {
2360
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2361
+ fromIds: string[];
2362
+ } | undefined;
2363
+ } | undefined;
2364
+ id: `lineset_${string}`;
2365
+ path: [number, number, number][];
2366
+ suctionDiameter: number;
2367
+ liquidDiameter: number;
2368
+ insulated: boolean;
2369
+ type: "lineset";
2370
+ } | {
2371
+ object: "node";
2372
+ name?: string | undefined;
2373
+ parentId: string | null;
2374
+ visible: boolean;
2375
+ camera?: {
2376
+ position: [number, number, number];
2377
+ target: [number, number, number];
2378
+ mode: "orthographic" | "perspective";
2379
+ fov?: number | undefined;
2380
+ zoom?: number | undefined;
2381
+ } | undefined;
2382
+ metadata: Record<string, unknown>;
2383
+ provenance?: {
2384
+ refs: {
2385
+ ns?: string | undefined;
2386
+ id: string;
2387
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2388
+ }[];
2389
+ lineage?: {
2390
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2391
+ fromIds: string[];
2392
+ } | undefined;
2393
+ } | undefined;
2394
+ id: `pipe-trap_${string}`;
2395
+ position: [number, number, number];
2396
+ rotation: number;
2397
+ diameter: number;
2398
+ pipeMaterial: "abs" | "cast-iron" | "pvc";
2399
+ armLengthM: number;
2400
+ type: "pipe-trap";
1864
2401
  } | {
1865
2402
  object: "node";
1866
2403
  name?: string | undefined;
@@ -1901,6 +2438,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1901
2438
  url: string;
1902
2439
  repeat?: [number, number] | undefined;
1903
2440
  scale?: number | undefined;
2441
+ offset?: [number, number] | undefined;
2442
+ normalMap?: string | undefined;
2443
+ normalScale?: number | undefined;
2444
+ bumpMap?: string | undefined;
2445
+ bumpScale?: number | undefined;
1904
2446
  } | undefined;
1905
2447
  } | undefined;
1906
2448
  materialPreset?: string | undefined;
@@ -1919,6 +2461,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1919
2461
  url: string;
1920
2462
  repeat?: [number, number] | undefined;
1921
2463
  scale?: number | undefined;
2464
+ offset?: [number, number] | undefined;
2465
+ normalMap?: string | undefined;
2466
+ normalScale?: number | undefined;
2467
+ bumpMap?: string | undefined;
2468
+ bumpScale?: number | undefined;
1922
2469
  } | undefined;
1923
2470
  } | undefined;
1924
2471
  topMaterialPreset?: string | undefined;
@@ -1937,6 +2484,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1937
2484
  url: string;
1938
2485
  repeat?: [number, number] | undefined;
1939
2486
  scale?: number | undefined;
2487
+ offset?: [number, number] | undefined;
2488
+ normalMap?: string | undefined;
2489
+ normalScale?: number | undefined;
2490
+ bumpMap?: string | undefined;
2491
+ bumpScale?: number | undefined;
1940
2492
  } | undefined;
1941
2493
  } | undefined;
1942
2494
  edgeMaterialPreset?: string | undefined;
@@ -1955,6 +2507,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
1955
2507
  url: string;
1956
2508
  repeat?: [number, number] | undefined;
1957
2509
  scale?: number | undefined;
2510
+ offset?: [number, number] | undefined;
2511
+ normalMap?: string | undefined;
2512
+ normalScale?: number | undefined;
2513
+ bumpMap?: string | undefined;
2514
+ bumpScale?: number | undefined;
1958
2515
  } | undefined;
1959
2516
  } | undefined;
1960
2517
  wallMaterialPreset?: string | undefined;
@@ -2024,6 +2581,39 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2024
2581
  overhang: number;
2025
2582
  gableOverhang?: number | undefined;
2026
2583
  shingleThickness: number;
2584
+ buildUp?: {
2585
+ presetId?: string | undefined;
2586
+ roofing: {
2587
+ kind: "architectural-shingle" | "asphalt-3-tab" | "clay-tile" | "concrete-tile" | "slate" | "standing-seam-metal" | "wood-shake";
2588
+ thickness: number;
2589
+ name?: string | undefined;
2590
+ };
2591
+ underlayment?: {
2592
+ kind: "felt-15" | "felt-30" | "ice-and-water" | "synthetic";
2593
+ thickness: number;
2594
+ name?: string | undefined;
2595
+ } | undefined;
2596
+ sheathing: {
2597
+ kind: "osb" | "plywood";
2598
+ thickness: number;
2599
+ name?: string | undefined;
2600
+ };
2601
+ structure: {
2602
+ system: "rafters" | "trusses";
2603
+ size: "2x10" | "2x12" | "2x4" | "2x6" | "2x8";
2604
+ spacing: number;
2605
+ };
2606
+ insulation?: {
2607
+ kind: "batt" | "blown" | "rigid";
2608
+ thickness: number;
2609
+ name?: string | undefined;
2610
+ } | undefined;
2611
+ finish?: {
2612
+ kind: "drywall" | "plaster" | "wood-plank";
2613
+ thickness: number;
2614
+ name?: string | undefined;
2615
+ } | undefined;
2616
+ } | undefined;
2027
2617
  arc?: {
2028
2618
  centerX: number;
2029
2619
  centerZ: number;
@@ -2045,6 +2635,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2045
2635
  wallShell: "auto" | "include" | "omit";
2046
2636
  shedInsetEndPanels: boolean;
2047
2637
  fascia?: boolean | undefined;
2638
+ eaveCut?: "plumb" | "plumb-level" | "square" | undefined;
2048
2639
  fasciaHighEdge?: boolean | undefined;
2049
2640
  fasciaHeight?: number | undefined;
2050
2641
  fasciaDepth?: number | undefined;
@@ -2063,46 +2654,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2063
2654
  url: string;
2064
2655
  repeat?: [number, number] | undefined;
2065
2656
  scale?: number | undefined;
2657
+ offset?: [number, number] | undefined;
2658
+ normalMap?: string | undefined;
2659
+ normalScale?: number | undefined;
2660
+ bumpMap?: string | undefined;
2661
+ bumpScale?: number | undefined;
2066
2662
  } | undefined;
2067
2663
  } | undefined;
2068
2664
  fasciaMaterialPreset?: string | undefined;
2069
- gambrelLowerWidthRatio: number;
2070
- gambrelLowerHeightRatio: number;
2071
- mansardSteepWidthRatio: number;
2072
- mansardSteepHeightRatio: number;
2073
- dutchHipWidthRatio: number;
2074
- dutchHipHeightRatio: number;
2075
- dutchWaistLengthRatio: number;
2076
- dutchGabletRake: number;
2077
- dutchTopRakeThickness: number;
2078
- children: string[];
2079
- type: "roof-segment";
2080
- } | {
2081
- object: "node";
2082
- name?: string | undefined;
2083
- parentId: string | null;
2084
- visible: boolean;
2085
- camera?: {
2086
- position: [number, number, number];
2087
- target: [number, number, number];
2088
- mode: "orthographic" | "perspective";
2089
- fov?: number | undefined;
2090
- zoom?: number | undefined;
2091
- } | undefined;
2092
- metadata: Record<string, unknown>;
2093
- provenance?: {
2094
- refs: {
2095
- ns?: string | undefined;
2096
- id: string;
2097
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2098
- }[];
2099
- lineage?: {
2100
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2101
- fromIds: string[];
2102
- } | undefined;
2103
- } | undefined;
2104
- id: `roof_${string}`;
2105
- material?: {
2665
+ heelMaterial?: {
2106
2666
  id?: string | undefined;
2107
2667
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2108
2668
  properties?: {
@@ -2117,10 +2677,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2117
2677
  url: string;
2118
2678
  repeat?: [number, number] | undefined;
2119
2679
  scale?: number | undefined;
2680
+ offset?: [number, number] | undefined;
2681
+ normalMap?: string | undefined;
2682
+ normalScale?: number | undefined;
2683
+ bumpMap?: string | undefined;
2684
+ bumpScale?: number | undefined;
2120
2685
  } | undefined;
2121
2686
  } | undefined;
2122
- materialPreset?: string | undefined;
2123
- topMaterial?: {
2687
+ heelMaterialPreset?: string | undefined;
2688
+ gableLeftMaterial?: {
2124
2689
  id?: string | undefined;
2125
2690
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2126
2691
  properties?: {
@@ -2135,10 +2700,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2135
2700
  url: string;
2136
2701
  repeat?: [number, number] | undefined;
2137
2702
  scale?: number | undefined;
2703
+ offset?: [number, number] | undefined;
2704
+ normalMap?: string | undefined;
2705
+ normalScale?: number | undefined;
2706
+ bumpMap?: string | undefined;
2707
+ bumpScale?: number | undefined;
2138
2708
  } | undefined;
2139
2709
  } | undefined;
2140
- topMaterialPreset?: string | undefined;
2141
- edgeMaterial?: {
2710
+ gableLeftMaterialPreset?: string | undefined;
2711
+ gableRightMaterial?: {
2142
2712
  id?: string | undefined;
2143
2713
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2144
2714
  properties?: {
@@ -2153,75 +2723,53 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2153
2723
  url: string;
2154
2724
  repeat?: [number, number] | undefined;
2155
2725
  scale?: number | undefined;
2726
+ offset?: [number, number] | undefined;
2727
+ normalMap?: string | undefined;
2728
+ normalScale?: number | undefined;
2729
+ bumpMap?: string | undefined;
2730
+ bumpScale?: number | undefined;
2156
2731
  } | undefined;
2157
2732
  } | undefined;
2158
- edgeMaterialPreset?: string | undefined;
2159
- wallMaterial?: {
2160
- id?: string | undefined;
2161
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2162
- properties?: {
2163
- color: string;
2164
- roughness: number;
2165
- metalness: number;
2166
- opacity: number;
2167
- transparent: boolean;
2168
- side: "back" | "double" | "front";
2169
- } | undefined;
2170
- texture?: {
2171
- url: string;
2172
- repeat?: [number, number] | undefined;
2173
- scale?: number | undefined;
2174
- } | undefined;
2733
+ gableRightMaterialPreset?: string | undefined;
2734
+ gambrelLowerWidthRatio: number;
2735
+ gambrelLowerHeightRatio: number;
2736
+ mansardSteepWidthRatio: number;
2737
+ mansardSteepHeightRatio: number;
2738
+ dutchHipWidthRatio: number;
2739
+ dutchHipHeightRatio: number;
2740
+ dutchWaistLengthRatio: number;
2741
+ dutchGabletRake: number;
2742
+ dutchTopRakeThickness: number;
2743
+ children: string[];
2744
+ type: "roof-segment";
2745
+ } | {
2746
+ object: "node";
2747
+ name?: string | undefined;
2748
+ parentId: string | null;
2749
+ visible: boolean;
2750
+ camera?: {
2751
+ position: [number, number, number];
2752
+ target: [number, number, number];
2753
+ mode: "orthographic" | "perspective";
2754
+ fov?: number | undefined;
2755
+ zoom?: number | undefined;
2175
2756
  } | undefined;
2176
- wallMaterialPreset?: string | undefined;
2177
- position: [number, number, number];
2178
- rotation: number;
2179
- support: {
2180
- kind: "level";
2181
- } | {
2182
- kind: "walls";
2183
- } | {
2184
- kind: "roof";
2185
- roofSegmentId: `rseg_${string}`;
2186
- localPosition: [number, number];
2187
- curbHeight: number;
2188
- };
2189
- assembly?: {
2190
- layers: {
2757
+ metadata: Record<string, unknown>;
2758
+ provenance?: {
2759
+ refs: {
2760
+ ns?: string | undefined;
2191
2761
  id: string;
2192
- role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
2193
- thickness: number;
2194
- core?: true | undefined;
2195
- material?: string | undefined;
2196
- slot?: string | undefined;
2197
- returns?: boolean | undefined;
2198
- display?: "construction" | "finished" | undefined;
2199
- inset?: number | undefined;
2200
- bottom?: number | undefined;
2201
- lift?: number | undefined;
2202
- src?: string | undefined;
2762
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2203
2763
  }[];
2204
- backing?: {
2205
- id: string;
2206
- role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
2207
- thickness: number;
2208
- core?: true | undefined;
2209
- material?: string | undefined;
2210
- slot?: string | undefined;
2211
- returns?: boolean | undefined;
2212
- display?: "construction" | "finished" | undefined;
2213
- inset?: number | undefined;
2214
- bottom?: number | undefined;
2215
- lift?: number | undefined;
2216
- src?: string | undefined;
2217
- }[] | undefined;
2218
- face?: "exterior" | "front" | undefined;
2219
- presetId?: string | undefined;
2220
- cavityInsulation?: string | undefined;
2764
+ lineage?: {
2765
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2766
+ fromIds: string[];
2767
+ } | undefined;
2221
2768
  } | undefined;
2222
- slots?: Record<string, string> | undefined;
2223
- children: `rseg_${string}`[];
2224
- type: "roof";
2769
+ id: `separator_${string}`;
2770
+ start: [number, number];
2771
+ end: [number, number];
2772
+ type: "separator";
2225
2773
  } | {
2226
2774
  object: "node";
2227
2775
  name?: string | undefined;
@@ -2246,42 +2794,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2246
2794
  fromIds: string[];
2247
2795
  } | undefined;
2248
2796
  } | undefined;
2249
- id: `shelf_${string}`;
2250
- children: string[];
2797
+ id: `spawn_${string}`;
2251
2798
  position: [number, number, number];
2252
- rotation: [number, number, number];
2799
+ rotation: number;
2253
2800
  supportSlabId?: string | undefined;
2254
- width: number;
2255
- depth: number;
2256
- thickness: number;
2257
- height: number;
2258
- style: "bookshelf" | "cubby" | "open-rack" | "wall-shelf";
2259
- rows: number;
2260
- columns: number;
2261
- withBack: boolean;
2262
- withSides: boolean;
2263
- withBottom: boolean;
2264
- bracketStyle: "hidden" | "industrial" | "minimal";
2265
- material?: {
2266
- id?: string | undefined;
2267
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2268
- properties?: {
2269
- color: string;
2270
- roughness: number;
2271
- metalness: number;
2272
- opacity: number;
2273
- transparent: boolean;
2274
- side: "back" | "double" | "front";
2275
- } | undefined;
2276
- texture?: {
2277
- url: string;
2278
- repeat?: [number, number] | undefined;
2279
- scale?: number | undefined;
2280
- } | undefined;
2281
- } | undefined;
2282
- materialPreset?: string | undefined;
2283
- slots?: Record<string, string> | undefined;
2284
- type: "shelf";
2801
+ type: "spawn";
2285
2802
  } | {
2286
2803
  object: "node";
2287
2804
  name?: string | undefined;
@@ -2306,13 +2823,59 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2306
2823
  fromIds: string[];
2307
2824
  } | undefined;
2308
2825
  } | undefined;
2309
- id: `structural-grid_${string}`;
2310
- start: [number, number];
2311
- end: [number, number];
2312
- label: string;
2313
- showStartBubble: boolean;
2314
- showEndBubble: boolean;
2315
- type: "structural-grid";
2826
+ id: `sseg_${string}`;
2827
+ material?: {
2828
+ id?: string | undefined;
2829
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2830
+ properties?: {
2831
+ color: string;
2832
+ roughness: number;
2833
+ metalness: number;
2834
+ opacity: number;
2835
+ transparent: boolean;
2836
+ side: "back" | "double" | "front";
2837
+ } | undefined;
2838
+ texture?: {
2839
+ url: string;
2840
+ repeat?: [number, number] | undefined;
2841
+ scale?: number | undefined;
2842
+ offset?: [number, number] | undefined;
2843
+ normalMap?: string | undefined;
2844
+ normalScale?: number | undefined;
2845
+ bumpMap?: string | undefined;
2846
+ bumpScale?: number | undefined;
2847
+ } | undefined;
2848
+ } | undefined;
2849
+ materialPreset?: string | undefined;
2850
+ slots?: Record<string, string> | undefined;
2851
+ position: [number, number, number];
2852
+ rotation: number;
2853
+ segmentType: "landing" | "stair";
2854
+ width: number;
2855
+ length: number;
2856
+ height: number;
2857
+ stepCount: number;
2858
+ attachmentSide: "front" | "left" | "right";
2859
+ fillToFloor: boolean;
2860
+ construction?: {
2861
+ mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist";
2862
+ waistThickness: number;
2863
+ treadThickness: number;
2864
+ riserThickness: number;
2865
+ nosing: number;
2866
+ finishThickness: number;
2867
+ closedRisers: boolean;
2868
+ stringerWidth: number;
2869
+ stringerDepth: number;
2870
+ } | undefined;
2871
+ winder?: {
2872
+ turn: "left" | "right";
2873
+ innerGap: number;
2874
+ walkingLineOffset: number;
2875
+ division: "equal-angle" | "equal-going";
2876
+ } | undefined;
2877
+ thickness: number;
2878
+ type: "stair-segment";
2316
2879
  } | {
2317
2880
  object: "node";
2318
2881
  name?: string | undefined;
@@ -2353,6 +2916,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2353
2916
  url: string;
2354
2917
  repeat?: [number, number] | undefined;
2355
2918
  scale?: number | undefined;
2919
+ offset?: [number, number] | undefined;
2920
+ normalMap?: string | undefined;
2921
+ normalScale?: number | undefined;
2922
+ bumpMap?: string | undefined;
2923
+ bumpScale?: number | undefined;
2356
2924
  } | undefined;
2357
2925
  } | undefined;
2358
2926
  slots?: Record<string, string> | undefined;
@@ -2418,6 +2986,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2418
2986
  color: string;
2419
2987
  intensity: number;
2420
2988
  distance?: number | undefined;
2989
+ spot?: {
2990
+ direction: [number, number, number];
2991
+ angle: number;
2992
+ softness: number;
2993
+ } | undefined;
2994
+ shadows?: boolean | undefined;
2995
+ glow?: {
2996
+ size: number;
2997
+ strength: number;
2998
+ } | undefined;
2421
2999
  }[];
2422
3000
  undersides: {
2423
3001
  part?: string | undefined;
@@ -2436,6 +3014,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2436
3014
  }[] | undefined;
2437
3015
  cutout: boolean;
2438
3016
  collider: boolean;
3017
+ shape?: {
3018
+ tolerance: number;
3019
+ bands: {
3020
+ y0: number;
3021
+ y1: number;
3022
+ polygons: {
3023
+ outer: [number, number][];
3024
+ holes?: [number, number][][] | undefined;
3025
+ }[];
3026
+ }[];
3027
+ } | undefined;
2439
3028
  triangles: number;
2440
3029
  coverage?: number | undefined;
2441
3030
  uncovered?: {
@@ -2471,8 +3060,10 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2471
3060
  finishOpeningWidth?: number | undefined;
2472
3061
  finishOpeningHeight?: number | undefined;
2473
3062
  openingKind: "opening" | "window";
2474
- windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding";
3063
+ windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding" | "tilt-turn";
2475
3064
  operationState: number;
3065
+ openingDirection?: "inward" | "outward" | undefined;
3066
+ tiltTurnMode?: "tilt" | "turn" | undefined;
2476
3067
  awningDirection: "down" | "up";
2477
3068
  casementStyle: "french" | "single";
2478
3069
  hingesSide: "left" | "right";
@@ -2483,7 +3074,9 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2483
3074
  archHeight: number;
2484
3075
  openingRevealRadius: number;
2485
3076
  frameThickness: number;
2486
- frameDepth: number;
3077
+ frameDepth?: number | undefined;
3078
+ windowHandle?: boolean | undefined;
3079
+ sashGrid?: boolean | undefined;
2487
3080
  columnRatios: number[];
2488
3081
  rowRatios: number[];
2489
3082
  columnDividerThickness: number;
@@ -2496,428 +3089,22 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
2496
3089
  sill: boolean;
2497
3090
  sillDepth: number;
2498
3091
  sillThickness: number;
3092
+ sillOverhang?: number | undefined;
3093
+ sillInterior?: boolean | undefined;
3094
+ sillInteriorDepth?: number | undefined;
3095
+ sillInteriorThickness?: number | undefined;
3096
+ sillInteriorOverhang?: number | undefined;
3097
+ shutters?: "board-batten" | "louvered" | "none" | "panel" | undefined;
3098
+ shutterWidth?: number | undefined;
3099
+ shutterOpen?: number | undefined;
3100
+ shutterSides?: "both" | "left" | "right" | undefined;
3101
+ rollerShutter?: "box" | "concealed" | "none" | undefined;
3102
+ rollerShutterBoxHeight?: number | undefined;
3103
+ rollerShutterOpen?: number | undefined;
3104
+ casingFaceA?: boolean | undefined;
3105
+ casingFaceB?: boolean | undefined;
3106
+ casingWidth?: number | undefined;
2499
3107
  type: "window";
2500
- } | {
2501
- object: "node";
2502
- parentId: string | null;
2503
- visible: boolean;
2504
- camera?: {
2505
- position: [number, number, number];
2506
- target: [number, number, number];
2507
- mode: "orthographic" | "perspective";
2508
- fov?: number | undefined;
2509
- zoom?: number | undefined;
2510
- } | undefined;
2511
- provenance?: {
2512
- refs: {
2513
- ns?: string | undefined;
2514
- id: string;
2515
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2516
- }[];
2517
- lineage?: {
2518
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2519
- fromIds: string[];
2520
- } | undefined;
2521
- } | undefined;
2522
- id: `unit_${string}`;
2523
- name: string;
2524
- kind: "apartment" | "commercial" | "common" | "hotel-room";
2525
- members: `zone_${string}`[];
2526
- color: string;
2527
- metadata: Record<string, unknown>;
2528
- type: "unit";
2529
- } | {
2530
- object: "node";
2531
- name?: string | undefined;
2532
- parentId: string | null;
2533
- visible: boolean;
2534
- camera?: {
2535
- position: [number, number, number];
2536
- target: [number, number, number];
2537
- mode: "orthographic" | "perspective";
2538
- fov?: number | undefined;
2539
- zoom?: number | undefined;
2540
- } | undefined;
2541
- metadata: Record<string, unknown>;
2542
- provenance?: {
2543
- refs: {
2544
- ns?: string | undefined;
2545
- id: string;
2546
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2547
- }[];
2548
- lineage?: {
2549
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2550
- fromIds: string[];
2551
- } | undefined;
2552
- } | undefined;
2553
- id: `cupola_${string}`;
2554
- material?: {
2555
- id?: string | undefined;
2556
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2557
- properties?: {
2558
- color: string;
2559
- roughness: number;
2560
- metalness: number;
2561
- opacity: number;
2562
- transparent: boolean;
2563
- side: "back" | "double" | "front";
2564
- } | undefined;
2565
- texture?: {
2566
- url: string;
2567
- repeat?: [number, number] | undefined;
2568
- scale?: number | undefined;
2569
- } | undefined;
2570
- } | undefined;
2571
- slots?: Record<string, string> | undefined;
2572
- materialPreset: string;
2573
- roofSegmentId?: string | undefined;
2574
- position: [number, number, number];
2575
- rotation: number;
2576
- width: number;
2577
- depth: number;
2578
- height: number;
2579
- roofStyle: "dome" | "pyramid";
2580
- finial: boolean;
2581
- type: "cupola";
2582
- } | {
2583
- object: "node";
2584
- name?: string | undefined;
2585
- parentId: string | null;
2586
- visible: boolean;
2587
- camera?: {
2588
- position: [number, number, number];
2589
- target: [number, number, number];
2590
- mode: "orthographic" | "perspective";
2591
- fov?: number | undefined;
2592
- zoom?: number | undefined;
2593
- } | undefined;
2594
- metadata: Record<string, unknown>;
2595
- provenance?: {
2596
- refs: {
2597
- ns?: string | undefined;
2598
- id: string;
2599
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2600
- }[];
2601
- lineage?: {
2602
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2603
- fromIds: string[];
2604
- } | undefined;
2605
- } | undefined;
2606
- matchFenceStyle?: boolean | undefined;
2607
- matchFenceHeight?: boolean | undefined;
2608
- leafType?: "double" | "single" | undefined;
2609
- style?: "guard" | "horizontal" | "match" | "picket" | "privacy" | "rail" | "slat" | undefined;
2610
- height?: number | undefined;
2611
- clearance?: number | undefined;
2612
- thickness?: number | undefined;
2613
- frameWidth?: number | undefined;
2614
- spacing?: number | undefined;
2615
- boardWidth?: number | undefined;
2616
- hinge?: "left" | "right" | undefined;
2617
- swing?: "inward" | "outward" | undefined;
2618
- openAngle?: number | undefined;
2619
- leafSplit?: number | undefined;
2620
- brace?: "cross" | "diagonal" | "none" | undefined;
2621
- showHardware?: boolean | undefined;
2622
- showPosts?: boolean | undefined;
2623
- id: `fence-gate_${string}`;
2624
- center: number;
2625
- width: number;
2626
- type: "fence-gate";
2627
- } | {
2628
- object: "node";
2629
- name?: string | undefined;
2630
- parentId: string | null;
2631
- visible: boolean;
2632
- camera?: {
2633
- position: [number, number, number];
2634
- target: [number, number, number];
2635
- mode: "orthographic" | "perspective";
2636
- fov?: number | undefined;
2637
- zoom?: number | undefined;
2638
- } | undefined;
2639
- metadata: Record<string, unknown>;
2640
- provenance?: {
2641
- refs: {
2642
- ns?: string | undefined;
2643
- id: string;
2644
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2645
- }[];
2646
- lineage?: {
2647
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2648
- fromIds: string[];
2649
- } | undefined;
2650
- } | undefined;
2651
- center: number;
2652
- width: number;
2653
- matchFenceStyle?: boolean | undefined;
2654
- matchFenceHeight?: boolean | undefined;
2655
- height?: number | undefined;
2656
- showPosts: boolean;
2657
- id: `fence-opening_${string}`;
2658
- type: "fence-opening";
2659
- } | {
2660
- object: "node";
2661
- name?: string | undefined;
2662
- parentId: string | null;
2663
- visible: boolean;
2664
- camera?: {
2665
- position: [number, number, number];
2666
- target: [number, number, number];
2667
- mode: "orthographic" | "perspective";
2668
- fov?: number | undefined;
2669
- zoom?: number | undefined;
2670
- } | undefined;
2671
- metadata: Record<string, unknown>;
2672
- provenance?: {
2673
- refs: {
2674
- ns?: string | undefined;
2675
- id: string;
2676
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2677
- }[];
2678
- lineage?: {
2679
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2680
- fromIds: string[];
2681
- } | undefined;
2682
- } | undefined;
2683
- id: `skylight_${string}`;
2684
- material?: {
2685
- id?: string | undefined;
2686
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2687
- properties?: {
2688
- color: string;
2689
- roughness: number;
2690
- metalness: number;
2691
- opacity: number;
2692
- transparent: boolean;
2693
- side: "back" | "double" | "front";
2694
- } | undefined;
2695
- texture?: {
2696
- url: string;
2697
- repeat?: [number, number] | undefined;
2698
- scale?: number | undefined;
2699
- } | undefined;
2700
- } | undefined;
2701
- materialPreset?: string | undefined;
2702
- glassMaterial?: {
2703
- id?: string | undefined;
2704
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
2705
- properties?: {
2706
- color: string;
2707
- roughness: number;
2708
- metalness: number;
2709
- opacity: number;
2710
- transparent: boolean;
2711
- side: "back" | "double" | "front";
2712
- } | undefined;
2713
- texture?: {
2714
- url: string;
2715
- repeat?: [number, number] | undefined;
2716
- scale?: number | undefined;
2717
- } | undefined;
2718
- } | undefined;
2719
- glassMaterialPreset?: string | undefined;
2720
- roofSegmentId?: string | undefined;
2721
- position: [number, number, number];
2722
- rotation: number;
2723
- width: number;
2724
- height: number;
2725
- frameThickness: number;
2726
- frameDepth: number;
2727
- skylightType: "flat" | "lantern" | "opening" | "sliding" | "walk-on";
2728
- glassThickness: number;
2729
- lanternHeight: number;
2730
- lanternTopScale: number;
2731
- openingAngle: number;
2732
- openingSide: "bottom" | "left" | "right" | "top";
2733
- operationState: number;
2734
- motorHousing: boolean;
2735
- slideFraction: number;
2736
- slideDirection: "x" | "z";
2737
- trackWidth: number;
2738
- motorHousingSize: number;
2739
- curb: boolean;
2740
- curbHeight: number;
2741
- cutoutOffset: number;
2742
- surfaceNormal?: [number, number, number] | undefined;
2743
- type: "skylight";
2744
- } | {
2745
- object: "node";
2746
- name?: string | undefined;
2747
- parentId: string | null;
2748
- visible: boolean;
2749
- camera?: {
2750
- position: [number, number, number];
2751
- target: [number, number, number];
2752
- mode: "orthographic" | "perspective";
2753
- fov?: number | undefined;
2754
- zoom?: number | undefined;
2755
- } | undefined;
2756
- metadata: Record<string, unknown>;
2757
- provenance?: {
2758
- refs: {
2759
- ns?: string | undefined;
2760
- id: string;
2761
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2762
- }[];
2763
- lineage?: {
2764
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2765
- fromIds: string[];
2766
- } | undefined;
2767
- } | undefined;
2768
- id: `site_${string}`;
2769
- polygon: {
2770
- type: "polygon";
2771
- points: [number, number][];
2772
- };
2773
- terrain?: {
2774
- type: "heightfield";
2775
- origin: [number, number];
2776
- spacing: number;
2777
- cols: number;
2778
- rows: number;
2779
- step: number;
2780
- heights: string;
2781
- } | undefined;
2782
- showGround?: boolean | undefined;
2783
- presentation?: {
2784
- theme?: string | undefined;
2785
- exposure?: number | undefined;
2786
- shading?: "rendered" | "solid" | undefined;
2787
- edges?: "off" | "soft" | "strong" | undefined;
2788
- shadows?: boolean | undefined;
2789
- lighting?: {
2790
- background?: string | undefined;
2791
- backgroundSky?: string | null | undefined;
2792
- ground?: string | undefined;
2793
- ambient?: {
2794
- color: string;
2795
- intensity: number;
2796
- } | undefined;
2797
- hemi?: {
2798
- sky: string;
2799
- ground: string;
2800
- intensity: number;
2801
- } | undefined;
2802
- lights?: {
2803
- color: string;
2804
- intensity: number;
2805
- position: [number, number, number];
2806
- target?: [number, number, number] | undefined;
2807
- castShadow?: boolean | undefined;
2808
- shadow?: {
2809
- intensity?: number | undefined;
2810
- bias?: number | undefined;
2811
- normalBias?: number | undefined;
2812
- radius?: number | undefined;
2813
- mapSize?: 512 | 1024 | 2048 | 4096 | undefined;
2814
- camera?: {
2815
- left: number;
2816
- right: number;
2817
- top: number;
2818
- bottom: number;
2819
- near: number;
2820
- far: number;
2821
- } | undefined;
2822
- } | undefined;
2823
- }[] | undefined;
2824
- environment?: {
2825
- source: "gradient" | "none" | "room";
2826
- intensity: number;
2827
- } | undefined;
2828
- } | undefined;
2829
- postprocessing?: {
2830
- ambientOcclusion?: boolean | undefined;
2831
- colorGrading?: boolean | undefined;
2832
- } | undefined;
2833
- display?: {
2834
- mode?: "construction" | "finished" | "systems" | undefined;
2835
- families?: Partial<Record<"device" | "exposed-structure" | "fill" | "finish" | "foundation" | "framing" | "inspection" | "insulation" | "masonry" | "membrane" | "run" | "service-space" | "sheathing", boolean>> | undefined;
2836
- disciplines?: Partial<Record<"electrical" | "fire" | "low-voltage" | "mechanical" | "plumbing", boolean>> | undefined;
2837
- xray?: boolean | undefined;
2838
- colorBy?: "material" | "service" | undefined;
2839
- } | undefined;
2840
- } | undefined;
2841
- address?: {
2842
- street?: string | undefined;
2843
- city?: string | undefined;
2844
- state?: string | undefined;
2845
- zip?: string | undefined;
2846
- } | undefined;
2847
- parcel?: {
2848
- apn?: string | undefined;
2849
- source?: string | undefined;
2850
- county?: string | undefined;
2851
- state?: string | undefined;
2852
- lotAreaSqFt?: number | undefined;
2853
- originLngLat?: [number, number] | undefined;
2854
- resolvedAt?: string | undefined;
2855
- layer?: string | undefined;
2856
- notes?: string[] | undefined;
2857
- } | undefined;
2858
- setbacks?: {
2859
- front: number;
2860
- side: number;
2861
- rear: number;
2862
- left?: number | undefined;
2863
- right?: number | undefined;
2864
- streetSide?: number | undefined;
2865
- } | undefined;
2866
- setbacksSource?: string | undefined;
2867
- zone?: string | undefined;
2868
- frontEdge?: number | undefined;
2869
- streetEdges?: number[] | undefined;
2870
- sightTriangleFt?: number | undefined;
2871
- northRotation?: number | undefined;
2872
- dossier?: {
2873
- [x: string]: unknown;
2874
- provider: string;
2875
- asOf: string;
2876
- point?: {
2877
- lat?: number | undefined;
2878
- lng?: number | undefined;
2879
- source?: string | undefined;
2880
- } | undefined;
2881
- address?: {
2882
- formatted?: string | undefined;
2883
- precision?: string | undefined;
2884
- } | undefined;
2885
- sections: Record<string, {
2886
- [x: string]: unknown;
2887
- status: string;
2888
- summary?: string | undefined;
2889
- reason?: string | undefined;
2890
- source?: {
2891
- name?: string | undefined;
2892
- kind?: string | undefined;
2893
- vintage?: string | undefined;
2894
- attribution?: string | undefined;
2895
- } | undefined;
2896
- }>;
2897
- parcel?: Record<string, unknown> | undefined;
2898
- flood?: Record<string, unknown> | undefined;
2899
- codeBasis?: Record<string, unknown> | undefined;
2900
- zoning?: Record<string, unknown> | undefined;
2901
- utilities?: Record<string, unknown> | undefined;
2902
- soils?: Record<string, unknown> | undefined;
2903
- wetlands?: Record<string, unknown> | undefined;
2904
- structures?: Record<string, unknown> | undefined;
2905
- elevation?: Record<string, unknown> | undefined;
2906
- boundaries?: Record<string, unknown> | undefined;
2907
- } | undefined;
2908
- contourIntervalIn?: number | undefined;
2909
- contours3d?: boolean | undefined;
2910
- terrainContours?: {
2911
- datum: string;
2912
- intervalFt: number;
2913
- source?: string | undefined;
2914
- lines: {
2915
- elevationFt: number;
2916
- points: [number, number][];
2917
- }[];
2918
- } | undefined;
2919
- children: string[];
2920
- type: "site";
2921
3108
  } | {
2922
3109
  object: "node";
2923
3110
  name?: string | undefined;
@@ -3019,6 +3206,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3019
3206
  color: string;
3020
3207
  intensity: number;
3021
3208
  distance?: number | undefined;
3209
+ spot?: {
3210
+ direction: [number, number, number];
3211
+ angle: number;
3212
+ softness: number;
3213
+ } | undefined;
3214
+ shadows?: boolean | undefined;
3215
+ glow?: {
3216
+ size: number;
3217
+ strength: number;
3218
+ } | undefined;
3022
3219
  }[];
3023
3220
  undersides: {
3024
3221
  part?: string | undefined;
@@ -3037,6 +3234,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3037
3234
  }[] | undefined;
3038
3235
  cutout: boolean;
3039
3236
  collider: boolean;
3237
+ shape?: {
3238
+ tolerance: number;
3239
+ bands: {
3240
+ y0: number;
3241
+ y1: number;
3242
+ polygons: {
3243
+ outer: [number, number][];
3244
+ holes?: [number, number][][] | undefined;
3245
+ }[];
3246
+ }[];
3247
+ } | undefined;
3040
3248
  triangles: number;
3041
3249
  coverage?: number | undefined;
3042
3250
  uncovered?: {
@@ -3107,6 +3315,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3107
3315
  intensityRange: [number, number];
3108
3316
  distance?: number | undefined;
3109
3317
  offset: [number, number, number];
3318
+ spot?: {
3319
+ direction: [number, number, number];
3320
+ angle: number;
3321
+ softness: number;
3322
+ } | undefined;
3323
+ shadows?: boolean | undefined;
3324
+ glow?: {
3325
+ size: number;
3326
+ strength: number;
3327
+ } | undefined;
3110
3328
  })[];
3111
3329
  } | undefined;
3112
3330
  };
@@ -3150,6 +3368,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3150
3368
  url: string;
3151
3369
  repeat?: [number, number] | undefined;
3152
3370
  scale?: number | undefined;
3371
+ offset?: [number, number] | undefined;
3372
+ normalMap?: string | undefined;
3373
+ normalScale?: number | undefined;
3374
+ bumpMap?: string | undefined;
3375
+ bumpScale?: number | undefined;
3153
3376
  } | undefined;
3154
3377
  } | undefined;
3155
3378
  slots?: Record<string, string> | undefined;
@@ -3215,6 +3438,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3215
3438
  color: string;
3216
3439
  intensity: number;
3217
3440
  distance?: number | undefined;
3441
+ spot?: {
3442
+ direction: [number, number, number];
3443
+ angle: number;
3444
+ softness: number;
3445
+ } | undefined;
3446
+ shadows?: boolean | undefined;
3447
+ glow?: {
3448
+ size: number;
3449
+ strength: number;
3450
+ } | undefined;
3218
3451
  }[];
3219
3452
  undersides: {
3220
3453
  part?: string | undefined;
@@ -3233,6 +3466,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3233
3466
  }[] | undefined;
3234
3467
  cutout: boolean;
3235
3468
  collider: boolean;
3469
+ shape?: {
3470
+ tolerance: number;
3471
+ bands: {
3472
+ y0: number;
3473
+ y1: number;
3474
+ polygons: {
3475
+ outer: [number, number][];
3476
+ holes?: [number, number][][] | undefined;
3477
+ }[];
3478
+ }[];
3479
+ } | undefined;
3236
3480
  triangles: number;
3237
3481
  coverage?: number | undefined;
3238
3482
  uncovered?: {
@@ -3256,6 +3500,10 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3256
3500
  roofFace?: "back" | "front" | "left" | "right" | undefined;
3257
3501
  width: number;
3258
3502
  height: number;
3503
+ sidelightLeft?: number | undefined;
3504
+ sidelightRight?: number | undefined;
3505
+ transomHeight?: number | undefined;
3506
+ slidingStyle?: "bypass" | "patio" | undefined;
3259
3507
  mark?: string | undefined;
3260
3508
  constructionType: "framed" | "masonry";
3261
3509
  dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
@@ -3267,7 +3515,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3267
3515
  finishOpeningHeight?: number | undefined;
3268
3516
  doorCategory: "garage" | "interior";
3269
3517
  doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
3270
- leafCount: 1 | 2 | 3 | 4;
3518
+ leafCount: 1 | 2 | 3 | 4 | 6 | 8;
3271
3519
  operationState: number;
3272
3520
  slideDirection: "left" | "right";
3273
3521
  trackStyle: "none" | "overhead" | "pocket" | "visible";
@@ -3280,9 +3528,12 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3280
3528
  archHeight: number;
3281
3529
  openingRevealRadius: number;
3282
3530
  frameThickness: number;
3283
- frameDepth: number;
3531
+ frameDepth?: number | undefined;
3284
3532
  threshold: boolean;
3285
3533
  thresholdHeight: number;
3534
+ casingFaceA?: boolean | undefined;
3535
+ casingFaceB?: boolean | undefined;
3536
+ casingWidth?: number | undefined;
3286
3537
  hingesSide: "left" | "right";
3287
3538
  swingDirection: "inward" | "outward";
3288
3539
  swingAngle: number;
@@ -3295,11 +3546,14 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3295
3546
  panelInset: number;
3296
3547
  }[];
3297
3548
  handle: boolean;
3549
+ handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
3298
3550
  handleHeight: number;
3299
3551
  handleSide: "left" | "right";
3300
3552
  contentPadding: [number, number];
3301
3553
  doorCloser: boolean;
3302
3554
  panicBar: boolean;
3555
+ panicBarStyle: "crossbar" | "touchbar";
3556
+ panicBarRods: boolean;
3303
3557
  panicBarHeight: number;
3304
3558
  type: "door";
3305
3559
  } | {
@@ -3393,6 +3647,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3393
3647
  color: string;
3394
3648
  intensity: number;
3395
3649
  distance?: number | undefined;
3650
+ spot?: {
3651
+ direction: [number, number, number];
3652
+ angle: number;
3653
+ softness: number;
3654
+ } | undefined;
3655
+ shadows?: boolean | undefined;
3656
+ glow?: {
3657
+ size: number;
3658
+ strength: number;
3659
+ } | undefined;
3396
3660
  }[];
3397
3661
  undersides: {
3398
3662
  part?: string | undefined;
@@ -3411,6 +3675,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3411
3675
  }[] | undefined;
3412
3676
  cutout: boolean;
3413
3677
  collider: boolean;
3678
+ shape?: {
3679
+ tolerance: number;
3680
+ bands: {
3681
+ y0: number;
3682
+ y1: number;
3683
+ polygons: {
3684
+ outer: [number, number][];
3685
+ holes?: [number, number][][] | undefined;
3686
+ }[];
3687
+ }[];
3688
+ } | undefined;
3414
3689
  triangles: number;
3415
3690
  coverage?: number | undefined;
3416
3691
  uncovered?: {
@@ -3495,7 +3770,58 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3495
3770
  braceBottomSpread: number;
3496
3771
  braceTopSpread: number;
3497
3772
  bracePlateEnabled: boolean;
3498
- role?: "ornament" | undefined;
3773
+ role?: "ornament" | "post" | undefined;
3774
+ postBase?: "none" | "pier" | "post-base" | undefined;
3775
+ material?: {
3776
+ id?: string | undefined;
3777
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3778
+ properties?: {
3779
+ color: string;
3780
+ roughness: number;
3781
+ metalness: number;
3782
+ opacity: number;
3783
+ transparent: boolean;
3784
+ side: "back" | "double" | "front";
3785
+ } | undefined;
3786
+ texture?: {
3787
+ url: string;
3788
+ repeat?: [number, number] | undefined;
3789
+ scale?: number | undefined;
3790
+ offset?: [number, number] | undefined;
3791
+ normalMap?: string | undefined;
3792
+ normalScale?: number | undefined;
3793
+ bumpMap?: string | undefined;
3794
+ bumpScale?: number | undefined;
3795
+ } | undefined;
3796
+ } | undefined;
3797
+ materialPreset?: string | undefined;
3798
+ slots?: Record<string, string> | undefined;
3799
+ type: "column";
3800
+ } | {
3801
+ object: "node";
3802
+ name?: string | undefined;
3803
+ parentId: string | null;
3804
+ visible: boolean;
3805
+ camera?: {
3806
+ position: [number, number, number];
3807
+ target: [number, number, number];
3808
+ mode: "orthographic" | "perspective";
3809
+ fov?: number | undefined;
3810
+ zoom?: number | undefined;
3811
+ } | undefined;
3812
+ metadata: Record<string, unknown>;
3813
+ provenance?: {
3814
+ refs: {
3815
+ ns?: string | undefined;
3816
+ id: string;
3817
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
3818
+ }[];
3819
+ lineage?: {
3820
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
3821
+ fromIds: string[];
3822
+ } | undefined;
3823
+ } | undefined;
3824
+ id: `roof_${string}`;
3499
3825
  material?: {
3500
3826
  id?: string | undefined;
3501
3827
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
@@ -3511,11 +3837,156 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3511
3837
  url: string;
3512
3838
  repeat?: [number, number] | undefined;
3513
3839
  scale?: number | undefined;
3840
+ offset?: [number, number] | undefined;
3841
+ normalMap?: string | undefined;
3842
+ normalScale?: number | undefined;
3843
+ bumpMap?: string | undefined;
3844
+ bumpScale?: number | undefined;
3514
3845
  } | undefined;
3515
3846
  } | undefined;
3516
3847
  materialPreset?: string | undefined;
3848
+ topMaterial?: {
3849
+ id?: string | undefined;
3850
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3851
+ properties?: {
3852
+ color: string;
3853
+ roughness: number;
3854
+ metalness: number;
3855
+ opacity: number;
3856
+ transparent: boolean;
3857
+ side: "back" | "double" | "front";
3858
+ } | undefined;
3859
+ texture?: {
3860
+ url: string;
3861
+ repeat?: [number, number] | undefined;
3862
+ scale?: number | undefined;
3863
+ offset?: [number, number] | undefined;
3864
+ normalMap?: string | undefined;
3865
+ normalScale?: number | undefined;
3866
+ bumpMap?: string | undefined;
3867
+ bumpScale?: number | undefined;
3868
+ } | undefined;
3869
+ } | undefined;
3870
+ topMaterialPreset?: string | undefined;
3871
+ edgeMaterial?: {
3872
+ id?: string | undefined;
3873
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3874
+ properties?: {
3875
+ color: string;
3876
+ roughness: number;
3877
+ metalness: number;
3878
+ opacity: number;
3879
+ transparent: boolean;
3880
+ side: "back" | "double" | "front";
3881
+ } | undefined;
3882
+ texture?: {
3883
+ url: string;
3884
+ repeat?: [number, number] | undefined;
3885
+ scale?: number | undefined;
3886
+ offset?: [number, number] | undefined;
3887
+ normalMap?: string | undefined;
3888
+ normalScale?: number | undefined;
3889
+ bumpMap?: string | undefined;
3890
+ bumpScale?: number | undefined;
3891
+ } | undefined;
3892
+ } | undefined;
3893
+ edgeMaterialPreset?: string | undefined;
3894
+ wallMaterial?: {
3895
+ id?: string | undefined;
3896
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3897
+ properties?: {
3898
+ color: string;
3899
+ roughness: number;
3900
+ metalness: number;
3901
+ opacity: number;
3902
+ transparent: boolean;
3903
+ side: "back" | "double" | "front";
3904
+ } | undefined;
3905
+ texture?: {
3906
+ url: string;
3907
+ repeat?: [number, number] | undefined;
3908
+ scale?: number | undefined;
3909
+ offset?: [number, number] | undefined;
3910
+ normalMap?: string | undefined;
3911
+ normalScale?: number | undefined;
3912
+ bumpMap?: string | undefined;
3913
+ bumpScale?: number | undefined;
3914
+ } | undefined;
3915
+ } | undefined;
3916
+ wallMaterialPreset?: string | undefined;
3917
+ heelMaterial?: {
3918
+ id?: string | undefined;
3919
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3920
+ properties?: {
3921
+ color: string;
3922
+ roughness: number;
3923
+ metalness: number;
3924
+ opacity: number;
3925
+ transparent: boolean;
3926
+ side: "back" | "double" | "front";
3927
+ } | undefined;
3928
+ texture?: {
3929
+ url: string;
3930
+ repeat?: [number, number] | undefined;
3931
+ scale?: number | undefined;
3932
+ offset?: [number, number] | undefined;
3933
+ normalMap?: string | undefined;
3934
+ normalScale?: number | undefined;
3935
+ bumpMap?: string | undefined;
3936
+ bumpScale?: number | undefined;
3937
+ } | undefined;
3938
+ } | undefined;
3939
+ heelMaterialPreset?: string | undefined;
3940
+ position: [number, number, number];
3941
+ rotation: number;
3942
+ support: {
3943
+ kind: "level";
3944
+ } | {
3945
+ kind: "walls";
3946
+ } | {
3947
+ kind: "roof";
3948
+ roofSegmentId: `rseg_${string}`;
3949
+ localPosition: [number, number];
3950
+ curbHeight: number;
3951
+ };
3952
+ assembly?: {
3953
+ layers: {
3954
+ id: string;
3955
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
3956
+ thickness: number;
3957
+ core?: true | undefined;
3958
+ spacing?: number | undefined;
3959
+ material?: string | undefined;
3960
+ slot?: string | undefined;
3961
+ returns?: boolean | undefined;
3962
+ display?: "construction" | "finished" | undefined;
3963
+ inset?: number | undefined;
3964
+ bottom?: number | undefined;
3965
+ lift?: number | undefined;
3966
+ src?: string | undefined;
3967
+ }[];
3968
+ backing?: {
3969
+ id: string;
3970
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
3971
+ thickness: number;
3972
+ core?: true | undefined;
3973
+ spacing?: number | undefined;
3974
+ material?: string | undefined;
3975
+ slot?: string | undefined;
3976
+ returns?: boolean | undefined;
3977
+ display?: "construction" | "finished" | undefined;
3978
+ inset?: number | undefined;
3979
+ bottom?: number | undefined;
3980
+ lift?: number | undefined;
3981
+ src?: string | undefined;
3982
+ }[] | undefined;
3983
+ face?: "exterior" | "front" | undefined;
3984
+ presetId?: string | undefined;
3985
+ cavityInsulation?: string | undefined;
3986
+ } | undefined;
3517
3987
  slots?: Record<string, string> | undefined;
3518
- type: "column";
3988
+ children: `rseg_${string}`[];
3989
+ type: "roof";
3519
3990
  } | {
3520
3991
  object: "node";
3521
3992
  name?: string | undefined;
@@ -3556,6 +4027,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3556
4027
  url: string;
3557
4028
  repeat?: [number, number] | undefined;
3558
4029
  scale?: number | undefined;
4030
+ offset?: [number, number] | undefined;
4031
+ normalMap?: string | undefined;
4032
+ normalScale?: number | undefined;
4033
+ bumpMap?: string | undefined;
4034
+ bumpScale?: number | undefined;
3559
4035
  } | undefined;
3560
4036
  } | undefined;
3561
4037
  materialPreset?: string | undefined;
@@ -3588,6 +4064,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3588
4064
  url: string;
3589
4065
  repeat?: [number, number] | undefined;
3590
4066
  scale?: number | undefined;
4067
+ offset?: [number, number] | undefined;
4068
+ normalMap?: string | undefined;
4069
+ normalScale?: number | undefined;
4070
+ bumpMap?: string | undefined;
4071
+ bumpScale?: number | undefined;
3591
4072
  } | undefined;
3592
4073
  } | undefined;
3593
4074
  } | undefined;
@@ -3605,6 +4086,121 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3605
4086
  zoneIds?: string[] | undefined;
3606
4087
  associatedZoneIds?: string[] | undefined;
3607
4088
  autoFromWalls: boolean;
4089
+ surfaceScript?: {
4090
+ kind: "script";
4091
+ meta?: {
4092
+ description?: string | undefined;
4093
+ category?: string | undefined;
4094
+ tags?: string[] | undefined;
4095
+ parent?: string | undefined;
4096
+ } | undefined;
4097
+ language: "bpy" | "three";
4098
+ script: string;
4099
+ params: Record<string, string | number | boolean>;
4100
+ artifact: string;
4101
+ manifest: {
4102
+ bounds: {
4103
+ min: [number, number, number];
4104
+ max: [number, number, number];
4105
+ };
4106
+ params: {
4107
+ id: string;
4108
+ label?: string | undefined;
4109
+ kind: "boolean" | "number" | "string";
4110
+ default: string | number | boolean;
4111
+ min?: number | undefined;
4112
+ max?: number | undefined;
4113
+ step?: number | undefined;
4114
+ unit?: string | undefined;
4115
+ options?: string[] | undefined;
4116
+ }[];
4117
+ parts: {
4118
+ id: string;
4119
+ label?: string | undefined;
4120
+ type?: string | undefined;
4121
+ bounds?: {
4122
+ min: [number, number, number];
4123
+ max: [number, number, number];
4124
+ } | undefined;
4125
+ }[];
4126
+ surfaces: {
4127
+ part?: string | undefined;
4128
+ y: number;
4129
+ polygon: [number, number][];
4130
+ }[];
4131
+ slots: {
4132
+ id: string;
4133
+ label?: string | undefined;
4134
+ color?: string | undefined;
4135
+ roughness?: number | undefined;
4136
+ metalness?: number | undefined;
4137
+ transparent?: boolean | undefined;
4138
+ emissive?: boolean | undefined;
4139
+ }[];
4140
+ anchors: {
4141
+ id: string;
4142
+ position: [number, number, number];
4143
+ normal?: [number, number, number] | undefined;
4144
+ }[];
4145
+ lights: {
4146
+ id: string;
4147
+ position: [number, number, number];
4148
+ color: string;
4149
+ intensity: number;
4150
+ distance?: number | undefined;
4151
+ spot?: {
4152
+ direction: [number, number, number];
4153
+ angle: number;
4154
+ softness: number;
4155
+ } | undefined;
4156
+ shadows?: boolean | undefined;
4157
+ glow?: {
4158
+ size: number;
4159
+ strength: number;
4160
+ } | undefined;
4161
+ }[];
4162
+ undersides: {
4163
+ part?: string | undefined;
4164
+ polygon: [number, number][];
4165
+ plane: [number, number, number, number];
4166
+ }[];
4167
+ animations: {
4168
+ name: string;
4169
+ duration: number;
4170
+ }[];
4171
+ cutters?: {
4172
+ host: "ceiling" | "mounted" | "slab" | "wall";
4173
+ polygon: number[][];
4174
+ minY: number;
4175
+ maxY: number;
4176
+ }[] | undefined;
4177
+ cutout: boolean;
4178
+ collider: boolean;
4179
+ shape?: {
4180
+ tolerance: number;
4181
+ bands: {
4182
+ y0: number;
4183
+ y1: number;
4184
+ polygons: {
4185
+ outer: [number, number][];
4186
+ holes?: [number, number][][] | undefined;
4187
+ }[];
4188
+ }[];
4189
+ } | undefined;
4190
+ triangles: number;
4191
+ coverage?: number | undefined;
4192
+ uncovered?: {
4193
+ min: [number, number];
4194
+ max: [number, number];
4195
+ }[] | undefined;
4196
+ };
4197
+ images?: {
4198
+ artifact: string;
4199
+ thumbnail: string;
4200
+ floorPlan: string;
4201
+ } | undefined;
4202
+ inputs: string;
4203
+ } | undefined;
3608
4204
  type: "slab";
3609
4205
  } | {
3610
4206
  object: "node";
@@ -3731,7 +4327,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3731
4327
  } | undefined;
3732
4328
  } | undefined;
3733
4329
  id: `wall_${string}`;
3734
- wallType?: "curtain" | "standard" | undefined;
4330
+ wallType?: "curtain" | "railing" | "standard" | undefined;
3735
4331
  curtainWall?: {
3736
4332
  construction: "stick" | "unitized";
3737
4333
  framing: "capped" | "horizontal-caps" | "structural-glazing" | "vertical-caps";
@@ -3765,6 +4361,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3765
4361
  type: "empty" | "glass" | "solid";
3766
4362
  }[];
3767
4363
  } | undefined;
4364
+ railing?: {
4365
+ style: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail";
4366
+ postSpacing: number;
4367
+ postSize: number;
4368
+ infillSize: number;
4369
+ infillGap: number;
4370
+ bottomClearance: number;
4371
+ cap: boolean;
4372
+ } | undefined;
3768
4373
  children: (`door_${string}` | `item_${string}` | `leanto_${string}` | `procedural-item_${string}` | `window_${string}`)[];
3769
4374
  material?: {
3770
4375
  id?: string | undefined;
@@ -3781,6 +4386,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3781
4386
  url: string;
3782
4387
  repeat?: [number, number] | undefined;
3783
4388
  scale?: number | undefined;
4389
+ offset?: [number, number] | undefined;
4390
+ normalMap?: string | undefined;
4391
+ normalScale?: number | undefined;
4392
+ bumpMap?: string | undefined;
4393
+ bumpScale?: number | undefined;
3784
4394
  } | undefined;
3785
4395
  } | undefined;
3786
4396
  materialPreset?: string | undefined;
@@ -3799,6 +4409,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3799
4409
  url: string;
3800
4410
  repeat?: [number, number] | undefined;
3801
4411
  scale?: number | undefined;
4412
+ offset?: [number, number] | undefined;
4413
+ normalMap?: string | undefined;
4414
+ normalScale?: number | undefined;
4415
+ bumpMap?: string | undefined;
4416
+ bumpScale?: number | undefined;
3802
4417
  } | undefined;
3803
4418
  } | undefined;
3804
4419
  interiorMaterialPreset?: string | undefined;
@@ -3817,6 +4432,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3817
4432
  url: string;
3818
4433
  repeat?: [number, number] | undefined;
3819
4434
  scale?: number | undefined;
4435
+ offset?: [number, number] | undefined;
4436
+ normalMap?: string | undefined;
4437
+ normalScale?: number | undefined;
4438
+ bumpMap?: string | undefined;
4439
+ bumpScale?: number | undefined;
3820
4440
  } | undefined;
3821
4441
  } | undefined;
3822
4442
  exteriorMaterialPreset?: string | undefined;
@@ -3838,6 +4458,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3838
4458
  url: string;
3839
4459
  repeat?: [number, number] | undefined;
3840
4460
  scale?: number | undefined;
4461
+ offset?: [number, number] | undefined;
4462
+ normalMap?: string | undefined;
4463
+ normalScale?: number | undefined;
4464
+ bumpMap?: string | undefined;
4465
+ bumpScale?: number | undefined;
3841
4466
  } | undefined;
3842
4467
  } | undefined;
3843
4468
  materialPreset?: string | undefined;
@@ -3858,6 +4483,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3858
4483
  url: string;
3859
4484
  repeat?: [number, number] | undefined;
3860
4485
  scale?: number | undefined;
4486
+ offset?: [number, number] | undefined;
4487
+ normalMap?: string | undefined;
4488
+ normalScale?: number | undefined;
4489
+ bumpMap?: string | undefined;
4490
+ bumpScale?: number | undefined;
3861
4491
  } | undefined;
3862
4492
  } | undefined;
3863
4493
  materialPreset?: string | undefined;
@@ -3879,6 +4509,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3879
4509
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
3880
4510
  thickness: number;
3881
4511
  core?: true | undefined;
4512
+ spacing?: number | undefined;
3882
4513
  material?: string | undefined;
3883
4514
  slot?: string | undefined;
3884
4515
  returns?: boolean | undefined;
@@ -3893,6 +4524,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
3893
4524
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
3894
4525
  thickness: number;
3895
4526
  core?: true | undefined;
4527
+ spacing?: number | undefined;
3896
4528
  material?: string | undefined;
3897
4529
  slot?: string | undefined;
3898
4530
  returns?: boolean | undefined;
@@ -4010,6 +4642,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4010
4642
  color: string;
4011
4643
  intensity: number;
4012
4644
  distance?: number | undefined;
4645
+ spot?: {
4646
+ direction: [number, number, number];
4647
+ angle: number;
4648
+ softness: number;
4649
+ } | undefined;
4650
+ shadows?: boolean | undefined;
4651
+ glow?: {
4652
+ size: number;
4653
+ strength: number;
4654
+ } | undefined;
4013
4655
  }[];
4014
4656
  undersides: {
4015
4657
  part?: string | undefined;
@@ -4028,6 +4670,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4028
4670
  }[] | undefined;
4029
4671
  cutout: boolean;
4030
4672
  collider: boolean;
4673
+ shape?: {
4674
+ tolerance: number;
4675
+ bands: {
4676
+ y0: number;
4677
+ y1: number;
4678
+ polygons: {
4679
+ outer: [number, number][];
4680
+ holes?: [number, number][][] | undefined;
4681
+ }[];
4682
+ }[];
4683
+ } | undefined;
4031
4684
  triangles: number;
4032
4685
  coverage?: number | undefined;
4033
4686
  uncovered?: {
@@ -4105,6 +4758,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4105
4758
  color: string;
4106
4759
  intensity: number;
4107
4760
  distance?: number | undefined;
4761
+ spot?: {
4762
+ direction: [number, number, number];
4763
+ angle: number;
4764
+ softness: number;
4765
+ } | undefined;
4766
+ shadows?: boolean | undefined;
4767
+ glow?: {
4768
+ size: number;
4769
+ strength: number;
4770
+ } | undefined;
4108
4771
  }[];
4109
4772
  undersides: {
4110
4773
  part?: string | undefined;
@@ -4123,6 +4786,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4123
4786
  }[] | undefined;
4124
4787
  cutout: boolean;
4125
4788
  collider: boolean;
4789
+ shape?: {
4790
+ tolerance: number;
4791
+ bands: {
4792
+ y0: number;
4793
+ y1: number;
4794
+ polygons: {
4795
+ outer: [number, number][];
4796
+ holes?: [number, number][][] | undefined;
4797
+ }[];
4798
+ }[];
4799
+ } | undefined;
4126
4800
  triangles: number;
4127
4801
  coverage?: number | undefined;
4128
4802
  uncovered?: {
@@ -4144,70 +4818,6 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4144
4818
  frontSide: "exterior" | "interior" | "unknown";
4145
4819
  backSide: "exterior" | "interior" | "unknown";
4146
4820
  type: "wall";
4147
- } | {
4148
- object: "node";
4149
- name?: string | undefined;
4150
- parentId: string | null;
4151
- visible: boolean;
4152
- camera?: {
4153
- position: [number, number, number];
4154
- target: [number, number, number];
4155
- mode: "orthographic" | "perspective";
4156
- fov?: number | undefined;
4157
- zoom?: number | undefined;
4158
- } | undefined;
4159
- metadata: Record<string, unknown>;
4160
- provenance?: {
4161
- refs: {
4162
- ns?: string | undefined;
4163
- id: string;
4164
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
4165
- }[];
4166
- lineage?: {
4167
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
4168
- fromIds: string[];
4169
- } | undefined;
4170
- } | undefined;
4171
- id: `separator_${string}`;
4172
- start: [number, number];
4173
- end: [number, number];
4174
- type: "separator";
4175
- } | {
4176
- object: "node";
4177
- name?: string | undefined;
4178
- parentId: string | null;
4179
- visible: boolean;
4180
- camera?: {
4181
- position: [number, number, number];
4182
- target: [number, number, number];
4183
- mode: "orthographic" | "perspective";
4184
- fov?: number | undefined;
4185
- zoom?: number | undefined;
4186
- } | undefined;
4187
- metadata: Record<string, unknown>;
4188
- provenance?: {
4189
- refs: {
4190
- ns?: string | undefined;
4191
- id: string;
4192
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
4193
- }[];
4194
- lineage?: {
4195
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
4196
- fromIds: string[];
4197
- } | undefined;
4198
- } | undefined;
4199
- id: `floor-opening_${string}`;
4200
- polygon: [number, number][];
4201
- hostZoneId?: string | undefined;
4202
- legacyPlateCuts?: Record<string, [number, number][][]> | undefined;
4203
- legacyCeilingCuts?: Record<string, [number, number][][]> | undefined;
4204
- source: string;
4205
- ownerId?: string | undefined;
4206
- surfaceId?: string | undefined;
4207
- drawnOn: "ceiling" | "floor";
4208
- cutsPrimary: boolean;
4209
- cutsAdjacent: boolean;
4210
- type: "floor-opening";
4211
4821
  } | {
4212
4822
  object: "node";
4213
4823
  name?: string | undefined;
@@ -4249,6 +4859,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4249
4859
  url: string;
4250
4860
  repeat?: [number, number] | undefined;
4251
4861
  scale?: number | undefined;
4862
+ offset?: [number, number] | undefined;
4863
+ normalMap?: string | undefined;
4864
+ normalScale?: number | undefined;
4865
+ bumpMap?: string | undefined;
4866
+ bumpScale?: number | undefined;
4252
4867
  } | undefined;
4253
4868
  } | undefined;
4254
4869
  materialPreset?: string | undefined;
@@ -4297,6 +4912,66 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4297
4912
  color: string;
4298
4913
  style: "guard" | "horizontal" | "picket" | "privacy" | "rail" | "slat";
4299
4914
  type: "fence";
4915
+ } | {
4916
+ object: "node";
4917
+ name?: string | undefined;
4918
+ parentId: string | null;
4919
+ visible: boolean;
4920
+ camera?: {
4921
+ position: [number, number, number];
4922
+ target: [number, number, number];
4923
+ mode: "orthographic" | "perspective";
4924
+ fov?: number | undefined;
4925
+ zoom?: number | undefined;
4926
+ } | undefined;
4927
+ metadata: Record<string, unknown>;
4928
+ provenance?: {
4929
+ refs: {
4930
+ ns?: string | undefined;
4931
+ id: string;
4932
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
4933
+ }[];
4934
+ lineage?: {
4935
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
4936
+ fromIds: string[];
4937
+ } | undefined;
4938
+ } | undefined;
4939
+ id: `construction-dimension_${string}`;
4940
+ anchors: ({
4941
+ kind: "feature";
4942
+ reference: {
4943
+ nodeId: string;
4944
+ featureId: string;
4945
+ parameters?: Record<string, string | number | boolean> | undefined;
4946
+ };
4947
+ fallback: [number, number, number];
4948
+ } | [number, number, number])[];
4949
+ baseline: {
4950
+ origin: [number, number];
4951
+ direction: [number, number];
4952
+ };
4953
+ chainMode: "continuous" | "point-to-point";
4954
+ mode: "angular" | "arc-length" | "center-mark" | "chord" | "coordinate" | "diameter" | "linear" | "radius";
4955
+ featureCount: number;
4956
+ showCenterMark: boolean;
4957
+ prefix: string;
4958
+ suffix: string;
4959
+ textOverride: string | null;
4960
+ datumPolicy: "centerline" | "finish-face" | "structural-face" | "wall-face";
4961
+ terminator: "architectural-tick" | "dot" | "filled-arrow" | "open-arrow";
4962
+ textPosition: "above" | "centered";
4963
+ imperialPrecision: "1" | "1/16" | "1/2" | "1/4" | "1/8";
4964
+ metricNotation: "meters" | "millimeters";
4965
+ extensionStartGap: number;
4966
+ extensionOvershoot: number;
4967
+ drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
4968
+ drawingOverrides: {
4969
+ drawingType: "floor-plan" | "foundation-plan" | "reflected-ceiling-plan" | "roof-plan" | "site-plan";
4970
+ presentation: "controlled" | "omit" | "shown";
4971
+ suppressedSegmentIndexes: number[];
4972
+ }[];
4973
+ controllingDimensionId: `construction-dimension_${string}` | null;
4974
+ type: "construction-dimension";
4300
4975
  } | {
4301
4976
  object: "node";
4302
4977
  name?: string | undefined;
@@ -4344,6 +5019,37 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4344
5019
  slots: Record<string, string>;
4345
5020
  slotNames: Record<string, string>;
4346
5021
  type: "block";
5022
+ } | {
5023
+ object: "node";
5024
+ name?: string | undefined;
5025
+ parentId: string | null;
5026
+ visible: boolean;
5027
+ camera?: {
5028
+ position: [number, number, number];
5029
+ target: [number, number, number];
5030
+ mode: "orthographic" | "perspective";
5031
+ fov?: number | undefined;
5032
+ zoom?: number | undefined;
5033
+ } | undefined;
5034
+ metadata: Record<string, unknown>;
5035
+ provenance?: {
5036
+ refs: {
5037
+ ns?: string | undefined;
5038
+ id: string;
5039
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
5040
+ }[];
5041
+ lineage?: {
5042
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
5043
+ fromIds: string[];
5044
+ } | undefined;
5045
+ } | undefined;
5046
+ id: `structural-grid_${string}`;
5047
+ start: [number, number];
5048
+ end: [number, number];
5049
+ label: string;
5050
+ showStartBubble: boolean;
5051
+ showEndBubble: boolean;
5052
+ type: "structural-grid";
4347
5053
  } | {
4348
5054
  object: "node";
4349
5055
  name?: string | undefined;
@@ -4689,6 +5395,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4689
5395
  color: string;
4690
5396
  intensity: number;
4691
5397
  distance?: number | undefined;
5398
+ spot?: {
5399
+ direction: [number, number, number];
5400
+ angle: number;
5401
+ softness: number;
5402
+ } | undefined;
5403
+ shadows?: boolean | undefined;
5404
+ glow?: {
5405
+ size: number;
5406
+ strength: number;
5407
+ } | undefined;
4692
5408
  }[];
4693
5409
  undersides: {
4694
5410
  part?: string | undefined;
@@ -4707,6 +5423,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4707
5423
  }[] | undefined;
4708
5424
  cutout: boolean;
4709
5425
  collider: boolean;
5426
+ shape?: {
5427
+ tolerance: number;
5428
+ bands: {
5429
+ y0: number;
5430
+ y1: number;
5431
+ polygons: {
5432
+ outer: [number, number][];
5433
+ holes?: [number, number][][] | undefined;
5434
+ }[];
5435
+ }[];
5436
+ } | undefined;
4710
5437
  triangles: number;
4711
5438
  coverage?: number | undefined;
4712
5439
  uncovered?: {
@@ -4721,6 +5448,19 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4721
5448
  } | undefined;
4722
5449
  inputs: string;
4723
5450
  } | undefined;
5451
+ drop?: number | undefined;
5452
+ } | undefined;
5453
+ roomType?: "deck" | "patio" | "porch" | undefined;
5454
+ porchFraming?: {
5455
+ auto?: boolean | undefined;
5456
+ postSize?: string | undefined;
5457
+ postSpacing?: number | undefined;
5458
+ beamSize?: string | undefined;
5459
+ } | undefined;
5460
+ decking?: {
5461
+ boardSize?: "2x4" | "2x6" | "5/4x6" | "composite" | undefined;
5462
+ gap?: number | undefined;
5463
+ direction?: "diagonal" | "parallel" | "perpendicular" | undefined;
4724
5464
  } | undefined;
4725
5465
  ceiling?: {
4726
5466
  regions?: {
@@ -4797,6 +5537,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4797
5537
  url: string;
4798
5538
  repeat?: [number, number] | undefined;
4799
5539
  scale?: number | undefined;
5540
+ offset?: [number, number] | undefined;
5541
+ normalMap?: string | undefined;
5542
+ normalScale?: number | undefined;
5543
+ bumpMap?: string | undefined;
5544
+ bumpScale?: number | undefined;
4800
5545
  } | undefined;
4801
5546
  } | undefined;
4802
5547
  materialPreset?: string | undefined;
@@ -4811,6 +5556,29 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4811
5556
  }[];
4812
5557
  openingIds?: string[] | undefined;
4813
5558
  height?: number | undefined;
5559
+ buildUp?: {
5560
+ presetId?: string | undefined;
5561
+ finish?: {
5562
+ kind: "drywall" | "plaster" | "wood-plank";
5563
+ thickness: number;
5564
+ name?: string | undefined;
5565
+ } | undefined;
5566
+ framing?: {
5567
+ system: "joists" | "truss-chords";
5568
+ size: "2x10" | "2x12" | "2x4" | "2x6" | "2x8";
5569
+ spacing: number;
5570
+ } | undefined;
5571
+ decking?: {
5572
+ kind: "osb" | "plywood";
5573
+ thickness: number;
5574
+ name?: string | undefined;
5575
+ } | undefined;
5576
+ insulation?: {
5577
+ kind: "batt" | "blown" | "rigid";
5578
+ thickness: number;
5579
+ name?: string | undefined;
5580
+ } | undefined;
5581
+ } | undefined;
4814
5582
  regions?: {
4815
5583
  id: string;
4816
5584
  polygon: [number, number][];
@@ -4844,7 +5612,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4844
5612
  fromIds: string[];
4845
5613
  } | undefined;
4846
5614
  } | undefined;
4847
- id: `sseg_${string}`;
5615
+ id: `stair_${string}`;
4848
5616
  material?: {
4849
5617
  id?: string | undefined;
4850
5618
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
@@ -4860,64 +5628,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4860
5628
  url: string;
4861
5629
  repeat?: [number, number] | undefined;
4862
5630
  scale?: number | undefined;
5631
+ offset?: [number, number] | undefined;
5632
+ normalMap?: string | undefined;
5633
+ normalScale?: number | undefined;
5634
+ bumpMap?: string | undefined;
5635
+ bumpScale?: number | undefined;
4863
5636
  } | undefined;
4864
5637
  } | undefined;
4865
5638
  materialPreset?: string | undefined;
4866
- slots?: Record<string, string> | undefined;
4867
- position: [number, number, number];
4868
- rotation: number;
4869
- segmentType: "landing" | "stair";
4870
- width: number;
4871
- length: number;
4872
- height: number;
4873
- stepCount: number;
4874
- attachmentSide: "front" | "left" | "right";
4875
- fillToFloor: boolean;
4876
- construction?: {
4877
- mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist";
4878
- waistThickness: number;
4879
- treadThickness: number;
4880
- riserThickness: number;
4881
- nosing: number;
4882
- finishThickness: number;
4883
- closedRisers: boolean;
4884
- stringerWidth: number;
4885
- stringerDepth: number;
4886
- } | undefined;
4887
- winder?: {
4888
- turn: "left" | "right";
4889
- innerGap: number;
4890
- walkingLineOffset: number;
4891
- division: "equal-angle" | "equal-going";
4892
- } | undefined;
4893
- thickness: number;
4894
- type: "stair-segment";
4895
- } | {
4896
- object: "node";
4897
- name?: string | undefined;
4898
- parentId: string | null;
4899
- visible: boolean;
4900
- camera?: {
4901
- position: [number, number, number];
4902
- target: [number, number, number];
4903
- mode: "orthographic" | "perspective";
4904
- fov?: number | undefined;
4905
- zoom?: number | undefined;
4906
- } | undefined;
4907
- metadata: Record<string, unknown>;
4908
- provenance?: {
4909
- refs: {
4910
- ns?: string | undefined;
4911
- id: string;
4912
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
4913
- }[];
4914
- lineage?: {
4915
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
4916
- fromIds: string[];
4917
- } | undefined;
4918
- } | undefined;
4919
- id: `stair_${string}`;
4920
- material?: {
5639
+ railingMaterial?: {
4921
5640
  id?: string | undefined;
4922
5641
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
4923
5642
  properties?: {
@@ -4932,10 +5651,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4932
5651
  url: string;
4933
5652
  repeat?: [number, number] | undefined;
4934
5653
  scale?: number | undefined;
5654
+ offset?: [number, number] | undefined;
5655
+ normalMap?: string | undefined;
5656
+ normalScale?: number | undefined;
5657
+ bumpMap?: string | undefined;
5658
+ bumpScale?: number | undefined;
4935
5659
  } | undefined;
4936
5660
  } | undefined;
4937
- materialPreset?: string | undefined;
4938
- railingMaterial?: {
5661
+ railingMaterialPreset?: string | undefined;
5662
+ treadMaterial?: {
4939
5663
  id?: string | undefined;
4940
5664
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
4941
5665
  properties?: {
@@ -4950,10 +5674,15 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4950
5674
  url: string;
4951
5675
  repeat?: [number, number] | undefined;
4952
5676
  scale?: number | undefined;
5677
+ offset?: [number, number] | undefined;
5678
+ normalMap?: string | undefined;
5679
+ normalScale?: number | undefined;
5680
+ bumpMap?: string | undefined;
5681
+ bumpScale?: number | undefined;
4953
5682
  } | undefined;
4954
5683
  } | undefined;
4955
- railingMaterialPreset?: string | undefined;
4956
- treadMaterial?: {
5684
+ treadMaterialPreset?: string | undefined;
5685
+ sideMaterial?: {
4957
5686
  id?: string | undefined;
4958
5687
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
4959
5688
  properties?: {
@@ -4968,10 +5697,211 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4968
5697
  url: string;
4969
5698
  repeat?: [number, number] | undefined;
4970
5699
  scale?: number | undefined;
5700
+ offset?: [number, number] | undefined;
5701
+ normalMap?: string | undefined;
5702
+ normalScale?: number | undefined;
5703
+ bumpMap?: string | undefined;
5704
+ bumpScale?: number | undefined;
5705
+ } | undefined;
5706
+ } | undefined;
5707
+ sideMaterialPreset?: string | undefined;
5708
+ slots?: Record<string, string> | undefined;
5709
+ position: [number, number, number];
5710
+ rotation: number;
5711
+ supportSlabId?: string | undefined;
5712
+ stairType: "curved" | "spiral" | "straight";
5713
+ fromLevelId: string | null;
5714
+ toLevelId: string | null;
5715
+ deckSlabId?: string | undefined;
5716
+ slabOpeningMode: "destination" | "none";
5717
+ openingOffset: number;
5718
+ width: number;
5719
+ totalRise?: number | undefined;
5720
+ designTargets?: {
5721
+ maxRiserHeight: number;
5722
+ minimumGoing: number;
5723
+ targetGoing: number;
5724
+ minimumHeadroom: number;
5725
+ } | undefined;
5726
+ uniformRisers?: boolean | undefined;
5727
+ stepCount: number;
5728
+ autoSurfaceSnap?: boolean | undefined;
5729
+ destinationSurfaceId?: string | undefined;
5730
+ thickness: number;
5731
+ fillToFloor: boolean;
5732
+ construction?: {
5733
+ mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist";
5734
+ waistThickness: number;
5735
+ treadThickness: number;
5736
+ riserThickness: number;
5737
+ nosing: number;
5738
+ finishThickness: number;
5739
+ closedRisers: boolean;
5740
+ stringerWidth: number;
5741
+ stringerDepth: number;
5742
+ } | undefined;
5743
+ structure?: {
5744
+ type: "concrete" | "steel-stringers" | "wood-stringers";
5745
+ stringerStock: "2x10" | "2x12";
5746
+ stringerType: "cut" | "housed";
5747
+ stringerSpacing: number;
5748
+ stringerCount?: number | undefined;
5749
+ treadStock?: "2x12" | "2x6-pair" | "5/4x6-pair" | "plywood-finish" | undefined;
5750
+ closedRisers?: boolean | undefined;
5751
+ treated?: boolean | undefined;
5752
+ nosing?: number | undefined;
5753
+ } | undefined;
5754
+ innerRadius: number;
5755
+ sweepAngle: number;
5756
+ topLandingMode: "integrated" | "none";
5757
+ topLandingDepth: number;
5758
+ showCenterColumn: boolean;
5759
+ showStepSupports: boolean;
5760
+ railingMode: "both" | "left" | "none" | "right";
5761
+ railingHeight: number;
5762
+ railingStyle?: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail" | undefined;
5763
+ railingPath?: "continuous" | "original" | undefined;
5764
+ handrail?: {
5765
+ mode: "both" | "left" | "none" | "right";
5766
+ height: number;
5767
+ diameter: number;
5768
+ offset: number;
5769
+ bottom?: {
5770
+ extension: number;
5771
+ return: "floor" | "none" | "post" | "wall";
5772
+ returnLength: number;
5773
+ } | undefined;
5774
+ top?: {
5775
+ extension: number;
5776
+ return: "floor" | "none" | "post" | "wall";
5777
+ returnLength: number;
5778
+ } | undefined;
5779
+ } | undefined;
5780
+ railingTopPost?: boolean | undefined;
5781
+ railingTopReach?: number | undefined;
5782
+ railingPostThrough?: boolean | undefined;
5783
+ children: `sseg_${string}`[];
5784
+ type: "stair";
5785
+ } | {
5786
+ object: "node";
5787
+ name?: string | undefined;
5788
+ parentId: string | null;
5789
+ visible: boolean;
5790
+ camera?: {
5791
+ position: [number, number, number];
5792
+ target: [number, number, number];
5793
+ mode: "orthographic" | "perspective";
5794
+ fov?: number | undefined;
5795
+ zoom?: number | undefined;
5796
+ } | undefined;
5797
+ metadata: Record<string, unknown>;
5798
+ provenance?: {
5799
+ refs: {
5800
+ ns?: string | undefined;
5801
+ id: string;
5802
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
5803
+ }[];
5804
+ lineage?: {
5805
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
5806
+ fromIds: string[];
5807
+ } | undefined;
5808
+ } | undefined;
5809
+ id: `scan_${string}`;
5810
+ url: string | null;
5811
+ captureSession: {
5812
+ sessionId: string;
5813
+ schemaVersion?: number | undefined;
5814
+ revisionId?: string | undefined;
5815
+ manifestUrl?: string | undefined;
5816
+ } | null;
5817
+ layers: Record<string, boolean>;
5818
+ position: [number, number, number];
5819
+ rotation: [number, number, number];
5820
+ scale: number;
5821
+ opacity: number;
5822
+ type: "scan";
5823
+ } | {
5824
+ object: "node";
5825
+ name?: string | undefined;
5826
+ parentId: string | null;
5827
+ visible: boolean;
5828
+ camera?: {
5829
+ position: [number, number, number];
5830
+ target: [number, number, number];
5831
+ mode: "orthographic" | "perspective";
5832
+ fov?: number | undefined;
5833
+ zoom?: number | undefined;
5834
+ } | undefined;
5835
+ metadata: Record<string, unknown>;
5836
+ provenance?: {
5837
+ refs: {
5838
+ ns?: string | undefined;
5839
+ id: string;
5840
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
5841
+ }[];
5842
+ lineage?: {
5843
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
5844
+ fromIds: string[];
5845
+ } | undefined;
5846
+ } | undefined;
5847
+ id: `guide_${string}`;
5848
+ url: string;
5849
+ position: [number, number, number];
5850
+ rotation: [number, number, number];
5851
+ scale: number;
5852
+ opacity: number;
5853
+ scaleReference: {
5854
+ start: [number, number];
5855
+ end: [number, number];
5856
+ realLengthMeters: number;
5857
+ measuredLengthUnits: number;
5858
+ metersPerUnit: number;
5859
+ displayLength?: number | undefined;
5860
+ displayUnit?: "centimeters" | "feet" | "inches" | "meters" | undefined;
5861
+ label: string;
5862
+ } | null;
5863
+ type: "guide";
5864
+ } | {
5865
+ object: "node";
5866
+ name?: string | undefined;
5867
+ parentId: string | null;
5868
+ visible: boolean;
5869
+ camera?: {
5870
+ position: [number, number, number];
5871
+ target: [number, number, number];
5872
+ mode: "orthographic" | "perspective";
5873
+ fov?: number | undefined;
5874
+ zoom?: number | undefined;
5875
+ } | undefined;
5876
+ metadata: Record<string, unknown>;
5877
+ provenance?: {
5878
+ refs: {
5879
+ ns?: string | undefined;
5880
+ id: string;
5881
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
5882
+ }[];
5883
+ lineage?: {
5884
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
5885
+ fromIds: string[];
4971
5886
  } | undefined;
4972
5887
  } | undefined;
4973
- treadMaterialPreset?: string | undefined;
4974
- sideMaterial?: {
5888
+ id: `shelf_${string}`;
5889
+ children: string[];
5890
+ position: [number, number, number];
5891
+ rotation: [number, number, number];
5892
+ supportSlabId?: string | undefined;
5893
+ width: number;
5894
+ depth: number;
5895
+ thickness: number;
5896
+ height: number;
5897
+ style: "bookshelf" | "cubby" | "open-rack" | "wall-shelf";
5898
+ rows: number;
5899
+ columns: number;
5900
+ withBack: boolean;
5901
+ withSides: boolean;
5902
+ withBottom: boolean;
5903
+ bracketStyle: "hidden" | "industrial" | "minimal";
5904
+ material?: {
4975
5905
  id?: string | undefined;
4976
5906
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
4977
5907
  properties?: {
@@ -4986,75 +5916,16 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
4986
5916
  url: string;
4987
5917
  repeat?: [number, number] | undefined;
4988
5918
  scale?: number | undefined;
5919
+ offset?: [number, number] | undefined;
5920
+ normalMap?: string | undefined;
5921
+ normalScale?: number | undefined;
5922
+ bumpMap?: string | undefined;
5923
+ bumpScale?: number | undefined;
4989
5924
  } | undefined;
4990
5925
  } | undefined;
4991
- sideMaterialPreset?: string | undefined;
5926
+ materialPreset?: string | undefined;
4992
5927
  slots?: Record<string, string> | undefined;
4993
- position: [number, number, number];
4994
- rotation: number;
4995
- supportSlabId?: string | undefined;
4996
- stairType: "curved" | "spiral" | "straight";
4997
- fromLevelId: string | null;
4998
- toLevelId: string | null;
4999
- deckSlabId?: string | undefined;
5000
- slabOpeningMode: "destination" | "none";
5001
- openingOffset: number;
5002
- width: number;
5003
- totalRise?: number | undefined;
5004
- designTargets?: {
5005
- maxRiserHeight: number;
5006
- minimumGoing: number;
5007
- targetGoing: number;
5008
- minimumHeadroom: number;
5009
- } | undefined;
5010
- uniformRisers?: boolean | undefined;
5011
- stepCount: number;
5012
- autoSurfaceSnap?: boolean | undefined;
5013
- destinationSurfaceId?: string | undefined;
5014
- thickness: number;
5015
- fillToFloor: boolean;
5016
- construction?: {
5017
- mode: "center-stringer" | "open" | "side-stringers" | "solid" | "waist";
5018
- waistThickness: number;
5019
- treadThickness: number;
5020
- riserThickness: number;
5021
- nosing: number;
5022
- finishThickness: number;
5023
- closedRisers: boolean;
5024
- stringerWidth: number;
5025
- stringerDepth: number;
5026
- } | undefined;
5027
- innerRadius: number;
5028
- sweepAngle: number;
5029
- topLandingMode: "integrated" | "none";
5030
- topLandingDepth: number;
5031
- showCenterColumn: boolean;
5032
- showStepSupports: boolean;
5033
- railingMode: "both" | "left" | "none" | "right";
5034
- railingHeight: number;
5035
- railingStyle?: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail" | undefined;
5036
- railingPath?: "continuous" | "original" | undefined;
5037
- handrail?: {
5038
- mode: "both" | "left" | "none" | "right";
5039
- height: number;
5040
- diameter: number;
5041
- offset: number;
5042
- bottom?: {
5043
- extension: number;
5044
- return: "floor" | "none" | "post" | "wall";
5045
- returnLength: number;
5046
- } | undefined;
5047
- top?: {
5048
- extension: number;
5049
- return: "floor" | "none" | "post" | "wall";
5050
- returnLength: number;
5051
- } | undefined;
5052
- } | undefined;
5053
- railingTopPost?: boolean | undefined;
5054
- railingTopReach?: number | undefined;
5055
- railingPostThrough?: boolean | undefined;
5056
- children: `sseg_${string}`[];
5057
- type: "stair";
5928
+ type: "shelf";
5058
5929
  } | {
5059
5930
  object: "node";
5060
5931
  name?: string | undefined;
@@ -5079,20 +5950,29 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5079
5950
  fromIds: string[];
5080
5951
  } | undefined;
5081
5952
  } | undefined;
5082
- id: `scan_${string}`;
5083
- url: string | null;
5084
- captureSession: {
5085
- sessionId: string;
5086
- schemaVersion?: number | undefined;
5087
- revisionId?: string | undefined;
5088
- manifestUrl?: string | undefined;
5089
- } | null;
5090
- layers: Record<string, boolean>;
5953
+ id: `duct-fitting_${string}`;
5091
5954
  position: [number, number, number];
5092
5955
  rotation: [number, number, number];
5093
- scale: number;
5094
- opacity: number;
5095
- type: "scan";
5956
+ fittingType: "access-panel" | "coupling" | "cross" | "damper" | "elbow" | "end-cap" | "reducer" | "tee" | "transition";
5957
+ shape: "oval" | "rect" | "round";
5958
+ inletShape?: "oval" | "rect" | "round" | undefined;
5959
+ outletShape?: "oval" | "rect" | "round" | undefined;
5960
+ width: number;
5961
+ height: number;
5962
+ shape2: "oval" | "rect" | "round";
5963
+ width2: number;
5964
+ height2: number;
5965
+ angle: number;
5966
+ branchAngle: number;
5967
+ diameter: number;
5968
+ diameter2: number;
5969
+ ductMaterial: "duct-board" | "flex" | "sheet-metal";
5970
+ system: "return" | "supply";
5971
+ damperAngle: number;
5972
+ panelWidth: number;
5973
+ panelHeight: number;
5974
+ slots?: Record<string, string> | undefined;
5975
+ type: "duct-fitting";
5096
5976
  } | {
5097
5977
  object: "node";
5098
5978
  name?: string | undefined;
@@ -5117,89 +5997,19 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5117
5997
  fromIds: string[];
5118
5998
  } | undefined;
5119
5999
  } | undefined;
5120
- id: `measurement_${string}`;
5121
- measurement: {
5122
- kind: "distance";
5123
- points: [{
5124
- kind: "feature";
5125
- reference: {
5126
- nodeId: string;
5127
- featureId: string;
5128
- parameters?: Record<string, string | number | boolean> | undefined;
5129
- };
5130
- fallback: [number, number, number];
5131
- } | [number, number, number], {
5132
- kind: "feature";
5133
- reference: {
5134
- nodeId: string;
5135
- featureId: string;
5136
- parameters?: Record<string, string | number | boolean> | undefined;
5137
- };
5138
- fallback: [number, number, number];
5139
- } | [number, number, number]];
5140
- } | {
5141
- kind: "angle";
5142
- points: [{
5143
- kind: "feature";
5144
- reference: {
5145
- nodeId: string;
5146
- featureId: string;
5147
- parameters?: Record<string, string | number | boolean> | undefined;
5148
- };
5149
- fallback: [number, number, number];
5150
- } | [number, number, number], {
5151
- kind: "feature";
5152
- reference: {
5153
- nodeId: string;
5154
- featureId: string;
5155
- parameters?: Record<string, string | number | boolean> | undefined;
5156
- };
5157
- fallback: [number, number, number];
5158
- } | [number, number, number], {
5159
- kind: "feature";
5160
- reference: {
5161
- nodeId: string;
5162
- featureId: string;
5163
- parameters?: Record<string, string | number | boolean> | undefined;
5164
- };
5165
- fallback: [number, number, number];
5166
- } | [number, number, number]];
5167
- } | {
5168
- kind: "area";
5169
- base: ({
5170
- kind: "feature";
5171
- reference: {
5172
- nodeId: string;
5173
- featureId: string;
5174
- parameters?: Record<string, string | number | boolean> | undefined;
5175
- };
5176
- fallback: [number, number, number];
5177
- } | [number, number, number])[];
5178
- } | {
5179
- kind: "perimeter";
5180
- base: ({
5181
- kind: "feature";
5182
- reference: {
5183
- nodeId: string;
5184
- featureId: string;
5185
- parameters?: Record<string, string | number | boolean> | undefined;
5186
- };
5187
- fallback: [number, number, number];
5188
- } | [number, number, number])[];
5189
- } | {
5190
- kind: "volume";
5191
- base: ({
5192
- kind: "feature";
5193
- reference: {
5194
- nodeId: string;
5195
- featureId: string;
5196
- parameters?: Record<string, string | number | boolean> | undefined;
5197
- };
5198
- fallback: [number, number, number];
5199
- } | [number, number, number])[];
5200
- extrusion: [number, number, number];
5201
- };
5202
- type: "measurement";
6000
+ id: `duct-terminal_${string}`;
6001
+ position: [number, number, number];
6002
+ rotation: number;
6003
+ supportSlabId?: string | undefined;
6004
+ terminalType: "diffuser" | "return-grille" | "supply-register";
6005
+ mount: "ceiling" | "floor" | "wall";
6006
+ width: number;
6007
+ depth: number;
6008
+ collarShape: "oval" | "rect" | "round";
6009
+ collarDiameter: number;
6010
+ collarWidth: number;
6011
+ collarHeight: number;
6012
+ type: "duct-terminal";
5203
6013
  } | {
5204
6014
  object: "node";
5205
6015
  name?: string | undefined;
@@ -5224,11 +6034,51 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5224
6034
  fromIds: string[];
5225
6035
  } | undefined;
5226
6036
  } | undefined;
5227
- id: `spawn_${string}`;
6037
+ id: `hvac-equipment_${string}`;
5228
6038
  position: [number, number, number];
5229
6039
  rotation: number;
5230
6040
  supportSlabId?: string | undefined;
5231
- type: "spawn";
6041
+ equipmentType: "air-handler" | "condenser" | "furnace";
6042
+ width: number;
6043
+ depth: number;
6044
+ height: number;
6045
+ supplyShape: "oval" | "rect" | "round";
6046
+ returnShape: "oval" | "rect" | "round";
6047
+ supplyDiameter: number;
6048
+ returnDiameter: number;
6049
+ supplyWidth: number;
6050
+ supplyHeight: number;
6051
+ returnWidth: number;
6052
+ returnHeight: number;
6053
+ type: "hvac-equipment";
6054
+ } | {
6055
+ object: "node";
6056
+ name?: string | undefined;
6057
+ parentId: string | null;
6058
+ visible: boolean;
6059
+ camera?: {
6060
+ position: [number, number, number];
6061
+ target: [number, number, number];
6062
+ mode: "orthographic" | "perspective";
6063
+ fov?: number | undefined;
6064
+ zoom?: number | undefined;
6065
+ } | undefined;
6066
+ metadata: Record<string, unknown>;
6067
+ provenance?: {
6068
+ refs: {
6069
+ ns?: string | undefined;
6070
+ id: string;
6071
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
6072
+ }[];
6073
+ lineage?: {
6074
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
6075
+ fromIds: string[];
6076
+ } | undefined;
6077
+ } | undefined;
6078
+ id: `liquid-line_${string}`;
6079
+ path: [number, number, number][];
6080
+ diameter: number;
6081
+ type: "liquid-line";
5232
6082
  } | {
5233
6083
  object: "node";
5234
6084
  name?: string | undefined;
@@ -5253,7 +6103,7 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5253
6103
  fromIds: string[];
5254
6104
  } | undefined;
5255
6105
  } | undefined;
5256
- id: `duct-segment_${string}`;
6106
+ id: `pipe-segment_${string}`;
5257
6107
  path: [number, number, number][];
5258
6108
  autoHangers?: boolean | undefined;
5259
6109
  hangerOverrides?: Record<string, {
@@ -5271,18 +6121,10 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5271
6121
  endUV: [number, number];
5272
6122
  offset: number;
5273
6123
  } | undefined;
5274
- shape: "oval" | "rect" | "round";
5275
6124
  diameter: number;
5276
- width: number;
5277
- height: number;
5278
- roll: number;
5279
- ductMaterial: "duct-board" | "flex" | "sheet-metal" | "spiral";
5280
- seamDetail: boolean;
5281
- insulated: boolean;
5282
- insulationR: number;
5283
- system: "return" | "supply";
5284
- slots?: Record<string, string> | undefined;
5285
- type: "duct-segment";
6125
+ pipeMaterial: "abs" | "cast-iron" | "pvc";
6126
+ system: "vent" | "waste";
6127
+ type: "pipe-segment";
5286
6128
  } | {
5287
6129
  object: "node";
5288
6130
  name?: string | undefined;
@@ -5307,29 +6149,17 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5307
6149
  fromIds: string[];
5308
6150
  } | undefined;
5309
6151
  } | undefined;
5310
- id: `duct-fitting_${string}`;
6152
+ id: `pipe-fitting_${string}`;
5311
6153
  position: [number, number, number];
5312
6154
  rotation: [number, number, number];
5313
- fittingType: "access-panel" | "coupling" | "cross" | "damper" | "elbow" | "end-cap" | "reducer" | "tee" | "transition";
5314
- shape: "oval" | "rect" | "round";
5315
- inletShape?: "oval" | "rect" | "round" | undefined;
5316
- outletShape?: "oval" | "rect" | "round" | undefined;
5317
- width: number;
5318
- height: number;
5319
- shape2: "oval" | "rect" | "round";
5320
- width2: number;
5321
- height2: number;
6155
+ fittingType: "cleanout" | "coupling" | "cross" | "elbow" | "end-cap" | "reducer" | "sanitary-tee" | "wye";
5322
6156
  angle: number;
5323
- branchAngle: number;
5324
6157
  diameter: number;
5325
6158
  diameter2: number;
5326
- ductMaterial: "duct-board" | "flex" | "sheet-metal";
5327
- system: "return" | "supply";
5328
- damperAngle: number;
5329
- panelWidth: number;
5330
- panelHeight: number;
5331
- slots?: Record<string, string> | undefined;
5332
- type: "duct-fitting";
6159
+ cleanoutStyle: "end" | "inline";
6160
+ pipeMaterial: "abs" | "cast-iron" | "pvc";
6161
+ system: "vent" | "waste";
6162
+ type: "pipe-fitting";
5333
6163
  } | {
5334
6164
  object: "node";
5335
6165
  name?: string | undefined;
@@ -5354,23 +6184,12 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5354
6184
  fromIds: string[];
5355
6185
  } | undefined;
5356
6186
  } | undefined;
5357
- id: `hvac-equipment_${string}`;
5358
- position: [number, number, number];
5359
- rotation: number;
5360
- supportSlabId?: string | undefined;
5361
- equipmentType: "air-handler" | "condenser" | "furnace";
5362
- width: number;
5363
- depth: number;
5364
- height: number;
5365
- supplyShape: "oval" | "rect" | "round";
5366
- returnShape: "oval" | "rect" | "round";
5367
- supplyDiameter: number;
5368
- returnDiameter: number;
5369
- supplyWidth: number;
5370
- supplyHeight: number;
5371
- returnWidth: number;
5372
- returnHeight: number;
5373
- type: "hvac-equipment";
6187
+ id: `level_${string}`;
6188
+ children: (`beam_${string}` | `block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
6189
+ level: number;
6190
+ baseElevation: number;
6191
+ height?: number | undefined;
6192
+ type: "level";
5374
6193
  } | {
5375
6194
  object: "node";
5376
6195
  name?: string | undefined;
@@ -5395,15 +6214,56 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5395
6214
  fromIds: string[];
5396
6215
  } | undefined;
5397
6216
  } | undefined;
5398
- id: `lineset_${string}`;
5399
- path: [number, number, number][];
5400
- suctionDiameter: number;
5401
- liquidDiameter: number;
5402
- insulated: boolean;
5403
- type: "lineset";
6217
+ id: `elevator_${string}`;
6218
+ material?: {
6219
+ id?: string | undefined;
6220
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6221
+ properties?: {
6222
+ color: string;
6223
+ roughness: number;
6224
+ metalness: number;
6225
+ opacity: number;
6226
+ transparent: boolean;
6227
+ side: "back" | "double" | "front";
6228
+ } | undefined;
6229
+ texture?: {
6230
+ url: string;
6231
+ repeat?: [number, number] | undefined;
6232
+ scale?: number | undefined;
6233
+ offset?: [number, number] | undefined;
6234
+ normalMap?: string | undefined;
6235
+ normalScale?: number | undefined;
6236
+ bumpMap?: string | undefined;
6237
+ bumpScale?: number | undefined;
6238
+ } | undefined;
6239
+ } | undefined;
6240
+ materialPreset?: string | undefined;
6241
+ slots?: Record<string, string> | undefined;
6242
+ position: [number, number, number];
6243
+ rotation: number;
6244
+ width: number;
6245
+ depth: number;
6246
+ shaftWidth?: number | undefined;
6247
+ shaftDepth?: number | undefined;
6248
+ shaftWallThickness: number;
6249
+ shaftStyle: "glass" | "solid";
6250
+ cabHeight: number;
6251
+ doorWidth: number;
6252
+ doorHeight: number;
6253
+ doorStyle: "center-opening" | "single-left" | "single-right";
6254
+ doorPanelStyle: "glass-frame" | "segmented-panel" | "solid-panel";
6255
+ fromLevelId: string | null;
6256
+ toLevelId: string | null;
6257
+ servedLevelIds?: string[] | undefined;
6258
+ disabledLevelIds: string[];
6259
+ serviceOnlyLevelIds: string[];
6260
+ defaultLevelId: string | null;
6261
+ speed: number;
6262
+ doorDurationMs: number;
6263
+ dwellMs: number;
6264
+ type: "elevator";
5404
6265
  } | {
5405
6266
  object: "node";
5406
- name?: string | undefined;
5407
6267
  parentId: string | null;
5408
6268
  visible: boolean;
5409
6269
  camera?: {
@@ -5413,7 +6273,6 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5413
6273
  fov?: number | undefined;
5414
6274
  zoom?: number | undefined;
5415
6275
  } | undefined;
5416
- metadata: Record<string, unknown>;
5417
6276
  provenance?: {
5418
6277
  refs: {
5419
6278
  ns?: string | undefined;
@@ -5425,28 +6284,13 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5425
6284
  fromIds: string[];
5426
6285
  } | undefined;
5427
6286
  } | undefined;
5428
- id: `pipe-segment_${string}`;
5429
- path: [number, number, number][];
5430
- autoHangers?: boolean | undefined;
5431
- hangerOverrides?: Record<string, {
5432
- fraction?: number | undefined;
5433
- skipped?: boolean | undefined;
5434
- hostId?: string | undefined;
5435
- }> | undefined;
5436
- hangerStyle?: "double" | "single" | undefined;
5437
- hangerSpacing?: number | undefined;
5438
- hangerMaxReach?: number | undefined;
5439
- wallAttachment?: {
5440
- wallId: `wall_${string}`;
5441
- side: "back" | "front";
5442
- startUV: [number, number];
5443
- endUV: [number, number];
5444
- offset: number;
5445
- } | undefined;
5446
- diameter: number;
5447
- pipeMaterial: "abs" | "cast-iron" | "pvc";
5448
- system: "vent" | "waste";
5449
- type: "pipe-segment";
6287
+ id: `unit_${string}`;
6288
+ name: string;
6289
+ kind: "apartment" | "commercial" | "common" | "hotel-room";
6290
+ members: `zone_${string}`[];
6291
+ color: string;
6292
+ metadata: Record<string, unknown>;
6293
+ type: "unit";
5450
6294
  } | {
5451
6295
  object: "node";
5452
6296
  name?: string | undefined;
@@ -5471,17 +6315,12 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5471
6315
  fromIds: string[];
5472
6316
  } | undefined;
5473
6317
  } | undefined;
5474
- id: `pipe-fitting_${string}`;
6318
+ id: `building_${string}`;
6319
+ children: (`elevator_${string}` | `level_${string}` | `unit_${string}`)[];
5475
6320
  position: [number, number, number];
5476
6321
  rotation: [number, number, number];
5477
- fittingType: "cleanout" | "coupling" | "cross" | "elbow" | "end-cap" | "reducer" | "sanitary-tee" | "wye";
5478
- angle: number;
5479
- diameter: number;
5480
- diameter2: number;
5481
- cleanoutStyle: "end" | "inline";
5482
- pipeMaterial: "abs" | "cast-iron" | "pvc";
5483
- system: "vent" | "waste";
5484
- type: "pipe-fitting";
6322
+ groundLevelId?: `level_${string}` | undefined;
6323
+ type: "building";
5485
6324
  } | {
5486
6325
  object: "node";
5487
6326
  name?: string | undefined;
@@ -5506,13 +6345,126 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5506
6345
  fromIds: string[];
5507
6346
  } | undefined;
5508
6347
  } | undefined;
5509
- id: `pipe-trap_${string}`;
6348
+ id: `dormer_${string}`;
6349
+ material?: {
6350
+ id?: string | undefined;
6351
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6352
+ properties?: {
6353
+ color: string;
6354
+ roughness: number;
6355
+ metalness: number;
6356
+ opacity: number;
6357
+ transparent: boolean;
6358
+ side: "back" | "double" | "front";
6359
+ } | undefined;
6360
+ texture?: {
6361
+ url: string;
6362
+ repeat?: [number, number] | undefined;
6363
+ scale?: number | undefined;
6364
+ offset?: [number, number] | undefined;
6365
+ normalMap?: string | undefined;
6366
+ normalScale?: number | undefined;
6367
+ bumpMap?: string | undefined;
6368
+ bumpScale?: number | undefined;
6369
+ } | undefined;
6370
+ } | undefined;
6371
+ materialPreset?: string | undefined;
6372
+ topMaterial?: {
6373
+ id?: string | undefined;
6374
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6375
+ properties?: {
6376
+ color: string;
6377
+ roughness: number;
6378
+ metalness: number;
6379
+ opacity: number;
6380
+ transparent: boolean;
6381
+ side: "back" | "double" | "front";
6382
+ } | undefined;
6383
+ texture?: {
6384
+ url: string;
6385
+ repeat?: [number, number] | undefined;
6386
+ scale?: number | undefined;
6387
+ offset?: [number, number] | undefined;
6388
+ normalMap?: string | undefined;
6389
+ normalScale?: number | undefined;
6390
+ bumpMap?: string | undefined;
6391
+ bumpScale?: number | undefined;
6392
+ } | undefined;
6393
+ } | undefined;
6394
+ topMaterialPreset?: string | undefined;
6395
+ sideMaterial?: {
6396
+ id?: string | undefined;
6397
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6398
+ properties?: {
6399
+ color: string;
6400
+ roughness: number;
6401
+ metalness: number;
6402
+ opacity: number;
6403
+ transparent: boolean;
6404
+ side: "back" | "double" | "front";
6405
+ } | undefined;
6406
+ texture?: {
6407
+ url: string;
6408
+ repeat?: [number, number] | undefined;
6409
+ scale?: number | undefined;
6410
+ offset?: [number, number] | undefined;
6411
+ normalMap?: string | undefined;
6412
+ normalScale?: number | undefined;
6413
+ bumpMap?: string | undefined;
6414
+ bumpScale?: number | undefined;
6415
+ } | undefined;
6416
+ } | undefined;
6417
+ sideMaterialPreset?: string | undefined;
6418
+ wallMaterial?: {
6419
+ id?: string | undefined;
6420
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6421
+ properties?: {
6422
+ color: string;
6423
+ roughness: number;
6424
+ metalness: number;
6425
+ opacity: number;
6426
+ transparent: boolean;
6427
+ side: "back" | "double" | "front";
6428
+ } | undefined;
6429
+ texture?: {
6430
+ url: string;
6431
+ repeat?: [number, number] | undefined;
6432
+ scale?: number | undefined;
6433
+ offset?: [number, number] | undefined;
6434
+ normalMap?: string | undefined;
6435
+ normalScale?: number | undefined;
6436
+ bumpMap?: string | undefined;
6437
+ bumpScale?: number | undefined;
6438
+ } | undefined;
6439
+ } | undefined;
6440
+ wallMaterialPreset?: string | undefined;
6441
+ roofSegmentId?: string | undefined;
5510
6442
  position: [number, number, number];
5511
6443
  rotation: number;
5512
- diameter: number;
5513
- pipeMaterial: "abs" | "cast-iron" | "pvc";
5514
- armLengthM: number;
5515
- type: "pipe-trap";
6444
+ width: number;
6445
+ depth: number;
6446
+ height: number;
6447
+ roofType: "barrel" | "conical" | "dutch" | "flat" | "gable" | "gambrel" | "hip" | "mansard" | "shed";
6448
+ roofHeight: number;
6449
+ shedHighSide: "back" | "front";
6450
+ wallSkirtHeight: number;
6451
+ windowWidth: number;
6452
+ windowHeight: number;
6453
+ windowOffsetX: number;
6454
+ windowOffsetY: number;
6455
+ windowFrameThickness: number;
6456
+ windowFrameDepth: number;
6457
+ windowColumns: number;
6458
+ windowRows: number;
6459
+ windowDividerThickness: number;
6460
+ windowShape: "arch" | "rectangle" | "rounded";
6461
+ windowArchHeight: number;
6462
+ windowCornerRadii: [number, number, number, number];
6463
+ windowSill: boolean;
6464
+ windowSillDepth: number;
6465
+ windowSillThickness: number;
6466
+ children: `window_${string}`[];
6467
+ type: "dormer";
5516
6468
  } | {
5517
6469
  object: "node";
5518
6470
  name?: string | undefined;
@@ -5537,12 +6489,77 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5537
6489
  fromIds: string[];
5538
6490
  } | undefined;
5539
6491
  } | undefined;
5540
- id: `level_${string}`;
5541
- children: (`block_${string}` | `ceiling_${string}` | `column_${string}` | `construction-dimension_${string}` | `duct-fitting_${string}` | `duct-segment_${string}` | `duct-terminal_${string}` | `fence_${string}` | `floor-opening_${string}` | `guide_${string}` | `hvac-equipment_${string}` | `imesh_${string}` | `item_${string}` | `lineset_${string}` | `liquid-line_${string}` | `measurement_${string}` | `pipe-fitting_${string}` | `pipe-segment_${string}` | `pipe-trap_${string}` | `procedural-item_${string}` | `roof_${string}` | `scan_${string}` | `separator_${string}` | `shelf_${string}` | `slab_${string}` | `spawn_${string}` | `stair_${string}` | `structural-grid_${string}` | `wall_${string}` | `zone_${string}`)[];
5542
- level: number;
5543
- baseElevation: number;
5544
- height?: number | undefined;
5545
- type: "level";
6492
+ id: `skylight_${string}`;
6493
+ material?: {
6494
+ id?: string | undefined;
6495
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6496
+ properties?: {
6497
+ color: string;
6498
+ roughness: number;
6499
+ metalness: number;
6500
+ opacity: number;
6501
+ transparent: boolean;
6502
+ side: "back" | "double" | "front";
6503
+ } | undefined;
6504
+ texture?: {
6505
+ url: string;
6506
+ repeat?: [number, number] | undefined;
6507
+ scale?: number | undefined;
6508
+ offset?: [number, number] | undefined;
6509
+ normalMap?: string | undefined;
6510
+ normalScale?: number | undefined;
6511
+ bumpMap?: string | undefined;
6512
+ bumpScale?: number | undefined;
6513
+ } | undefined;
6514
+ } | undefined;
6515
+ materialPreset?: string | undefined;
6516
+ glassMaterial?: {
6517
+ id?: string | undefined;
6518
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6519
+ properties?: {
6520
+ color: string;
6521
+ roughness: number;
6522
+ metalness: number;
6523
+ opacity: number;
6524
+ transparent: boolean;
6525
+ side: "back" | "double" | "front";
6526
+ } | undefined;
6527
+ texture?: {
6528
+ url: string;
6529
+ repeat?: [number, number] | undefined;
6530
+ scale?: number | undefined;
6531
+ offset?: [number, number] | undefined;
6532
+ normalMap?: string | undefined;
6533
+ normalScale?: number | undefined;
6534
+ bumpMap?: string | undefined;
6535
+ bumpScale?: number | undefined;
6536
+ } | undefined;
6537
+ } | undefined;
6538
+ glassMaterialPreset?: string | undefined;
6539
+ roofSegmentId?: string | undefined;
6540
+ position: [number, number, number];
6541
+ rotation: number;
6542
+ width: number;
6543
+ height: number;
6544
+ frameThickness: number;
6545
+ frameDepth: number;
6546
+ skylightType: "flat" | "lantern" | "opening" | "sliding" | "walk-on";
6547
+ glassThickness: number;
6548
+ lanternHeight: number;
6549
+ lanternTopScale: number;
6550
+ openingAngle: number;
6551
+ openingSide: "bottom" | "left" | "right" | "top";
6552
+ operationState: number;
6553
+ motorHousing: boolean;
6554
+ slideFraction: number;
6555
+ slideDirection: "x" | "z";
6556
+ trackWidth: number;
6557
+ motorHousingSize: number;
6558
+ curb: boolean;
6559
+ curbHeight: number;
6560
+ cutoutOffset: number;
6561
+ surfaceNormal?: [number, number, number] | undefined;
6562
+ type: "skylight";
5546
6563
  } | {
5547
6564
  object: "node";
5548
6565
  name?: string | undefined;
@@ -5567,49 +6584,243 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5567
6584
  fromIds: string[];
5568
6585
  } | undefined;
5569
6586
  } | undefined;
5570
- id: `elevator_${string}`;
5571
- material?: {
5572
- id?: string | undefined;
5573
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
5574
- properties?: {
5575
- color: string;
5576
- roughness: number;
5577
- metalness: number;
5578
- opacity: number;
5579
- transparent: boolean;
5580
- side: "back" | "double" | "front";
6587
+ id: `site_${string}`;
6588
+ polygon: {
6589
+ type: "polygon";
6590
+ points: [number, number][];
6591
+ };
6592
+ terrain?: {
6593
+ type: "heightfield";
6594
+ origin: [number, number];
6595
+ spacing: number;
6596
+ cols: number;
6597
+ rows: number;
6598
+ step: number;
6599
+ heights: string;
6600
+ } | undefined;
6601
+ showGround?: boolean | undefined;
6602
+ presentation?: {
6603
+ theme?: string | undefined;
6604
+ exposure?: number | undefined;
6605
+ shading?: "rendered" | "solid" | undefined;
6606
+ edges?: "off" | "soft" | "strong" | undefined;
6607
+ shadows?: boolean | undefined;
6608
+ lighting?: {
6609
+ background?: string | undefined;
6610
+ backgroundSky?: string | null | undefined;
6611
+ ground?: string | undefined;
6612
+ ambient?: {
6613
+ color: string;
6614
+ intensity: number;
6615
+ } | undefined;
6616
+ hemi?: {
6617
+ sky: string;
6618
+ ground: string;
6619
+ intensity: number;
6620
+ } | undefined;
6621
+ lights?: {
6622
+ color: string;
6623
+ intensity: number;
6624
+ position: [number, number, number];
6625
+ target?: [number, number, number] | undefined;
6626
+ castShadow?: boolean | undefined;
6627
+ shadow?: {
6628
+ intensity?: number | undefined;
6629
+ bias?: number | undefined;
6630
+ normalBias?: number | undefined;
6631
+ radius?: number | undefined;
6632
+ mapSize?: 512 | 1024 | 2048 | 4096 | undefined;
6633
+ camera?: {
6634
+ left: number;
6635
+ right: number;
6636
+ top: number;
6637
+ bottom: number;
6638
+ near: number;
6639
+ far: number;
6640
+ } | undefined;
6641
+ } | undefined;
6642
+ }[] | undefined;
6643
+ environment?: {
6644
+ source: "gradient" | "none" | "room";
6645
+ intensity: number;
6646
+ } | undefined;
5581
6647
  } | undefined;
5582
- texture?: {
5583
- url: string;
5584
- repeat?: [number, number] | undefined;
5585
- scale?: number | undefined;
6648
+ postprocessing?: {
6649
+ ambientOcclusion?: boolean | undefined;
6650
+ colorGrading?: boolean | undefined;
6651
+ } | undefined;
6652
+ display?: {
6653
+ mode?: "construction" | "finished" | "systems" | undefined;
6654
+ families?: Partial<Record<"device" | "exposed-structure" | "fill" | "finish" | "foundation" | "framing" | "inspection" | "insulation" | "masonry" | "membrane" | "run" | "service-space" | "sheathing", boolean>> | undefined;
6655
+ disciplines?: Partial<Record<"electrical" | "fire" | "low-voltage" | "mechanical" | "plumbing", boolean>> | undefined;
6656
+ xray?: boolean | undefined;
6657
+ colorBy?: "material" | "service" | undefined;
6658
+ } | undefined;
6659
+ } | undefined;
6660
+ address?: {
6661
+ street?: string | undefined;
6662
+ city?: string | undefined;
6663
+ state?: string | undefined;
6664
+ zip?: string | undefined;
6665
+ } | undefined;
6666
+ parcel?: {
6667
+ apn?: string | undefined;
6668
+ source?: string | undefined;
6669
+ county?: string | undefined;
6670
+ state?: string | undefined;
6671
+ lotAreaSqFt?: number | undefined;
6672
+ originLngLat?: [number, number] | undefined;
6673
+ resolvedAt?: string | undefined;
6674
+ layer?: string | undefined;
6675
+ notes?: string[] | undefined;
6676
+ } | undefined;
6677
+ setbacks?: {
6678
+ front: number;
6679
+ side: number;
6680
+ rear: number;
6681
+ left?: number | undefined;
6682
+ right?: number | undefined;
6683
+ streetSide?: number | undefined;
6684
+ } | undefined;
6685
+ setbacksSource?: string | undefined;
6686
+ zone?: string | undefined;
6687
+ frontEdge?: number | undefined;
6688
+ streetEdges?: number[] | undefined;
6689
+ sightTriangleFt?: number | undefined;
6690
+ northRotation?: number | undefined;
6691
+ dossier?: {
6692
+ [x: string]: unknown;
6693
+ provider: string;
6694
+ asOf: string;
6695
+ point?: {
6696
+ lat?: number | undefined;
6697
+ lng?: number | undefined;
6698
+ source?: string | undefined;
6699
+ } | undefined;
6700
+ address?: {
6701
+ formatted?: string | undefined;
6702
+ precision?: string | undefined;
6703
+ } | undefined;
6704
+ sections: Record<string, {
6705
+ [x: string]: unknown;
6706
+ status: string;
6707
+ summary?: string | undefined;
6708
+ reason?: string | undefined;
6709
+ source?: {
6710
+ name?: string | undefined;
6711
+ kind?: string | undefined;
6712
+ vintage?: string | undefined;
6713
+ attribution?: string | undefined;
6714
+ } | undefined;
6715
+ }>;
6716
+ parcel?: Record<string, unknown> | undefined;
6717
+ flood?: Record<string, unknown> | undefined;
6718
+ codeBasis?: Record<string, unknown> | undefined;
6719
+ zoning?: Record<string, unknown> | undefined;
6720
+ utilities?: Record<string, unknown> | undefined;
6721
+ soils?: Record<string, unknown> | undefined;
6722
+ wetlands?: Record<string, unknown> | undefined;
6723
+ structures?: Record<string, unknown> | undefined;
6724
+ elevation?: Record<string, unknown> | undefined;
6725
+ boundaries?: Record<string, unknown> | undefined;
6726
+ } | undefined;
6727
+ contourIntervalIn?: number | undefined;
6728
+ contours3d?: boolean | undefined;
6729
+ terrainContours?: {
6730
+ datum: string;
6731
+ intervalFt: number;
6732
+ source?: string | undefined;
6733
+ lines: {
6734
+ elevationFt: number;
6735
+ points: [number, number][];
6736
+ }[];
6737
+ } | undefined;
6738
+ wallTypes?: {
6739
+ id: string;
6740
+ label: string;
6741
+ assembly: {
6742
+ layers: {
6743
+ id: string;
6744
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
6745
+ thickness: number;
6746
+ core?: true | undefined;
6747
+ spacing?: number | undefined;
6748
+ material?: string | undefined;
6749
+ slot?: string | undefined;
6750
+ returns?: boolean | undefined;
6751
+ display?: "construction" | "finished" | undefined;
6752
+ inset?: number | undefined;
6753
+ bottom?: number | undefined;
6754
+ lift?: number | undefined;
6755
+ src?: string | undefined;
6756
+ }[];
6757
+ backing?: {
6758
+ id: string;
6759
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
6760
+ thickness: number;
6761
+ core?: true | undefined;
6762
+ spacing?: number | undefined;
6763
+ material?: string | undefined;
6764
+ slot?: string | undefined;
6765
+ returns?: boolean | undefined;
6766
+ display?: "construction" | "finished" | undefined;
6767
+ inset?: number | undefined;
6768
+ bottom?: number | undefined;
6769
+ lift?: number | undefined;
6770
+ src?: string | undefined;
6771
+ }[] | undefined;
6772
+ face?: "exterior" | "front" | undefined;
6773
+ presetId?: string | undefined;
6774
+ cavityInsulation?: string | undefined;
6775
+ };
6776
+ }[] | undefined;
6777
+ children: string[];
6778
+ type: "site";
6779
+ } | {
6780
+ object: "node";
6781
+ name?: string | undefined;
6782
+ parentId: string | null;
6783
+ visible: boolean;
6784
+ camera?: {
6785
+ position: [number, number, number];
6786
+ target: [number, number, number];
6787
+ mode: "orthographic" | "perspective";
6788
+ fov?: number | undefined;
6789
+ zoom?: number | undefined;
6790
+ } | undefined;
6791
+ metadata: Record<string, unknown>;
6792
+ provenance?: {
6793
+ refs: {
6794
+ ns?: string | undefined;
6795
+ id: string;
6796
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
6797
+ }[];
6798
+ lineage?: {
6799
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
6800
+ fromIds: string[];
5586
6801
  } | undefined;
5587
6802
  } | undefined;
5588
- materialPreset?: string | undefined;
5589
- slots?: Record<string, string> | undefined;
5590
- position: [number, number, number];
5591
- rotation: number;
6803
+ matchFenceStyle?: boolean | undefined;
6804
+ matchFenceHeight?: boolean | undefined;
6805
+ leafType?: "double" | "single" | undefined;
6806
+ style?: "guard" | "horizontal" | "match" | "picket" | "privacy" | "rail" | "slat" | undefined;
6807
+ height?: number | undefined;
6808
+ clearance?: number | undefined;
6809
+ thickness?: number | undefined;
6810
+ frameWidth?: number | undefined;
6811
+ spacing?: number | undefined;
6812
+ boardWidth?: number | undefined;
6813
+ hinge?: "left" | "right" | undefined;
6814
+ swing?: "inward" | "outward" | undefined;
6815
+ openAngle?: number | undefined;
6816
+ leafSplit?: number | undefined;
6817
+ brace?: "cross" | "diagonal" | "none" | undefined;
6818
+ showHardware?: boolean | undefined;
6819
+ showPosts?: boolean | undefined;
6820
+ id: `fence-gate_${string}`;
6821
+ center: number;
5592
6822
  width: number;
5593
- depth: number;
5594
- shaftWidth?: number | undefined;
5595
- shaftDepth?: number | undefined;
5596
- shaftWallThickness: number;
5597
- shaftStyle: "glass" | "solid";
5598
- cabHeight: number;
5599
- doorWidth: number;
5600
- doorHeight: number;
5601
- doorStyle: "center-opening" | "single-left" | "single-right";
5602
- doorPanelStyle: "glass-frame" | "segmented-panel" | "solid-panel";
5603
- fromLevelId: string | null;
5604
- toLevelId: string | null;
5605
- servedLevelIds?: string[] | undefined;
5606
- disabledLevelIds: string[];
5607
- serviceOnlyLevelIds: string[];
5608
- defaultLevelId: string | null;
5609
- speed: number;
5610
- doorDurationMs: number;
5611
- dwellMs: number;
5612
- type: "elevator";
6823
+ type: "fence-gate";
5613
6824
  } | {
5614
6825
  object: "node";
5615
6826
  name?: string | undefined;
@@ -5634,12 +6845,14 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5634
6845
  fromIds: string[];
5635
6846
  } | undefined;
5636
6847
  } | undefined;
5637
- id: `building_${string}`;
5638
- children: (`elevator_${string}` | `level_${string}` | `unit_${string}`)[];
5639
- position: [number, number, number];
5640
- rotation: [number, number, number];
5641
- groundLevelId?: `level_${string}` | undefined;
5642
- type: "building";
6848
+ center: number;
6849
+ width: number;
6850
+ matchFenceStyle?: boolean | undefined;
6851
+ matchFenceHeight?: boolean | undefined;
6852
+ height?: number | undefined;
6853
+ showPosts: boolean;
6854
+ id: `fence-opening_${string}`;
6855
+ type: "fence-opening";
5643
6856
  } | {
5644
6857
  object: "node";
5645
6858
  name?: string | undefined;
@@ -5703,6 +6916,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5703
6916
  url: string;
5704
6917
  repeat?: [number, number] | undefined;
5705
6918
  scale?: number | undefined;
6919
+ offset?: [number, number] | undefined;
6920
+ normalMap?: string | undefined;
6921
+ normalScale?: number | undefined;
6922
+ bumpMap?: string | undefined;
6923
+ bumpScale?: number | undefined;
5706
6924
  } | undefined;
5707
6925
  } | undefined;
5708
6926
  materialPreset?: string | undefined;
@@ -5863,6 +7081,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5863
7081
  url: string;
5864
7082
  repeat?: [number, number] | undefined;
5865
7083
  scale?: number | undefined;
7084
+ offset?: [number, number] | undefined;
7085
+ normalMap?: string | undefined;
7086
+ normalScale?: number | undefined;
7087
+ bumpMap?: string | undefined;
7088
+ bumpScale?: number | undefined;
5866
7089
  } | undefined;
5867
7090
  } | undefined;
5868
7091
  materialPreset?: string | undefined;
@@ -5999,6 +7222,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
5999
7222
  url: string;
6000
7223
  repeat?: [number, number] | undefined;
6001
7224
  scale?: number | undefined;
7225
+ offset?: [number, number] | undefined;
7226
+ normalMap?: string | undefined;
7227
+ normalScale?: number | undefined;
7228
+ bumpMap?: string | undefined;
7229
+ bumpScale?: number | undefined;
6002
7230
  } | undefined;
6003
7231
  } | undefined;
6004
7232
  slots?: Record<string, string> | undefined;
@@ -6059,6 +7287,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6059
7287
  url: string;
6060
7288
  repeat?: [number, number] | undefined;
6061
7289
  scale?: number | undefined;
7290
+ offset?: [number, number] | undefined;
7291
+ normalMap?: string | undefined;
7292
+ normalScale?: number | undefined;
7293
+ bumpMap?: string | undefined;
7294
+ bumpScale?: number | undefined;
6062
7295
  } | undefined;
6063
7296
  } | undefined;
6064
7297
  materialPreset?: string | undefined;
@@ -6111,6 +7344,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6111
7344
  url: string;
6112
7345
  repeat?: [number, number] | undefined;
6113
7346
  scale?: number | undefined;
7347
+ offset?: [number, number] | undefined;
7348
+ normalMap?: string | undefined;
7349
+ normalScale?: number | undefined;
7350
+ bumpMap?: string | undefined;
7351
+ bumpScale?: number | undefined;
6114
7352
  } | undefined;
6115
7353
  } | undefined;
6116
7354
  slots?: Record<string, string> | undefined;
@@ -6126,6 +7364,64 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6126
7364
  spinSpeed: number;
6127
7365
  style: "cylinder" | "globe";
6128
7366
  type: "turbine-vent";
7367
+ } | {
7368
+ object: "node";
7369
+ name?: string | undefined;
7370
+ parentId: string | null;
7371
+ visible: boolean;
7372
+ camera?: {
7373
+ position: [number, number, number];
7374
+ target: [number, number, number];
7375
+ mode: "orthographic" | "perspective";
7376
+ fov?: number | undefined;
7377
+ zoom?: number | undefined;
7378
+ } | undefined;
7379
+ metadata: Record<string, unknown>;
7380
+ provenance?: {
7381
+ refs: {
7382
+ ns?: string | undefined;
7383
+ id: string;
7384
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
7385
+ }[];
7386
+ lineage?: {
7387
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
7388
+ fromIds: string[];
7389
+ } | undefined;
7390
+ } | undefined;
7391
+ id: `cupola_${string}`;
7392
+ material?: {
7393
+ id?: string | undefined;
7394
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
7395
+ properties?: {
7396
+ color: string;
7397
+ roughness: number;
7398
+ metalness: number;
7399
+ opacity: number;
7400
+ transparent: boolean;
7401
+ side: "back" | "double" | "front";
7402
+ } | undefined;
7403
+ texture?: {
7404
+ url: string;
7405
+ repeat?: [number, number] | undefined;
7406
+ scale?: number | undefined;
7407
+ offset?: [number, number] | undefined;
7408
+ normalMap?: string | undefined;
7409
+ normalScale?: number | undefined;
7410
+ bumpMap?: string | undefined;
7411
+ bumpScale?: number | undefined;
7412
+ } | undefined;
7413
+ } | undefined;
7414
+ slots?: Record<string, string> | undefined;
7415
+ materialPreset: string;
7416
+ roofSegmentId?: string | undefined;
7417
+ position: [number, number, number];
7418
+ rotation: number;
7419
+ width: number;
7420
+ depth: number;
7421
+ height: number;
7422
+ roofStyle: "dome" | "pyramid";
7423
+ finial: boolean;
7424
+ type: "cupola";
6129
7425
  } | {
6130
7426
  object: "node";
6131
7427
  name?: string | undefined;
@@ -6166,6 +7462,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6166
7462
  url: string;
6167
7463
  repeat?: [number, number] | undefined;
6168
7464
  scale?: number | undefined;
7465
+ offset?: [number, number] | undefined;
7466
+ normalMap?: string | undefined;
7467
+ normalScale?: number | undefined;
7468
+ bumpMap?: string | undefined;
7469
+ bumpScale?: number | undefined;
6169
7470
  } | undefined;
6170
7471
  } | undefined;
6171
7472
  slots?: Record<string, string> | undefined;
@@ -6220,6 +7521,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6220
7521
  url: string;
6221
7522
  repeat?: [number, number] | undefined;
6222
7523
  scale?: number | undefined;
7524
+ offset?: [number, number] | undefined;
7525
+ normalMap?: string | undefined;
7526
+ normalScale?: number | undefined;
7527
+ bumpMap?: string | undefined;
7528
+ bumpScale?: number | undefined;
6223
7529
  } | undefined;
6224
7530
  } | undefined;
6225
7531
  slots?: Record<string, string> | undefined;
@@ -6287,6 +7593,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6287
7593
  url: string;
6288
7594
  repeat?: [number, number] | undefined;
6289
7595
  scale?: number | undefined;
7596
+ offset?: [number, number] | undefined;
7597
+ normalMap?: string | undefined;
7598
+ normalScale?: number | undefined;
7599
+ bumpMap?: string | undefined;
7600
+ bumpScale?: number | undefined;
6290
7601
  } | undefined;
6291
7602
  } | undefined;
6292
7603
  materialPreset?: string | undefined;
@@ -6305,6 +7616,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6305
7616
  url: string;
6306
7617
  repeat?: [number, number] | undefined;
6307
7618
  scale?: number | undefined;
7619
+ offset?: [number, number] | undefined;
7620
+ normalMap?: string | undefined;
7621
+ normalScale?: number | undefined;
7622
+ bumpMap?: string | undefined;
7623
+ bumpScale?: number | undefined;
6308
7624
  } | undefined;
6309
7625
  } | undefined;
6310
7626
  topMaterialPreset?: string | undefined;
@@ -6386,6 +7702,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6386
7702
  url: string;
6387
7703
  repeat?: [number, number] | undefined;
6388
7704
  scale?: number | undefined;
7705
+ offset?: [number, number] | undefined;
7706
+ normalMap?: string | undefined;
7707
+ normalScale?: number | undefined;
7708
+ bumpMap?: string | undefined;
7709
+ bumpScale?: number | undefined;
6389
7710
  } | undefined;
6390
7711
  } | undefined;
6391
7712
  materialPreset?: string | undefined;
@@ -6404,6 +7725,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6404
7725
  url: string;
6405
7726
  repeat?: [number, number] | undefined;
6406
7727
  scale?: number | undefined;
7728
+ offset?: [number, number] | undefined;
7729
+ normalMap?: string | undefined;
7730
+ normalScale?: number | undefined;
7731
+ bumpMap?: string | undefined;
7732
+ bumpScale?: number | undefined;
6407
7733
  } | undefined;
6408
7734
  } | undefined;
6409
7735
  panelMaterialPreset?: string | undefined;
@@ -6424,130 +7750,6 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6424
7750
  frameDepth: number;
6425
7751
  surfaceNormal?: [number, number, number] | undefined;
6426
7752
  type: "solar-panel";
6427
- } | {
6428
- object: "node";
6429
- name?: string | undefined;
6430
- parentId: string | null;
6431
- visible: boolean;
6432
- camera?: {
6433
- position: [number, number, number];
6434
- target: [number, number, number];
6435
- mode: "orthographic" | "perspective";
6436
- fov?: number | undefined;
6437
- zoom?: number | undefined;
6438
- } | undefined;
6439
- metadata: Record<string, unknown>;
6440
- provenance?: {
6441
- refs: {
6442
- ns?: string | undefined;
6443
- id: string;
6444
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
6445
- }[];
6446
- lineage?: {
6447
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
6448
- fromIds: string[];
6449
- } | undefined;
6450
- } | undefined;
6451
- id: `dormer_${string}`;
6452
- material?: {
6453
- id?: string | undefined;
6454
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6455
- properties?: {
6456
- color: string;
6457
- roughness: number;
6458
- metalness: number;
6459
- opacity: number;
6460
- transparent: boolean;
6461
- side: "back" | "double" | "front";
6462
- } | undefined;
6463
- texture?: {
6464
- url: string;
6465
- repeat?: [number, number] | undefined;
6466
- scale?: number | undefined;
6467
- } | undefined;
6468
- } | undefined;
6469
- materialPreset?: string | undefined;
6470
- topMaterial?: {
6471
- id?: string | undefined;
6472
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6473
- properties?: {
6474
- color: string;
6475
- roughness: number;
6476
- metalness: number;
6477
- opacity: number;
6478
- transparent: boolean;
6479
- side: "back" | "double" | "front";
6480
- } | undefined;
6481
- texture?: {
6482
- url: string;
6483
- repeat?: [number, number] | undefined;
6484
- scale?: number | undefined;
6485
- } | undefined;
6486
- } | undefined;
6487
- topMaterialPreset?: string | undefined;
6488
- sideMaterial?: {
6489
- id?: string | undefined;
6490
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6491
- properties?: {
6492
- color: string;
6493
- roughness: number;
6494
- metalness: number;
6495
- opacity: number;
6496
- transparent: boolean;
6497
- side: "back" | "double" | "front";
6498
- } | undefined;
6499
- texture?: {
6500
- url: string;
6501
- repeat?: [number, number] | undefined;
6502
- scale?: number | undefined;
6503
- } | undefined;
6504
- } | undefined;
6505
- sideMaterialPreset?: string | undefined;
6506
- wallMaterial?: {
6507
- id?: string | undefined;
6508
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
6509
- properties?: {
6510
- color: string;
6511
- roughness: number;
6512
- metalness: number;
6513
- opacity: number;
6514
- transparent: boolean;
6515
- side: "back" | "double" | "front";
6516
- } | undefined;
6517
- texture?: {
6518
- url: string;
6519
- repeat?: [number, number] | undefined;
6520
- scale?: number | undefined;
6521
- } | undefined;
6522
- } | undefined;
6523
- wallMaterialPreset?: string | undefined;
6524
- roofSegmentId?: string | undefined;
6525
- position: [number, number, number];
6526
- rotation: number;
6527
- width: number;
6528
- depth: number;
6529
- height: number;
6530
- roofType: "barrel" | "conical" | "dutch" | "flat" | "gable" | "gambrel" | "hip" | "mansard" | "shed";
6531
- roofHeight: number;
6532
- shedHighSide: "back" | "front";
6533
- wallSkirtHeight: number;
6534
- windowWidth: number;
6535
- windowHeight: number;
6536
- windowOffsetX: number;
6537
- windowOffsetY: number;
6538
- windowFrameThickness: number;
6539
- windowFrameDepth: number;
6540
- windowColumns: number;
6541
- windowRows: number;
6542
- windowDividerThickness: number;
6543
- windowShape: "arch" | "rectangle" | "rounded";
6544
- windowArchHeight: number;
6545
- windowCornerRadii: [number, number, number, number];
6546
- windowSill: boolean;
6547
- windowSillDepth: number;
6548
- windowSillThickness: number;
6549
- children: `window_${string}`[];
6550
- type: "dormer";
6551
7753
  } | {
6552
7754
  object: "node";
6553
7755
  name?: string | undefined;
@@ -6588,6 +7790,11 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6588
7790
  url: string;
6589
7791
  repeat?: [number, number] | undefined;
6590
7792
  scale?: number | undefined;
7793
+ offset?: [number, number] | undefined;
7794
+ normalMap?: string | undefined;
7795
+ normalScale?: number | undefined;
7796
+ bumpMap?: string | undefined;
7797
+ bumpScale?: number | undefined;
6591
7798
  } | undefined;
6592
7799
  } | undefined;
6593
7800
  slots?: Record<string, string> | undefined;
@@ -6780,6 +7987,45 @@ export declare function raisedRoomFixture(neighbor?: boolean, terrain?: boolean)
6780
7987
  points: [number, number][];
6781
7988
  }[];
6782
7989
  } | undefined;
7990
+ wallTypes?: {
7991
+ id: string;
7992
+ label: string;
7993
+ assembly: {
7994
+ layers: {
7995
+ id: string;
7996
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
7997
+ thickness: number;
7998
+ core?: true | undefined;
7999
+ spacing?: number | undefined;
8000
+ material?: string | undefined;
8001
+ slot?: string | undefined;
8002
+ returns?: boolean | undefined;
8003
+ display?: "construction" | "finished" | undefined;
8004
+ inset?: number | undefined;
8005
+ bottom?: number | undefined;
8006
+ lift?: number | undefined;
8007
+ src?: string | undefined;
8008
+ }[];
8009
+ backing?: {
8010
+ id: string;
8011
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
8012
+ thickness: number;
8013
+ core?: true | undefined;
8014
+ spacing?: number | undefined;
8015
+ material?: string | undefined;
8016
+ slot?: string | undefined;
8017
+ returns?: boolean | undefined;
8018
+ display?: "construction" | "finished" | undefined;
8019
+ inset?: number | undefined;
8020
+ bottom?: number | undefined;
8021
+ lift?: number | undefined;
8022
+ src?: string | undefined;
8023
+ }[] | undefined;
8024
+ face?: "exterior" | "front" | undefined;
8025
+ presetId?: string | undefined;
8026
+ cavityInsulation?: string | undefined;
8027
+ };
8028
+ }[] | undefined;
6783
8029
  children: string[];
6784
8030
  };
6785
8031
  building: {