textmode.export.js 1.5.2 → 1.6.0-beta.2

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 (170) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +97 -152
  3. package/dist/textmode.export.esm.js +1 -5890
  4. package/dist/textmode.export.umd.js +1 -68
  5. package/dist/types/augmentations/index.d.ts +0 -1
  6. package/dist/types/augmentations/textmode.d.ts +0 -1
  7. package/dist/types/exporters/base/CharacterResolver.d.ts +0 -1
  8. package/dist/types/exporters/base/DataExtractor.d.ts +0 -1
  9. package/dist/types/exporters/base/FileHandler.d.ts +0 -1
  10. package/dist/types/exporters/base/FramePreparation.d.ts +10 -0
  11. package/dist/types/exporters/base/LayerTarget.d.ts +4 -3
  12. package/dist/types/exporters/base/index.d.ts +1 -1
  13. package/dist/types/exporters/gif/GIFEncoderWorker.d.ts +1 -0
  14. package/dist/types/exporters/gif/GIFExporter.d.ts +7 -27
  15. package/dist/types/exporters/gif/GIFRecorder.d.ts +0 -1
  16. package/dist/types/exporters/gif/GIFWorkerClient.d.ts +15 -0
  17. package/dist/types/exporters/gif/index.d.ts +0 -1
  18. package/dist/types/exporters/gif/types.d.ts +19 -1
  19. package/dist/types/exporters/image/ImageExporter.d.ts +2 -1
  20. package/dist/types/exporters/image/index.d.ts +0 -1
  21. package/dist/types/exporters/image/types.d.ts +2 -1
  22. package/dist/types/exporters/json/JSONDataExtractor.d.ts +0 -1
  23. package/dist/types/exporters/json/JSONExporter.d.ts +0 -1
  24. package/dist/types/exporters/json/index.d.ts +0 -1
  25. package/dist/types/exporters/json/types.d.ts +8 -1
  26. package/dist/types/exporters/svg/SVGContentGenerator.d.ts +0 -1
  27. package/dist/types/exporters/svg/SVGDataExtractor.d.ts +0 -1
  28. package/dist/types/exporters/svg/SVGExporter.d.ts +0 -1
  29. package/dist/types/exporters/svg/SVGPathGenerator.d.ts +0 -1
  30. package/dist/types/exporters/svg/index.d.ts +0 -1
  31. package/dist/types/exporters/svg/types.d.ts +2 -1
  32. package/dist/types/exporters/txt/TXTExporter.d.ts +0 -1
  33. package/dist/types/exporters/txt/index.d.ts +0 -1
  34. package/dist/types/exporters/txt/types.d.ts +2 -1
  35. package/dist/types/exporters/video/VideoExporter.d.ts +2 -2
  36. package/dist/types/exporters/video/VideoFrameDriver.d.ts +0 -1
  37. package/dist/types/exporters/video/VideoRecorder.d.ts +0 -1
  38. package/dist/types/exporters/video/errors.d.ts +0 -1
  39. package/dist/types/exporters/video/index.d.ts +0 -1
  40. package/dist/types/exporters/video/types.d.ts +27 -1
  41. package/dist/types/exporters/video/withAbortableTimeout.d.ts +0 -1
  42. package/dist/types/index.d.ts +16 -56
  43. package/dist/types/overlay/blades/Blade.d.ts +9 -3
  44. package/dist/types/overlay/blades/GIFBlade.d.ts +1 -1
  45. package/dist/types/overlay/blades/ImageBlade.d.ts +1 -1
  46. package/dist/types/overlay/blades/JSONBlade.d.ts +1 -1
  47. package/dist/types/overlay/blades/RecordingBlade.d.ts +7 -0
  48. package/dist/types/overlay/blades/SVGBlade.d.ts +1 -1
  49. package/dist/types/overlay/blades/TextBlade.d.ts +1 -1
  50. package/dist/types/overlay/blades/VideoBlade.d.ts +1 -1
  51. package/dist/types/overlay/blades/index.d.ts +3 -1
  52. package/dist/types/overlay/components/actions/Button.d.ts +0 -1
  53. package/dist/types/overlay/components/base/Component.d.ts +0 -1
  54. package/dist/types/overlay/components/base/Container.d.ts +0 -1
  55. package/dist/types/overlay/components/base/Field.d.ts +0 -1
  56. package/dist/types/overlay/components/display/Header.d.ts +3 -1
  57. package/dist/types/overlay/components/display/StatusDisplay.d.ts +0 -1
  58. package/dist/types/overlay/components/inputs/CheckboxInput.d.ts +0 -1
  59. package/dist/types/overlay/components/inputs/LayerTargetSelect.d.ts +0 -1
  60. package/dist/types/overlay/components/inputs/NumberInput.d.ts +0 -1
  61. package/dist/types/overlay/components/inputs/RangeInput.d.ts +0 -1
  62. package/dist/types/overlay/components/inputs/SelectInput.d.ts +0 -1
  63. package/dist/types/overlay/components/inputs/TextInput.d.ts +0 -1
  64. package/dist/types/overlay/config/DefaultsStore.d.ts +11 -0
  65. package/dist/types/overlay/config/ExportDefaults.d.ts +3 -0
  66. package/dist/types/overlay/core/EventBus.d.ts +0 -1
  67. package/dist/types/overlay/core/OverlayController.d.ts +29 -6
  68. package/dist/types/overlay/core/StateManager.d.ts +0 -1
  69. package/dist/types/overlay/formatRegistry.d.ts +3 -2
  70. package/dist/types/overlay/index.d.ts +0 -2
  71. package/dist/types/overlay/models/FormatDefinition.d.ts +0 -1
  72. package/dist/types/overlay/models/OverlayEvents.d.ts +0 -1
  73. package/dist/types/overlay/models/OverlayState.d.ts +1 -2
  74. package/dist/types/overlay/services/ClipboardService.d.ts +1 -5
  75. package/dist/types/overlay/services/ExportService.d.ts +0 -2
  76. package/dist/types/overlay/services/OverlayPositionStorage.d.ts +12 -0
  77. package/dist/types/overlay/services/PositionService.d.ts +33 -3
  78. package/dist/types/overlay/types.d.ts +36 -2
  79. package/dist/types/overlay/utils/classes.d.ts +3 -1
  80. package/dist/types/types.d.ts +273 -34
  81. package/dist/types/utils/pixels.d.ts +0 -1
  82. package/dist/types/version.d.ts +0 -1
  83. package/package.json +87 -53
  84. package/dist/types/augmentations/index.d.ts.map +0 -1
  85. package/dist/types/augmentations/textmode.d.ts.map +0 -1
  86. package/dist/types/augmentations/textmode.test.d.ts +0 -2
  87. package/dist/types/augmentations/textmode.test.d.ts.map +0 -1
  88. package/dist/types/exporters/base/CharacterResolver.d.ts.map +0 -1
  89. package/dist/types/exporters/base/DataExtractor.d.ts.map +0 -1
  90. package/dist/types/exporters/base/FileHandler.d.ts.map +0 -1
  91. package/dist/types/exporters/base/LayerTarget.d.ts.map +0 -1
  92. package/dist/types/exporters/base/index.d.ts.map +0 -1
  93. package/dist/types/exporters/gif/GIFExporter.d.ts.map +0 -1
  94. package/dist/types/exporters/gif/GIFRecorder.d.ts.map +0 -1
  95. package/dist/types/exporters/gif/index.d.ts.map +0 -1
  96. package/dist/types/exporters/gif/types.d.ts.map +0 -1
  97. package/dist/types/exporters/image/ImageExporter.d.ts.map +0 -1
  98. package/dist/types/exporters/image/index.d.ts.map +0 -1
  99. package/dist/types/exporters/image/types.d.ts.map +0 -1
  100. package/dist/types/exporters/json/JSONDataExtractor.d.ts.map +0 -1
  101. package/dist/types/exporters/json/JSONExporter.d.ts.map +0 -1
  102. package/dist/types/exporters/json/JSONExporter.test.d.ts +0 -2
  103. package/dist/types/exporters/json/JSONExporter.test.d.ts.map +0 -1
  104. package/dist/types/exporters/json/index.d.ts.map +0 -1
  105. package/dist/types/exporters/json/types.d.ts.map +0 -1
  106. package/dist/types/exporters/svg/SVGContentGenerator.d.ts.map +0 -1
  107. package/dist/types/exporters/svg/SVGDataExtractor.d.ts.map +0 -1
  108. package/dist/types/exporters/svg/SVGExporter.d.ts.map +0 -1
  109. package/dist/types/exporters/svg/SVGExporter.test.d.ts +0 -2
  110. package/dist/types/exporters/svg/SVGExporter.test.d.ts.map +0 -1
  111. package/dist/types/exporters/svg/SVGPathGenerator.d.ts.map +0 -1
  112. package/dist/types/exporters/svg/index.d.ts.map +0 -1
  113. package/dist/types/exporters/svg/types.d.ts.map +0 -1
  114. package/dist/types/exporters/txt/TXTExporter.d.ts.map +0 -1
  115. package/dist/types/exporters/txt/TXTExporter.test.d.ts +0 -2
  116. package/dist/types/exporters/txt/TXTExporter.test.d.ts.map +0 -1
  117. package/dist/types/exporters/txt/index.d.ts.map +0 -1
  118. package/dist/types/exporters/txt/types.d.ts.map +0 -1
  119. package/dist/types/exporters/video/VideoExporter.d.ts.map +0 -1
  120. package/dist/types/exporters/video/VideoExporter.test.d.ts +0 -2
  121. package/dist/types/exporters/video/VideoExporter.test.d.ts.map +0 -1
  122. package/dist/types/exporters/video/VideoFrameDriver.d.ts.map +0 -1
  123. package/dist/types/exporters/video/VideoFrameDriver.test.d.ts +0 -2
  124. package/dist/types/exporters/video/VideoFrameDriver.test.d.ts.map +0 -1
  125. package/dist/types/exporters/video/VideoRecorder.d.ts.map +0 -1
  126. package/dist/types/exporters/video/VideoRecorder.test.d.ts +0 -2
  127. package/dist/types/exporters/video/VideoRecorder.test.d.ts.map +0 -1
  128. package/dist/types/exporters/video/errors.d.ts.map +0 -1
  129. package/dist/types/exporters/video/index.d.ts.map +0 -1
  130. package/dist/types/exporters/video/types.d.ts.map +0 -1
  131. package/dist/types/exporters/video/withAbortableTimeout.d.ts.map +0 -1
  132. package/dist/types/index.d.ts.map +0 -1
  133. package/dist/types/overlay/blades/Blade.d.ts.map +0 -1
  134. package/dist/types/overlay/blades/GIFBlade.d.ts.map +0 -1
  135. package/dist/types/overlay/blades/ImageBlade.d.ts.map +0 -1
  136. package/dist/types/overlay/blades/JSONBlade.d.ts.map +0 -1
  137. package/dist/types/overlay/blades/SVGBlade.d.ts.map +0 -1
  138. package/dist/types/overlay/blades/TextBlade.d.ts.map +0 -1
  139. package/dist/types/overlay/blades/VideoBlade.d.ts.map +0 -1
  140. package/dist/types/overlay/blades/index.d.ts.map +0 -1
  141. package/dist/types/overlay/components/actions/Button.d.ts.map +0 -1
  142. package/dist/types/overlay/components/base/Component.d.ts.map +0 -1
  143. package/dist/types/overlay/components/base/Container.d.ts.map +0 -1
  144. package/dist/types/overlay/components/base/Field.d.ts.map +0 -1
  145. package/dist/types/overlay/components/display/Header.d.ts.map +0 -1
  146. package/dist/types/overlay/components/display/StatusDisplay.d.ts.map +0 -1
  147. package/dist/types/overlay/components/inputs/CheckboxInput.d.ts.map +0 -1
  148. package/dist/types/overlay/components/inputs/LayerTargetSelect.d.ts.map +0 -1
  149. package/dist/types/overlay/components/inputs/NumberInput.d.ts.map +0 -1
  150. package/dist/types/overlay/components/inputs/RangeInput.d.ts.map +0 -1
  151. package/dist/types/overlay/components/inputs/SelectInput.d.ts.map +0 -1
  152. package/dist/types/overlay/components/inputs/TextInput.d.ts.map +0 -1
  153. package/dist/types/overlay/core/EventBus.d.ts.map +0 -1
  154. package/dist/types/overlay/core/OverlayController.d.ts.map +0 -1
  155. package/dist/types/overlay/core/StateManager.d.ts.map +0 -1
  156. package/dist/types/overlay/formatRegistry.d.ts.map +0 -1
  157. package/dist/types/overlay/formatRegistry.test.d.ts +0 -2
  158. package/dist/types/overlay/formatRegistry.test.d.ts.map +0 -1
  159. package/dist/types/overlay/index.d.ts.map +0 -1
  160. package/dist/types/overlay/models/FormatDefinition.d.ts.map +0 -1
  161. package/dist/types/overlay/models/OverlayEvents.d.ts.map +0 -1
  162. package/dist/types/overlay/models/OverlayState.d.ts.map +0 -1
  163. package/dist/types/overlay/services/ClipboardService.d.ts.map +0 -1
  164. package/dist/types/overlay/services/ExportService.d.ts.map +0 -1
  165. package/dist/types/overlay/services/PositionService.d.ts.map +0 -1
  166. package/dist/types/overlay/types.d.ts.map +0 -1
  167. package/dist/types/overlay/utils/classes.d.ts.map +0 -1
  168. package/dist/types/types.d.ts.map +0 -1
  169. package/dist/types/utils/pixels.d.ts.map +0 -1
  170. package/dist/types/version.d.ts.map +0 -1
