@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,563 @@
1
+ import * as z from "zod"
2
+ import { PluginApiReturn } from "../../../../types"
3
+ import {
4
+ BrepHandle,
5
+ FaceHandle,
6
+ EdgeHandle,
7
+ VertexHandle,
8
+ HalfEdgeHandle,
9
+ Vec3Components,
10
+ BBoxComponents,
11
+ } from "../../../../handles"
12
+
13
+ /**
14
+ * BREP queries — read the topology and geometry of a boundary-representation mesh
15
+ * as plain values / child handles (all-handle model, §11). A {@linkcode BrepHandle}
16
+ * is a session-ephemeral resource handle obtained from `design.query.geometry.getBrep`;
17
+ * it goes stale on undo/redo/re-topologize.
18
+ *
19
+ * Enumerations mint fresh child topology handles ({@linkcode FaceHandle},
20
+ * {@linkcode EdgeHandle}, {@linkcode VertexHandle}, {@linkcode HalfEdgeHandle}); the
21
+ * registry dedupes by identity, so re-enumeration returns the same handles. Position
22
+ * reads return {@linkcode Vec3Components}. No query mutates its inputs.
23
+ *
24
+ * Accessed via `snaptrude.core.geom.query.brep`.
25
+ */
26
+ export abstract class PluginGeomQueryBrepApi {
27
+ constructor() {}
28
+
29
+ /**
30
+ * List the faces of a brep.
31
+ * @param brep The brep to query
32
+ * @returns The faces as {@linkcode FaceHandle}`[]`
33
+ *
34
+ * # Example
35
+ * ```ts
36
+ * const [wall] = await snaptrude.design.query.listWalls()
37
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
38
+ * if (brep) {
39
+ * const faces = await snaptrude.core.geom.query.brep.listFaces(brep)
40
+ * }
41
+ * ```
42
+ */
43
+ public abstract listFaces(brep: BrepHandle): PluginApiReturn<FaceHandle[]>
44
+
45
+ /**
46
+ * List the edges of a brep.
47
+ * @param brep The brep to query
48
+ * @returns The edges as {@linkcode EdgeHandle}`[]`
49
+ *
50
+ * # Example
51
+ * ```ts
52
+ * const [wall] = await snaptrude.design.query.listWalls()
53
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
54
+ * if (brep) {
55
+ * const edges = await snaptrude.core.geom.query.brep.listEdges(brep)
56
+ * }
57
+ * ```
58
+ */
59
+ public abstract listEdges(brep: BrepHandle): PluginApiReturn<EdgeHandle[]>
60
+
61
+ /**
62
+ * List the vertices of a brep.
63
+ * @param brep The brep to query
64
+ * @returns The vertices as {@linkcode VertexHandle}`[]`
65
+ *
66
+ * # Example
67
+ * ```ts
68
+ * const [mass] = await snaptrude.design.query.listMasses()
69
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
70
+ * if (brep) {
71
+ * const vertices = await snaptrude.core.geom.query.brep.listVertices(brep)
72
+ * }
73
+ * ```
74
+ */
75
+ public abstract listVertices(brep: BrepHandle): PluginApiReturn<VertexHandle[]>
76
+
77
+ /**
78
+ * List the half-edges of a brep.
79
+ * @param brep The brep to query
80
+ * @returns The half-edges as {@linkcode HalfEdgeHandle}`[]`
81
+ *
82
+ * # Example
83
+ * ```ts
84
+ * const [wall] = await snaptrude.design.query.listWalls()
85
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
86
+ * if (brep) {
87
+ * const halfEdges = await snaptrude.core.geom.query.brep.listHalfEdges(brep)
88
+ * }
89
+ * ```
90
+ */
91
+ public abstract listHalfEdges(brep: BrepHandle): PluginApiReturn<HalfEdgeHandle[]>
92
+
93
+ /**
94
+ * Get the edge connecting two vertices (by their brep vertex indices).
95
+ * @param brep The brep to query
96
+ * @param vertexIndexA First vertex index
97
+ * @param vertexIndexB Second vertex index
98
+ * @returns The edge as an {@linkcode EdgeHandle}, or `null` if no such edge exists
99
+ *
100
+ * # Example
101
+ * ```ts
102
+ * const [wall] = await snaptrude.design.query.listWalls()
103
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
104
+ * if (brep) {
105
+ * const [va, vb] = await snaptrude.core.geom.query.brep.listVertices(brep)
106
+ * const ia = await snaptrude.core.geom.query.vertex.getIndex(va)
107
+ * const ib = await snaptrude.core.geom.query.vertex.getIndex(vb)
108
+ * const edge = await snaptrude.core.geom.query.brep.getEdge(brep, ia, ib)
109
+ * if (edge) console.log("those two vertices are connected")
110
+ * }
111
+ * ```
112
+ */
113
+ public abstract getEdge(
114
+ brep: BrepHandle,
115
+ vertexIndexA: number,
116
+ vertexIndexB: number
117
+ ): PluginApiReturn<EdgeHandle | null>
118
+
119
+ /**
120
+ * Test whether an edge connects two vertices (by their brep vertex indices).
121
+ * @param brep The brep to query
122
+ * @param vertexIndexA First vertex index
123
+ * @param vertexIndexB Second vertex index
124
+ * @returns `true` if such an edge exists, otherwise `false`
125
+ *
126
+ * # Example
127
+ * ```ts
128
+ * const [wall] = await snaptrude.design.query.listWalls()
129
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
130
+ * if (brep) {
131
+ * // brep vertex indices (get one from core.geom.query.vertex.getIndex)
132
+ * const connected = await snaptrude.core.geom.query.brep.hasEdge(brep, 0, 1)
133
+ * }
134
+ * ```
135
+ */
136
+ public abstract hasEdge(
137
+ brep: BrepHandle,
138
+ vertexIndexA: number,
139
+ vertexIndexB: number
140
+ ): PluginApiReturn<boolean>
141
+
142
+ /**
143
+ * List every edge connecting two vertices (by their brep vertex indices).
144
+ * @param brep The brep to query
145
+ * @param vertexIndexA First vertex index
146
+ * @param vertexIndexB Second vertex index
147
+ * @returns The edges as {@linkcode EdgeHandle}`[]`
148
+ *
149
+ * # Example
150
+ * ```ts
151
+ * const [wall] = await snaptrude.design.query.listWalls()
152
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
153
+ * if (brep) {
154
+ * // brep vertex indices (get one from core.geom.query.vertex.getIndex)
155
+ * const edges = await snaptrude.core.geom.query.brep.listEdgesBetween(brep, 0, 1)
156
+ * console.log("edges between vertices 0 and 1:", edges.length)
157
+ * }
158
+ * ```
159
+ */
160
+ public abstract listEdgesBetween(
161
+ brep: BrepHandle,
162
+ vertexIndexA: number,
163
+ vertexIndexB: number
164
+ ): PluginApiReturn<EdgeHandle[]>
165
+
166
+ /**
167
+ * Read the exact curve of a brep edge as plain values — a discriminated
168
+ * union on `type`. Pure read: no geometry kernel is loaded. Points and
169
+ * directions are {@linkcode Vec3Components}; lengths and radii are raw
170
+ * Babylon units.
171
+ *
172
+ * | `type` | Fields |
173
+ * |---|---|
174
+ * | `"line"` | `startPoint`, `endPoint`, `length` |
175
+ * | `"arc"` | `startPoint`, `endPoint`, `centre`, `axis`, `radius`, `length` |
176
+ * | `"circle"` | `centre`, `axis`, `radius`, `length` — a full-circle edge (e.g. a cylinder cap rim) |
177
+ *
178
+ * @param brep The brep the edge belongs to
179
+ * @param edge The edge whose curve to read
180
+ * @returns The curve data as a discriminated union on `type` (see table above)
181
+ * @throws VALIDATION if the edge is not on `brep`
182
+ *
183
+ * @examplePrompt Read the radius of this curved edge
184
+ * @examplePrompt Is this edge straight or an arc?
185
+ * @examplePrompt Get the exact start and end points of this edge
186
+ * @examplePrompt Measure the length of each edge of this mass
187
+ *
188
+ * # Example
189
+ * ```ts
190
+ * const [mass] = await snaptrude.design.query.listMasses()
191
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
192
+ * if (brep) {
193
+ * const edges = await snaptrude.core.geom.query.brep.listEdges(brep)
194
+ * for (const edge of edges) {
195
+ * const curve = await snaptrude.core.geom.query.brep.getEdgeCurve(brep, edge)
196
+ * if (curve.type === "arc") console.log("arc radius:", curve.radius)
197
+ * }
198
+ * }
199
+ * ```
200
+ */
201
+ public abstract getEdgeCurve(
202
+ brep: BrepHandle,
203
+ edge: EdgeHandle
204
+ ): PluginApiReturn<
205
+ | { type: "line"; startPoint: Vec3Components; endPoint: Vec3Components; length: number }
206
+ | {
207
+ type: "arc"
208
+ startPoint: Vec3Components
209
+ endPoint: Vec3Components
210
+ centre: Vec3Components
211
+ axis: Vec3Components
212
+ radius: number
213
+ length: number
214
+ }
215
+ | {
216
+ type: "circle"
217
+ centre: Vec3Components
218
+ axis: Vec3Components
219
+ radius: number
220
+ length: number
221
+ }
222
+ >
223
+
224
+ /**
225
+ * Get the position of a vertex within a brep.
226
+ * @param brep The brep to query
227
+ * @param vertex The vertex whose position to read
228
+ * @returns The position as {@linkcode Vec3Components}
229
+ *
230
+ * # Example
231
+ * ```ts
232
+ * const [wall] = await snaptrude.design.query.listWalls()
233
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
234
+ * if (brep) {
235
+ * const [vertex] = await snaptrude.core.geom.query.brep.listVertices(brep)
236
+ * const { x, y, z } = await snaptrude.core.geom.query.brep.getVertexPosition(brep, vertex)
237
+ * }
238
+ * ```
239
+ */
240
+ public abstract getVertexPosition(
241
+ brep: BrepHandle,
242
+ vertex: VertexHandle
243
+ ): PluginApiReturn<Vec3Components>
244
+
245
+ /**
246
+ * List the positions of all vertices in a brep (ordered as {@linkcode PluginGeomQueryBrepApi.listVertices}).
247
+ * @param brep The brep to query
248
+ * @returns The positions as {@linkcode Vec3Components}`[]`
249
+ *
250
+ * @examplePrompt Get the coordinates of every corner of this shape
251
+ * @examplePrompt Give me all the corner points of the selected mass as XYZ coordinates
252
+ *
253
+ * # Example
254
+ * ```ts
255
+ * const [mass] = await snaptrude.design.query.listMasses()
256
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
257
+ * if (brep) {
258
+ * const positions = await snaptrude.core.geom.query.brep.listVertexPositions(brep)
259
+ * for (const p of positions) console.log(p.x, p.y, p.z)
260
+ * }
261
+ * ```
262
+ */
263
+ public abstract listVertexPositions(brep: BrepHandle): PluginApiReturn<Vec3Components[]>
264
+
265
+ /**
266
+ * Get the centroid (mean of all vertex positions) of a brep.
267
+ * @param brep The brep to query
268
+ * @returns The centroid as {@linkcode Vec3Components}
269
+ *
270
+ * @examplePrompt Find the centre point of this shape
271
+ * @examplePrompt What is the centroid of the selected object?
272
+ *
273
+ * # Example
274
+ * ```ts
275
+ * const [mass] = await snaptrude.design.query.listMasses()
276
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
277
+ * if (brep) {
278
+ * const centroid = await snaptrude.core.geom.query.brep.getCentroid(brep)
279
+ * console.log(centroid.x, centroid.y, centroid.z)
280
+ * }
281
+ * ```
282
+ */
283
+ public abstract getCentroid(brep: BrepHandle): PluginApiReturn<Vec3Components>
284
+
285
+ /**
286
+ * Get the number of faces in a brep.
287
+ * @param brep The brep to query
288
+ * @returns The face count as a `number`
289
+ *
290
+ * # Example
291
+ * ```ts
292
+ * const [wall] = await snaptrude.design.query.listWalls()
293
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
294
+ * if (brep) {
295
+ * const faceCount = await snaptrude.core.geom.query.brep.getFaceCount(brep)
296
+ * }
297
+ * ```
298
+ */
299
+ public abstract getFaceCount(brep: BrepHandle): PluginApiReturn<number>
300
+
301
+ /**
302
+ * Get the number of edges in a brep.
303
+ * @param brep The brep to query
304
+ * @returns The edge count as a `number`
305
+ *
306
+ * # Example
307
+ * ```ts
308
+ * const [wall] = await snaptrude.design.query.listWalls()
309
+ * const brep = await snaptrude.design.query.geometry.getBrep(wall)
310
+ * if (brep) {
311
+ * const edgeCount = await snaptrude.core.geom.query.brep.getEdgeCount(brep)
312
+ * }
313
+ * ```
314
+ */
315
+ public abstract getEdgeCount(brep: BrepHandle): PluginApiReturn<number>
316
+
317
+ /**
318
+ * Get the number of vertices in a brep.
319
+ * @param brep The brep to query
320
+ * @returns The vertex count as a `number`
321
+ *
322
+ * # Example
323
+ * ```ts
324
+ * const [mass] = await snaptrude.design.query.listMasses()
325
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
326
+ * if (brep) {
327
+ * const vertexCount = await snaptrude.core.geom.query.brep.getVertexCount(brep)
328
+ * }
329
+ * ```
330
+ */
331
+ public abstract getVertexCount(brep: BrepHandle): PluginApiReturn<number>
332
+
333
+ /**
334
+ * Get the number of half-edges in a brep.
335
+ * @param brep The brep to query
336
+ * @returns The half-edge count as a `number`
337
+ *
338
+ * # Example
339
+ * ```ts
340
+ * const [mass] = await snaptrude.design.query.listMasses()
341
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
342
+ * if (brep) {
343
+ * const halfEdgeCount = await snaptrude.core.geom.query.brep.getHalfEdgeCount(brep)
344
+ * }
345
+ * ```
346
+ */
347
+ public abstract getHalfEdgeCount(brep: BrepHandle): PluginApiReturn<number>
348
+
349
+ /**
350
+ * Get the axis-aligned bounding box of a brep.
351
+ * @param brep The brep to query
352
+ * @returns The bounding box as {@linkcode BBoxComponents}
353
+ *
354
+ * @examplePrompt What is the bounding box of this shape?
355
+ * @examplePrompt How big is this object overall — give me its min and max extents
356
+ *
357
+ * # Example
358
+ * ```ts
359
+ * const [mass] = await snaptrude.design.query.listMasses()
360
+ * const brep = await snaptrude.design.query.geometry.getBrep(mass)
361
+ * if (brep) {
362
+ * const { min, max } = await snaptrude.core.geom.query.brep.getBoundingBox(brep)
363
+ * console.log("size:", max.x - min.x, max.y - min.y, max.z - min.z)
364
+ * }
365
+ * ```
366
+ */
367
+ public abstract getBoundingBox(brep: BrepHandle): PluginApiReturn<BBoxComponents>
368
+
369
+ /**
370
+ * Test whether two breps are geometrically equal.
371
+ * @param brepA First brep
372
+ * @param brepB Second brep
373
+ * @returns `true` if the breps are equal, otherwise `false`
374
+ *
375
+ * @examplePrompt Are these two shapes geometrically identical?
376
+ * @examplePrompt Check whether these two objects have the same geometry
377
+ *
378
+ * # Example
379
+ * ```ts
380
+ * const [a, b] = await snaptrude.design.query.listMasses()
381
+ * const brepA = await snaptrude.design.query.geometry.getBrep(a)
382
+ * const brepB = await snaptrude.design.query.geometry.getBrep(b)
383
+ * if (brepA && brepB) {
384
+ * const same = await snaptrude.core.geom.query.brep.isEqual(brepA, brepB)
385
+ * }
386
+ * ```
387
+ */
388
+ public abstract isEqual(brepA: BrepHandle, brepB: BrepHandle): PluginApiReturn<boolean>
389
+
390
+ /**
391
+ * Measures the minimum distance between two solids, with the closest witness
392
+ * point on each. Touching or overlapping solids report a distance of 0 with
393
+ * contact points.
394
+ *
395
+ * @param brepA First solid
396
+ * @param brepB Second solid
397
+ * @returns `{ distance, pointA, pointB }` — the minimum distance and the
398
+ * closest points on `brepA` and `brepB` as {@linkcode Vec3Components}
399
+ * @throws OPERATION_FAILED if the kernel cannot compute the distance
400
+ *
401
+ * @examplePrompt What is the clearance between these two masses?
402
+ * @examplePrompt How far apart are the tower and the neighbouring building?
403
+ * @examplePrompt Find the closest points between these two solids
404
+ *
405
+ * # Example
406
+ * ```ts
407
+ * const [a, b] = await snaptrude.design.query.listMasses()
408
+ * const brepA = await snaptrude.design.query.geometry.getBrep(a)
409
+ * const brepB = await snaptrude.design.query.geometry.getBrep(b)
410
+ * if (brepA && brepB) {
411
+ * const { distance, pointA, pointB } = await snaptrude.core.geom.query.brep.getDistance(brepA, brepB)
412
+ * console.log("clearance:", distance)
413
+ * }
414
+ * ```
415
+ */
416
+ public abstract getDistance(
417
+ brepA: BrepHandle,
418
+ brepB: BrepHandle
419
+ ): PluginApiReturn<{ distance: number; pointA: Vec3Components; pointB: Vec3Components }>
420
+ }
421
+
422
+ const brepArg = z.object({ brep: BrepHandle })
423
+ const brepEdgeArg = z.object({
424
+ brep: BrepHandle,
425
+ vertexIndexA: z.number(),
426
+ vertexIndexB: z.number(),
427
+ })
428
+
429
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listFaces}. `{ brep: BrepHandle }` */
430
+ export const PluginGeomQueryBrepListFacesArgs = brepArg
431
+ export type PluginGeomQueryBrepListFacesArgs = z.infer<typeof PluginGeomQueryBrepListFacesArgs>
432
+
433
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listEdges}. `{ brep: BrepHandle }` */
434
+ export const PluginGeomQueryBrepListEdgesArgs = brepArg
435
+ export type PluginGeomQueryBrepListEdgesArgs = z.infer<typeof PluginGeomQueryBrepListEdgesArgs>
436
+
437
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listVertices}. `{ brep: BrepHandle }` */
438
+ export const PluginGeomQueryBrepListVerticesArgs = brepArg
439
+ export type PluginGeomQueryBrepListVerticesArgs = z.infer<typeof PluginGeomQueryBrepListVerticesArgs>
440
+
441
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listHalfEdges}. `{ brep: BrepHandle }` */
442
+ export const PluginGeomQueryBrepListHalfEdgesArgs = brepArg
443
+ export type PluginGeomQueryBrepListHalfEdgesArgs = z.infer<
444
+ typeof PluginGeomQueryBrepListHalfEdgesArgs
445
+ >
446
+
447
+ /**
448
+ * Arguments for {@linkcode PluginGeomQueryBrepApi.getEdge}.
449
+ *
450
+ * | Property | Type | Description |
451
+ * |---|---|---|
452
+ * | `brep` | {@linkcode BrepHandle} | The brep to query |
453
+ * | `vertexIndexA` | `number` | First vertex index |
454
+ * | `vertexIndexB` | `number` | Second vertex index |
455
+ */
456
+ export const PluginGeomQueryBrepGetEdgeArgs = brepEdgeArg
457
+ export type PluginGeomQueryBrepGetEdgeArgs = z.infer<typeof PluginGeomQueryBrepGetEdgeArgs>
458
+
459
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.hasEdge}. `{ brep, vertexIndexA, vertexIndexB }` */
460
+ export const PluginGeomQueryBrepHasEdgeArgs = brepEdgeArg
461
+ export type PluginGeomQueryBrepHasEdgeArgs = z.infer<typeof PluginGeomQueryBrepHasEdgeArgs>
462
+
463
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listEdgesBetween}. `{ brep, vertexIndexA, vertexIndexB }` */
464
+ export const PluginGeomQueryBrepListEdgesBetweenArgs = brepEdgeArg
465
+ export type PluginGeomQueryBrepListEdgesBetweenArgs = z.infer<
466
+ typeof PluginGeomQueryBrepListEdgesBetweenArgs
467
+ >
468
+
469
+ /**
470
+ * Arguments for {@linkcode PluginGeomQueryBrepApi.getEdgeCurve}.
471
+ *
472
+ * | Property | Type | Description |
473
+ * |---|---|---|
474
+ * | `brep` | {@linkcode BrepHandle} | The brep the edge belongs to |
475
+ * | `edge` | {@linkcode EdgeHandle} | The edge whose curve to read |
476
+ */
477
+ export const PluginGeomQueryBrepGetEdgeCurveArgs = z.object({
478
+ brep: BrepHandle,
479
+ edge: EdgeHandle,
480
+ })
481
+ export type PluginGeomQueryBrepGetEdgeCurveArgs = z.infer<
482
+ typeof PluginGeomQueryBrepGetEdgeCurveArgs
483
+ >
484
+
485
+ /**
486
+ * Arguments for {@linkcode PluginGeomQueryBrepApi.getVertexPosition}.
487
+ *
488
+ * | Property | Type | Description |
489
+ * |---|---|---|
490
+ * | `brep` | {@linkcode BrepHandle} | The brep to query |
491
+ * | `vertex` | {@linkcode VertexHandle} | The vertex whose position to read |
492
+ */
493
+ export const PluginGeomQueryBrepGetVertexPositionArgs = z.object({
494
+ brep: BrepHandle,
495
+ vertex: VertexHandle,
496
+ })
497
+ export type PluginGeomQueryBrepGetVertexPositionArgs = z.infer<
498
+ typeof PluginGeomQueryBrepGetVertexPositionArgs
499
+ >
500
+
501
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.listVertexPositions}. `{ brep: BrepHandle }` */
502
+ export const PluginGeomQueryBrepListVertexPositionsArgs = brepArg
503
+ export type PluginGeomQueryBrepListVertexPositionsArgs = z.infer<
504
+ typeof PluginGeomQueryBrepListVertexPositionsArgs
505
+ >
506
+
507
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getCentroid}. `{ brep: BrepHandle }` */
508
+ export const PluginGeomQueryBrepGetCentroidArgs = brepArg
509
+ export type PluginGeomQueryBrepGetCentroidArgs = z.infer<typeof PluginGeomQueryBrepGetCentroidArgs>
510
+
511
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getFaceCount}. `{ brep: BrepHandle }` */
512
+ export const PluginGeomQueryBrepGetFaceCountArgs = brepArg
513
+ export type PluginGeomQueryBrepGetFaceCountArgs = z.infer<typeof PluginGeomQueryBrepGetFaceCountArgs>
514
+
515
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getEdgeCount}. `{ brep: BrepHandle }` */
516
+ export const PluginGeomQueryBrepGetEdgeCountArgs = brepArg
517
+ export type PluginGeomQueryBrepGetEdgeCountArgs = z.infer<typeof PluginGeomQueryBrepGetEdgeCountArgs>
518
+
519
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getVertexCount}. `{ brep: BrepHandle }` */
520
+ export const PluginGeomQueryBrepGetVertexCountArgs = brepArg
521
+ export type PluginGeomQueryBrepGetVertexCountArgs = z.infer<
522
+ typeof PluginGeomQueryBrepGetVertexCountArgs
523
+ >
524
+
525
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getHalfEdgeCount}. `{ brep: BrepHandle }` */
526
+ export const PluginGeomQueryBrepGetHalfEdgeCountArgs = brepArg
527
+ export type PluginGeomQueryBrepGetHalfEdgeCountArgs = z.infer<
528
+ typeof PluginGeomQueryBrepGetHalfEdgeCountArgs
529
+ >
530
+
531
+ /** Arguments for {@linkcode PluginGeomQueryBrepApi.getBoundingBox}. `{ brep: BrepHandle }` */
532
+ export const PluginGeomQueryBrepGetBoundingBoxArgs = brepArg
533
+ export type PluginGeomQueryBrepGetBoundingBoxArgs = z.infer<
534
+ typeof PluginGeomQueryBrepGetBoundingBoxArgs
535
+ >
536
+
537
+ /**
538
+ * Arguments for {@linkcode PluginGeomQueryBrepApi.isEqual}.
539
+ *
540
+ * | Property | Type | Description |
541
+ * |---|---|---|
542
+ * | `brepA` | {@linkcode BrepHandle} | First brep |
543
+ * | `brepB` | {@linkcode BrepHandle} | Second brep |
544
+ */
545
+ export const PluginGeomQueryBrepIsEqualArgs = z.object({
546
+ brepA: BrepHandle,
547
+ brepB: BrepHandle,
548
+ })
549
+ export type PluginGeomQueryBrepIsEqualArgs = z.infer<typeof PluginGeomQueryBrepIsEqualArgs>
550
+
551
+ /**
552
+ * Arguments for {@linkcode PluginGeomQueryBrepApi.getDistance}.
553
+ *
554
+ * | Property | Type | Description |
555
+ * |---|---|---|
556
+ * | `brepA` | {@linkcode BrepHandle} | First solid |
557
+ * | `brepB` | {@linkcode BrepHandle} | Second solid |
558
+ */
559
+ export const PluginGeomQueryBrepGetDistanceArgs = z.object({
560
+ brepA: BrepHandle,
561
+ brepB: BrepHandle,
562
+ })
563
+ export type PluginGeomQueryBrepGetDistanceArgs = z.infer<typeof PluginGeomQueryBrepGetDistanceArgs>