@snaptrude/plugin-core 0.0.0-bimsvg-20260928124803

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 (383) hide show
  1. package/AGENTS.md +231 -0
  2. package/CHANGELOG.md +341 -0
  3. package/CLAUDE.md +11 -0
  4. package/api-manifest.json +9120 -0
  5. package/dist/api/analysis/daylight.d.ts +603 -0
  6. package/dist/api/analysis/daylight.d.ts.map +1 -0
  7. package/dist/api/analysis/heatmaps.d.ts +658 -0
  8. package/dist/api/analysis/heatmaps.d.ts.map +1 -0
  9. package/dist/api/analysis/illuminance.d.ts +145 -0
  10. package/dist/api/analysis/illuminance.d.ts.map +1 -0
  11. package/dist/api/analysis/index.d.ts +59 -0
  12. package/dist/api/analysis/index.d.ts.map +1 -0
  13. package/dist/api/analysis/shadows.d.ts +165 -0
  14. package/dist/api/analysis/shadows.d.ts.map +1 -0
  15. package/dist/api/analysis/solar.d.ts +249 -0
  16. package/dist/api/analysis/solar.d.ts.map +1 -0
  17. package/dist/api/analysis/sunlightHours.d.ts +208 -0
  18. package/dist/api/analysis/sunlightHours.d.ts.map +1 -0
  19. package/dist/api/analysis/sunpath.d.ts +80 -0
  20. package/dist/api/analysis/sunpath.d.ts.map +1 -0
  21. package/dist/api/analysis/weather.d.ts +193 -0
  22. package/dist/api/analysis/weather.d.ts.map +1 -0
  23. package/dist/api/core/buildings.d.ts +427 -0
  24. package/dist/api/core/buildings.d.ts.map +1 -0
  25. package/dist/api/core/camera/index.d.ts +261 -0
  26. package/dist/api/core/camera/index.d.ts.map +1 -0
  27. package/dist/api/core/comment/index.d.ts +333 -0
  28. package/dist/api/core/comment/index.d.ts.map +1 -0
  29. package/dist/api/core/geom/create/index.d.ts +1073 -0
  30. package/dist/api/core/geom/create/index.d.ts.map +1 -0
  31. package/dist/api/core/geom/delete/index.d.ts +78 -0
  32. package/dist/api/core/geom/delete/index.d.ts.map +1 -0
  33. package/dist/api/core/geom/index.d.ts +33 -0
  34. package/dist/api/core/geom/index.d.ts.map +1 -0
  35. package/dist/api/core/geom/query/arc.d.ts +169 -0
  36. package/dist/api/core/geom/query/arc.d.ts.map +1 -0
  37. package/dist/api/core/geom/query/brep.d.ts +514 -0
  38. package/dist/api/core/geom/query/brep.d.ts.map +1 -0
  39. package/dist/api/core/geom/query/circle.d.ts +378 -0
  40. package/dist/api/core/geom/query/circle.d.ts.map +1 -0
  41. package/dist/api/core/geom/query/contour.d.ts +450 -0
  42. package/dist/api/core/geom/query/contour.d.ts.map +1 -0
  43. package/dist/api/core/geom/query/curve.d.ts +918 -0
  44. package/dist/api/core/geom/query/curve.d.ts.map +1 -0
  45. package/dist/api/core/geom/query/edge.d.ts +128 -0
  46. package/dist/api/core/geom/query/edge.d.ts.map +1 -0
  47. package/dist/api/core/geom/query/face.d.ts +363 -0
  48. package/dist/api/core/geom/query/face.d.ts.map +1 -0
  49. package/dist/api/core/geom/query/halfedge.d.ts +206 -0
  50. package/dist/api/core/geom/query/halfedge.d.ts.map +1 -0
  51. package/dist/api/core/geom/query/index.d.ts +61 -0
  52. package/dist/api/core/geom/query/index.d.ts.map +1 -0
  53. package/dist/api/core/geom/query/profile.d.ts +410 -0
  54. package/dist/api/core/geom/query/profile.d.ts.map +1 -0
  55. package/dist/api/core/geom/query/vertex.d.ts +187 -0
  56. package/dist/api/core/geom/query/vertex.d.ts.map +1 -0
  57. package/dist/api/core/geom/update/contour.d.ts +272 -0
  58. package/dist/api/core/geom/update/contour.d.ts.map +1 -0
  59. package/dist/api/core/geom/update/curve.d.ts +180 -0
  60. package/dist/api/core/geom/update/curve.d.ts.map +1 -0
  61. package/dist/api/core/geom/update/index.d.ts +27 -0
  62. package/dist/api/core/geom/update/index.d.ts.map +1 -0
  63. package/dist/api/core/geom/update/profile.d.ts +329 -0
  64. package/dist/api/core/geom/update/profile.d.ts.map +1 -0
  65. package/dist/api/core/groups.d.ts +485 -0
  66. package/dist/api/core/groups.d.ts.map +1 -0
  67. package/dist/api/core/handles/index.d.ts +210 -0
  68. package/dist/api/core/handles/index.d.ts.map +1 -0
  69. package/dist/api/core/history/index.d.ts +78 -0
  70. package/dist/api/core/history/index.d.ts.map +1 -0
  71. package/dist/api/core/index.d.ts +97 -0
  72. package/dist/api/core/index.d.ts.map +1 -0
  73. package/dist/api/core/io/export/index.d.ts +134 -0
  74. package/dist/api/core/io/export/index.d.ts.map +1 -0
  75. package/dist/api/core/io/import/index.d.ts +455 -0
  76. package/dist/api/core/io/import/index.d.ts.map +1 -0
  77. package/dist/api/core/io/index.d.ts +40 -0
  78. package/dist/api/core/io/index.d.ts.map +1 -0
  79. package/dist/api/core/io/job/index.d.ts +139 -0
  80. package/dist/api/core/io/job/index.d.ts.map +1 -0
  81. package/dist/api/core/io/query/index.d.ts +74 -0
  82. package/dist/api/core/io/query/index.d.ts.map +1 -0
  83. package/dist/api/core/io/terrain/index.d.ts +341 -0
  84. package/dist/api/core/io/terrain/index.d.ts.map +1 -0
  85. package/dist/api/core/io/underlay/index.d.ts +805 -0
  86. package/dist/api/core/io/underlay/index.d.ts.map +1 -0
  87. package/dist/api/core/layers.d.ts +402 -0
  88. package/dist/api/core/layers.d.ts.map +1 -0
  89. package/dist/api/core/math/index.d.ts +18 -0
  90. package/dist/api/core/math/index.d.ts.map +1 -0
  91. package/dist/api/core/math/quat.d.ts +170 -0
  92. package/dist/api/core/math/quat.d.ts.map +1 -0
  93. package/dist/api/core/math/vec3.d.ts +174 -0
  94. package/dist/api/core/math/vec3.d.ts.map +1 -0
  95. package/dist/api/core/mode/index.d.ts +111 -0
  96. package/dist/api/core/mode/index.d.ts.map +1 -0
  97. package/dist/api/core/project/index.d.ts +466 -0
  98. package/dist/api/core/project/index.d.ts.map +1 -0
  99. package/dist/api/core/proposals/index.d.ts +531 -0
  100. package/dist/api/core/proposals/index.d.ts.map +1 -0
  101. package/dist/api/core/storeys/index.d.ts +265 -0
  102. package/dist/api/core/storeys/index.d.ts.map +1 -0
  103. package/dist/api/core/tags.d.ts +860 -0
  104. package/dist/api/core/tags.d.ts.map +1 -0
  105. package/dist/api/core/units/index.d.ts +175 -0
  106. package/dist/api/core/units/index.d.ts.map +1 -0
  107. package/dist/api/core/user.d.ts +44 -0
  108. package/dist/api/core/user.d.ts.map +1 -0
  109. package/dist/api/core/zoom/index.d.ts +49 -0
  110. package/dist/api/core/zoom/index.d.ts.map +1 -0
  111. package/dist/api/design/boolean/index.d.ts +168 -0
  112. package/dist/api/design/boolean/index.d.ts.map +1 -0
  113. package/dist/api/design/create/bulk-items.d.ts +185 -0
  114. package/dist/api/design/create/bulk-items.d.ts.map +1 -0
  115. package/dist/api/design/create/grids.d.ts +132 -0
  116. package/dist/api/design/create/grids.d.ts.map +1 -0
  117. package/dist/api/design/create/index.d.ts +1747 -0
  118. package/dist/api/design/create/index.d.ts.map +1 -0
  119. package/dist/api/design/create/opening-fields.d.ts +37 -0
  120. package/dist/api/design/create/opening-fields.d.ts.map +1 -0
  121. package/dist/api/design/delete/index.d.ts +70 -0
  122. package/dist/api/design/delete/index.d.ts.map +1 -0
  123. package/dist/api/design/dimensions.d.ts +427 -0
  124. package/dist/api/design/dimensions.d.ts.map +1 -0
  125. package/dist/api/design/doors/index.d.ts +470 -0
  126. package/dist/api/design/doors/index.d.ts.map +1 -0
  127. package/dist/api/design/edit/index.d.ts +49 -0
  128. package/dist/api/design/edit/index.d.ts.map +1 -0
  129. package/dist/api/design/erase/index.d.ts +160 -0
  130. package/dist/api/design/erase/index.d.ts.map +1 -0
  131. package/dist/api/design/family.d.ts +611 -0
  132. package/dist/api/design/family.d.ts.map +1 -0
  133. package/dist/api/design/furniture/index.d.ts +296 -0
  134. package/dist/api/design/furniture/index.d.ts.map +1 -0
  135. package/dist/api/design/grids.d.ts +237 -0
  136. package/dist/api/design/grids.d.ts.map +1 -0
  137. package/dist/api/design/index.d.ts +260 -0
  138. package/dist/api/design/index.d.ts.map +1 -0
  139. package/dist/api/design/lock.d.ts +67 -0
  140. package/dist/api/design/lock.d.ts.map +1 -0
  141. package/dist/api/design/materials/index.d.ts +551 -0
  142. package/dist/api/design/materials/index.d.ts.map +1 -0
  143. package/dist/api/design/query/geometry/index.d.ts +252 -0
  144. package/dist/api/design/query/geometry/index.d.ts.map +1 -0
  145. package/dist/api/design/query/grids.d.ts +287 -0
  146. package/dist/api/design/query/grids.d.ts.map +1 -0
  147. package/dist/api/design/query/index.d.ts +1318 -0
  148. package/dist/api/design/query/index.d.ts.map +1 -0
  149. package/dist/api/design/query/referenceLines.d.ts +45 -0
  150. package/dist/api/design/query/referenceLines.d.ts.map +1 -0
  151. package/dist/api/design/query/spaces.d.ts +394 -0
  152. package/dist/api/design/query/spaces.d.ts.map +1 -0
  153. package/dist/api/design/selection/index.d.ts +282 -0
  154. package/dist/api/design/selection/index.d.ts.map +1 -0
  155. package/dist/api/design/shared.d.ts +38 -0
  156. package/dist/api/design/shared.d.ts.map +1 -0
  157. package/dist/api/design/transform/index.d.ts +249 -0
  158. package/dist/api/design/transform/index.d.ts.map +1 -0
  159. package/dist/api/design/types/index.d.ts +181 -0
  160. package/dist/api/design/types/index.d.ts.map +1 -0
  161. package/dist/api/design/update/index.d.ts +803 -0
  162. package/dist/api/design/update/index.d.ts.map +1 -0
  163. package/dist/api/design/visibility.d.ts +126 -0
  164. package/dist/api/design/visibility.d.ts.map +1 -0
  165. package/dist/api/design/windows/index.d.ts +300 -0
  166. package/dist/api/design/windows/index.d.ts.map +1 -0
  167. package/dist/api/entity/buildableEnvelope.d.ts +265 -0
  168. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -0
  169. package/dist/api/entity/department.d.ts +1 -0
  170. package/dist/api/entity/department.d.ts.map +1 -0
  171. package/dist/api/entity/index.d.ts +28 -0
  172. package/dist/api/entity/index.d.ts.map +1 -0
  173. package/dist/api/entity/referenceLine.d.ts +210 -0
  174. package/dist/api/entity/referenceLine.d.ts.map +1 -0
  175. package/dist/api/entity/space.d.ts +846 -0
  176. package/dist/api/entity/space.d.ts.map +1 -0
  177. package/dist/api/entity/story.d.ts +476 -0
  178. package/dist/api/entity/story.d.ts.map +1 -0
  179. package/dist/api/index.d.ts +45 -0
  180. package/dist/api/index.d.ts.map +1 -0
  181. package/dist/api/presentation/aiInspiration.d.ts +2400 -0
  182. package/dist/api/presentation/aiInspiration.d.ts.map +1 -0
  183. package/dist/api/presentation/annotate.d.ts +483 -0
  184. package/dist/api/presentation/annotate.d.ts.map +1 -0
  185. package/dist/api/presentation/diagrams.d.ts +184 -0
  186. package/dist/api/presentation/diagrams.d.ts.map +1 -0
  187. package/dist/api/presentation/drawings.d.ts +2900 -0
  188. package/dist/api/presentation/drawings.d.ts.map +1 -0
  189. package/dist/api/presentation/export.d.ts +126 -0
  190. package/dist/api/presentation/export.d.ts.map +1 -0
  191. package/dist/api/presentation/import.d.ts +164 -0
  192. package/dist/api/presentation/import.d.ts.map +1 -0
  193. package/dist/api/presentation/index.d.ts +114 -0
  194. package/dist/api/presentation/index.d.ts.map +1 -0
  195. package/dist/api/presentation/placedViews.d.ts +1232 -0
  196. package/dist/api/presentation/placedViews.d.ts.map +1 -0
  197. package/dist/api/presentation/shapes.d.ts +481 -0
  198. package/dist/api/presentation/shapes.d.ts.map +1 -0
  199. package/dist/api/presentation/sheets.d.ts +643 -0
  200. package/dist/api/presentation/sheets.d.ts.map +1 -0
  201. package/dist/api/presentation/slideshow.d.ts +125 -0
  202. package/dist/api/presentation/slideshow.d.ts.map +1 -0
  203. package/dist/api/presentation/tables.d.ts +81 -0
  204. package/dist/api/presentation/tables.d.ts.map +1 -0
  205. package/dist/api/presentation/viewPresets.d.ts +70 -0
  206. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  207. package/dist/api/presentation/views.d.ts +741 -0
  208. package/dist/api/presentation/views.d.ts.map +1 -0
  209. package/dist/api/program/adjacency.d.ts +155 -0
  210. package/dist/api/program/adjacency.d.ts.map +1 -0
  211. package/dist/api/program/areas.d.ts +450 -0
  212. package/dist/api/program/areas.d.ts.map +1 -0
  213. package/dist/api/program/classification.d.ts +135 -0
  214. package/dist/api/program/classification.d.ts.map +1 -0
  215. package/dist/api/program/cores.d.ts +78 -0
  216. package/dist/api/program/cores.d.ts.map +1 -0
  217. package/dist/api/program/departments.d.ts +487 -0
  218. package/dist/api/program/departments.d.ts.map +1 -0
  219. package/dist/api/program/index.d.ts +71 -0
  220. package/dist/api/program/index.d.ts.map +1 -0
  221. package/dist/api/program/labels.d.ts +355 -0
  222. package/dist/api/program/labels.d.ts.map +1 -0
  223. package/dist/api/program/layout.d.ts +398 -0
  224. package/dist/api/program/layout.d.ts.map +1 -0
  225. package/dist/api/program/metadata.d.ts +328 -0
  226. package/dist/api/program/metadata.d.ts.map +1 -0
  227. package/dist/api/program/metrics.d.ts +108 -0
  228. package/dist/api/program/metrics.d.ts.map +1 -0
  229. package/dist/api/program/site.d.ts +823 -0
  230. package/dist/api/program/site.d.ts.map +1 -0
  231. package/dist/api/program/spreadsheet.d.ts +2628 -0
  232. package/dist/api/program/spreadsheet.d.ts.map +1 -0
  233. package/dist/api/workspace/index.d.ts +552 -0
  234. package/dist/api/workspace/index.d.ts.map +1 -0
  235. package/dist/errors/codes.d.ts +34 -0
  236. package/dist/errors/codes.d.ts.map +1 -0
  237. package/dist/errors/envelope.d.ts +56 -0
  238. package/dist/errors/envelope.d.ts.map +1 -0
  239. package/dist/errors/index.d.ts +6 -0
  240. package/dist/errors/index.d.ts.map +1 -0
  241. package/dist/errors/plugin-error.d.ts +69 -0
  242. package/dist/errors/plugin-error.d.ts.map +1 -0
  243. package/dist/handles.d.ts +229 -0
  244. package/dist/handles.d.ts.map +1 -0
  245. package/dist/host-utils.d.ts +47 -0
  246. package/dist/host-utils.d.ts.map +1 -0
  247. package/dist/index.cjs +8836 -0
  248. package/dist/index.cjs.map +1 -0
  249. package/dist/index.d.ts +6 -0
  250. package/dist/index.d.ts.map +1 -0
  251. package/dist/index.js +7568 -0
  252. package/dist/index.js.map +1 -0
  253. package/dist/types.d.ts +16 -0
  254. package/dist/types.d.ts.map +1 -0
  255. package/package.json +41 -0
  256. package/scripts/generate-manifest.mjs +238 -0
  257. package/scripts/generate-manifest.test.mjs +292 -0
  258. package/src/api/analysis/daylight.ts +470 -0
  259. package/src/api/analysis/heatmaps.ts +683 -0
  260. package/src/api/analysis/illuminance.ts +155 -0
  261. package/src/api/analysis/index.ts +61 -0
  262. package/src/api/analysis/shadows.ts +183 -0
  263. package/src/api/analysis/solar.ts +237 -0
  264. package/src/api/analysis/sunlightHours.ts +211 -0
  265. package/src/api/analysis/sunpath.ts +83 -0
  266. package/src/api/analysis/weather.ts +179 -0
  267. package/src/api/core/buildings.ts +485 -0
  268. package/src/api/core/camera/index.ts +268 -0
  269. package/src/api/core/comment/index.ts +376 -0
  270. package/src/api/core/geom/create/index.ts +1204 -0
  271. package/src/api/core/geom/delete/index.ts +84 -0
  272. package/src/api/core/geom/index.ts +35 -0
  273. package/src/api/core/geom/query/arc.ts +169 -0
  274. package/src/api/core/geom/query/brep.ts +563 -0
  275. package/src/api/core/geom/query/circle.ts +404 -0
  276. package/src/api/core/geom/query/contour.ts +540 -0
  277. package/src/api/core/geom/query/curve.ts +1078 -0
  278. package/src/api/core/geom/query/edge.ts +130 -0
  279. package/src/api/core/geom/query/face.ts +403 -0
  280. package/src/api/core/geom/query/halfedge.ts +210 -0
  281. package/src/api/core/geom/query/index.ts +63 -0
  282. package/src/api/core/geom/query/profile.ts +473 -0
  283. package/src/api/core/geom/query/vertex.ts +205 -0
  284. package/src/api/core/geom/update/contour.ts +315 -0
  285. package/src/api/core/geom/update/curve.ts +209 -0
  286. package/src/api/core/geom/update/index.ts +29 -0
  287. package/src/api/core/geom/update/profile.ts +377 -0
  288. package/src/api/core/groups.ts +521 -0
  289. package/src/api/core/handles/index.ts +233 -0
  290. package/src/api/core/history/index.ts +84 -0
  291. package/src/api/core/index.ts +99 -0
  292. package/src/api/core/io/export/index.ts +126 -0
  293. package/src/api/core/io/import/index.ts +504 -0
  294. package/src/api/core/io/index.ts +42 -0
  295. package/src/api/core/io/job/index.ts +140 -0
  296. package/src/api/core/io/query/index.ts +71 -0
  297. package/src/api/core/io/terrain/index.ts +360 -0
  298. package/src/api/core/io/underlay/index.ts +705 -0
  299. package/src/api/core/layers.ts +333 -0
  300. package/src/api/core/math/index.ts +20 -0
  301. package/src/api/core/math/quat.ts +172 -0
  302. package/src/api/core/math/vec3.ts +179 -0
  303. package/src/api/core/mode/index.ts +108 -0
  304. package/src/api/core/project/index.ts +479 -0
  305. package/src/api/core/proposals/index.ts +569 -0
  306. package/src/api/core/storeys/index.ts +294 -0
  307. package/src/api/core/tags.ts +911 -0
  308. package/src/api/core/units/index.ts +164 -0
  309. package/src/api/core/user.ts +46 -0
  310. package/src/api/core/zoom/index.ts +51 -0
  311. package/src/api/design/boolean/index.ts +179 -0
  312. package/src/api/design/create/bulk-items.ts +186 -0
  313. package/src/api/design/create/grids.ts +137 -0
  314. package/src/api/design/create/index.ts +1954 -0
  315. package/src/api/design/create/opening-fields.ts +37 -0
  316. package/src/api/design/delete/index.ts +74 -0
  317. package/src/api/design/dimensions.ts +453 -0
  318. package/src/api/design/doors/index.ts +500 -0
  319. package/src/api/design/edit/index.ts +54 -0
  320. package/src/api/design/erase/index.ts +151 -0
  321. package/src/api/design/family.ts +646 -0
  322. package/src/api/design/furniture/index.ts +319 -0
  323. package/src/api/design/grids.ts +237 -0
  324. package/src/api/design/index.ts +274 -0
  325. package/src/api/design/lock.ts +69 -0
  326. package/src/api/design/materials/index.ts +608 -0
  327. package/src/api/design/query/geometry/index.ts +288 -0
  328. package/src/api/design/query/grids.ts +197 -0
  329. package/src/api/design/query/index.ts +1176 -0
  330. package/src/api/design/query/referenceLines.ts +52 -0
  331. package/src/api/design/query/spaces.ts +275 -0
  332. package/src/api/design/selection/index.ts +273 -0
  333. package/src/api/design/shared.ts +40 -0
  334. package/src/api/design/transform/index.ts +254 -0
  335. package/src/api/design/types/index.ts +156 -0
  336. package/src/api/design/update/index.ts +798 -0
  337. package/src/api/design/visibility.ts +143 -0
  338. package/src/api/design/windows/index.ts +333 -0
  339. package/src/api/entity/buildableEnvelope.ts +322 -0
  340. package/src/api/entity/department.ts +0 -0
  341. package/src/api/entity/index.ts +30 -0
  342. package/src/api/entity/referenceLine.ts +235 -0
  343. package/src/api/entity/space.ts +612 -0
  344. package/src/api/entity/story.ts +517 -0
  345. package/src/api/index.ts +47 -0
  346. package/src/api/presentation/aiInspiration.ts +1116 -0
  347. package/src/api/presentation/annotate.ts +417 -0
  348. package/src/api/presentation/diagrams.ts +194 -0
  349. package/src/api/presentation/drawings.ts +529 -0
  350. package/src/api/presentation/export.ts +133 -0
  351. package/src/api/presentation/import.ts +159 -0
  352. package/src/api/presentation/index.ts +129 -0
  353. package/src/api/presentation/placedViews.ts +1203 -0
  354. package/src/api/presentation/shapes.ts +274 -0
  355. package/src/api/presentation/sheets.ts +616 -0
  356. package/src/api/presentation/slideshow.ts +134 -0
  357. package/src/api/presentation/tables.ts +84 -0
  358. package/src/api/presentation/viewPresets.ts +83 -0
  359. package/src/api/presentation/views.ts +698 -0
  360. package/src/api/program/adjacency.ts +164 -0
  361. package/src/api/program/areas.ts +408 -0
  362. package/src/api/program/classification.ts +138 -0
  363. package/src/api/program/cores.ts +83 -0
  364. package/src/api/program/departments.ts +517 -0
  365. package/src/api/program/index.ts +73 -0
  366. package/src/api/program/labels.ts +332 -0
  367. package/src/api/program/layout.ts +422 -0
  368. package/src/api/program/metadata.ts +364 -0
  369. package/src/api/program/metrics.ts +120 -0
  370. package/src/api/program/site.ts +748 -0
  371. package/src/api/program/spreadsheet.ts +2698 -0
  372. package/src/api/workspace/index.ts +612 -0
  373. package/src/errors/codes.ts +136 -0
  374. package/src/errors/envelope.ts +75 -0
  375. package/src/errors/index.ts +21 -0
  376. package/src/errors/plugin-error.ts +134 -0
  377. package/src/handles.ts +282 -0
  378. package/src/host-utils.ts +68 -0
  379. package/src/index.ts +5 -0
  380. package/src/types.ts +16 -0
  381. package/test/errors.test.mjs +184 -0
  382. package/tsconfig.json +22 -0
  383. package/tsup.config.ts +12 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"space.d.ts","sourceRoot":"","sources":["../../../src/api/entity/space.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,476 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../types";
3
+ import { ComponentHandle } from "../../handles";
4
+ /**
5
+ * Story (floor/storey) management.
6
+ *
7
+ * A story represents a building floor in the Snaptrude project. Stories
8
+ * are identified by their integer **story value** (e.g. `1` for ground
9
+ * floor, `2` for first floor, `-1` for a basement).
10
+ *
11
+ * All methods are **host API calls** that return Promises and support
12
+ * undo/redo via Snaptrude's command system.
13
+ *
14
+ * Accessed via `snaptrude.entity.story`.
15
+ */
16
+ export declare abstract class PluginStoryApi {
17
+ constructor();
18
+ /**
19
+ * Get properties of a story by its storey number.
20
+ *
21
+ * Only the properties listed in `properties`
22
+ * are returned — unlisted properties will be `undefined` in the result.
23
+ *
24
+ * @param storyValue - Integer storey number
25
+ * (e.g. `1` for ground floor, `2` for first floor, `-1` for basement)
26
+ * @param properties - Array of property names
27
+ * to retrieve. See {@linkcode PluginStoryGetProperty} for available values.
28
+ * @returns A partial {@linkcode PluginStoryGetResult} containing only the requested properties
29
+ * @throws If the story with the given value does not exist
30
+ *
31
+ * @examplePrompt What is the height of the ground floor?
32
+ * @examplePrompt How many rooms are on the second storey?
33
+ * @examplePrompt Get the total floor area of level 3
34
+ * @examplePrompt Is the first floor hidden in the viewport?
35
+ * @examplePrompt Show me the name and height of story 2
36
+ *
37
+ * # Example
38
+ * ```ts
39
+ * const info = await snaptrude.entity.story.get(1, ["height", "name", "spacesCount"])
40
+ * console.log(info.name, info.height, info.spacesCount)
41
+ * ```
42
+ *
43
+ * @deprecated Use `core.storeys.get`
44
+ */
45
+ abstract get(storyValue: number, properties: PluginStoryGetProperty[]): PluginApiReturn<PluginStoryGetResult>;
46
+ /**
47
+ * Get all stories in the current project.
48
+ *
49
+ * Returns basic identification data for every storey. Stories are sorted
50
+ * from **top to bottom** (highest story value first).
51
+ *
52
+ * @returns A {@linkcode PluginStoryGetAllResult} with a `stories` array,
53
+ * each entry containing `value`, `id`, and `name`
54
+ *
55
+ * @examplePrompt How many floors does this building have?
56
+ * @examplePrompt List all the storeys in the project
57
+ * @examplePrompt Show me every level with its name
58
+ * @examplePrompt Which stories exist in this model?
59
+ *
60
+ * # Example
61
+ * ```ts
62
+ * const { stories } = await snaptrude.entity.story.getAll()
63
+ * for (const s of stories) {
64
+ * console.log(`Story ${s.value}: ${s.name} (id: ${s.id})`)
65
+ * }
66
+ * ```
67
+ *
68
+ * @deprecated Use `core.storeys.list`
69
+ */
70
+ abstract getAll(): PluginApiReturn<PluginStoryGetAllResult>;
71
+ /**
72
+ * Create a new story (floor) in the project.
73
+ *
74
+ * The new story is inserted at the position specified by
75
+ * `storyValue`. This operation is undoable.
76
+ *
77
+ * @param storyValue - Integer storey number
78
+ * to create (e.g. `3` to add a third floor)
79
+ * @param height - Optional height in Babylon
80
+ * units. If omitted, the project's default storey height is used.
81
+ * @returns A {@linkcode PluginStoryCreateResult} with `storyId` and `storyValue`
82
+ * @throws If a story with the given value already exists or creation fails
83
+ *
84
+ * @examplePrompt Add a third floor to the building
85
+ * @examplePrompt Create a new storey above the second floor
86
+ * @examplePrompt Add a basement level to this project
87
+ * @examplePrompt Insert a new level with a custom floor height
88
+ * @examplePrompt Add another floor on top of the building
89
+ *
90
+ * # Example
91
+ * ```ts
92
+ * // Create a new third floor with custom height
93
+ * const { storyId } = await snaptrude.entity.story.create(3, 4.5)
94
+ * ```
95
+ *
96
+ * @deprecated Use `core.storeys.create`
97
+ */
98
+ abstract create(storyValue: number, height?: number): PluginApiReturn<PluginStoryCreateResult>;
99
+ /**
100
+ * Update a story's floor-to-floor `height` and/or `name`.
101
+ *
102
+ * **Height** is the same operation as editing the height in the Stories panel:
103
+ * the walls, columns, and masses on the story are **stretched** to the new
104
+ * height, every story **above shifts up/down** by the delta so the stack stays
105
+ * contiguous, and coupled elements (staircases, parametric curtain walls,
106
+ * furniture offsets) are re-fitted. The whole height cascade is committed as
107
+ * **one undo step**. Height-locked elements are left untouched.
108
+ *
109
+ * **Name** is the same as renaming the story in the Stories panel: it is
110
+ * persisted immediately (saved to the project) but, mirroring the panel, is
111
+ * **not** part of the height undo step.
112
+ *
113
+ * At least one of `height` or `options.name` must be supplied. Omitting the
114
+ * `height` argument (e.g. for a rename-only update) leaves the height
115
+ * untouched.
116
+ *
117
+ * @param storyValue - Integer storey number
118
+ * identifying the story to update
119
+ * @param height - New floor-to-floor height in
120
+ * Babylon units. Omit to leave the height unchanged.
121
+ * @param options - `name` (new display name for the story)
122
+ * @returns A {@linkcode PluginStoryUpdateResult} with the story's
123
+ * `storyValue`, `height`, and `name` after the update
124
+ * @throws `PRECONDITION_FAILED` if no story has the given value;
125
+ * `VALIDATION` if neither `height` nor `options.name` is supplied;
126
+ * `STORY_HEIGHT_REJECTED` if the engine rejects the height (e.g. out of
127
+ * range — the change silently reverts host-side and is surfaced as this
128
+ * error); `STORY_UPDATE_FAILED` if the story cannot be re-read after the
129
+ * update
130
+ *
131
+ * @examplePrompt Change the ground floor height to 3.5 metres
132
+ * @examplePrompt Make the second storey taller
133
+ * @examplePrompt Rename the ground floor to "Lobby"
134
+ * @examplePrompt Set the floor-to-floor height of level 1
135
+ * @examplePrompt Rename storey 2 and make it taller in one go
136
+ *
137
+ * # Example
138
+ * ```ts
139
+ * // Set ground floor height to 5 Babylon units — walls stretch and the
140
+ * // floors above move up to match, all in a single undo step.
141
+ * const result = await snaptrude.entity.story.update(1, 5)
142
+ * // Rename only, leaving the height untouched.
143
+ * await snaptrude.entity.story.update(1, undefined, { name: "Lobby" })
144
+ * ```
145
+ *
146
+ * @deprecated Use `core.storeys.update`
147
+ */
148
+ abstract update(storyValue: number, height?: number, options?: {
149
+ name?: string;
150
+ }): PluginApiReturn<PluginStoryUpdateResult>;
151
+ /**
152
+ * Make a story the active story — the same as clicking it in the storey/layer
153
+ * panel. Subsequent draws and creates target this story, and in 2D the
154
+ * viewport switches to it. This is a view/navigation change: it is **not**
155
+ * undoable and commits nothing to the model.
156
+ *
157
+ * @param storyValue - Integer storey number to activate
158
+ * @returns A {@linkcode PluginStorySetActiveResult} echoing the now-active `storyValue`
159
+ * @throws `PRECONDITION_FAILED` if no story has the given value
160
+ *
161
+ * @examplePrompt Switch to the second floor
162
+ * @examplePrompt Make the ground storey active
163
+ * @examplePrompt Go to the basement level
164
+ * @examplePrompt Set level 3 as the current storey
165
+ *
166
+ * # Example
167
+ * ```ts
168
+ * // Activate story 2, then draw a wall — it lands on story 2.
169
+ * await snaptrude.entity.story.setActive(2)
170
+ * ```
171
+ *
172
+ * @deprecated Use `core.storeys.setActive`
173
+ */
174
+ abstract setActive(storyValue: number): PluginApiReturn<PluginStorySetActiveResult>;
175
+ /**
176
+ * Delete a story and everything on it — the same as removing it from the
177
+ * storey panel. Every element placed on the story (walls, floors, masses, …)
178
+ * is deleted with it, the remaining stories are re-stacked, and the active
179
+ * story falls back to an adjacent one. Committed as a single undo step.
180
+ *
181
+ * @param storyValue - Integer storey number to delete
182
+ * @returns A {@linkcode PluginStoryDeleteResult} with the deleted `storyValue`
183
+ * and the `newActiveStory` the editor fell back to
184
+ * @throws `PRECONDITION_FAILED` if no story has the given value; or if plugin
185
+ * writes are disabled
186
+ *
187
+ * @examplePrompt Delete the top floor
188
+ * @examplePrompt Remove the basement level
189
+ * @examplePrompt Get rid of storey 3
190
+ * @examplePrompt Delete the second floor and everything on it
191
+ *
192
+ * # Example
193
+ * ```ts
194
+ * const { newActiveStory } = await snaptrude.entity.story.delete(3)
195
+ * console.log(`Deleted story 3; now on story ${newActiveStory}`)
196
+ * ```
197
+ *
198
+ * @deprecated Use `core.storeys.delete`
199
+ */
200
+ abstract delete(storyValue: number): PluginApiReturn<PluginStoryDeleteResult>;
201
+ /**
202
+ * Duplicate a story into the adjacent level, up or down.
203
+ *
204
+ * By default the **whole story** is duplicated: every eligible element on the
205
+ * active story (walls, floors, roofs, masses, columns, beams, staircases,
206
+ * ceilings, parametric curtain walls, and furniture) is copied into the story
207
+ * one level `"up"` or `"down"`. Pass `options.components` to duplicate only a
208
+ * subset instead. The target story is **created automatically** if it does not
209
+ * yet exist, inheriting the source story's height.
210
+ *
211
+ * Copies are **instanced** by default (`unique: false`) — they share geometry
212
+ * with the source, so later edits propagate. Set `unique: true` for independent
213
+ * geometry. Doors and windows are never duplicated on their own; they ride along
214
+ * with their host wall. Locked, throw-away, and unsupported elements are skipped
215
+ * and counted in `skipped`. The whole operation is a single undo step.
216
+ *
217
+ * @param direction - `"up"` to duplicate into the story above, `"down"` for below
218
+ * @param options - `components` (restrict to a subset of the story's elements;
219
+ * omit for the whole story) and `unique` (default `false` = instanced copies;
220
+ * `true` = independent geometry)
221
+ * @returns A {@linkcode PluginStoryDuplicateResult} with the `sourceStory`, the
222
+ * `targetStories` the copies landed on, the `created` component handles, the
223
+ * `createdStoryValues` for any stories generated to receive them, and the
224
+ * `skipped` count of ineligible elements
225
+ * @throws `NO_ACTIVE_STRUCTURE` if there is no active structure to duplicate
226
+ * into; `NO_ELIGIBLE_ELEMENTS` if nothing on the source story (or in
227
+ * `options.components`) is duplicable; `HANDLE_INVALID` for a stale or
228
+ * foreign supplied handle; or if plugin writes are disabled
229
+ *
230
+ * @examplePrompt Duplicate this floor to the storey above
231
+ * @examplePrompt Copy the ground floor down into a new basement
232
+ * @examplePrompt Repeat this level upwards with its own independent geometry
233
+ * @examplePrompt Duplicate just the selected walls onto the next floor up
234
+ *
235
+ * @performance For storeys that share a layout, duplicate the storey instead of recreating
236
+ * its contents floor by floor — this copies every eligible element in one call, and the
237
+ * default instanced copies keep the floors linked. To stack many identical floors, either
238
+ * call this per level or capture the storey's component ids and
239
+ * `design.create.copy(ids, oneFloorRise, { count })` to lay them all down in a single call.
240
+ *
241
+ * # Example
242
+ * ```ts
243
+ * // Duplicate the whole active story one level up (instanced copies).
244
+ * const { targetStories, created, skipped } =
245
+ * await snaptrude.entity.story.duplicate("up")
246
+ * console.log(`Copied ${created.length} elements onto story ${targetStories}`)
247
+ * if (skipped) console.log(`${skipped} elements were skipped`)
248
+ * ```
249
+ *
250
+ * @deprecated Use `core.storeys.copy`
251
+ */
252
+ abstract duplicate(direction: "up" | "down", options?: {
253
+ components?: ComponentHandle[];
254
+ unique?: boolean;
255
+ }): PluginApiReturn<PluginStoryDuplicateResult>;
256
+ }
257
+ /**
258
+ * Available properties that can be queried on a story.
259
+ *
260
+ * | Value | Type | Description |
261
+ * |---|---|---|
262
+ * | `"value"` | `number` | The integer storey number |
263
+ * | `"id"` | `string` | Unique story identifier |
264
+ * | `"name"` | `string` | Display name of the story |
265
+ * | `"height"` | `number` | Floor-to-floor height in Babylon units |
266
+ * | `"base"` | `number` | Base elevation in Babylon units |
267
+ * | `"hidden"` | `boolean` | Whether the story is hidden in the viewport |
268
+ * | `"spacesCount"` | `number` | Number of spaces on this story |
269
+ * | `"totalArea"` | `number` | Total floor area of this story |
270
+ */
271
+ export declare const PluginStoryGetProperty: z.ZodEnum<{
272
+ value: "value";
273
+ id: "id";
274
+ name: "name";
275
+ hidden: "hidden";
276
+ height: "height";
277
+ base: "base";
278
+ spacesCount: "spacesCount";
279
+ totalArea: "totalArea";
280
+ }>;
281
+ export type PluginStoryGetProperty = z.infer<typeof PluginStoryGetProperty>;
282
+ /**
283
+ * Arguments for {@linkcode PluginStoryApi.get}.
284
+ *
285
+ * | Property | Type | Description |
286
+ * |---|---|---|
287
+ * | `storyValue` | `number` (int) | The storey number to query |
288
+ * | `properties` | {@linkcode PluginStoryGetProperty}`[]` | Properties to retrieve |
289
+ */
290
+ export declare const PluginStoryGetArgs: z.ZodObject<{
291
+ storyValue: z.ZodNumber;
292
+ properties: z.ZodArray<z.ZodEnum<{
293
+ value: "value";
294
+ id: "id";
295
+ name: "name";
296
+ hidden: "hidden";
297
+ height: "height";
298
+ base: "base";
299
+ spacesCount: "spacesCount";
300
+ totalArea: "totalArea";
301
+ }>>;
302
+ }, z.core.$strip>;
303
+ export type PluginStoryGetArgs = z.infer<typeof PluginStoryGetArgs>;
304
+ /**
305
+ * Result of {@linkcode PluginStoryApi.get}.
306
+ *
307
+ * A partial object — only the properties that were requested in
308
+ * {@linkcode PluginStoryGetArgs.properties} will be present.
309
+ */
310
+ export declare const PluginStoryGetResult: z.ZodObject<{
311
+ value: z.ZodOptional<z.ZodNumber>;
312
+ id: z.ZodOptional<z.ZodString>;
313
+ name: z.ZodOptional<z.ZodString>;
314
+ height: z.ZodOptional<z.ZodNumber>;
315
+ base: z.ZodOptional<z.ZodNumber>;
316
+ hidden: z.ZodOptional<z.ZodBoolean>;
317
+ spacesCount: z.ZodOptional<z.ZodNumber>;
318
+ totalArea: z.ZodOptional<z.ZodNumber>;
319
+ }, z.core.$strip>;
320
+ export type PluginStoryGetResult = z.infer<typeof PluginStoryGetResult>;
321
+ /**
322
+ * Result of {@linkcode PluginStoryApi.getAll}.
323
+ *
324
+ * | Property | Type | Description |
325
+ * |---|---|---|
326
+ * | `stories` | `Array<{ value, id, name }>` | All stories, sorted top to bottom |
327
+ */
328
+ export declare const PluginStoryGetAllResult: z.ZodObject<{
329
+ stories: z.ZodArray<z.ZodObject<{
330
+ value: z.ZodNumber;
331
+ id: z.ZodString;
332
+ name: z.ZodString;
333
+ }, z.core.$strip>>;
334
+ }, z.core.$strip>;
335
+ export type PluginStoryGetAllResult = z.infer<typeof PluginStoryGetAllResult>;
336
+ /**
337
+ * Arguments for {@linkcode PluginStoryApi.create}.
338
+ *
339
+ * | Property | Type | Description |
340
+ * |---|---|---|
341
+ * | `storyValue` | `number` (int) | The storey number for the new story |
342
+ * | `height` | `number?` | Optional height in Babylon units |
343
+ */
344
+ export declare const PluginStoryCreateArgs: z.ZodObject<{
345
+ storyValue: z.ZodNumber;
346
+ height: z.ZodOptional<z.ZodNumber>;
347
+ }, z.core.$strip>;
348
+ export type PluginStoryCreateArgs = z.infer<typeof PluginStoryCreateArgs>;
349
+ /**
350
+ * Result of {@linkcode PluginStoryApi.create}.
351
+ *
352
+ * | Property | Type | Description |
353
+ * |---|---|---|
354
+ * | `storyId` | `string` | Unique ID of the created story |
355
+ * | `storyValue` | `number` | The storey number of the created story |
356
+ */
357
+ export declare const PluginStoryCreateResult: z.ZodObject<{
358
+ storyId: z.ZodString;
359
+ storyValue: z.ZodNumber;
360
+ }, z.core.$strip>;
361
+ export type PluginStoryCreateResult = z.infer<typeof PluginStoryCreateResult>;
362
+ /**
363
+ * Arguments for {@linkcode PluginStoryApi.update}. At least one of `height` or
364
+ * `name` must be supplied.
365
+ *
366
+ * | Property | Type | Description |
367
+ * |---|---|---|
368
+ * | `storyValue` | `number` (int) | Storey number of the story to update |
369
+ * | `height` | `number?` | New height in Babylon units (omit to leave unchanged) |
370
+ * | `name` | `string?` | New display name for the story (omit to leave unchanged) |
371
+ */
372
+ export declare const PluginStoryUpdateArgs: z.ZodObject<{
373
+ storyValue: z.ZodNumber;
374
+ height: z.ZodOptional<z.ZodNumber>;
375
+ name: z.ZodOptional<z.ZodString>;
376
+ }, z.core.$strip>;
377
+ export type PluginStoryUpdateArgs = z.infer<typeof PluginStoryUpdateArgs>;
378
+ /**
379
+ * Result of {@linkcode PluginStoryApi.update} — the story's state after the update.
380
+ *
381
+ * | Property | Type | Description |
382
+ * |---|---|---|
383
+ * | `storyValue` | `number` | The storey number of the updated story |
384
+ * | `height` | `number` | The height after the update |
385
+ * | `name` | `string` | The name after the update |
386
+ */
387
+ export declare const PluginStoryUpdateResult: z.ZodObject<{
388
+ storyValue: z.ZodNumber;
389
+ height: z.ZodNumber;
390
+ name: z.ZodString;
391
+ }, z.core.$strip>;
392
+ export type PluginStoryUpdateResult = z.infer<typeof PluginStoryUpdateResult>;
393
+ /**
394
+ * Arguments for {@linkcode PluginStoryApi.setActive}.
395
+ *
396
+ * | Property | Type | Description |
397
+ * |---|---|---|
398
+ * | `storyValue` | `number` (int) | Storey number to activate |
399
+ */
400
+ export declare const PluginStorySetActiveArgs: z.ZodObject<{
401
+ storyValue: z.ZodNumber;
402
+ }, z.core.$strip>;
403
+ export type PluginStorySetActiveArgs = z.infer<typeof PluginStorySetActiveArgs>;
404
+ /**
405
+ * Result of {@linkcode PluginStoryApi.setActive}.
406
+ *
407
+ * | Property | Type | Description |
408
+ * |---|---|---|
409
+ * | `storyValue` | `number` | The storey number that is now active |
410
+ */
411
+ export declare const PluginStorySetActiveResult: z.ZodObject<{
412
+ storyValue: z.ZodNumber;
413
+ }, z.core.$strip>;
414
+ export type PluginStorySetActiveResult = z.infer<typeof PluginStorySetActiveResult>;
415
+ /**
416
+ * Arguments for {@linkcode PluginStoryApi.delete}.
417
+ *
418
+ * | Property | Type | Description |
419
+ * |---|---|---|
420
+ * | `storyValue` | `number` (int) | Storey number to delete |
421
+ */
422
+ export declare const PluginStoryDeleteArgs: z.ZodObject<{
423
+ storyValue: z.ZodNumber;
424
+ }, z.core.$strip>;
425
+ export type PluginStoryDeleteArgs = z.infer<typeof PluginStoryDeleteArgs>;
426
+ /**
427
+ * Result of {@linkcode PluginStoryApi.delete}.
428
+ *
429
+ * | Property | Type | Description |
430
+ * |---|---|---|
431
+ * | `storyValue` | `number` | The storey number that was deleted |
432
+ * | `newActiveStory` | `number` | The storey the editor fell back to as active |
433
+ */
434
+ export declare const PluginStoryDeleteResult: z.ZodObject<{
435
+ storyValue: z.ZodNumber;
436
+ newActiveStory: z.ZodNumber;
437
+ }, z.core.$strip>;
438
+ export type PluginStoryDeleteResult = z.infer<typeof PluginStoryDeleteResult>;
439
+ /**
440
+ * Arguments for {@linkcode PluginStoryApi.duplicate} (options flattened).
441
+ *
442
+ * | Property | Type | Description |
443
+ * |---|---|---|
444
+ * | `direction` | `'up' \| 'down'` | Which adjacent story to duplicate into |
445
+ * | `components` | {@linkcode ComponentHandle}`[]?` | Restrict to a subset; omit for the whole story |
446
+ * | `unique` | `boolean?` | `false` (default) = instanced copies; `true` = independent geometry |
447
+ */
448
+ export declare const PluginStoryDuplicateArgs: z.ZodObject<{
449
+ direction: z.ZodEnum<{
450
+ up: "up";
451
+ down: "down";
452
+ }>;
453
+ components: z.ZodOptional<z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>>;
454
+ unique: z.ZodOptional<z.ZodBoolean>;
455
+ }, z.core.$strip>;
456
+ export type PluginStoryDuplicateArgs = z.infer<typeof PluginStoryDuplicateArgs>;
457
+ /**
458
+ * Result of {@linkcode PluginStoryApi.duplicate}.
459
+ *
460
+ * | Property | Type | Description |
461
+ * |---|---|---|
462
+ * | `sourceStory` | `number` | Storey value the copies were duplicated from |
463
+ * | `targetStories` | `number[]` | Storey values the copies landed on |
464
+ * | `created` | {@linkcode ComponentHandle}`[]` | Handles of the newly created components |
465
+ * | `createdStoryValues` | `number[]` | Storey values that were generated to receive the copies |
466
+ * | `skipped` | `number` | Count of ineligible elements that were skipped |
467
+ */
468
+ export declare const PluginStoryDuplicateResult: z.ZodObject<{
469
+ sourceStory: z.ZodNumber;
470
+ targetStories: z.ZodArray<z.ZodNumber>;
471
+ created: z.ZodArray<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
472
+ createdStoryValues: z.ZodArray<z.ZodNumber>;
473
+ skipped: z.ZodNumber;
474
+ }, z.core.$strip>;
475
+ export type PluginStoryDuplicateResult = z.infer<typeof PluginStoryDuplicateResult>;
476
+ //# sourceMappingURL=story.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"story.d.ts","sourceRoot":"","sources":["../../../src/api/entity/story.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAE/C;;;;;;;;;;;GAWG;AACH,8BAAsB,cAAc;;IAGlC;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,GAAG,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,sBAAsB,EAAE,GACnC,eAAe,CAAC,oBAAoB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,MAAM,IAAI,eAAe,CAAC,uBAAuB,CAAC;IAElE;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAgDG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,SAAS,CACvB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAkDG;aACa,SAAS,CACvB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,eAAe,CAAC,0BAA0B,CAAC;CAC/C;AAED;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,sBAAsB;;;;;;;;;EASjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;iBAG7B,CAAA;AAEF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;;;;GAKG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;iBAWrB,CAAA;AAEZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;;iBAQlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,qBAAqB;;;iBAGhC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;;GASG;AACH,eAAO,MAAM,qBAAqB;;;;iBAIhC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,wBAAwB;;iBAEnC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;iBAErC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAA;AAEnF;;;;;;GAMG;AACH,eAAO,MAAM,qBAAqB;;iBAEhC,CAAA;AAEF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE;;;;;;;GAOG;AACH,eAAO,MAAM,uBAAuB;;;iBAGlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB;;;;;;;iBAInC,CAAA;AAEF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;;;;;GAUG;AACH,eAAO,MAAM,0BAA0B;;;;;;iBAMrC,CAAA;AAEF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA"}
@@ -0,0 +1,45 @@
1
+ import { PluginCoreApi } from "./core";
2
+ import { PluginDesignApi } from "./design";
3
+ import { PluginEntityApi } from "./entity";
4
+ import { PluginProgramApi } from "./program";
5
+ import { PluginPresentationApi } from "./presentation";
6
+ import { PluginAnalysisApi } from "./analysis";
7
+ import { PluginWorkspaceApi } from "./workspace";
8
+ /**
9
+ * Root API surface for Snaptrude plugins.
10
+ *
11
+ * Access all plugin capabilities through the namespaced properties:
12
+ *
13
+ * - {@linkcode PluginApi.core} — Math, geometry kernel, history, units, zoom, project, comments (infrastructure)
14
+ * - {@linkcode PluginApi.design} — Author, query & edit BIM geometry
15
+ * - {@linkcode PluginApi.entity} — CRUD operations on Snaptrude entities (spaces, stories)
16
+ * - {@linkcode PluginApi.program} — Program-mode planning reads (departments, metrics)
17
+ * - {@linkcode PluginApi.presentation} — Presentation preparation (views, AI Inspiration)
18
+ * - {@linkcode PluginApi.analysis} — Sustainability analysis (sunpath, shadows, sunlight/illuminance heatmaps)
19
+ * - {@linkcode PluginApi.workspace} — Dashboard surface: projects and teams
20
+ */
21
+ export declare abstract class PluginApi {
22
+ /** Core math, geometry, history, and units primitives. See {@linkcode PluginCoreApi}. */
23
+ abstract core: PluginCoreApi;
24
+ /** Author, query & edit BIM geometry. See {@linkcode PluginDesignApi}. */
25
+ abstract design: PluginDesignApi;
26
+ /** CRUD operations on Snaptrude entities. See {@linkcode PluginEntityApi}. */
27
+ abstract entity: PluginEntityApi;
28
+ /** Program-mode planning reads — departments and area metrics. See {@linkcode PluginProgramApi}. */
29
+ abstract program: PluginProgramApi;
30
+ /** Presentation preparation reads — saved views. See {@linkcode PluginPresentationApi}. */
31
+ abstract presentation: PluginPresentationApi;
32
+ /** Sustainability analysis — sun & daylight studies. See {@linkcode PluginAnalysisApi}. */
33
+ abstract analysis: PluginAnalysisApi;
34
+ /** Dashboard surface — projects and teams. See {@linkcode PluginWorkspaceApi}. */
35
+ abstract workspace: PluginWorkspaceApi;
36
+ constructor();
37
+ }
38
+ export * from "./core";
39
+ export * from "./design";
40
+ export * from "./entity";
41
+ export * from "./program";
42
+ export * from "./presentation";
43
+ export * from "./analysis";
44
+ export * from "./workspace";
45
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAA;AAC1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAA;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAA;AAEhD;;;;;;;;;;;;GAYG;AACH,8BAAsB,SAAS;IAC7B,yFAAyF;IACzF,SAAgB,IAAI,EAAE,aAAa,CAAA;IACnC,0EAA0E;IAC1E,SAAgB,MAAM,EAAE,eAAe,CAAA;IACvC,8EAA8E;IAC9E,SAAgB,MAAM,EAAE,eAAe,CAAA;IACvC,oGAAoG;IACpG,SAAgB,OAAO,EAAE,gBAAgB,CAAA;IACzC,2FAA2F;IAC3F,SAAgB,YAAY,EAAE,qBAAqB,CAAA;IACnD,2FAA2F;IAC3F,SAAgB,QAAQ,EAAE,iBAAiB,CAAA;IAC3C,kFAAkF;IAClF,SAAgB,SAAS,EAAE,kBAAkB,CAAA;;CAG9C;AAED,cAAc,QAAQ,CAAA;AACtB,cAAc,UAAU,CAAA;AACxB,cAAc,UAAU,CAAA;AACxB,cAAc,WAAW,CAAA;AACzB,cAAc,gBAAgB,CAAA;AAC9B,cAAc,YAAY,CAAA;AAC1B,cAAc,aAAa,CAAA"}