@pascal-app/core 1.0.6 → 1.1.0

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 (1003) 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 +411 -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 +13804 -10600
  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 +37 -1
  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 +1163 -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 +5881 -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 +39 -3
  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 +259 -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 +2525 -1723
  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 +59 -13
  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 +5 -7
  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 +181 -35
  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 +4667 -3065
  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 +5 -3
  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 +134 -12
  356. package/dist/building/wall-openings.d.ts.map +1 -1
  357. package/dist/building/wall-openings.js +182 -41
  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 +889 -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 +2897 -1938
  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 -25
  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 +62 -2
  400. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  401. package/dist/hooks/spatial-grid/spatial-grid-manager.js +207 -36
  402. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +2915 -2114
  403. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  404. package/dist/hooks/spatial-grid/spatial-grid-sync.js +32 -5
  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 +43 -20
  419. package/dist/index.d.ts.map +1 -1
  420. package/dist/index.js +42 -19
  421. package/dist/lib/__fixtures__/mezzanine.d.ts +10900 -8225
  422. package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
  423. package/dist/lib/absorb-wall-separators.d.ts +1629 -828
  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-mode.d.ts +11 -0
  432. package/dist/lib/build-mode.d.ts.map +1 -0
  433. package/dist/lib/build-mode.js +24 -0
  434. package/dist/lib/build-up.d.ts +89 -0
  435. package/dist/lib/build-up.d.ts.map +1 -0
  436. package/dist/lib/build-up.js +216 -0
  437. package/dist/lib/corner-pair.d.ts +207 -4
  438. package/dist/lib/corner-pair.d.ts.map +1 -1
  439. package/dist/lib/deck-boards.d.ts +80 -0
  440. package/dist/lib/deck-boards.d.ts.map +1 -0
  441. package/dist/lib/deck-boards.js +184 -0
  442. package/dist/lib/deck-framing.d.ts +150 -0
  443. package/dist/lib/deck-framing.d.ts.map +1 -0
  444. package/dist/lib/deck-framing.js +515 -0
  445. package/dist/lib/deepest-drawn.d.ts +3 -6
  446. package/dist/lib/deepest-drawn.d.ts.map +1 -1
  447. package/dist/lib/deepest-drawn.js +4 -8
  448. package/dist/lib/door-interaction.d.ts +14 -0
  449. package/dist/lib/door-interaction.d.ts.map +1 -0
  450. package/dist/lib/door-interaction.js +62 -0
  451. package/dist/lib/door-opening.d.ts +19 -0
  452. package/dist/lib/door-opening.d.ts.map +1 -0
  453. package/dist/lib/door-opening.js +27 -0
  454. package/dist/lib/door-operation.d.ts +2 -0
  455. package/dist/lib/door-operation.d.ts.map +1 -1
  456. package/dist/lib/door-operation.js +4 -0
  457. package/dist/lib/elevator-support.d.ts +15 -0
  458. package/dist/lib/elevator-support.d.ts.map +1 -0
  459. package/dist/lib/elevator-support.js +40 -0
  460. package/dist/lib/exterior-wall-loops.d.ts.map +1 -1
  461. package/dist/lib/exterior-wall-loops.js +2 -1
  462. package/dist/lib/finish-script.d.ts +5 -5
  463. package/dist/lib/finish-script.d.ts.map +1 -1
  464. package/dist/lib/finish-script.js +12 -5
  465. package/dist/lib/floor-footprint-name.d.ts +17 -0
  466. package/dist/lib/floor-footprint-name.d.ts.map +1 -1
  467. package/dist/lib/floor-footprint-name.js +17 -4
  468. package/dist/lib/floor-intent-changes.d.ts.map +1 -1
  469. package/dist/lib/floor-intent-changes.js +66 -39
  470. package/dist/lib/floor-opening-footprints.d.ts +1 -1
  471. package/dist/lib/floor-opening-footprints.d.ts.map +1 -1
  472. package/dist/lib/floor-opening-footprints.js +10 -4
  473. package/dist/lib/floor-plate-paint.d.ts +2 -0
  474. package/dist/lib/floor-plate-paint.d.ts.map +1 -1
  475. package/dist/lib/floor-plate-paint.js +12 -0
  476. package/dist/lib/floor-plates.d.ts +250 -0
  477. package/dist/lib/floor-plates.d.ts.map +1 -1
  478. package/dist/lib/floor-plates.js +43 -4
  479. package/dist/lib/floor-script.d.ts +35 -6
  480. package/dist/lib/floor-script.d.ts.map +1 -1
  481. package/dist/lib/floor-script.js +96 -16
  482. package/dist/lib/foundation-construction.d.ts +4 -13
  483. package/dist/lib/foundation-construction.d.ts.map +1 -1
  484. package/dist/lib/foundation-construction.js +4 -14
  485. package/dist/lib/foundation-standard.d.ts +2 -3
  486. package/dist/lib/foundation-standard.d.ts.map +1 -1
  487. package/dist/lib/foundation-standard.js +2 -3
  488. package/dist/lib/foundation-wall.d.ts +1 -2
  489. package/dist/lib/foundation-wall.d.ts.map +1 -1
  490. package/dist/lib/foundation-wall.js +1 -2
  491. package/dist/lib/framing-post.d.ts +91 -0
  492. package/dist/lib/framing-post.d.ts.map +1 -0
  493. package/dist/lib/framing-post.js +174 -0
  494. package/dist/lib/geometry-script-node.d.ts +11 -0
  495. package/dist/lib/geometry-script-node.d.ts.map +1 -1
  496. package/dist/lib/geometry-script-node.js +35 -0
  497. package/dist/lib/grade-standing.d.ts +16 -2
  498. package/dist/lib/grade-standing.d.ts.map +1 -1
  499. package/dist/lib/grade-standing.js +129 -9
  500. package/dist/lib/ground-seat.d.ts +2 -22
  501. package/dist/lib/ground-seat.d.ts.map +1 -1
  502. package/dist/lib/ground-seat.js +2 -17
  503. package/dist/lib/ground-window.d.ts +2 -1
  504. package/dist/lib/ground-window.d.ts.map +1 -1
  505. package/dist/lib/ground-window.js +5 -2
  506. package/dist/lib/hierarchy.d.ts +19 -0
  507. package/dist/lib/hierarchy.d.ts.map +1 -0
  508. package/dist/lib/hierarchy.js +53 -0
  509. package/dist/lib/level-footprints.d.ts +2 -0
  510. package/dist/lib/level-footprints.d.ts.map +1 -1
  511. package/dist/lib/level-footprints.js +7 -0
  512. package/dist/lib/opening-casing.d.ts +67 -0
  513. package/dist/lib/opening-casing.d.ts.map +1 -0
  514. package/dist/lib/opening-casing.js +131 -0
  515. package/dist/lib/opening-exterior-face.d.ts +6 -0
  516. package/dist/lib/opening-exterior-face.d.ts.map +1 -0
  517. package/dist/lib/opening-exterior-face.js +15 -0
  518. package/dist/lib/opening-floor-datum.d.ts +11 -5
  519. package/dist/lib/opening-floor-datum.d.ts.map +1 -1
  520. package/dist/lib/opening-floor-datum.js +40 -8
  521. package/dist/lib/opening-frame-depth.d.ts +18 -0
  522. package/dist/lib/opening-frame-depth.d.ts.map +1 -0
  523. package/dist/lib/opening-frame-depth.js +22 -0
  524. package/dist/lib/outdoor-room.d.ts +32 -0
  525. package/dist/lib/outdoor-room.d.ts.map +1 -0
  526. package/dist/lib/outdoor-room.js +66 -0
  527. package/dist/lib/own-floor-intent.d.ts.map +1 -1
  528. package/dist/lib/own-floor-intent.js +2 -2
  529. package/dist/lib/plate-surface.d.ts +8 -0
  530. package/dist/lib/plate-surface.d.ts.map +1 -1
  531. package/dist/lib/plate-surface.js +53 -3
  532. package/dist/lib/polygon-boolean.d.ts.map +1 -1
  533. package/dist/lib/polygon-boolean.js +2 -1
  534. package/dist/lib/porch-framing-sync.d.ts +46 -0
  535. package/dist/lib/porch-framing-sync.d.ts.map +1 -0
  536. package/dist/lib/porch-framing-sync.js +206 -0
  537. package/dist/lib/porch-framing.d.ts +44 -0
  538. package/dist/lib/porch-framing.d.ts.map +1 -0
  539. package/dist/lib/porch-framing.js +159 -0
  540. package/dist/lib/railing-rooms.d.ts +13 -0
  541. package/dist/lib/railing-rooms.d.ts.map +1 -0
  542. package/dist/lib/railing-rooms.js +37 -0
  543. package/dist/lib/roof-eave.d.ts +135 -0
  544. package/dist/lib/roof-eave.d.ts.map +1 -0
  545. package/dist/lib/roof-eave.js +186 -0
  546. package/dist/lib/room-floor-elevation.d.ts +12 -0
  547. package/dist/lib/room-floor-elevation.d.ts.map +1 -0
  548. package/dist/lib/room-floor-elevation.js +41 -0
  549. package/dist/lib/room-floor-feasibility.d.ts.map +1 -1
  550. package/dist/lib/room-floor-feasibility.js +1 -1
  551. package/dist/lib/room-floor-plate.d.ts +3 -1
  552. package/dist/lib/room-floor-plate.d.ts.map +1 -1
  553. package/dist/lib/room-floor-plate.js +7 -0
  554. package/dist/lib/space-detection.d.ts +13 -0
  555. package/dist/lib/space-detection.d.ts.map +1 -1
  556. package/dist/lib/space-detection.js +113 -24
  557. package/dist/lib/structure-kernel.d.ts +22 -9
  558. package/dist/lib/structure-kernel.d.ts.map +1 -1
  559. package/dist/lib/structure-kernel.js +146 -28
  560. package/dist/lib/structure-reconcile.d.ts +1 -1
  561. package/dist/lib/structure-reconcile.d.ts.map +1 -1
  562. package/dist/lib/structure-reconcile.js +7 -4
  563. package/dist/lib/surface-intent.d.ts +10 -0
  564. package/dist/lib/surface-intent.d.ts.map +1 -0
  565. package/dist/lib/surface-intent.js +18 -0
  566. package/dist/lib/terrain-source.d.ts.map +1 -1
  567. package/dist/lib/terrain-source.js +2 -1
  568. package/dist/lib/wall-face-script.d.ts.map +1 -1
  569. package/dist/lib/wall-face-script.js +8 -5
  570. package/dist/lib/window-interaction.d.ts +16 -0
  571. package/dist/lib/window-interaction.d.ts.map +1 -0
  572. package/dist/lib/window-interaction.js +82 -0
  573. package/dist/lib/zone-quantities.js +1 -1
  574. package/dist/material-kinds.d.ts +1 -1
  575. package/dist/material-kinds.d.ts.map +1 -1
  576. package/dist/material-kinds.js +1 -0
  577. package/dist/material-library.d.ts +15 -0
  578. package/dist/material-library.d.ts.map +1 -1
  579. package/dist/material-library.js +458 -59
  580. package/dist/node-slots/column.d.ts +5 -0
  581. package/dist/node-slots/column.d.ts.map +1 -1
  582. package/dist/node-slots/column.js +10 -0
  583. package/dist/node-slots/door.d.ts +3 -4
  584. package/dist/node-slots/door.d.ts.map +1 -1
  585. package/dist/node-slots/door.js +4 -3
  586. package/dist/node-slots/wall.d.ts.map +1 -1
  587. package/dist/node-slots/wall.js +21 -3
  588. package/dist/node-slots/window.d.ts +2 -2
  589. package/dist/node-slots/window.d.ts.map +1 -1
  590. package/dist/node-slots/window.js +6 -1
  591. package/dist/procedural-items/design.d.ts +8 -0
  592. package/dist/procedural-items/design.d.ts.map +1 -1
  593. package/dist/procedural-items/design.js +169 -21
  594. package/dist/procedural-items/motion-controller.d.ts +2 -0
  595. package/dist/procedural-items/motion-controller.d.ts.map +1 -1
  596. package/dist/procedural-items/motion-controller.js +2 -1
  597. package/dist/registry/index.d.ts +3 -3
  598. package/dist/registry/index.d.ts.map +1 -1
  599. package/dist/registry/index.js +2 -2
  600. package/dist/registry/mechanism.d.ts +4 -1
  601. package/dist/registry/mechanism.d.ts.map +1 -1
  602. package/dist/registry/mechanism.js +10 -0
  603. package/dist/registry/registry.d.ts +5 -0
  604. package/dist/registry/registry.d.ts.map +1 -1
  605. package/dist/registry/registry.js +10 -0
  606. package/dist/registry/types.d.ts +89 -23
  607. package/dist/registry/types.d.ts.map +1 -1
  608. package/dist/runtime/__fixtures__/live-scene.d.ts +14 -0
  609. package/dist/runtime/__fixtures__/live-scene.d.ts.map +1 -0
  610. package/dist/runtime/__fixtures__/live-scene.js +64 -0
  611. package/dist/runtime/apply.d.ts +42 -0
  612. package/dist/runtime/apply.d.ts.map +1 -0
  613. package/dist/runtime/apply.js +274 -0
  614. package/dist/runtime/dependencies.d.ts +97 -0
  615. package/dist/runtime/dependencies.d.ts.map +1 -0
  616. package/dist/runtime/dependencies.js +42 -0
  617. package/dist/runtime/ids.d.ts +11 -0
  618. package/dist/runtime/ids.d.ts.map +1 -0
  619. package/dist/runtime/ids.js +80 -0
  620. package/dist/runtime/index.d.ts +14 -0
  621. package/dist/runtime/index.d.ts.map +1 -0
  622. package/dist/runtime/index.js +11 -0
  623. package/dist/runtime/node-queries.d.ts +16 -0
  624. package/dist/runtime/node-queries.d.ts.map +1 -0
  625. package/dist/runtime/node-queries.js +30 -0
  626. package/dist/runtime/patch.d.ts +26 -0
  627. package/dist/runtime/patch.d.ts.map +1 -0
  628. package/dist/runtime/patch.js +165 -0
  629. package/dist/runtime/reader.d.ts +104 -0
  630. package/dist/runtime/reader.d.ts.map +1 -0
  631. package/dist/runtime/reader.js +455 -0
  632. package/dist/runtime/scene-runtime.d.ts +112 -0
  633. package/dist/runtime/scene-runtime.d.ts.map +1 -0
  634. package/dist/runtime/scene-runtime.js +302 -0
  635. package/dist/schema/__fixtures__/node-fixtures.d.ts.map +1 -1
  636. package/dist/schema/__fixtures__/node-fixtures.js +1 -0
  637. package/dist/schema/assembly.d.ts +3 -0
  638. package/dist/schema/assembly.d.ts.map +1 -1
  639. package/dist/schema/assembly.js +13 -0
  640. package/dist/schema/asset-url.d.ts +37 -2
  641. package/dist/schema/asset-url.d.ts.map +1 -1
  642. package/dist/schema/asset-url.js +80 -11
  643. package/dist/schema/base.d.ts +8 -0
  644. package/dist/schema/base.d.ts.map +1 -1
  645. package/dist/schema/base.js +19 -1
  646. package/dist/schema/build-up.d.ts +247 -0
  647. package/dist/schema/build-up.d.ts.map +1 -0
  648. package/dist/schema/build-up.js +83 -0
  649. package/dist/schema/geometry-source.d.ts +80 -0
  650. package/dist/schema/geometry-source.d.ts.map +1 -1
  651. package/dist/schema/geometry-source.js +38 -0
  652. package/dist/schema/index.d.ts +12 -7
  653. package/dist/schema/index.d.ts.map +1 -1
  654. package/dist/schema/index.js +12 -6
  655. package/dist/schema/material.d.ts +5 -0
  656. package/dist/schema/material.d.ts.map +1 -1
  657. package/dist/schema/material.js +6 -0
  658. package/dist/schema/nodes/beam.d.ts +264 -0
  659. package/dist/schema/nodes/beam.d.ts.map +1 -0
  660. package/dist/schema/nodes/beam.js +139 -0
  661. package/dist/schema/nodes/box-vent.d.ts +5 -0
  662. package/dist/schema/nodes/box-vent.d.ts.map +1 -1
  663. package/dist/schema/nodes/cabinet.d.ts +10 -0
  664. package/dist/schema/nodes/cabinet.d.ts.map +1 -1
  665. package/dist/schema/nodes/ceiling.d.ts +48 -0
  666. package/dist/schema/nodes/ceiling.d.ts.map +1 -1
  667. package/dist/schema/nodes/ceiling.js +5 -0
  668. package/dist/schema/nodes/chimney.d.ts +10 -0
  669. package/dist/schema/nodes/chimney.d.ts.map +1 -1
  670. package/dist/schema/nodes/column.d.ts +42 -0
  671. package/dist/schema/nodes/column.d.ts.map +1 -1
  672. package/dist/schema/nodes/column.js +11 -1
  673. package/dist/schema/nodes/cupola.d.ts +5 -0
  674. package/dist/schema/nodes/cupola.d.ts.map +1 -1
  675. package/dist/schema/nodes/door.d.ts +54 -3
  676. package/dist/schema/nodes/door.d.ts.map +1 -1
  677. package/dist/schema/nodes/door.js +41 -7
  678. package/dist/schema/nodes/dormer.d.ts +20 -0
  679. package/dist/schema/nodes/dormer.d.ts.map +1 -1
  680. package/dist/schema/nodes/downspout.d.ts +5 -0
  681. package/dist/schema/nodes/downspout.d.ts.map +1 -1
  682. package/dist/schema/nodes/elevator.d.ts +5 -0
  683. package/dist/schema/nodes/elevator.d.ts.map +1 -1
  684. package/dist/schema/nodes/eyebrow-vent.d.ts +5 -0
  685. package/dist/schema/nodes/eyebrow-vent.d.ts.map +1 -1
  686. package/dist/schema/nodes/fence.d.ts +5 -0
  687. package/dist/schema/nodes/fence.d.ts.map +1 -1
  688. package/dist/schema/nodes/guide.d.ts +14 -0
  689. package/dist/schema/nodes/guide.d.ts.map +1 -1
  690. package/dist/schema/nodes/guide.js +2 -0
  691. package/dist/schema/nodes/gutter.d.ts +5 -0
  692. package/dist/schema/nodes/gutter.d.ts.map +1 -1
  693. package/dist/schema/nodes/item.d.ts +71 -0
  694. package/dist/schema/nodes/item.d.ts.map +1 -1
  695. package/dist/schema/nodes/item.js +5 -1
  696. package/dist/schema/nodes/level.d.ts +1 -1
  697. package/dist/schema/nodes/level.d.ts.map +1 -1
  698. package/dist/schema/nodes/opening-types.d.ts +13 -0
  699. package/dist/schema/nodes/opening-types.d.ts.map +1 -1
  700. package/dist/schema/nodes/opening-types.js +8 -1
  701. package/dist/schema/nodes/railing-wall.d.ts +112 -0
  702. package/dist/schema/nodes/railing-wall.d.ts.map +1 -0
  703. package/dist/schema/nodes/railing-wall.js +160 -0
  704. package/dist/schema/nodes/ridge-vent.d.ts +5 -0
  705. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  706. package/dist/schema/nodes/roof-segment-resize.d.ts.map +1 -1
  707. package/dist/schema/nodes/roof-segment-resize.js +2 -2
  708. package/dist/schema/nodes/roof-segment.d.ts +226 -1
  709. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  710. package/dist/schema/nodes/roof-segment.js +97 -12
  711. package/dist/schema/nodes/roof-types.d.ts +11 -0
  712. package/dist/schema/nodes/roof-types.d.ts.map +1 -1
  713. package/dist/schema/nodes/roof-types.js +6 -0
  714. package/dist/schema/nodes/roof.d.ts +60 -0
  715. package/dist/schema/nodes/roof.d.ts.map +1 -1
  716. package/dist/schema/nodes/roof.js +4 -0
  717. package/dist/schema/nodes/shelf.d.ts +5 -0
  718. package/dist/schema/nodes/shelf.d.ts.map +1 -1
  719. package/dist/schema/nodes/site.d.ts +80 -0
  720. package/dist/schema/nodes/site.d.ts.map +1 -1
  721. package/dist/schema/nodes/site.js +7 -0
  722. package/dist/schema/nodes/skylight.d.ts +10 -0
  723. package/dist/schema/nodes/skylight.d.ts.map +1 -1
  724. package/dist/schema/nodes/slab.d.ts +137 -0
  725. package/dist/schema/nodes/slab.d.ts.map +1 -1
  726. package/dist/schema/nodes/slab.js +3 -0
  727. package/dist/schema/nodes/solar-panel.d.ts +10 -0
  728. package/dist/schema/nodes/solar-panel.d.ts.map +1 -1
  729. package/dist/schema/nodes/stair-segment.d.ts +5 -0
  730. package/dist/schema/nodes/stair-segment.d.ts.map +1 -1
  731. package/dist/schema/nodes/stair-structure.d.ts +69 -0
  732. package/dist/schema/nodes/stair-structure.d.ts.map +1 -0
  733. package/dist/schema/nodes/stair-structure.js +39 -0
  734. package/dist/schema/nodes/stair.d.ts +46 -0
  735. package/dist/schema/nodes/stair.d.ts.map +1 -1
  736. package/dist/schema/nodes/stair.js +3 -0
  737. package/dist/schema/nodes/turbine-vent.d.ts +5 -0
  738. package/dist/schema/nodes/turbine-vent.d.ts.map +1 -1
  739. package/dist/schema/nodes/wall.d.ts +136 -2
  740. package/dist/schema/nodes/wall.d.ts.map +1 -1
  741. package/dist/schema/nodes/wall.js +48 -6
  742. package/dist/schema/nodes/window.d.ts +66 -1
  743. package/dist/schema/nodes/window.d.ts.map +1 -1
  744. package/dist/schema/nodes/window.js +50 -5
  745. package/dist/schema/nodes/zone.d.ts +68 -0
  746. package/dist/schema/nodes/zone.d.ts.map +1 -1
  747. package/dist/schema/nodes/zone.js +32 -0
  748. package/dist/schema/scene-material.d.ts +5 -0
  749. package/dist/schema/scene-material.d.ts.map +1 -1
  750. package/dist/schema/types.d.ts +1080 -4
  751. package/dist/schema/types.d.ts.map +1 -1
  752. package/dist/schema/types.js +2 -0
  753. package/dist/schema/wall-type.d.ts +95 -0
  754. package/dist/schema/wall-type.d.ts.map +1 -0
  755. package/dist/schema/wall-type.js +32 -0
  756. package/dist/services/index.d.ts +1 -1
  757. package/dist/services/index.d.ts.map +1 -1
  758. package/dist/services/index.js +1 -1
  759. package/dist/services/movement.d.ts +7 -0
  760. package/dist/services/movement.d.ts.map +1 -1
  761. package/dist/services/movement.js +13 -0
  762. package/dist/services/port-connectivity.d.ts +15 -6
  763. package/dist/services/port-connectivity.d.ts.map +1 -1
  764. package/dist/services/port-connectivity.js +83 -17
  765. package/dist/services/roof-bearing.d.ts.map +1 -1
  766. package/dist/services/roof-bearing.js +8 -4
  767. package/dist/services/roof-level.d.ts.map +1 -1
  768. package/dist/services/roof-level.js +4 -3
  769. package/dist/services/roof-move.d.ts.map +1 -1
  770. package/dist/services/roof-move.js +13 -7
  771. package/dist/services/storey.d.ts +6 -1
  772. package/dist/services/storey.d.ts.map +1 -1
  773. package/dist/services/storey.js +24 -10
  774. package/dist/spatial/usage-field/beds.d.ts +51 -0
  775. package/dist/spatial/usage-field/beds.d.ts.map +1 -0
  776. package/dist/spatial/usage-field/beds.js +346 -0
  777. package/dist/spatial/usage-field/blocked.d.ts +28 -0
  778. package/dist/spatial/usage-field/blocked.d.ts.map +1 -0
  779. package/dist/spatial/usage-field/blocked.js +185 -0
  780. package/dist/spatial/usage-field/boxes.d.ts +17 -0
  781. package/dist/spatial/usage-field/boxes.d.ts.map +1 -0
  782. package/dist/spatial/usage-field/boxes.js +82 -0
  783. package/dist/spatial/usage-field/catalogue-shapes.d.ts +3 -0
  784. package/dist/spatial/usage-field/catalogue-shapes.d.ts.map +1 -0
  785. package/dist/spatial/usage-field/catalogue-shapes.js +257 -0
  786. package/dist/spatial/usage-field/catalogue.d.ts +6 -0
  787. package/dist/spatial/usage-field/catalogue.d.ts.map +1 -0
  788. package/dist/spatial/usage-field/catalogue.js +11 -0
  789. package/dist/spatial/usage-field/clash.d.ts +40 -0
  790. package/dist/spatial/usage-field/clash.d.ts.map +1 -0
  791. package/dist/spatial/usage-field/clash.js +187 -0
  792. package/dist/spatial/usage-field/door-stairs.d.ts +18 -0
  793. package/dist/spatial/usage-field/door-stairs.d.ts.map +1 -0
  794. package/dist/spatial/usage-field/door-stairs.js +129 -0
  795. package/dist/spatial/usage-field/entry-way.d.ts +14 -0
  796. package/dist/spatial/usage-field/entry-way.d.ts.map +1 -0
  797. package/dist/spatial/usage-field/entry-way.js +219 -0
  798. package/dist/spatial/usage-field/fences.d.ts +18 -0
  799. package/dist/spatial/usage-field/fences.d.ts.map +1 -0
  800. package/dist/spatial/usage-field/fences.js +253 -0
  801. package/dist/spatial/usage-field/field.d.ts +44 -0
  802. package/dist/spatial/usage-field/field.d.ts.map +1 -0
  803. package/dist/spatial/usage-field/field.js +145 -0
  804. package/dist/spatial/usage-field/findings.d.ts +76 -0
  805. package/dist/spatial/usage-field/findings.d.ts.map +1 -0
  806. package/dist/spatial/usage-field/findings.js +252 -0
  807. package/dist/spatial/usage-field/fixtures.d.ts +18 -0
  808. package/dist/spatial/usage-field/fixtures.d.ts.map +1 -0
  809. package/dist/spatial/usage-field/fixtures.js +160 -0
  810. package/dist/spatial/usage-field/flag.d.ts +10 -0
  811. package/dist/spatial/usage-field/flag.d.ts.map +1 -0
  812. package/dist/spatial/usage-field/flag.js +12 -0
  813. package/dist/spatial/usage-field/floors.d.ts +13 -0
  814. package/dist/spatial/usage-field/floors.d.ts.map +1 -0
  815. package/dist/spatial/usage-field/floors.js +36 -0
  816. package/dist/spatial/usage-field/index.d.ts +7 -0
  817. package/dist/spatial/usage-field/index.d.ts.map +1 -0
  818. package/dist/spatial/usage-field/index.js +5 -0
  819. package/dist/spatial/usage-field/items.d.ts +38 -0
  820. package/dist/spatial/usage-field/items.d.ts.map +1 -0
  821. package/dist/spatial/usage-field/items.js +261 -0
  822. package/dist/spatial/usage-field/labels.d.ts +8 -0
  823. package/dist/spatial/usage-field/labels.d.ts.map +1 -0
  824. package/dist/spatial/usage-field/labels.js +14 -0
  825. package/dist/spatial/usage-field/level-field.d.ts +47 -0
  826. package/dist/spatial/usage-field/level-field.d.ts.map +1 -0
  827. package/dist/spatial/usage-field/level-field.js +96 -0
  828. package/dist/spatial/usage-field/measure.d.ts +324 -0
  829. package/dist/spatial/usage-field/measure.d.ts.map +1 -0
  830. package/dist/spatial/usage-field/measure.js +458 -0
  831. package/dist/spatial/usage-field/obstacles.d.ts +63 -0
  832. package/dist/spatial/usage-field/obstacles.d.ts.map +1 -0
  833. package/dist/spatial/usage-field/obstacles.js +215 -0
  834. package/dist/spatial/usage-field/openings.d.ts +12 -0
  835. package/dist/spatial/usage-field/openings.d.ts.map +1 -0
  836. package/dist/spatial/usage-field/openings.js +162 -0
  837. package/dist/spatial/usage-field/path.d.ts +48 -0
  838. package/dist/spatial/usage-field/path.d.ts.map +1 -0
  839. package/dist/spatial/usage-field/path.js +354 -0
  840. package/dist/spatial/usage-field/pieces.d.ts +27 -0
  841. package/dist/spatial/usage-field/pieces.d.ts.map +1 -0
  842. package/dist/spatial/usage-field/pieces.js +89 -0
  843. package/dist/spatial/usage-field/shapes.d.ts +18 -0
  844. package/dist/spatial/usage-field/shapes.d.ts.map +1 -0
  845. package/dist/spatial/usage-field/shapes.js +92 -0
  846. package/dist/spatial/usage-field/stairs.d.ts +23 -0
  847. package/dist/spatial/usage-field/stairs.d.ts.map +1 -0
  848. package/dist/spatial/usage-field/stairs.js +163 -0
  849. package/dist/spatial/usage-field/support.d.ts +24 -0
  850. package/dist/spatial/usage-field/support.d.ts.map +1 -0
  851. package/dist/spatial/usage-field/support.js +46 -0
  852. package/dist/spatial/usage-field/swings.d.ts +847 -0
  853. package/dist/spatial/usage-field/swings.d.ts.map +1 -0
  854. package/dist/spatial/usage-field/swings.js +427 -0
  855. package/dist/spatial/usage-field/types.d.ts +65 -0
  856. package/dist/spatial/usage-field/types.d.ts.map +1 -0
  857. package/dist/spatial/usage-field/types.js +1 -0
  858. package/dist/spatial/usage-field/walls.d.ts +1059 -0
  859. package/dist/spatial/usage-field/walls.d.ts.map +1 -0
  860. package/dist/spatial/usage-field/walls.js +180 -0
  861. package/dist/spatial/usage-field/way-in.d.ts +26 -0
  862. package/dist/spatial/usage-field/way-in.d.ts.map +1 -0
  863. package/dist/spatial/usage-field/way-in.js +113 -0
  864. package/dist/store/actions/node-actions.d.ts +1467 -664
  865. package/dist/store/actions/node-actions.d.ts.map +1 -1
  866. package/dist/store/actions/node-actions.js +65 -21
  867. package/dist/store/derived-node-guard.d.ts +10 -2
  868. package/dist/store/derived-node-guard.d.ts.map +1 -1
  869. package/dist/store/derived-node-guard.js +33 -12
  870. package/dist/store/document-settling.d.ts +9 -0
  871. package/dist/store/document-settling.d.ts.map +1 -0
  872. package/dist/store/document-settling.js +22 -0
  873. package/dist/store/history-control.d.ts +19 -10
  874. package/dist/store/history-control.d.ts.map +1 -1
  875. package/dist/store/history-control.js +176 -127
  876. package/dist/store/history-drafts.d.ts.map +1 -1
  877. package/dist/store/history-drafts.js +21 -17
  878. package/dist/store/live-previews.d.ts +9 -0
  879. package/dist/store/live-previews.d.ts.map +1 -0
  880. package/dist/store/live-previews.js +19 -0
  881. package/dist/store/scene-annotations.d.ts +5409 -3807
  882. package/dist/store/scene-annotations.d.ts.map +1 -1
  883. package/dist/store/scene-environment.d.ts +33 -0
  884. package/dist/store/scene-environment.d.ts.map +1 -0
  885. package/dist/store/scene-environment.js +54 -0
  886. package/dist/store/scene-hydration.d.ts.map +1 -1
  887. package/dist/store/scene-hydration.js +41 -30
  888. package/dist/store/use-interactive.d.ts +9 -3
  889. package/dist/store/use-interactive.d.ts.map +1 -1
  890. package/dist/store/use-interactive.js +43 -11
  891. package/dist/store/use-live-node-overrides.d.ts.map +1 -1
  892. package/dist/store/use-live-node-overrides.js +3 -0
  893. package/dist/store/use-scene.d.ts +25 -0
  894. package/dist/store/use-scene.d.ts.map +1 -1
  895. package/dist/store/use-scene.js +408 -336
  896. package/dist/systems/document-reconcile.d.ts +40 -0
  897. package/dist/systems/document-reconcile.d.ts.map +1 -0
  898. package/dist/systems/document-reconcile.js +159 -0
  899. package/dist/systems/elevator/elevator-geometry.d.ts +25 -0
  900. package/dist/systems/elevator/elevator-geometry.d.ts.map +1 -1
  901. package/dist/systems/elevator/elevator-geometry.js +40 -8
  902. package/dist/systems/elevator/elevator-opening-sync.d.ts.map +1 -1
  903. package/dist/systems/elevator/elevator-opening-sync.js +4 -35
  904. package/dist/systems/elevator/elevator-opening-system.d.ts.map +1 -1
  905. package/dist/systems/elevator/elevator-opening-system.js +9 -24
  906. package/dist/systems/elevator/elevator-runtime.d.ts.map +1 -1
  907. package/dist/systems/elevator/elevator-runtime.js +95 -18
  908. package/dist/systems/elevator/elevator-service.d.ts.map +1 -1
  909. package/dist/systems/elevator/elevator-service.js +24 -4
  910. package/dist/systems/fence/guard-layout.d.ts +69 -0
  911. package/dist/systems/fence/guard-layout.d.ts.map +1 -0
  912. package/dist/systems/fence/guard-layout.js +194 -0
  913. package/dist/systems/owned-floor-openings.d.ts +13 -1
  914. package/dist/systems/owned-floor-openings.d.ts.map +1 -1
  915. package/dist/systems/owned-floor-openings.js +58 -2
  916. package/dist/systems/reconcile-owned-floor-openings.d.ts +3 -1
  917. package/dist/systems/reconcile-owned-floor-openings.d.ts.map +1 -1
  918. package/dist/systems/reconcile-owned-floor-openings.js +4 -4
  919. package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -1
  920. package/dist/systems/roof/roof-elevation-system.js +8 -26
  921. package/dist/systems/roof/roof-elevation.d.ts +16 -1
  922. package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
  923. package/dist/systems/roof/roof-elevation.js +87 -5
  924. package/dist/systems/roof/roof-footprint.d.ts +42 -1
  925. package/dist/systems/roof/roof-footprint.d.ts.map +1 -1
  926. package/dist/systems/roof/roof-footprint.js +160 -4
  927. package/dist/systems/slab/__fixtures__/floor-step.d.ts +2714 -1481
  928. package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
  929. package/dist/systems/slab/__fixtures__/raised-room.d.ts +3815 -2565
  930. package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
  931. package/dist/systems/stair/stair-clearance.d.ts +7 -0
  932. package/dist/systems/stair/stair-clearance.d.ts.map +1 -1
  933. package/dist/systems/stair/stair-clearance.js +31 -11
  934. package/dist/systems/stair/stair-construction.d.ts +8 -3
  935. package/dist/systems/stair/stair-construction.d.ts.map +1 -1
  936. package/dist/systems/stair/stair-construction.js +55 -4
  937. package/dist/systems/stair/stair-opening-preview.d.ts +1630 -829
  938. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  939. package/dist/systems/stair/stair-opening-system.d.ts.map +1 -1
  940. package/dist/systems/stair/stair-opening-system.js +18 -34
  941. package/dist/systems/stair/stair-presets.d.ts +36 -0
  942. package/dist/systems/stair/stair-presets.d.ts.map +1 -1
  943. package/dist/systems/stair/stair-rise-query.d.ts.map +1 -1
  944. package/dist/systems/stair/stair-rise-query.js +3 -2
  945. package/dist/systems/stair/stair-rise.d.ts.map +1 -1
  946. package/dist/systems/stair/stair-rise.js +6 -0
  947. package/dist/systems/stair/stair-sizing.d.ts +42 -11
  948. package/dist/systems/stair/stair-sizing.d.ts.map +1 -1
  949. package/dist/systems/stair/stair-sizing.js +10 -1
  950. package/dist/systems/stair/stair-structure.d.ts +277 -0
  951. package/dist/systems/stair/stair-structure.d.ts.map +1 -0
  952. package/dist/systems/stair/stair-structure.js +496 -0
  953. package/dist/systems/wall/wall-assembly.d.ts +84 -6
  954. package/dist/systems/wall/wall-assembly.d.ts.map +1 -1
  955. package/dist/systems/wall/wall-assembly.js +204 -5
  956. package/dist/systems/wall/wall-curve.d.ts +10 -0
  957. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  958. package/dist/systems/wall/wall-curve.js +38 -0
  959. package/dist/systems/wall/wall-finish.d.ts +38 -2
  960. package/dist/systems/wall/wall-finish.d.ts.map +1 -1
  961. package/dist/systems/wall/wall-finish.js +70 -2
  962. package/dist/systems/wall/wall-footprint.js +2 -2
  963. package/dist/systems/wall/wall-frame.d.ts.map +1 -1
  964. package/dist/systems/wall/wall-frame.js +8 -0
  965. package/dist/systems/wall/wall-merge.d.ts +9 -1
  966. package/dist/systems/wall/wall-merge.d.ts.map +1 -1
  967. package/dist/systems/wall/wall-merge.js +66 -13
  968. package/dist/systems/wall/wall-mitering.d.ts +1 -0
  969. package/dist/systems/wall/wall-mitering.d.ts.map +1 -1
  970. package/dist/systems/wall/wall-mitering.js +152 -52
  971. package/dist/systems/wall/wall-move.d.ts +23 -6
  972. package/dist/systems/wall/wall-move.d.ts.map +1 -1
  973. package/dist/systems/wall/wall-move.js +65 -0
  974. package/dist/systems/wall/wall-top.d.ts +11 -4
  975. package/dist/systems/wall/wall-top.d.ts.map +1 -1
  976. package/dist/systems/wall/wall-top.js +28 -7
  977. package/dist/systems/wall/wall-topology.d.ts +32 -1
  978. package/dist/systems/wall/wall-topology.d.ts.map +1 -1
  979. package/dist/systems/wall/wall-topology.js +137 -11
  980. package/dist/systems/wall/wall-trim-profiles.d.ts +12 -0
  981. package/dist/systems/wall/wall-trim-profiles.d.ts.map +1 -0
  982. package/dist/systems/wall/wall-trim-profiles.js +191 -0
  983. package/dist/utils/ensure-scene-openings.d.ts +4663 -3061
  984. package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
  985. package/dist/utils/floor-piece-adoption.d.ts +5 -0
  986. package/dist/utils/floor-piece-adoption.d.ts.map +1 -1
  987. package/dist/utils/floor-plate-migration.d.ts +3372 -2571
  988. package/dist/utils/floor-plate-migration.d.ts.map +1 -1
  989. package/dist/utils/measurement-format.d.ts +27 -0
  990. package/dist/utils/measurement-format.d.ts.map +1 -0
  991. package/dist/utils/measurement-format.js +143 -0
  992. package/dist/utils/owned-floor-opening-migration.d.ts +1629 -828
  993. package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
  994. package/dist/utils/reconcile-structure-on-load.d.ts +2308 -1507
  995. package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
  996. package/dist/utils/structure-id.d.ts.map +1 -1
  997. package/dist/utils/structure-id.js +4 -0
  998. package/dist/validation/validate-build-json.d.ts.map +1 -1
  999. package/dist/validation/validate-build-json.js +3 -1
  1000. package/package.json +22 -5
  1001. package/dist/lib/generic-foundation.d.ts +0 -40
  1002. package/dist/lib/generic-foundation.d.ts.map +0 -1
  1003. package/dist/lib/generic-foundation.js +0 -200
