textmode.export.js 1.6.0 → 1.7.1
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.
- package/README.md +88 -159
- package/dist/textmode.export.esm.js +1 -6090
- package/dist/textmode.export.umd.js +1 -68
- package/dist/types/augmentations/index.d.ts +0 -1
- package/dist/types/augmentations/textmode.d.ts +0 -1
- package/dist/types/exporters/base/CharacterResolver.d.ts +0 -1
- package/dist/types/exporters/base/DataExtractor.d.ts +0 -1
- package/dist/types/exporters/base/FileHandler.d.ts +0 -1
- package/dist/types/exporters/base/FramePreparation.d.ts +10 -0
- package/dist/types/exporters/base/LayerTarget.d.ts +4 -3
- package/dist/types/exporters/base/index.d.ts +1 -1
- package/dist/types/exporters/gif/GIFEncoderWorker.d.ts +1 -0
- package/dist/types/exporters/gif/GIFExporter.d.ts +7 -26
- package/dist/types/exporters/gif/GIFRecorder.d.ts +2 -3
- package/dist/types/exporters/gif/GIFWorkerClient.d.ts +15 -0
- package/dist/types/exporters/gif/index.d.ts +0 -1
- package/dist/types/exporters/gif/types.d.ts +19 -1
- package/dist/types/exporters/image/ImageExporter.d.ts +2 -1
- package/dist/types/exporters/image/index.d.ts +0 -1
- package/dist/types/exporters/image/types.d.ts +2 -1
- package/dist/types/exporters/json/JSONDataExtractor.d.ts +0 -1
- package/dist/types/exporters/json/JSONExporter.d.ts +0 -1
- package/dist/types/exporters/json/index.d.ts +0 -1
- package/dist/types/exporters/json/types.d.ts +8 -1
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts +0 -1
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts +0 -1
- package/dist/types/exporters/svg/SVGExporter.d.ts +0 -1
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts +0 -1
- package/dist/types/exporters/svg/index.d.ts +0 -1
- package/dist/types/exporters/svg/types.d.ts +2 -1
- package/dist/types/exporters/txt/TXTExporter.d.ts +0 -1
- package/dist/types/exporters/txt/index.d.ts +0 -1
- package/dist/types/exporters/txt/types.d.ts +2 -1
- package/dist/types/exporters/video/VideoExporter.d.ts +4 -4
- package/dist/types/exporters/video/VideoFrameDriver.d.ts +3 -3
- package/dist/types/exporters/video/VideoRecorder.d.ts +0 -1
- package/dist/types/exporters/video/errors.d.ts +0 -1
- package/dist/types/exporters/video/index.d.ts +0 -1
- package/dist/types/exporters/video/types.d.ts +34 -6
- package/dist/types/exporters/video/withAbortableTimeout.d.ts +0 -1
- package/dist/types/index.d.ts +15 -31
- package/dist/types/overlay/blades/Blade.d.ts +0 -1
- package/dist/types/overlay/blades/GIFBlade.d.ts +0 -1
- package/dist/types/overlay/blades/ImageBlade.d.ts +0 -1
- package/dist/types/overlay/blades/JSONBlade.d.ts +0 -1
- package/dist/types/overlay/blades/RecordingBlade.d.ts +0 -1
- package/dist/types/overlay/blades/SVGBlade.d.ts +0 -1
- package/dist/types/overlay/blades/TextBlade.d.ts +0 -1
- package/dist/types/overlay/blades/VideoBlade.d.ts +0 -1
- package/dist/types/overlay/blades/index.d.ts +0 -1
- package/dist/types/overlay/components/actions/Button.d.ts +0 -1
- package/dist/types/overlay/components/base/Component.d.ts +0 -1
- package/dist/types/overlay/components/base/Container.d.ts +0 -1
- package/dist/types/overlay/components/base/Field.d.ts +0 -1
- package/dist/types/overlay/components/display/Header.d.ts +0 -1
- package/dist/types/overlay/components/display/StatusDisplay.d.ts +0 -1
- package/dist/types/overlay/components/inputs/CheckboxInput.d.ts +0 -1
- package/dist/types/overlay/components/inputs/LayerTargetSelect.d.ts +0 -1
- package/dist/types/overlay/components/inputs/NumberInput.d.ts +0 -1
- package/dist/types/overlay/components/inputs/SelectInput.d.ts +0 -1
- package/dist/types/overlay/components/inputs/TextInput.d.ts +0 -1
- package/dist/types/overlay/config/DefaultsStore.d.ts +0 -1
- package/dist/types/overlay/config/ExportDefaults.d.ts +0 -1
- package/dist/types/overlay/core/EventBus.d.ts +0 -1
- package/dist/types/overlay/core/OverlayController.d.ts +0 -1
- package/dist/types/overlay/core/StateManager.d.ts +0 -1
- package/dist/types/overlay/formatRegistry.d.ts +0 -1
- package/dist/types/overlay/index.d.ts +0 -1
- package/dist/types/overlay/models/FormatDefinition.d.ts +0 -1
- package/dist/types/overlay/models/OverlayEvents.d.ts +0 -1
- package/dist/types/overlay/models/OverlayState.d.ts +0 -1
- package/dist/types/overlay/services/ClipboardService.d.ts +0 -1
- package/dist/types/overlay/services/ExportService.d.ts +0 -1
- package/dist/types/overlay/services/OverlayPositionStorage.d.ts +0 -1
- package/dist/types/overlay/services/PositionService.d.ts +0 -1
- package/dist/types/overlay/types.d.ts +0 -1
- package/dist/types/overlay/utils/classes.d.ts +0 -1
- package/dist/types/types.d.ts +109 -23
- package/dist/types/utils/pixels.d.ts +0 -1
- package/package.json +47 -61
- package/dist/types/augmentations/index.d.ts.map +0 -1
- package/dist/types/augmentations/textmode.d.ts.map +0 -1
- package/dist/types/augmentations/textmode.test.d.ts +0 -2
- package/dist/types/augmentations/textmode.test.d.ts.map +0 -1
- package/dist/types/exporters/base/CharacterResolver.d.ts.map +0 -1
- package/dist/types/exporters/base/DataExtractor.d.ts.map +0 -1
- package/dist/types/exporters/base/FileHandler.d.ts.map +0 -1
- package/dist/types/exporters/base/LayerTarget.d.ts.map +0 -1
- package/dist/types/exporters/base/index.d.ts.map +0 -1
- package/dist/types/exporters/gif/GIFExporter.d.ts.map +0 -1
- package/dist/types/exporters/gif/GIFRecorder.d.ts.map +0 -1
- package/dist/types/exporters/gif/index.d.ts.map +0 -1
- package/dist/types/exporters/gif/types.d.ts.map +0 -1
- package/dist/types/exporters/image/ImageExporter.d.ts.map +0 -1
- package/dist/types/exporters/image/index.d.ts.map +0 -1
- package/dist/types/exporters/image/types.d.ts.map +0 -1
- package/dist/types/exporters/json/JSONDataExtractor.d.ts.map +0 -1
- package/dist/types/exporters/json/JSONExporter.d.ts.map +0 -1
- package/dist/types/exporters/json/JSONExporter.test.d.ts +0 -2
- package/dist/types/exporters/json/JSONExporter.test.d.ts.map +0 -1
- package/dist/types/exporters/json/index.d.ts.map +0 -1
- package/dist/types/exporters/json/types.d.ts.map +0 -1
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts.map +0 -1
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts.map +0 -1
- package/dist/types/exporters/svg/SVGExporter.d.ts.map +0 -1
- package/dist/types/exporters/svg/SVGExporter.test.d.ts +0 -2
- package/dist/types/exporters/svg/SVGExporter.test.d.ts.map +0 -1
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts.map +0 -1
- package/dist/types/exporters/svg/index.d.ts.map +0 -1
- package/dist/types/exporters/svg/types.d.ts.map +0 -1
- package/dist/types/exporters/txt/TXTExporter.d.ts.map +0 -1
- package/dist/types/exporters/txt/TXTExporter.test.d.ts +0 -2
- package/dist/types/exporters/txt/TXTExporter.test.d.ts.map +0 -1
- package/dist/types/exporters/txt/index.d.ts.map +0 -1
- package/dist/types/exporters/txt/types.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoExporter.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoExporter.test.d.ts +0 -2
- package/dist/types/exporters/video/VideoExporter.test.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoFrameDriver.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoFrameDriver.test.d.ts +0 -2
- package/dist/types/exporters/video/VideoFrameDriver.test.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoRecorder.d.ts.map +0 -1
- package/dist/types/exporters/video/VideoRecorder.test.d.ts +0 -2
- package/dist/types/exporters/video/VideoRecorder.test.d.ts.map +0 -1
- package/dist/types/exporters/video/errors.d.ts.map +0 -1
- package/dist/types/exporters/video/index.d.ts.map +0 -1
- package/dist/types/exporters/video/types.d.ts.map +0 -1
- package/dist/types/exporters/video/withAbortableTimeout.d.ts.map +0 -1
- package/dist/types/index.d.ts.map +0 -1
- package/dist/types/overlay/blades/Blade.d.ts.map +0 -1
- package/dist/types/overlay/blades/GIFBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/ImageBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/JSONBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/RecordingBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/SVGBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/TextBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/VideoBlade.d.ts.map +0 -1
- package/dist/types/overlay/blades/index.d.ts.map +0 -1
- package/dist/types/overlay/components/actions/Button.d.ts.map +0 -1
- package/dist/types/overlay/components/base/Component.d.ts.map +0 -1
- package/dist/types/overlay/components/base/Container.d.ts.map +0 -1
- package/dist/types/overlay/components/base/Field.d.ts.map +0 -1
- package/dist/types/overlay/components/display/Header.d.ts.map +0 -1
- package/dist/types/overlay/components/display/StatusDisplay.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/CheckboxInput.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/LayerTargetSelect.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/NumberInput.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/RangeInput.d.ts +0 -35
- package/dist/types/overlay/components/inputs/RangeInput.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/SelectInput.d.ts.map +0 -1
- package/dist/types/overlay/components/inputs/TextInput.d.ts.map +0 -1
- package/dist/types/overlay/config/DefaultsStore.d.ts.map +0 -1
- package/dist/types/overlay/config/DefaultsStore.test.d.ts +0 -2
- package/dist/types/overlay/config/DefaultsStore.test.d.ts.map +0 -1
- package/dist/types/overlay/config/ExportDefaults.d.ts.map +0 -1
- package/dist/types/overlay/config/ExportDefaults.test.d.ts +0 -2
- package/dist/types/overlay/config/ExportDefaults.test.d.ts.map +0 -1
- package/dist/types/overlay/core/EventBus.d.ts.map +0 -1
- package/dist/types/overlay/core/OverlayController.d.ts.map +0 -1
- package/dist/types/overlay/core/OverlayController.test.d.ts +0 -2
- package/dist/types/overlay/core/OverlayController.test.d.ts.map +0 -1
- package/dist/types/overlay/core/StateManager.d.ts.map +0 -1
- package/dist/types/overlay/formatRegistry.d.ts.map +0 -1
- package/dist/types/overlay/formatRegistry.test.d.ts +0 -2
- package/dist/types/overlay/formatRegistry.test.d.ts.map +0 -1
- package/dist/types/overlay/index.d.ts.map +0 -1
- package/dist/types/overlay/models/FormatDefinition.d.ts.map +0 -1
- package/dist/types/overlay/models/OverlayEvents.d.ts.map +0 -1
- package/dist/types/overlay/models/OverlayState.d.ts.map +0 -1
- package/dist/types/overlay/services/ClipboardService.d.ts.map +0 -1
- package/dist/types/overlay/services/ExportService.d.ts.map +0 -1
- package/dist/types/overlay/services/OverlayPositionStorage.d.ts.map +0 -1
- package/dist/types/overlay/services/PositionService.d.ts.map +0 -1
- package/dist/types/overlay/services/PositionService.test.d.ts +0 -2
- package/dist/types/overlay/services/PositionService.test.d.ts.map +0 -1
- package/dist/types/overlay/types.d.ts.map +0 -1
- package/dist/types/overlay/utils/classes.d.ts.map +0 -1
- package/dist/types/types.d.ts.map +0 -1
- package/dist/types/utils/pixels.d.ts.map +0 -1
- package/dist/types/version.d.ts +0 -2
- package/dist/types/version.d.ts.map +0 -1
package/dist/types/index.d.ts
CHANGED
|
@@ -1,50 +1,35 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @packageDocumentation
|
|
3
3
|
*
|
|
4
|
-
* Export
|
|
4
|
+
* Export finished textmode.js artworks without leaving the sketch.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
* allowing you to save your generative artworks in multiple formats with a
|
|
8
|
-
* convenient overlay UI for quick access to all export options.
|
|
6
|
+
* ## Choose an output
|
|
9
7
|
*
|
|
10
|
-
*
|
|
8
|
+
* Use **canvas capture** for the exact image on screen: PNG, JPEG, WebP, GIF,
|
|
9
|
+
* or video preserve compositing, filters, shaders, and post-processing. Use
|
|
10
|
+
* **layer data export** when the artwork should stay editable or machine
|
|
11
|
+
* readable: TXT, SVG, and JSON read from the selected layer, while JSON can
|
|
12
|
+
* also describe the full layer stack.
|
|
11
13
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
*
|
|
15
|
-
* ### Vector formats
|
|
16
|
-
* - {@link SVGExportOptions | SVG} - Save as scalable vector graphics
|
|
17
|
-
*
|
|
18
|
-
* ### Text formats
|
|
19
|
-
* - {@link TXTExportOptions | TXT} - Save text content as plain text
|
|
20
|
-
* - {@link JSONExportOptions | JSON} - Save document data as structured JSON
|
|
21
|
-
*
|
|
22
|
-
* ### Animation formats
|
|
23
|
-
* - {@link GIFExportOptions | GIF} - Save as animated GIF
|
|
24
|
-
* - {@link VideoExportOptions | Video} - Save as WebM or MP4 video
|
|
25
|
-
*
|
|
26
|
-
* @module textmode.export.js
|
|
14
|
+
* Start with {@link ExportPlugin}, then call the helpers added to your sketch
|
|
15
|
+
* or use the built-in export overlay. For recipes and format trade-offs, read
|
|
16
|
+
* the [Exporting guide](/docs/exporting).
|
|
27
17
|
*/
|
|
28
18
|
import type { TextmodePlugin } from 'textmode.js';
|
|
29
19
|
import './augmentations';
|
|
30
|
-
export type { ExportDefaults, ExportDefaultsPatch, ExportOverlayPosition, ExportOverlayPositionInput } from './types';
|
|
20
|
+
export type { ExportDefaults, ExportDefaultsPatch, ExportOverlayPosition, ExportOverlayPositionInput, GIFOverlayDefaults, ImageOverlayDefaults, JSONOverlayDefaults, SVGOverlayDefaults, TXTOverlayDefaults, VideoOverlayDefaults, } from './types';
|
|
31
21
|
export type { TextmodeExportAPI, ExportOverlayController } from './types';
|
|
32
22
|
export type { ImageExportOptions } from './exporters/image';
|
|
33
23
|
export type { SVGExportOptions } from './exporters/svg';
|
|
34
24
|
export type { TXTExportOptions } from './exporters/txt';
|
|
35
|
-
export type {
|
|
25
|
+
export type { JSONExportColorMode, JSONExportOptions, JSONExportTarget, TextmodeDocumentJSON } from './exporters/json';
|
|
36
26
|
export type { GIFExportOptions, GIFExportProgress } from './exporters/gif';
|
|
37
|
-
export type { VideoBitrateMode, VideoBitratePreset,
|
|
27
|
+
export type { VideoBitrateMode, VideoBitratePreset, VideoExportFormat, VideoExportOptions, VideoExportPhase, VideoExportProgress, VideoHardwareAcceleration, VideoLatencyMode, VideoRecordingState, } from './exporters/video';
|
|
38
28
|
export type { LayerExportOptions } from './exporters/base';
|
|
39
29
|
/**
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
* Add this plugin to your textmode.js instance to enable exporting artworks
|
|
43
|
-
* as images, videos, SVG, JSON, and text files. Includes an overlay UI for quick
|
|
44
|
-
* access to all export options, which can be controlled at runtime.
|
|
30
|
+
* Default export plugin instance for the standard textmode.js workflow.
|
|
45
31
|
*
|
|
46
|
-
* @
|
|
47
|
-
* {@includeCode ../examples/ExportPlugin/init/sketch.js}
|
|
32
|
+
* @category Workflow
|
|
48
33
|
*
|
|
49
34
|
* @see {@link https://code.textmode.art/api/textmode.export.js/variables/ExportPlugin | ExportPlugin API reference}
|
|
50
35
|
*/
|
|
@@ -54,4 +39,3 @@ declare global {
|
|
|
54
39
|
ExportPlugin?: TextmodePlugin;
|
|
55
40
|
}
|
|
56
41
|
}
|
|
57
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -4,4 +4,3 @@ import type { LayerTargetProvider } from '../exporters/base';
|
|
|
4
4
|
import type { ExportDefaults } from './types';
|
|
5
5
|
export type ExportDefaultsProvider = <TFormat extends ExportFormat>(format: TFormat) => ExportDefaults[TFormat];
|
|
6
6
|
export declare function getExportFormatDefinitions(layerTargetProvider?: LayerTargetProvider, getDefaults?: ExportDefaultsProvider): ReadonlyArray<FormatDefinition<ExportFormat>>;
|
|
7
|
-
//# sourceMappingURL=formatRegistry.d.ts.map
|
|
@@ -11,4 +11,3 @@ import { OverlayController } from './core/OverlayController';
|
|
|
11
11
|
* @returns The overlay controller instance.
|
|
12
12
|
*/
|
|
13
13
|
export declare function createExportOverlay(textmodifier: Textmodifier, exportAPI: TextmodeExportAPI, layerTargetProvider?: LayerTargetProvider): OverlayController;
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/types/types.d.ts
CHANGED
|
@@ -4,11 +4,53 @@ import type { SVGExportOptions } from './exporters/svg';
|
|
|
4
4
|
import type { GIFExportOptions } from './exporters/gif';
|
|
5
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
|
+
*/
|
|
7
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
|
+
*/
|
|
8
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
|
+
*/
|
|
9
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
|
+
*/
|
|
10
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
|
+
*/
|
|
11
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
|
+
*/
|
|
12
54
|
export type VideoOverlayDefaults = Pick<VideoExportOptions, 'format' | 'frameCount' | 'frameRate' | 'bitrateMode' | 'latencyMode' | 'hardwareAcceleration' | 'keyFrameInterval' | 'transparent'> & {
|
|
13
55
|
bitrate?: VideoBitratePreset;
|
|
14
56
|
};
|
|
@@ -22,13 +64,15 @@ export type VideoOverlayDefaults = Pick<VideoExportOptions, 'format' | 'frameCou
|
|
|
22
64
|
* {@link ExportOverlayController.getDefaults} and
|
|
23
65
|
* {@link ExportOverlayController.setDefaults}.
|
|
24
66
|
*
|
|
67
|
+
* @category Overlay
|
|
68
|
+
*
|
|
25
69
|
* @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaults | ExportDefaults API reference}
|
|
26
70
|
*/
|
|
27
71
|
export type ExportDefaults = {
|
|
28
72
|
/**
|
|
29
73
|
* Export format selected by default in the overlay.
|
|
30
74
|
*
|
|
31
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaults | ExportDefaults API reference}
|
|
75
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/type-aliases/ExportDefaults#format | ExportDefaults.format API reference}
|
|
32
76
|
*/
|
|
33
77
|
format: 'txt' | 'json' | 'image' | 'gif' | 'video' | 'svg';
|
|
34
78
|
txt: TXTOverlayDefaults;
|
|
@@ -45,6 +89,8 @@ export type ExportDefaults = {
|
|
|
45
89
|
* format's curated defaults. Top-level `format` changes the overlay's selected
|
|
46
90
|
* format. Omitted keys keep their current value.
|
|
47
91
|
*
|
|
92
|
+
* @category Overlay
|
|
93
|
+
*
|
|
48
94
|
* @example
|
|
49
95
|
* ```ts
|
|
50
96
|
* t.exportOverlay.setDefaults({ format: 'image', image: { scale: 2 }, gif: { frameRate: 30 } });
|
|
@@ -63,6 +109,8 @@ export type ExportDefaultsPatch = {
|
|
|
63
109
|
* `auto` means the overlay is using the library default offset from the
|
|
64
110
|
* textmode canvas. `custom` means the user or runtime API has moved it.
|
|
65
111
|
*
|
|
112
|
+
* @category Overlay
|
|
113
|
+
*
|
|
66
114
|
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayPosition | ExportOverlayPosition API reference}
|
|
67
115
|
*/
|
|
68
116
|
export interface ExportOverlayPosition {
|
|
@@ -73,6 +121,8 @@ export interface ExportOverlayPosition {
|
|
|
73
121
|
/**
|
|
74
122
|
* Canvas-relative placement coordinates for the export overlay UI.
|
|
75
123
|
*
|
|
124
|
+
* @category Overlay
|
|
125
|
+
*
|
|
76
126
|
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayPositionInput | ExportOverlayPositionInput API reference}
|
|
77
127
|
*/
|
|
78
128
|
export interface ExportOverlayPositionInput {
|
|
@@ -82,6 +132,8 @@ export interface ExportOverlayPositionInput {
|
|
|
82
132
|
/**
|
|
83
133
|
* Controller for managing the export overlay UI visibility at runtime.
|
|
84
134
|
*
|
|
135
|
+
* @category Overlay
|
|
136
|
+
*
|
|
85
137
|
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController | ExportOverlayController API reference}
|
|
86
138
|
*/
|
|
87
139
|
export interface ExportOverlayController {
|
|
@@ -93,7 +145,7 @@ export interface ExportOverlayController {
|
|
|
93
145
|
* t.exportOverlay.show();
|
|
94
146
|
* ```
|
|
95
147
|
*
|
|
96
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
148
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#show | ExportOverlayController.show API reference}
|
|
97
149
|
*/
|
|
98
150
|
show(): void;
|
|
99
151
|
/**
|
|
@@ -104,7 +156,7 @@ export interface ExportOverlayController {
|
|
|
104
156
|
* t.exportOverlay.hide();
|
|
105
157
|
* ```
|
|
106
158
|
*
|
|
107
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
159
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#hide | ExportOverlayController.hide API reference}
|
|
108
160
|
*/
|
|
109
161
|
hide(): void;
|
|
110
162
|
/**
|
|
@@ -115,7 +167,7 @@ export interface ExportOverlayController {
|
|
|
115
167
|
* t.exportOverlay.toggle();
|
|
116
168
|
* ```
|
|
117
169
|
*
|
|
118
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
170
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#toggle | ExportOverlayController.toggle API reference}
|
|
119
171
|
*/
|
|
120
172
|
toggle(): void;
|
|
121
173
|
/**
|
|
@@ -126,7 +178,7 @@ export interface ExportOverlayController {
|
|
|
126
178
|
* const visible = t.exportOverlay.isVisible();
|
|
127
179
|
* ```
|
|
128
180
|
*
|
|
129
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
181
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#isvisible | ExportOverlayController.isVisible API reference}
|
|
130
182
|
*/
|
|
131
183
|
isVisible(): boolean;
|
|
132
184
|
/**
|
|
@@ -138,7 +190,7 @@ export interface ExportOverlayController {
|
|
|
138
190
|
* t.exportOverlay.resetPosition();
|
|
139
191
|
* ```
|
|
140
192
|
*
|
|
141
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
193
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#resetposition | ExportOverlayController.resetPosition API reference}
|
|
142
194
|
*/
|
|
143
195
|
resetPosition(): void;
|
|
144
196
|
/**
|
|
@@ -152,7 +204,7 @@ export interface ExportOverlayController {
|
|
|
152
204
|
* console.log(position.mode, position.offsetX, position.offsetY);
|
|
153
205
|
* ```
|
|
154
206
|
*
|
|
155
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
207
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#getposition | ExportOverlayController.getPosition API reference}
|
|
156
208
|
*/
|
|
157
209
|
getPosition(): Readonly<ExportOverlayPosition>;
|
|
158
210
|
/**
|
|
@@ -166,7 +218,7 @@ export interface ExportOverlayController {
|
|
|
166
218
|
* t.exportOverlay.setPosition({ offsetX: 24, offsetY: 24 });
|
|
167
219
|
* ```
|
|
168
220
|
*
|
|
169
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
221
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#setposition | ExportOverlayController.setPosition API reference}
|
|
170
222
|
*/
|
|
171
223
|
setPosition(position: ExportOverlayPositionInput): void;
|
|
172
224
|
/**
|
|
@@ -184,7 +236,7 @@ export interface ExportOverlayController {
|
|
|
184
236
|
* t.exportOverlay.setDefaults({ format: 'image', image: { scale: 2 }, gif: { frameRate: 30 } });
|
|
185
237
|
* ```
|
|
186
238
|
*
|
|
187
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
239
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#setdefaults | ExportOverlayController.setDefaults API reference}
|
|
188
240
|
*/
|
|
189
241
|
setDefaults(patch: ExportDefaultsPatch): void;
|
|
190
242
|
/**
|
|
@@ -201,7 +253,7 @@ export interface ExportOverlayController {
|
|
|
201
253
|
* console.log(defaults.image.scale); // 1 (or whatever was set)
|
|
202
254
|
* ```
|
|
203
255
|
*
|
|
204
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
256
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#getdefaults | ExportOverlayController.getDefaults API reference}
|
|
205
257
|
*/
|
|
206
258
|
getDefaults(): Readonly<ExportDefaults>;
|
|
207
259
|
/**
|
|
@@ -224,13 +276,15 @@ export interface ExportOverlayController {
|
|
|
224
276
|
* t.exportOverlay.resetDefaults();
|
|
225
277
|
* ```
|
|
226
278
|
*
|
|
227
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController
|
|
279
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/ExportOverlayController#resetdefaults | ExportOverlayController.resetDefaults API reference}
|
|
228
280
|
*/
|
|
229
281
|
resetDefaults(format?: keyof ExportDefaults): void;
|
|
230
282
|
}
|
|
231
283
|
/**
|
|
232
284
|
* Runtime export helpers that `ExportPlugin` attaches to the `Textmodifier` instance.
|
|
233
285
|
*
|
|
286
|
+
* @category Workflow
|
|
287
|
+
*
|
|
234
288
|
* @example
|
|
235
289
|
* {@includeCode ../examples/ExportPlugin/layerTargets/sketch.js}
|
|
236
290
|
*
|
|
@@ -253,9 +307,20 @@ export interface TextmodeExportAPI {
|
|
|
253
307
|
* await t.saveCanvas({ format: 'png', filename: 'frame-001' });
|
|
254
308
|
* ```
|
|
255
309
|
*
|
|
256
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
310
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savecanvas | TextmodeExportAPI.saveCanvas API reference}
|
|
257
311
|
*/
|
|
258
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>;
|
|
259
324
|
/**
|
|
260
325
|
* Copies the current canvas to the user's clipboard as an image.
|
|
261
326
|
*
|
|
@@ -266,7 +331,7 @@ export interface TextmodeExportAPI {
|
|
|
266
331
|
* await t.copyCanvas({ format: 'png' });
|
|
267
332
|
* ```
|
|
268
333
|
*
|
|
269
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
334
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#copycanvas | TextmodeExportAPI.copyCanvas API reference}
|
|
270
335
|
*/
|
|
271
336
|
copyCanvas(options?: ImageExportOptions): Promise<void>;
|
|
272
337
|
/**
|
|
@@ -279,7 +344,7 @@ export interface TextmodeExportAPI {
|
|
|
279
344
|
* t.saveSVG({ filename: 'poster', layer: t.layers.base, includeBackgroundRectangles: true });
|
|
280
345
|
* ```
|
|
281
346
|
*
|
|
282
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
347
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savesvg | TextmodeExportAPI.saveSVG API reference}
|
|
283
348
|
*/
|
|
284
349
|
saveSVG(options?: SVGExportOptions): void;
|
|
285
350
|
/**
|
|
@@ -292,7 +357,7 @@ export interface TextmodeExportAPI {
|
|
|
292
357
|
* t.saveStrings({ filename: 'frame', layer: t.layers.base, preserveTrailingSpaces: true });
|
|
293
358
|
* ```
|
|
294
359
|
*
|
|
295
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
360
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savestrings | TextmodeExportAPI.saveStrings API reference}
|
|
296
361
|
*/
|
|
297
362
|
saveStrings(options?: TXTExportOptions): void;
|
|
298
363
|
/**
|
|
@@ -306,7 +371,7 @@ export interface TextmodeExportAPI {
|
|
|
306
371
|
* const svg = t.toSVG({ layer: t.layers.base, drawMode: 'stroke', strokeWidth: 1.5 });
|
|
307
372
|
* ```
|
|
308
373
|
*
|
|
309
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
374
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tosvg | TextmodeExportAPI.toSVG API reference}
|
|
310
375
|
*/
|
|
311
376
|
toSVG(options?: SVGExportOptions): string;
|
|
312
377
|
/**
|
|
@@ -320,7 +385,7 @@ export interface TextmodeExportAPI {
|
|
|
320
385
|
* const text = t.toString({ layer: t.layers.base, preserveTrailingSpaces: false });
|
|
321
386
|
* ```
|
|
322
387
|
*
|
|
323
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
388
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tostring | TextmodeExportAPI.toString API reference}
|
|
324
389
|
*/
|
|
325
390
|
toString(options?: TXTExportOptions): string;
|
|
326
391
|
/**
|
|
@@ -335,7 +400,7 @@ export interface TextmodeExportAPI {
|
|
|
335
400
|
* const stack = t.toJSON({ target: 'all' });
|
|
336
401
|
* ```
|
|
337
402
|
*
|
|
338
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
403
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tojson | TextmodeExportAPI.toJSON API reference}
|
|
339
404
|
*/
|
|
340
405
|
toJSON(options?: JSONExportOptions): TextmodeDocumentJSON;
|
|
341
406
|
/**
|
|
@@ -350,7 +415,7 @@ export interface TextmodeExportAPI {
|
|
|
350
415
|
* const stackJson = t.toJSONString({ target: 'all' });
|
|
351
416
|
* ```
|
|
352
417
|
*
|
|
353
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
418
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tojsonstring | TextmodeExportAPI.toJSONString API reference}
|
|
354
419
|
*/
|
|
355
420
|
toJSONString(options?: JSONExportOptions): string;
|
|
356
421
|
/**
|
|
@@ -364,7 +429,7 @@ export interface TextmodeExportAPI {
|
|
|
364
429
|
* t.saveJSON({ filename: 'stack', target: 'all' });
|
|
365
430
|
* ```
|
|
366
431
|
*
|
|
367
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
432
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savejson | TextmodeExportAPI.saveJSON API reference}
|
|
368
433
|
*/
|
|
369
434
|
saveJSON(options?: JSONExportOptions): void;
|
|
370
435
|
/**
|
|
@@ -377,9 +442,20 @@ export interface TextmodeExportAPI {
|
|
|
377
442
|
* await t.saveGIF({ frameCount: 120, frameRate: 30, filename: 'loop' });
|
|
378
443
|
* ```
|
|
379
444
|
*
|
|
380
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
445
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savegif | TextmodeExportAPI.saveGIF API reference}
|
|
381
446
|
*/
|
|
382
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>;
|
|
383
459
|
/**
|
|
384
460
|
* Captures a video and saves it to disk *(`'mp4'` by default)*.
|
|
385
461
|
*
|
|
@@ -399,8 +475,18 @@ export interface TextmodeExportAPI {
|
|
|
399
475
|
* });
|
|
400
476
|
* ```
|
|
401
477
|
*
|
|
402
|
-
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI
|
|
478
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#savevideo | TextmodeExportAPI.saveVideo API reference}
|
|
403
479
|
*/
|
|
404
480
|
saveVideo(options?: VideoExportOptions): Promise<void>;
|
|
481
|
+
/**
|
|
482
|
+
* Generates a video blob without downloading it.
|
|
483
|
+
*
|
|
484
|
+
* @example
|
|
485
|
+
* ```ts
|
|
486
|
+
* const blob = await t.toVideoBlob({ format: 'webm', frameCount: 120, frameRate: 30 });
|
|
487
|
+
* ```
|
|
488
|
+
*
|
|
489
|
+
* @see {@link https://code.textmode.art/api/textmode.export.js/interfaces/TextmodeExportAPI#tovideoblob | TextmodeExportAPI.toVideoBlob API reference}
|
|
490
|
+
*/
|
|
491
|
+
toVideoBlob(options?: VideoExportOptions): Promise<Blob>;
|
|
405
492
|
}
|
|
406
|
-
//# sourceMappingURL=types.d.ts.map
|