@@ -2,11 +2,138 @@ import type { ImageExportOptions } from './exporters/image';
2
2
  import type { TXTExportOptions } from './exporters/txt';
3
3
  import type { SVGExportOptions } from './exporters/svg';
4
4
  import type { GIFExportOptions } from './exporters/gif';
5
- import type { VideoExportOptions } from './exporters/video';
5
+ import type { VideoBitratePreset, VideoExportOptions } from './exporters/video';
6
6
  import type { JSONExportOptions, TextmodeDocumentJSON } from './exporters/json';
7
+ /**
8
+ * Default TXT export fields controlled by the export overlay.
9
+ *
10
+ * @category Overlay
11
+ *
12
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/TXTOverlayDefaults | TXTOverlayDefaults API reference}
13
+ */
14
+ export type TXTOverlayDefaults = Pick<TXTExportOptions, 'preserveTrailingSpaces' | 'emptyCharacter'>;
15
+ /**
16
+ * Default JSON export fields controlled by the export overlay.
17
+ *
18
+ * @category Overlay
19
+ *
20
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/JSONOverlayDefaults | JSONOverlayDefaults API reference}
21
+ */
22
+ export type JSONOverlayDefaults = Pick<JSONExportOptions, 'target' | 'pretty' | 'includeMetadata' | 'colorMode'>;
23
+ /**
24
+ * Default image export fields controlled by the export overlay.
25
+ *
26
+ * @category Overlay
27
+ *
28
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ImageOverlayDefaults | ImageOverlayDefaults API reference}
29
+ */
30
+ export type ImageOverlayDefaults = Pick<ImageExportOptions, 'format' | 'scale'>;
31
+ /**
32
+ * Default SVG export fields controlled by the export overlay.
33
+ *
34
+ * @category Overlay
35
+ *
36
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/SVGOverlayDefaults | SVGOverlayDefaults API reference}
37
+ */
38
+ export type SVGOverlayDefaults = Pick<SVGExportOptions, 'includeBackgroundRectangles' | 'drawMode' | 'strokeWidth'>;
39
+ /**
40
+ * Default GIF export fields controlled by the export overlay.
41
+ *
42
+ * @category Overlay
43
+ *
44
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/GIFOverlayDefaults | GIFOverlayDefaults API reference}
45
+ */
46
+ export type GIFOverlayDefaults = Pick<GIFExportOptions, 'frameCount' | 'frameRate' | 'scale' | 'repeat'>;
47
+ /**
48
+ * Default video export fields controlled by the export overlay.
49
+ *
50
+ * @category Overlay
51
+ *
52
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/VideoOverlayDefaults | VideoOverlayDefaults API reference}
53
+ */
54
+ export type VideoOverlayDefaults = Pick<VideoExportOptions, 'format' | 'frameCount' | 'frameRate' | 'bitrateMode' | 'latencyMode' | 'hardwareAcceleration' | 'keyFrameInterval' | 'transparent'> & {
55
+ bitrate?: VideoBitratePreset;
56
+ };
57
+ /**
58
+ * Per-format default options used to seed the overlay UI inputs at mount time
59
+ * and after a {@link ExportOverlayController.resetDefaults} call.
60
+ *
61
+ * Each sub-object contains the library-chosen defaults for the fields that
62
+ * the overlay exposes. Top-level `format` controls which export format is
63
+ * selected in the overlay. You can read and override them at runtime via
64
+ * {@link ExportOverlayController.getDefaults} and
65
+ * {@link ExportOverlayController.setDefaults}.
66
+ *
67
+ * @category Overlay
68
+ *
69
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaults | ExportDefaults API reference}
70
+ */
71
+ export type ExportDefaults = {
72
+ /**
73
+ * Export format selected by default in the overlay.
74
+ *
75
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaults#format | ExportDefaults.format API reference}
76
+ */
77
+ format: 'txt' | 'json' | 'image' | 'gif' | 'video' | 'svg';
78
+ txt: TXTOverlayDefaults;
79
+ json: JSONOverlayDefaults;
80
+ image: ImageOverlayDefaults;
81
+ svg: SVGOverlayDefaults;
82
+ gif: GIFOverlayDefaults;
83
+ video: VideoOverlayDefaults;
84
+ };
85
+ /**
86
+ * Partial patch accepted by {@link ExportOverlayController.setDefaults}.
87
+ *
88
+ * Every supplied per-format sub-object is deep-merged into the corresponding
89
+ * format's curated defaults. Top-level `format` changes the overlay's selected
90
+ * format. Omitted keys keep their current value.
91
+ *
92
+ * @category Overlay
93
+ *
94
+ * @example
95
+ * ```ts
96
+ * t.exportOverlay.setDefaults({ format: 'image', image: { scale: 2 }, gif: { frameRate: 30 } });
97
+ * ```
98
+ *
99
+ * @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaultsPatch | ExportDefaultsPatch API reference}
100
+ */
101
+ export type ExportDefaultsPatch = {
102
+ format?: ExportDefaults['format'];
103
+ } & {
104
+ [K in Exclude<keyof ExportDefaults, 'format'>]?: Partial<ExportDefaults[K]>;
105
+ };
106
+ /**
107
+ * Current canvas-relative placement state for the export overlay UI.
108
+ *
109
+ * `auto` means the overlay is using the library default offset from the
110
+ * textmode canvas. `custom` means the user or runtime API has moved it.
111
+ *
112
+ * @category Overlay
113
+ *
114
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayPosition | ExportOverlayPosition API reference}
115
+ */
116
+ export interface ExportOverlayPosition {
117
+ mode: 'auto' | 'custom';
118
+ offsetX: number;
119
+ offsetY: number;
120
+ }
121
+ /**
122
+ * Canvas-relative placement coordinates for the export overlay UI.
123
+ *
124
+ * @category Overlay
125
+ *
126
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayPositionInput | ExportOverlayPositionInput API reference}
127
+ */
128
+ export interface ExportOverlayPositionInput {
129
+ offsetX: number;
130
+ offsetY: number;
131
+ }
7
132
  /**
8
133
  * Controller for managing the export overlay UI visibility at runtime.
9
134
  *
135
+ * @category Overlay
136
+ *
10
137
  * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController | ExportOverlayController API reference}
11
138
  */