@@ -42,7 +42,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
42
42
  fromIds: string[];
43
43
  } | undefined;
44
44
  } | undefined;
45
- id: `bvent_${string}`;
45
+ id: `elevator_${string}`;
46
46
  material?: {
47
47
  id?: string | undefined;
48
48
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
@@ -58,26 +58,38 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
58
58
  url: string;
59
59
  repeat?: [number, number] | undefined;
60
60
  scale?: number | undefined;
61
+ offset?: [number, number] | undefined;
62
+ normalMap?: string | undefined;
63
+ normalScale?: number | undefined;
64
+ bumpMap?: string | undefined;
65
+ bumpScale?: number | undefined;
61
66
  } | undefined;
62
67
  } | undefined;
68
+ materialPreset?: string | undefined;
63
69
  slots?: Record<string, string> | undefined;
64
- materialPreset: string;
65
- roofSegmentId?: string | undefined;
66
70
  position: [number, number, number];
67
71
  rotation: number;
68
72
  width: number;
69
73
  depth: number;
70
- height: number;
71
- hoodOverhang: number;
72
- topTaper: number;
73
- capHeight: number;
74
- capGap: number;
75
- domeCurvature: number;
76
- baseInset: number;
77
- baseHeight: number;
78
- cornerBevel: number;
79
- style: "box" | "cap" | "dome";
80
- type: "box-vent";
74
+ shaftWidth?: number | undefined;
75
+ shaftDepth?: number | undefined;
76
+ shaftWallThickness: number;
77
+ shaftStyle: "glass" | "solid";
78
+ cabHeight: number;
79
+ doorWidth: number;
80
+ doorHeight: number;
81
+ doorStyle: "center-opening" | "single-left" | "single-right";
82
+ doorPanelStyle: "glass-frame" | "segmented-panel" | "solid-panel";
83
+ fromLevelId: string | null;
84
+ toLevelId: string | null;
85
+ servedLevelIds?: string[] | undefined;
86
+ disabledLevelIds: string[];
87
+ serviceOnlyLevelIds: string[];
88
+ defaultLevelId: string | null;
89
+ speed: number;
90
+ doorDurationMs: number;
91
+ dwellMs: number;
92
+ type: "elevator";
81
93
  } | {
82
94
  object: "node";
83
95
  name?: string | undefined;
@@ -179,6 +191,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
179
191
  color: string;
180
192
  intensity: number;
181
193
  distance?: number | undefined;
194
+ spot?: {
195
+ direction: [number, number, number];
196
+ angle: number;
197
+ softness: number;
198
+ } | undefined;
199
+ shadows?: boolean | undefined;
200
+ glow?: {
201
+ size: number;
202
+ strength: number;
203
+ } | undefined;
182
204
  }[];
