textmode.export.js 1.2.1 → 1.3.0-beta.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 +171 -172
- package/dist/textmode.export.esm.js +1376 -1243
- package/dist/textmode.export.umd.js +2 -2
- package/dist/types/exporters/base/DataExtractor.d.ts +15 -1
- package/dist/types/exporters/base/DataExtractor.d.ts.map +1 -1
- package/dist/types/exporters/base/FileHandler.d.ts +3 -0
- package/dist/types/exporters/base/FileHandler.d.ts.map +1 -1
- package/dist/types/exporters/gif/GIFExporter.d.ts +5 -2
- package/dist/types/exporters/gif/GIFExporter.d.ts.map +1 -1
- package/dist/types/exporters/gif/GIFRecorder.d.ts +3 -3
- package/dist/types/exporters/gif/GIFRecorder.d.ts.map +1 -1
- package/dist/types/exporters/gif/types.d.ts.map +1 -1
- package/dist/types/exporters/image/ImageExporter.d.ts +7 -2
- package/dist/types/exporters/image/ImageExporter.d.ts.map +1 -1
- package/dist/types/exporters/image/index.d.ts +1 -1
- package/dist/types/exporters/image/index.d.ts.map +1 -1
- package/dist/types/exporters/image/types.d.ts.map +1 -1
- package/dist/types/exporters/json/JSONDataExtractor.d.ts +16 -0
- package/dist/types/exporters/json/JSONDataExtractor.d.ts.map +1 -0
- package/dist/types/exporters/json/JSONExporter.d.ts +56 -0
- package/dist/types/exporters/json/JSONExporter.d.ts.map +1 -0
- package/dist/types/exporters/json/JSONExporter.test.d.ts +2 -0
- package/dist/types/exporters/json/JSONExporter.test.d.ts.map +1 -0
- package/dist/types/exporters/json/index.d.ts +4 -0
- package/dist/types/exporters/json/index.d.ts.map +1 -0
- package/dist/types/exporters/json/types.d.ts +135 -0
- package/dist/types/exporters/json/types.d.ts.map +1 -0
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts +9 -1
- package/dist/types/exporters/svg/SVGContentGenerator.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts +2 -8
- package/dist/types/exporters/svg/SVGDataExtractor.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGExporter.d.ts +3 -0
- package/dist/types/exporters/svg/SVGExporter.d.ts.map +1 -1
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts +8 -4
- package/dist/types/exporters/svg/SVGPathGenerator.d.ts.map +1 -1
- package/dist/types/exporters/svg/index.d.ts +1 -1
- package/dist/types/exporters/svg/index.d.ts.map +1 -1
- package/dist/types/exporters/svg/types.d.ts.map +1 -1
- package/dist/types/exporters/txt/TXTExporter.d.ts +4 -0
- package/dist/types/exporters/txt/TXTExporter.d.ts.map +1 -1
- package/dist/types/exporters/txt/index.d.ts.map +1 -1
- package/dist/types/exporters/txt/types.d.ts.map +1 -1
- package/dist/types/exporters/video/VideoExporter.d.ts +5 -2
- package/dist/types/exporters/video/VideoExporter.d.ts.map +1 -1
- package/dist/types/exporters/video/VideoRecorder.d.ts +3 -3
- package/dist/types/exporters/video/VideoRecorder.d.ts.map +1 -1
- package/dist/types/exporters/video/index.d.ts +1 -1
- package/dist/types/exporters/video/index.d.ts.map +1 -1
- package/dist/types/exporters/video/types.d.ts +2 -2
- package/dist/types/exporters/video/types.d.ts.map +1 -1
- package/dist/types/index.d.ts +10 -2
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/overlay/blades/Blade.d.ts +6 -1
- package/dist/types/overlay/blades/Blade.d.ts.map +1 -1
- package/dist/types/overlay/blades/GIFBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/ImageBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/JSONBlade.d.ts +15 -0
- package/dist/types/overlay/blades/JSONBlade.d.ts.map +1 -0
- package/dist/types/overlay/blades/SVGBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/TextBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/VideoBlade.d.ts.map +1 -1
- package/dist/types/overlay/blades/index.d.ts +1 -0
- package/dist/types/overlay/blades/index.d.ts.map +1 -1
- package/dist/types/overlay/components/actions/Button.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Component.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Container.d.ts.map +1 -1
- package/dist/types/overlay/components/base/Field.d.ts.map +1 -1
- package/dist/types/overlay/components/display/Header.d.ts.map +1 -1
- package/dist/types/overlay/components/display/StatusDisplay.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/CheckboxInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/NumberInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/RangeInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/SelectInput.d.ts.map +1 -1
- package/dist/types/overlay/components/inputs/TextInput.d.ts.map +1 -1
- package/dist/types/overlay/core/EventBus.d.ts +1 -0
- package/dist/types/overlay/core/EventBus.d.ts.map +1 -1
- package/dist/types/overlay/core/OverlayController.d.ts.map +1 -1
- package/dist/types/overlay/core/StateManager.d.ts.map +1 -1
- package/dist/types/overlay/formatRegistry.d.ts.map +1 -1
- package/dist/types/overlay/index.d.ts +1 -0
- package/dist/types/overlay/index.d.ts.map +1 -1
- package/dist/types/overlay/models/FormatDefinition.d.ts +3 -3
- package/dist/types/overlay/models/FormatDefinition.d.ts.map +1 -1
- package/dist/types/overlay/models/OverlayEvents.d.ts.map +1 -1
- package/dist/types/overlay/models/OverlayState.d.ts.map +1 -1
- package/dist/types/overlay/services/ClipboardService.d.ts +8 -2
- package/dist/types/overlay/services/ClipboardService.d.ts.map +1 -1
- package/dist/types/overlay/services/ExportService.d.ts.map +1 -1
- package/dist/types/overlay/services/PositionService.d.ts.map +1 -1
- package/dist/types/overlay/types.d.ts +3 -1
- package/dist/types/overlay/types.d.ts.map +1 -1
- package/dist/types/types.d.ts +104 -0
- package/dist/types/types.d.ts.map +1 -1
- package/dist/types/utils/pixels.d.ts +1 -0
- package/dist/types/utils/pixels.d.ts.map +1 -1
- package/dist/types/version.d.ts +2 -0
- package/dist/types/version.d.ts.map +1 -0
- package/package.json +118 -71
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { TextmodePluginContext } from 'textmode.js/plugins';
|
|
2
2
|
import type { GIFExportProgress, GIFFrame, GIFGenerationOptions } from './types';
|
|
3
3
|
/**
|
|
4
4
|
* Records frames from a canvas for GIF generation.
|
|
@@ -17,8 +17,8 @@ export declare class GIFRecorder {
|
|
|
17
17
|
* @param registerPostDrawHook - Hook registration function from textmode.js API
|
|
18
18
|
* @param onProgress - Optional callback for recording progress updates
|
|
19
19
|
* @returns Promise resolving to array of captured frames
|
|
20
|
-
* @throws Error
|
|
20
|
+
* @throws {Error} If frame capture fails
|
|
21
21
|
*/
|
|
22
|
-
$record(canvas: HTMLCanvasElement, options: GIFGenerationOptions, registerPostDrawHook:
|
|
22
|
+
$record(canvas: HTMLCanvasElement, options: GIFGenerationOptions, registerPostDrawHook: TextmodePluginContext['registerPostDrawHook'], onProgress?: (progress: GIFExportProgress) => void): Promise<GIFFrame[]>;
|
|
23
23
|
}
|
|
24
24
|
//# sourceMappingURL=GIFRecorder.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GIFRecorder.d.ts","sourceRoot":"","sources":["../../../../src/exporters/gif/GIFRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"GIFRecorder.d.ts","sourceRoot":"","sources":["../../../../src/exporters/gif/GIFRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEjF;;;GAGG;AACH,qBAAa,WAAW;IACvB,wCAAwC;IACxC,OAAO,CAAC,OAAO,CAAC,CAAoB;IAEpC,4CAA4C;IAC5C,OAAO,CAAC,IAAI,CAAC,CAA2B;IAExC;;;;;;;;;OASG;IACU,OAAO,CACnB,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,oBAAoB,EAC7B,oBAAoB,EAAE,qBAAqB,CAAC,sBAAsB,CAAC,EACnE,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,GAChD,OAAO,CAAC,QAAQ,EAAE,CAAC;CAoItB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/gif/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/gif/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;AAE1F;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,WAAW,GAAG,OAAO,CAAC;IACjE;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;CACnD,CAAC;AAEF,MAAM,WAAW,oBAAoB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,QAAQ;IACxB,SAAS,EAAE,SAAS,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
|
|
@@ -7,31 +7,36 @@ import { type ImageExportOptions, type ImageGenerationOptions } from './types';
|
|
|
7
7
|
export declare class ImageExporter {
|
|
8
8
|
/**
|
|
9
9
|
* Applies default values to image export options
|
|
10
|
+
*
|
|
10
11
|
* @param options User-provided options
|
|
11
12
|
* @returns Complete options with defaults applied
|
|
12
13
|
*/
|
|
13
14
|
private _applyDefaultOptions;
|
|
14
15
|
/**
|
|
15
16
|
* Validates export options and browser support
|
|
17
|
+
*
|
|
16
18
|
* @param options The options to validate
|
|
17
|
-
* @throws Error
|
|
19
|
+
* @throws {Error} If options are invalid or the format is not supported
|
|
18
20
|
*/
|
|
19
21
|
private _validateOptions;
|
|
20
22
|
/**
|
|
21
23
|
* Generates image blob from textmode rendering without saving to file
|
|
22
|
-
*
|
|
24
|
+
*
|
|
25
|
+
* @param canvas The canvas data containing the rendered textmode graphics
|
|
23
26
|
* @param options Export options
|
|
24
27
|
* @returns Promise that resolves to a Blob containing the image data
|
|
25
28
|
*/
|
|
26
29
|
$generateImageBlob(canvas: HTMLCanvasElement, options: ImageGenerationOptions): Promise<Blob>;
|
|
27
30
|
/**
|
|
28
31
|
* Exports image to a downloadable file
|
|
32
|
+
*
|
|
29
33
|
* @param canvas The canvas data containing the rendered textmode graphics
|
|
30
34
|
* @param options Export options
|
|
31
35
|
*/
|
|
32
36
|
$saveImage(canvas: HTMLCanvasElement, options?: ImageExportOptions): Promise<void>;
|
|
33
37
|
/**
|
|
34
38
|
* Copies the generated image to the clipboard using the modern Clipboard API
|
|
39
|
+
*
|
|
35
40
|
* @param canvas The source canvas element
|
|
36
41
|
* @param options Export options
|
|
37
42
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/ImageExporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjG;;;;GAIG;AACH,qBAAa,aAAa;
|
|
1
|
+
{"version":3,"file":"ImageExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/ImageExporter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,kBAAkB,EAAE,KAAK,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAGjG;;;;GAIG;AACH,qBAAa,aAAa;IACzB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;OAKG;IACH,OAAO,CAAC,gBAAgB;IAMxB;;;;;;OAMG;IACU,kBAAkB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,IAAI,CAAC;IA+B1G;;;;;OAKG;IACU,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IASnG;;;;;OAKG;IACU,qBAAqB,CAAC,MAAM,EAAE,iBAAiB,EAAE,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;CAiB9G"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { ImageExporter } from './ImageExporter';
|
|
2
|
-
export type { ImageExportOptions, ImageGenerationOptions, ImageFormat
|
|
2
|
+
export type { ImageExportOptions, ImageGenerationOptions, ImageFormat } from './types';
|
|
3
3
|
export { IMAGE_MIME_TYPES, IMAGE_EXTENSIONS } from './types';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEvF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/image/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC;IAEhC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,WAAW,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI/C,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAI/C,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Textmodifier } from 'textmode.js';
|
|
2
|
+
import { DataExtractor } from '../base';
|
|
3
|
+
import type { JSONCellData } from './types';
|
|
4
|
+
/**
|
|
5
|
+
* Extracts structured cell data from the base textmode layer for JSON export.
|
|
6
|
+
*/
|
|
7
|
+
export declare class JSONDataExtractor extends DataExtractor {
|
|
8
|
+
/**
|
|
9
|
+
* Extracts all base-layer cell data needed for JSON export.
|
|
10
|
+
*
|
|
11
|
+
* @param textmodifier The Textmodifier instance to extract data from
|
|
12
|
+
* @returns Row-major cell data for the current base layer
|
|
13
|
+
*/
|
|
14
|
+
$extractCellData(textmodifier: Textmodifier): JSONCellData[];
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=JSONDataExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONDataExtractor.d.ts","sourceRoot":"","sources":["../../../../src/exporters/json/JSONDataExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAExC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE5C;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,aAAa;IACnD;;;;;OAKG;IACI,gBAAgB,CAAC,YAAY,EAAE,YAAY,GAAG,YAAY,EAAE;CAiCnE"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { Textmodifier } from 'textmode.js';
|
|
2
|
+
import type { JSONExportOptions, TextmodeLayerJSON } from './types';
|
|
3
|
+
/**
|
|
4
|
+
* Main JSON exporter for the textmode.js library.
|
|
5
|
+
* Orchestrates structured base-layer export and file download.
|
|
6
|
+
*/
|
|
7
|
+
export declare class JSONExporter {
|
|
8
|
+
/**
|
|
9
|
+
* Applies default values to JSON export options.
|
|
10
|
+
*
|
|
11
|
+
* @param options User-provided options
|
|
12
|
+
* @returns Complete options with defaults applied
|
|
13
|
+
*/
|
|
14
|
+
private _applyDefaultOptions;
|
|
15
|
+
/**
|
|
16
|
+
* Converts an RGBA color to the configured JSON representation.
|
|
17
|
+
*
|
|
18
|
+
* @param color Source color
|
|
19
|
+
* @param colorMode Output color mode
|
|
20
|
+
* @returns JSON-ready color value
|
|
21
|
+
*/
|
|
22
|
+
private _formatColor;
|
|
23
|
+
/**
|
|
24
|
+
* Creates the row-based cell encoding.
|
|
25
|
+
*
|
|
26
|
+
* @param cells Extracted cell data
|
|
27
|
+
* @param textmodifier The Textmodifier instance for grid dimensions
|
|
28
|
+
* @param colorMode Configured color mode
|
|
29
|
+
* @returns Readable row-based cell structure
|
|
30
|
+
*/
|
|
31
|
+
private _createObjectRowsCells;
|
|
32
|
+
/**
|
|
33
|
+
* Generates structured JSON layer data without serializing it.
|
|
34
|
+
*
|
|
35
|
+
* @param textmodifier The Textmodifier instance to extract data from
|
|
36
|
+
* @param options Export options
|
|
37
|
+
* @returns Structured JSON document for the base layer
|
|
38
|
+
*/
|
|
39
|
+
$generateJSONData(textmodifier: Textmodifier, options?: JSONExportOptions): TextmodeLayerJSON;
|
|
40
|
+
/**
|
|
41
|
+
* Generates the serialized JSON string for the current base layer.
|
|
42
|
+
*
|
|
43
|
+
* @param textmodifier The Textmodifier instance to extract data from
|
|
44
|
+
* @param options Export options
|
|
45
|
+
* @returns Serialized JSON string
|
|
46
|
+
*/
|
|
47
|
+
$generateJSONString(textmodifier: Textmodifier, options?: JSONExportOptions): string;
|
|
48
|
+
/**
|
|
49
|
+
* Exports the generated JSON to a downloadable file.
|
|
50
|
+
*
|
|
51
|
+
* @param textmodifier The Textmodifier instance to extract data from
|
|
52
|
+
* @param options Export options
|
|
53
|
+
*/
|
|
54
|
+
$saveJSON(textmodifier: Textmodifier, options?: JSONExportOptions): void;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=JSONExporter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/json/JSONExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD,OAAO,KAAK,EAGX,iBAAiB,EAGjB,iBAAiB,EACjB,MAAM,SAAS,CAAC;AAIjB;;;GAGG;AACH,qBAAa,YAAY;IACxB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACH,OAAO,CAAC,YAAY;IAcpB;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IA2B9B;;;;;;OAMG;IACI,iBAAiB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,iBAAsB,GAAG,iBAAiB;IAqCxG;;;;;;OAMG;IACI,mBAAmB,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,iBAAsB,GAAG,MAAM;IAQ/F;;;;;OAKG;IACI,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,iBAAsB,GAAG,IAAI;CASnF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"JSONExporter.test.d.ts","sourceRoot":"","sources":["../../../../src/exporters/json/JSONExporter.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { JSONExporter } from './JSONExporter';
|
|
2
|
+
export { JSONDataExtractor } from './JSONDataExtractor';
|
|
3
|
+
export type { JSONCellCollection, JSONCellData, JSONCellTransform, JSONColorValue, JSONExportColorMode, JSONExportMetadata, JSONExportOptions, JSONGenerationOptions, JSONObjectRowCell, JSONObjectRowsCellCollection, JSONRGBAColor, TextmodeLayerJSON, } from './types';
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/json/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAGxD,YAAY,EACX,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,cAAc,EACd,mBAAmB,EACnB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,EACb,iBAAiB,GACjB,MAAM,SAAS,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Supported JSON color output modes.
|
|
3
|
+
*/
|
|
4
|
+
export type JSONExportColorMode = 'hex' | 'rgba';
|
|
5
|
+
/**
|
|
6
|
+
* RGBA color representation used in JSON exports.
|
|
7
|
+
*/
|
|
8
|
+
export interface JSONRGBAColor {
|
|
9
|
+
r: number;
|
|
10
|
+
g: number;
|
|
11
|
+
b: number;
|
|
12
|
+
a: number;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Color value used in the exported JSON document.
|
|
16
|
+
*/
|
|
17
|
+
export type JSONColorValue = string | JSONRGBAColor;
|
|
18
|
+
/**
|
|
19
|
+
* Cell transform data for JSON exports.
|
|
20
|
+
*/
|
|
21
|
+
export interface JSONCellTransform {
|
|
22
|
+
invert: boolean;
|
|
23
|
+
flipX: boolean;
|
|
24
|
+
flipY: boolean;
|
|
25
|
+
rotation: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Rich per-cell representation for readable JSON exports.
|
|
29
|
+
*/
|
|
30
|
+
export interface JSONObjectRowCell {
|
|
31
|
+
x: number;
|
|
32
|
+
y: number;
|
|
33
|
+
character: string;
|
|
34
|
+
foreground: JSONColorValue;
|
|
35
|
+
background: JSONColorValue;
|
|
36
|
+
transform: JSONCellTransform;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Row-based cell encoding.
|
|
40
|
+
*/
|
|
41
|
+
export interface JSONObjectRowsCellCollection {
|
|
42
|
+
encoding: 'object-rows-v1';
|
|
43
|
+
rows: JSONObjectRowCell[][];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Supported JSON cell collection variants.
|
|
47
|
+
*/
|
|
48
|
+
export type JSONCellCollection = JSONObjectRowsCellCollection;
|
|
49
|
+
/**
|
|
50
|
+
* Optional export metadata.
|
|
51
|
+
*/
|
|
52
|
+
export interface JSONExportMetadata {
|
|
53
|
+
createdAt: string;
|
|
54
|
+
generator: {
|
|
55
|
+
name: 'textmode.export.js';
|
|
56
|
+
version: string;
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Layer document exported by the JSON exporter.
|
|
61
|
+
*/
|
|
62
|
+
export interface TextmodeLayerJSON {
|
|
63
|
+
$schema: string;
|
|
64
|
+
format: 'textmode.layer';
|
|
65
|
+
formatVersion: '1.0.0';
|
|
66
|
+
metadata?: JSONExportMetadata;
|
|
67
|
+
canvas: {
|
|
68
|
+
width: number;
|
|
69
|
+
height: number;
|
|
70
|
+
};
|
|
71
|
+
grid: {
|
|
72
|
+
cols: number;
|
|
73
|
+
rows: number;
|
|
74
|
+
cellWidth: number;
|
|
75
|
+
cellHeight: number;
|
|
76
|
+
};
|
|
77
|
+
layer: {
|
|
78
|
+
id: 'base';
|
|
79
|
+
cells: JSONCellCollection;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Options for exporting the textmode content to JSON format.
|
|
84
|
+
*/
|
|
85
|
+
export type JSONExportOptions = {
|
|
86
|
+
/**
|
|
87
|
+
* The filename to save the JSON file as.
|
|
88
|
+
*
|
|
89
|
+
* If not provided, a default filename is used.
|
|
90
|
+
*/
|
|
91
|
+
filename?: string;
|
|
92
|
+
/**
|
|
93
|
+
* Pretty-print the generated JSON.
|
|
94
|
+
*
|
|
95
|
+
* When set to `true`, output uses two-space indentation.
|
|
96
|
+
* When set to a number, that value is used as indentation width.
|
|
97
|
+
* When `false`, the output is minified.
|
|
98
|
+
*
|
|
99
|
+
* Defaults to `true`.
|
|
100
|
+
*/
|
|
101
|
+
pretty?: boolean | number;
|
|
102
|
+
/**
|
|
103
|
+
* Color representation used for foreground and background values.
|
|
104
|
+
*
|
|
105
|
+
* Defaults to `'hex'`.
|
|
106
|
+
*/
|
|
107
|
+
colorMode?: JSONExportColorMode;
|
|
108
|
+
/**
|
|
109
|
+
* Whether to include export metadata such as timestamp and generator details.
|
|
110
|
+
*
|
|
111
|
+
* Defaults to `true`.
|
|
112
|
+
*/
|
|
113
|
+
includeMetadata?: boolean;
|
|
114
|
+
};
|
|
115
|
+
/**
|
|
116
|
+
* Internal options used by JSON generation (with all defaults applied).
|
|
117
|
+
*/
|
|
118
|
+
export interface JSONGenerationOptions {
|
|
119
|
+
pretty: boolean | number;
|
|
120
|
+
colorMode: JSONExportColorMode;
|
|
121
|
+
includeMetadata: boolean;
|
|
122
|
+
filename?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Internal extracted cell data used while building the JSON document.
|
|
126
|
+
*/
|
|
127
|
+
export interface JSONCellData {
|
|
128
|
+
x: number;
|
|
129
|
+
y: number;
|
|
130
|
+
character: string;
|
|
131
|
+
foreground: JSONRGBAColor;
|
|
132
|
+
background: JSONRGBAColor;
|
|
133
|
+
transform: JSONCellTransform;
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/json/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC;AAEjD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,GAAG,aAAa,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,cAAc,CAAC;IAC3B,UAAU,EAAE,cAAc,CAAC;IAC3B,SAAS,EAAE,iBAAiB,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC5C,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,IAAI,EAAE,iBAAiB,EAAE,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,4BAA4B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACV,IAAI,EAAE,oBAAoB,CAAC;QAC3B,OAAO,EAAE,MAAM,CAAC;KAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,gBAAgB,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,kBAAkB,CAAC;IAC9B,MAAM,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;IACF,IAAI,EAAE;QACL,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,KAAK,EAAE;QACN,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,kBAAkB,CAAC;KAC1B,CAAC;CACF;AAED;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC/B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE1B;;;;OAIG;IACH,SAAS,CAAC,EAAE,mBAAmB,CAAC;IAEhC;;;;OAIG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACrC,MAAM,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,eAAe,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,aAAa,CAAC;IAC1B,UAAU,EAAE,aAAa,CAAC;IAC1B,SAAS,EAAE,iBAAiB,CAAC;CAC7B"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { SVGCellData, SVGGenerationOptions } from './types';
|
|
2
2
|
import type { TextmodeGrid } from 'textmode.js';
|
|
3
|
-
import type { TextmodeFont } from 'textmode.js/
|
|
3
|
+
import type { TextmodeFont } from 'textmode.js/fonts';
|
|
4
4
|
/**
|
|
5
5
|
* Generates SVG content and markup from processed cell data.
|
|
6
6
|
* This class handles the creation of SVG elements, groups, and styling.
|
|
@@ -10,17 +10,20 @@ export declare class SVGContentGenerator {
|
|
|
10
10
|
constructor();
|
|
11
11
|
/**
|
|
12
12
|
* Generates the SVG header with metadata
|
|
13
|
+
*
|
|
13
14
|
* @param gridInfo Grid dimensions
|
|
14
15
|
* @returns SVG header string
|
|
15
16
|
*/
|
|
16
17
|
$generateSVGHeader(gridInfo: TextmodeGrid): string;
|
|
17
18
|
/**
|
|
18
19
|
* Generates the SVG footer
|
|
20
|
+
*
|
|
19
21
|
* @returns SVG footer string
|
|
20
22
|
*/
|
|
21
23
|
$generateSVGFooter(): string;
|
|
22
24
|
/**
|
|
23
25
|
* Generates SVG transform attribute string
|
|
26
|
+
*
|
|
24
27
|
* @param cellData Cell data with transform information
|
|
25
28
|
* @param gridInfo Grid information for center calculations
|
|
26
29
|
* @returns Transform attribute string or empty string
|
|
@@ -28,6 +31,7 @@ export declare class SVGContentGenerator {
|
|
|
28
31
|
private _generateTransformAttribute;
|
|
29
32
|
/**
|
|
30
33
|
* Generates background rectangle for a cell
|
|
34
|
+
*
|
|
31
35
|
* @param cellData Cell data
|
|
32
36
|
* @param gridInfo Grid information
|
|
33
37
|
* @param options SVG generation options
|
|
@@ -36,6 +40,7 @@ export declare class SVGContentGenerator {
|
|
|
36
40
|
private _generateCellBackground;
|
|
37
41
|
/**
|
|
38
42
|
* Generates character path element for a cell
|
|
43
|
+
*
|
|
39
44
|
* @param cellData Cell data
|
|
40
45
|
* @param gridInfo Grid information
|
|
41
46
|
* @param fontInfo Font information
|
|
@@ -45,6 +50,7 @@ export declare class SVGContentGenerator {
|
|
|
45
50
|
private _generateCharacterPath;
|
|
46
51
|
/**
|
|
47
52
|
* Generates complete SVG content for a single cell
|
|
53
|
+
*
|
|
48
54
|
* @param cellData Cell data
|
|
49
55
|
* @param gridInfo Grid information
|
|
50
56
|
* @param fontInfo Font information
|
|
@@ -54,6 +60,7 @@ export declare class SVGContentGenerator {
|
|
|
54
60
|
$generateCellContent(cellData: SVGCellData, gridInfo: TextmodeGrid, fontInfo: TextmodeFont, options: SVGGenerationOptions): string;
|
|
55
61
|
/**
|
|
56
62
|
* Generates the complete SVG content from cell data
|
|
63
|
+
*
|
|
57
64
|
* @param cellDataArray Array of cell data
|
|
58
65
|
* @param grid Grid information
|
|
59
66
|
* @param fontInfo Font information
|
|
@@ -63,6 +70,7 @@ export declare class SVGContentGenerator {
|
|
|
63
70
|
$generateSVGContent(cellDataArray: SVGCellData[], grid: TextmodeGrid, fontInfo: TextmodeFont, options: SVGGenerationOptions): string;
|
|
64
71
|
/**
|
|
65
72
|
* Optimizes SVG content by removing empty elements and unnecessary whitespace
|
|
73
|
+
*
|
|
66
74
|
* @param svgContent Raw SVG content
|
|
67
75
|
* @returns Optimized SVG content
|
|
68
76
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVGContentGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGContentGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"SVGContentGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGContentGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjE;;;GAGG;AACH,qBAAa,mBAAmB;IAC/B,OAAO,CAAC,cAAc,CAAmB;;IAMzC;;;;;OAKG;IACI,kBAAkB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAKzD;;;;OAIG;IACI,kBAAkB,IAAI,MAAM;IAInC;;;;;;OAMG;IACH,OAAO,CAAC,2BAA2B;IAwBnC;;;;;;;OAOG;IACH,OAAO,CAAC,uBAAuB;IAgB/B;;;;;;;;OAQG;IACH,OAAO,CAAC,sBAAsB;IA8B9B;;;;;;;;OAQG;IACI,oBAAoB,CAC1B,QAAQ,EAAE,WAAW,EACrB,QAAQ,EAAE,YAAY,EACtB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,oBAAoB,GAC3B,MAAM;IAiBT;;;;;;;;OAQG;IACI,mBAAmB,CACzB,aAAa,EAAE,WAAW,EAAE,EAC5B,IAAI,EAAE,YAAY,EAClB,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,oBAAoB,GAC3B,MAAM;IAYT;;;;;OAKG;IACI,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;CAKtD"}
|
|
@@ -6,15 +6,9 @@ import type { TextmodeGrid } from 'textmode.js';
|
|
|
6
6
|
* This class handles the conversion of raw pixel data into structured data objects.
|
|
7
7
|
*/
|
|
8
8
|
export declare class SVGDataExtractor extends DataExtractor {
|
|
9
|
-
/**
|
|
10
|
-
* Extracts transform data from character pixels
|
|
11
|
-
* @param characterPixels Character framebuffer pixels
|
|
12
|
-
* @param pixelIndex Pixel index in the array
|
|
13
|
-
* @returns Transform data object
|
|
14
|
-
*/
|
|
15
|
-
private _extractTransformData;
|
|
16
9
|
/**
|
|
17
10
|
* Calculates cell position information
|
|
11
|
+
*
|
|
18
12
|
* @param x Grid X coordinate
|
|
19
13
|
* @param y Grid Y coordinate
|
|
20
14
|
* @param gridInfo Grid information
|
|
@@ -23,9 +17,9 @@ export declare class SVGDataExtractor extends DataExtractor {
|
|
|
23
17
|
private _calculateCellPosition;
|
|
24
18
|
/**
|
|
25
19
|
* Processes all grid cells and extracts SVG cell data
|
|
20
|
+
*
|
|
26
21
|
* @param framebufferData Raw pixel data from framebuffers
|
|
27
22
|
* @param grid Grid information
|
|
28
|
-
* @param font Font information
|
|
29
23
|
* @returns Array of SVG cell data objects
|
|
30
24
|
*/
|
|
31
25
|
$extractSVGCellData(framebufferData: FramebufferData, grid: TextmodeGrid): SVGCellData[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVGDataExtractor.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGDataExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAA+B,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;
|
|
1
|
+
{"version":3,"file":"SVGDataExtractor.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGDataExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAA+B,MAAM,SAAS,CAAC;AACzF,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;GAGG;AACH,qBAAa,gBAAiB,SAAQ,aAAa;IAClD;;;;;;;OAOG;IACH,OAAO,CAAC,sBAAsB;IAS9B;;;;;;OAMG;IACI,mBAAmB,CAAC,eAAe,EAAE,eAAe,EAAE,IAAI,EAAE,YAAY,GAAG,WAAW,EAAE;CA6C/F"}
|
|
@@ -8,12 +8,14 @@ import type { Textmodifier } from 'textmode.js';
|
|
|
8
8
|
export declare class SVGExporter {
|
|
9
9
|
/**
|
|
10
10
|
* Applies default values to SVG export options
|
|
11
|
+
*
|
|
11
12
|
* @param options User-provided options
|
|
12
13
|
* @returns Complete options with defaults applied
|
|
13
14
|
*/
|
|
14
15
|
private _applyDefaultOptions;
|
|
15
16
|
/**
|
|
16
17
|
* Generates SVG content from textmode rendering data without saving to file
|
|
18
|
+
*
|
|
17
19
|
* @param textmodifier The Textmodifier instance to extract data from
|
|
18
20
|
* @param options Export options
|
|
19
21
|
* @returns SVG content as string
|
|
@@ -21,6 +23,7 @@ export declare class SVGExporter {
|
|
|
21
23
|
$generateSVG(textmodifier: Textmodifier, options?: SVGExportOptions): string;
|
|
22
24
|
/**
|
|
23
25
|
* Exports SVG content to a downloadable file
|
|
26
|
+
*
|
|
24
27
|
* @param textmodifier The Textmodifier instance to extract data from
|
|
25
28
|
* @param options Export options
|
|
26
29
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVGExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"SVGExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AAGtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;GAIG;AACH,qBAAa,WAAW;IACvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAS5B;;;;;;OAMG;IACI,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAqBvF;;;;;OAKG;IACI,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;CAMjF"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TextmodeFont } from 'textmode.js/
|
|
1
|
+
import type { TextmodeFont } from 'textmode.js/fonts';
|
|
2
2
|
/**
|
|
3
3
|
* Glyph data structure for parsed glyphs.
|
|
4
4
|
* Mirrors the shape used by textmode.js internally for Typr glyph data.
|
|
@@ -31,6 +31,7 @@ interface GlyphData {
|
|
|
31
31
|
export declare class SVGPathGenerator {
|
|
32
32
|
/**
|
|
33
33
|
* Creates a path object for a glyph
|
|
34
|
+
*
|
|
34
35
|
* @param fontData Font data object
|
|
35
36
|
* @param glyphData Glyph data from font
|
|
36
37
|
* @param x X position
|
|
@@ -41,6 +42,7 @@ export declare class SVGPathGenerator {
|
|
|
41
42
|
private _createGlyphPath;
|
|
42
43
|
/**
|
|
43
44
|
* Converts glyph data to SVG path string
|
|
45
|
+
*
|
|
44
46
|
* @param glyphData Glyph data from font
|
|
45
47
|
* @param x X position
|
|
46
48
|
* @param y Y position
|
|
@@ -50,8 +52,9 @@ export declare class SVGPathGenerator {
|
|
|
50
52
|
private _glyphToSVGPath;
|
|
51
53
|
/**
|
|
52
54
|
* Generates an SVG path for a character glyph
|
|
55
|
+
*
|
|
53
56
|
* @param character The character to generate a path for
|
|
54
|
-
* @param
|
|
57
|
+
* @param font The font data object
|
|
55
58
|
* @param x X position
|
|
56
59
|
* @param y Y position
|
|
57
60
|
* @param fontSize Font size
|
|
@@ -60,14 +63,15 @@ export declare class SVGPathGenerator {
|
|
|
60
63
|
private _generateCharacterPath;
|
|
61
64
|
/**
|
|
62
65
|
* Generates SVG path data for a character with positioning calculations
|
|
66
|
+
*
|
|
63
67
|
* @param character The character to render
|
|
64
|
-
* @param
|
|
68
|
+
* @param font The font data
|
|
65
69
|
* @param cellX Cell X position
|
|
66
70
|
* @param cellY Cell Y position
|
|
67
71
|
* @param cellWidth Cell width
|
|
68
72
|
* @param cellHeight Cell height
|
|
69
73
|
* @param fontSize Font size
|
|
70
|
-
* @param
|
|
74
|
+
* @param glyphData Character glyph data
|
|
71
75
|
* @returns SVG path data string or null if generation fails
|
|
72
76
|
*/
|
|
73
77
|
$generatePositionedCharacterPath(character: string, font: TextmodeFont, cellX: number, cellY: number, cellWidth: number, cellHeight: number, fontSize: number, glyphData: GlyphData | null): string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SVGPathGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGPathGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"SVGPathGenerator.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/SVGPathGenerator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEtD;;;GAGG;AACH,UAAU,SAAS;IAClB,mDAAmD;IACnD,GAAG,EAAE,MAAM,CAAC;IACZ,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,iCAAiC;IACjC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iDAAiD;IACjD,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,kCAAkC;IAClC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,kCAAkC;IAClC,EAAE,EAAE,MAAM,EAAE,CAAC;IACb,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,iCAAiC;IACjC,YAAY,EAAE,MAAM,CAAC;CACrB;AAYD;;;GAGG;AACH,qBAAa,gBAAgB;IAC5B;;;;;;;;;OASG;IACH,OAAO,CAAC,gBAAgB;IAwBxB;;;;;;;;OAQG;IACH,OAAO,CAAC,eAAe;IAwDvB;;;;;;;;;OASG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;;;;;;;;;;;OAYG;IACI,gCAAgC,CACtC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,YAAY,EAClB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,SAAS,GAAG,IAAI,GACzB,MAAM,GAAG,IAAI;CAuBhB"}
|
|
@@ -2,5 +2,5 @@ export { SVGExporter } from './SVGExporter';
|
|
|
2
2
|
export { SVGDataExtractor } from './SVGDataExtractor';
|
|
3
3
|
export { SVGContentGenerator } from './SVGContentGenerator';
|
|
4
4
|
export { SVGPathGenerator } from './SVGPathGenerator';
|
|
5
|
-
export type { SVGExportOptions, SVGGenerationOptions, SVGCellData, FramebufferData, RGBA, Position, CellPosition, CellTransform, GlyphPath } from './types';
|
|
5
|
+
export type { SVGExportOptions, SVGGenerationOptions, SVGCellData, FramebufferData, RGBA, Position, CellPosition, CellTransform, GlyphPath, } from './types';
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,YAAY,EACX,gBAAgB,EAChB,oBAAoB,EACpB,WAAW,EACX,eAAe,EACf,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,SAAS,GACT,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/svg/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,WAAW,IAAI;IACpB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACxB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,OAAO,CAAC;IACpB,cAAc,EAAE,OAAO,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,IAAI,CAAC;IACnB,cAAc,EAAE,IAAI,CAAC;IACrB,SAAS,EAAE,aAAa,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,eAAe,EAAE,UAAU,CAAC;IAC5B,kBAAkB,EAAE,UAAU,CAAC;IAC/B,oBAAoB,EAAE,UAAU,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAEtC;;;;;;;;OAQG;IACH,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAE7B;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,cAAc,IAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE,KAAK,IAAI,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,2BAA2B,EAAE,OAAO,CAAC;IACrC,QAAQ,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
|
@@ -8,12 +8,14 @@ import type { Textmodifier } from 'textmode.js';
|
|
|
8
8
|
export declare class TXTExporter {
|
|
9
9
|
/**
|
|
10
10
|
* Applies default values to TXT export options
|
|
11
|
+
*
|
|
11
12
|
* @param options User-provided options
|
|
12
13
|
* @returns Complete options with defaults applied
|
|
13
14
|
*/
|
|
14
15
|
private _applyDefaultOptions;
|
|
15
16
|
/**
|
|
16
17
|
* Generates TXT content from textmode rendering data
|
|
18
|
+
*
|
|
17
19
|
* @param textmodifier The Textmodifier instance to extract data from
|
|
18
20
|
* @param options Export options with defaults applied
|
|
19
21
|
* @returns TXT content as string
|
|
@@ -21,6 +23,7 @@ export declare class TXTExporter {
|
|
|
21
23
|
private _createTXTContent;
|
|
22
24
|
/**
|
|
23
25
|
* Generates TXT content from textmode rendering data without saving to file
|
|
26
|
+
*
|
|
24
27
|
* @param textmodifier The Textmodifier instance to extract data from
|
|
25
28
|
* @param options Export options
|
|
26
29
|
* @returns TXT content as string
|
|
@@ -28,6 +31,7 @@ export declare class TXTExporter {
|
|
|
28
31
|
$generateTXT(textmodifier: Textmodifier, options?: TXTExportOptions): string;
|
|
29
32
|
/**
|
|
30
33
|
* Exports TXT content to a downloadable file
|
|
34
|
+
*
|
|
31
35
|
* @param textmodifier The Textmodifier instance to extract data from
|
|
32
36
|
* @param options Export options
|
|
33
37
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TXTExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/TXTExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;GAIG;AACH,qBAAa,WAAW;
|
|
1
|
+
{"version":3,"file":"TXTExporter.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/TXTExporter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAwB,MAAM,SAAS,CAAC;AACtE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;;GAIG;AACH,qBAAa,WAAW;IACvB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;OAMG;IACH,OAAO,CAAC,iBAAiB;IAkCzB;;;;;;OAMG;IACI,YAAY,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,MAAM;IAIvF;;;;;OAKG;IACI,QAAQ,CAAC,YAAY,EAAE,YAAY,EAAE,OAAO,GAAE,gBAAqB,GAAG,IAAI;CAOjF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/exporters/txt/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;IAC9B;;;;OAIG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAEjC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACpC,sBAAsB,EAAE,OAAO,CAAC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,YAAY,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC"}
|