12
139
  export interface ExportOverlayController {
@@ -18,7 +145,7 @@ export interface ExportOverlayController {
18
145
  * t.exportOverlay.show();
19
146
  * ```
20
147
  *
21
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController/methods/show | ExportOverlayController.show API reference}
148
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#show | ExportOverlayController.show API reference}
22
149
  */
23
150
  show(): void;
24
151
  /**
@@ -29,7 +156,7 @@ export interface ExportOverlayController {
29
156
  * t.exportOverlay.hide();
30
157
  * ```
31
158
  *
32
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController/methods/hide | ExportOverlayController.hide API reference}
159
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#hide | ExportOverlayController.hide API reference}
33
160
  */
34
161
  hide(): void;
35
162
  /**
@@ -40,7 +167,7 @@ export interface ExportOverlayController {
40
167
  * t.exportOverlay.toggle();
41
168
  * ```
42
169
  *
43
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController/methods/toggle | ExportOverlayController.toggle API reference}
170
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#toggle | ExportOverlayController.toggle API reference}
44
171
  */
45
172
  toggle(): void;
46
173
  /**
@@ -51,12 +178,112 @@ export interface ExportOverlayController {
51
178
  * const visible = t.exportOverlay.isVisible();
52
179
  * ```
53
180
  *
54
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController/methods/isVisible | ExportOverlayController.isVisible API reference}
181
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#isvisible | ExportOverlayController.isVisible API reference}
55
182
  */
56
183
  isVisible(): boolean;
184
+ /**
185
+ * Restores the export overlay to its default canvas-relative placement and
186
+ * clears any remembered placement.
187
+ *
188
+ * @example
189
+ * ```ts
190
+ * t.exportOverlay.resetPosition();
191
+ * ```
192
+ *
193
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#resetposition | ExportOverlayController.resetPosition API reference}
194
+ */
195
+ resetPosition(): void;
196
+ /**
197
+ * Reads the current export overlay placement.
198
+ *
199
+ * @returns The current canvas-relative overlay placement state.
200
+ *
201
+ * @example
202
+ * ```ts
203
+ * const position = t.exportOverlay.getPosition();
204
+ * console.log(position.mode, position.offsetX, position.offsetY);
205
+ * ```
206
+ *
207
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#getposition | ExportOverlayController.getPosition API reference}
208
+ */
209
+ getPosition(): Readonly<ExportOverlayPosition>;
210
+ /**
211
+ * Moves the export overlay to a custom canvas-relative placement and
212
+ * remembers that placement for future sessions on the same origin.
213
+ *
214
+ * @param position Canvas-relative overlay offsets in CSS pixels.
215
+ *
216
+ * @example
217
+ * ```ts
218
+ * t.exportOverlay.setPosition({ offsetX: 24, offsetY: 24 });
219
+ * ```
220
+ *
221
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#setposition | ExportOverlayController.setPosition API reference}
222
+ */
223
+ setPosition(position: ExportOverlayPositionInput): void;
224
+ /**
225
+ * Override the curated overlay defaults at runtime.
226
+ *
227
+ * Merges the supplied patch into the internal defaults store. Per-format
228
+ * option patches are pushed into mounted blades; top-level `format` updates
229
+ * the overlay's selected export format immediately.
230
+ *
231
+ * @param patch Partial defaults to merge per format.
232
+ *
233
+ * @example
234
+ * ```ts
235
+ * // Select image export by default, set image scale to 2×, and GIF to 30 fps
236
+ * t.exportOverlay.setDefaults({ format: 'image', image: { scale: 2 }, gif: { frameRate: 30 } });
237
+ * ```
238
+ *
239
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#setdefaults | ExportOverlayController.setDefaults API reference}
240
+ */
241
+ setDefaults(patch: ExportDefaultsPatch): void;
242
+ /**
243
+ * Read the current effective defaults for every format.
244
+ *
245
+ * The returned object reflects the library's curated defaults merged
246
+ * with any runtime overrides applied via {@link setDefaults}.
247
+ *
248
+ * @returns The current per-format defaults.
249
+ *
250
+ * @example
251
+ * ```ts
252
+ * const defaults = t.exportOverlay.getDefaults();
253
+ * console.log(defaults.image.scale); // 1 (or whatever was set)
254
+ * ```
255
+ *
256
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#getdefaults | ExportOverlayController.getDefaults API reference}
257
+ */
258
+ getDefaults(): Readonly<ExportDefaults>;
259
+ /**
260
+ * Restore one or all formats to the library's curated defaults.
261
+ *
262
+ * If a format is specified, only that format is reset; otherwise all
263
+ * formats are restored.
264
+ *
265
+ * @param format Optional format to reset. Omit to reset all.
266
+ *
267
+ * @example
268
+ * ```ts
269
+ * // Reset image defaults
270
+ * t.exportOverlay.resetDefaults('image');
271
+ *
272
+ * // Reset the overlay's selected default export format
273
+ * t.exportOverlay.resetDefaults('format');
274
+ *
275
+ * // Reset all formats
276
+ * t.exportOverlay.resetDefaults();
277
+ * ```
278
+ *
279
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#resetdefaults | ExportOverlayController.resetDefaults API reference}
280
+ */
281
+ resetDefaults(format?: keyof ExportDefaults): void;
57
282
  }