183
205
  undersides: {
184
206
  part?: string | undefined;
@@ -197,6 +219,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
197
219
  }[] | undefined;
198
220
  cutout: boolean;
199
221
  collider: boolean;
222
+ shape?: {
223
+ tolerance: number;
224
+ bands: {
225
+ y0: number;
226
+ y1: number;
227
+ polygons: {
228
+ outer: [number, number][];
229
+ holes?: [number, number][][] | undefined;
230
+ }[];
231
+ }[];
232
+ } | undefined;
200
233
  triangles: number;
201
234
  coverage?: number | undefined;
202
235
  uncovered?: {
@@ -267,6 +300,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
267
300
  intensityRange: [number, number];
268
301
  distance?: number | undefined;
269
302
  offset: [number, number, number];
303
+ spot?: {
304
+ direction: [number, number, number];
305
+ angle: number;
306
+ softness: number;
307
+ } | undefined;
308
+ shadows?: boolean | undefined;
309
+ glow?: {
310
+ size: number;
311
+ strength: number;
312
+ } | undefined;
270
313
  })[];
271
314
  } | undefined;
272
315
  };
@@ -311,6 +354,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
311
354
  url: string;
312
355
  repeat?: [number, number] | undefined;
313
356
  scale?: number | undefined;
357
+ offset?: [number, number] | undefined;
358
+ normalMap?: string | undefined;
359
+ normalScale?: number | undefined;
360
+ bumpMap?: string | undefined;
361
+ bumpScale?: number | undefined;
314
362
  } | undefined;
