@pascal-app/core 1.0.4 → 1.0.5

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 (866) hide show
  1. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts +102 -90
  2. package/dist/agent-operations/__fixtures__/add-object-cases.d.ts.map +1 -1
  3. package/dist/agent-operations/__fixtures__/add-object-cases.js +301 -1
  4. package/dist/agent-operations/__fixtures__/add-stair-cases.d.ts +3 -0
  5. package/dist/agent-operations/__fixtures__/add-stair-cases.d.ts.map +1 -0
  6. package/dist/agent-operations/__fixtures__/add-stair-cases.js +176 -0
  7. package/dist/agent-operations/__fixtures__/build-room-cases.d.ts.map +1 -1
  8. package/dist/agent-operations/__fixtures__/build-room-cases.js +410 -40
  9. package/dist/agent-operations/__fixtures__/cases.d.ts +18 -3
  10. package/dist/agent-operations/__fixtures__/cases.d.ts.map +1 -1
  11. package/dist/agent-operations/__fixtures__/cases.js +183 -4
  12. package/dist/agent-operations/__fixtures__/corner-window-cases.d.ts +3 -0
  13. package/dist/agent-operations/__fixtures__/corner-window-cases.d.ts.map +1 -0
  14. package/dist/agent-operations/__fixtures__/corner-window-cases.js +155 -0
  15. package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts +14 -0
  16. package/dist/agent-operations/__fixtures__/design-brief-cases.d.ts.map +1 -0
  17. package/dist/agent-operations/__fixtures__/design-brief-cases.js +709 -0
  18. package/dist/agent-operations/__fixtures__/finish-cases.d.ts +7 -0
  19. package/dist/agent-operations/__fixtures__/finish-cases.d.ts.map +1 -0
  20. package/dist/agent-operations/__fixtures__/finish-cases.js +758 -0
  21. package/dist/agent-operations/__fixtures__/lot-info-cases.d.ts +3 -0
  22. package/dist/agent-operations/__fixtures__/lot-info-cases.d.ts.map +1 -0
  23. package/dist/agent-operations/__fixtures__/lot-info-cases.js +370 -0
  24. package/dist/agent-operations/__fixtures__/merge-windows-cases.d.ts +3 -0
  25. package/dist/agent-operations/__fixtures__/merge-windows-cases.d.ts.map +1 -0
  26. package/dist/agent-operations/__fixtures__/merge-windows-cases.js +321 -0
  27. package/dist/agent-operations/__fixtures__/native-materials.d.ts +2237 -0
  28. package/dist/agent-operations/__fixtures__/native-materials.d.ts.map +1 -0
  29. package/dist/agent-operations/__fixtures__/native-materials.js +82 -0
  30. package/dist/agent-operations/__fixtures__/node-read-cases.d.ts +4 -0
  31. package/dist/agent-operations/__fixtures__/node-read-cases.d.ts.map +1 -0
  32. package/dist/agent-operations/__fixtures__/node-read-cases.js +639 -0
  33. package/dist/agent-operations/__fixtures__/notation-cases.d.ts +24 -0
  34. package/dist/agent-operations/__fixtures__/notation-cases.d.ts.map +1 -0
  35. package/dist/agent-operations/__fixtures__/notation-cases.js +356 -0
  36. package/dist/agent-operations/__fixtures__/place-items-cases.d.ts.map +1 -1
  37. package/dist/agent-operations/__fixtures__/place-items-cases.js +80 -2
  38. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts +19726 -0
  39. package/dist/agent-operations/__fixtures__/roof-bearing-cases.d.ts.map +1 -0
  40. package/dist/agent-operations/__fixtures__/roof-bearing-cases.js +106 -0
  41. package/dist/agent-operations/__fixtures__/roof-cases.d.ts +9 -0
  42. package/dist/agent-operations/__fixtures__/roof-cases.d.ts.map +1 -0
  43. package/dist/agent-operations/__fixtures__/roof-cases.js +382 -0
  44. package/dist/agent-operations/__fixtures__/room-cases.d.ts +2 -1
  45. package/dist/agent-operations/__fixtures__/room-cases.d.ts.map +1 -1
  46. package/dist/agent-operations/__fixtures__/room-cases.js +136 -1
  47. package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts +4 -0
  48. package/dist/agent-operations/__fixtures__/scene-check-cases.d.ts.map +1 -0
  49. package/dist/agent-operations/__fixtures__/scene-check-cases.js +417 -0
  50. package/dist/agent-operations/__fixtures__/search-assets-cases.d.ts.map +1 -1
  51. package/dist/agent-operations/__fixtures__/search-assets-cases.js +15 -3
  52. package/dist/agent-operations/__fixtures__/site-cases.d.ts +290 -0
  53. package/dist/agent-operations/__fixtures__/site-cases.d.ts.map +1 -0
  54. package/dist/agent-operations/__fixtures__/site-cases.js +780 -0
  55. package/dist/agent-operations/__fixtures__/structure-cases.d.ts +1 -0
  56. package/dist/agent-operations/__fixtures__/structure-cases.d.ts.map +1 -1
  57. package/dist/agent-operations/__fixtures__/structure-cases.js +630 -3
  58. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts +311 -1
  59. package/dist/agent-operations/__fixtures__/verify-scene-cases.d.ts.map +1 -1
  60. package/dist/agent-operations/__fixtures__/verify-scene-cases.js +59 -11
  61. package/dist/agent-operations/__fixtures__/view-assets-cases.d.ts +3 -0
  62. package/dist/agent-operations/__fixtures__/view-assets-cases.d.ts.map +1 -0
  63. package/dist/agent-operations/__fixtures__/view-assets-cases.js +155 -0
  64. package/dist/agent-operations/__fixtures__/view-scene-cases.d.ts +50 -0
  65. package/dist/agent-operations/__fixtures__/view-scene-cases.d.ts.map +1 -0
  66. package/dist/agent-operations/__fixtures__/view-scene-cases.js +425 -0
  67. package/dist/agent-operations/achieved.d.ts +5 -0
  68. package/dist/agent-operations/achieved.d.ts.map +1 -1
  69. package/dist/agent-operations/achieved.js +21 -1
  70. package/dist/agent-operations/add-column.d.ts.map +1 -1
  71. package/dist/agent-operations/add-column.js +3 -1
  72. package/dist/agent-operations/add-fence.d.ts +18 -0
  73. package/dist/agent-operations/add-fence.d.ts.map +1 -0
  74. package/dist/agent-operations/add-fence.js +48 -0
  75. package/dist/agent-operations/add-level.d.ts +4 -1
  76. package/dist/agent-operations/add-level.d.ts.map +1 -1
  77. package/dist/agent-operations/add-level.js +48 -12
  78. package/dist/agent-operations/add-object.d.ts +38 -9
  79. package/dist/agent-operations/add-object.d.ts.map +1 -1
  80. package/dist/agent-operations/add-object.js +172 -11
  81. package/dist/agent-operations/add-wall.d.ts +1 -3
  82. package/dist/agent-operations/add-wall.d.ts.map +1 -1
  83. package/dist/agent-operations/add-wall.js +35 -9
  84. package/dist/agent-operations/apply-changes.d.ts +7 -1
  85. package/dist/agent-operations/apply-changes.d.ts.map +1 -1
  86. package/dist/agent-operations/apply-changes.js +54 -22
  87. package/dist/agent-operations/apply-outcome.d.ts +6 -0
  88. package/dist/agent-operations/apply-outcome.d.ts.map +1 -1
  89. package/dist/agent-operations/apply-outcome.js +23 -8
  90. package/dist/agent-operations/asset-views.d.ts +75 -0
  91. package/dist/agent-operations/asset-views.d.ts.map +1 -0
  92. package/dist/agent-operations/asset-views.js +234 -0
  93. package/dist/agent-operations/author-scene.d.ts +157 -0
  94. package/dist/agent-operations/author-scene.d.ts.map +1 -0
  95. package/dist/agent-operations/author-scene.js +1076 -0
  96. package/dist/agent-operations/authored-scene-merge.d.ts +4 -0
  97. package/dist/agent-operations/authored-scene-merge.d.ts.map +1 -0
  98. package/dist/agent-operations/authored-scene-merge.js +96 -0
  99. package/dist/agent-operations/batch.d.ts +22 -0
  100. package/dist/agent-operations/batch.d.ts.map +1 -0
  101. package/dist/agent-operations/batch.js +104 -0
  102. package/dist/agent-operations/ceiling-object-observations.d.ts +31 -0
  103. package/dist/agent-operations/ceiling-object-observations.d.ts.map +1 -0
  104. package/dist/agent-operations/ceiling-object-observations.js +111 -0
  105. package/dist/agent-operations/corner-window.d.ts +19 -0
  106. package/dist/agent-operations/corner-window.d.ts.map +1 -0
  107. package/dist/agent-operations/corner-window.js +84 -0
  108. package/dist/agent-operations/create-roof.d.ts +32 -0
  109. package/dist/agent-operations/create-roof.d.ts.map +1 -0
  110. package/dist/agent-operations/create-roof.js +304 -0
  111. package/dist/agent-operations/create-room.d.ts +2 -0
  112. package/dist/agent-operations/create-room.d.ts.map +1 -1
  113. package/dist/agent-operations/create-room.js +73 -5
  114. package/dist/agent-operations/create-stair.d.ts +6 -28
  115. package/dist/agent-operations/create-stair.d.ts.map +1 -1
  116. package/dist/agent-operations/create-stair.js +187 -104
  117. package/dist/agent-operations/design-brief.d.ts +38 -0
  118. package/dist/agent-operations/design-brief.d.ts.map +1 -0
  119. package/dist/agent-operations/design-brief.js +300 -0
  120. package/dist/agent-operations/designs.d.ts +24 -0
  121. package/dist/agent-operations/designs.d.ts.map +1 -0
  122. package/dist/agent-operations/designs.js +48 -0
  123. package/dist/agent-operations/door-clearance.d.ts +16 -1
  124. package/dist/agent-operations/door-clearance.d.ts.map +1 -1
  125. package/dist/agent-operations/door-clearance.js +61 -4
  126. package/dist/agent-operations/duplicate-level.d.ts.map +1 -1
  127. package/dist/agent-operations/duplicate-level.js +2 -1
  128. package/dist/agent-operations/find-by-type.d.ts +14 -7
  129. package/dist/agent-operations/find-by-type.d.ts.map +1 -1
  130. package/dist/agent-operations/find-by-type.js +266 -43
  131. package/dist/agent-operations/furnish-room.d.ts +22 -1
  132. package/dist/agent-operations/furnish-room.d.ts.map +1 -1
  133. package/dist/agent-operations/furnish-room.js +66 -19
  134. package/dist/agent-operations/furniture-kind.d.ts +22 -0
  135. package/dist/agent-operations/furniture-kind.d.ts.map +1 -0
  136. package/dist/agent-operations/furniture-kind.js +69 -0
  137. package/dist/agent-operations/get-node.d.ts +5 -2
  138. package/dist/agent-operations/get-node.d.ts.map +1 -1
  139. package/dist/agent-operations/get-node.js +82 -10
  140. package/dist/agent-operations/hosted-services.d.ts +2 -1
  141. package/dist/agent-operations/hosted-services.d.ts.map +1 -1
  142. package/dist/agent-operations/index.d.ts +281 -69
  143. package/dist/agent-operations/index.d.ts.map +1 -1
  144. package/dist/agent-operations/index.js +66 -5
  145. package/dist/agent-operations/item-space.d.ts +22 -0
  146. package/dist/agent-operations/item-space.d.ts.map +1 -0
  147. package/dist/agent-operations/item-space.js +69 -0
  148. package/dist/agent-operations/layout-clearance.d.ts +52 -3
  149. package/dist/agent-operations/layout-clearance.d.ts.map +1 -1
  150. package/dist/agent-operations/layout-clearance.js +340 -30
  151. package/dist/agent-operations/level-height-fill.d.ts +12 -0
  152. package/dist/agent-operations/level-height-fill.d.ts.map +1 -0
  153. package/dist/agent-operations/level-height-fill.js +59 -0
  154. package/dist/agent-operations/level-reads.d.ts +5 -1
  155. package/dist/agent-operations/level-reads.d.ts.map +1 -1
  156. package/dist/agent-operations/level-reads.js +10 -3
  157. package/dist/agent-operations/list-levels.d.ts.map +1 -1
  158. package/dist/agent-operations/list-levels.js +23 -0
  159. package/dist/agent-operations/material-preset.d.ts.map +1 -1
  160. package/dist/agent-operations/material-preset.js +3 -9
  161. package/dist/agent-operations/material-refs.d.ts +7 -1
  162. package/dist/agent-operations/material-refs.d.ts.map +1 -1
  163. package/dist/agent-operations/material-refs.js +10 -5
  164. package/dist/agent-operations/merge-windows.d.ts +6 -0
  165. package/dist/agent-operations/merge-windows.d.ts.map +1 -0
  166. package/dist/agent-operations/merge-windows.js +27 -0
  167. package/dist/agent-operations/move-roofs.d.ts +9 -0
  168. package/dist/agent-operations/move-roofs.d.ts.map +1 -0
  169. package/dist/agent-operations/move-roofs.js +29 -0
  170. package/dist/agent-operations/paint.d.ts +2 -1
  171. package/dist/agent-operations/paint.d.ts.map +1 -1
  172. package/dist/agent-operations/paint.js +163 -53
  173. package/dist/agent-operations/photo-elevation.d.ts +155 -0
  174. package/dist/agent-operations/photo-elevation.d.ts.map +1 -0
  175. package/dist/agent-operations/photo-elevation.js +761 -0
  176. package/dist/agent-operations/place-in-room.d.ts +29 -0
  177. package/dist/agent-operations/place-in-room.d.ts.map +1 -0
  178. package/dist/agent-operations/place-in-room.js +403 -0
  179. package/dist/agent-operations/place-items.d.ts.map +1 -1
  180. package/dist/agent-operations/place-items.js +15 -2
  181. package/dist/agent-operations/plan-geometry.d.ts.map +1 -1
  182. package/dist/agent-operations/plan-geometry.js +3 -0
  183. package/dist/agent-operations/point-context.d.ts +139 -0
  184. package/dist/agent-operations/point-context.d.ts.map +1 -0
  185. package/dist/agent-operations/point-context.js +1 -0
  186. package/dist/agent-operations/project-files.d.ts +9 -0
  187. package/dist/agent-operations/project-files.d.ts.map +1 -0
  188. package/dist/agent-operations/project-files.js +25 -0
  189. package/dist/agent-operations/record-made.d.ts +18 -0
  190. package/dist/agent-operations/record-made.d.ts.map +1 -0
  191. package/dist/agent-operations/record-made.js +28 -0
  192. package/dist/agent-operations/roof-footprint.d.ts +24 -0
  193. package/dist/agent-operations/roof-footprint.d.ts.map +1 -0
  194. package/dist/agent-operations/roof-footprint.js +242 -0
  195. package/dist/agent-operations/roof-writes.d.ts +20 -0
  196. package/dist/agent-operations/roof-writes.d.ts.map +1 -0
  197. package/dist/agent-operations/roof-writes.js +165 -0
  198. package/dist/agent-operations/room-findings.d.ts +54 -0
  199. package/dist/agent-operations/room-findings.d.ts.map +1 -0
  200. package/dist/agent-operations/room-findings.js +143 -0
  201. package/dist/agent-operations/room-floor-script.d.ts +23 -0
  202. package/dist/agent-operations/room-floor-script.d.ts.map +1 -0
  203. package/dist/agent-operations/room-floor-script.js +54 -0
  204. package/dist/agent-operations/room-structure.d.ts +2 -2
  205. package/dist/agent-operations/room-structure.d.ts.map +1 -1
  206. package/dist/agent-operations/scene-checkpoint.d.ts +94 -0
  207. package/dist/agent-operations/scene-checkpoint.d.ts.map +1 -0
  208. package/dist/agent-operations/scene-checkpoint.js +176 -0
  209. package/dist/agent-operations/scene-queries.d.ts +3750 -3319
  210. package/dist/agent-operations/scene-queries.d.ts.map +1 -1
  211. package/dist/agent-operations/scene-queries.js +13 -23
  212. package/dist/agent-operations/scene-review.d.ts +52 -0
  213. package/dist/agent-operations/scene-review.d.ts.map +1 -0
  214. package/dist/agent-operations/scene-review.js +106 -0
  215. package/dist/agent-operations/scene-view.d.ts +82 -15
  216. package/dist/agent-operations/scene-view.d.ts.map +1 -1
  217. package/dist/agent-operations/scene-view.js +408 -51
  218. package/dist/agent-operations/search-assets.d.ts +2 -2
  219. package/dist/agent-operations/search-assets.d.ts.map +1 -1
  220. package/dist/agent-operations/search-assets.js +4 -3
  221. package/dist/agent-operations/search-materials.d.ts +9 -3
  222. package/dist/agent-operations/search-materials.d.ts.map +1 -1
  223. package/dist/agent-operations/search-materials.js +83 -29
  224. package/dist/agent-operations/set-checkpoint.d.ts +9 -0
  225. package/dist/agent-operations/set-checkpoint.d.ts.map +1 -0
  226. package/dist/agent-operations/set-checkpoint.js +31 -0
  227. package/dist/agent-operations/set-ground-level.d.ts +12 -0
  228. package/dist/agent-operations/set-ground-level.d.ts.map +1 -0
  229. package/dist/agent-operations/set-ground-level.js +61 -0
  230. package/dist/agent-operations/site.d.ts +21 -0
  231. package/dist/agent-operations/site.d.ts.map +1 -0
  232. package/dist/agent-operations/site.js +123 -0
  233. package/dist/agent-operations/types.d.ts +66 -7
  234. package/dist/agent-operations/types.d.ts.map +1 -1
  235. package/dist/agent-operations/verify-scene.d.ts +39 -5
  236. package/dist/agent-operations/verify-scene.d.ts.map +1 -1
  237. package/dist/agent-operations/verify-scene.js +223 -44
  238. package/dist/agent-operations/wall-face-script.d.ts +28 -0
  239. package/dist/agent-operations/wall-face-script.d.ts.map +1 -0
  240. package/dist/agent-operations/wall-face-script.js +62 -0
  241. package/dist/agent-operations/wall-object-observations.d.ts +41 -0
  242. package/dist/agent-operations/wall-object-observations.d.ts.map +1 -0
  243. package/dist/agent-operations/wall-object-observations.js +249 -0
  244. package/dist/agent-operations/wall-opening.d.ts +23 -23
  245. package/dist/agent-operations/wall-opening.d.ts.map +1 -1
  246. package/dist/agent-operations/wall-skirting.d.ts +24 -0
  247. package/dist/agent-operations/wall-skirting.d.ts.map +1 -0
  248. package/dist/agent-operations/wall-skirting.js +85 -0
  249. package/dist/agent-tools/add-object.d.ts +11 -7
  250. package/dist/agent-tools/add-object.d.ts.map +1 -1
  251. package/dist/agent-tools/add-object.js +17 -11
  252. package/dist/agent-tools/assets.d.ts +8 -0
  253. package/dist/agent-tools/assets.d.ts.map +1 -1
  254. package/dist/agent-tools/assets.js +13 -1
  255. package/dist/agent-tools/author-scene.d.ts +651 -0
  256. package/dist/agent-tools/author-scene.d.ts.map +1 -0
  257. package/dist/agent-tools/author-scene.js +252 -0
  258. package/dist/agent-tools/batch.d.ts +25 -0
  259. package/dist/agent-tools/batch.d.ts.map +1 -0
  260. package/dist/agent-tools/batch.js +61 -0
  261. package/dist/agent-tools/checkpoints.d.ts +13 -0
  262. package/dist/agent-tools/checkpoints.d.ts.map +1 -0
  263. package/dist/agent-tools/checkpoints.js +16 -0
  264. package/dist/agent-tools/clear-scene.d.ts.map +1 -1
  265. package/dist/agent-tools/collections.d.ts +6 -6
  266. package/dist/agent-tools/collections.d.ts.map +1 -1
  267. package/dist/agent-tools/columns.d.ts +18 -18
  268. package/dist/agent-tools/columns.js +2 -2
  269. package/dist/agent-tools/corner-window.d.ts +46 -0
  270. package/dist/agent-tools/corner-window.d.ts.map +1 -0
  271. package/dist/agent-tools/corner-window.js +47 -0
  272. package/dist/agent-tools/create-room.d.ts +26 -25
  273. package/dist/agent-tools/create-room.d.ts.map +1 -1
  274. package/dist/agent-tools/create-room.js +11 -4
  275. package/dist/agent-tools/design-brief.d.ts +408 -0
  276. package/dist/agent-tools/design-brief.d.ts.map +1 -0
  277. package/dist/agent-tools/design-brief.js +149 -0
  278. package/dist/agent-tools/designs.d.ts +34 -0
  279. package/dist/agent-tools/designs.d.ts.map +1 -0
  280. package/dist/agent-tools/designs.js +50 -0
  281. package/dist/agent-tools/fences.d.ts +28 -0
  282. package/dist/agent-tools/fences.d.ts.map +1 -0
  283. package/dist/agent-tools/fences.js +31 -0
  284. package/dist/agent-tools/find-by-type.d.ts +8 -1
  285. package/dist/agent-tools/find-by-type.d.ts.map +1 -1
  286. package/dist/agent-tools/find-by-type.js +23 -2
  287. package/dist/agent-tools/furnish-room.d.ts +10 -8
  288. package/dist/agent-tools/furnish-room.d.ts.map +1 -1
  289. package/dist/agent-tools/furnish-room.js +3 -1
  290. package/dist/agent-tools/hosted-services.d.ts +177 -141
  291. package/dist/agent-tools/hosted-services.d.ts.map +1 -1
  292. package/dist/agent-tools/hosted-services.js +47 -14
  293. package/dist/agent-tools/index.d.ts +894 -215
  294. package/dist/agent-tools/index.d.ts.map +1 -1
  295. package/dist/agent-tools/index.js +47 -3
  296. package/dist/agent-tools/levels.d.ts +11 -3
  297. package/dist/agent-tools/levels.d.ts.map +1 -1
  298. package/dist/agent-tools/levels.js +16 -5
  299. package/dist/agent-tools/measurement.d.ts +38 -20
  300. package/dist/agent-tools/measurement.d.ts.map +1 -1
  301. package/dist/agent-tools/measurement.js +117 -67
  302. package/dist/agent-tools/merge-windows.d.ts +10 -0
  303. package/dist/agent-tools/merge-windows.d.ts.map +1 -0
  304. package/dist/agent-tools/merge-windows.js +12 -0
  305. package/dist/agent-tools/nodes.d.ts.map +1 -1
  306. package/dist/agent-tools/nodes.js +1 -1
  307. package/dist/agent-tools/notation-inventory.d.ts +16 -0
  308. package/dist/agent-tools/notation-inventory.d.ts.map +1 -0
  309. package/dist/agent-tools/notation-inventory.js +105 -0
  310. package/dist/agent-tools/paint.d.ts +5 -5
  311. package/dist/agent-tools/paint.d.ts.map +1 -1
  312. package/dist/agent-tools/paint.js +1 -1
  313. package/dist/agent-tools/photo-elevation.d.ts +32 -0
  314. package/dist/agent-tools/photo-elevation.d.ts.map +1 -0
  315. package/dist/agent-tools/photo-elevation.js +73 -0
  316. package/dist/agent-tools/place-in-room.d.ts +35 -0
  317. package/dist/agent-tools/place-in-room.d.ts.map +1 -0
  318. package/dist/agent-tools/place-in-room.js +61 -0
  319. package/dist/agent-tools/place-items.d.ts +1 -1
  320. package/dist/agent-tools/place-items.js +2 -2
  321. package/dist/agent-tools/project-files.d.ts +189 -0
  322. package/dist/agent-tools/project-files.d.ts.map +1 -0
  323. package/dist/agent-tools/project-files.js +99 -0
  324. package/dist/agent-tools/refusal.d.ts.map +1 -1
  325. package/dist/agent-tools/retired.d.ts +21 -0
  326. package/dist/agent-tools/retired.d.ts.map +1 -0
  327. package/dist/agent-tools/retired.js +29 -0
  328. package/dist/agent-tools/roofs.d.ts +100 -0
  329. package/dist/agent-tools/roofs.d.ts.map +1 -0
  330. package/dist/agent-tools/roofs.js +96 -0
  331. package/dist/agent-tools/room-structure.d.ts +46 -38
  332. package/dist/agent-tools/room-structure.d.ts.map +1 -1
  333. package/dist/agent-tools/room-structure.js +30 -27
  334. package/dist/agent-tools/search-materials.d.ts +22 -3
  335. package/dist/agent-tools/search-materials.d.ts.map +1 -1
  336. package/dist/agent-tools/search-materials.js +13 -14
  337. package/dist/agent-tools/site.d.ts +27 -0
  338. package/dist/agent-tools/site.d.ts.map +1 -0
  339. package/dist/agent-tools/site.js +40 -0
  340. package/dist/agent-tools/sources.d.ts +12 -0
  341. package/dist/agent-tools/sources.d.ts.map +1 -0
  342. package/dist/agent-tools/sources.js +11 -0
  343. package/dist/agent-tools/stairs.d.ts +48 -28
  344. package/dist/agent-tools/stairs.d.ts.map +1 -1
  345. package/dist/agent-tools/stairs.js +65 -22
  346. package/dist/agent-tools/verify-scene.d.ts.map +1 -1
  347. package/dist/agent-tools/verify-scene.js +1 -1
  348. package/dist/agent-tools/view-scene.d.ts +50 -12
  349. package/dist/agent-tools/view-scene.d.ts.map +1 -1
  350. package/dist/agent-tools/view-scene.js +74 -31
  351. package/dist/agent-tools/wall-openings.d.ts +77 -73
  352. package/dist/agent-tools/wall-openings.d.ts.map +1 -1
  353. package/dist/agent-tools/wall-openings.js +9 -5
  354. package/dist/agent-tools/walls.d.ts +4 -4
  355. package/dist/agent-tools/walls.d.ts.map +1 -1
  356. package/dist/agent-tools/walls.js +7 -2
  357. package/dist/building/__fixtures__/wall-opening-cases.d.ts +454 -250
  358. package/dist/building/__fixtures__/wall-opening-cases.d.ts.map +1 -1
  359. package/dist/building/__fixtures__/wall-opening-cases.js +62 -2
  360. package/dist/building/corner-window.d.ts +56 -0
  361. package/dist/building/corner-window.d.ts.map +1 -0
  362. package/dist/building/corner-window.js +179 -0
  363. package/dist/building/ground-level.d.ts +26 -0
  364. package/dist/building/ground-level.d.ts.map +1 -0
  365. package/dist/building/ground-level.js +58 -0
  366. package/dist/building/index.d.ts +5 -0
  367. package/dist/building/index.d.ts.map +1 -1
  368. package/dist/building/index.js +5 -0
  369. package/dist/building/level-duplication.d.ts +7472 -6613
  370. package/dist/building/level-duplication.d.ts.map +1 -1
  371. package/dist/building/level-duplication.js +18 -4
  372. package/dist/building/level-insertion.d.ts +55 -0
  373. package/dist/building/level-insertion.d.ts.map +1 -0
  374. package/dist/building/level-insertion.js +35 -0
  375. package/dist/building/merge-windows.d.ts +58 -0
  376. package/dist/building/merge-windows.d.ts.map +1 -0
  377. package/dist/building/merge-windows.js +189 -0
  378. package/dist/building/opening-style-presets.d.ts +2 -2
  379. package/dist/building/opening-style-presets.d.ts.map +1 -1
  380. package/dist/building/photo-elevation.d.ts +125 -0
  381. package/dist/building/photo-elevation.d.ts.map +1 -0
  382. package/dist/building/photo-elevation.js +404 -0
  383. package/dist/building/wall-gaps.d.ts +13 -0
  384. package/dist/building/wall-gaps.d.ts.map +1 -0
  385. package/dist/building/wall-gaps.js +158 -0
  386. package/dist/building/wall-openings.d.ts +154 -119
  387. package/dist/building/wall-openings.d.ts.map +1 -1
  388. package/dist/building/wall-openings.js +37 -9
  389. package/dist/capture/schema.d.ts +22 -22
  390. package/dist/capture/source.d.ts.map +1 -1
  391. package/dist/capture/source.js +1 -1
  392. package/dist/commands/structure/create-zone.d.ts +12 -1
  393. package/dist/commands/structure/create-zone.d.ts.map +1 -1
  394. package/dist/commands/structure/create-zone.js +49 -0
  395. package/dist/commands/structure/divide-zone.d.ts +3 -3
  396. package/dist/commands/structure/index.d.ts +1 -1
  397. package/dist/commands/structure/index.d.ts.map +1 -1
  398. package/dist/commands/structure/index.js +1 -1
  399. package/dist/commands/structure/set-floor-foundation.d.ts +6 -6
  400. package/dist/commands/structure/set-zone-intent.d.ts +4 -0
  401. package/dist/commands/structure/set-zone-intent.d.ts.map +1 -1
  402. package/dist/commands/structure/set-zone-intent.js +19 -0
  403. package/dist/commands/structure/shared.d.ts +3642 -3213
  404. package/dist/commands/structure/shared.d.ts.map +1 -1
  405. package/dist/commands/structure/zone-wall-merge.d.ts +4149 -3334
  406. package/dist/commands/structure/zone-wall-merge.d.ts.map +1 -1
  407. package/dist/contracts/reference-inventory.d.ts.map +1 -1
  408. package/dist/contracts/reference-inventory.js +106 -26
  409. package/dist/events/bus.d.ts +22 -3
  410. package/dist/events/bus.d.ts.map +1 -1
  411. package/dist/events/capture-sessions.d.ts +5 -0
  412. package/dist/events/capture-sessions.d.ts.map +1 -0
  413. package/dist/events/capture-sessions.js +31 -0
  414. package/dist/hooks/scene-registry/scene-registry.d.ts.map +1 -1
  415. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts +1 -2
  416. package/dist/hooks/spatial-grid/spatial-grid-manager.d.ts.map +1 -1
  417. package/dist/hooks/spatial-grid/spatial-grid-manager.js +4 -6
  418. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts +3608 -3179
  419. package/dist/hooks/spatial-grid/spatial-grid-sync.d.ts.map +1 -1
  420. package/dist/hooks/spatial-grid/spatial-grid.d.ts.map +1 -1
  421. package/dist/hooks/spatial-grid/support-host-patch.d.ts.map +1 -1
  422. package/dist/hooks/spatial-grid/support-host-patch.js +11 -2
  423. package/dist/hooks/spatial-grid/use-spatial-query.d.ts +3 -3
  424. package/dist/hooks/spatial-grid/wall-spatial-grid.d.ts.map +1 -1
  425. package/dist/index.d.ts +37 -9
  426. package/dist/index.d.ts.map +1 -1
  427. package/dist/index.js +36 -9
  428. package/dist/lib/__fixtures__/mezzanine.d.ts +11800 -10132
  429. package/dist/lib/__fixtures__/mezzanine.d.ts.map +1 -1
  430. package/dist/lib/absorb-wall-separators.d.ts +3642 -3213
  431. package/dist/lib/absorb-wall-separators.d.ts.map +1 -1
  432. package/dist/lib/angle-accumulator.d.ts.map +1 -1
  433. package/dist/lib/artifact-store.d.ts.map +1 -1
  434. package/dist/lib/below-grade-footprints.d.ts +65 -0
  435. package/dist/lib/below-grade-footprints.d.ts.map +1 -0
  436. package/dist/lib/below-grade-footprints.js +181 -0
  437. package/dist/lib/building-footprint.d.ts +33 -0
  438. package/dist/lib/building-footprint.d.ts.map +1 -0
  439. package/dist/lib/building-footprint.js +89 -0
  440. package/dist/lib/corner-pair.d.ts +1129 -0
  441. package/dist/lib/corner-pair.d.ts.map +1 -0
  442. package/dist/lib/corner-pair.js +130 -0
  443. package/dist/lib/corner-snap.d.ts +54 -0
  444. package/dist/lib/corner-snap.d.ts.map +1 -0
  445. package/dist/lib/corner-snap.js +125 -0
  446. package/dist/lib/critically-damped.d.ts +11 -0
  447. package/dist/lib/critically-damped.d.ts.map +1 -0
  448. package/dist/lib/critically-damped.js +14 -0
  449. package/dist/lib/deepest-drawn.d.ts +18 -0
  450. package/dist/lib/deepest-drawn.d.ts.map +1 -0
  451. package/dist/lib/deepest-drawn.js +65 -0
  452. package/dist/lib/door-operation.d.ts +1 -1
  453. package/dist/lib/exterior-wall-loops.d.ts +17 -0
  454. package/dist/lib/exterior-wall-loops.d.ts.map +1 -0
  455. package/dist/lib/exterior-wall-loops.js +334 -0
  456. package/dist/lib/finish-script.d.ts +61 -0
  457. package/dist/lib/finish-script.d.ts.map +1 -0
  458. package/dist/lib/finish-script.js +86 -0
  459. package/dist/lib/floor-intent-changes.d.ts.map +1 -1
  460. package/dist/lib/floor-intent-changes.js +4 -4
  461. package/dist/lib/floor-plate-paint.d.ts +3 -1
  462. package/dist/lib/floor-plate-paint.d.ts.map +1 -1
  463. package/dist/lib/floor-plate-paint.js +24 -4
  464. package/dist/lib/floor-plates.d.ts +50 -50
  465. package/dist/lib/floor-script.d.ts +24 -0
  466. package/dist/lib/floor-script.d.ts.map +1 -0
  467. package/dist/lib/floor-script.js +51 -0
  468. package/dist/lib/foundation-construction.d.ts +73 -0
  469. package/dist/lib/foundation-construction.d.ts.map +1 -0
  470. package/dist/lib/foundation-construction.js +242 -0
  471. package/dist/lib/foundation-standard.d.ts +30 -0
  472. package/dist/lib/foundation-standard.d.ts.map +1 -0
  473. package/dist/lib/foundation-standard.js +30 -0
  474. package/dist/lib/foundation-wall.d.ts +36 -0
  475. package/dist/lib/foundation-wall.d.ts.map +1 -0
  476. package/dist/lib/foundation-wall.js +66 -0
  477. package/dist/lib/generic-foundation.d.ts +40 -0
  478. package/dist/lib/generic-foundation.d.ts.map +1 -0
  479. package/dist/lib/generic-foundation.js +200 -0
  480. package/dist/lib/geometry-script-node.d.ts +32 -3
  481. package/dist/lib/geometry-script-node.d.ts.map +1 -1
  482. package/dist/lib/geometry-script-node.js +26 -0
  483. package/dist/lib/grade-standing.d.ts +38 -0
  484. package/dist/lib/grade-standing.d.ts.map +1 -0
  485. package/dist/lib/grade-standing.js +137 -0
  486. package/dist/lib/ground-level.d.ts +20 -0
  487. package/dist/lib/ground-level.d.ts.map +1 -0
  488. package/dist/lib/ground-level.js +49 -0
  489. package/dist/lib/ground-over-part.d.ts +13 -0
  490. package/dist/lib/ground-over-part.d.ts.map +1 -0
  491. package/dist/lib/ground-over-part.js +94 -0
  492. package/dist/lib/ground-seat.d.ts +47 -0
  493. package/dist/lib/ground-seat.d.ts.map +1 -0
  494. package/dist/lib/ground-seat.js +61 -0
  495. package/dist/lib/ground-window.d.ts +39 -0
  496. package/dist/lib/ground-window.d.ts.map +1 -0
  497. package/dist/lib/ground-window.js +147 -0
  498. package/dist/lib/opening-floor-datum.d.ts.map +1 -1
  499. package/dist/lib/opening-floor-datum.js +2 -3
  500. package/dist/lib/own-floor-intent.d.ts.map +1 -1
  501. package/dist/lib/own-floor-intent.js +4 -4
  502. package/dist/lib/plate-surface.d.ts.map +1 -1
  503. package/dist/lib/plate-surface.js +3 -1
  504. package/dist/lib/point-ask.d.ts +9 -0
  505. package/dist/lib/point-ask.d.ts.map +1 -0
  506. package/dist/lib/point-ask.js +36 -0
  507. package/dist/lib/room-drawn-floor.d.ts +1 -1
  508. package/dist/lib/room-drawn-floor.d.ts.map +1 -1
  509. package/dist/lib/room-floor-feasibility.d.ts.map +1 -1
  510. package/dist/lib/room-floor-feasibility.js +3 -3
  511. package/dist/lib/room-graph.d.ts.map +1 -1
  512. package/dist/lib/room-graph.js +2 -0
  513. package/dist/lib/room-name.d.ts +2 -0
  514. package/dist/lib/room-name.d.ts.map +1 -1
  515. package/dist/lib/room-name.js +2 -0
  516. package/dist/lib/room-topology-index.d.ts.map +1 -1
  517. package/dist/lib/room-topology-index.js +1 -1
  518. package/dist/lib/room-zone-adoption.d.ts.map +1 -1
  519. package/dist/lib/script-inputs-key.d.ts +3 -0
  520. package/dist/lib/script-inputs-key.d.ts.map +1 -0
  521. package/dist/lib/script-inputs-key.js +13 -0
  522. package/dist/lib/setback-envelope.d.ts +95 -5
  523. package/dist/lib/setback-envelope.d.ts.map +1 -1
  524. package/dist/lib/setback-envelope.js +351 -35
  525. package/dist/lib/site-flatwork.d.ts +11 -0
  526. package/dist/lib/site-flatwork.d.ts.map +1 -0
  527. package/dist/lib/site-flatwork.js +11 -0
  528. package/dist/lib/site-ground-height.d.ts +13 -0
  529. package/dist/lib/site-ground-height.d.ts.map +1 -0
  530. package/dist/lib/site-ground-height.js +16 -0
  531. package/dist/lib/site-placement.d.ts +362 -0
  532. package/dist/lib/site-placement.d.ts.map +1 -0
  533. package/dist/lib/site-placement.js +942 -0
  534. package/dist/lib/snap-ease.d.ts +20 -0
  535. package/dist/lib/snap-ease.d.ts.map +1 -0
  536. package/dist/lib/snap-ease.js +50 -0
  537. package/dist/lib/structure-kernel.d.ts +1 -1
  538. package/dist/lib/structure-kernel.d.ts.map +1 -1
  539. package/dist/lib/structure-kernel.js +2 -0
  540. package/dist/lib/surface-support-references.d.ts +4 -0
  541. package/dist/lib/surface-support-references.d.ts.map +1 -0
  542. package/dist/lib/surface-support-references.js +19 -0
  543. package/dist/lib/terrain-support-query.d.ts +10 -0
  544. package/dist/lib/terrain-support-query.d.ts.map +1 -1
  545. package/dist/lib/terrain-support-query.js +1 -1
  546. package/dist/lib/wall-face-script.d.ts +66 -0
  547. package/dist/lib/wall-face-script.d.ts.map +1 -0
  548. package/dist/lib/wall-face-script.js +235 -0
  549. package/dist/lib/zone-colors.d.ts +1 -1
  550. package/dist/lib/zone-colors.d.ts.map +1 -1
  551. package/dist/lib/zone-quantities.d.ts.map +1 -1
  552. package/dist/lib/zone-quantities.js +4 -5
  553. package/dist/material-kinds.d.ts +9 -0
  554. package/dist/material-kinds.d.ts.map +1 -0
  555. package/dist/material-kinds.js +30 -0
  556. package/dist/material-library.d.ts +4 -4
  557. package/dist/material-library.d.ts.map +1 -1
  558. package/dist/material-library.js +72 -26
  559. package/dist/node-slots/index.d.ts +1 -0
  560. package/dist/node-slots/index.d.ts.map +1 -1
  561. package/dist/node-slots/index.js +7 -1
  562. package/dist/node-slots/roof.d.ts +5 -0
  563. package/dist/node-slots/roof.d.ts.map +1 -0
  564. package/dist/node-slots/roof.js +12 -0
  565. package/dist/node-slots/stair.d.ts +2 -0
  566. package/dist/node-slots/stair.d.ts.map +1 -1
  567. package/dist/node-slots/stair.js +6 -2
  568. package/dist/procedural-items/design-placement.d.ts.map +1 -1
  569. package/dist/procedural-items/design.d.ts +19 -19
  570. package/dist/procedural-items/fixtures.d.ts +297 -297
  571. package/dist/procedural-items/fixtures.d.ts.map +1 -1
  572. package/dist/procedural-items/integration.d.ts +106 -106
  573. package/dist/procedural-items/joints.d.ts +4 -4
  574. package/dist/procedural-items/library-colors.d.ts +22 -22
  575. package/dist/procedural-items/library-colors.d.ts.map +1 -1
  576. package/dist/procedural-items/motion-controller.d.ts.map +1 -1
  577. package/dist/procedural-items/node.d.ts +291 -291
  578. package/dist/procedural-items/query.d.ts +1 -1
  579. package/dist/procedural-items/query.d.ts.map +1 -1
  580. package/dist/procedural-items/recipe.d.ts +11 -11
  581. package/dist/procedural-items/recipe.d.ts.map +1 -1
  582. package/dist/procedural-items/section.d.ts.map +1 -1
  583. package/dist/registry/index.d.ts +1 -1
  584. package/dist/registry/index.d.ts.map +1 -1
  585. package/dist/registry/scene-api.d.ts +1 -0
  586. package/dist/registry/scene-api.d.ts.map +1 -1
  587. package/dist/registry/scene-api.js +3 -0
  588. package/dist/registry/subtree.d.ts.map +1 -1
  589. package/dist/registry/subtree.js +2 -0
  590. package/dist/registry/types.d.ts +120 -1
  591. package/dist/registry/types.d.ts.map +1 -1
  592. package/dist/schema/assembly.d.ts +41 -41
  593. package/dist/schema/asset-url.d.ts +1 -1
  594. package/dist/schema/asset-url.d.ts.map +1 -1
  595. package/dist/schema/base.d.ts +9 -9
  596. package/dist/schema/base.d.ts.map +1 -1
  597. package/dist/schema/camera.d.ts +1 -1
  598. package/dist/schema/collection-templates.d.ts +20 -20
  599. package/dist/schema/collection-templates.d.ts.map +1 -1
  600. package/dist/schema/geometry-metadata.d.ts +7 -7
  601. package/dist/schema/geometry-metadata.d.ts.map +1 -1
  602. package/dist/schema/geometry-source.d.ts +26 -16
  603. package/dist/schema/geometry-source.d.ts.map +1 -1
  604. package/dist/schema/geometry-source.js +14 -0
  605. package/dist/schema/index.d.ts +10 -7
  606. package/dist/schema/index.d.ts.map +1 -1
  607. package/dist/schema/index.js +10 -7
  608. package/dist/schema/material.d.ts +33 -33
  609. package/dist/schema/nodes/barrel-roof.d.ts +3 -0
  610. package/dist/schema/nodes/barrel-roof.d.ts.map +1 -0
  611. package/dist/schema/nodes/barrel-roof.js +11 -0
  612. package/dist/schema/nodes/block.d.ts +8 -8
  613. package/dist/schema/nodes/box-vent.d.ts +13 -13
  614. package/dist/schema/nodes/building.d.ts +9 -8
  615. package/dist/schema/nodes/building.d.ts.map +1 -1
  616. package/dist/schema/nodes/building.js +2 -0
  617. package/dist/schema/nodes/cabinet.d.ts +130 -129
  618. package/dist/schema/nodes/cabinet.d.ts.map +1 -1
  619. package/dist/schema/nodes/cabinet.js +1 -1
  620. package/dist/schema/nodes/ceiling.d.ts +15 -15
  621. package/dist/schema/nodes/chimney.d.ts +23 -23
  622. package/dist/schema/nodes/column.d.ts +207 -199
  623. package/dist/schema/nodes/column.d.ts.map +1 -1
  624. package/dist/schema/nodes/column.js +2 -0
  625. package/dist/schema/nodes/construction-dimension.d.ts +34 -34
  626. package/dist/schema/nodes/cupola.d.ts +15 -15
  627. package/dist/schema/nodes/curtain-wall.d.ts +21 -20
  628. package/dist/schema/nodes/curtain-wall.d.ts.map +1 -1
  629. package/dist/schema/nodes/curtain-wall.js +23 -0
  630. package/dist/schema/nodes/door.d.ts +50 -43
  631. package/dist/schema/nodes/door.d.ts.map +1 -1
  632. package/dist/schema/nodes/door.js +19 -0
  633. package/dist/schema/nodes/dormer.d.ts +37 -36
  634. package/dist/schema/nodes/dormer.d.ts.map +1 -1
  635. package/dist/schema/nodes/downspout.d.ts +17 -17
  636. package/dist/schema/nodes/duct-fitting.d.ts +24 -24
  637. package/dist/schema/nodes/duct-segment.d.ts +14 -14
  638. package/dist/schema/nodes/duct-terminal.d.ts +12 -12
  639. package/dist/schema/nodes/elevator.d.ts +15 -15
  640. package/dist/schema/nodes/eyebrow-vent.d.ts +13 -13
  641. package/dist/schema/nodes/fence-feature.d.ts +37 -37
  642. package/dist/schema/nodes/fence-types.d.ts +32 -0
  643. package/dist/schema/nodes/fence-types.d.ts.map +1 -0
  644. package/dist/schema/nodes/fence-types.js +22 -0
  645. package/dist/schema/nodes/fence.d.ts +43 -72
  646. package/dist/schema/nodes/fence.d.ts.map +1 -1
  647. package/dist/schema/nodes/fence.js +4 -20
  648. package/dist/schema/nodes/floor-opening.d.ts +8 -8
  649. package/dist/schema/nodes/guide.d.ts +8 -8
  650. package/dist/schema/nodes/gutter.d.ts +14 -14
  651. package/dist/schema/nodes/gutter.d.ts.map +1 -1
  652. package/dist/schema/nodes/gutter.js +6 -5
  653. package/dist/schema/nodes/hvac-equipment.d.ts +13 -13
  654. package/dist/schema/nodes/imported-mesh.d.ts +8 -8
  655. package/dist/schema/nodes/item.d.ts +30 -25
  656. package/dist/schema/nodes/item.d.ts.map +1 -1
  657. package/dist/schema/nodes/lean-to-extension.d.ts +36 -36
  658. package/dist/schema/nodes/level.d.ts +9 -9
  659. package/dist/schema/nodes/lineset.d.ts +8 -8
  660. package/dist/schema/nodes/liquid-line.d.ts +8 -8
  661. package/dist/schema/nodes/measurement.d.ts +8 -8
  662. package/dist/schema/nodes/opening-types.d.ts +13 -13
  663. package/dist/schema/nodes/opening-types.d.ts.map +1 -1
  664. package/dist/schema/nodes/pipe-fitting.d.ts +15 -15
  665. package/dist/schema/nodes/pipe-segment.d.ts +11 -11
  666. package/dist/schema/nodes/pipe-trap.d.ts +9 -9
  667. package/dist/schema/nodes/ridge-vent.d.ts +14 -14
  668. package/dist/schema/nodes/ridge-vent.d.ts.map +1 -1
  669. package/dist/schema/nodes/ridge-vent.js +3 -1
  670. package/dist/schema/nodes/roof-glazing-config.d.ts +90 -0
  671. package/dist/schema/nodes/roof-glazing-config.d.ts.map +1 -0
  672. package/dist/schema/nodes/roof-glazing-config.js +34 -0
  673. package/dist/schema/nodes/roof-glazing.d.ts +57 -0
  674. package/dist/schema/nodes/roof-glazing.d.ts.map +1 -0
  675. package/dist/schema/nodes/roof-glazing.js +514 -0
  676. package/dist/schema/nodes/roof-segment-resize.d.ts +4 -0
  677. package/dist/schema/nodes/roof-segment-resize.d.ts.map +1 -0
  678. package/dist/schema/nodes/roof-segment-resize.js +21 -0
  679. package/dist/schema/nodes/roof-segment-shape.d.ts +5 -0
  680. package/dist/schema/nodes/roof-segment-shape.d.ts.map +1 -1
  681. package/dist/schema/nodes/roof-segment-shape.js +44 -0
  682. package/dist/schema/nodes/roof-segment-walls.d.ts +1 -1
  683. package/dist/schema/nodes/roof-segment-walls.d.ts.map +1 -1
  684. package/dist/schema/nodes/roof-segment-walls.js +24 -0
  685. package/dist/schema/nodes/roof-segment.d.ts +153 -46
  686. package/dist/schema/nodes/roof-segment.d.ts.map +1 -1
  687. package/dist/schema/nodes/roof-segment.js +91 -20
  688. package/dist/schema/nodes/roof-types.d.ts +14 -0
  689. package/dist/schema/nodes/roof-types.d.ts.map +1 -0
  690. package/dist/schema/nodes/roof-types.js +14 -0
  691. package/dist/schema/nodes/roof.d.ts +49 -49
  692. package/dist/schema/nodes/scan.d.ts +8 -8
  693. package/dist/schema/nodes/separator.d.ts +8 -8
  694. package/dist/schema/nodes/shelf.d.ts +16 -16
  695. package/dist/schema/nodes/site-facts.d.ts +64 -0
  696. package/dist/schema/nodes/site-facts.d.ts.map +1 -0
  697. package/dist/schema/nodes/site-facts.js +73 -0
  698. package/dist/schema/nodes/site.d.ts +105 -63
  699. package/dist/schema/nodes/site.d.ts.map +1 -1
  700. package/dist/schema/nodes/site.js +7 -70
  701. package/dist/schema/nodes/skylight.d.ts +41 -41
  702. package/dist/schema/nodes/skylight.d.ts.map +1 -1
  703. package/dist/schema/nodes/slab.d.ts +21 -21
  704. package/dist/schema/nodes/solar-panel.d.ts +21 -21
  705. package/dist/schema/nodes/spawn.d.ts +8 -8
  706. package/dist/schema/nodes/stair-construction.d.ts +3 -3
  707. package/dist/schema/nodes/stair-defaults.d.ts +16 -0
  708. package/dist/schema/nodes/stair-defaults.d.ts.map +1 -0
  709. package/dist/schema/nodes/stair-defaults.js +15 -0
  710. package/dist/schema/nodes/stair-segment.d.ts +22 -22
  711. package/dist/schema/nodes/stair-types.d.ts +29 -0
  712. package/dist/schema/nodes/stair-types.d.ts.map +1 -0
  713. package/dist/schema/nodes/stair-types.js +23 -0
  714. package/dist/schema/nodes/stair.d.ts +51 -75
  715. package/dist/schema/nodes/stair.d.ts.map +1 -1
  716. package/dist/schema/nodes/stair.js +6 -20
  717. package/dist/schema/nodes/structural-grid.d.ts +8 -8
  718. package/dist/schema/nodes/surface-hole-metadata.d.ts +2 -2
  719. package/dist/schema/nodes/turbine-vent.d.ts +13 -13
  720. package/dist/schema/nodes/unit.d.ts +10 -10
  721. package/dist/schema/nodes/unit.d.ts.map +1 -1
  722. package/dist/schema/nodes/wall.d.ts +479 -146
  723. package/dist/schema/nodes/wall.d.ts.map +1 -1
  724. package/dist/schema/nodes/wall.js +19 -0
  725. package/dist/schema/nodes/window.d.ts +55 -39
  726. package/dist/schema/nodes/window.d.ts.map +1 -1
  727. package/dist/schema/nodes/window.js +10 -0
  728. package/dist/schema/nodes/zone.d.ts +231 -12
  729. package/dist/schema/nodes/zone.d.ts.map +1 -1
  730. package/dist/schema/nodes/zone.js +10 -0
  731. package/dist/schema/provenance.d.ts +21 -21
  732. package/dist/schema/scene-material.d.ts +5 -5
  733. package/dist/schema/site-presentation.d.ts +100 -0
  734. package/dist/schema/site-presentation.d.ts.map +1 -0
  735. package/dist/schema/site-presentation.js +83 -0
  736. package/dist/schema/types.d.ts +1954 -1414
  737. package/dist/schema/types.d.ts.map +1 -1
  738. package/dist/services/__fixtures__/wall-plane-top-boundary-repro.d.ts.map +1 -1
  739. package/dist/services/index.d.ts +5 -1
  740. package/dist/services/index.d.ts.map +1 -1
  741. package/dist/services/index.js +5 -1
  742. package/dist/services/level-height.d.ts.map +1 -1
  743. package/dist/services/level-height.js +7 -3
  744. package/dist/services/port-connectivity.d.ts +4 -0
  745. package/dist/services/port-connectivity.d.ts.map +1 -1
  746. package/dist/services/port-connectivity.js +35 -0
  747. package/dist/services/project-file-sink.d.ts +9 -0
  748. package/dist/services/project-file-sink.d.ts.map +1 -0
  749. package/dist/services/project-file-sink.js +13 -0
  750. package/dist/services/roof-bearing.d.ts +62 -0
  751. package/dist/services/roof-bearing.d.ts.map +1 -0
  752. package/dist/services/roof-bearing.js +234 -0
  753. package/dist/services/roof-level.d.ts +121 -0
  754. package/dist/services/roof-level.d.ts.map +1 -0
  755. package/dist/services/roof-level.js +280 -0
  756. package/dist/services/roof-move.d.ts +83 -0
  757. package/dist/services/roof-move.d.ts.map +1 -0
  758. package/dist/services/roof-move.js +316 -0
  759. package/dist/services/stair-surface-snap.d.ts +14 -0
  760. package/dist/services/stair-surface-snap.d.ts.map +1 -0
  761. package/dist/services/stair-surface-snap.js +116 -0
  762. package/dist/services/storey-datum.d.ts +12 -0
  763. package/dist/services/storey-datum.d.ts.map +1 -0
  764. package/dist/services/storey-datum.js +18 -0
  765. package/dist/services/storey.d.ts +51 -5
  766. package/dist/services/storey.d.ts.map +1 -1
  767. package/dist/services/storey.js +125 -8
  768. package/dist/solar-panel-presets.d.ts +2 -2
  769. package/dist/store/actions/node-actions.d.ts +3613 -3182
  770. package/dist/store/actions/node-actions.d.ts.map +1 -1
  771. package/dist/store/actions/node-actions.js +46 -1
  772. package/dist/store/derived-node-guard.d.ts.map +1 -1
  773. package/dist/store/history-control.d.ts +39 -0
  774. package/dist/store/history-control.d.ts.map +1 -1
  775. package/dist/store/history-control.js +84 -4
  776. package/dist/store/scene-annotations.d.ts +7267 -6409
  777. package/dist/store/scene-annotations.d.ts.map +1 -1
  778. package/dist/store/scene-preview.d.ts +16 -0
  779. package/dist/store/scene-preview.d.ts.map +1 -0
  780. package/dist/store/scene-preview.js +144 -0
  781. package/dist/store/use-live-node-overrides.d.ts.map +1 -1
  782. package/dist/store/use-live-terrain.d.ts.map +1 -1
  783. package/dist/store/use-live-transforms.d.ts.map +1 -1
  784. package/dist/store/use-scene.d.ts.map +1 -1
  785. package/dist/store/use-scene.js +37 -4
  786. package/dist/systems/elevator/elevator-dispatch.js +1 -1
  787. package/dist/systems/fence/fence-features.d.ts.map +1 -1
  788. package/dist/systems/owned-floor-openings.d.ts.map +1 -1
  789. package/dist/systems/owned-floor-openings.js +24 -3
  790. package/dist/systems/roof/roof-elevation-system.d.ts.map +1 -1
  791. package/dist/systems/roof/roof-elevation-system.js +9 -3
  792. package/dist/systems/roof/roof-elevation.d.ts +5 -0
  793. package/dist/systems/roof/roof-elevation.d.ts.map +1 -1
  794. package/dist/systems/roof/roof-elevation.js +91 -62
  795. package/dist/systems/slab/__fixtures__/floor-step.d.ts +4623 -3516
  796. package/dist/systems/slab/__fixtures__/floor-step.d.ts.map +1 -1
  797. package/dist/systems/slab/__fixtures__/raised-room.d.ts +5149 -4076
  798. package/dist/systems/slab/__fixtures__/raised-room.d.ts.map +1 -1
  799. package/dist/systems/slab/slab-support.d.ts +6 -3
  800. package/dist/systems/slab/slab-support.d.ts.map +1 -1
  801. package/dist/systems/slab/slab-support.js +78 -10
  802. package/dist/systems/stair/stair-detail-budget.d.ts +2 -2
  803. package/dist/systems/stair/stair-detail-budget.d.ts.map +1 -1
  804. package/dist/systems/stair/stair-footprint.d.ts +6 -0
  805. package/dist/systems/stair/stair-footprint.d.ts.map +1 -1
  806. package/dist/systems/stair/stair-footprint.js +27 -14
  807. package/dist/systems/stair/stair-layout.d.ts +2 -2
  808. package/dist/systems/stair/stair-opening-preview.d.ts +3643 -3214
  809. package/dist/systems/stair/stair-opening-preview.d.ts.map +1 -1
  810. package/dist/systems/stair/stair-presets.d.ts +73 -65
  811. package/dist/systems/stair/stair-presets.d.ts.map +1 -1
  812. package/dist/systems/stair/stair-presets.js +16 -9
  813. package/dist/systems/stair/stair-rail-path.d.ts +1 -1
  814. package/dist/systems/stair/stair-rise-query.d.ts +16 -0
  815. package/dist/systems/stair/stair-rise-query.d.ts.map +1 -1
  816. package/dist/systems/stair/stair-rise-query.js +57 -7
  817. package/dist/systems/stair/stair-sizing.d.ts +101 -99
  818. package/dist/systems/stair/stair-sizing.d.ts.map +1 -1
  819. package/dist/systems/wall/wall-assembly.d.ts +11 -0
  820. package/dist/systems/wall/wall-assembly.d.ts.map +1 -1
  821. package/dist/systems/wall/wall-assembly.js +21 -0
  822. package/dist/systems/wall/wall-curve.d.ts +5 -0
  823. package/dist/systems/wall/wall-curve.d.ts.map +1 -1
  824. package/dist/systems/wall/wall-curve.js +13 -0
  825. package/dist/systems/wall/wall-frame.d.ts.map +1 -1
  826. package/dist/systems/wall/wall-frame.js +8 -0
  827. package/dist/systems/wall/wall-room-sides.d.ts +8 -0
  828. package/dist/systems/wall/wall-room-sides.d.ts.map +1 -1
  829. package/dist/systems/wall/wall-room-sides.js +60 -7
  830. package/dist/systems/wall/wall-top.d.ts +7 -4
  831. package/dist/systems/wall/wall-top.d.ts.map +1 -1
  832. package/dist/systems/wall/wall-top.js +14 -6
  833. package/dist/systems/wall/wall-topology.d.ts +4 -0
  834. package/dist/systems/wall/wall-topology.d.ts.map +1 -1
  835. package/dist/systems/wall/wall-topology.js +4 -2
  836. package/dist/systems/wall/wall-trim.d.ts +7 -0
  837. package/dist/systems/wall/wall-trim.d.ts.map +1 -0
  838. package/dist/systems/wall/wall-trim.js +10 -0
  839. package/dist/utils/clone-scene-graph.d.ts.map +1 -1
  840. package/dist/utils/clone-scene-graph.js +8 -0
  841. package/dist/utils/ensure-scene-openings.d.ts +7420 -6562
  842. package/dist/utils/ensure-scene-openings.d.ts.map +1 -1
  843. package/dist/utils/floor-piece-adoption.d.ts +2 -2
  844. package/dist/utils/floor-plate-migration.d.ts +3746 -3317
  845. package/dist/utils/floor-plate-migration.d.ts.map +1 -1
  846. package/dist/utils/floor-plate-migration.js +2 -2
  847. package/dist/utils/heal-scene-graph.d.ts +12 -0
  848. package/dist/utils/heal-scene-graph.d.ts.map +1 -1
  849. package/dist/utils/heal-scene-graph.js +40 -23
  850. package/dist/utils/legacy-wall-datums.d.ts.map +1 -1
  851. package/dist/utils/legacy-wall-datums.js +2 -2
  852. package/dist/utils/owned-floor-opening-migration.d.ts +3642 -3213
  853. package/dist/utils/owned-floor-opening-migration.d.ts.map +1 -1
  854. package/dist/utils/reconcile-structure-on-load.d.ts +3730 -7777
  855. package/dist/utils/reconcile-structure-on-load.d.ts.map +1 -1
  856. package/dist/utils/scene-migrations.d.ts +1 -1
  857. package/dist/utils/scene-migrations.d.ts.map +1 -1
  858. package/dist/utils/scene-migrations.js +1 -1
  859. package/dist/utils/semantic-equal.d.ts +3 -0
  860. package/dist/utils/semantic-equal.d.ts.map +1 -0
  861. package/dist/utils/semantic-equal.js +26 -0
  862. package/dist/utils/structure-id.d.ts.map +1 -1
  863. package/dist/utils/types.d.ts.map +1 -1
  864. package/dist/utils/wall-face-migration.d.ts +1 -1
  865. package/dist/utils/wall-face-migration.d.ts.map +1 -1
  866. package/package.json +36 -10
