@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,466 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ /**
4
+ * Project-level settings and info.
5
+ *
6
+ * Accessed via `snaptrude.core.project`. Exposes
7
+ * {@linkcode PluginProjectApi.getInfo} (project identity) and
8
+ * {@linkcode PluginProjectApi.settings} (snap + grid controls).
9
+ */
10
+ export declare abstract class PluginProjectApi {
11
+ constructor();
12
+ /**
13
+ * Read identity and headline facts about the currently open project — id,
14
+ * display name, unit type, storey count, active storey, and site location
15
+ * when the project is geo-located.
16
+ *
17
+ * `activeStorey` and `storeyCount` are both scoped to the ACTIVE BUILDING, so
18
+ * they always describe the same building. In a multi-building project
19
+ * `storeyCount` is therefore NOT the total across every building — use
20
+ * `core.storeys.list()`, which spans all buildings, for that.
21
+ *
22
+ * @returns A {@linkcode PluginProjectInfo}. `name` is `null` only when the
23
+ * project genuinely has no title; `location` is `null` only when the project
24
+ * is not geo-located. Neither is used to signal a failure.
25
+ * @throws PRECONDITION_FAILED when no project is open.
26
+ * @throws OPERATION_FAILED when the project lookup or the site-location read
27
+ * fails. A failed read is never reported as `null`.
28
+ *
29
+ * @examplePrompt What is this project called?
30
+ * @examplePrompt Where is this project located?
31
+ * @examplePrompt Give me a summary of this project
32
+ * @examplePrompt How many storeys does this project have?
33
+ *
34
+ * # Example
35
+ * ```ts
36
+ * const info = await snaptrude.core.project.getInfo()
37
+ * console.log(info.name, info.units, info.storeyCount)
38
+ * ```
39
+ */
40
+ abstract getInfo(): PluginApiReturn<PluginProjectInfo>;
41
+ /** Project settings — snaps and grid. See {@linkcode PluginProjectSettingsApi}. */
42
+ abstract settings: PluginProjectSettingsApi;
43
+ }
44
+ /**
45
+ * Project settings — tolerance, snaps, and grid.
46
+ *
47
+ * Accessed via `snaptrude.core.project.settings`.
48
+ */
49
+ export declare abstract class PluginProjectSettingsApi {
50
+ constructor();
51
+ /**
52
+ * Get the project tolerance as a numeric magnitude.
53
+ *
54
+ * The engine stores tolerance as a discrete per-unit precision option; this
55
+ * returns its magnitude (decimal precision `"0.00"` → `0.01`; fraction `"1/4"`
56
+ * → `0.25`).
57
+ *
58
+ * @examplePrompt What is the tolerance setting in this project?
59
+ * @examplePrompt Check the current dimension precision of the model
60
+ * @examplePrompt How precise are the measurements in this project?
61
+ * @examplePrompt Show me the project's tolerance value
62
+ *
63
+ * # Example
64
+ * ```ts
65
+ * const tolerance = await snaptrude.core.project.settings.getTolerance()
66
+ * console.log(tolerance) // e.g. 0.01
67
+ * ```
68
+ */
69
+ abstract getTolerance(): PluginApiReturn<number>;
70
+ /**
71
+ * Set the project tolerance. The value snaps to the **nearest allowed**
72
+ * per-unit precision option (tolerance is a discrete dropdown, not arbitrary).
73
+ *
74
+ * @param value - Target tolerance magnitude; snaps to the nearest allowed option.
75
+ * @returns `true` once applied; `false` if no tolerance options are available.
76
+ *
77
+ * @examplePrompt Set the project tolerance to 0.01
78
+ * @examplePrompt Change the dimension precision to two decimal places
79
+ * @examplePrompt Round dimensions to the nearest quarter inch
80
+ * @examplePrompt Make the measurements in this project more precise
81
+ *
82
+ * # Example
83
+ * ```ts
84
+ * // snaps to the nearest allowed precision option
85
+ * const applied = await snaptrude.core.project.settings.setTolerance(0.01)
86
+ * if (!applied) console.log("no tolerance options available")
87
+ * ```
88
+ */
89
+ abstract setTolerance(value: number): PluginApiReturn<boolean>;
90
+ /** Snap controls (dimension / angle / parallel / normal / magnetic). See {@linkcode PluginSnapsApi}. */
91
+ abstract snaps: PluginSnapsApi;
92
+ /** Grid controls. See {@linkcode PluginGridApi}. */
93
+ abstract grid: PluginGridApi;
94
+ }
95
+ /**
96
+ * Snap controls. Dimension and angle snaps each have a numeric threshold plus an
97
+ * on/off toggle; parallel, normal, and magnetic snaps are on/off only.
98
+ * (`normal` is the perpendicular snap.)
99
+ *
100
+ * Accessed via `snaptrude.core.project.settings.snaps`.
101
+ */
102
+ export declare abstract class PluginSnapsApi {
103
+ constructor();
104
+ /**
105
+ * Set the dimension-snap threshold — the length increment that drawing and
106
+ * editing snap to when dimension snapping is on.
107
+ *
108
+ * @param value - The snap threshold distance.
109
+ *
110
+ * @examplePrompt Set the dimension snap to 100mm
111
+ * @examplePrompt Change the snap distance to half a metre
112
+ * @examplePrompt Make the cursor snap every 6 inches when drawing
113
+ * @examplePrompt Adjust the snapping increment for lengths
114
+ *
115
+ * # Example
116
+ * ```ts
117
+ * // the threshold only applies while dimension snapping is on
118
+ * await snaptrude.core.project.settings.snaps.setDimension(100)
119
+ * await snaptrude.core.project.settings.snaps.enableDimension()
120
+ * ```
121
+ */
122
+ abstract setDimension(value: number): PluginApiReturn<boolean>;
123
+ /**
124
+ * Get the current dimension-snap threshold — the length increment that
125
+ * drawing and editing snap to when dimension snapping is on.
126
+ *
127
+ * @examplePrompt What is the dimension snap distance?
128
+ * @examplePrompt Check the current snap increment for drawing
129
+ * @examplePrompt How far apart are the length snaps set?
130
+ * @examplePrompt Show me the snap spacing value
131
+ *
132
+ * # Example
133
+ * ```ts
134
+ * const increment = await snaptrude.core.project.settings.snaps.getDimension()
135
+ * console.log(increment)
136
+ * ```
137
+ */
138
+ abstract getDimension(): PluginApiReturn<number>;
139
+ /**
140
+ * Turn dimension snapping on, so drawing and editing snap to the configured
141
+ * length increment.
142
+ *
143
+ * @examplePrompt Turn on dimension snapping
144
+ * @examplePrompt Enable snapping to set lengths while I draw
145
+ * @examplePrompt Make my walls snap to round dimensions
146
+ * @examplePrompt Switch length snapping back on
147
+ *
148
+ * # Example
149
+ * ```ts
150
+ * await snaptrude.core.project.settings.snaps.enableDimension()
151
+ * ```
152
+ */
153
+ abstract enableDimension(): PluginApiReturn<boolean>;
154
+ /**
155
+ * Turn dimension snapping off, so lengths no longer snap to the configured
156
+ * increment while drawing.
157
+ *
158
+ * @examplePrompt Turn off dimension snapping
159
+ * @examplePrompt Stop snapping to fixed lengths when I draw
160
+ * @examplePrompt Disable the length snap so I can draw freely
161
+ * @examplePrompt I don't want dimensions to snap anymore
162
+ *
163
+ * # Example
164
+ * ```ts
165
+ * await snaptrude.core.project.settings.snaps.disableDimension()
166
+ * ```
167
+ */
168
+ abstract disableDimension(): PluginApiReturn<boolean>;
169
+ /**
170
+ * Set the angle-snap threshold in degrees — the angular increment that
171
+ * drawing snaps to when angle snapping is on.
172
+ *
173
+ * @param value - The snap threshold in degrees.
174
+ *
175
+ * @examplePrompt Set the angle snap to 15 degrees
176
+ * @examplePrompt Change angle snapping to every 45 degrees
177
+ * @examplePrompt Make drawing snap at 30 degree increments
178
+ * @examplePrompt Adjust the rotation snap angle
179
+ *
180
+ * # Example
181
+ * ```ts
182
+ * // snap drawing to 15-degree increments (applies while angle snapping is on)
183
+ * await snaptrude.core.project.settings.snaps.setAngle(15)
184
+ * await snaptrude.core.project.settings.snaps.enableAngle()
185
+ * ```
186
+ */
187
+ abstract setAngle(value: number): PluginApiReturn<boolean>;
188
+ /**
189
+ * Get the current angle-snap threshold in degrees — the angular increment
190
+ * that drawing snaps to when angle snapping is on.
191
+ *
192
+ * @examplePrompt What angle does drawing snap to?
193
+ * @examplePrompt Check the current angle snap in degrees
194
+ * @examplePrompt Show me the angle snapping increment
195
+ * @examplePrompt How many degrees is the angle snap set to?
196
+ *
197
+ * # Example
198
+ * ```ts
199
+ * const degrees = await snaptrude.core.project.settings.snaps.getAngle()
200
+ * console.log(degrees)
201
+ * ```
202
+ */
203
+ abstract getAngle(): PluginApiReturn<number>;
204
+ /**
205
+ * Turn angle snapping on, so drawn lines snap to the configured angle
206
+ * increment.
207
+ *
208
+ * @examplePrompt Turn on angle snapping
209
+ * @examplePrompt Enable snapping to angles while drawing
210
+ * @examplePrompt Make my lines snap to set angles
211
+ * @examplePrompt Switch angle snap back on
212
+ *
213
+ * # Example
214
+ * ```ts
215
+ * await snaptrude.core.project.settings.snaps.enableAngle()
216
+ * ```
217
+ */
218
+ abstract enableAngle(): PluginApiReturn<boolean>;
219
+ /**
220
+ * Turn angle snapping off, so lines can be drawn at any angle without
221
+ * snapping to fixed increments.
222
+ *
223
+ * @examplePrompt Turn off angle snapping
224
+ * @examplePrompt Stop lines snapping to fixed angles
225
+ * @examplePrompt Disable the angle snap so I can draw at any angle
226
+ * @examplePrompt Remove angle snapping while sketching
227
+ *
228
+ * # Example
229
+ * ```ts
230
+ * await snaptrude.core.project.settings.snaps.disableAngle()
231
+ * ```
232
+ */
233
+ abstract disableAngle(): PluginApiReturn<boolean>;
234
+ /**
235
+ * Turn parallel snapping on, so drawing snaps when the cursor lines up
236
+ * parallel to existing edges.
237
+ *
238
+ * @examplePrompt Turn on parallel snapping
239
+ * @examplePrompt Enable snapping to parallel lines
240
+ * @examplePrompt Help me draw walls parallel to existing ones
241
+ * @examplePrompt Snap to parallel edges when drawing
242
+ *
243
+ * # Example
244
+ * ```ts
245
+ * await snaptrude.core.project.settings.snaps.enableParallel()
246
+ * ```
247
+ */
248
+ abstract enableParallel(): PluginApiReturn<boolean>;
249
+ /**
250
+ * Turn parallel snapping off, so drawing no longer snaps to directions
251
+ * parallel to existing edges.
252
+ *
253
+ * @examplePrompt Turn off parallel snapping
254
+ * @examplePrompt Stop snapping to parallel edges
255
+ * @examplePrompt Disable the parallel snap guide
256
+ * @examplePrompt I don't want my lines snapping parallel anymore
257
+ *
258
+ * # Example
259
+ * ```ts
260
+ * await snaptrude.core.project.settings.snaps.disableParallel()
261
+ * ```
262
+ */
263
+ abstract disableParallel(): PluginApiReturn<boolean>;
264
+ /**
265
+ * Turn normal (perpendicular) snapping on, so drawing snaps when the cursor
266
+ * is at a right angle to existing edges.
267
+ *
268
+ * @examplePrompt Turn on perpendicular snapping
269
+ * @examplePrompt Enable the normal snap so lines snap at right angles
270
+ * @examplePrompt Snap to perpendicular when I draw walls
271
+ * @examplePrompt Help me draw at 90 degrees to existing edges
272
+ *
273
+ * # Example
274
+ * ```ts
275
+ * await snaptrude.core.project.settings.snaps.enableNormal()
276
+ * ```
277
+ */
278
+ abstract enableNormal(): PluginApiReturn<boolean>;
279
+ /**
280
+ * Turn normal (perpendicular) snapping off, so drawing no longer snaps at
281
+ * right angles to existing edges.
282
+ *
283
+ * @examplePrompt Turn off perpendicular snapping
284
+ * @examplePrompt Disable the normal snap
285
+ * @examplePrompt Stop snapping at right angles to edges
286
+ * @examplePrompt Remove the 90 degree snap guide
287
+ *
288
+ * # Example
289
+ * ```ts
290
+ * await snaptrude.core.project.settings.snaps.disableNormal()
291
+ * ```
292
+ */
293
+ abstract disableNormal(): PluginApiReturn<boolean>;
294
+ /**
295
+ * Turn magnetic snapping on, so the cursor is pulled to nearby geometry
296
+ * while drawing.
297
+ *
298
+ * @examplePrompt Turn on magnetic snapping
299
+ * @examplePrompt Enable the magnet snap
300
+ * @examplePrompt Make the cursor stick to nearby geometry when drawing
301
+ * @examplePrompt Switch magnetic snap back on
302
+ *
303
+ * # Example
304
+ * ```ts
305
+ * await snaptrude.core.project.settings.snaps.enableMagnetic()
306
+ * ```
307
+ */
308
+ abstract enableMagnetic(): PluginApiReturn<boolean>;
309
+ /**
310
+ * Turn magnetic snapping off, so the cursor is no longer pulled to nearby
311
+ * geometry while drawing.
312
+ *
313
+ * @examplePrompt Turn off magnetic snapping
314
+ * @examplePrompt Disable the magnet snap
315
+ * @examplePrompt Stop the cursor sticking to nearby objects
316
+ * @examplePrompt The magnetic snap is annoying, switch it off
317
+ *
318
+ * # Example
319
+ * ```ts
320
+ * await snaptrude.core.project.settings.snaps.disableMagnetic()
321
+ * ```
322
+ */
323
+ abstract disableMagnetic(): PluginApiReturn<boolean>;
324
+ }
325
+ /**
326
+ * Grid controls — the visual snap-to grid.
327
+ *
328
+ * Accessed via `snaptrude.core.project.settings.grid`.
329
+ */
330
+ export declare abstract class PluginGridApi {
331
+ constructor();
332
+ /**
333
+ * Turn the grid on, showing the visual snap-to grid in the canvas.
334
+ *
335
+ * @examplePrompt Turn on the grid
336
+ * @examplePrompt Show the grid in my project
337
+ * @examplePrompt Enable the drawing grid
338
+ * @examplePrompt Switch the snap grid back on
339
+ *
340
+ * # Example
341
+ * ```ts
342
+ * await snaptrude.core.project.settings.grid.enable()
343
+ * ```
344
+ */
345
+ abstract enable(): PluginApiReturn<boolean>;
346
+ /**
347
+ * Turn the grid off, hiding the visual snap-to grid in the canvas.
348
+ *
349
+ * @examplePrompt Turn off the grid
350
+ * @examplePrompt Hide the grid
351
+ * @examplePrompt Disable the background grid in the canvas
352
+ * @examplePrompt Remove the drawing grid from view
353
+ *
354
+ * # Example
355
+ * ```ts
356
+ * await snaptrude.core.project.settings.grid.disable()
357
+ * ```
358
+ */
359
+ abstract disable(): PluginApiReturn<boolean>;
360
+ /**
361
+ * Set the grid cell value — the size of each cell in the visual snap-to
362
+ * grid.
363
+ *
364
+ * @param value - The grid cell value.
365
+ *
366
+ * @examplePrompt Set the grid spacing to 1 metre
367
+ * @examplePrompt Change the grid cell size to 500mm
368
+ * @examplePrompt Make the grid squares 2 feet wide
369
+ * @examplePrompt Adjust the grid size in this project
370
+ *
371
+ * # Example
372
+ * ```ts
373
+ * await snaptrude.core.project.settings.grid.setValue(1)
374
+ * await snaptrude.core.project.settings.grid.enable()
375
+ * ```
376
+ */
377
+ abstract setValue(value: number): PluginApiReturn<boolean>;
378
+ /**
379
+ * Get the current grid cell value — the size of each cell in the visual
380
+ * snap-to grid.
381
+ *
382
+ * @examplePrompt What is the grid spacing?
383
+ * @examplePrompt Check the current grid cell size
384
+ * @examplePrompt How big are the grid squares?
385
+ * @examplePrompt Show me the grid size setting
386
+ *
387
+ * # Example
388
+ * ```ts
389
+ * const cellSize = await snaptrude.core.project.settings.grid.getValue()
390
+ * console.log(cellSize)
391
+ * ```
392
+ */
393
+ abstract getValue(): PluginApiReturn<number>;
394
+ }
395
+ /**
396
+ * Arguments for the snap-threshold setters
397
+ * ({@linkcode PluginSnapsApi.setDimension} / {@linkcode PluginSnapsApi.setAngle}).
398
+ *
399
+ * | Property | Type | Description |
400
+ * |---|---|---|
401
+ * | `value` | `number` | The snap threshold (distance, or degrees for angle) |
402
+ */
403
+ export declare const PluginSnapValueArgs: z.ZodObject<{
404
+ value: z.ZodNumber;
405
+ }, z.core.$strip>;
406
+ export type PluginSnapValueArgs = z.infer<typeof PluginSnapValueArgs>;
407
+ /**
408
+ * Arguments for {@linkcode PluginGridApi.setValue}.
409
+ *
410
+ * | Property | Type | Description |
411
+ * |---|---|---|
412
+ * | `value` | `number` | The grid cell value |
413
+ */
414
+ export declare const PluginGridValueArgs: z.ZodObject<{
415
+ value: z.ZodNumber;
416
+ }, z.core.$strip>;
417
+ export type PluginGridValueArgs = z.infer<typeof PluginGridValueArgs>;
418
+ /**
419
+ * Arguments for {@linkcode PluginProjectSettingsApi.setTolerance}.
420
+ *
421
+ * | Property | Type | Description |
422
+ * |---|---|---|
423
+ * | `value` | `number` | Target tolerance magnitude; snaps to the nearest allowed option |
424
+ */
425
+ export declare const PluginToleranceArgs: z.ZodObject<{
426
+ value: z.ZodNumber;
427
+ }, z.core.$strip>;
428
+ export type PluginToleranceArgs = z.infer<typeof PluginToleranceArgs>;
429
+ /**
430
+ * Identity and headline facts about the currently open project.
431
+ *
432
+ * `location` is a read-only projection of {@linkcode PluginProgramSiteApi.getLocation}
433
+ * — `program.site.*` remains the full site surface (context, weather, polygons).
434
+ * It is mirrored here because "what and where is this project" is one question.
435
+ *
436
+ * | Property | Type | Description |
437
+ * |---|---|---|
438
+ * | `projectId` | `string` | The open project's id (floorkey) |
439
+ * | `name` | `string \| null` | Display name; `null` only when the project has no title (a failed lookup throws) |
440
+ * | `units` | {@linkcode PUnitType} | The project's unit type |
441
+ * | `activeStorey` | `number` | The active storey value, in the active building |
442
+ * | `storeyCount` | `number` | How many storeys the ACTIVE BUILDING has (not the project-wide total — `core.storeys.list()` spans all buildings) |
443
+ * | `location` | `{ latitude, longitude } \| null` | Site location; `null` only when not geo-located (a failed read throws) |
444
+ */
445
+ export declare const PluginProjectInfo: z.ZodObject<{
446
+ projectId: z.ZodString;
447
+ name: z.ZodNullable<z.ZodString>;
448
+ units: z.ZodEnum<{
449
+ meters: "meters";
450
+ "feet-inches": "feet-inches";
451
+ inches: "inches";
452
+ centimeters: "centimeters";
453
+ millimeters: "millimeters";
454
+ kilometers: "kilometers";
455
+ miles: "miles";
456
+ babylon: "babylon";
457
+ }>;
458
+ activeStorey: z.ZodNumber;
459
+ storeyCount: z.ZodNumber;
460
+ location: z.ZodNullable<z.ZodObject<{
461
+ latitude: z.ZodNumber;
462
+ longitude: z.ZodNumber;
463
+ }, z.core.$strip>>;
464
+ }, z.core.$strip>;
465
+ export type PluginProjectInfo = z.infer<typeof PluginProjectInfo>;
466
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/project/index.ts"],"names":[],"mappings":"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"}