315
363
  } | undefined;
316
364
  materialPreset?: string | undefined;
@@ -325,6 +373,29 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
325
373
  }[];
326
374
  openingIds?: string[] | undefined;
327
375
  height?: number | undefined;
376
+ buildUp?: {
377
+ presetId?: string | undefined;
378
+ finish?: {
379
+ kind: "drywall" | "plaster" | "wood-plank";
380
+ thickness: number;
381
+ name?: string | undefined;
382
+ } | undefined;
383
+ framing?: {
384
+ system: "joists" | "truss-chords";
385
+ size: "2x10" | "2x12" | "2x4" | "2x6" | "2x8";
386
+ spacing: number;
387
+ } | undefined;
388
+ decking?: {
389
+ kind: "osb" | "plywood";
390
+ thickness: number;
391
+ name?: string | undefined;
392
+ } | undefined;
393
+ insulation?: {
394
+ kind: "batt" | "blown" | "rigid";
395
+ thickness: number;
396
+ name?: string | undefined;
397
+ } | undefined;
398
+ } | undefined;
328
399
  regions?: {
329
400
  id: string;
330
401
  polygon: [number, number][];
@@ -569,6 +640,45 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
569
640
  points: [number, number][];
570
641
  }[];
571
642
  } | undefined;
643
+ wallTypes?: {
644
+ id: string;
645
+ label: string;
646
+ assembly: {
647
+ layers: {
648
+ id: string;
649
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
650
+ thickness: number;
651
+ core?: true | undefined;
652
+ spacing?: number | undefined;
653
+ material?: string | undefined;
654
+ slot?: string | undefined;
655
+ returns?: boolean | undefined;
656
+ display?: "construction" | "finished" | undefined;
657
+ inset?: number | undefined;
658
+ bottom?: number | undefined;
659
+ lift?: number | undefined;
660
+ src?: string | undefined;
661
+ }[];
662
+ backing?: {
663
+ id: string;
664
+ role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
665
+ thickness: number;
666
+ core?: true | undefined;
667
+ spacing?: number | undefined;
668
+ material?: string | undefined;
669
+ slot?: string | undefined;
670
+ returns?: boolean | undefined;
671
+ display?: "construction" | "finished" | undefined;
672
+ inset?: number | undefined;
673
+ bottom?: number | undefined;
674
+ lift?: number | undefined;
675
+ src?: string | undefined;
676
+ }[] | undefined;
677
+ face?: "exterior" | "front" | undefined;
678
+ presetId?: string | undefined;
679
+ cavityInsulation?: string | undefined;
680
+ };
681
+ }[] | undefined;
572
682
  children: string[];
573
683
  type: "site";
574
684
  } | {
@@ -611,6 +721,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
611
721
  url: string;
612
722
  repeat?: [number, number] | undefined;
613
723
  scale?: number | undefined;
724
+ offset?: [number, number] | undefined;
725
+ normalMap?: string | undefined;
726
+ normalScale?: number | undefined;
727
+ bumpMap?: string | undefined;
728
+ bumpScale?: number | undefined;
614
729
  } | undefined;
615
730
  } | undefined;
616
731
  slots?: Record<string, string> | undefined;
@@ -676,6 +791,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
676
791
  color: string;
677
792
  intensity: number;
678
793
  distance?: number | undefined;
794
+ spot?: {
795
+ direction: [number, number, number];
796
+ angle: number;
797
+ softness: number;
798
+ } | undefined;
799
+ shadows?: boolean | undefined;
800
+ glow?: {
801
+ size: number;
802
+ strength: number;
803
+ } | undefined;
679
804
  }[];
680
805
  undersides: {
681
806
  part?: string | undefined;
@@ -694,6 +819,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
694
819
  }[] | undefined;
695
820
  cutout: boolean;
696
821
  collider: boolean;
822
+ shape?: {
823
+ tolerance: number;
824
+ bands: {
825
+ y0: number;
826
+ y1: number;
827
+ polygons: {
828
+ outer: [number, number][];
829
+ holes?: [number, number][][] | undefined;
830
+ }[];
831
+ }[];
832
+ } | undefined;
697
833
  triangles: number;
698
834
  coverage?: number | undefined;
699
835
  uncovered?: {
@@ -717,6 +853,10 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
717
853
  roofFace?: "back" | "front" | "left" | "right" | undefined;
718
854
  width: number;
719
855
  height: number;
856
+ sidelightLeft?: number | undefined;
857
+ sidelightRight?: number | undefined;
858
+ transomHeight?: number | undefined;
859
+ slidingStyle?: "bypass" | "patio" | undefined;
720
860
  mark?: string | undefined;
721
861
  constructionType: "framed" | "masonry";
722
862
  dimensionReference: "finish-opening" | "masonry-opening" | "nominal" | "rough-opening";
@@ -728,7 +868,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
728
868
  finishOpeningHeight?: number | undefined;
729
869
  doorCategory: "garage" | "interior";
730
870
  doorType: "barn" | "double" | "folding" | "french" | "garage-rollup" | "garage-sectional" | "garage-tiltup" | "hinged" | "pocket" | "sliding";
731
- leafCount: 1 | 2 | 3 | 4;
871
+ leafCount: 1 | 2 | 3 | 4 | 6 | 8;
732
872
  operationState: number;
733
873
  slideDirection: "left" | "right";
734
874
  trackStyle: "none" | "overhead" | "pocket" | "visible";
@@ -741,9 +881,12 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
741
881
  archHeight: number;
742
882
  openingRevealRadius: number;
743
883
  frameThickness: number;
744
- frameDepth: number;
884
+ frameDepth?: number | undefined;
745
885
  threshold: boolean;
746
886
  thresholdHeight: number;
887
+ casingFaceA?: boolean | undefined;
888
+ casingFaceB?: boolean | undefined;
889
+ casingWidth?: number | undefined;
747
890
  hingesSide: "left" | "right";
748
891
  swingDirection: "inward" | "outward";
749
892
  swingAngle: number;
@@ -756,11 +899,14 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
756
899
  panelInset: number;
757
900
  }[];
758
901
  handle: boolean;
902
+ handleStyle?: "bar" | "knob" | "lever" | "lever-curved" | "plate" | undefined;
759
903
  handleHeight: number;
760
904
  handleSide: "left" | "right";
761
905
  contentPadding: [number, number];
762
906
  doorCloser: boolean;
763
907
  panicBar: boolean;
908
+ panicBarStyle: "crossbar" | "touchbar";
909
+ panicBarRods: boolean;
764
910
  panicBarHeight: number;
765
911
  type: "door";
766
912
  } | {
@@ -803,6 +949,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
803
949
  url: string;
804
950
  repeat?: [number, number] | undefined;
805
951
  scale?: number | undefined;
952
+ offset?: [number, number] | undefined;
953
+ normalMap?: string | undefined;
954
+ normalScale?: number | undefined;
955
+ bumpMap?: string | undefined;
956
+ bumpScale?: number | undefined;
806
957
  } | undefined;
807
958
  } | undefined;
808
959
  slots?: Record<string, string> | undefined;
@@ -868,6 +1019,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
868
1019
  color: string;
869
1020
  intensity: number;
870
1021
  distance?: number | undefined;
1022
+ spot?: {
1023
+ direction: [number, number, number];
1024
+ angle: number;
1025
+ softness: number;
1026
+ } | undefined;
1027
+ shadows?: boolean | undefined;
1028
+ glow?: {
1029
+ size: number;
1030
+ strength: number;
1031
+ } | undefined;
871
1032
  }[];
872
1033
  undersides: {
873
1034
  part?: string | undefined;
@@ -886,6 +1047,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
886
1047
  }[] | undefined;
