textmode.js 0.1.9 → 0.2.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.
- package/README.md +4 -4
- package/dist/textmode.esm.js +1418 -1481
- package/dist/textmode.esm.min.js +1500 -1563
- package/dist/textmode.umd.js +19 -56
- package/dist/textmode.umd.min.js +20 -57
- package/dist/types/Textmode.d.ts +10 -38
- package/dist/types/export/base/DataExtractor.d.ts +3 -3
- package/dist/types/export/image/ImageExporter.d.ts +4 -11
- package/dist/types/export/image/types.d.ts +2 -3
- package/dist/types/export/svg/SVGExporter.d.ts +1 -1
- package/dist/types/export/svg/types.d.ts +1 -0
- package/dist/types/export/txt/TXTExporter.d.ts +1 -1
- package/dist/types/export/txt/types.d.ts +2 -2
- package/dist/types/index.d.ts +1 -7
- package/dist/types/rendering/index.d.ts +0 -1
- package/dist/types/rendering/webgl/DrawQueue.d.ts +26 -0
- package/dist/types/rendering/webgl/Framebuffer.d.ts +41 -40
- package/dist/types/rendering/webgl/InstanceBatch.d.ts +91 -0
- package/dist/types/rendering/webgl/InstanceData.d.ts +65 -0
- package/dist/types/rendering/webgl/RenderPipeline.d.ts +15 -0
- package/dist/types/rendering/webgl/RenderState.d.ts +71 -0
- package/dist/types/rendering/webgl/Renderer.d.ts +54 -81
- package/dist/types/rendering/webgl/Shader.d.ts +11 -16
- package/dist/types/rendering/webgl/VAOManager.d.ts +15 -0
- package/dist/types/rendering/webgl/geometries/Arc.d.ts +16 -0
- package/dist/types/rendering/webgl/geometries/BaseGeometry.d.ts +35 -29
- package/dist/types/rendering/webgl/geometries/BezierCurve.d.ts +22 -0
- package/dist/types/rendering/webgl/geometries/Ellipse.d.ts +20 -0
- package/dist/types/rendering/webgl/geometries/Line.d.ts +13 -4
- package/dist/types/rendering/webgl/geometries/Rectangle.d.ts +13 -8
- package/dist/types/rendering/webgl/geometries/Triangle.d.ts +20 -0
- package/dist/types/rendering/webgl/geometries/index.d.ts +4 -1
- package/dist/types/rendering/webgl/index.d.ts +17 -1
- package/dist/types/rendering/webgl/types/DrawCommand.d.ts +9 -0
- package/dist/types/rendering/webgl/types/GeometryTypes.d.ts +144 -0
- package/dist/types/rendering/webgl/types/RenderTypes.d.ts +12 -0
- package/dist/types/textmode/AnimationController.d.ts +81 -0
- package/dist/types/textmode/Canvas.d.ts +18 -19
- package/dist/types/textmode/Grid.d.ts +1 -34
- package/dist/types/textmode/Textmodifier.d.ts +36 -277
- package/dist/types/textmode/font/CharacterColorMapper.d.ts +3 -3
- package/dist/types/textmode/font/TextmodeFont.d.ts +6 -11
- package/dist/types/textmode/font/types.d.ts +1 -1
- package/dist/types/textmode/font/typr/types.d.ts +1 -1
- package/dist/types/textmode/font/utils/index.d.ts +0 -1
- package/dist/types/textmode/mixins/AnimationMixin.d.ts +120 -0
- package/dist/types/textmode/mixins/ExportMixin.d.ts +4 -6
- package/dist/types/textmode/mixins/FontMixin.d.ts +4 -10
- package/dist/types/textmode/mixins/RenderingMixin.d.ts +224 -246
- package/dist/types/textmode/mixins/TextmodifierMixin.d.ts +13 -4
- package/dist/types/textmode/mixins/index.d.ts +2 -2
- package/package.json +1 -1
- package/dist/types/ColorPalette.d.ts +0 -35
- package/dist/types/rendering/core/Framebuffer.d.ts +0 -140
- package/dist/types/rendering/core/Shader.d.ts +0 -59
- package/dist/types/rendering/core/index.d.ts +0 -2
- package/dist/types/textmode/ConversionPipeline.d.ts +0 -110
- package/dist/types/textmode/converters/BrightnessConverter.d.ts +0 -58
- package/dist/types/textmode/converters/Converter.d.ts +0 -69
- package/dist/types/textmode/converters/FeatureConverter.d.ts +0 -128
- package/dist/types/textmode/converters/index.d.ts +0 -3
- package/dist/types/textmode/font/utils/FontConstants.d.ts +0 -60
- package/dist/types/textmode/mixins/ConversionMixin.d.ts +0 -62
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Font-related constants and configuration values.
|
|
3
|
-
* Centralizes magic numbers and configuration to improve maintainability.
|
|
4
|
-
*/
|
|
5
|
-
/**
|
|
6
|
-
* Character mapping platform and encoding preferences.
|
|
7
|
-
* Ordered by preference for Unicode character mapping.
|
|
8
|
-
*/
|
|
9
|
-
export declare const CMAP_PLATFORM_PREFERENCES: readonly ["p3e1", "p3e10", "p0e3", "p0e4"];
|
|
10
|
-
/**
|
|
11
|
-
* Control characters that are allowed in text rendering.
|
|
12
|
-
* Most control characters are filtered out, but these common ones are preserved.
|
|
13
|
-
*/
|
|
14
|
-
export declare const ALLOWED_CONTROL_CHARACTERS: readonly [9, 10, 13];
|
|
15
|
-
/**
|
|
16
|
-
* Character code ranges to filter out during character extraction.
|
|
17
|
-
*/
|
|
18
|
-
export declare const FILTERED_CHARACTER_RANGES: readonly [{
|
|
19
|
-
readonly start: 0;
|
|
20
|
-
readonly end: 31;
|
|
21
|
-
}, {
|
|
22
|
-
readonly start: 127;
|
|
23
|
-
readonly end: 159;
|
|
24
|
-
}];
|
|
25
|
-
/**
|
|
26
|
-
* Font table format constants.
|
|
27
|
-
*/
|
|
28
|
-
export declare const CMAP_FORMATS: {
|
|
29
|
-
readonly BMP_UNICODE: 4;
|
|
30
|
-
readonly FULL_UNICODE: 12;
|
|
31
|
-
};
|
|
32
|
-
/**
|
|
33
|
-
* Default font metrics and sizing constants.
|
|
34
|
-
*/
|
|
35
|
-
export declare const FONT_DEFAULTS: {
|
|
36
|
-
readonly SIZE: 16;
|
|
37
|
-
readonly FAMILY_NAME: "UrsaFont";
|
|
38
|
-
readonly ATLAS_PADDING: 1;
|
|
39
|
-
};
|
|
40
|
-
/**
|
|
41
|
-
* Cache size limits to prevent excessive memory usage.
|
|
42
|
-
*/
|
|
43
|
-
export declare const CACHE_LIMITS: {
|
|
44
|
-
readonly GLYPH_INDEX_CACHE: 10000;
|
|
45
|
-
readonly CMAP_TABLE_CACHE: 100;
|
|
46
|
-
readonly FONT_METRICS_CACHE: 1000;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* Sentinel values used in font tables.
|
|
50
|
-
*/
|
|
51
|
-
export declare const FONT_SENTINELS: {
|
|
52
|
-
readonly CMAP_END_MARKER: 65535;
|
|
53
|
-
};
|
|
54
|
-
/**
|
|
55
|
-
* WebGL texture configuration for font atlases.
|
|
56
|
-
*/
|
|
57
|
-
export declare const TEXTURE_CONFIG: {
|
|
58
|
-
readonly FILTER: "nearest";
|
|
59
|
-
readonly WRAP: "clamp-to-edge";
|
|
60
|
-
};
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
import type { Mixin } from './TextmodifierMixin';
|
|
2
|
-
import type { TextmodeConverter } from '../converters';
|
|
3
|
-
/**
|
|
4
|
-
* Interface for conversion pipeline capabilities that will be mixed into Textmodifier
|
|
5
|
-
*/
|
|
6
|
-
export interface ConversionCapabilities {
|
|
7
|
-
/**
|
|
8
|
-
* Adds a new converter to the pipeline.
|
|
9
|
-
* @param type The type of converter to add. Can be either "brightness" or "custom".
|
|
10
|
-
* @returns The newly created {@link TextmodeConverter} instance or `void` if the addition failed.
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
* ```javascript
|
|
14
|
-
* // Fetch a canvas element to apply textmode rendering to
|
|
15
|
-
* const canvas = document.querySelector('canvas#myCanvas');
|
|
16
|
-
*
|
|
17
|
-
* // Create a Textmodifier instance
|
|
18
|
-
* const textmodifier = await textmode.create(canvas);
|
|
19
|
-
*
|
|
20
|
-
* // Add a new brightness converter
|
|
21
|
-
* const myConverter = textmodifier.addConverter('brightness');
|
|
22
|
-
*
|
|
23
|
-
* // Configure the new converter
|
|
24
|
-
* myConverter.characters("▓▒░ ");
|
|
25
|
-
* myConverter.enabled(true);
|
|
26
|
-
*
|
|
27
|
-
* // Add a custom converter
|
|
28
|
-
* const customConverter = textmodifier.addConverter('custom');
|
|
29
|
-
* ```
|
|
30
|
-
*/
|
|
31
|
-
addConverter(type: 'brightness' | 'custom'): TextmodeConverter | void;
|
|
32
|
-
/**
|
|
33
|
-
* Removes a converter from the pipeline by name or instance.
|
|
34
|
-
* @param nameOrInstance The unique name of the converter or the converter instance to remove.
|
|
35
|
-
*
|
|
36
|
-
* @example
|
|
37
|
-
* ```javascript
|
|
38
|
-
* // Fetch a canvas element to apply textmode rendering to
|
|
39
|
-
* const canvas = document.querySelector('canvas#myCanvas');
|
|
40
|
-
*
|
|
41
|
-
* // Create a Textmodifier instance
|
|
42
|
-
* const textmodifier = await textmode.create(canvas);
|
|
43
|
-
*
|
|
44
|
-
* // Add a converter
|
|
45
|
-
* const myConverter = textmodifier.addConverter('temp-converter', 'brightness');
|
|
46
|
-
*
|
|
47
|
-
* // Remove by name
|
|
48
|
-
* textmodifier.removeConverter('temp-converter');
|
|
49
|
-
*
|
|
50
|
-
* // Or remove by instance
|
|
51
|
-
* const anotherConverter = textmodifier.addConverter('another', 'custom');
|
|
52
|
-
* textmodifier.removeConverter(anotherConverter);
|
|
53
|
-
* ```
|
|
54
|
-
*/
|
|
55
|
-
removeConverter(nameOrInstance: string | TextmodeConverter): void;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Mixin that adds conversion pipeline capabilities to a class by delegating to TextmodeConversionPipeline
|
|
59
|
-
* @param Base The base class to extend
|
|
60
|
-
* @returns Extended class with conversion capabilities
|
|
61
|
-
*/
|
|
62
|
-
export declare const ConversionMixin: Mixin<ConversionCapabilities>;
|