@snaptrude/plugin-core 0.10.0 → 1.0.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 (229) hide show
  1. package/AGENTS.md +4 -0
  2. package/CHANGELOG.md +187 -3
  3. package/api-manifest.json +929 -25
  4. package/dist/api/analysis/daylight.d.ts +5 -5
  5. package/dist/api/analysis/solar.d.ts +2 -2
  6. package/dist/api/core/camera/index.d.ts +463 -0
  7. package/dist/api/core/camera/index.d.ts.map +1 -1
  8. package/dist/api/core/geom/create/index.d.ts +942 -101
  9. package/dist/api/core/geom/create/index.d.ts.map +1 -1
  10. package/dist/api/core/geom/query/brep.d.ts +59 -2
  11. package/dist/api/core/geom/query/brep.d.ts.map +1 -1
  12. package/dist/api/core/geom/query/curve.d.ts +59 -35
  13. package/dist/api/core/geom/query/curve.d.ts.map +1 -1
  14. package/dist/api/core/geom/query/edge.d.ts +2 -2
  15. package/dist/api/core/geom/query/face.d.ts +105 -0
  16. package/dist/api/core/geom/query/face.d.ts.map +1 -1
  17. package/dist/api/core/geom/update/contour.d.ts +10 -2
  18. package/dist/api/core/geom/update/contour.d.ts.map +1 -1
  19. package/dist/api/core/geom/update/curve.d.ts +5 -5
  20. package/dist/api/core/geom/update/profile.d.ts +3 -1
  21. package/dist/api/core/geom/update/profile.d.ts.map +1 -1
  22. package/dist/api/core/handles/index.d.ts +4 -2
  23. package/dist/api/core/handles/index.d.ts.map +1 -1
  24. package/dist/api/core/index.d.ts +4 -4
  25. package/dist/api/core/index.d.ts.map +1 -1
  26. package/dist/api/core/io/import/index.d.ts +3 -1
  27. package/dist/api/core/io/import/index.d.ts.map +1 -1
  28. package/dist/api/core/layers.d.ts +377 -255
  29. package/dist/api/core/layers.d.ts.map +1 -1
  30. package/dist/api/core/mode/index.d.ts +19 -7
  31. package/dist/api/core/mode/index.d.ts.map +1 -1
  32. package/dist/api/core/project/index.d.ts +68 -1
  33. package/dist/api/core/project/index.d.ts.map +1 -1
  34. package/dist/api/core/proposals/index.d.ts +4 -3
  35. package/dist/api/core/proposals/index.d.ts.map +1 -1
  36. package/dist/api/core/storeys/index.d.ts +31 -2
  37. package/dist/api/core/storeys/index.d.ts.map +1 -1
  38. package/dist/api/core/storeys/layers.d.ts +408 -0
  39. package/dist/api/core/storeys/layers.d.ts.map +1 -0
  40. package/dist/api/core/tags.d.ts +84 -3
  41. package/dist/api/core/tags.d.ts.map +1 -1
  42. package/dist/api/core/zoom/index.d.ts +13 -0
  43. package/dist/api/core/zoom/index.d.ts.map +1 -1
  44. package/dist/api/design/bim.d.ts +299 -0
  45. package/dist/api/design/bim.d.ts.map +1 -0
  46. package/dist/api/design/boolean/index.d.ts +2 -0
  47. package/dist/api/design/boolean/index.d.ts.map +1 -1
  48. package/dist/api/design/catalog.d.ts +320 -0
  49. package/dist/api/design/catalog.d.ts.map +1 -0
  50. package/dist/api/design/create/bulk-items.d.ts +269 -0
  51. package/dist/api/design/create/bulk-items.d.ts.map +1 -0
  52. package/dist/api/design/create/grids.d.ts +132 -0
  53. package/dist/api/design/create/grids.d.ts.map +1 -0
  54. package/dist/api/design/create/index.d.ts +752 -78
  55. package/dist/api/design/create/index.d.ts.map +1 -1
  56. package/dist/api/design/create/opening-fields.d.ts +38 -0
  57. package/dist/api/design/create/opening-fields.d.ts.map +1 -0
  58. package/dist/api/design/delete/index.d.ts +5 -0
  59. package/dist/api/design/delete/index.d.ts.map +1 -1
  60. package/dist/api/design/dimensions.d.ts +427 -0
  61. package/dist/api/design/dimensions.d.ts.map +1 -0
  62. package/dist/api/design/doors/index.d.ts +24 -23
  63. package/dist/api/design/doors/index.d.ts.map +1 -1
  64. package/dist/api/design/family.d.ts +1446 -0
  65. package/dist/api/design/family.d.ts.map +1 -0
  66. package/dist/api/design/furniture/index.d.ts +33 -0
  67. package/dist/api/design/furniture/index.d.ts.map +1 -1
  68. package/dist/api/design/grids.d.ts +237 -0
  69. package/dist/api/design/grids.d.ts.map +1 -0
  70. package/dist/api/design/index.d.ts +30 -0
  71. package/dist/api/design/index.d.ts.map +1 -1
  72. package/dist/api/design/networks.d.ts +1703 -0
  73. package/dist/api/design/networks.d.ts.map +1 -0
  74. package/dist/api/design/query/geometry/index.d.ts +33 -5
  75. package/dist/api/design/query/geometry/index.d.ts.map +1 -1
  76. package/dist/api/design/query/grids.d.ts +287 -0
  77. package/dist/api/design/query/grids.d.ts.map +1 -0
  78. package/dist/api/design/query/index.d.ts +143 -34
  79. package/dist/api/design/query/index.d.ts.map +1 -1
  80. package/dist/api/design/query/spaces.d.ts +5 -5
  81. package/dist/api/design/selection/index.d.ts +12 -12
  82. package/dist/api/design/types/index.d.ts +40 -24
  83. package/dist/api/design/types/index.d.ts.map +1 -1
  84. package/dist/api/design/update/index.d.ts +412 -8
  85. package/dist/api/design/update/index.d.ts.map +1 -1
  86. package/dist/api/design/visibility.d.ts +28 -0
  87. package/dist/api/design/visibility.d.ts.map +1 -1
  88. package/dist/api/design/windows/index.d.ts +8 -8
  89. package/dist/api/design/windows/index.d.ts.map +1 -1
  90. package/dist/api/entity/buildableEnvelope.d.ts +84 -2
  91. package/dist/api/entity/buildableEnvelope.d.ts.map +1 -1
  92. package/dist/api/entity/referenceLine.d.ts +13 -1
  93. package/dist/api/entity/referenceLine.d.ts.map +1 -1
  94. package/dist/api/entity/space.d.ts +12 -12
  95. package/dist/api/entity/story.d.ts +4 -4
  96. package/dist/api/presentation/aiInspiration.d.ts +24 -24
  97. package/dist/api/presentation/annotate.d.ts +38 -22
  98. package/dist/api/presentation/annotate.d.ts.map +1 -1
  99. package/dist/api/presentation/camera.d.ts +265 -0
  100. package/dist/api/presentation/camera.d.ts.map +1 -0
  101. package/dist/api/presentation/drawingContract.d.ts +32 -0
  102. package/dist/api/presentation/drawingContract.d.ts.map +1 -0
  103. package/dist/api/presentation/drawings.d.ts +3523 -0
  104. package/dist/api/presentation/drawings.d.ts.map +1 -0
  105. package/dist/api/presentation/export.d.ts +23 -5
  106. package/dist/api/presentation/export.d.ts.map +1 -1
  107. package/dist/api/presentation/graphics.d.ts +419 -0
  108. package/dist/api/presentation/graphics.d.ts.map +1 -0
  109. package/dist/api/presentation/index.d.ts +66 -12
  110. package/dist/api/presentation/index.d.ts.map +1 -1
  111. package/dist/api/presentation/placedViews.d.ts +116 -16
  112. package/dist/api/presentation/placedViews.d.ts.map +1 -1
  113. package/dist/api/presentation/sections.d.ts +461 -0
  114. package/dist/api/presentation/sections.d.ts.map +1 -0
  115. package/dist/api/presentation/shapes.d.ts +2 -2
  116. package/dist/api/presentation/sheets.d.ts +175 -19
  117. package/dist/api/presentation/sheets.d.ts.map +1 -1
  118. package/dist/api/presentation/standards.d.ts +590 -0
  119. package/dist/api/presentation/standards.d.ts.map +1 -0
  120. package/dist/api/presentation/viewPresets.d.ts +222 -0
  121. package/dist/api/presentation/viewPresets.d.ts.map +1 -0
  122. package/dist/api/presentation/views.d.ts +144 -9
  123. package/dist/api/presentation/views.d.ts.map +1 -1
  124. package/dist/api/presentation/walkthroughs.d.ts +1350 -0
  125. package/dist/api/presentation/walkthroughs.d.ts.map +1 -0
  126. package/dist/api/program/departments.d.ts +58 -2
  127. package/dist/api/program/departments.d.ts.map +1 -1
  128. package/dist/api/program/index.d.ts +16 -6
  129. package/dist/api/program/index.d.ts.map +1 -1
  130. package/dist/api/program/labels.d.ts +355 -0
  131. package/dist/api/program/labels.d.ts.map +1 -0
  132. package/dist/api/program/metadata.d.ts +328 -0
  133. package/dist/api/program/metadata.d.ts.map +1 -0
  134. package/dist/api/program/site.d.ts +4 -4
  135. package/dist/api/program/spreadsheet.d.ts +267 -4
  136. package/dist/api/program/spreadsheet.d.ts.map +1 -1
  137. package/dist/api/workspace/index.d.ts +49 -2
  138. package/dist/api/workspace/index.d.ts.map +1 -1
  139. package/dist/errors/codes.d.ts +3 -1
  140. package/dist/errors/codes.d.ts.map +1 -1
  141. package/dist/handles.d.ts +32 -3
  142. package/dist/handles.d.ts.map +1 -1
  143. package/dist/index.cjs +6539 -2804
  144. package/dist/index.cjs.map +1 -1
  145. package/dist/index.d.ts +2 -0
  146. package/dist/index.d.ts.map +1 -1
  147. package/dist/index.js +6121 -2801
  148. package/dist/index.js.map +1 -1
  149. package/dist/massParameters.d.ts +287 -0
  150. package/dist/massParameters.d.ts.map +1 -0
  151. package/dist/massParameters.ops.d.ts +138 -0
  152. package/dist/massParameters.ops.d.ts.map +1 -0
  153. package/package.json +14 -13
  154. package/scripts/check-dist-fresh.mjs +22 -0
  155. package/scripts/generate-manifest.mjs +5 -0
  156. package/scripts/generate-manifest.test.mjs +14 -3
  157. package/src/api/core/camera/index.ts +446 -1
  158. package/src/api/core/geom/create/index.ts +1037 -102
  159. package/src/api/core/geom/query/brep.ts +60 -2
  160. package/src/api/core/geom/query/curve.ts +26 -2
  161. package/src/api/core/geom/query/edge.ts +2 -2
  162. package/src/api/core/geom/query/face.ts +109 -4
  163. package/src/api/core/geom/update/contour.ts +10 -2
  164. package/src/api/core/geom/update/profile.ts +2 -0
  165. package/src/api/core/handles/index.ts +3 -2
  166. package/src/api/core/index.ts +4 -4
  167. package/src/api/core/io/import/index.ts +11 -3
  168. package/src/api/core/layers.ts +380 -173
  169. package/src/api/core/mode/index.ts +19 -7
  170. package/src/api/core/project/index.ts +62 -1
  171. package/src/api/core/proposals/index.ts +4 -3
  172. package/src/api/core/storeys/index.ts +34 -2
  173. package/src/api/core/storeys/layers.ts +339 -0
  174. package/src/api/core/tags.ts +76 -0
  175. package/src/api/core/zoom/index.ts +13 -0
  176. package/src/api/design/bim.ts +210 -0
  177. package/src/api/design/boolean/index.ts +2 -0
  178. package/src/api/design/catalog.ts +203 -0
  179. package/src/api/design/create/bulk-items.ts +294 -0
  180. package/src/api/design/create/grids.ts +137 -0
  181. package/src/api/design/create/index.ts +823 -114
  182. package/src/api/design/create/opening-fields.ts +40 -0
  183. package/src/api/design/delete/index.ts +5 -0
  184. package/src/api/design/dimensions.ts +453 -0
  185. package/src/api/design/doors/index.ts +64 -41
  186. package/src/api/design/family.ts +1342 -0
  187. package/src/api/design/furniture/index.ts +34 -0
  188. package/src/api/design/grids.ts +237 -0
  189. package/src/api/design/index.ts +49 -4
  190. package/src/api/design/networks.ts +607 -0
  191. package/src/api/design/query/geometry/index.ts +35 -4
  192. package/src/api/design/query/grids.ts +197 -0
  193. package/src/api/design/query/index.ts +105 -3
  194. package/src/api/design/types/index.ts +31 -24
  195. package/src/api/design/update/index.ts +398 -4
  196. package/src/api/design/visibility.ts +34 -0
  197. package/src/api/design/windows/index.ts +40 -22
  198. package/src/api/entity/buildableEnvelope.ts +77 -2
  199. package/src/api/entity/referenceLine.ts +25 -12
  200. package/src/api/presentation/annotate.ts +90 -58
  201. package/src/api/presentation/camera.ts +289 -0
  202. package/src/api/presentation/drawingContract.ts +70 -0
  203. package/src/api/presentation/drawings.ts +1179 -0
  204. package/src/api/presentation/export.ts +32 -6
  205. package/src/api/presentation/graphics.ts +324 -0
  206. package/src/api/presentation/index.ts +73 -14
  207. package/src/api/presentation/placedViews.ts +119 -28
  208. package/src/api/presentation/sections.ts +420 -0
  209. package/src/api/presentation/sheets.ts +181 -20
  210. package/src/api/presentation/standards.ts +445 -0
  211. package/src/api/presentation/viewPresets.ts +241 -0
  212. package/src/api/presentation/views.ts +81 -10
  213. package/src/api/presentation/walkthroughs.ts +1201 -0
  214. package/src/api/program/departments.ts +54 -2
  215. package/src/api/program/index.ts +16 -6
  216. package/src/api/program/labels.ts +332 -0
  217. package/src/api/program/metadata.ts +364 -0
  218. package/src/api/program/spreadsheet.ts +282 -0
  219. package/src/api/workspace/index.ts +51 -2
  220. package/src/errors/codes.ts +7 -0
  221. package/src/handles.ts +42 -3
  222. package/src/index.ts +2 -0
  223. package/src/massParameters.ops.ts +246 -0
  224. package/src/massParameters.ts +427 -0
  225. package/test/drawingContract.test.mjs +288 -0
  226. package/test/errors.test.mjs +1 -0
  227. package/test/massParameters.test.mjs +952 -0
  228. package/test/paperPensContract.test.mjs +75 -0
  229. package/test/presentationViewSettings.test.mjs +85 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"drawings.d.ts","sourceRoot":"","sources":["../../../src/api/presentation/drawings.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import * as z from "zod";
2
2
  /**
3
3
  * Presentation export — render the Present-mode layout sheets to a downloadable
4
- * file (PDF / PNG / JPG) and hand the plugin the bytes as base64.
4
+ * file (PDF / PNG / JPG), returning base64 by default or starting a browser download.
5
5
  *
6
6
  * This wraps the same pipeline the Present-mode **Export** dialog drives:
7
7
  * each sheet is serialized to an SVG, then either composed into a PDF
8
- * (svg2pdf/jspdf) or rasterized to a PNG/JPG. Nothing is written to disk
9
- * host-side — the plugin receives the encoded bytes and decides what to do
10
- * with them (save, upload, preview).
8
+ * (svg2pdf/jspdf) or rasterized to a PNG/JPG. By default the plugin receives the
9
+ * encoded bytes to save, upload or preview. With `download: true`, the host
10
+ * initiates browser downloads and returns metadata only, keeping agent results small.
11
11
  *
12
12
  * Requires **Present mode to be open** (the documentation editor); the call
13
13
  * throws `PRECONDITION_FAILED` when it is not.
@@ -56,7 +56,8 @@ export type PluginPresentationExportResolution = z.infer<typeof PluginPresentati
56
56
  * | `sheetIds` | `string[] \| undefined` | Sheets to export (all sheets when omitted) |
57
57
  * | `combine` | `boolean \| undefined` | PDF only: one multi-page file (default `true`) vs one file per sheet |
58
58
  * | `resolution` | {@linkcode PluginPresentationExportResolution}` \| undefined` | Raster target size (`png`/`jpg` only) |
59
- * | `fileName` | `string \| undefined` | Base file name (without extension) |
59
+ * | `fileName` | `string \| undefined` | Base file name WITHOUT an extension (`"Floor Pattern View"`, never `"Floor Pattern View.pdf"`); the host appends the extension for the format, and a name ending in .pdf/.svg/.png/.jpg/.jpeg, a dot or a space is rejected |
60
+ * | `download` | `boolean \| undefined` | Start browser downloads and return metadata without base64 (default `false`) |
60
61
  */
61
62
  export declare const PluginPresentationExportArgs: z.ZodObject<{
62
63
  format: z.ZodEnum<{
@@ -71,8 +72,11 @@ export declare const PluginPresentationExportArgs: z.ZodObject<{
71
72
  height: z.ZodNumber;
72
73
  }, z.core.$strip>>;
73
74
  fileName: z.ZodOptional<z.ZodString>;
75
+ download: z.ZodOptional<z.ZodBoolean>;
74
76
  }, z.core.$strip>;
75
77
  export type PluginPresentationExportArgs = z.infer<typeof PluginPresentationExportArgs>;
78
+ /** Options after the positional export format. Omitted `download` preserves base64 results. */
79
+ export type PluginPresentationExportOptions = Omit<PluginPresentationExportArgs, "format">;
76
80
  /**
77
81
  * A single exported file.
78
82
  *
@@ -105,4 +109,18 @@ export declare const PluginPresentationExportResult: z.ZodObject<{
105
109
  }, z.core.$strip>>;
106
110
  }, z.core.$strip>;
107
111
  export type PluginPresentationExportResult = z.infer<typeof PluginPresentationExportResult>;
112
+ /**
113
+ * Metadata-only result for `download: true`. `downloadStarted` confirms initiation,
114
+ * not an OS-saved file: browsers may require multiple-download permission. No base64
115
+ * is returned. Default exports retain their existing result and TypeScript contract.
116
+ */
117
+ export declare const PluginPresentationExportDownloadResult: z.ZodObject<{
118
+ files: z.ZodArray<z.ZodObject<{
119
+ fileName: z.ZodString;
120
+ mimeType: z.ZodString;
121
+ byteLength: z.ZodNumber;
122
+ }, z.core.$strip>>;
123
+ downloadStarted: z.ZodBoolean;
124
+ }, z.core.$strip>;
125
+ export type PluginPresentationExportDownloadResult = z.infer<typeof PluginPresentationExportDownloadResult>;
108
126
  //# sourceMappingURL=export.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/api/presentation/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAExB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,yEAAyE;AACzE,eAAO,MAAM,8BAA8B;;;;EAAgC,CAAA;AAC3E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC;;;iBAG7C,CAAA;AACF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;iBAMvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;iBAEzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA"}
1
+ {"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../../src/api/presentation/export.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,yEAAyE;AACzE,eAAO,MAAM,8BAA8B;;;;EAAgC,CAAA;AAC3E,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,kCAAkC;;;iBAG7C,CAAA;AACF,MAAM,MAAM,kCAAkC,GAAG,CAAC,CAAC,KAAK,CACtD,OAAO,kCAAkC,CAC1C,CAAA;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;iBAOvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED,+FAA+F;AAC/F,MAAM,MAAM,+BAA+B,GAAG,IAAI,CAChD,4BAA4B,EAC5B,QAAQ,CACT,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,4BAA4B;;;;iBAIvC,CAAA;AACF,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,4BAA4B,CACpC,CAAA;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,8BAA8B;;;;;;iBAEzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sCAAsC;;;;;;;iBAOjD,CAAA;AACF,MAAM,MAAM,sCAAsC,GAAG,CAAC,CAAC,KAAK,CAC1D,OAAO,sCAAsC,CAC9C,CAAA"}
@@ -0,0 +1,419 @@
1
+ import * as z from "zod";
2
+ import type { PluginApiReturn } from "../../types";
3
+ /** A saved view id. Omit it to address the current Design/BIM view. */
4
+ export declare const PluginGraphicsViewId: z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>;
5
+ export type PluginGraphicsViewId = z.infer<typeof PluginGraphicsViewId>;
6
+ /** A scale denominator: 50 means 1:50, not a world-coordinate multiplier. */
7
+ export declare const PluginGraphicsScale: z.ZodNumber;
8
+ export declare const PluginGraphicsDetailLevel: z.ZodEnum<{
9
+ coarse: "coarse";
10
+ fine: "fine";
11
+ }>;
12
+ export type PluginGraphicsDetailLevel = z.infer<typeof PluginGraphicsDetailLevel>;
13
+ export declare const PluginGraphicsViewKind: z.ZodEnum<{
14
+ elevation: "elevation";
15
+ plan: "plan";
16
+ section: "section";
17
+ "three-d": "three-d";
18
+ }>;
19
+ export declare const PluginGraphicsPen: z.ZodNumber;
20
+ /** Native Object Styles category keys; use these keys rather than the displayed plural labels. */
21
+ export declare const PluginGraphicsModelCategory: z.ZodEnum<{
22
+ "Buildable Envelope": "Buildable Envelope";
23
+ Ceilings: "Ceilings";
24
+ Columns: "Columns";
25
+ Departments: "Departments";
26
+ Doors: "Doors";
27
+ Floors: "Floors";
28
+ Furniture: "Furniture";
29
+ Families: "Families";
30
+ "Facade/Mass": "Facade/Mass";
31
+ Roofs: "Roofs";
32
+ Slabs: "Slabs";
33
+ Space: "Space";
34
+ Staircase: "Staircase";
35
+ Beams: "Beams";
36
+ Walls: "Walls";
37
+ Windows: "Windows";
38
+ }>;
39
+ export declare const PluginGraphicsAnnotationCategory: z.ZodEnum<{
40
+ Dimension: "Dimension";
41
+ Grids: "Grids";
42
+ Sections: "Sections";
43
+ }>;
44
+ export declare const PluginGraphicsCategory: z.ZodEnum<{
45
+ "Buildable Envelope": "Buildable Envelope";
46
+ Ceilings: "Ceilings";
47
+ Columns: "Columns";
48
+ Departments: "Departments";
49
+ Doors: "Doors";
50
+ Floors: "Floors";
51
+ Furniture: "Furniture";
52
+ Families: "Families";
53
+ "Facade/Mass": "Facade/Mass";
54
+ Roofs: "Roofs";
55
+ Slabs: "Slabs";
56
+ Space: "Space";
57
+ Staircase: "Staircase";
58
+ Beams: "Beams";
59
+ Walls: "Walls";
60
+ Windows: "Windows";
61
+ Dimension: "Dimension";
62
+ Grids: "Grids";
63
+ Sections: "Sections";
64
+ }>;
65
+ export declare const PluginGraphicsOverrideCategory: z.ZodEnum<{
66
+ "Buildable Envelope": "Buildable Envelope";
67
+ Ceilings: "Ceilings";
68
+ Columns: "Columns";
69
+ Departments: "Departments";
70
+ Doors: "Doors";
71
+ Floors: "Floors";
72
+ Furniture: "Furniture";
73
+ Families: "Families";
74
+ "Facade/Mass": "Facade/Mass";
75
+ Roofs: "Roofs";
76
+ Slabs: "Slabs";
77
+ Space: "Space";
78
+ Staircase: "Staircase";
79
+ Beams: "Beams";
80
+ Walls: "Walls";
81
+ Windows: "Windows";
82
+ Dimension: "Dimension";
83
+ Grids: "Grids";
84
+ Sections: "Sections";
85
+ Lines: "Lines";
86
+ }>;
87
+ export type PluginGraphicsOverrideCategory = z.infer<typeof PluginGraphicsOverrideCategory>;
88
+ /** Project line-style ids. These select a pen and pattern together. */
89
+ export declare const PluginGraphicsLineStyleId: z.ZodEnum<{
90
+ hidden: "hidden";
91
+ thin: "thin";
92
+ medium: "medium";
93
+ wide: "wide";
94
+ overhead: "overhead";
95
+ demolished: "demolished";
96
+ centerline: "centerline";
97
+ }>;
98
+ export type PluginGraphicsLineStyleId = z.infer<typeof PluginGraphicsLineStyleId>;
99
+ /** Paper dash patterns; their lengths are paper millimetres, not model units. */
100
+ export declare const PluginGraphicsPatternId: z.ZodEnum<{
101
+ center: "center";
102
+ hidden: "hidden";
103
+ overhead: "overhead";
104
+ demolished: "demolished";
105
+ solid: "solid";
106
+ dash: "dash";
107
+ "long-dash": "long-dash";
108
+ "loose-dash": "loose-dash";
109
+ dot: "dot";
110
+ "dash-dot": "dash-dot";
111
+ "dash-dot-dot": "dash-dot-dot";
112
+ "double-dash": "double-dash";
113
+ "triple-dash": "triple-dash";
114
+ }>;
115
+ export type PluginGraphicsPatternId = z.infer<typeof PluginGraphicsPatternId>;
116
+ /**
117
+ * Machine-readable reasons in PluginError.details.reason. Wire codes remain the
118
+ * published PRECONDITION_FAILED (feature disabled) or VALIDATION (file errors).
119
+ */
120
+ export declare const PluginPaperPensErrorReason: z.ZodEnum<{
121
+ PAPER_PENS_DISABLED: "PAPER_PENS_DISABLED";
122
+ NOT_ACTIVE_VIEW: "NOT_ACTIVE_VIEW";
123
+ NOT_A_STANDARD: "NOT_A_STANDARD";
124
+ NEWER_STANDARD: "NEWER_STANDARD";
125
+ STANDARD_TOO_LARGE: "STANDARD_TOO_LARGE";
126
+ }>;
127
+ export type PluginPaperPensErrorReason = z.infer<typeof PluginPaperPensErrorReason>;
128
+ /**
129
+ * Sparse category edit. Omitted fields stay unchanged; false clears a flag and
130
+ * null clears a pen override. Pens are numbers 1–16, never paper-mm widths.
131
+ * Lines supports flags only; annotation rows do not have a cut pen.
132
+ */
133
+ export declare const PluginGraphicsOverride: z.ZodObject<{
134
+ hidden: z.ZodOptional<z.ZodBoolean>;
135
+ halftone: z.ZodOptional<z.ZodBoolean>;
136
+ projection: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
137
+ cut: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
138
+ }, z.core.$strict>;
139
+ export declare const PluginGraphicsOverrides: z.ZodRecord<z.ZodEnum<{
140
+ "Buildable Envelope": "Buildable Envelope";
141
+ Ceilings: "Ceilings";
142
+ Columns: "Columns";
143
+ Departments: "Departments";
144
+ Doors: "Doors";
145
+ Floors: "Floors";
146
+ Furniture: "Furniture";
147
+ Families: "Families";
148
+ "Facade/Mass": "Facade/Mass";
149
+ Roofs: "Roofs";
150
+ Slabs: "Slabs";
151
+ Space: "Space";
152
+ Staircase: "Staircase";
153
+ Beams: "Beams";
154
+ Walls: "Walls";
155
+ Windows: "Windows";
156
+ Dimension: "Dimension";
157
+ Grids: "Grids";
158
+ Sections: "Sections";
159
+ Lines: "Lines";
160
+ }> & z.core.$partial, z.ZodObject<{
161
+ hidden: z.ZodOptional<z.ZodBoolean>;
162
+ halftone: z.ZodOptional<z.ZodBoolean>;
163
+ projection: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
164
+ cut: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
165
+ }, z.core.$strict>>;
166
+ export type PluginGraphicsOverrides = z.infer<typeof PluginGraphicsOverrides>;
167
+ /**
168
+ * One Design/BIM view's graphics. viewId:null means an unsaved current view.
169
+ * scale/scaleLabel:null means the camera has no applicable paper scale (free3D
170
+ * or a perspective section/elevation). Transient scale/detail edits are not saved.
171
+ */
172
+ export declare const PluginViewGraphics: z.ZodObject<{
173
+ viewId: z.ZodNullable<z.ZodString>;
174
+ kind: z.ZodEnum<{
175
+ elevation: "elevation";
176
+ plan: "plan";
177
+ section: "section";
178
+ "three-d": "three-d";
179
+ }>;
180
+ scale: z.ZodNullable<z.ZodNumber>;
181
+ scaleLabel: z.ZodNullable<z.ZodString>;
182
+ isCustomScale: z.ZodBoolean;
183
+ detailLevel: z.ZodEnum<{
184
+ coarse: "coarse";
185
+ fine: "fine";
186
+ }>;
187
+ overrides: z.ZodRecord<z.ZodEnum<{
188
+ "Buildable Envelope": "Buildable Envelope";
189
+ Ceilings: "Ceilings";
190
+ Columns: "Columns";
191
+ Departments: "Departments";
192
+ Doors: "Doors";
193
+ Floors: "Floors";
194
+ Furniture: "Furniture";
195
+ Families: "Families";
196
+ "Facade/Mass": "Facade/Mass";
197
+ Roofs: "Roofs";
198
+ Slabs: "Slabs";
199
+ Space: "Space";
200
+ Staircase: "Staircase";
201
+ Beams: "Beams";
202
+ Walls: "Walls";
203
+ Windows: "Windows";
204
+ Dimension: "Dimension";
205
+ Grids: "Grids";
206
+ Sections: "Sections";
207
+ Lines: "Lines";
208
+ }> & z.core.$partial, z.ZodObject<{
209
+ hidden: z.ZodOptional<z.ZodBoolean>;
210
+ halftone: z.ZodOptional<z.ZodBoolean>;
211
+ projection: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
212
+ cut: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
213
+ }, z.core.$strict>>;
214
+ }, z.core.$strip>;
215
+ export type PluginViewGraphics = z.infer<typeof PluginViewGraphics>;
216
+ /** The same ordered scale choices as the chip, including the current exceptional scale. */
217
+ export declare const PluginGraphicsScaleOption: z.ZodObject<{
218
+ scale: z.ZodNumber;
219
+ label: z.ZodString;
220
+ isCustomScale: z.ZodBoolean;
221
+ }, z.core.$strip>;
222
+ export type PluginGraphicsScaleOption = z.infer<typeof PluginGraphicsScaleOption>;
223
+ export declare const PluginGraphicsViewOptions: z.ZodObject<{
224
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
225
+ }, z.core.$strict>;
226
+ export type PluginGraphicsViewOptions = z.infer<typeof PluginGraphicsViewOptions>;
227
+ export declare const PluginGraphicsGetArgs: z.ZodObject<{
228
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
229
+ }, z.core.$strict>;
230
+ export declare const PluginGraphicsSetScaleArgs: z.ZodObject<{
231
+ scale: z.ZodNumber;
232
+ options: z.ZodOptional<z.ZodObject<{
233
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
234
+ }, z.core.$strict>>;
235
+ }, z.core.$strict>;
236
+ export declare const PluginGraphicsSetDetailLevelArgs: z.ZodObject<{
237
+ level: z.ZodEnum<{
238
+ coarse: "coarse";
239
+ fine: "fine";
240
+ }>;
241
+ options: z.ZodOptional<z.ZodObject<{
242
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
243
+ }, z.core.$strict>>;
244
+ }, z.core.$strict>;
245
+ export declare const PluginGraphicsUpdateArgs: z.ZodObject<{
246
+ overrides: z.ZodRecord<z.ZodEnum<{
247
+ "Buildable Envelope": "Buildable Envelope";
248
+ Ceilings: "Ceilings";
249
+ Columns: "Columns";
250
+ Departments: "Departments";
251
+ Doors: "Doors";
252
+ Floors: "Floors";
253
+ Furniture: "Furniture";
254
+ Families: "Families";
255
+ "Facade/Mass": "Facade/Mass";
256
+ Roofs: "Roofs";
257
+ Slabs: "Slabs";
258
+ Space: "Space";
259
+ Staircase: "Staircase";
260
+ Beams: "Beams";
261
+ Walls: "Walls";
262
+ Windows: "Windows";
263
+ Dimension: "Dimension";
264
+ Grids: "Grids";
265
+ Sections: "Sections";
266
+ Lines: "Lines";
267
+ }> & z.core.$partial, z.ZodObject<{
268
+ hidden: z.ZodOptional<z.ZodBoolean>;
269
+ halftone: z.ZodOptional<z.ZodBoolean>;
270
+ projection: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
271
+ cut: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
272
+ }, z.core.$strict>>;
273
+ options: z.ZodOptional<z.ZodObject<{
274
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
275
+ }, z.core.$strict>>;
276
+ }, z.core.$strict>;
277
+ export declare const PluginGraphicsResetOptions: z.ZodObject<{
278
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
279
+ category: z.ZodOptional<z.ZodEnum<{
280
+ "Buildable Envelope": "Buildable Envelope";
281
+ Ceilings: "Ceilings";
282
+ Columns: "Columns";
283
+ Departments: "Departments";
284
+ Doors: "Doors";
285
+ Floors: "Floors";
286
+ Furniture: "Furniture";
287
+ Families: "Families";
288
+ "Facade/Mass": "Facade/Mass";
289
+ Roofs: "Roofs";
290
+ Slabs: "Slabs";
291
+ Space: "Space";
292
+ Staircase: "Staircase";
293
+ Beams: "Beams";
294
+ Walls: "Walls";
295
+ Windows: "Windows";
296
+ Dimension: "Dimension";
297
+ Grids: "Grids";
298
+ Sections: "Sections";
299
+ Lines: "Lines";
300
+ }>>;
301
+ }, z.core.$strict>;
302
+ export type PluginGraphicsResetOptions = z.infer<typeof PluginGraphicsResetOptions>;
303
+ export declare const PluginGraphicsResetArgs: z.ZodObject<{
304
+ options: z.ZodOptional<z.ZodObject<{
305
+ viewId: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodNumber]>>;
306
+ category: z.ZodOptional<z.ZodEnum<{
307
+ "Buildable Envelope": "Buildable Envelope";
308
+ Ceilings: "Ceilings";
309
+ Columns: "Columns";
310
+ Departments: "Departments";
311
+ Doors: "Doors";
312
+ Floors: "Floors";
313
+ Furniture: "Furniture";
314
+ Families: "Families";
315
+ "Facade/Mass": "Facade/Mass";
316
+ Roofs: "Roofs";
317
+ Slabs: "Slabs";
318
+ Space: "Space";
319
+ Staircase: "Staircase";
320
+ Beams: "Beams";
321
+ Walls: "Walls";
322
+ Windows: "Windows";
323
+ Dimension: "Dimension";
324
+ Grids: "Grids";
325
+ Sections: "Sections";
326
+ Lines: "Lines";
327
+ }>>;
328
+ }, z.core.$strict>>;
329
+ }, z.core.$strict>;
330
+ export declare const PluginGraphicsNoArgs: z.ZodObject<{}, z.core.$strict>;
331
+ /**
332
+ * Paper Pens on the Design/BIM canvas. Does not require Present mode.
333
+ *
334
+ * Scale/detail use the native UI setters: saved views persist, but these two
335
+ * settings are not model undo steps. Overrides are one saved, undoable step.
336
+ * Thin Lines is a local viewer preference, never a model save/undo or peer edit.
337
+ * All writes refuse PRECONDITION_FAILED with details.reason=PAPER_PENS_DISABLED
338
+ * while canvas-view-scale is off; reads still answer. There is no flag setter.
339
+ */
340
+ export declare abstract class PluginPresentationGraphicsApi {
341
+ /**
342
+ * Whether Paper Pens is enabled on this viewer. Never changes the feature flag.
343
+ * @returns The current canvas-view-scale value.
344
+ */
345
+ abstract isEnabled(): PluginApiReturn<boolean>;
346
+ /**
347
+ * Read a view's scale denominator, detail and category overrides.
348
+ * @param viewId - Saved view id; omitted uses the current view.
349
+ * @returns Its graphics, or null for an unknown/inaccessible saved view.
350
+ * @examplePrompt What scale is this plan drawn at?
351
+ */
352
+ abstract get(viewId?: PluginGraphicsViewId): PluginApiReturn<PluginViewGraphics | null>;
353
+ /**
354
+ * List the chip's scale choices for the project units, in the same order.
355
+ * Custom denominators need not be listed: any integer 1–24000 is valid.
356
+ * @param viewId - View whose current custom/other-unit scale should be included.
357
+ * @returns Scale records; [] for an unknown/inaccessible saved view.
358
+ */
359
+ abstract listScales(viewId?: PluginGraphicsViewId): PluginApiReturn<PluginGraphicsScaleOption[]>;
360
+ /**
361
+ * Set a paper view's denominator through the same path as the scale chip.
362
+ * A saved view persists this change; it is not a model undo step. Without a
363
+ * saved current view, only viewer state changes. Does not switch the camera. An inactive target refuses NOT_ACTIVE_VIEW.
364
+ * @param scale - Integer 1–24000; 50 means 1:50.
365
+ * @param options - Optional id must identify the active view; open another view first.
366
+ * @returns Updated graphics.
367
+ * @throws VALIDATION for an invalid denominator; PRECONDITION_FAILED when
368
+ * Paper Pens is off or the target has no applicable paper scale.
369
+ * @examplePrompt Set this plan to 1:50
370
+ * @example await snaptrude.presentation.graphics.setScale(50)
371
+ */
372
+ abstract setScale(scale: number, options?: PluginGraphicsViewOptions): PluginApiReturn<PluginViewGraphics>;
373
+ /**
374
+ * Set the active plan's Coarse/Fine drawing detail through the native setter. Fine draws wall
375
+ * layers; this does not enable the project's Detailed View take-off setting.
376
+ * Saved for a saved view, not a model undo step; unsaved current views are transient.
377
+ * @param level - coarse or fine.
378
+ * @param options - Optional id must identify the active view; open another view first.
379
+ * @returns Updated graphics.
380
+ * @examplePrompt Show this plan in Fine detail
381
+ * @example await snaptrude.presentation.graphics.setDetailLevel("fine")
382
+ */
383
+ abstract setDetailLevel(level: PluginGraphicsDetailLevel, options?: PluginGraphicsViewOptions): PluginApiReturn<PluginViewGraphics>;
384
+ /**
385
+ * Change only supplied category fields, as one saved and undoable step.
386
+ * Does not edit project standards. Requires a saved view.
387
+ * @param overrides - Known category keys and sparse fields; false/null clear overrides.
388
+ * @param options - Target saved view; omitted uses the current view. Inactive views are supported.
389
+ * @returns Updated graphics.
390
+ * @examplePrompt Halftone the furniture in this view
391
+ * @example await snaptrude.presentation.graphics.update({ Furniture: { halftone: true } })
392
+ */
393
+ abstract update(overrides: PluginGraphicsOverrides, options?: PluginGraphicsViewOptions): PluginApiReturn<PluginViewGraphics>;
394
+ /**
395
+ * Clear one category or all category overrides, as one saved undoable step.
396
+ * The view's scale and detail level are preserved.
397
+ * @param options - Optional saved view and category; omit category to reset all rows.
398
+ * @returns Updated graphics.
399
+ */
400
+ abstract reset(options?: PluginGraphicsResetOptions): PluginApiReturn<PluginViewGraphics>;
401
+ /**
402
+ * Read the remembered Thin Lines preference. A disabled feature or capture
403
+ * suspension can make the renderer ignore a true preference temporarily.
404
+ * @returns The viewer preference, not the transient capture state.
405
+ */
406
+ abstract isThinLinesEnabled(): PluginApiReturn<boolean>;
407
+ /**
408
+ * Enable the viewer's Thin Lines preference. No model save, undo or peer change.
409
+ * capture_view and exported images deliberately suspend it and use real weights.
410
+ * @returns true.
411
+ */
412
+ abstract enableThinLines(): PluginApiReturn<boolean>;
413
+ /**
414
+ * Disable the viewer's Thin Lines preference. No model save, undo or peer change.
415
+ * @returns false.
416
+ */
417
+ abstract disableThinLines(): PluginApiReturn<boolean>;
418
+ }
419
+ //# sourceMappingURL=graphics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graphics.d.ts","sourceRoot":"","sources":["../../../src/api/presentation/graphics.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAA;AACxB,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAElD,uEAAuE;AACvE,eAAO,MAAM,oBAAoB,iDAG/B,CAAA;AACF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAA;AAEvE,6EAA6E;AAC7E,eAAO,MAAM,mBAAmB,aAA8C,CAAA;AAC9E,eAAO,MAAM,yBAAyB;;;EAA6B,CAAA;AACnE,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AACD,eAAO,MAAM,sBAAsB;;;;;EAKjC,CAAA;AACF,eAAO,MAAM,iBAAiB,aAA2C,CAAA;AAEzE,kGAAkG;AAClG,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;EAiBtC,CAAA;AACF,eAAO,MAAM,gCAAgC;;;;EAI3C,CAAA;AACF,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;EAGjC,CAAA;AACF,eAAO,MAAM,8BAA8B;;;;;;;;;;;;;;;;;;;;;EAGzC,CAAA;AACF,MAAM,MAAM,8BAA8B,GAAG,CAAC,CAAC,KAAK,CAClD,OAAO,8BAA8B,CACtC,CAAA;AAED,uEAAuE;AACvE,eAAO,MAAM,yBAAyB;;;;;;;;EAQpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED,iFAAiF;AACjF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;EAclC,CAAA;AACF,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;GAGG;AACH,eAAO,MAAM,0BAA0B;;;;;;EAMrC,CAAA;AACF,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,sBAAsB;;;;;kBAOxB,CAAA;AACX,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;mBA2BhC,CAAA;AACJ,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAA;AAE7E;;;;GAIG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAQ7B,CAAA;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAA;AAEnE,2FAA2F;AAC3F,eAAO,MAAM,yBAAyB;;;;iBAIpC,CAAA;AACF,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AAED,eAAO,MAAM,yBAAyB;;kBAE3B,CAAA;AACX,MAAM,MAAM,yBAAyB,GAAG,CAAC,CAAC,KAAK,CAC7C,OAAO,yBAAyB,CACjC,CAAA;AACD,eAAO,MAAM,qBAAqB;;kBAA4B,CAAA;AAC9D,eAAO,MAAM,0BAA0B;;;;;kBAK5B,CAAA;AACX,eAAO,MAAM,gCAAgC;;;;;;;;kBAKlC,CAAA;AACX,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAK1B,CAAA;AACX,eAAO,MAAM,0BAA0B;;;;;;;;;;;;;;;;;;;;;;;;kBAE5B,CAAA;AACX,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAC9C,OAAO,0BAA0B,CAClC,CAAA;AACD,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;kBAEzB,CAAA;AACX,eAAO,MAAM,oBAAoB,iCAAwB,CAAA;AAEzD;;;;;;;;GAQG;AACH,8BAAsB,6BAA6B;IACjD;;;OAGG;aACa,SAAS,IAAI,eAAe,CAAC,OAAO,CAAC;IAErD;;;;;OAKG;aACa,GAAG,CACjB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,eAAe,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAE7C;;;;;OAKG;aACa,UAAU,CACxB,MAAM,CAAC,EAAE,oBAAoB,GAC5B,eAAe,CAAC,yBAAyB,EAAE,CAAC;IAE/C;;;;;;;;;;;OAWG;aACa,QAAQ,CACtB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,yBAAyB,GAClC,eAAe,CAAC,kBAAkB,CAAC;IAEtC;;;;;;;;;OASG;aACa,cAAc,CAC5B,KAAK,EAAE,yBAAyB,EAChC,OAAO,CAAC,EAAE,yBAAyB,GAClC,eAAe,CAAC,kBAAkB,CAAC;IAEtC;;;;;;;;OAQG;aACa,MAAM,CACpB,SAAS,EAAE,uBAAuB,EAClC,OAAO,CAAC,EAAE,yBAAyB,GAClC,eAAe,CAAC,kBAAkB,CAAC;IAEtC;;;;;OAKG;aACa,KAAK,CACnB,OAAO,CAAC,EAAE,0BAA0B,GACnC,eAAe,CAAC,kBAAkB,CAAC;IAEtC;;;;OAIG;aACa,kBAAkB,IAAI,eAAe,CAAC,OAAO,CAAC;IAE9D;;;;OAIG;aACa,eAAe,IAAI,eAAe,CAAC,OAAO,CAAC;IAE3D;;;OAGG;aACa,gBAAgB,IAAI,eAAe,CAAC,OAAO,CAAC;CAC7D"}
@@ -1,15 +1,22 @@
1
1
  import { PluginApiReturn } from "../../types";
2
2
  import { PluginPresentationViewsApi } from "./views";
3
+ import { PluginPresentationCameraApi } from "./camera";
3
4
  import { PluginPresentationAIInspirationApi } from "./aiInspiration";
4
5
  import { PluginPresentationSheetsApi } from "./sheets";
5
6
  import { PluginPresentationPlacedViewsApi } from "./placedViews";
6
7
  import { PluginPresentationDiagramsApi } from "./diagrams";
8
+ import { PluginPresentationDrawingsApi } from "./drawings";
9
+ import { PluginPresentationViewPresetsApi } from "./viewPresets";
7
10
  import { PluginPresentationAnnotateApi } from "./annotate";
8
11
  import { PluginPresentationShapesApi } from "./shapes";
9
12
  import { PluginPresentationTablesApi } from "./tables";
10
13
  import { PluginPresentationSlideshowApi } from "./slideshow";
11
14
  import { PluginPresentationImportApi } from "./import";
12
- import { PluginPresentationExportResult, type PluginPresentationExportFormat, type PluginPresentationExportResolution } from "./export";
15
+ import { PluginPresentationWalkthroughsApi } from "./walkthroughs";
16
+ import { PluginPresentationSectionsApi } from "./sections";
17
+ import { PluginPresentationGraphicsApi } from "./graphics";
18
+ import { PluginPresentationStandardsApi } from "./standards";
19
+ import { type PluginPresentationExportResult, type PluginPresentationExportDownloadResult, type PluginPresentationExportFormat, type PluginPresentationExportOptions } from "./export";
13
20
  /**
14
21
  * Presentation APIs — prepare and assemble presentations.
15
22
  *
@@ -21,19 +28,33 @@ import { PluginPresentationExportResult, type PluginPresentationExportFormat, ty
21
28
  * sheets, diagram placement, and import.
22
29
  *
23
30
  * - {@linkcode PluginPresentationApi.views} — Saved 2D/3D views (list, get, capture, activate, create)
24
- * - {@linkcode PluginPresentationApi.sheets} — Layout sheets (list, get, create, place views)
31
+ * - {@linkcode PluginPresentationApi.camera} — The Present canvas camera (screenshot, pan/zoom, frame sheets)
32
+ * - {@linkcode PluginPresentationApi.drawings} — Drawings made from saved views (create, rescale, crop, restyle, labels, export)
33
+ * - {@linkcode PluginPresentationApi.viewPresets} — Reusable drawing styles (list, get, create, update, copy, rename, delete)
34
+ * - {@linkcode PluginPresentationApi.sheets} — Layout sheets (list, get, create, place views and drawings)
25
35
  * - {@linkcode PluginPresentationApi.placedViews} — Views already placed on the canvas (move, scale, crop)
26
36
  * - {@linkcode PluginPresentationApi.diagrams} — Generate program/site diagram sheets, place diagram images
27
37
  * - {@linkcode PluginPresentationApi.tables} — Place data tables on sheets
28
38
  * - {@linkcode PluginPresentationApi.slideshow} — Run the Present-mode slideshow
29
39
  * - {@linkcode PluginPresentationApi.import} — Import reference images/PDFs onto the canvas
30
40
  * - {@linkcode PluginPresentationApi.aiInspiration} — Present-mode AI image/video generation
41
+ * - {@linkcode PluginPresentationApi.walkthroughs} — Camera paths through the model: create, play, capture, export as video
42
+ * - {@linkcode PluginPresentationApi.sections} — Section lines: create, edit, open their views, and read what each cuts
43
+ *
44
+ * - {@linkcode PluginPresentationApi.graphics} — Design/BIM view scale, detail, category overrides and viewer Thin Lines
45
+ * - {@linkcode PluginPresentationApi.standards} — Project graphic standards and standard-file interchange
31
46
  *
32
47
  * Accessed via `snaptrude.presentation`.
33
48
  */
34
49
  export declare abstract class PluginPresentationApi {
35
50
  /** Saved 2D/3D views. See {@linkcode PluginPresentationViewsApi}. */
36
51
  abstract views: PluginPresentationViewsApi;
52
+ /** The Present canvas camera — screenshot what is on screen, read/pan/zoom it, frame sheets (Present mode). See {@linkcode PluginPresentationCameraApi}. */
53
+ abstract camera: PluginPresentationCameraApi;
54
+ /** Drawing deliverables made from saved views, independent of sheet composition (Present mode). See {@linkcode PluginPresentationDrawingsApi}. */
55
+ abstract drawings: PluginPresentationDrawingsApi;
56
+ /** Reusable kernel-plan styles stored in the Present document. See {@linkcode PluginPresentationViewPresetsApi}. */
57
+ abstract viewPresets: PluginPresentationViewPresetsApi;
37
58
  /** Layout sheets — list/get/create and place views (Present mode). See {@linkcode PluginPresentationSheetsApi}. */
38
59
  abstract sheets: PluginPresentationSheetsApi;
39
60
  /** Placed views — layout of the view shapes on the canvas: move/scale/setScale/setCrop (Present mode). See {@linkcode PluginPresentationPlacedViewsApi}. */
@@ -55,17 +76,40 @@ export declare abstract class PluginPresentationApi {
55
76
  * {@linkcode PluginPresentationAIInspirationApi}.
56
77
  */
57
78
  abstract aiInspiration: PluginPresentationAIInspirationApi;
79
+ /**
80
+ * Walkthroughs — camera paths through the model: create (keyframes, floor
81
+ * points, camera-move presets), play, capture and export as video onto the
82
+ * Present canvas. See {@linkcode PluginPresentationWalkthroughsApi}.
83
+ */
84
+ abstract walkthroughs: PluginPresentationWalkthroughsApi;
85
+ /**
86
+ * Sections — lines on the plan that cut the model: create, edit and delete
87
+ * them, open their views, and read what each one cuts (`getCut`). See
88
+ * {@linkcode PluginPresentationSectionsApi}.
89
+ */
90
+ abstract sections: PluginPresentationSectionsApi;
91
+ /** Paper Pens scale, detail, overrides and Thin Lines on the Design/BIM canvas. */
92
+ abstract graphics: PluginPresentationGraphicsApi;
93
+ /** Project graphic standards in paper mm, including native file import/export. */
94
+ abstract standards: PluginPresentationStandardsApi;
58
95
  /**
59
96
  * Export the presentation's layout sheets to a downloadable file (PDF / PNG /
60
- * JPG) and return the encoded bytes as base64. Wraps the Present-mode Export
61
- * dialog pipeline headlessly. Requires Present mode to be open.
97
+ * JPG). Return base64 by default; `download: true` initiates browser downloads
98
+ * and returns metadata without base64. Requires Present mode to be open.
99
+ * `fileName` is a base name WITHOUT an extension ("Floor Pattern View", never
100
+ * "Floor Pattern View.pdf"): the host appends the extension for the format, and
101
+ * a name ending in .pdf, .svg, .png, .jpg or .jpeg, a dot or a space is rejected.
62
102
  *
63
103
  * @param format - Output format: `"pdf"`, `"png"`, or `"jpg"`.
64
104
  * @param options - Optional `sheetIds` (all sheets when omitted), `combine`
65
105
  * (PDF only — one multi-page file vs one per sheet, default `true`),
66
- * `resolution` (raster target size for `png`/`jpg`), and `fileName`.
67
- * @returns A {@linkcode PluginPresentationExportResult} — always a `files`
68
- * array (one entry for a combined PDF, one per sheet otherwise).
106
+ * `resolution` (raster target size for `png`/`jpg`), `fileName` (a base name
107
+ * WITHOUT an extension, e.g. "Floor Pattern View"; the host appends the
108
+ * extension and rejects a name ending in .pdf/.svg/.png/.jpg/.jpeg), and `download`.
109
+ * @returns A `files` array (one entry for a combined PDF, one per sheet otherwise).
110
+ * Downloads return {@linkcode PluginPresentationExportDownloadResult}; otherwise
111
+ * {@linkcode PluginPresentationExportResult}. Download initiation does not prove
112
+ * the browser saved the file; multiple downloads may require user permission.
69
113
  * @throws If Present mode is not open, a `sheetId` is unknown, or a sheet
70
114
  * fails to serialize/encode.
71
115
  *
@@ -78,17 +122,20 @@ export declare abstract class PluginPresentationApi {
78
122
  * # Example
79
123
  * ```ts
80
124
  * const { files } = await snaptrude.presentation.export("pdf")
125
+ * const download = await snaptrude.presentation.export("pdf", { download: true })
81
126
  * ```
82
127
  */
83
- abstract export(format: PluginPresentationExportFormat, options?: {
84
- sheetIds?: string[];
85
- combine?: boolean;
86
- resolution?: PluginPresentationExportResolution;
87
- fileName?: string;
128
+ abstract export(format: PluginPresentationExportFormat, options?: PluginPresentationExportOptions & {
129
+ download?: false;
88
130
  }): PluginApiReturn<PluginPresentationExportResult>;
131
+ abstract export(format: PluginPresentationExportFormat, options: PluginPresentationExportOptions & {
132
+ download: true;
133
+ }): PluginApiReturn<PluginPresentationExportDownloadResult>;
134
+ abstract export(format: PluginPresentationExportFormat, options?: PluginPresentationExportOptions): PluginApiReturn<PluginPresentationExportResult | PluginPresentationExportDownloadResult>;
89
135
  constructor();
90
136
  }
91
137
  export * from "./views";
138
+ export * from "./camera";
92
139
  export * from "./sheets";
93
140
  export * from "./placedViews";
94
141
  export * from "./diagrams";
@@ -98,5 +145,12 @@ export * from "./tables";
98
145
  export * from "./slideshow";
99
146
  export * from "./import";
100
147
  export * from "./aiInspiration";
148
+ export * from "./walkthroughs";
149
+ export * from "./sections";
150
+ export * from "./graphics";
151
+ export * from "./standards";
101
152
  export * from "./export";
153
+ export * from "./drawings";
154
+ export * from "./drawingContract";
155
+ export * from "./viewPresets";
102
156
  //# sourceMappingURL=index.d.ts.map