@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":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/camera/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAE7C;;;;;;;;GAQG;AACH,8BAAsB,eAAe;;IAGnC;;;;;;;;;;;;;;;;;;OAkBG;aACa,QAAQ,CACtB,GAAG,EAAE,UAAU,EACf,MAAM,EAAE,UAAU,GACjB,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;;;;OAmBG;aACa,eAAe,CAC7B,IAAI,EAAE,kBAAkB,GACvB,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;OAcG;aACa,OAAO,IAAI,eAAe,CAAC,gBAAgB,CAAC;IAE5D;;;;;;;;;;;;;;;;;OAiBG;aACa,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC;IAEzE;;;;;;;;;;;;;;;;OAgBG;aACa,aAAa,IAAI,eAAe,CAAC,sBAAsB,CAAC;IAExE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,aAAa,CAC3B,UAAU,EAAE,sBAAsB,GACjC,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;;OAgBG;aACa,WAAW,IAAI,eAAe,CAAC,OAAO,CAAC;IAEvD;;;;;;;;;;;;;;;;;OAiBG;aACa,aAAa,IAAI,eAAe,CAAC,OAAO,CAAC;CAC1D;AAED;;;GAGG;AACH,eAAO,MAAM,kBAAkB;;;;;;;EAO7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;EAAuB,CAAA;AACpD,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAA;AAE/D;;;GAGG;AACH,eAAO,MAAM,sBAAsB;;;EAA0C,CAAA;AAC7E,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB;;;iBAGnC,CAAA;AACF,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAA;AAE/E;;;;;;GAMG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;iBAE1C,CAAA;AACF,MAAM,MAAM,+BAA+B,GAAG,CAAC,CAAC,KAAK,CACnD,OAAO,+BAA+B,CACvC,CAAA;AAED;;;;;;GAMG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAElC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;GAMG;AACH,eAAO,MAAM,6BAA6B;;;;;iBAExC,CAAA;AACF,MAAM,MAAM,6BAA6B,GAAG,CAAC,CAAC,KAAK,CACjD,OAAO,6BAA6B,CACrC,CAAA"}
@@ -0,0 +1,333 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ import { Vec3Handle, ComponentHandle, Vec3Components } from "../../../handles";
4
+ /**
5
+ * Comments — create, edit, resolve, tag, and list scene/project comments.
6
+ *
7
+ * A comment is an opaque {@link CommentHandle} (its server id). Comments may be
8
+ * anchored to a component at a 3D point, carry @mentions (by email) and emojis,
9
+ * and be resolved / reopened. Accessed via `snaptrude.core.comment`.
10
+ */
11
+ export declare abstract class PluginCommentApi {
12
+ constructor();
13
+ /**
14
+ * Create a comment in the project — optionally pinned to a component at a 3D
15
+ * point — with optional @mentions that notify teammates by email.
16
+ *
17
+ * @param message - Comment text (emojis = plain unicode).
18
+ * @param component - Optional component to anchor the comment to.
19
+ * @param position - Optional pin point; defaults to the component's center.
20
+ * @param mentions - Optional user emails to @mention (appended as real @mention tags).
21
+ * @returns the new {@link CommentHandle}.
22
+ *
23
+ * @examplePrompt Add a comment on this wall saying the height looks wrong
24
+ * @examplePrompt Leave a note on the selected room for the design team
25
+ * @examplePrompt Comment "verify the door swing" and tag alex@acme.com
26
+ * @examplePrompt Pin a review note at this point on the slab
27
+ *
28
+ * # Example
29
+ * ```ts
30
+ * const c = await snaptrude.core.comment.create(
31
+ * "Check this wall 🎉",
32
+ * spaceId,
33
+ * undefined,
34
+ * ["alex@acme.com"],
35
+ * )
36
+ * ```
37
+ */
38
+ abstract create(message: string, component?: ComponentHandle, position?: Vec3Handle, mentions?: string[]): PluginApiReturn<CommentHandle>;
39
+ /**
40
+ * Edit a comment's message (and optional @mentions).
41
+ *
42
+ * @param comment - The comment to edit.
43
+ * @param message - New message text.
44
+ * @param mentions - Optional user emails to @mention.
45
+ *
46
+ * @examplePrompt Edit my comment to say the beam depth is 600mm
47
+ * @examplePrompt Change the text of this comment
48
+ * @examplePrompt Update the note on the wall and mention priya@studio.com
49
+ * @examplePrompt Reword the comment I just added
50
+ *
51
+ * # Example
52
+ * ```ts
53
+ * const c = await snaptrude.core.comment.create("Beam depth TBD")
54
+ * await snaptrude.core.comment.update(c, "Beam depth is 600mm", ["priya@studio.com"])
55
+ * ```
56
+ */
57
+ abstract update(comment: CommentHandle, message: string, mentions?: string[]): PluginApiReturn<boolean>;
58
+ /**
59
+ * Mark a comment resolved. Paired with {@link PluginCommentApi.reopen}.
60
+ *
61
+ * @param comment - The target comment.
62
+ *
63
+ * @examplePrompt Mark this comment as resolved
64
+ * @examplePrompt Resolve the comment about the staircase
65
+ * @examplePrompt Close out this review note
66
+ * @examplePrompt Set that comment to done
67
+ *
68
+ * # Example
69
+ * ```ts
70
+ * const c = await snaptrude.core.comment.create("Verify the door swing")
71
+ * await snaptrude.core.comment.resolve(c)
72
+ * ```
73
+ */
74
+ abstract resolve(comment: CommentHandle): PluginApiReturn<boolean>;
75
+ /**
76
+ * Reopen a resolved comment. Paired with {@link PluginCommentApi.resolve}.
77
+ *
78
+ * @param comment - The target comment.
79
+ *
80
+ * @examplePrompt Reopen this resolved comment
81
+ * @examplePrompt Mark the comment as unresolved again
82
+ * @examplePrompt Bring back the closed note about the window heights
83
+ * @examplePrompt Un-resolve that comment so we can keep discussing it
84
+ *
85
+ * # Example
86
+ * ```ts
87
+ * const [comment] = await snaptrude.core.comment.list()
88
+ * await snaptrude.core.comment.reopen(comment)
89
+ * ```
90
+ */
91
+ abstract reopen(comment: CommentHandle): PluginApiReturn<boolean>;
92
+ /**
93
+ * Check whether a comment has been marked resolved.
94
+ *
95
+ * @param comment - The target comment.
96
+ *
97
+ * @examplePrompt Is this comment resolved yet?
98
+ * @examplePrompt Check if the note about the roof has been closed
99
+ * @examplePrompt Has my comment been resolved?
100
+ * @examplePrompt Tell me whether that comment is still open
101
+ *
102
+ * # Example
103
+ * ```ts
104
+ * const [comment] = await snaptrude.core.comment.list()
105
+ * const resolved = await snaptrude.core.comment.isResolved(comment)
106
+ * console.log(resolved ? "resolved" : "still open")
107
+ * ```
108
+ */
109
+ abstract isResolved(comment: CommentHandle): PluginApiReturn<boolean>;
110
+ /**
111
+ * Tag (mention) a user on an existing comment, by email.
112
+ *
113
+ * @param comment - The comment to add a mention to.
114
+ * @param email - The user's email to @mention.
115
+ *
116
+ * @examplePrompt Tag alex@acme.com on this comment
117
+ * @examplePrompt Mention the structural engineer in that note
118
+ * @examplePrompt Add priya@studio.com to the comment about the lobby
119
+ * @examplePrompt Notify a teammate about an existing comment
120
+ *
121
+ * # Example
122
+ * ```ts
123
+ * const [comment] = await snaptrude.core.comment.list()
124
+ * await snaptrude.core.comment.tag(comment, "alex@acme.com")
125
+ * ```
126
+ */
127
+ abstract tag(comment: CommentHandle, email: string): PluginApiReturn<boolean>;
128
+ /**
129
+ * Permanently remove a comment from the project.
130
+ *
131
+ * @param comment - The target comment.
132
+ *
133
+ * @examplePrompt Delete this comment
134
+ * @examplePrompt Remove the note about the old layout
135
+ * @examplePrompt Get rid of my last comment
136
+ * @examplePrompt Clear that resolved comment off the wall
137
+ *
138
+ * # Example
139
+ * ```ts
140
+ * const [comment] = await snaptrude.core.comment.list()
141
+ * await snaptrude.core.comment.delete(comment)
142
+ * ```
143
+ */
144
+ abstract delete(comment: CommentHandle): PluginApiReturn<boolean>;
145
+ /**
146
+ * List every comment in the project (deleted ones are excluded), returned as
147
+ * comment handles you can pass to the other comment methods.
148
+ *
149
+ * @examplePrompt List all the comments in this project
150
+ * @examplePrompt How many comments are on this model?
151
+ * @examplePrompt Show every note in the file
152
+ * @examplePrompt Get all comments so I can check which are resolved
153
+ *
154
+ * # Example
155
+ * ```ts
156
+ * const comments = await snaptrude.core.comment.list()
157
+ * console.log(`${comments.length} comments in the project`)
158
+ * ```
159
+ */
160
+ abstract list(): PluginApiReturn<CommentHandle[]>;
161
+ /**
162
+ * Read a comment's full detail — its text, author, pin location, resolved
163
+ * state, and reply thread. Comments are otherwise write-only; this is the read
164
+ * side. Pass a top-level comment handle or a reply handle (a reply has an empty
165
+ * `thread`). Returns `null` if the handle doesn't match a live comment.
166
+ *
167
+ * @param comment - The comment (or reply) to read.
168
+ * @returns the {@link PluginCommentDetails}, or `null` if not found.
169
+ *
170
+ * @examplePrompt Read the comment on this wall and tell me what it says
171
+ * @examplePrompt Who left this comment and where is it pinned?
172
+ * @examplePrompt Show me the full thread for this comment
173
+ * @examplePrompt Get the text and author of the selected comment
174
+ *
175
+ * # Example
176
+ * ```ts
177
+ * const [first] = await snaptrude.core.comment.list()
178
+ * const details = await snaptrude.core.comment.get(first)
179
+ * console.log(details?.content, "by", details?.author?.name)
180
+ * console.log(`${details?.thread.length ?? 0} replies`)
181
+ * ```
182
+ */
183
+ abstract get(comment: CommentHandle): PluginApiReturn<PluginCommentDetails | null>;
184
+ /**
185
+ * Reply to a comment — posts a new comment threaded under `comment` (which must
186
+ * be a top-level comment, not itself a reply). Notifies the thread's
187
+ * participants, mirroring the sidebar Reply action.
188
+ *
189
+ * @param comment - The top-level comment to reply to.
190
+ * @param text - The reply text (emojis = plain unicode).
191
+ * @returns the new reply's {@link CommentHandle}.
192
+ *
193
+ * @examplePrompt Reply to this comment saying I fixed the wall height
194
+ * @examplePrompt Add a reply to the review note confirming it's done
195
+ * @examplePrompt Respond to the comment about the door with "looks good now"
196
+ * @examplePrompt Post a follow-up on the selected comment thread
197
+ *
198
+ * # Example
199
+ * ```ts
200
+ * const [thread] = await snaptrude.core.comment.list()
201
+ * const reply = await snaptrude.core.comment.reply(thread, "Fixed 👍")
202
+ * ```
203
+ */
204
+ abstract reply(comment: CommentHandle, text: string): PluginApiReturn<CommentHandle>;
205
+ }
206
+ /**
207
+ * Opaque handle to a comment — its server-assigned id (entity-style: a raw,
208
+ * persistable string resolved live, not a registry-minted value handle).
209
+ */
210
+ export type CommentHandle = string & {
211
+ readonly __handle: "comment";
212
+ };
213
+ export declare const CommentHandle: z.ZodPipe<z.ZodString, z.ZodTransform<CommentHandle, string>>;
214
+ /** `ComponentHandle` is defined in `handles.ts` (imported above) and exported from the
215
+ * package root via `export * from "./handles"`. Not re-exported here to avoid an
216
+ * ambiguous double `export *` at the barrel. */
217
+ /**
218
+ * Arguments for {@link PluginCommentApi.create}.
219
+ *
220
+ * | Property | Type | Description |
221
+ * |---|---|---|
222
+ * | `component` | {@link ComponentHandle}? | Component to anchor the comment to |
223
+ * | `position` | {@link Vec3Handle}? | Pin point; defaults to the component's center |
224
+ * | `message` | `string` | Comment text (emojis = unicode) |
225
+ * | `mentions` | `string[]`? | User emails to @mention |
226
+ */
227
+ export declare const PluginCommentCreateArgs: z.ZodObject<{
228
+ component: z.ZodOptional<z.ZodPipe<z.ZodString, z.ZodTransform<ComponentHandle, string>>>;
229
+ position: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodString>, z.ZodTransform<import("../../..").Handle<"vec3">, string>>>;
230
+ message: z.ZodString;
231
+ mentions: z.ZodOptional<z.ZodArray<z.ZodString>>;
232
+ }, z.core.$strip>;
233
+ export type PluginCommentCreateArgs = z.infer<typeof PluginCommentCreateArgs>;
234
+ /**
235
+ * Arguments for {@link PluginCommentApi.update}.
236
+ *
237
+ * | Property | Type | Description |
238
+ * |---|---|---|
239
+ * | `comment` | {@link CommentHandle} | The comment to edit |
240
+ * | `message` | `string` | New message text |
241
+ * | `mentions` | `string[]`? | User emails to @mention |
242
+ */
243
+ export declare const PluginCommentUpdateArgs: z.ZodObject<{
244
+ comment: z.ZodPipe<z.ZodString, z.ZodTransform<CommentHandle, string>>;
245
+ message: z.ZodString;
246
+ mentions: z.ZodOptional<z.ZodArray<z.ZodString>>;
247
+ }, z.core.$strip>;
248
+ export type PluginCommentUpdateArgs = z.infer<typeof PluginCommentUpdateArgs>;
249
+ /**
250
+ * Arguments for {@link PluginCommentApi.resolve} / {@link PluginCommentApi.reopen}
251
+ * / {@link PluginCommentApi.isResolved} / {@link PluginCommentApi.delete}.
252
+ *
253
+ * | Property | Type | Description |
254
+ * |---|---|---|
255
+ * | `comment` | {@link CommentHandle} | The target comment |
256
+ */
257
+ export declare const PluginCommentRefArgs: z.ZodObject<{
258
+ comment: z.ZodPipe<z.ZodString, z.ZodTransform<CommentHandle, string>>;
259
+ }, z.core.$strip>;
260
+ export type PluginCommentRefArgs = z.infer<typeof PluginCommentRefArgs>;
261
+ /**
262
+ * Arguments for {@link PluginCommentApi.tag}.
263
+ *
264
+ * | Property | Type | Description |
265
+ * |---|---|---|
266
+ * | `comment` | {@link CommentHandle} | The comment to add a mention to |
267
+ * | `email` | `string` | The user's email to @mention |
268
+ */
269
+ export declare const PluginCommentTagArgs: z.ZodObject<{
270
+ comment: z.ZodPipe<z.ZodString, z.ZodTransform<CommentHandle, string>>;
271
+ email: z.ZodString;
272
+ }, z.core.$strip>;
273
+ export type PluginCommentTagArgs = z.infer<typeof PluginCommentTagArgs>;
274
+ /**
275
+ * Arguments for {@link PluginCommentApi.reply}.
276
+ *
277
+ * | Property | Type | Description |
278
+ * |---|---|---|
279
+ * | `comment` | {@link CommentHandle} | The top-level comment to reply to |
280
+ * | `text` | `string` | The reply text (emojis = unicode) |
281
+ */
282
+ export declare const PluginCommentReplyArgs: z.ZodObject<{
283
+ comment: z.ZodPipe<z.ZodString, z.ZodTransform<CommentHandle, string>>;
284
+ text: z.ZodString;
285
+ }, z.core.$strip>;
286
+ export type PluginCommentReplyArgs = z.infer<typeof PluginCommentReplyArgs>;
287
+ /**
288
+ * The author of a comment or reply — the display name and email of the teammate
289
+ * who posted it. `null` on the rare comment with no recorded author.
290
+ */
291
+ export interface PluginCommentAuthor {
292
+ /** The author's display name (falls back to their email). */
293
+ name: string;
294
+ /** The author's email. */
295
+ email: string;
296
+ }
297
+ /**
298
+ * One reply in a comment's thread (returned by {@link PluginCommentApi.get}).
299
+ */
300
+ export interface PluginCommentReply {
301
+ /** The reply's own {@link CommentHandle}. */
302
+ id: CommentHandle;
303
+ /** The reply text. */
304
+ content: string;
305
+ /** Who posted the reply. */
306
+ author: PluginCommentAuthor | null;
307
+ /** ISO-8601 timestamp of when the reply was posted (empty if unknown). */
308
+ createdAt: string;
309
+ }
310
+ /**
311
+ * The read model of a comment — returned by {@link PluginCommentApi.get}. The
312
+ * inverse of {@link PluginCommentApi.create}: `content`/`component`/`position`
313
+ * echo what was posted, plus the resolved state and reply `thread`.
314
+ */
315
+ export interface PluginCommentDetails {
316
+ /** The comment's {@link CommentHandle}. */
317
+ id: CommentHandle;
318
+ /** The comment text. */
319
+ content: string;
320
+ /** Who posted the comment. */
321
+ author: PluginCommentAuthor | null;
322
+ /** The pin point (engine world coordinates), or `null` if un-anchored. */
323
+ position: Vec3Components | null;
324
+ /** The component the comment is anchored to, or `null` if un-anchored. */
325
+ component: ComponentHandle | null;
326
+ /** Whether the comment has been marked resolved. */
327
+ isResolved: boolean;
328
+ /** ISO-8601 timestamp of when the comment was posted (empty if unknown). */
329
+ createdAt: string;
330
+ /** The reply thread, oldest first. Empty for a comment with no replies. */
331
+ thread: PluginCommentReply[];
332
+ }
333
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/comment/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAE9E;;;;;;GAMG;AACH,8BAAsB,gBAAgB;;IAGpC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,MAAM,CACpB,OAAO,EAAE,MAAM,EACf,SAAS,CAAC,EAAE,eAAe,EAC3B,QAAQ,CAAC,EAAE,UAAU,EACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,eAAe,CAAC,aAAa,CAAC;IAEjC;;;;;;;;;;;;;;;;;OAiBG;aACa,MAAM,CACpB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,EAAE,GAClB,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;aACa,OAAO,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;IAEzE;;;;;;;;;;;;;;;OAeG;aACa,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;IAExE;;;;;;;;;;;;;;;;OAgBG;aACa,UAAU,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;IAE5E;;;;;;;;;;;;;;;;OAgBG;aACa,GAAG,CACjB,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,MAAM,GACZ,eAAe,CAAC,OAAO,CAAC;IAE3B;;;;;;;;;;;;;;;OAeG;aACa,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,eAAe,CAAC,OAAO,CAAC;IAExE;;;;;;;;;;;;;;OAcG;aACa,IAAI,IAAI,eAAe,CAAC,aAAa,EAAE,CAAC;IAExD;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,GAAG,CACjB,OAAO,EAAE,aAAa,GACrB,eAAe,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAE/C;;;;;;;;;;;;;;;;;;;OAmBG;aACa,KAAK,CACnB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,MAAM,GACX,eAAe,CAAC,aAAa,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE,SAAS,CAAA;CAAE,CAAA;AACrE,eAAO,MAAM,aAAa,+DAGa,CAAA;AAEvC;;iDAEiD;AAEjD;;;;;;;;;GASG;AACH,eAAO,MAAM,uBAAuB;;;;;iBAKlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;;GAQG;AACH,eAAO,MAAM,uBAAuB;;;;iBAIlC,CAAA;AAEF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,oBAAoB;;;iBAG/B,CAAA;AAEF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE;;;;;;;GAOG;AACH,eAAO,MAAM,sBAAsB;;;iBAGjC,CAAA;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAA;AAE3E;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IAClC,6DAA6D;IAC7D,IAAI,EAAE,MAAM,CAAA;IACZ,0BAA0B;IAC1B,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,6CAA6C;IAC7C,EAAE,EAAE,aAAa,CAAA;IACjB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAA;IACf,4BAA4B;IAC5B,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAClC,0EAA0E;IAC1E,SAAS,EAAE,MAAM,CAAA;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,EAAE,EAAE,aAAa,CAAA;IACjB,wBAAwB;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,8BAA8B;IAC9B,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAAA;IAClC,0EAA0E;IAC1E,QAAQ,EAAE,cAAc,GAAG,IAAI,CAAA;IAC/B,0EAA0E;IAC1E,SAAS,EAAE,eAAe,GAAG,IAAI,CAAA;IACjC,oDAAoD;IACpD,UAAU,EAAE,OAAO,CAAA;IACnB,4EAA4E;IAC5E,SAAS,EAAE,MAAM,CAAA;IACjB,2EAA2E;IAC3E,MAAM,EAAE,kBAAkB,EAAE,CAAA;CAC7B"}