@@ -1,9 +1,40 @@
1
1
  import { refuse } from '../agent-tools/refusal.js';
2
+ import { VIEW_MAX_PX, } from '../agent-tools/view-scene.js';
3
+ import { levelGradeStanding } from '../lib/grade-standing.js';
4
+ import { buildingGroundBox, levelGroundBox, terrainBetweenEyeAndBox } from '../lib/ground-window.js';
5
+ import { distanceToSegment } from '../lib/room-topology-index.js';
6
+ import { buildingStreet } from '../lib/site-placement.js';
2
7
  import { getActiveRoofHeight } from '../schema/index.js';
3
- import { getLevelElevations } from '../services/storey.js';
8
+ import { isCeilingGeometry, isRoofGeometry } from '../services/roof-level.js';
9
+ import { EXPLODED_GAP, getLevelElevations } from '../services/storey.js';
4
10
  import { resolveWallExteriorSide } from '../systems/wall/wall-assembly.js';
11
+ import { pointInPolygon } from './plan-geometry.js';
12
+ /** Validate against the scene being rendered as well as the scene used to request the view. */
13
+ export function sceneViewPresentationLevel(nodes, presentation) {
14
+ if (presentation?.mode !== 'solo')
15
+ return undefined;
16
+ const level = nodes[presentation.levelId];
17
+ if (level?.type !== 'level')
18
+ refuse('presentation_level_invalid', 'Solo needs an existing level id.', {
19
+ levelId: presentation.levelId,
20
+ });
21
+ if (ancestry(nodes, level).some((node) => node.visible === false && node.type !== 'site'))
22
+ refuse('presentation_level_hidden', 'Show the level before inspecting it in Solo.', {
23
+ levelId: level.id,
24
+ });
25
+ return level;
26
+ }
27
+ /** Older renderers may ignore new view options; their frames cannot verify those views. */
28
+ export function confirmSceneViewPresentation(requested, applied) {
29
+ if (requested &&
30
+ (applied?.mode !== requested.mode ||
31
+ (requested.mode === 'solo' &&
32
+ (applied?.mode !== 'solo' || applied.levelId !== requested.levelId))))
33
+ refuse('view_presentation_unconfirmed', 'The renderer did not confirm the requested level view. Refresh the renderer and retry; this picture cannot verify Solo or Exploded behavior.', { requested, applied: applied ?? null });
34
+ }
5
35
  /** How high up its storey an interior view cuts a floor: low enough to see every room. */