58
283
  /**
59
- * Runtime export helpers that `createExportPlugin` attaches to the `Textmodifier` instance.
284
+ * Runtime export helpers that `ExportPlugin` attaches to the `Textmodifier` instance.
285
+ *
286
+ * @category Workflow
60
287
  *
61
288
  * @example
62
289
  * {@includeCode ../examples/ExportPlugin/layerTargets/sketch.js}
@@ -80,9 +307,20 @@ export interface TextmodeExportAPI {
80
307
  * await t.saveCanvas({ format: 'png', filename: 'frame-001' });
81
308
  * ```
82
309
  *
83
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveCanvas | TextmodeExportAPI.saveCanvas API reference}
310
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savecanvas | TextmodeExportAPI.saveCanvas API reference}
84
311
  */
85
312
  saveCanvas(options?: ImageExportOptions): Promise<void>;
313
+ /**
314
+ * Generates the current canvas as an image blob without downloading it.
315
+ *
316
+ * @example
317
+ * ```ts
318
+ * const blob = await t.toImageBlob({ format: 'webp', scale: 2 });
319
+ * ```
320
+ *
321
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#toimageblob | TextmodeExportAPI.toImageBlob API reference}
322
+ */
323
+ toImageBlob(options?: ImageExportOptions): Promise<Blob>;
86
324
  /**
87
325
  * Copies the current canvas to the user's clipboard as an image.
88
326
  *
@@ -93,7 +331,7 @@ export interface TextmodeExportAPI {
93
331
  * await t.copyCanvas({ format: 'png' });
94
332
  * ```
95
333
  *
96
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/copyCanvas | TextmodeExportAPI.copyCanvas API reference}
334
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#copycanvas | TextmodeExportAPI.copyCanvas API reference}
97
335
  */