887
1048
  cutout: boolean;
888
1049
  collider: boolean;
1050
+ shape?: {
1051
+ tolerance: number;
1052
+ bands: {
1053
+ y0: number;
1054
+ y1: number;
1055
+ polygons: {
1056
+ outer: [number, number][];
1057
+ holes?: [number, number][][] | undefined;
1058
+ }[];
1059
+ }[];
1060
+ } | undefined;
889
1061
  triangles: number;
890
1062
  coverage?: number | undefined;
891
1063
  uncovered?: {
@@ -921,8 +1093,10 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
921
1093
  finishOpeningWidth?: number | undefined;
922
1094
  finishOpeningHeight?: number | undefined;
923
1095
  openingKind: "opening" | "window";
924
- windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding";
1096
+ windowType: "awning" | "bay" | "bow" | "casement" | "double-hung" | "fixed" | "hopper" | "louvered" | "single-hung" | "sliding" | "tilt-turn";
925
1097
  operationState: number;
1098
+ openingDirection?: "inward" | "outward" | undefined;
1099
+ tiltTurnMode?: "tilt" | "turn" | undefined;
926
1100
  awningDirection: "down" | "up";
927
1101
  casementStyle: "french" | "single";
928
1102
  hingesSide: "left" | "right";
@@ -933,7 +1107,9 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
933
1107
  archHeight: number;
934
1108
  openingRevealRadius: number;
935
1109
  frameThickness: number;
936
- frameDepth: number;
1110
+ frameDepth?: number | undefined;
1111
+ windowHandle?: boolean | undefined;
1112
+ sashGrid?: boolean | undefined;
937
1113
  columnRatios: number[];
938
1114
  rowRatios: number[];
939
1115
  columnDividerThickness: number;
@@ -946,6 +1122,21 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
946
1122
  sill: boolean;
947
1123
  sillDepth: number;
948
1124
  sillThickness: number;
1125
+ sillOverhang?: number | undefined;
1126
+ sillInterior?: boolean | undefined;
1127
+ sillInteriorDepth?: number | undefined;
1128
+ sillInteriorThickness?: number | undefined;
1129
+ sillInteriorOverhang?: number | undefined;
1130
+ shutters?: "board-batten" | "louvered" | "none" | "panel" | undefined;
1131
+ shutterWidth?: number | undefined;
1132
+ shutterOpen?: number | undefined;
1133
+ shutterSides?: "both" | "left" | "right" | undefined;
1134
+ rollerShutter?: "box" | "concealed" | "none" | undefined;
1135
+ rollerShutterBoxHeight?: number | undefined;
1136
+ rollerShutterOpen?: number | undefined;
1137
+ casingFaceA?: boolean | undefined;
1138
+ casingFaceB?: boolean | undefined;
1139
+ casingWidth?: number | undefined;
949
1140
  type: "window";
950
1141
  } | {
951
1142
  object: "node";
@@ -1038,6 +1229,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1038
1229
  color: string;
1039
1230
  intensity: number;
1040
1231
  distance?: number | undefined;
1232
+ spot?: {
1233
+ direction: [number, number, number];
1234
+ angle: number;
1235
+ softness: number;
1236
+ } | undefined;
1237
+ shadows?: boolean | undefined;
1238
+ glow?: {
1239
+ size: number;
1240
+ strength: number;
1241
+ } | undefined;
1041
1242
  }[];
1042
1243
  undersides: {
1043
1244
  part?: string | undefined;
@@ -1056,6 +1257,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1056
1257
  }[] | undefined;
1057
1258
  cutout: boolean;
1058
1259
  collider: boolean;
1260
+ shape?: {
1261
+ tolerance: number;
1262
+ bands: {
1263
+ y0: number;
1264
+ y1: number;
1265
+ polygons: {
1266
+ outer: [number, number][];
1267
+ holes?: [number, number][][] | undefined;
1268
+ }[];
1269
+ }[];
1270
+ } | undefined;
1059
1271
  triangles: number;
1060
1272
  coverage?: number | undefined;
1061
1273
  uncovered?: {
@@ -1140,7 +1352,8 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1140
1352
  braceBottomSpread: number;
1141
1353
  braceTopSpread: number;
1142
1354
  bracePlateEnabled: boolean;
1143
- role?: "ornament" | undefined;
1355
+ role?: "ornament" | "post" | undefined;
1356
+ postBase?: "none" | "pier" | "post-base" | undefined;
1144
1357
  material?: {
1145
1358
  id?: string | undefined;
1146
1359
  preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
@@ -1156,6 +1369,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1156
1369
  url: string;
1157
1370
  repeat?: [number, number] | undefined;
1158
1371
  scale?: number | undefined;
1372
+ offset?: [number, number] | undefined;
1373
+ normalMap?: string | undefined;
1374
+ normalScale?: number | undefined;
1375
+ bumpMap?: string | undefined;
1376
+ bumpScale?: number | undefined;
1159
1377
  } | undefined;
1160
1378
  } | undefined;
1161
1379
  materialPreset?: string | undefined;
@@ -1201,6 +1419,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1201
1419
  url: string;
1202
1420
  repeat?: [number, number] | undefined;
1203
1421
  scale?: number | undefined;
1422
+ offset?: [number, number] | undefined;
1423
+ normalMap?: string | undefined;
1424
+ normalScale?: number | undefined;
1425
+ bumpMap?: string | undefined;
1426
+ bumpScale?: number | undefined;
1204
1427
  } | undefined;
1205
1428
  } | undefined;
1206
1429
  materialPreset?: string | undefined;
@@ -1219,6 +1442,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1219
1442
  url: string;
1220
1443
  repeat?: [number, number] | undefined;
1221
1444
  scale?: number | undefined;
1445
+ offset?: [number, number] | undefined;
1446
+ normalMap?: string | undefined;
1447
+ normalScale?: number | undefined;
1448
+ bumpMap?: string | undefined;
1449
+ bumpScale?: number | undefined;
1222
1450
  } | undefined;
1223
1451
  } | undefined;
1224
1452
  topMaterialPreset?: string | undefined;
@@ -1237,6 +1465,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1237
1465
  url: string;
1238
1466
  repeat?: [number, number] | undefined;
1239
1467
  scale?: number | undefined;
1468
+ offset?: [number, number] | undefined;
1469
+ normalMap?: string | undefined;
1470
+ normalScale?: number | undefined;
1471
+ bumpMap?: string | undefined;
1472
+ bumpScale?: number | undefined;
1240
1473
  } | undefined;
1241
1474
  } | undefined;
1242
1475
  edgeMaterialPreset?: string | undefined;
@@ -1255,6 +1488,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1255
1488
  url: string;
1256
1489
  repeat?: [number, number] | undefined;
1257
1490
  scale?: number | undefined;
1491
+ offset?: [number, number] | undefined;
1492
+ normalMap?: string | undefined;
1493
+ normalScale?: number | undefined;
1494
+ bumpMap?: string | undefined;
1495
+ bumpScale?: number | undefined;
1258
1496
  } | undefined;
1259
1497
  } | undefined;
1260
1498
  wallMaterialPreset?: string | undefined;
@@ -1324,6 +1562,39 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1324
1562
  overhang: number;
1325
1563
  gableOverhang?: number | undefined;
1326
1564
  shingleThickness: number;
1565
+ buildUp?: {
1566
+ presetId?: string | undefined;
1567
+ roofing: {
1568
+ kind: "architectural-shingle" | "asphalt-3-tab" | "clay-tile" | "concrete-tile" | "slate" | "standing-seam-metal" | "wood-shake";
1569
+ thickness: number;
1570
+ name?: string | undefined;
1571
+ };
1572
+ underlayment?: {
1573
+ kind: "felt-15" | "felt-30" | "ice-and-water" | "synthetic";
1574
+ thickness: number;
1575
+ name?: string | undefined;
1576
+ } | undefined;
1577
+ sheathing: {
1578
+ kind: "osb" | "plywood";
1579
+ thickness: number;
1580
+ name?: string | undefined;
1581
+ };
1582
+ structure: {
1583
+ system: "rafters" | "trusses";
1584
+ size: "2x10" | "2x12" | "2x4" | "2x6" | "2x8";
1585
+ spacing: number;
1586
+ };
1587
+ insulation?: {
1588
+ kind: "batt" | "blown" | "rigid";
1589
+ thickness: number;
1590
+ name?: string | undefined;
1591
+ } | undefined;
1592
+ finish?: {
1593
+ kind: "drywall" | "plaster" | "wood-plank";
1594
+ thickness: number;
1595
+ name?: string | undefined;
1596
+ } | undefined;
1597
+ } | undefined;
1327
1598
  arc?: {
1328
1599
  centerX: number;
1329
1600
  centerZ: number;
@@ -1345,6 +1616,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1345
1616
  wallShell: "auto" | "include" | "omit";
1346
1617
  shedInsetEndPanels: boolean;
1347
1618
  fascia?: boolean | undefined;
1619
+ eaveCut?: "plumb" | "plumb-level" | "square" | undefined;
1348
1620
  fasciaHighEdge?: boolean | undefined;
1349
1621
  fasciaHeight?: number | undefined;
1350
1622
  fasciaDepth?: number | undefined;
@@ -1363,9 +1635,83 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1363
1635
  url: string;
1364
1636
  repeat?: [number, number] | undefined;
1365
1637
  scale?: number | undefined;
1638
+ offset?: [number, number] | undefined;
1639
+ normalMap?: string | undefined;
1640
+ normalScale?: number | undefined;
1641
+ bumpMap?: string | undefined;
1642
+ bumpScale?: number | undefined;
1366
1643
  } | undefined;
1367
1644
  } | undefined;
1368
1645
  fasciaMaterialPreset?: string | undefined;
1646
+ heelMaterial?: {
1647
+ id?: string | undefined;
1648
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
1649
+ properties?: {
1650
+ color: string;
1651
+ roughness: number;
1652
+ metalness: number;
1653
+ opacity: number;
1654
+ transparent: boolean;
1655
+ side: "back" | "double" | "front";
1656
+ } | undefined;
1657
+ texture?: {
1658
+ url: string;
1659
+ repeat?: [number, number] | undefined;
1660
+ scale?: number | undefined;
1661
+ offset?: [number, number] | undefined;
1662
+ normalMap?: string | undefined;
1663
+ normalScale?: number | undefined;
1664
+ bumpMap?: string | undefined;
1665
+ bumpScale?: number | undefined;
1666
+ } | undefined;
1667
+ } | undefined;
1668
+ heelMaterialPreset?: string | undefined;
1669
+ gableLeftMaterial?: {
1670
+ id?: string | undefined;
1671
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
1672
+ properties?: {
1673
+ color: string;
1674
+ roughness: number;
1675
+ metalness: number;
1676
+ opacity: number;
1677
+ transparent: boolean;
1678
+ side: "back" | "double" | "front";
1679
+ } | undefined;
1680
+ texture?: {
1681
+ url: string;
1682
+ repeat?: [number, number] | undefined;
1683
+ scale?: number | undefined;
1684
+ offset?: [number, number] | undefined;
1685
+ normalMap?: string | undefined;
1686
+ normalScale?: number | undefined;
1687
+ bumpMap?: string | undefined;
1688
+ bumpScale?: number | undefined;
1689
+ } | undefined;
1690
+ } | undefined;
1691
+ gableLeftMaterialPreset?: string | undefined;
1692
+ gableRightMaterial?: {
1693
+ id?: string | undefined;
1694
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
1695
+ properties?: {
1696
+ color: string;
1697
+ roughness: number;
1698
+ metalness: number;
1699
+ opacity: number;
1700
+ transparent: boolean;
1701
+ side: "back" | "double" | "front";
1702
+ } | undefined;
1703
+ texture?: {
1704
+ url: string;
1705
+ repeat?: [number, number] | undefined;
1706
+ scale?: number | undefined;
1707
+ offset?: [number, number] | undefined;
1708
+ normalMap?: string | undefined;
1709
+ normalScale?: number | undefined;
1710
+ bumpMap?: string | undefined;
1711
+ bumpScale?: number | undefined;
1712
+ } | undefined;
1713
+ } | undefined;
1714
+ gableRightMaterialPreset?: string | undefined;
1369
1715
  gambrelLowerWidthRatio: number;
1370
1716
  gambrelLowerHeightRatio: number;
1371
1717
  mansardSteepWidthRatio: number;
@@ -1417,6 +1763,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1417
1763
  url: string;
1418
1764
  repeat?: [number, number] | undefined;
1419
1765
  scale?: number | undefined;
1766
+ offset?: [number, number] | undefined;
1767
+ normalMap?: string | undefined;
1768
+ normalScale?: number | undefined;
1769
+ bumpMap?: string | undefined;
1770
+ bumpScale?: number | undefined;
1420
1771
  } | undefined;
1421
1772
  } | undefined;
1422
1773
  materialPreset?: string | undefined;
@@ -1435,6 +1786,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1435
1786
  url: string;
