@snaptrude/plugin-core 0.7.1 → 0.9.0

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 (193) hide show
  1. package/CHANGELOG.md +29 -0
  2. package/api-manifest.full.json +7703 -0
  3. package/api-manifest.json +2946 -259
  4. package/dist/api/analysis/daylight.d.ts +603 -0
  5. package/dist/api/analysis/daylight.d.ts.map +1 -0
  6. package/dist/api/analysis/heatmaps.d.ts +438 -14
  7. package/dist/api/analysis/heatmaps.d.ts.map +1 -1
  8. package/dist/api/analysis/index.d.ts +15 -0
  9. package/dist/api/analysis/index.d.ts.map +1 -1
  10. package/dist/api/analysis/solar.d.ts +249 -0
  11. package/dist/api/analysis/solar.d.ts.map +1 -0
  12. package/dist/api/analysis/weather.d.ts +193 -0
  13. package/dist/api/analysis/weather.d.ts.map +1 -0
  14. package/dist/api/core/camera/index.d.ts +245 -0
  15. package/dist/api/core/camera/index.d.ts.map +1 -0
  16. package/dist/api/core/comment/index.d.ts +105 -2
  17. package/dist/api/core/comment/index.d.ts.map +1 -1
  18. package/dist/api/core/geom/create/index.d.ts +331 -14
  19. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  20. package/dist/api/core/geom/delete/index.d.ts +8 -2
  21. package/dist/api/core/geom/delete/index.d.ts.map +1 -1
  22. package/dist/api/core/geom/query/arc.d.ts +5 -5
  23. package/dist/api/core/geom/query/brep.d.ts +18 -18
  24. package/dist/api/core/geom/query/circle.d.ts +18 -18
  25. package/dist/api/core/geom/query/contour.d.ts +20 -20
  26. package/dist/api/core/geom/query/curve.d.ts +49 -49
  27. package/dist/api/core/geom/query/edge.d.ts +5 -5
  28. package/dist/api/core/geom/query/face.d.ts +16 -16
  29. package/dist/api/core/geom/query/halfedge.d.ts +8 -8
  30. package/dist/api/core/geom/query/profile.d.ts +19 -19
  31. package/dist/api/core/geom/query/vertex.d.ts +8 -8
  32. package/dist/api/core/geom/update/contour.d.ts +14 -14
  33. package/dist/api/core/geom/update/curve.d.ts +7 -7
  34. package/dist/api/core/geom/update/profile.d.ts +16 -16
  35. package/dist/api/core/handles/index.d.ts +210 -0
  36. package/dist/api/core/handles/index.d.ts.map +1 -0
  37. package/dist/api/core/index.d.ts +24 -0
  38. package/dist/api/core/index.d.ts.map +1 -1
  39. package/dist/api/core/io/export/index.d.ts +134 -0
  40. package/dist/api/core/io/export/index.d.ts.map +1 -0
  41. package/dist/api/core/io/import/index.d.ts +62 -1
  42. package/dist/api/core/io/import/index.d.ts.map +1 -1
  43. package/dist/api/core/io/index.d.ts +5 -0
  44. package/dist/api/core/io/index.d.ts.map +1 -1
  45. package/dist/api/core/layers.d.ts +7 -7
  46. package/dist/api/core/mode/index.d.ts +99 -0
  47. package/dist/api/core/mode/index.d.ts.map +1 -0
  48. package/dist/api/core/proposals/index.d.ts +65 -9
  49. package/dist/api/core/proposals/index.d.ts.map +1 -1
  50. package/dist/api/core/storeys/index.d.ts +251 -0
  51. package/dist/api/core/storeys/index.d.ts.map +1 -0
  52. package/dist/api/core/tags.d.ts +24 -0
  53. package/dist/api/core/tags.d.ts.map +1 -1
  54. package/dist/api/core/user.d.ts +44 -0
  55. package/dist/api/core/user.d.ts.map +1 -0
  56. package/dist/api/core/zoom/index.d.ts +4 -0
  57. package/dist/api/core/zoom/index.d.ts.map +1 -1
  58. package/dist/api/design/boolean/index.d.ts +4 -4
  59. package/dist/api/design/create/index.d.ts +253 -47
  60. package/dist/api/design/create/index.d.ts.map +1 -1
  61. package/dist/api/design/delete/index.d.ts +3 -0
  62. package/dist/api/design/delete/index.d.ts.map +1 -1
  63. package/dist/api/design/doors/index.d.ts +36 -0
  64. package/dist/api/design/doors/index.d.ts.map +1 -1
  65. package/dist/api/design/edit/index.d.ts +1 -1
  66. package/dist/api/design/erase/index.d.ts +2 -2
  67. package/dist/api/design/furniture/index.d.ts +114 -3
  68. package/dist/api/design/furniture/index.d.ts.map +1 -1
  69. package/dist/api/design/index.d.ts +10 -0
  70. package/dist/api/design/index.d.ts.map +1 -1
  71. package/dist/api/design/materials/index.d.ts +111 -14
  72. package/dist/api/design/materials/index.d.ts.map +1 -1
  73. package/dist/api/design/query/geometry/index.d.ts +112 -0
  74. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  75. package/dist/api/design/query/index.d.ts +35 -1
  76. package/dist/api/design/query/index.d.ts.map +1 -1
  77. package/dist/api/design/query/referenceLines.d.ts +45 -0
  78. package/dist/api/design/query/referenceLines.d.ts.map +1 -0
  79. package/dist/api/design/query/spaces.d.ts +178 -5
  80. package/dist/api/design/query/spaces.d.ts.map +1 -1
  81. package/dist/api/design/transform/index.d.ts +95 -14
  82. package/dist/api/design/transform/index.d.ts.map +1 -1
  83. package/dist/api/design/types/index.d.ts +181 -0
  84. package/dist/api/design/types/index.d.ts.map +1 -0
  85. package/dist/api/design/update/index.d.ts +385 -2
  86. package/dist/api/design/update/index.d.ts.map +1 -1
  87. package/dist/api/design/visibility.d.ts +98 -0
  88. package/dist/api/design/visibility.d.ts.map +1 -0
  89. package/dist/api/entity/buildableEnvelope.d.ts +4 -0
  90. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  91. package/dist/api/entity/referenceLine.d.ts +10 -2
  92. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  93. package/dist/api/entity/space.d.ts +19 -19
  94. package/dist/api/entity/story.d.ts +148 -15
  95. package/dist/api/entity/story.d.ts.map +1 -1
  96. package/dist/api/index.d.ts +5 -0
  97. package/dist/api/index.d.ts.map +1 -1
  98. package/dist/api/presentation/annotate.d.ts +448 -0
  99. package/dist/api/presentation/annotate.d.ts.map +1 -0
  100. package/dist/api/presentation/diagrams.d.ts +49 -8
  101. package/dist/api/presentation/diagrams.d.ts.map +1 -1
  102. package/dist/api/presentation/export.d.ts +108 -0
  103. package/dist/api/presentation/export.d.ts.map +1 -0
  104. package/dist/api/presentation/import.d.ts +6 -0
  105. package/dist/api/presentation/import.d.ts.map +1 -1
  106. package/dist/api/presentation/index.d.ts +47 -0
  107. package/dist/api/presentation/index.d.ts.map +1 -1
  108. package/dist/api/presentation/placedViews.d.ts +370 -0
  109. package/dist/api/presentation/placedViews.d.ts.map +1 -0
  110. package/dist/api/presentation/shapes.d.ts +481 -0
  111. package/dist/api/presentation/shapes.d.ts.map +1 -0
  112. package/dist/api/presentation/sheets.d.ts +410 -13
  113. package/dist/api/presentation/sheets.d.ts.map +1 -1
  114. package/dist/api/presentation/views.d.ts +165 -10
  115. package/dist/api/presentation/views.d.ts.map +1 -1
  116. package/dist/api/program/areas.d.ts +63 -3
  117. package/dist/api/program/areas.d.ts.map +1 -1
  118. package/dist/api/program/cores.d.ts +3 -99
  119. package/dist/api/program/cores.d.ts.map +1 -1
  120. package/dist/api/program/index.d.ts +2 -2
  121. package/dist/api/program/index.d.ts.map +1 -1
  122. package/dist/api/program/layout.d.ts +172 -12
  123. package/dist/api/program/layout.d.ts.map +1 -1
  124. package/dist/api/program/site.d.ts +105 -8
  125. package/dist/api/program/site.d.ts.map +1 -1
  126. package/dist/api/program/spreadsheet.d.ts +365 -41
  127. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  128. package/dist/api/workspace/index.d.ts +460 -0
  129. package/dist/api/workspace/index.d.ts.map +1 -0
  130. package/dist/handles.d.ts +64 -25
  131. package/dist/handles.d.ts.map +1 -1
  132. package/dist/index.cjs +3210 -1671
  133. package/dist/index.cjs.map +1 -1
  134. package/dist/index.js +3008 -1666
  135. package/dist/index.js.map +1 -1
  136. package/package.json +3 -2
  137. package/scripts/generate-manifest.mjs +45 -0
  138. package/src/api/analysis/daylight.ts +470 -0
  139. package/src/api/analysis/heatmaps.ts +444 -17
  140. package/src/api/analysis/index.ts +15 -0
  141. package/src/api/analysis/solar.ts +237 -0
  142. package/src/api/analysis/weather.ts +179 -0
  143. package/src/api/core/camera/index.ts +251 -0
  144. package/src/api/core/comment/index.ts +120 -2
  145. package/src/api/core/geom/create/index.ts +344 -1
  146. package/src/api/core/geom/delete/index.ts +6 -0
  147. package/src/api/core/handles/index.ts +233 -0
  148. package/src/api/core/index.ts +24 -0
  149. package/src/api/core/io/export/index.ts +126 -0
  150. package/src/api/core/io/import/index.ts +64 -0
  151. package/src/api/core/io/index.ts +5 -0
  152. package/src/api/core/mode/index.ts +96 -0
  153. package/src/api/core/proposals/index.ts +71 -11
  154. package/src/api/core/storeys/index.ts +279 -0
  155. package/src/api/core/tags.ts +27 -0
  156. package/src/api/core/user.ts +46 -0
  157. package/src/api/core/zoom/index.ts +4 -0
  158. package/src/api/design/create/index.ts +303 -36
  159. package/src/api/design/delete/index.ts +3 -0
  160. package/src/api/design/doors/index.ts +40 -0
  161. package/src/api/design/furniture/index.ts +127 -3
  162. package/src/api/design/index.ts +10 -0
  163. package/src/api/design/materials/index.ts +157 -30
  164. package/src/api/design/query/geometry/index.ts +125 -3
  165. package/src/api/design/query/index.ts +37 -7
  166. package/src/api/design/query/referenceLines.ts +52 -0
  167. package/src/api/design/query/spaces.ts +143 -0
  168. package/src/api/design/transform/index.ts +101 -12
  169. package/src/api/design/types/index.ts +156 -0
  170. package/src/api/design/update/index.ts +467 -6
  171. package/src/api/design/visibility.ts +109 -0
  172. package/src/api/entity/buildableEnvelope.ts +4 -0
  173. package/src/api/entity/referenceLine.ts +8 -0
  174. package/src/api/entity/story.ts +161 -15
  175. package/src/api/index.ts +5 -0
  176. package/src/api/presentation/annotate.ts +360 -0
  177. package/src/api/presentation/diagrams.ts +53 -8
  178. package/src/api/presentation/export.ts +108 -0
  179. package/src/api/presentation/import.ts +6 -0
  180. package/src/api/presentation/index.ts +55 -0
  181. package/src/api/presentation/placedViews.ts +363 -0
  182. package/src/api/presentation/shapes.ts +274 -0
  183. package/src/api/presentation/sheets.ts +346 -13
  184. package/src/api/presentation/views.ts +164 -12
  185. package/src/api/program/areas.ts +57 -6
  186. package/src/api/program/cores.ts +3 -91
  187. package/src/api/program/index.ts +2 -2
  188. package/src/api/program/layout.ts +182 -12
  189. package/src/api/program/site.ts +106 -8
  190. package/src/api/program/spreadsheet.ts +376 -35
  191. package/src/api/workspace/index.ts +516 -0
  192. package/src/handles.ts +77 -13
  193. package/tsconfig.json +7 -2