98
336
  copyCanvas(options?: ImageExportOptions): Promise<void>;
99
337
  /**
@@ -106,7 +344,7 @@ export interface TextmodeExportAPI {
106
344
  * t.saveSVG({ filename: 'poster', layer: t.layers.base, includeBackgroundRectangles: true });
107
345
  * ```
108
346
  *
109
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveSVG | TextmodeExportAPI.saveSVG API reference}
347
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savesvg | TextmodeExportAPI.saveSVG API reference}
110
348
  */
111
349
  saveSVG(options?: SVGExportOptions): void;
112
350
  /**
@@ -119,7 +357,7 @@ export interface TextmodeExportAPI {
119
357
  * t.saveStrings({ filename: 'frame', layer: t.layers.base, preserveTrailingSpaces: true });
120
358
  * ```
121
359
  *
122
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveStrings | TextmodeExportAPI.saveStrings API reference}
360
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savestrings | TextmodeExportAPI.saveStrings API reference}
123
361
  */
124
362
  saveStrings(options?: TXTExportOptions): void;
125
363
  /**
@@ -133,7 +371,7 @@ export interface TextmodeExportAPI {
133
371
  * const svg = t.toSVG({ layer: t.layers.base, drawMode: 'stroke', strokeWidth: 1.5 });
134
372
  * ```
135
373
  *
136
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/toSVG | TextmodeExportAPI.toSVG API reference}
374
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tosvg | TextmodeExportAPI.toSVG API reference}
137
375
  */