1436
1787
  repeat?: [number, number] | undefined;
1437
1788
  scale?: number | undefined;
1789
+ offset?: [number, number] | undefined;
1790
+ normalMap?: string | undefined;
1791
+ normalScale?: number | undefined;
1792
+ bumpMap?: string | undefined;
1793
+ bumpScale?: number | undefined;
1438
1794
  } | undefined;
1439
1795
  } | undefined;
1440
1796
  topMaterialPreset?: string | undefined;
@@ -1453,6 +1809,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1453
1809
  url: string;
1454
1810
  repeat?: [number, number] | undefined;
1455
1811
  scale?: number | undefined;
1812
+ offset?: [number, number] | undefined;
1813
+ normalMap?: string | undefined;
1814
+ normalScale?: number | undefined;
1815
+ bumpMap?: string | undefined;
1816
+ bumpScale?: number | undefined;
1456
1817
  } | undefined;
1457
1818
  } | undefined;
1458
1819
  edgeMaterialPreset?: string | undefined;
@@ -1471,9 +1832,37 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1471
1832
  url: string;
1472
1833
  repeat?: [number, number] | undefined;
1473
1834
  scale?: number | undefined;
1835
+ offset?: [number, number] | undefined;
1836
+ normalMap?: string | undefined;
1837
+ normalScale?: number | undefined;
1838
+ bumpMap?: string | undefined;
1839
+ bumpScale?: number | undefined;
1474
1840
  } | undefined;
1475
1841
  } | undefined;
1476
1842
  wallMaterialPreset?: string | undefined;
1843
+ heelMaterial?: {
1844
+ id?: string | undefined;
1845
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
1846
+ properties?: {
1847
+ color: string;
1848
+ roughness: number;
1849
+ metalness: number;
1850
+ opacity: number;
1851
+ transparent: boolean;
1852
+ side: "back" | "double" | "front";
1853
+ } | undefined;
1854
+ texture?: {
1855
+ url: string;
1856
+ repeat?: [number, number] | undefined;
1857
+ scale?: number | undefined;
1858
+ offset?: [number, number] | undefined;
1859
+ normalMap?: string | undefined;
1860
+ normalScale?: number | undefined;
1861
+ bumpMap?: string | undefined;
1862
+ bumpScale?: number | undefined;
1863
+ } | undefined;
1864
+ } | undefined;
1865
+ heelMaterialPreset?: string | undefined;
1477
1866
  position: [number, number, number];
1478
1867
  rotation: number;
1479
1868
  support: {
@@ -1492,6 +1881,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1492
1881
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1493
1882
  thickness: number;
1494
1883
  core?: true | undefined;
1884
+ spacing?: number | undefined;
1495
1885
  material?: string | undefined;
1496
1886
  slot?: string | undefined;
1497
1887
  returns?: boolean | undefined;
@@ -1506,6 +1896,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1506
1896
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1507
1897
  thickness: number;
1508
1898
  core?: true | undefined;
1899
+ spacing?: number | undefined;
1509
1900
  material?: string | undefined;
1510
1901
  slot?: string | undefined;
1511
1902
  returns?: boolean | undefined;
@@ -1562,6 +1953,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1562
1953
  url: string;
1563
1954
  repeat?: [number, number] | undefined;
1564
1955
  scale?: number | undefined;
1956
+ offset?: [number, number] | undefined;
1957
+ normalMap?: string | undefined;
1958
+ normalScale?: number | undefined;
1959
+ bumpMap?: string | undefined;
1960
+ bumpScale?: number | undefined;
1565
1961
  } | undefined;
1566
1962
  } | undefined;
1567
1963
  materialPreset?: string | undefined;
@@ -1594,6 +1990,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1594
1990
  url: string;
1595
1991
  repeat?: [number, number] | undefined;
1596
1992
  scale?: number | undefined;
1993
+ offset?: [number, number] | undefined;
1994
+ normalMap?: string | undefined;
1995
+ normalScale?: number | undefined;
1996
+ bumpMap?: string | undefined;
1997
+ bumpScale?: number | undefined;
1597
1998
  } | undefined;
1598
1999
  } | undefined;
1599
2000
  } | undefined;
@@ -1611,6 +2012,121 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1611
2012
  zoneIds?: string[] | undefined;
1612
2013
  associatedZoneIds?: string[] | undefined;
1613
2014
  autoFromWalls: boolean;
2015
+ surfaceScript?: {
2016
+ kind: "script";
2017
+ meta?: {
2018
+ description?: string | undefined;
2019
+ category?: string | undefined;
2020
+ tags?: string[] | undefined;
2021
+ parent?: string | undefined;
2022
+ } | undefined;
2023
+ language: "bpy" | "three";
2024
+ script: string;
2025
+ params: Record<string, string | number | boolean>;
2026
+ artifact: string;
2027
+ manifest: {
2028
+ bounds: {
2029
+ min: [number, number, number];
2030
+ max: [number, number, number];
2031
+ };
2032
+ params: {
2033
+ id: string;
2034
+ label?: string | undefined;
2035
+ kind: "boolean" | "number" | "string";
2036
+ default: string | number | boolean;
2037
+ min?: number | undefined;
2038
+ max?: number | undefined;
2039
+ step?: number | undefined;
2040
+ unit?: string | undefined;
2041
+ options?: string[] | undefined;
2042
+ }[];
2043
+ parts: {
2044
+ id: string;
2045
+ label?: string | undefined;
2046
+ type?: string | undefined;
2047
+ bounds?: {
2048
+ min: [number, number, number];
2049
+ max: [number, number, number];
2050
+ } | undefined;
2051
+ }[];
2052
+ surfaces: {
2053
+ part?: string | undefined;
2054
+ y: number;
2055
+ polygon: [number, number][];
2056
+ }[];
2057
+ slots: {
2058
+ id: string;
2059
+ label?: string | undefined;
2060
+ color?: string | undefined;
2061
+ roughness?: number | undefined;
2062
+ metalness?: number | undefined;
2063
+ transparent?: boolean | undefined;
2064
+ emissive?: boolean | undefined;
2065
+ }[];
2066
+ anchors: {
2067
+ id: string;
2068
+ position: [number, number, number];
2069
+ normal?: [number, number, number] | undefined;
2070
+ }[];
2071
+ lights: {
2072
+ id: string;
2073
+ position: [number, number, number];
2074
+ color: string;
2075
+ intensity: number;
2076
+ distance?: number | undefined;
2077
+ spot?: {
2078
+ direction: [number, number, number];
2079
+ angle: number;
2080
+ softness: number;
2081
+ } | undefined;
2082
+ shadows?: boolean | undefined;
2083
+ glow?: {
2084
+ size: number;
2085
+ strength: number;
2086
+ } | undefined;
2087
+ }[];
2088
+ undersides: {
2089
+ part?: string | undefined;
2090
+ polygon: [number, number][];
2091
+ plane: [number, number, number, number];
2092
+ }[];
2093
+ animations: {
2094
+ name: string;
2095
+ duration: number;
2096
+ }[];
2097
+ cutters?: {
2098
+ host: "ceiling" | "mounted" | "slab" | "wall";
2099
+ polygon: number[][];
2100
+ minY: number;
2101
+ maxY: number;
2102
+ }[] | undefined;
2103
+ cutout: boolean;
2104
+ collider: boolean;
2105
+ shape?: {
2106
+ tolerance: number;
2107
+ bands: {
2108
+ y0: number;
2109
+ y1: number;
2110
+ polygons: {
2111
+ outer: [number, number][];
2112
+ holes?: [number, number][][] | undefined;
2113
+ }[];
2114
+ }[];
2115
+ } | undefined;
2116
+ triangles: number;
2117
+ coverage?: number | undefined;
2118
+ uncovered?: {
2119
+ min: [number, number];
2120
+ max: [number, number];
2121
+ }[] | undefined;
2122
+ };
2123
+ images?: {
2124
+ artifact: string;
2125
+ thumbnail: string;
2126
+ floorPlan: string;
2127
+ } | undefined;
2128
+ inputs: string;
2129
+ } | undefined;
1614
2130
  type: "slab";
1615
2131
  } | {
1616
2132
  object: "node";
@@ -1737,7 +2253,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1737
2253
  } | undefined;
1738
2254
  } | undefined;
1739
2255
  id: `wall_${string}`;
1740
- wallType?: "curtain" | "standard" | undefined;
2256
+ wallType?: "curtain" | "railing" | "standard" | undefined;
1741
2257
  curtainWall?: {
1742
2258
  construction: "stick" | "unitized";
1743
2259
  framing: "capped" | "horizontal-caps" | "structural-glazing" | "vertical-caps";
@@ -1771,6 +2287,15 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1771
2287
  type: "empty" | "glass" | "solid";
1772
2288
  }[];
1773
2289
  } | undefined;
2290
+ railing?: {
2291
+ style: "balusters" | "boards" | "cable" | "glass" | "metal" | "post-and-rail";
2292
+ postSpacing: number;
2293
+ postSize: number;
2294
+ infillSize: number;
2295
+ infillGap: number;
2296
+ bottomClearance: number;
2297
+ cap: boolean;
2298
+ } | undefined;
1774
2299
  children: (`door_${string}` | `item_${string}` | `leanto_${string}` | `procedural-item_${string}` | `window_${string}`)[];
1775
2300
  material?: {
1776
2301
  id?: string | undefined;
@@ -1787,6 +2312,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1787
2312
  url: string;
1788
2313
  repeat?: [number, number] | undefined;
1789
2314
  scale?: number | undefined;
2315
+ offset?: [number, number] | undefined;
2316
+ normalMap?: string | undefined;
2317
+ normalScale?: number | undefined;
2318
+ bumpMap?: string | undefined;
2319
+ bumpScale?: number | undefined;
1790
2320
  } | undefined;
1791
2321
  } | undefined;
1792
2322
  materialPreset?: string | undefined;
@@ -1805,6 +2335,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1805
2335
  url: string;
1806
2336
  repeat?: [number, number] | undefined;
1807
2337
  scale?: number | undefined;
2338
+ offset?: [number, number] | undefined;
2339
+ normalMap?: string | undefined;
2340
+ normalScale?: number | undefined;
2341
+ bumpMap?: string | undefined;
2342
+ bumpScale?: number | undefined;
1808
2343
  } | undefined;
1809
2344
  } | undefined;
1810
2345
  interiorMaterialPreset?: string | undefined;
@@ -1823,6 +2358,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1823
2358
  url: string;
1824
2359
  repeat?: [number, number] | undefined;
1825
2360
  scale?: number | undefined;
2361
+ offset?: [number, number] | undefined;
2362
+ normalMap?: string | undefined;
2363
+ normalScale?: number | undefined;
2364
+ bumpMap?: string | undefined;
2365
+ bumpScale?: number | undefined;
1826
2366
  } | undefined;
1827
2367
  } | undefined;
1828
2368
  exteriorMaterialPreset?: string | undefined;
@@ -1844,6 +2384,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1844
2384
  url: string;
1845
2385
  repeat?: [number, number] | undefined;
1846
2386
  scale?: number | undefined;
2387
+ offset?: [number, number] | undefined;
2388
+ normalMap?: string | undefined;
2389
+ normalScale?: number | undefined;
2390
+ bumpMap?: string | undefined;
2391
+ bumpScale?: number | undefined;
1847
2392
  } | undefined;
1848
2393
  } | undefined;
1849
2394
  materialPreset?: string | undefined;
@@ -1864,6 +2409,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1864
2409
  url: string;
1865
2410
  repeat?: [number, number] | undefined;
1866
2411
  scale?: number | undefined;
2412
+ offset?: [number, number] | undefined;
2413
+ normalMap?: string | undefined;
2414
+ normalScale?: number | undefined;
2415
+ bumpMap?: string | undefined;
2416
+ bumpScale?: number | undefined;
1867
2417
  } | undefined;
1868
2418
  } | undefined;
1869
2419
  materialPreset?: string | undefined;
@@ -1885,6 +2435,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1885
2435
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1886
2436
  thickness: number;
1887
2437
  core?: true | undefined;
2438
+ spacing?: number | undefined;
1888
2439
  material?: string | undefined;
1889
2440
  slot?: string | undefined;
1890
2441
  returns?: boolean | undefined;
@@ -1899,6 +2450,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1899
2450
  role: "air" | "covering" | "deck" | "fill" | "finish" | "furring" | "glazing" | "insulation" | "lining" | "membrane" | "sheathing" | "shell" | "structure" | "substrate" | "underlay";
1900
2451
  thickness: number;
1901
2452
  core?: true | undefined;
2453
+ spacing?: number | undefined;
1902
2454
  material?: string | undefined;
1903
2455
  slot?: string | undefined;
1904
2456
  returns?: boolean | undefined;
@@ -1914,6 +2466,7 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
1914
2466
  } | undefined;
1915
2467
  justification?: "a" | "b" | undefined;
1916
2468
  height?: number | undefined;
2469
+ endHeightOffset?: number | undefined;
1917
2470
  curveOffset?: number | undefined;