@@ -3,6 +3,7 @@ import { PluginCoreIoJobApi } from "./job";
3
3
  import { PluginCoreIoUnderlayApi } from "./underlay";
4
4
  import { PluginCoreIoTerrainApi } from "./terrain";
5
5
  import { PluginCoreIoQueryApi } from "./query";
6
+ import { PluginCoreIoExportApi } from "./export";
6
7
  /**
7
8
  * I/O — bring external files into the project and manage what was imported.
8
9
  *
@@ -11,6 +12,7 @@ import { PluginCoreIoQueryApi } from "./query";
11
12
  * - {@linkcode PluginCoreIoApi.job} — poll long-running async imports (e.g. DWG)
12
13
  * - {@linkcode PluginCoreIoApi.underlay} — inspect/scale/opacity/delete placed underlays
13
14
  * - {@linkcode PluginCoreIoApi.terrain} — inspect/edit the site terrain (datum, layers, delete)
15
+ * - {@linkcode PluginCoreIoApi.export} — serialize the model to glb/obj (base64 bytes)
14
16
  *
15
17
  * Accessed via `snaptrude.core.io`.
16
18
  */
@@ -25,6 +27,8 @@ export declare abstract class PluginCoreIoApi {
25
27
  abstract underlay: PluginCoreIoUnderlayApi;
26
28
  /** Inspect and manage the site terrain. See {@linkcode PluginCoreIoTerrainApi}. */
27
29
  abstract terrain: PluginCoreIoTerrainApi;
30
+ /** Serialize the model to a downloadable 3D file. See {@linkcode PluginCoreIoExportApi}. */
31
+ abstract export: PluginCoreIoExportApi;
28
32
  constructor();
29
33
  }