138
376
  toSVG(options?: SVGExportOptions): string;
139
377
  /**
@@ -147,7 +385,7 @@ export interface TextmodeExportAPI {
147
385
  * const text = t.toString({ layer: t.layers.base, preserveTrailingSpaces: false });
148
386
  * ```
149
387
  *
150
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/toString | TextmodeExportAPI.toString API reference}
388
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tostring | TextmodeExportAPI.toString API reference}
151
389
  */
152
390
  toString(options?: TXTExportOptions): string;
153
391
  /**
@@ -162,7 +400,7 @@ export interface TextmodeExportAPI {
162
400
  * const stack = t.toJSON({ target: 'all' });
163
401
  * ```
164
402
  *
165
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/toJSON | TextmodeExportAPI.toJSON API reference}
403
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tojson | TextmodeExportAPI.toJSON API reference}
166
404
  */
167
405
  toJSON(options?: JSONExportOptions): TextmodeDocumentJSON;
168
406
  /**
@@ -177,7 +415,7 @@ export interface TextmodeExportAPI {
177
415
  * const stackJson = t.toJSONString({ target: 'all' });
178
416
  * ```
179
417
  *
180
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/toJSONString | TextmodeExportAPI.toJSONString API reference}
418
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tojsonstring | TextmodeExportAPI.toJSONString API reference}
181
419
  */
182
420
  toJSONString(options?: JSONExportOptions): string;
183
421
  /**
@@ -191,7 +429,7 @@ export interface TextmodeExportAPI {
191
429
  * t.saveJSON({ filename: 'stack', target: 'all' });
192
430
  * ```
193
431
  *
194
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveJSON | TextmodeExportAPI.saveJSON API reference}
432
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savejson | TextmodeExportAPI.saveJSON API reference}
195
433
  */
196
434
  saveJSON(options?: JSONExportOptions): void;
197
435
  /**
@@ -204,9 +442,20 @@ export interface TextmodeExportAPI {
204
442
  * await t.saveGIF({ frameCount: 120, frameRate: 30, filename: 'loop' });
205
443
  * ```
206
444
  *
207
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveGIF | TextmodeExportAPI.saveGIF API reference}
445
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savegif | TextmodeExportAPI.saveGIF API reference}
208
446
  */
209
447
  saveGIF(options?: GIFExportOptions): Promise<void>;
448
+ /**
449
+ * Generates an animated GIF blob without downloading it.
450
+ *
451
+ * @example
452
+ * ```ts
453
+ * const blob = await t.toGIFBlob({ frameCount: 90, frameRate: 30 });
454
+ * ```
455
+ *
456
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#togifblob | TextmodeExportAPI.toGIFBlob API reference}
457
+ */
458
+ toGIFBlob(options?: GIFExportOptions): Promise<Blob>;
210
459
  /**
211
460
  * Captures a video and saves it to disk *(`'mp4'` by default)*.
212
461
  *
@@ -226,28 +475,18 @@ export interface TextmodeExportAPI {
226
475
  * });
227
476
  * ```
228
477
  *
229
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI/methods/saveVideo | TextmodeExportAPI.saveVideo API reference}
478
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savevideo | TextmodeExportAPI.saveVideo API reference}
230
479
  */
231
480
  saveVideo(options?: VideoExportOptions): Promise<void>;
232
- }
233
- /**
234
- * Options for configuring the export plugin.
235
- *
236
- * @deprecated This interface is only used by the deprecated `createTextmodeExportPlugin` function.
237
- * Use {@link ExportPlugin} directly instead, and control overlay visibility at runtime via
238
- * {@link ExportOverlayController}.
239
- *
240
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportPluginOptions | TextmodeExportPluginOptions API reference}
241
- */
242
- export interface TextmodeExportPluginOptions {
243
481
  /**
244
- * Controls whether the export overlay UI should be created.
245
- * Defaults to `true`.
482
+ * Generates a video blob without downloading it.
246
483
  *
247
- * @deprecated Use runtime overlay controls instead: `textmodifier.exportOverlay.show()` / `.hide()`
484
+ * @example
485
+ * ```ts
486
+ * const blob = await t.toVideoBlob({ format: 'webm', frameCount: 120, frameRate: 30 });
487
+ * ```
248
488
  *
249
- * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportPluginOptions#overlay | TextmodeExportPluginOptions.overlay API reference}
489
+ * @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tovideoblob | TextmodeExportAPI.toVideoBlob API reference}
250
490
  */
251
- overlay?: boolean;
491
+ toVideoBlob(options?: VideoExportOptions): Promise<Blob>;
252
492
  }
253
- //# sourceMappingURL=types.d.ts.map
@@ -11,4 +11,3 @@ export declare function pixelsToRGBA(pixels: Uint8Array, index: number): {
11
11
  b: number;
12
12
  a: number;
13
13
  };
14
- //# sourceMappingURL=pixels.d.ts.map
@@ -1,2 +1 @@
1
1
  export declare const TEXTMODE_EXPORT_VERSION = "1.2.1";