1918
2471
  supportSlabId?: string | undefined;
1919
2472
  supportOffset?: number | undefined;
@@ -2016,6 +2569,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2016
2569
  color: string;
2017
2570
  intensity: number;
2018
2571
  distance?: number | undefined;
2572
+ spot?: {
2573
+ direction: [number, number, number];
2574
+ angle: number;
2575
+ softness: number;
2576
+ } | undefined;
2577
+ shadows?: boolean | undefined;
2578
+ glow?: {
2579
+ size: number;
2580
+ strength: number;
2581
+ } | undefined;
2019
2582
  }[];
2020
2583
  undersides: {
2021
2584
  part?: string | undefined;
@@ -2034,6 +2597,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2034
2597
  }[] | undefined;
2035
2598
  cutout: boolean;
2036
2599
  collider: boolean;
2600
+ shape?: {
2601
+ tolerance: number;
2602
+ bands: {
2603
+ y0: number;
2604
+ y1: number;
2605
+ polygons: {
2606
+ outer: [number, number][];
2607
+ holes?: [number, number][][] | undefined;
2608
+ }[];
2609
+ }[];
2610
+ } | undefined;
2037
2611
  triangles: number;
2038
2612
  coverage?: number | undefined;
2039
2613
  uncovered?: {
@@ -2111,6 +2685,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2111
2685
  color: string;
2112
2686
  intensity: number;
2113
2687
  distance?: number | undefined;
2688
+ spot?: {
2689
+ direction: [number, number, number];
2690
+ angle: number;
2691
+ softness: number;
2692
+ } | undefined;
2693
+ shadows?: boolean | undefined;
2694
+ glow?: {
2695
+ size: number;
2696
+ strength: number;
2697
+ } | undefined;
2114
2698
  }[];
2115
2699
  undersides: {
2116
2700
  part?: string | undefined;
@@ -2129,6 +2713,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2129
2713
  }[] | undefined;
2130
2714
  cutout: boolean;
2131
2715
  collider: boolean;
2716
+ shape?: {
2717
+ tolerance: number;
2718
+ bands: {
2719
+ y0: number;
2720
+ y1: number;
2721
+ polygons: {
2722
+ outer: [number, number][];
2723
+ holes?: [number, number][][] | undefined;
2724
+ }[];
2725
+ }[];
2726
+ } | undefined;
2132
2727
  triangles: number;
2133
2728
  coverage?: number | undefined;
2134
2729
  uncovered?: {
@@ -2255,6 +2850,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2255
2850
  url: string;
2256
2851
  repeat?: [number, number] | undefined;
2257
2852
  scale?: number | undefined;
2853
+ offset?: [number, number] | undefined;
2854
+ normalMap?: string | undefined;
2855
+ normalScale?: number | undefined;
2856
+ bumpMap?: string | undefined;
2857
+ bumpScale?: number | undefined;
2258
2858
  } | undefined;
2259
2859
  } | undefined;
2260
2860
  materialPreset?: string | undefined;
@@ -2303,6 +2903,42 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2303
2903
  color: string;
2304
2904
  style: "guard" | "horizontal" | "picket" | "privacy" | "rail" | "slat";
2305
2905
  type: "fence";
2906
+ } | {
2907
+ object: "node";
2908
+ name?: string | undefined;
2909
+ parentId: string | null;
2910
+ visible: boolean;
2911
+ camera?: {
2912
+ position: [number, number, number];
2913
+ target: [number, number, number];
2914
+ mode: "orthographic" | "perspective";
2915
+ fov?: number | undefined;
2916
+ zoom?: number | undefined;
2917
+ } | undefined;
2918
+ metadata: Record<string, unknown>;
2919
+ provenance?: {
2920
+ refs: {
2921
+ ns?: string | undefined;
2922
+ id: string;
2923
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
2924
+ }[];
2925
+ lineage?: {
2926
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
2927
+ fromIds: string[];
2928
+ } | undefined;
2929
+ } | undefined;
2930
+ id: `beam_${string}`;
2931
+ start: [number, number];
2932
+ end: [number, number];
2933
+ width: number;
2934
+ depth: number;
2935
+ size?: string | undefined;
2936
+ plies: number;
2937
+ material: "glulam" | "lvl" | "pressure-treated" | "sawn" | "steel";
2938
+ placement: "dropped" | "flush";
2939
+ topElevation?: number | undefined;
2940
+ supportSlabId?: string | undefined;
2941
+ type: "beam";
2306
2942
  } | {
2307
2943
  object: "node";
2308
2944
  name?: string | undefined;
@@ -2726,6 +3362,16 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2726
3362
  color: string;
2727
3363
  intensity: number;
2728
3364
  distance?: number | undefined;
3365
+ spot?: {
3366
+ direction: [number, number, number];
3367
+ angle: number;
3368
+ softness: number;
3369
+ } | undefined;
3370
+ shadows?: boolean | undefined;
3371
+ glow?: {
3372
+ size: number;
3373
+ strength: number;
3374
+ } | undefined;
2729
3375
  }[];
2730
3376
  undersides: {
2731
3377
  part?: string | undefined;
@@ -2744,6 +3390,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2744
3390
  }[] | undefined;
2745
3391
  cutout: boolean;
2746
3392
  collider: boolean;
3393
+ shape?: {
3394
+ tolerance: number;
3395
+ bands: {
3396
+ y0: number;
3397
+ y1: number;
3398
+ polygons: {
3399
+ outer: [number, number][];
3400
+ holes?: [number, number][][] | undefined;
3401
+ }[];
3402
+ }[];
3403
+ } | undefined;
2747
3404
  triangles: number;
2748
3405
  coverage?: number | undefined;
2749
3406
  uncovered?: {
@@ -2758,6 +3415,19 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2758
3415
  } | undefined;
2759
3416
  inputs: string;
2760
3417
  } | undefined;
3418
+ drop?: number | undefined;
3419
+ } | undefined;
3420
+ roomType?: "deck" | "patio" | "porch" | undefined;
3421
+ porchFraming?: {
3422
+ auto?: boolean | undefined;
3423
+ postSize?: string | undefined;
3424
+ postSpacing?: number | undefined;
3425
+ beamSize?: string | undefined;
3426
+ } | undefined;
3427
+ decking?: {
3428
+ boardSize?: "2x4" | "2x6" | "5/4x6" | "composite" | undefined;
3429
+ gap?: number | undefined;
3430
+ direction?: "diagonal" | "parallel" | "perpendicular" | undefined;
2761
3431
  } | undefined;
2762
3432
  ceiling?: {
2763
3433
  regions?: {
@@ -2833,6 +3503,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2833
3503
  url: string;
2834
3504
  repeat?: [number, number] | undefined;
2835
3505
  scale?: number | undefined;
3506
+ offset?: [number, number] | undefined;
3507
+ normalMap?: string | undefined;
3508
+ normalScale?: number | undefined;
3509
+ bumpMap?: string | undefined;
3510
+ bumpScale?: number | undefined;
2836
3511
  } | undefined;
2837
3512
  } | undefined;
2838
3513
  materialPreset?: string | undefined;
@@ -2905,6 +3580,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2905
3580
  url: string;
2906
3581
  repeat?: [number, number] | undefined;
2907
3582
  scale?: number | undefined;
3583
+ offset?: [number, number] | undefined;
3584
+ normalMap?: string | undefined;
3585
+ normalScale?: number | undefined;
3586
+ bumpMap?: string | undefined;
3587
+ bumpScale?: number | undefined;
2908
3588
  } | undefined;
2909
3589
  } | undefined;
2910
3590
  materialPreset?: string | undefined;
@@ -2923,6 +3603,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2923
3603
  url: string;
2924
3604
  repeat?: [number, number] | undefined;
2925
3605
  scale?: number | undefined;
3606
+ offset?: [number, number] | undefined;
3607
+ normalMap?: string | undefined;
3608
+ normalScale?: number | undefined;
3609
+ bumpMap?: string | undefined;
3610
+ bumpScale?: number | undefined;
2926
3611
  } | undefined;
2927
3612
  } | undefined;
2928
3613
  railingMaterialPreset?: string | undefined;
@@ -2941,6 +3626,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2941
3626
  url: string;
2942
3627
  repeat?: [number, number] | undefined;
2943
3628
  scale?: number | undefined;
3629
+ offset?: [number, number] | undefined;
3630
+ normalMap?: string | undefined;
3631
+ normalScale?: number | undefined;
3632
+ bumpMap?: string | undefined;
3633
+ bumpScale?: number | undefined;
2944
3634
  } | undefined;
2945
3635
  } | undefined;
2946
3636
  treadMaterialPreset?: string | undefined;
@@ -2959,6 +3649,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2959
3649
  url: string;
2960
3650
  repeat?: [number, number] | undefined;
2961
3651
  scale?: number | undefined;
3652
+ offset?: [number, number] | undefined;
3653
+ normalMap?: string | undefined;
3654
+ normalScale?: number | undefined;
3655
+ bumpMap?: string | undefined;
3656
+ bumpScale?: number | undefined;
2962
3657
  } | undefined;
2963
3658
  } | undefined;
2964
3659
  sideMaterialPreset?: string | undefined;
@@ -2997,6 +3692,17 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
2997
3692
  stringerWidth: number;
2998
3693
  stringerDepth: number;
2999
3694
  } | undefined;
3695
+ structure?: {
3696
+ type: "concrete" | "steel-stringers" | "wood-stringers";
3697
+ stringerStock: "2x10" | "2x12";
3698
+ stringerType: "cut" | "housed";
3699
+ stringerSpacing: number;
3700
+ stringerCount?: number | undefined;
3701
+ treadStock?: "2x12" | "2x6-pair" | "5/4x6-pair" | "plywood-finish" | undefined;
3702
+ closedRisers?: boolean | undefined;
3703
+ treated?: boolean | undefined;
3704
+ nosing?: number | undefined;
3705
+ } | undefined;
3000
3706
  innerRadius: number;
3001
3707
  sweepAngle: number;
3002
3708
  topLandingMode: "integrated" | "none";
@@ -3102,6 +3808,8 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
3102
3808
  realLengthMeters: number;
3103
3809
  measuredLengthUnits: number;
3104
3810
  metersPerUnit: number;
3811
+ displayLength?: number | undefined;
3812
+ displayUnit?: "centimeters" | "feet" | "inches" | "meters" | undefined;
3105
3813
  label: string;
3106
3814
  } | null;
3107
3815
  type: "guide";
@@ -3296,6 +4004,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
3296
4004
  url: string;
3297
4005
  repeat?: [number, number] | undefined;
3298
4006
  scale?: number | undefined;
4007
+ offset?: [number, number] | undefined;
4008
+ normalMap?: string | undefined;
4009
+ normalScale?: number | undefined;
4010
+ bumpMap?: string | undefined;
4011
+ bumpScale?: number | undefined;
3299
4012
  } | undefined;
3300
4013
  } | undefined;
3301
4014
  materialPreset?: string | undefined;
@@ -3675,78 +4388,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
3675
4388
  } | undefined;
3676
4389
  } | undefined;
3677
4390
  id: `level_${string}`;
3678
- 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}`)[];
4391
+ 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}`)[];
3679
4392
  level: number;
3680
4393
  baseElevation: number;
3681
4394
  height?: number | undefined;
3682
4395
  type: "level";
3683
- } | {
3684
- object: "node";
3685
- name?: string | undefined;
3686
- parentId: string | null;
3687
- visible: boolean;
3688
- camera?: {
3689
- position: [number, number, number];
3690
- target: [number, number, number];
3691
- mode: "orthographic" | "perspective";
3692
- fov?: number | undefined;
3693
- zoom?: number | undefined;
3694
- } | undefined;
3695
- metadata: Record<string, unknown>;
3696
- provenance?: {
3697
- refs: {
3698
- ns?: string | undefined;
3699
- id: string;
3700
- role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
3701
- }[];
3702
- lineage?: {
3703
- op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
3704
- fromIds: string[];
3705
- } | undefined;
3706
- } | undefined;
3707
- id: `elevator_${string}`;
3708
- material?: {
3709
- id?: string | undefined;
3710
- preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
3711
- properties?: {
3712
- color: string;
3713
- roughness: number;
3714
- metalness: number;
3715
- opacity: number;
3716
- transparent: boolean;
3717
- side: "back" | "double" | "front";
3718
- } | undefined;
3719
- texture?: {
3720
- url: string;
3721
- repeat?: [number, number] | undefined;
3722
- scale?: number | undefined;
3723
- } | undefined;
3724
- } | undefined;
3725
- materialPreset?: string | undefined;
3726
- slots?: Record<string, string> | undefined;
3727
- position: [number, number, number];
3728
- rotation: number;
3729
- width: number;
3730
- depth: number;
3731
- shaftWidth?: number | undefined;
3732
- shaftDepth?: number | undefined;
3733
- shaftWallThickness: number;
3734
- shaftStyle: "glass" | "solid";
3735
- cabHeight: number;
3736
- doorWidth: number;
3737
- doorHeight: number;
3738
- doorStyle: "center-opening" | "single-left" | "single-right";
3739
- doorPanelStyle: "glass-frame" | "segmented-panel" | "solid-panel";
3740
- fromLevelId: string | null;
3741
- toLevelId: string | null;
3742
- servedLevelIds?: string[] | undefined;
3743
- disabledLevelIds: string[];
3744
- serviceOnlyLevelIds: string[];
3745
- defaultLevelId: string | null;
3746
- speed: number;
3747
- doorDurationMs: number;
3748
- dwellMs: number;
3749
- type: "elevator";
3750
4396
  } | {
3751
4397
  object: "node";
3752
4398
  parentId: string | null;
@@ -3946,6 +4592,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
3946
4592
  url: string;
3947
4593
  repeat?: [number, number] | undefined;
3948
4594
  scale?: number | undefined;
4595
+ offset?: [number, number] | undefined;
4596
+ normalMap?: string | undefined;
4597
+ normalScale?: number | undefined;
4598
+ bumpMap?: string | undefined;
4599
+ bumpScale?: number | undefined;
3949
4600
  } | undefined;