30
34
  export * from "./import";
@@ -32,4 +36,5 @@ export * from "./job";
32
36
  export * from "./underlay";
33
37
  export * from "./terrain";
34
38
  export * from "./query";
39
+ export * from "./export";
35
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAE9C;;;;;;;;;;GAUG;AACH,8BAAsB,eAAe;IACnC,mFAAmF;IACnF,SAAgB,MAAM,EAAE,qBAAqB,CAAA;IAC7C,gFAAgF;IAChF,SAAgB,KAAK,EAAE,oBAAoB,CAAA;IAC3C,yEAAyE;IACzE,SAAgB,GAAG,EAAE,kBAAkB,CAAA;IACvC,kFAAkF;IAClF,SAAgB,QAAQ,EAAE,uBAAuB,CAAA;IACjD,mFAAmF;IACnF,SAAgB,OAAO,EAAE,sBAAsB,CAAA;;CAGhD;AAED,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/io/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,OAAO,CAAA;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAA;AACpD,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAA;AAClD,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAA;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEhD;;;;;;;;;;;GAWG;AACH,8BAAsB,eAAe;IACnC,mFAAmF;IACnF,SAAgB,MAAM,EAAE,qBAAqB,CAAA;IAC7C,gFAAgF;IAChF,SAAgB,KAAK,EAAE,oBAAoB,CAAA;IAC3C,yEAAyE;IACzE,SAAgB,GAAG,EAAE,kBAAkB,CAAA;IACvC,kFAAkF;IAClF,SAAgB,QAAQ,EAAE,uBAAuB,CAAA;IACjD,mFAAmF;IACnF,SAAgB,OAAO,EAAE,sBAAsB,CAAA;IAC/C,4FAA4F;IAC5F,SAAgB,MAAM,EAAE,qBAAqB,CAAA;;CAG9C;AAED,cAAc,UAAU,CAAA;AACxB,cAAc,OAAO,CAAA;AACrB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AACzB,cAAc,SAAS,CAAA;AACvB,cAAc,UAAU,CAAA"}
@@ -134,8 +134,8 @@ export declare abstract class PluginCoreLayersApi {
134
134
  * read-only imported underlays (`image`, `cad`, `pdf`, `terrain`, `buildings`).
135
135
  */
136
136
  export declare const PluginCoreLayerType: z.ZodEnum<{
137
- terrain: "terrain";
138
137
  default: "default";
138
+ terrain: "terrain";
139
139
  buildings: "buildings";
140
140
  floor: "floor";
141
141
  wall: "wall";
@@ -172,8 +172,8 @@ export declare const PluginCoreLayer: z.ZodObject<{
172
172
  id: z.ZodString;
173
173
  name: z.ZodString;
174
174
  layerType: z.ZodEnum<{
175
- terrain: "terrain";
176
175
  default: "default";
176
+ terrain: "terrain";
177
177
  buildings: "buildings";
178
178
  floor: "floor";
179
179
  wall: "wall";
@@ -205,8 +205,8 @@ export type PluginCoreLayer = z.infer<typeof PluginCoreLayer>;
205
205
  export declare const PluginCoreLayersListArgs: z.ZodObject<{
206
206
  storeyId: z.ZodString;
207
207
  layerType: z.ZodOptional<z.ZodEnum<{
208
- terrain: "terrain";
209
208
  default: "default";
209
+ terrain: "terrain";
210
210
  buildings: "buildings";
211
211
  floor: "floor";
212
212
  wall: "wall";
@@ -230,8 +230,8 @@ export declare const PluginCoreLayersListResult: z.ZodObject<{
230
230
  id: z.ZodString;
231
231
  name: z.ZodString;
232
232
  layerType: z.ZodEnum<{
233
- terrain: "terrain";
234
233
  default: "default";
234
+ terrain: "terrain";
235
235
  buildings: "buildings";
236
236
  floor: "floor";
237
237
  wall: "wall";
@@ -272,8 +272,8 @@ export declare const PluginCoreLayersGetResult: z.ZodNullable<z.ZodObject<{
272
272
  id: z.ZodString;
273
273
  name: z.ZodString;
274
274
  layerType: z.ZodEnum<{
275
- terrain: "terrain";
276
275
  default: "default";
276
+ terrain: "terrain";
277
277
  buildings: "buildings";
278
278
  floor: "floor";
279
279
  wall: "wall";
@@ -313,8 +313,8 @@ export declare const PluginCoreLayersGetActiveResult: z.ZodNullable<z.ZodObject<
313
313
  id: z.ZodString;
314
314
  name: z.ZodString;
315
315
  layerType: z.ZodEnum<{
316
- terrain: "terrain";
317
316
  default: "default";
317
+ terrain: "terrain";
318
318
  buildings: "buildings";
319
319
  floor: "floor";
320
320
  wall: "wall";
@@ -377,8 +377,8 @@ export declare const PluginCoreLayersUpdateResult: z.ZodObject<{
377
377
  id: z.ZodString;
378
378
  name: z.ZodString;
379
379
  layerType: z.ZodEnum<{
380
- terrain: "terrain";
381
380
  default: "default";
381
+ terrain: "terrain";
382
382
  buildings: "buildings";
383
383
  floor: "floor";
384
384
  wall: "wall";
@@ -0,0 +1,99 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ /**
4
+ * The editor's top-bar application modes — the tabs a user switches between
5
+ * while working on a project.
6
+ */
7
+ export declare const PluginAppMode: z.ZodEnum<{
8
+ design: "design";
9
+ bim: "bim";
10
+ present: "present";
11
+ program: "program";
12
+ }>;
13
+ export type PluginAppMode = z.infer<typeof PluginAppMode>;
14
+ export declare const PluginCoreModeSetArgs: z.ZodObject<{
15
+ mode: z.ZodEnum<{
16
+ design: "design";
17
+ bim: "bim";
18
+ present: "present";
19
+ program: "program";
20
+ }>;
21
+ }, z.core.$strip>;
22
+ export type PluginCoreModeSetArgs = z.infer<typeof PluginCoreModeSetArgs>;
23
+ export interface PluginCoreModeListResult {
24
+ modes: PluginAppMode[];
25
+ }
26
+ export interface PluginCoreModeSetResult {
27
+ mode: PluginAppMode;
28
+ }
29
+ /**
30
+ * Application-mode control — read and switch the editor's top-bar mode
31
+ * (Design, BIM, Present, Program), the same tabs a user clicks in the
32
+ * top menu bar. Accessed via `snaptrude.core.mode`.
33
+ *
34
+ * Not to be confused with the viewport's 2D/3D camera mode
35
+ * (`core.camera.setMode`) or saved presentation views (`presentation.views`).
36
+ *
37
+ * `set` covers `design`, `bim`, and `present` — in-page switches.
38
+ * `program` opens in its own browser tab in the product, which a plugin worker
39
+ * cannot do, so `set("program")` fails with `PRECONDITION_FAILED`; `get()`
40
+ * still reports `"program"` for code running in the Program tab.
41
+ */
42
+ export declare abstract class PluginCoreModeApi {
43
+ constructor();
44
+ /**
45
+ * List every application mode the editor has.
46
+ *
47
+ * @returns The full set of mode tokens accepted by {@linkcode get} / {@linkcode set}.
48
+ *
49
+ * @examplePrompt What modes does Snaptrude have?
50
+ * @examplePrompt List the editor modes I can switch to
51
+ *
52
+ * # Example
53
+ * ```ts
54
+ * const { modes } = await snaptrude.core.mode.list()
55
+ * // ["design", "bim", "present", "program"]
56
+ * ```
57
+ */
58
+ abstract list(): PluginApiReturn<PluginCoreModeListResult>;
59
+ /**
60
+ * Get the currently active application mode.
61
+ *
62
+ * @returns The active mode token (e.g. `"design"`).
63
+ *
64
+ * @examplePrompt Which mode am I in right now?
65
+ * @examplePrompt Am I in present mode?
66
+ * @examplePrompt Check whether the editor is in BIM mode
67
+ *
68
+ * # Example
69
+ * ```ts
70
+ * const mode = await snaptrude.core.mode.get()
71
+ * if (mode !== "present") await snaptrude.core.mode.set("present")
72
+ * ```
73
+ */
74
+ abstract get(): PluginApiReturn<PluginAppMode>;
75
+ /**
76
+ * Switch the editor to another application mode — the same action as
77
+ * clicking that tab in the top menu bar.
78
+ *
79
+ * Supported: `"design"`, `"bim"`, `"present"`. Switching to
80
+ * `"program"` is rejected with `PRECONDITION_FAILED` (the Program surface
81
+ * opens in its own browser tab in the product; a plugin cannot open one).
82
+ *
83
+ * @param mode - Target mode token from {@linkcode PluginAppMode}
84
+ * @returns The committed `{ mode }` after the switch.
85
+ *
86
+ * @examplePrompt Switch to present mode
87
+ * @examplePrompt Open BIM mode
88
+ * @examplePrompt Go back to design mode
89
+ *
90
+ * # Example
91
+ * ```ts
92
+ * await snaptrude.core.mode.set("present")
93
+ * // ... presentation work ...
94
+ * await snaptrude.core.mode.set("design")
95
+ * ```
96
+ */
97
+ abstract set(mode: PluginAppMode): PluginApiReturn<PluginCoreModeSetResult>;
98
+ }
99
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/mode/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;GAGG;AACH,eAAO,MAAM,aAAa;;;;;EAAkD,CAAA;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAA;AAEzD,eAAO,MAAM,qBAAqB;;;;;;;iBAEhC,CAAA;AACF,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAA;AAEzE,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,aAAa,EAAE,CAAA;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,aAAa,CAAA;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,8BAAsB,iBAAiB;;IAGrC;;;;;;;;;;;;;OAaG;aACa,IAAI,IAAI,eAAe,CAAC,wBAAwB,CAAC;IAEjE;;;;;;;;;;;;;;OAcG;aACa,GAAG,IAAI,eAAe,CAAC,aAAa,CAAC;IAErD;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,GAAG,CAAC,IAAI,EAAE,aAAa,GAAG,eAAe,CAAC,uBAAuB,CAAC;CACnF"}
@@ -125,29 +125,71 @@ export declare abstract class PluginCoreProposalsApi {
125
125
  */
126
126
  abstract isActive(proposalId: string): PluginApiReturn<boolean>;
127
127
  /**
128
- * Create a new design option (proposal).
128
+ * Create a new design option (proposal) — blank, or configured from a base
129
+ * proposal (the New Proposal modal's two paths).
129
130
  *
130
131
  * **Pro-gated** (creating proposals requires a Pro plan, matching the UI) and
131
- * **not undoable**. Creates a bare proposal with a single empty default
132
- * bucket — it does **not** carry forward the current proposal's layers, views,
133
- * or targets. The name is capped at 24 characters.
132
+ * **not undoable**. The name is capped at 24 characters.
133
+ *
134
+ * **Blank** (no `options`) creates a bare proposal with a single empty
135
+ * default bucket; it does **not** carry forward the current proposal's
136
+ * layers, views, or targets, and the active proposal does **not** change.
137
+ *
138
+ * **Configured** (`options.baseProposalId`) — the modal's Configure path:
139
+ * carries the base proposal's buckets (layers) forward per `options.layers`,
140
+ * where each entry names a bucket of the base proposal and an action —
141
+ * `"share"` (the new proposal references the same live bucket) or
142
+ * `"duplicate"` (an independent copy of the bucket and its contents).
143
+ * Buckets not listed are left behind. Omitting `layers` carries **every**
144
+ * base bucket forward as a `"duplicate"` (the modal's default). The base
145
+ * proposal's views and area targets are copied either way, and the new
146
+ * proposal becomes the **active** one (implicit switch — blocked with
147
+ * `PROPOSAL_SWITCH_BLOCKED` while an in-canvas agent run is in flight, like
148
+ * {@linkcode PluginCoreProposalsApi.setActive}).
134
149
  *
135
150
  * @param name - Display name of the new proposal (capped at 24 chars).
151
+ * @param options - Optional configure path: `baseProposalId` (the proposal to
152
+ * carry forward from) and `layers` (per-bucket `"share"` / `"duplicate"`
153
+ * actions; omitted buckets are excluded, omitted `layers` duplicates all).
136
154
  * @returns The new proposal's id (read the full record back with
137
155
  * {@linkcode PluginCoreProposalsApi.get}).
138
- * @throws If the caller is not on a Pro plan, or the proposal could not be
139
- * created.
156
+ * @throws If the caller is not on a Pro plan, the name is empty/duplicate,
157
+ * `layers` is passed without `baseProposalId`, the base proposal or a
158
+ * listed bucket does not exist / does not belong to the base proposal, or
159
+ * (configured only) `PROPOSAL_SWITCH_BLOCKED` while a canvas-agent run is
160
+ * in flight.
140
161
  *
141
162
  * @examplePrompt Create a design option called Scheme B
142
163
  * @examplePrompt Add a new proposal named Option 2
143
- * @examplePrompt Make a fresh design variant to explore
164
+ * @examplePrompt Duplicate the current proposal as Scheme C
165
+ * @examplePrompt Create a design option based on Proposal 1 that shares its site layer
144
166
  *
145
167
  * # Example
146
168
  * ```ts
169
+ * // blank design option
147
170
  * const { id } = await snaptrude.core.proposals.create("Scheme B")
171
+ *
172
+ * // configured from the active proposal: duplicate every layer
173
+ * const base = await snaptrude.core.proposals.getActive()
174
+ * if (base) {
175
+ * const { id: dup } = await snaptrude.core.proposals.create("Scheme C", {
176
+ * baseProposalId: base.id,
177
+ * })
178
+ * // …or share one layer and leave the rest behind
179
+ * const { id: shared } = await snaptrude.core.proposals.create("Scheme D", {
180
+ * baseProposalId: base.id,
181
+ * layers: [{ bucketId: base.defaultBucketId, action: "share" }],
182
+ * })
183
+ * }
148
184
  * ```
149
185
  */
150
- abstract create(name: string): PluginApiReturn<PluginCoreProposalsCreateResult>;
186
+ abstract create(name: string, options?: {
187
+ baseProposalId: string;
188
+ layers?: {
189
+ bucketId: string;
190
+ action: "share" | "duplicate";
191
+ }[];
192
+ }): PluginApiReturn<PluginCoreProposalsCreateResult>;
151
193
  /**
152
194
  * Rename a proposal.
153
195
  *
@@ -374,14 +416,28 @@ export declare const PluginCoreProposalsIsActiveArgs: z.ZodObject<{
374
416
  }, z.core.$strip>;
375
417
  export type PluginCoreProposalsIsActiveArgs = z.infer<typeof PluginCoreProposalsIsActiveArgs>;
376
418
  /**
377
- * Arguments for {@linkcode PluginCoreProposalsApi.create}.
419
+ * Arguments for {@linkcode PluginCoreProposalsApi.create}. A bare `name` makes
420
+ * a blank proposal; `baseProposalId` switches to the configured (carry-forward)
421
+ * path. `layers` requires `baseProposalId` — each entry names a bucket of the
422
+ * base proposal; omitted buckets are excluded, and omitting `layers` entirely
423
+ * duplicates every base bucket.
378
424
  *
379
425
  * | Property | Type | Description |
380
426
  * |---|---|---|
381
427
  * | `name` | `string` | Display name of the new proposal (capped at 24 chars) |
428
+ * | `baseProposalId` | `string \| undefined` | Proposal to carry forward from (configured path) |
429
+ * | `layers` | `{ bucketId: string; action: "share" \| "duplicate" }[] \| undefined` | Per-bucket carry-forward actions (requires `baseProposalId`) |
382
430
  */
383
431
  export declare const PluginCoreProposalsCreateArgs: z.ZodObject<{
384
432
  name: z.ZodString;
433
+ baseProposalId: z.ZodOptional<z.ZodString>;
434
+ layers: z.ZodOptional<z.ZodArray<z.ZodObject<{
435
+ bucketId: z.ZodString;
436
+ action: z.ZodEnum<{
437
+ share: "share";
438
+ duplicate: "duplicate";
439
+ }>;
440
+ }, z.core.$strip>>>;
385
441
  }, z.core.$strip>;
386
442
  export type PluginCoreProposalsCreateArgs = z.infer<typeof PluginCoreProposalsCreateArgs>;
387
443
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/proposals/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/proposals/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,251 @@
1
+ import * as z from "zod";
2
+ import { PluginApiReturn } from "../../../types";
3
+ import { ComponentHandle } from "../../../handles";
4
+ import { PluginStoryGetProperty, PluginStoryGetResult, PluginStoryCreateResult, PluginStoryUpdateResult, PluginStorySetActiveResult, PluginStoryDeleteResult, PluginStoryDuplicateResult } from "../../entity/story";
5
+ /**
6
+ * Storey (floor) management.
7
+ *
8
+ * A storey represents a building floor in the Snaptrude project. Storeys are
9
+ * identified by their integer **storey value** (e.g. `1` for the ground floor,
10
+ * `2` for the first floor, `-1` for a basement).
11
+ *
12
+ * This is the canonical home for storey operations; it shares its implementation
13
+ * and schemas with the deprecated `entity.story` surface. All methods are **host
14
+ * API calls** that return Promises and support undo/redo via Snaptrude's command
15
+ * system (except {@linkcode PluginCoreStoreysApi.setActive}, a view change).
16
+ *
17
+ * Accessed via `snaptrude.core.storeys`.
18
+ */
19
+ export declare abstract class PluginCoreStoreysApi {
20
+ constructor();
21
+ /**
22
+ * Get properties of a storey by its storey number.
23
+ *
24
+ * Only the properties listed in `properties` are returned — unlisted
25
+ * properties will be `undefined` in the result.
26
+ *
27
+ * @param storyValue - Integer storey number
28
+ * (e.g. `1` for ground floor, `2` for first floor, `-1` for basement)
29
+ * @param properties - Array of property names to retrieve. See
30
+ * {@linkcode PluginStoryGetProperty} for available values.
31
+ * @returns A partial {@linkcode PluginStoryGetResult} containing only the requested properties
32
+ * @throws If the storey with the given value does not exist
33
+ *
34
+ * @examplePrompt What is the height of the ground floor?
35
+ * @examplePrompt How many rooms are on the second storey?
36
+ * @examplePrompt Get the total floor area of level 3
37
+ * @examplePrompt Is the first floor hidden in the viewport?
38
+ * @examplePrompt Show me the name and height of storey 2
39
+ *
40
+ * # Example
41
+ * ```ts
42
+ * const info = await snaptrude.core.storeys.get(1, ["height", "name", "spacesCount"])
43
+ * console.log(info.name, info.height, info.spacesCount)
44
+ * ```
45
+ */
46
+ abstract get(storyValue: number, properties: PluginStoryGetProperty[]): PluginApiReturn<PluginStoryGetResult>;
47
+ /**
48
+ * List all storeys in the current project.
49
+ *
50
+ * Returns basic identification data for every storey. Storeys are sorted
51
+ * from **top to bottom** (highest storey value first).
52
+ *
53
+ * @returns A {@linkcode PluginCoreStoreysListResult} with a `storeys` array,
54
+ * each entry containing `value`, `id`, and `name`
55
+ *
56
+ * @examplePrompt How many floors does this building have?
57
+ * @examplePrompt List all the storeys in the project
58
+ * @examplePrompt Show me every level with its name
59
+ * @examplePrompt Which storeys exist in this model?
60
+ *
61
+ * # Example
62
+ * ```ts
63
+ * const { storeys } = await snaptrude.core.storeys.list()
64
+ * for (const s of storeys) {
65
+ * console.log(`Storey ${s.value}: ${s.name} (id: ${s.id})`)
66
+ * }
67
+ * ```
68
+ */
69
+ abstract list(): PluginApiReturn<PluginCoreStoreysListResult>;
70
+ /**
71
+ * Create a new storey (floor) in the project.
72
+ *
73
+ * The new storey is inserted at the position specified by `storyValue`. This
74
+ * operation is undoable.
75
+ *
76
+ * @param storyValue - Integer storey number
77
+ * to create (e.g. `3` to add a third floor)
78
+ * @param height - Optional height in Babylon
79
+ * units. If omitted, the project's default storey height is used.
80
+ * @returns A {@linkcode PluginStoryCreateResult} with `storyId` and `storyValue`
81
+ * @throws If a storey with the given value already exists or creation fails
82
+ *
83
+ * @examplePrompt Add a third floor to the building
84
+ * @examplePrompt Create a new storey above the second floor
85
+ * @examplePrompt Add a basement level to this project
86
+ * @examplePrompt Insert a new level with a custom floor height
87
+ *
88
+ * # Example
89
+ * ```ts
90
+ * // Create a new third floor with custom height
91
+ * const { storyId } = await snaptrude.core.storeys.create(3, 4.5)
92
+ * ```
93
+ */
94
+ abstract create(storyValue: number, height?: number): PluginApiReturn<PluginStoryCreateResult>;
95
+ /**
96
+ * Update a storey's floor-to-floor `height` and/or `name`.
97
+ *
98
+ * **Height** is the same operation as editing the height in the Storeys panel:
99
+ * the walls, columns, and masses on the storey are **stretched** to the new
100
+ * height, every storey **above shifts up/down** by the delta so the stack stays
101
+ * contiguous, and coupled elements (staircases, parametric curtain walls,
102
+ * furniture offsets) are re-fitted. The whole height cascade is committed as
103
+ * **one undo step**. Height-locked elements are left untouched.
104
+ *
105
+ * **Name** is the same as renaming the storey in the Storeys panel: it is
106
+ * persisted immediately but, mirroring the panel, is **not** part of the height
107
+ * undo step.
108
+ *
109
+ * At least one of `height` or `options.name` must be supplied. Omitting the
110
+ * `height` argument (e.g. for a rename-only update) leaves the height untouched.
111
+ *
112
+ * @param storyValue - Integer storey number identifying the storey to update
113
+ * @param height - New floor-to-floor height in
114
+ * Babylon units. Omit to leave the height unchanged.
115
+ * @param options - `name` (new display name for the storey)
116
+ * @returns A {@linkcode PluginStoryUpdateResult} with the storey's
117
+ * `storyValue`, `height`, and `name` after the update
118
+ * @throws `PRECONDITION_FAILED` if no storey has the given value;
119
+ * `VALIDATION` if neither `height` nor `options.name` is supplied;
120
+ * `STORY_HEIGHT_REJECTED` if the engine rejects the height;
121
+ * `STORY_UPDATE_FAILED` if the storey cannot be re-read after the update
122
+ *
123
+ * @examplePrompt Change the ground floor height to 3.5 metres
124
+ * @examplePrompt Make the second storey taller
125
+ * @examplePrompt Rename the ground floor to "Lobby"
126
+ * @examplePrompt Set the floor-to-floor height of level 1
127
+ *
128
+ * # Example
129
+ * ```ts
130
+ * // Set ground floor height to 5 Babylon units — walls stretch and the
131
+ * // floors above move up to match, all in a single undo step.
132
+ * const result = await snaptrude.core.storeys.update(1, 5)
133
+ * // Rename only, leaving the height untouched.
134
+ * await snaptrude.core.storeys.update(1, undefined, { name: "Lobby" })
135
+ * ```
136
+ */
137
+ abstract update(storyValue: number, height?: number, options?: {
138
+ name?: string;
139
+ }): PluginApiReturn<PluginStoryUpdateResult>;
140
+ /**
141
+ * Make a storey the active storey — the same as clicking it in the storey/layer
142
+ * panel. Subsequent draws and creates target this storey, and in 2D the
143
+ * viewport switches to it. This is a view/navigation change: it is **not**
144
+ * undoable and commits nothing to the model.
145
+ *
146
+ * @param storyValue - Integer storey number to activate
147
+ * @returns A {@linkcode PluginStorySetActiveResult} echoing the now-active `storyValue`
148
+ * @throws `PRECONDITION_FAILED` if no storey has the given value
149
+ *
150
+ * @examplePrompt Switch to the second floor
151
+ * @examplePrompt Make the ground storey active
152
+ * @examplePrompt Go to the basement level
153
+ * @examplePrompt Set level 3 as the current storey
154
+ *
155
+ * # Example
156
+ * ```ts
157
+ * // Activate storey 2, then draw a wall — it lands on storey 2.
158
+ * await snaptrude.core.storeys.setActive(2)
159
+ * ```
160
+ */
161
+ abstract setActive(storyValue: number): PluginApiReturn<PluginStorySetActiveResult>;
162
+ /**
163
+ * Delete a storey and everything on it — the same as removing it from the
164
+ * storey panel. Every element placed on the storey (walls, floors, masses, …)
165
+ * is deleted with it, the remaining storeys are re-stacked, and the active
166
+ * storey falls back to an adjacent one. Committed as a single undo step.
167
+ *
168
+ * @param storyValue - Integer storey number to delete
169
+ * @returns A {@linkcode PluginStoryDeleteResult} with the deleted `storyValue`
170
+ * and the `newActiveStory` the editor fell back to
171
+ * @throws `PRECONDITION_FAILED` if no storey has the given value; or if plugin
172
+ * writes are disabled
173
+ *
174
+ * @examplePrompt Delete the top floor
175
+ * @examplePrompt Remove the basement level
176
+ * @examplePrompt Get rid of storey 3
177
+ * @examplePrompt Delete the second floor and everything on it
178
+ *
179
+ * # Example
180
+ * ```ts
181
+ * const { newActiveStory } = await snaptrude.core.storeys.delete(3)
182
+ * console.log(`Deleted storey 3; now on storey ${newActiveStory}`)
183
+ * ```
184
+ */
185
+ abstract delete(storyValue: number): PluginApiReturn<PluginStoryDeleteResult>;
186
+ /**
187
+ * Copy a storey into the adjacent level, up or down.
188
+ *
189
+ * By default the **whole storey** is copied: every eligible element on the
190
+ * active storey (walls, floors, roofs, masses, columns, beams, staircases,
191
+ * ceilings, parametric curtain walls, and furniture) is copied into the storey
192
+ * one level `"up"` or `"down"`. Pass `options.components` to copy only a subset
193
+ * instead. The target storey is **created automatically** if it does not yet
194
+ * exist, inheriting the source storey's height.
195
+ *
196
+ * Copies are **instanced** by default (`unique: false`) — they share geometry
197
+ * with the source, so later edits propagate. Set `unique: true` for independent
198
+ * geometry. Doors and windows are never copied on their own; they ride along
199
+ * with their host wall. Locked, throw-away, and unsupported elements are skipped
200
+ * and counted in `skipped`. The whole operation is a single undo step.
201
+ *
202
+ * @param direction - `"up"` to copy into the storey above, `"down"` for below
203
+ * @param options - `components` (restrict to a subset of the storey's elements;
204
+ * omit for the whole storey) and `unique` (default `false` = instanced copies;
205
+ * `true` = independent geometry)
206
+ * @returns A {@linkcode PluginStoryDuplicateResult} with the `sourceStory`, the
207
+ * `targetStories` the copies landed on, the `created` component handles, the
208
+ * `createdStoryValues` for any storeys generated to receive them, and the
209
+ * `skipped` count of ineligible elements
210
+ * @throws `NO_ACTIVE_STRUCTURE` if there is no active structure to copy into;
211
+ * `NO_ELIGIBLE_ELEMENTS` if nothing on the source storey (or in
212
+ * `options.components`) is copyable; `HANDLE_INVALID` for a stale or foreign
213
+ * supplied handle; or if plugin writes are disabled
214
+ *
215
+ * @examplePrompt Copy this floor to the storey above
216
+ * @examplePrompt Copy the ground floor down into a new basement
217
+ * @examplePrompt Repeat this level upwards with its own independent geometry
218
+ * @examplePrompt Copy just the selected walls onto the next floor up
219
+ *
220
+ * # Example
221
+ * ```ts
222
+ * // Copy the whole active storey one level up (instanced copies).
223
+ * const { targetStories, created, skipped } =
224
+ * await snaptrude.core.storeys.copy("up")
225
+ * console.log(`Copied ${created.length} elements onto storey ${targetStories}`)
226
+ * if (skipped) console.log(`${skipped} elements were skipped`)
227
+ * ```
228
+ */
229
+ abstract copy(direction: "up" | "down", options?: {
230
+ components?: ComponentHandle[];
231
+ unique?: boolean;
232
+ }): PluginApiReturn<PluginStoryDuplicateResult>;
233
+ }
234
+ /**
235
+ * Result of {@linkcode PluginCoreStoreysApi.list} — the {@linkcode PluginStoryGetAllResult}
236
+ * shape with the array field renamed `stories` → `storeys`. Each entry shares the
237
+ * same element type: `{ value, id, name }`, sorted top to bottom.
238
+ *
239
+ * | Property | Type | Description |
240
+ * |---|---|---|
241
+ * | `storeys` | `Array<{ value, id, name }>` | All storeys, sorted top to bottom |
242
+ */
243
+ export declare const PluginCoreStoreysListResult: z.ZodObject<{
244
+ storeys: z.ZodArray<z.ZodObject<{
245
+ value: z.ZodNumber;
246
+ id: z.ZodString;
247
+ name: z.ZodString;
248
+ }, z.core.$strip>>;
249
+ }, z.core.$strip>;
250
+ export type PluginCoreStoreysListResult = z.infer<typeof PluginCoreStoreysListResult>;
251
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/api/core/storeys/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EAEpB,uBAAuB,EACvB,uBAAuB,EACvB,0BAA0B,EAC1B,uBAAuB,EACvB,0BAA0B,EAC3B,MAAM,oBAAoB,CAAA;AAE3B;;;;;;;;;;;;;GAaG;AACH,8BAAsB,oBAAoB;;IAGxC;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;aACa,GAAG,CACjB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,sBAAsB,EAAE,GACnC,eAAe,CAAC,oBAAoB,CAAC;IAExC;;;;;;;;;;;;;;;;;;;;;OAqBG;aACa,IAAI,IAAI,eAAe,CAAC,2BAA2B,CAAC;IAEpE;;;;;;;;;;;;;;;;;;;;;;;OAuBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,GACd,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,EAClB,MAAM,CAAC,EAAE,MAAM,EACf,OAAO,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GAC1B,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;OAoBG;aACa,SAAS,CACvB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,0BAA0B,CAAC;IAE9C;;;;;;;;;;;;;;;;;;;;;;OAsBG;aACa,MAAM,CACpB,UAAU,EAAE,MAAM,GACjB,eAAe,CAAC,uBAAuB,CAAC;IAE3C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA0CG;aACa,IAAI,CAClB,SAAS,EAAE,IAAI,GAAG,MAAM,EACxB,OAAO,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,eAAe,EAAE,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAC7D,eAAe,CAAC,0BAA0B,CAAC;CAC/C;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,2BAA2B;;;;;;iBAEtC,CAAA;AAEF,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAC/C,OAAO,2BAA2B,CACnC,CAAA"}
@@ -119,8 +119,32 @@ export declare abstract class PluginCoreTagsApi {
119
119
  * const { tags } = await snaptrude.core.tags.getTagsForComponent("cmp_42")
120
120
  * for (const t of tags) console.log(t.categoryName, t.tagName)
121
121
  * ```
122
+ *
123
+ * @deprecated Use `core.tags.listForComponent`
122
124
  */
123
125
  abstract getTagsForComponent(componentId: ComponentHandle): PluginApiReturn<PluginCoreTagsGetTagsForComponentResult>;
126
+ /**
127
+ * List the tags carried by a component.
128
+ *
129
+ * Returns one entry per category the component is tagged in, each carrying the
130
+ * category and tag names and the tag color. Canonical home of the read formerly
131
+ * at `getTagsForComponent` (now deprecated).
132
+ *
133
+ * @param componentId - The `Component.id` to read.
134
+ * @returns A {@linkcode PluginCoreTagsGetTagsForComponentResult} with a `tags`
135
+ * array (empty when the component has none or does not exist).
136
+ *
137
+ * @examplePrompt What tags does this space have?
138
+ * @examplePrompt List the tags on component cmp_42
139
+ * @examplePrompt Show the labels applied to this room
140
+ *
141
+ * # Example
142
+ * ```ts
143
+ * const { tags } = await snaptrude.core.tags.listForComponent("cmp_42")
144
+ * for (const t of tags) console.log(t.categoryName, t.tagName)
145
+ * ```
146
+ */
147
+ abstract listForComponent(componentId: ComponentHandle): PluginApiReturn<PluginCoreTagsGetTagsForComponentResult>;
124
148
  /**
125
149
  * List the components carrying a given tag or category.
126
150
  *
@@ -1 +1 @@
1
- {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tags.d.ts","sourceRoot":"","sources":["../../../src/api/core/tags.ts"],"names":[],"mappings":"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"}