2
- //# sourceMappingURL=version.d.ts.map
package/package.json CHANGED
@@ -1,8 +1,20 @@
1
1
  {
2
2
  "name": "textmode.export.js",
3
- "version": "1.5.2",
3
+ "version": "1.6.0-beta.2",
4
4
  "description": "Export plugin for textmode.js - Save your creations as images, GIFs, videos, SVG, JSON, and plain text.",
5
5
  "type": "module",
6
+ "devEngines": {
7
+ "runtime": {
8
+ "name": "node",
9
+ "version": "^24.0.0",
10
+ "onFail": "error"
11
+ },
12
+ "packageManager": {
13
+ "name": "npm",
14
+ "version": "^11.0.0",
15
+ "onFail": "error"
16
+ }
17
+ },
6
18
  "main": "./dist/textmode.export.umd.js",
7
19
  "module": "./dist/textmode.export.esm.js",
8
20
  "types": "./dist/types/index.d.ts",
@@ -23,68 +35,60 @@
23
35
  "scripts": {
24
36
  "dev": "vite --port 5174 --host",
25
37
  "build:bundle": "vite build",
26
- "build:types": "tsc",
38
+ "build:types": "textmode-types build",
27
39
  "build": "npm run build:bundle && npm run build:types",
28
- "check": "npm run check:format && npm run lint && npm run lint:md && npm run check:types && npm run check:api-docs && npm run test && npm run build",
29
- "docs:links:add": "node ./scripts/add-api-doc-links.mjs",
30
- "check:api-docs": "node ./scripts/check-public-api-docs.mjs",
31
- "check:examples": "node ./scripts/check-examples.mjs",
32
- "dev:docs": "typedoc --watch",
33
- "build:docs": "typedoc",
40
+ "check": "textmode-project check",
41
+ "docs:links:add": "textmode-docs links add",
42
+ "docs:api:check": "textmode-docs api-check",
43
+ "docs:dev": "textmode-docs watch",
44
+ "docs:build": "textmode-docs build",
45
+ "docs:check": "textmode-docs check",
34
46
  "preview": "vite preview",
35
- "test": "vitest run --passWithNoTests",
36
- "test:watch": "vitest --passWithNoTests",
37
- "test:ui": "vitest --ui --passWithNoTests",
38
- "test:coverage": "vitest --coverage --passWithNoTests",
39
- "format": "prettier --write .",
40
- "check:format": "prettier --check .",
41
- "check:types": "tsc --noEmit",
42
- "lint:md": "markdownlint-cli2",
43
- "lint:md:fix": "markdownlint-cli2 --fix",
44
- "lint": "eslint src --config eslint.config.js",
45
- "prepare": "husky"
47
+ "test": "vitest run",
48
+ "test:watch": "vitest",
49
+ "format": "prettier --write . --ignore-unknown",
50
+ "format:check": "prettier --check . --ignore-unknown",
51
+ "typecheck": "textmode-types check",
52
+ "types:verify": "textmode-types verify",
53
+ "lint:markdown": "markdownlint-cli2 --config package.json --configPointer /markdownlint-cli2",
54
+ "lint:markdown:fix": "markdownlint-cli2 --config package.json --configPointer /markdownlint-cli2 --fix",
55
+ "lint": "eslint src",
56
+ "prepare": "install-git-hooks",
57
+ "prepack": "textmode-project prepack",
58
+ "release": "semantic-release"
46
59
  },
47
60
  "peerDependencies": {
48
- "textmode.js": ">=0.13.0"
61
+ "textmode.js": ">=0.16.0"
49
62
  },
50
63
  "dependencies": {
51
64
  "gifenc": "^1.0.1",
52
65
  "mediabunny": "^1.45.4"
53
66
  },
54
67
  "devDependencies": {
55
- "@commitlint/cli": "^20.5.0",
56
- "@commitlint/config-conventional": "^20.5.0",
57
- "@eslint/js": "^9.39.4",
58
- "@rollup/plugin-terser": "^0.4.4",
59
- "@semantic-release/commit-analyzer": "^13.0.1",
60
- "@semantic-release/exec": "^7.1.0",
61
- "@semantic-release/git": "^10.0.1",
62
- "@semantic-release/github": "^12.0.6",
63
- "@semantic-release/npm": "^13.1.5",
64
- "@semantic-release/release-notes-generator": "^14.1.0",
65
- "@types/node": "^24.0.13",
66
- "@vitest/ui": "^3.1.2",
67
- "eslint": "^9.39.2",
68
- "eslint-plugin-jsdoc": "^62.9.0",
69
- "globals": "^17.5.0",
70
- "husky": "^9.1.7",
71
- "jsdom": "^26.1.0",
72
- "lint-staged": "^16.4.0",
73
- "markdownlint-cli2": "^0.22.1",
74
- "markdownlint-cli2-formatter-default": "^0.0.6",
75
- "prettier": "^3.8.3",
76
- "semantic-release": "^25.0.3",
77
- "terser": "^5.44.0",
78
- "textmode.js": "^0.16.0",
79
- "typedoc": "^0.28.19",
80
- "typedoc-plugin-frontmatter": "^1.3.1",
81
- "typedoc-plugin-markdown": "^4.11.0",
82
- "typedoc-vitepress-theme": "^1.1.2",
83
- "typescript": "^5.9.2",
84
- "typescript-eslint": "^8.59.0",
85
- "vite": "^6.3.4",
86
- "vite-plugin-css-injected-by-js": "^3.5.2",
87
- "vitest": "^3.1.2"
68
+ "@commitlint/cli": "^21.2.1",
69
+ "@textmode/commitlint-config": "^0.1.1",
70
+ "@textmode/docs": "^0.2.2",
71
+ "@textmode/eslint-config": "^0.2.0",
72
+ "@textmode/markdownlint-config": "^0.1.1",
73
+ "@textmode/prettier-config": "^0.1.0",
74
+ "@textmode/release-config": "^0.1.2",
75
+ "@textmode/tooling-scripts": "^0.5.0",
76
+ "@textmode/tsconfig": "^0.2.0",
77
+ "@textmode/vite-config": "^0.1.0",
78
+ "@types/node": "^24.0.0",
79
+ "@vitest/ui": "^4.1.10",
80
+ "eslint": "^10.6.0",
81
+ "jsdom": "^30.0.0",
82
+ "lint-staged": "^17.0.8",
83
+ "markdownlint-cli2": "^0.23.2",
84
+ "prettier": "^3.9.4",
85
+ "semantic-release": "^25.0.5",
86
+ "terser": "^5.46.1",
87
+ "textmode.js": "^0.17.0",
88
+ "typescript": "^6.0.3",
89
+ "vite": "^8.1.3",
90
+ "vite-plugin-css-injected-by-js": "^5.0.2",
91
+ "vitest": "^4.1.10"
88
92
  },
89
93
  "keywords": [
90
94
  "textmode",
@@ -111,11 +115,41 @@
111
115
  "lint-staged": {
112
116
  "*": "prettier --ignore-unknown --write"
113
117
  },
118
+ "prettier": "@textmode/prettier-config",
119
+ "commitlint": {
120
+ "extends": [
121
+ "@textmode/commitlint-config"
122
+ ]
123
+ },
114
124
  "repository": {
115
125
  "type": "git",
116
126
  "url": "git+https://github.com/humanbydefinition/textmode.export.js.git"
117
127
  },
118
128
  "bugs": {
119
129
  "url": "https://github.com/humanbydefinition/textmode.export.js/issues"
130
+ },
131
+ "markdownlint-cli2": {
132
+ "globs": [
133
+ "**/*.md"
134
+ ],
135
+ "ignores": [
136
+ "api/**",
137
+ "node_modules/**",
138
+ "dist/**",
139
+ "examples/**/*.md",
140
+ "**/CHANGELOG.md"
141
+ ],
142
+ "fix": false,
143
+ "outputFormatters": [
144
+ [
145
+ "markdownlint-cli2-formatter-default"
146
+ ]
147
+ ],
148
+ "config": {
149
+ "extends": "@textmode/markdownlint-config"
150
+ }
151
+ },
152
+ "release": {
153
+ "extends": "@textmode/release-config"
120
154
  }
121
155
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/augmentations/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"textmode.d.ts","sourceRoot":"","sources":["../../../src/augmentations/textmode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAElD,OAAO,QAAQ,aAAa,CAAC;IAC5B,UAAU,YAAa,SAAQ,iBAAiB;KAAG;CACnD"}
@@ -1,2 +0,0 @@
1
- import './textmode';
2
- //# sourceMappingURL=textmode.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"textmode.test.d.ts","sourceRoot":"","sources":["../../../src/augmentations/textmode.test.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"CharacterResolver.d.ts","sourceRoot":"","sources":["../../../../src/exporters/base/CharacterResolver.ts"],"names":[],"mappings":"AAAA,KAAK,eAAe,GAAG;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,KAAK,cAAc,GAAG;IACrB,UAAU,EAAE,SAAS,eAAe,EAAE,CAAC;CACvC,CAAC;AAIF;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAIrF;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,eAAe,GAAG,SAAS,CAYlH"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"DataExtractor.d.ts","sourceRoot":"","sources":["../../../../src/exporters/base/DataExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEpD;;;GAGG;AACH,qBAAa,aAAa;IACzB;;;;;OAKG;IACI,uBAAuB,CAAC,WAAW,EAAE,mBAAmB,GAAG,eAAe;IAQjF;;;;;;OAMG;IACI,yBAAyB,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAQzF;;;;;;OAMG;IACI,kBAAkB,CAAC,eAAe,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM;IAIlF;;;;;;OAMG;IACI,qBAAqB,CAC3B,eAAe,EAAE,UAAU,EAC3B,UAAU,EAAE,MAAM,GAChB;QAAE,UAAU,EAAE,OAAO,CAAC;QAAC,cAAc,EAAE,OAAO,CAAC;QAAC,YAAY,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAW5F"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"FileHandler.d.ts","sourceRoot":"","sources":["../../../../src/exporters/base/FileHandler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,WAAW;IACvB;;;;;OAKG;IACI,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI;IAyBpE;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAmBzB;;;;OAIG;IACH,OAAO,CAAC,wBAAwB;CAGhC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"LayerTarget.d.ts","sourceRoot":"","sources":["../../../../src/exporters/base/LayerTarget.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AACnF,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,MAAM,WAAW,yBAAyB;IACzC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;IACrB,IAAI,EAAE,YAAY,CAAC;IACnB,IAAI,EAAE,YAAY,GAAG,eAAe,CAAC;IACrC,eAAe,EAAE,mBAAmB,CAAC;CACrC;AAED,MAAM,WAAW,8BAA+B,SAAQ,yBAAyB;IAChF,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,iBAAiB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,aAAa,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IACnC,UAAU,IAAI,iBAAiB,EAAE,CAAC;IAClC,YAAY,CAAC,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IACpD,YAAY,IAAI,MAAM,CAAC;CACvB;AAQD,wBAAgB,qBAAqB,CAAC,YAAY,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAWrF;AAED,wBAAgB,yBAAyB,CAAC,YAAY,EAAE,YAAY,GAAG,mBAAmB,CAMzF;AAED,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,GAAG,MAAM,CAWzF;AAED,wBAAgB,wBAAwB,CAAC,YAAY,EAAE,YAAY,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,yBAAyB,CAmBrH;AAED,wBAAgB,8BAA8B,CAAC,YAAY,EAAE,YAAY,GAAG,8BAA8B,EAAE,CAwB3G"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/base/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,6BAA6B,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AAChG,OAAO,EACN,yBAAyB,EACzB,gBAAgB,EAChB,qBAAqB,EACrB,wBAAwB,EACxB,8BAA8B,GAC9B,MAAM,eAAe,CAAC;AACvB,YAAY,EACX,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,8BAA8B,GAC9B,MAAM,eAAe,CAAC"}