3950
4601
  } | undefined;
3951
4602
  materialPreset?: string | undefined;
@@ -4106,6 +4757,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4106
4757
  url: string;
4107
4758
  repeat?: [number, number] | undefined;
4108
4759
  scale?: number | undefined;
4760
+ offset?: [number, number] | undefined;
4761
+ normalMap?: string | undefined;
4762
+ normalScale?: number | undefined;
4763
+ bumpMap?: string | undefined;
4764
+ bumpScale?: number | undefined;
4109
4765
  } | undefined;
4110
4766
  } | undefined;
4111
4767
  materialPreset?: string | undefined;
@@ -4202,6 +4858,71 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4202
4858
  topFinishHeight: number;
4203
4859
  topFinishDepth: number;
4204
4860
  type: "cabinet-module";
4861
+ } | {
4862
+ object: "node";
4863
+ name?: string | undefined;
4864
+ parentId: string | null;
4865
+ visible: boolean;
4866
+ camera?: {
4867
+ position: [number, number, number];
4868
+ target: [number, number, number];
4869
+ mode: "orthographic" | "perspective";
4870
+ fov?: number | undefined;
4871
+ zoom?: number | undefined;
4872
+ } | undefined;
4873
+ metadata: Record<string, unknown>;
4874
+ provenance?: {
4875
+ refs: {
4876
+ ns?: string | undefined;
4877
+ id: string;
4878
+ role?: "absorbed" | "alias" | "derived" | "piece" | "primary" | undefined;
4879
+ }[];
4880
+ lineage?: {
4881
+ op: "attach" | "convert" | "duplicate" | "import" | "make-independent" | "merge" | "promote" | "split";
4882
+ fromIds: string[];
4883
+ } | undefined;
4884
+ } | undefined;
4885
+ id: `bvent_${string}`;
4886
+ material?: {
4887
+ id?: string | undefined;
4888
+ preset?: "brick" | "concrete" | "custom" | "glass" | "marble" | "metal" | "plaster" | "tile" | "white" | "wood" | undefined;
4889
+ properties?: {
4890
+ color: string;
4891
+ roughness: number;
4892
+ metalness: number;
4893
+ opacity: number;
4894
+ transparent: boolean;
4895
+ side: "back" | "double" | "front";
4896
+ } | undefined;
4897
+ texture?: {
4898
+ url: string;
4899
+ repeat?: [number, number] | undefined;
4900
+ scale?: number | undefined;
4901
+ offset?: [number, number] | undefined;
4902
+ normalMap?: string | undefined;
4903
+ normalScale?: number | undefined;
4904
+ bumpMap?: string | undefined;
4905
+ bumpScale?: number | undefined;
4906
+ } | undefined;
4907
+ } | undefined;
4908
+ slots?: Record<string, string> | undefined;
4909
+ materialPreset: string;
4910
+ roofSegmentId?: string | undefined;
4911
+ position: [number, number, number];
4912
+ rotation: number;
4913
+ width: number;
4914
+ depth: number;
4915
+ height: number;
4916
+ hoodOverhang: number;
4917
+ topTaper: number;
4918
+ capHeight: number;
4919
+ capGap: number;
4920
+ domeCurvature: number;
4921
+ baseInset: number;
4922
+ baseHeight: number;
4923
+ cornerBevel: number;
4924
+ style: "box" | "cap" | "dome";
4925
+ type: "box-vent";
4205
4926
  } | {
4206
4927
  object: "node";
4207
4928
  name?: string | undefined;
@@ -4242,6 +4963,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4242
4963
  url: string;
4243
4964
  repeat?: [number, number] | undefined;
4244
4965
  scale?: number | undefined;
4966
+ offset?: [number, number] | undefined;
4967
+ normalMap?: string | undefined;
4968
+ normalScale?: number | undefined;
4969
+ bumpMap?: string | undefined;
4970
+ bumpScale?: number | undefined;
4245
4971
  } | undefined;
4246
4972
  } | undefined;
4247
4973
  materialPreset?: string | undefined;
@@ -4294,6 +5020,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4294
5020
  url: string;
4295
5021
  repeat?: [number, number] | undefined;
4296
5022
  scale?: number | undefined;
5023
+ offset?: [number, number] | undefined;
5024
+ normalMap?: string | undefined;
5025
+ normalScale?: number | undefined;
5026
+ bumpMap?: string | undefined;
5027
+ bumpScale?: number | undefined;
4297
5028
  } | undefined;
4298
5029
  } | undefined;
4299
5030
  slots?: Record<string, string> | undefined;
@@ -4349,6 +5080,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4349
5080
  url: string;
4350
5081
  repeat?: [number, number] | undefined;
4351
5082
  scale?: number | undefined;
5083
+ offset?: [number, number] | undefined;
5084
+ normalMap?: string | undefined;
5085
+ normalScale?: number | undefined;
5086
+ bumpMap?: string | undefined;
5087
+ bumpScale?: number | undefined;
4352
5088
  } | undefined;
4353
5089
  } | undefined;
4354
5090
  slots?: Record<string, string> | undefined;
@@ -4402,6 +5138,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4402
5138
  url: string;
4403
5139
  repeat?: [number, number] | undefined;
4404
5140
  scale?: number | undefined;
5141
+ offset?: [number, number] | undefined;
5142
+ normalMap?: string | undefined;
5143
+ normalScale?: number | undefined;
5144
+ bumpMap?: string | undefined;
5145
+ bumpScale?: number | undefined;
4405
5146
  } | undefined;
4406
5147
  } | undefined;
4407
5148
  slots?: Record<string, string> | undefined;
@@ -4456,6 +5197,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4456
5197
  url: string;
4457
5198
  repeat?: [number, number] | undefined;
4458
5199
  scale?: number | undefined;
5200
+ offset?: [number, number] | undefined;
5201
+ normalMap?: string | undefined;
5202
+ normalScale?: number | undefined;
5203
+ bumpMap?: string | undefined;
5204
+ bumpScale?: number | undefined;
4459
5205
  } | undefined;
4460
5206
  } | undefined;
4461
5207
  slots?: Record<string, string> | undefined;
@@ -4523,6 +5269,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4523
5269
  url: string;
4524
5270
  repeat?: [number, number] | undefined;
4525
5271
  scale?: number | undefined;
5272
+ offset?: [number, number] | undefined;
5273
+ normalMap?: string | undefined;
5274
+ normalScale?: number | undefined;
5275
+ bumpMap?: string | undefined;
5276
+ bumpScale?: number | undefined;
4526
5277
  } | undefined;
4527
5278
  } | undefined;
4528
5279
  materialPreset?: string | undefined;
@@ -4541,6 +5292,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4541
5292
  url: string;
4542
5293
  repeat?: [number, number] | undefined;
4543
5294
  scale?: number | undefined;
5295
+ offset?: [number, number] | undefined;
5296
+ normalMap?: string | undefined;
5297
+ normalScale?: number | undefined;
5298
+ bumpMap?: string | undefined;
5299
+ bumpScale?: number | undefined;
4544
5300
  } | undefined;
4545
5301
  } | undefined;
4546
5302
  topMaterialPreset?: string | undefined;
@@ -4622,6 +5378,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4622
5378
  url: string;
4623
5379
  repeat?: [number, number] | undefined;
4624
5380
  scale?: number | undefined;
5381
+ offset?: [number, number] | undefined;
5382
+ normalMap?: string | undefined;
5383
+ normalScale?: number | undefined;
5384
+ bumpMap?: string | undefined;
5385
+ bumpScale?: number | undefined;
4625
5386
  } | undefined;
4626
5387
  } | undefined;
4627
5388
  materialPreset?: string | undefined;
@@ -4640,6 +5401,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4640
5401
  url: string;
4641
5402
  repeat?: [number, number] | undefined;
4642
5403
  scale?: number | undefined;
5404
+ offset?: [number, number] | undefined;
5405
+ normalMap?: string | undefined;
5406
+ normalScale?: number | undefined;
5407
+ bumpMap?: string | undefined;
5408
+ bumpScale?: number | undefined;
4643
5409
  } | undefined;
4644
5410
  } | undefined;
4645
5411
  panelMaterialPreset?: string | undefined;
@@ -4700,6 +5466,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4700
5466
  url: string;
4701
5467
  repeat?: [number, number] | undefined;
4702
5468
  scale?: number | undefined;
5469
+ offset?: [number, number] | undefined;
5470
+ normalMap?: string | undefined;
5471
+ normalScale?: number | undefined;
5472
+ bumpMap?: string | undefined;
5473
+ bumpScale?: number | undefined;
4703
5474
  } | undefined;
4704
5475
  } | undefined;
4705
5476
  materialPreset?: string | undefined;
@@ -4718,6 +5489,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4718
5489
  url: string;
4719
5490
  repeat?: [number, number] | undefined;
4720
5491
  scale?: number | undefined;
5492
+ offset?: [number, number] | undefined;
5493
+ normalMap?: string | undefined;
5494
+ normalScale?: number | undefined;
5495
+ bumpMap?: string | undefined;
5496
+ bumpScale?: number | undefined;
4721
5497
  } | undefined;
4722
5498
  } | undefined;
4723
5499
  glassMaterialPreset?: string | undefined;
@@ -4785,6 +5561,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4785
5561
  url: string;
4786
5562
  repeat?: [number, number] | undefined;
4787
5563
  scale?: number | undefined;
5564
+ offset?: [number, number] | undefined;
5565
+ normalMap?: string | undefined;
5566
+ normalScale?: number | undefined;
5567
+ bumpMap?: string | undefined;
5568
+ bumpScale?: number | undefined;
4788
5569
  } | undefined;
4789
5570
  } | undefined;
4790
5571
  materialPreset?: string | undefined;
@@ -4803,6 +5584,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4803
5584
  url: string;
4804
5585
  repeat?: [number, number] | undefined;
4805
5586
  scale?: number | undefined;
5587
+ offset?: [number, number] | undefined;
5588
+ normalMap?: string | undefined;
5589
+ normalScale?: number | undefined;
5590
+ bumpMap?: string | undefined;
5591
+ bumpScale?: number | undefined;
4806
5592
  } | undefined;
4807
5593
  } | undefined;
4808
5594
  topMaterialPreset?: string | undefined;
@@ -4821,6 +5607,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4821
5607
  url: string;
4822
5608
  repeat?: [number, number] | undefined;
4823
5609
  scale?: number | undefined;
5610
+ offset?: [number, number] | undefined;
5611
+ normalMap?: string | undefined;
5612
+ normalScale?: number | undefined;
5613
+ bumpMap?: string | undefined;
5614
+ bumpScale?: number | undefined;
4824
5615
  } | undefined;
4825
5616
  } | undefined;
4826
5617
  sideMaterialPreset?: string | undefined;
@@ -4839,6 +5630,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4839
5630
  url: string;
4840
5631
  repeat?: [number, number] | undefined;
4841
5632
  scale?: number | undefined;
5633
+ offset?: [number, number] | undefined;
5634
+ normalMap?: string | undefined;
5635
+ normalScale?: number | undefined;
5636
+ bumpMap?: string | undefined;
5637
+ bumpScale?: number | undefined;
4842
5638
  } | undefined;
4843
5639
  } | undefined;
4844
5640
  wallMaterialPreset?: string | undefined;
@@ -4909,6 +5705,11 @@ export declare function applyToScratch(nodes: StructureNodes, batch: WallTopolog
4909
5705
  url: string;
4910
5706
  repeat?: [number, number] | undefined;
4911
5707
  scale?: number | undefined;
5708
+ offset?: [number, number] | undefined;
5709
+ normalMap?: string | undefined;
5710
+ normalScale?: number | undefined;
5711
+ bumpMap?: string | undefined;
5712
+ bumpScale?: number | undefined;
4912
5713
  } | undefined;
4913
5714
  } | undefined;
4914
5715
  slots?: Record<string, string> | undefined;