6
36
  const INTERIOR_CUT = 0.65;
37
+ const INTERIOR_CUT_WORDS = `${INTERIOR_CUT}`;
7
38
  /** Degrees above the horizon an interior view looks down from, by default. */
8
39
  const INTERIOR_ELEVATION = 55;
9
40
  /** A node and every node it stands under, nearest first. */
@@ -39,7 +70,7 @@ export function sceneViewInterior(nodes, levelId) {
39
70
  const hiddenIds = Object.values(nodes)
40
71
  .filter((node) => node.type === 'level'
41
72
  ? node.id !== levelId
42
- : (node.type === 'roof' || node.type === 'ceiling') &&
73
+ : (isRoofGeometry(node) || isCeilingGeometry(node)) &&
43
74
  ancestry(nodes, node).some((at) => at.id === levelId))
44
75
  .map((node) => node.id);
45
76
  if (level.children.length && level.children.every((id) => hiddenIds.includes(id)))
@@ -62,8 +93,11 @@ function cropOf(photo) {
62
93
  refuse('photo_region_invalid', `The region [${photo.region.join(', ')}] holds nothing: give [left, top, right, bottom] in the photo's pixels, right of left and below top.`, { region: photo.region });
63
94
  return { source: photo.source, region: [left, top, right, bottom] };
64
95
  }
65
- /** The picture's size: enough to read a facade's bays, few tokens. */
66
- export const VIEW_SIZE = { w: 1280, h: 800 };
96
+ /**
97
+ * The picture's size, the most of each side: a shelf's books and a door's handles read. Vision
98
+ * models scale a picture down past ~1568 px on its long side, so more costs bytes and nothing seen.
99
+ */
100
+ export const VIEW_SIZE = { w: 1920, h: 1200 };
67
101
  const ASPECT = VIEW_SIZE.w / VIEW_SIZE.h;
68
102
  /** A crop comes back at most this long on either host: the region as the photo has it, never larger than a view. */
69
103
  export const PHOTO_CROP_LONGEST = VIEW_SIZE.w;
@@ -91,11 +125,47 @@ const COMPASS = {
91
125
  west: [-1, 0],
92
126
  'north-west': [-Math.SQRT1_2, -Math.SQRT1_2],
93
127
  };
128
+ /** How far each street side turns from the street toward the street viewer's left, in degrees. */
129
+ const STREET_TURN = {
130
+ street: 0,
131
+ 'street-left': 45,
132
+ left: 90,
133
+ 'back-left': 135,
134
+ back: 180,
135
+ 'back-right': -135,
136
+ right: -90,
137
+ 'street-right': -45,
138
+ };
139
+ const isStreetSide = (side) => Object.hasOwn(STREET_TURN, side);
94
140
  /**
95
- * What a view frames: the walls of the target (a building, a level, a wall) or a zone's outline,
96
- * each at its storey's height; every wall by default. Plan guides never count: an imported plan
97
- * is drawn much larger than its building.
141
+ * Where a street side stands in the plan, from the street of the house it looks at (core's
142
+ * `buildingStreet`: the street its site records, else the house's own front). Standing in the
143
+ * street facing the house you look along -toward, and in this frame (x east, z south, y up) your
144
+ * left hand points along (-toward.z, toward.x): on a lot whose street is north, that is east.
145
+ */
146
+ function streetDirection(nodes, side, lookedAt) {
147
+ const [fx, fz] = buildingStreet(nodes, framedBuilding(nodes, lookedAt)?.id);
148
+ const turn = (STREET_TURN[side] * Math.PI) / 180;
149
+ // `+ 0` so a vector along an axis reads 0, not -0.
150
+ return [
151
+ fx * Math.cos(turn) - fz * Math.sin(turn) + 0,
152
+ fz * Math.cos(turn) + fx * Math.sin(turn) + 0,
153
+ ];
154
+ }
155
+ /**
156
+ * The building a view is of: the one holding what it looks at (a target, an interior's floor),
157
+ * else the scene's. Buildings on several sites each face their own street, so a street side then
158
+ * needs the building as target.
98
159
  */
160
+ function framedBuilding(nodes, lookedAt) {
161
+ if (lookedAt)
162
+ return ancestry(nodes, lookedAt).find((node) => node.type === 'building') ?? null;
163
+ const buildings = Object.values(nodes).filter((node) => node.type === 'building');
164
+ const sites = new Set(buildings.map((building) => building.parentId ?? null));
165
+ if (sites.size > 1)
166
+ refuse('which_building', `The scene has buildings on ${sites.size} sites, each facing its own street: give the building as target.`, { buildings: buildings.map((building) => building.id) });
167
+ return buildings[0] ?? null;
168
+ }
99
169
  /** A door or a window and the wall it is in, when the target is one. */
100
170
  function openingOf(nodes, target) {
101
171
  if (target?.type !== 'door' && target?.type !== 'window')
@@ -300,6 +370,21 @@ function outwardOf(opening, wall, yaw) {
300
370
  // `+ 0` so a vector along an axis reads 0, not -0.
301
371
  return [ux * Math.cos(yaw) + uz * Math.sin(yaw) + 0, -ux * Math.sin(yaw) + uz * Math.cos(yaw) + 0];
302
372
  }
373
+ /**
374
+ * Which way a door or a window faces, outward, as a unit vector in the site's plan (x, z): what a
375
+ * view of it is taken from, and what a camera that follows the build looks at it along. The same
376
+ * for a wall with an exterior side: the way that side faces. Null for anything else, and for a wall
377
+ * with no exterior side.
378
+ */
379
+ export function sceneViewFacing(nodes, id) {
380
+ const opening = openingOf(nodes, nodes[id]);
381
+ if (opening)
382
+ return outwardOf(opening.opening, opening.wall, standingOf(nodes, opening.wall.parentId).yaw);
383
+ const wall = nodes[id];
384
+ if (wall?.type !== 'wall' || resolveWallExteriorSide(wall) === null)
385
+ return null;
386
+ return outwardOf(wall, wall, standingOf(nodes, wall.parentId).yaw);
387
+ }
303
388
  const AT_ORIGIN = { x: 0, y: 0, z: 0, yaw: 0 };
304
389
  function standingOf(nodes, levelId) {
305
390
  const level = levelId ? nodes[levelId] : undefined;
@@ -337,14 +422,23 @@ function placedBox(box, at) {
337
422
  ],
338
423
  };
339
424
  }
340
- export function sceneViewBounds(nodes, targetId) {
425
+ /**
426
+ * What a view frames: the walls of the target (a building, a level, a wall) or a zone's outline,
427
+ * each at its storey's height, and the roofs over them up to their peaks; every storey by default.
428
+ * Plan guides never count: an imported plan is drawn much larger than its building.
429
+ */
430
+ export function sceneViewBounds(nodes, targetId, presentation) {
341
431
  const target = targetId ? nodes[targetId] : undefined;
342
432
  if (targetId && !target)
343
433
  refuse('target_not_found', `Nothing to look at: ${targetId} is not in the scene.`, {
344
434
  target: targetId,
345
435
  });
346
436
  const elevations = getLevelElevations(nodes);
347
- const baseOf = (levelId) => (levelId ? elevations.get(levelId)?.baseY : undefined) ?? 0;
437
+ const baseOf = (levelId) => {
438
+ const level = levelId ? elevations.get(levelId) : undefined;
439
+ return ((level?.baseY ?? 0) +
440
+ (presentation?.mode === 'exploded' ? (level?.ordinal ?? 0) * EXPLODED_GAP : 0));
441
+ };
348
442
  const placed = (box, levelId) => placedBox(box, standingOf(nodes, levelId));
349
443
  const opening = openingOf(nodes, target);
350
444
  if (opening)
@@ -364,8 +458,11 @@ export function sceneViewBounds(nodes, targetId) {
364
458
  const levelOf = (node) => (node.parentId ? nodes[node.parentId] : undefined);
365
459
  const outlines = [];
366
460
  // With no walls yet, what the level holds frames it: furniture placed from a plan before the
367
- // walls are built, a site with its paving and fences.
461
+ // walls are built, a site with its paving and fences. The roofs frame with the walls, and so does
462
+ // a plugin's node (a roof plane), whose shape core cannot read: up to its storey's top.
368
463
  const held = [];
464
+ const roofs = [];
465
+ let pluginTop = Number.NEGATIVE_INFINITY;
369
466
  for (const node of Object.values(nodes)) {
370
467
  const level = levelOf(node);
371
468
  if (level?.type !== 'level')
@@ -388,18 +485,21 @@ export function sceneViewBounds(nodes, targetId) {
388
485
  levelId: level.id,
389
486
  });
390
487
  else if (node.type === 'item')
391
- held.push(placedBox(itemBox(node, baseOf(level.id)), at));
488
+ (isRoofGeometry(node) ? roofs : held).push(placedBox(itemBox(node, baseOf(level.id)), at));
489
+ else if (node.type.includes(':')) {
490
+ const storey = elevations.get(level.id);
491
+ if (storey)
492
+ pluginTop = Math.max(pluginTop, baseOf(level.id) + storey.height + at.y);
493
+ }
392
494
  else {
393
495
  const box = levelChildBox(nodes, node, baseOf(level.id));
394
496
  if (box)
395
- held.push(placedBox(box, at));
497
+ (node.type === 'roof' ? roofs : held).push(placedBox(box, at));
396
498
  }
397
499
  }
398
- if (!outlines.length && held.length)
399
- return {
400
- min: [0, 1, 2].map((axis) => Math.min(...held.map((box) => box.min[axis]))),
401
- max: [0, 1, 2].map((axis) => Math.max(...held.map((box) => box.max[axis]))),
402
- };
500
+ const upTo = (box) => pluginTop > box.max[1] ? { min: box.min, max: [box.max[0], pluginTop, box.max[2]] } : box;
501
+ if (!outlines.length && (held.length || roofs.length))
502
+ return upTo(union([...held, ...roofs]));
403
503
  if (!outlines.length)
404
504
  refuse('nothing_to_view', target
405
505
  ? `${target.type} ${target.id} holds nothing built to look at: give a building, a level, a wall, a zone or what was placed.`
@@ -409,8 +509,8 @@ export function sceneViewBounds(nodes, targetId) {
409
509
  for (const { points, levelId } of outlines) {
410
510
  const storey = elevations.get(levelId) ?? { baseY: 0, height: 3 };
411
511
  const lift = standingOf(nodes, levelId).y;
412
- min[1] = Math.min(min[1], storey.baseY + lift);
413
- max[1] = Math.max(max[1], storey.baseY + storey.height + lift);
512
+ min[1] = Math.min(min[1], baseOf(levelId) + lift);
513
+ max[1] = Math.max(max[1], baseOf(levelId) + storey.height + lift);
414
514
  for (const [x, z] of points) {
415
515
  min[0] = Math.min(min[0], x);
416
516
  max[0] = Math.max(max[0], x);
@@ -418,7 +518,14 @@ export function sceneViewBounds(nodes, targetId) {
418
518
  max[2] = Math.max(max[2], z);
419
519
  }
420
520
  }
421
- return { min, max };
521
+ return upTo(union([{ min, max }, ...roofs]));
522
+ }
523
+ /** The box around boxes. */
524
+ function union(boxes) {
525
+ return {
526
+ min: [0, 1, 2].map((axis) => Math.min(...boxes.map((box) => box.min[axis]))),
527
+ max: [0, 1, 2].map((axis) => Math.max(...boxes.map((box) => box.max[axis]))),
528
+ };
422
529
  }
423
530
  const sub = (a, b) => [a[0] - b[0], a[1] - b[1], a[2] - b[2]];
424
531
  const dot = (a, b) => a[0] * b[0] + a[1] * b[1] + a[2] * b[2];
@@ -446,7 +553,7 @@ export function sceneViewPose(box, input) {
446
553
  const radius = Math.hypot(...sub(box.max, box.min)) / 2 || 1;
447
554
  const side = input.from ?? 'south-west';
448
555
  const elevation = ((side === 'above' ? 89 : (input.elevation ?? DEFAULT_ELEVATION)) * Math.PI) / 180;
449
- const [dx, dz] = side === 'above' ? COMPASS.south : COMPASS[side];
556
+ const [dx, dz] = side === 'above' ? COMPASS.south : typeof side === 'string' ? COMPASS[side] : side;
450
557
  const direction = [Math.cos(elevation) * dx, Math.sin(elevation), Math.cos(elevation) * dz];
451
558
  const corners = [];
452
559
  for (const x of [box.min[0], box.max[0]])
@@ -499,20 +606,244 @@ export function sceneViewPose(box, input) {
499
606
  fov,
500
607
  };
501
608
  }
609
+ /** What a picture into a floor below grade shows over it, said so the agent describes it right. */
610
+ const BELOW_GRADE_NOTE = 'The floor lies below grade: the ground over it is drawn as a faint veil, so its rooms show through it.';
611
+ const PARTLY_BELOW_GRADE_NOTE = 'The floor lies partly below grade: the ground stands over part of it.';
612
+ const GROUND_IN_THE_WAY_NOTE = 'Ground stands between this viewpoint and the building: where it would hide it, the ground is drawn as a faint veil; the rest of the ground is solid.';
613
+ const ROOM_EYE_NOTE = (name) => `The eye stands inside ${name} at a person's height, looking across it: the walls, openings and furniture of its floor are cut at ${INTERIOR_CUT_WORDS} of the storey's height and its ceiling is left out.`;
502
614
  /**
503
- * The view to render and its size: from a photo's camera at the photo's aspect, so the two lay
504
- * one beside the other; else framing the target at the standard size.
615
+ * What a view comes with, on both surfaces: a picture to compare, not a measure; a floor below grade
616
+ * is seen through the veiled ground. With the picture's `pose`, also the fact of ground standing
617
+ * between that viewpoint and the building, veiled where it would hide it.
505
618
  */
506
- /** What a view comes with, on both surfaces: a picture to compare, not a measure. */
507
- export function sceneViewNote() {
508
- return 'A picture to compare with the reference, not a measure: take sizes and counts from the tools.';
619
+ export function sceneViewNote(nodes, interior, pose) {
620
+ const notes = [
621
+ 'A picture to compare with the reference, not a measure: take sizes and counts from the tools.',
622
+ ];
623
+ if (nodes && interior) {
624
+ const standing = levelGradeStanding(nodes, interior.levelId);
625
+ if (standing === 'below-grade')
626
+ notes.push(BELOW_GRADE_NOTE);
627
+ if (standing === 'partly-below-grade')
628
+ notes.push(PARTLY_BELOW_GRADE_NOTE);
629
+ }
630
+ if (nodes && pose) {
631
+ const asNodes = nodes;
632
+ const box = interior ? levelGroundBox(asNodes, interior.levelId) : buildingGroundBox(asNodes);
633
+ if (box && terrainBetweenEyeAndBox(asNodes, pose.position, box))
634
+ notes.push(GROUND_IN_THE_WAY_NOTE);
635
+ }
636
+ const room = interior?.roomId ? nodes?.[interior.roomId] : undefined;
637
+ if (nodes && pose && room?.type === 'zone') {
638
+ const { bounds } = sceneViewInterior(nodes, interior.levelId);
639
+ const { outline, holes } = roomOnSite(nodes, room, bounds.min[1]);
640
+ const eye = [pose.position[0], pose.position[2]];
641
+ if (pointInPolygon(eye, outline, false) &&
642
+ !holes.some((hole) => pointInPolygon(eye, hole)) &&
643
+ pose.position[1] >= bounds.min[1] &&
644
+ pose.position[1] <= bounds.max[1])
645
+ notes.push(ROOM_EYE_NOTE(room.name || room.id));
646
+ }
647
+ return notes.join(' ');
648
+ }
649
+ /** A picture of `w` × `h`, made smaller to `maxPx` on its longest side, `VIEW_MAX_PX` at most. */
650
+ function sized(w, h, maxPx = VIEW_MAX_PX) {
651
+ const scale = Math.min(1, maxPx / Math.max(w, h));
652
+ return { w: Math.round(w * scale), h: Math.round(h * scale) };
653
+ }
654
+ /** The pose of a camera given whole: a photo's, or the person's own. */
655
+ function cameraPose(camera, current) {
656
+ if (camera !== 'current')
657
+ return {
658
+ pose: {
659
+ projection: 'perspective',
660
+ position: camera.position,
661
+ target: camera.target,
662
+ fov: camera.fov,
663
+ },
664
+ aspect: camera.aspect,
665
+ };
666
+ if (!current)
667
+ refuse('no_current_camera', "There is no view of the person's to look through here: give a side (from), a position or a photo's camera.");
668
+ const { position, target, aspect } = current;
669
+ return {
670
+ pose: current.projection === 'orthographic' && current.viewWidth
671
+ ? { projection: 'orthographic', position, target, viewWidth: current.viewWidth }
672
+ : { projection: 'perspective', position, target, fov: current.fov ?? DEFAULT_FOV },
673
+ aspect,
674
+ };
509
675
  }
510
- export function sceneViewPlan(nodes, input) {
676
+ /** How high a person's eyes stand above the floor: the eye of a room view, unless eyeHeight says. */
677
+ const ROOM_EYE_HEIGHT = 1.6;
678
+ /** The field of view of a view from inside a room: wide, as a person takes a room in. */
679
+ const ROOM_FOV = 75;
680
+ /** Height of the point a room view looks at: the middle of what stands in the room. */
681
+ const ROOM_AIM_HEIGHT = 1.0;
682
+ /** What an interior asks for, checked: the floor it looks into, and the room it stands in if any. */
683
+ function interiorRequest(nodes, request) {
684
+ const { levelId, zoneId } = request;
685
+ if (Boolean(levelId) === Boolean(zoneId))
686
+ refuse('interior_one_of', 'interior takes a levelId (look into a floor) or a zoneId (stand inside a room), one of them.');
687
+ if (levelId)
688
+ return { interior: { levelId } };
689
+ const zone = nodes[zoneId];
690
+ if (zone?.type !== 'zone')
691
+ refuse('interior_room_invalid', `An interior view of a room needs a zone id (get_zones lists them): ${zoneId} is none.`, { zoneId });
692
+ const level = nodes[zone.parentId ?? ''];
693
+ if (level?.type !== 'level' || zone.polygon.length < 3)
694
+ refuse('interior_room_invalid', `${zoneId} has no outline on a floor to stand in: give another room, or a levelId.`, { zoneId });
695
+ return { interior: { levelId: level.id, roomId: zone.id }, room: zone };
696
+ }
697
+ /** A room's outline and holes on the site, and the box of its floor's height over its outline. */
698
+ function roomOnSite(nodes, room, floorY) {
699
+ const at = standingOf(nodes, room.parentId);
700
+ const outline = room.polygon.map((point) => onSite(point, at));
701
+ const holes = room.holes.map((hole) => hole.map((point) => onSite(point, at)));
702
+ const storey = getLevelElevations(nodes).get(room.parentId ?? '');
703
+ const xs = outline.map((point) => point[0]);
704
+ const zs = outline.map((point) => point[1]);
705
+ const box = {
706
+ min: [Math.min(...xs), floorY, Math.min(...zs)],
707
+ max: [Math.max(...xs), floorY + (storey?.height ?? 3), Math.max(...zs)],
708
+ };
709
+ return { outline, holes, box };
710
+ }
711
+ /** How far a point stands from the nearest wall of an outline. */
712
+ function clearanceOf(outline, point) {
713
+ return Math.min(...outline.map((corner, i) => distanceToSegment(point, corner, outline[(i + 1) % outline.length])));
714
+ }
715
+ /**
716
+ * The point of a room farthest from its walls: the middle of an L as well as of a square, which
717
+ * the corners' average is not.
718
+ */
719
+ function roomMiddle(outline, inRoom) {
720
+ const xs = outline.map((point) => point[0]);
721
+ const zs = outline.map((point) => point[1]);
722
+ const [minX, maxX] = [Math.min(...xs), Math.max(...xs)];
723
+ const [minZ, maxZ] = [Math.min(...zs), Math.max(...zs)];
724
+ let best = [(minX + maxX) / 2, (minZ + maxZ) / 2];
725
+ let bestClearance = inRoom(best) ? clearanceOf(outline, best) : -1;
726
+ const steps = 24;
727
+ for (let i = 0; i <= steps; i++)
728
+ for (let j = 0; j <= steps; j++) {
729
+ const point = [minX + ((maxX - minX) * i) / steps, minZ + ((maxZ - minZ) * j) / steps];
730
+ if (!inRoom(point))
731
+ continue;
732
+ const room = clearanceOf(outline, point);
733
+ if (room > bestClearance)
734
+ [best, bestClearance] = [point, room];
735
+ }
736
+ return best;
737
+ }
738
+ /**
739
+ * A person standing in a room, looking across it: the eye a step in from the corner farthest from
740
+ * what it looks at (or, given a side, from the corner on that side), at eye height, aimed at the
741
+ * room's middle or at the target. Everything is on the site, in metres.
742
+ */
743
+ function roomEyeView(outline, holes, floorY, { aim, side, eyeHeight = ROOM_EYE_HEIGHT, fov = ROOM_FOV, }) {
744
+ const inRoom = (point) => pointInPolygon(point, outline, false) && !holes.some((hole) => pointInPolygon(point, hole));
745
+ const distance = (a, b) => Math.hypot(a[0] - b[0], a[1] - b[1]);
746
+ const middle = roomMiddle(outline, inRoom);
747
+ const looksAt = aim ? [aim[0], aim[2]] : middle;
748
+ let eye;
749
+ let bestScore = Number.NEGATIVE_INFINITY;
750
+ for (const corner of outline) {
751
+ const toMiddle = distance(corner, middle) || 1;
752
+ const inward = [(middle[0] - corner[0]) / toMiddle, (middle[1] - corner[1]) / toMiddle];
753
+ // A step in from the corner, further in a room too narrow to hold the first.
754
+ const standing = [0.6, 1, 1.6]
755
+ .filter((step) => step <= toMiddle * 0.8)
756
+ .map((step) => [corner[0] + inward[0] * step, corner[1] + inward[1] * step])
757
+ .find((point) => inRoom(point) && clearanceOf(outline, point) >= 0.25);
758
+ if (!standing)
759
+ continue;
760
+ const score = side
761
+ ? ((corner[0] - middle[0]) * side[0] + (corner[1] - middle[1]) * side[1]) / toMiddle
762
+ : distance(standing, looksAt);
763
+ if (score > bestScore)
764
+ [eye, bestScore] = [standing, score];
765
+ }
766
+ if (!eye) {
767
+ // A room too small for a corner to stand in: from its middle, toward its farthest corner.
768
+ const far = outline.reduce((a, b) => (distance(b, middle) > distance(a, middle) ? b : a));
769
+ return {
770
+ projection: 'perspective',
771
+ position: [round(middle[0]), round(floorY + eyeHeight), round(middle[1])],
772
+ target: [round(far[0]), round(floorY + ROOM_AIM_HEIGHT), round(far[1])],
773
+ fov,
774
+ };
775
+ }
776
+ if (aim)
777
+ return {
778
+ projection: 'perspective',
779
+ position: [round(eye[0]), round(floorY + eyeHeight), round(eye[1])],
780
+ target: [round(aim[0]), round(aim[1]), round(aim[2])],
781
+ fov,
782
+ };
783
+ // Across the room: the far end of the line from the eye through the room's middle, so the eye
784
+ // looks level at a wall and not down at the floor a step away.
785
+ const length = distance(eye, middle) || 1;
786
+ const along = [(middle[0] - eye[0]) / length, (middle[1] - eye[1]) / length];
787
+ let far = middle;
788
+ for (let reach = length; reach < 100; reach += 0.1) {
789
+ const point = [eye[0] + along[0] * reach, eye[1] + along[1] * reach];
790
+ if (!inRoom(point))
791
+ break;
792
+ far = point;
793
+ }
794
+ return {
795
+ projection: 'perspective',
796
+ position: [round(eye[0]), round(floorY + eyeHeight), round(eye[1])],
797
+ target: [round(far[0]), round(floorY + ROOM_AIM_HEIGHT), round(far[1])],
798
+ fov,
799
+ };
800
+ }
801
+ /**
802
+ * A level below grade on all of its footprint is seen from inside: from outside, the ground
803
+ * covers it. One only partly below grade keeps its outside view — the ground in the way is
804
+ * veiled in the picture instead.
805
+ */
806
+ function belowGradeInterior(nodes, target) {
807
+ return target?.type === 'level' &&
808
+ levelGradeStanding(nodes, target.id) === 'below-grade'
809
+ ? { levelId: target.id }
810
+ : undefined;
811
+ }
812
+ /**
813
+ * The view to render, its size and its light: through a camera given whole (a photo's, at the
814
+ * photo's aspect so the two lay one beside the other, or the person's own, which the host passes
815
+ * as `currentCamera`); else framing the target at the standard size, from a compass side or a side
816
+ * of the street the site records.
817
+ */
818
+ export function sceneViewPlan(nodes, input, { currentCamera } = {}) {
511
819
  const { camera } = input;
820
+ const presentation = input.presentation;
821
+ if (presentation && input.interior)
822
+ refuse('presentation_and_interior', 'Choose a level presentation or a clipped interior view.');
823
+ const solo = sceneViewPresentationLevel(nodes, presentation);
824
+ if (solo) {
825
+ if (input.target && !nodes[input.target])
826
+ refuse('target_not_found', 'The target is not in the scene.', { target: input.target });
827
+ if (input.target && !ancestry(nodes, nodes[input.target]).some((node) => node.id === solo.id))
828
+ refuse('presentation_target_elsewhere', 'The target must belong to the soloed level.', {
829
+ target: input.target,
830
+ levelId: solo.id,
831
+ });
832
+ }
512
833
  const crop = cropOf(input.photo);
513
- const inside = input.interior && sceneViewInterior(nodes, input.interior.levelId);
514
- const interior = input.interior && { levelId: input.interior.levelId };
515
834
  const target = input.target ? nodes[input.target] : undefined;
835
+ const requested = input.interior ? interiorRequest(nodes, input.interior) : undefined;
836
+ const room = requested?.room;
837
+ // A level below grade is looked into when none is asked for: from outside, the ground covers it.
838
+ const interior = requested?.interior ?? belowGradeInterior(nodes, target);
839
+ const inside = interior && sceneViewInterior(nodes, interior.levelId);
840
+ const lighting = input.lighting === 'current' ? undefined : input.lighting;
841
+ const extras = {
842
+ ...(crop ? { crop } : {}),
843
+ ...(interior ? { interior } : {}),
844
+ ...(presentation ? { presentation } : {}),
845
+ ...(lighting ? { lighting } : {}),
846
+ };
516
847
  // An interior view shows this floor alone, without its roofs and ceilings: a target left out of
517
848
  // the picture would frame nothing shown.
518
849
  if (interior && inside && target) {
@@ -526,34 +857,60 @@ export function sceneViewPlan(nodes, input) {
526
857
  if (camera) {
527
858
  const own = ['from', 'position', 'elevation', 'eyeHeight', 'fov', 'projection'].filter((key) => input[key] !== undefined);
528
859
  if (own.length)
529
- refuse('camera_and_viewpoint', `Give the photo's camera or a viewpoint of your own, not both (${own.join(', ')}).`, { fields: own });
530
- return {
531
- pose: {
532
- projection: 'perspective',
533
- position: camera.position,
534
- target: camera.target,
535
- fov: camera.fov,
536
- },
537
- size: { w: VIEW_SIZE.w, h: Math.round(VIEW_SIZE.w / camera.aspect) },
538
- ...(crop ? { crop } : {}),
539
- ...(interior ? { interior } : {}),
540
- };
860
+ refuse('camera_and_viewpoint', `Give a camera or a viewpoint of your own, not both (${own.join(', ')}).`, { fields: own });
861
+ const { pose, aspect } = cameraPose(camera, currentCamera);
862
+ return { pose, size: sized(VIEW_SIZE.w, VIEW_SIZE.w / aspect, input.maxPx), ...extras };
541
863
  }
542
864
  const opening = openingOf(nodes, target);
543
- const from = input.from ??
544
- (opening && !input.position
865
+ const side = input.from;
866
+ const from = side
867
+ ? isStreetSide(side)
868
+ ? streetDirection(nodes, side, target ?? solo ?? (interior && nodes[interior.levelId]))
869
+ : side
870
+ : opening && !input.position
545
871
  ? outsideSide(opening.opening, opening.wall, standingOf(nodes, opening.wall.parentId).yaw)
546
- : undefined);
872
+ : undefined;
547
873
  // Inside a floor, the eye looks down into it over the cut walls.
548
874
  const lookDown = inside && input.elevation === undefined && input.eyeHeight === undefined;
875
+ const { position, elevation, eyeHeight, fov, projection } = input;
876
+ const placedRoom = room && inside && roomOnSite(nodes, room, inside.bounds.min[1]);
877
+ // A room is looked at from inside, a person's height up, unless the eye is put (position) or
878
+ // lifted over it (elevation, from above, orthographic): then it is the cut room from outside.
879
+ if (placedRoom &&
880
+ position === undefined &&
881
+ elevation === undefined &&
882
+ side !== 'above' &&
883
+ projection !== 'orthographic') {
884
+ const aimBox = input.target ? sceneViewBounds(nodes, input.target) : undefined;
885
+ return {
886
+ pose: roomEyeView(placedRoom.outline, placedRoom.holes, inside.bounds.min[1], {
887
+ aim: aimBox && [
888
+ (aimBox.min[0] + aimBox.max[0]) / 2,
889
+ (aimBox.min[1] + aimBox.max[1]) / 2,
890
+ (aimBox.min[2] + aimBox.max[2]) / 2,
891
+ ],
892
+ side: typeof from === 'string' ? (from === 'above' ? undefined : COMPASS[from]) : from,
893
+ eyeHeight,
894
+ fov,
895
+ }),
896
+ size: sized(VIEW_SIZE.w, VIEW_SIZE.h, input.maxPx),
897
+ ...extras,
898
+ };
899
+ }
549
900
  return {
550
- pose: sceneViewPose(input.target || !inside ? sceneViewBounds(nodes, input.target) : inside.bounds, {
551
- ...input,
552
- ...(lookDown ? { elevation: INTERIOR_ELEVATION } : {}),
553
- ...(from ? { from } : {}),
901
+ pose: sceneViewPose(input.target || !inside
902
+ ? sceneViewBounds(nodes, input.target ?? solo?.id, presentation)
903
+ : placedRoom
904
+ ? placedRoom.box
905
+ : inside.bounds, {
906
+ position,
907
+ elevation: lookDown ? INTERIOR_ELEVATION : elevation,
908
+ eyeHeight,
909
+ fov,
910
+ projection,
911
+ from,
554
912
  }),
555
- size: { ...VIEW_SIZE },
556
- ...(crop ? { crop } : {}),
557
- ...(interior ? { interior } : {}),
913
+ size: sized(VIEW_SIZE.w, VIEW_SIZE.h, input.maxPx),
914
+ ...extras,
558
915
  };
559
916
  }
@@ -6,8 +6,8 @@ type SearchAssetsInput = {
6
6
  }[];
7
7
  };
8
8
  /**
9
- * `search_assets`: the host's item library, one group of hits per query. A miss points to
10
- * add_object, the way to build what no library holds, without naming a design for it.
9
+ * `search_assets`: the host's item library, one group of hits per query. A miss names the other
10
+ * sources there are for the need, as a fact.
11
11
  */
12
12
  export declare const searchAssets: AgentOperation<SearchAssetsInput>;
13
13
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"search-assets.d.ts","sourceRoot":"","sources":["../../src/agent-operations/search-assets.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,iBAAiB,GAAG;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAA;AAY5E;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,iBAAiB,CA0B1D,CAAA"}
1
+ {"version":3,"file":"search-assets.d.ts","sourceRoot":"","sources":["../../src/agent-operations/search-assets.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,iBAAiB,GAAG;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CAAE,CAAA;AAY5E;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,cAAc,CAAC,iBAAiB,CA0B1D,CAAA"}
@@ -1,4 +1,5 @@
1
1
  import { refuse } from '../agent-tools/refusal.js';
2
+ import { OTHER_SOURCES } from '../agent-tools/sources.js';
2
3
  function matches(item, { query, category }) {
3
4
  if (category && item.category !== category)
4
5
  return false;
@@ -10,8 +11,8 @@ function matches(item, { query, category }) {
10
11
  .every((term) => haystack.includes(term));
11
12
  }
12
13
  /**
13
- * `search_assets`: the host's item library, one group of hits per query. A miss points to
14
- * add_object, the way to build what no library holds, without naming a design for it.
14
+ * `search_assets`: the host's item library, one group of hits per query. A miss names the other
15
+ * sources there are for the need, as a fact.
15
16
  */
16
17
  export const searchAssets = (_nodes, { queries }, context) => {
17
18
  const catalog = context.catalog;
@@ -35,7 +36,7 @@ export const searchAssets = (_nodes, { queries }, context) => {
35
36
  groups,
36
37
  total: groups.reduce((sum, group) => sum + group.total, 0),
37
38
  ...(missed.length && {
38
- hint: `Nothing in the library matches ${missed.join(', ')}. Build what it lacks with add_object.`,
39
+ hint: `Nothing in the library matches ${missed.join(', ')}. ${OTHER_SOURCES}`,
39
40
  }),
40
41
  },
41
42
  };
@@ -1,12 +1,18 @@
1
- import { type MaterialSurface } from '../material-library.js';
1
+ import type { MaterialCategory, MaterialSurface } from '../material-kinds.js';
2
2
  import type { AgentOperation } from './types.js';
3
3
  type SearchMaterialsInput = {
4
4
  queries: {
5
- query: string;
5
+ query?: string;
6
+ kind?: MaterialCategory;
6
7
  surface?: MaterialSurface;
8
+ offset?: number;
7
9
  }[];
8
10
  };
9
- /** `search_materials`: the library's materials by words, best first, and the words none answers. */
11
+ /**
12
+ * `search_materials`: the library's materials by words, best first, and the words none answers;
13
+ * without a query, a browse of a kind, a surface or the whole library. Either lists a page at a
14
+ * time, saying how many more there are and the offset that lists them.
15
+ */
10
16
  export declare const searchMaterials: AgentOperation<SearchMaterialsInput>;
11
17
  export {};
12
18
  //# sourceMappingURL=search-materials.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"search-materials.d.ts","sourceRoot":"","sources":["../../src/agent-operations/search-materials.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,oBAAoB,GAAG;IAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAA;KAAE,EAAE,CAAA;CAAE,CAAA;AA6FvF,oGAAoG;AACpG,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAoC/D,CAAA"}
1
+ {"version":3,"file":"search-materials.d.ts","sourceRoot":"","sources":["../../src/agent-operations/search-materials.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAM1E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAA;AAE7C,KAAK,oBAAoB,GAAG;IAC1B,OAAO,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,gBAAgB,CAAC;QAAC,OAAO,CAAC,EAAE,eAAe,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAA;CACnG,CAAA;AA+HD;;;;GAIG;AACH,eAAO,MAAM,eAAe,EAAE,cAAc,CAAC,oBAAoB,CAkDhE,CAAA"}