@lightningjs/renderer 2.22.0 → 2.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/core/CoreNode.d.ts +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +5 -5
- package/dist/src/core/platform.js +5 -2
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.d.ts +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +2 -0
- package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +8 -13
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/platform.ts +6 -2
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +8 -14
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -45
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -127
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
- package/dist/src/core/text-rendering/CanvasFont.d.ts +0 -14
- package/dist/src/core/text-rendering/CanvasFont.js +0 -115
- package/dist/src/core/text-rendering/CanvasFont.js.map +0 -1
- package/dist/src/core/text-rendering/CoreFont.d.ts +0 -33
- package/dist/src/core/text-rendering/CoreFont.js +0 -48
- package/dist/src/core/text-rendering/CoreFont.js.map +0 -1
- package/dist/src/core/text-rendering/FontManager.d.ts +0 -11
- package/dist/src/core/text-rendering/FontManager.js +0 -41
- package/dist/src/core/text-rendering/FontManager.js.map +0 -1
- package/dist/src/core/text-rendering/SdfFont.d.ts +0 -29
- package/dist/src/core/text-rendering/SdfFont.js +0 -142
- package/dist/src/core/text-rendering/SdfFont.js.map +0 -1
|
@@ -831,7 +831,7 @@ export declare class CoreNode extends EventEmitter {
|
|
|
831
831
|
get src(): string | null;
|
|
832
832
|
set src(imageUrl: string | null);
|
|
833
833
|
set imageType(type: 'regular' | 'compressed' | 'svg' | null);
|
|
834
|
-
get imageType():
|
|
834
|
+
get imageType(): "regular" | "compressed" | "svg" | null;
|
|
835
835
|
get srcHeight(): number | undefined;
|
|
836
836
|
set srcHeight(value: number);
|
|
837
837
|
get srcWidth(): number | undefined;
|
|
@@ -175,7 +175,7 @@ export declare class WebGlContextWrapper {
|
|
|
175
175
|
*
|
|
176
176
|
* @returns
|
|
177
177
|
*/
|
|
178
|
-
createTexture(): WebGLTexture
|
|
178
|
+
createTexture(): WebGLTexture;
|
|
179
179
|
/**
|
|
180
180
|
* ```
|
|
181
181
|
* gl.deleteTexture(texture);
|
|
@@ -251,14 +251,14 @@ export declare class WebGlContextWrapper {
|
|
|
251
251
|
*
|
|
252
252
|
* @returns
|
|
253
253
|
*/
|
|
254
|
-
createBuffer(): WebGLBuffer
|
|
254
|
+
createBuffer(): WebGLBuffer;
|
|
255
255
|
/**
|
|
256
256
|
* ```
|
|
257
257
|
* gl.createFramebuffer();
|
|
258
258
|
* ```
|
|
259
259
|
* @returns
|
|
260
260
|
*/
|
|
261
|
-
createFramebuffer(): WebGLFramebuffer
|
|
261
|
+
createFramebuffer(): WebGLFramebuffer;
|
|
262
262
|
/**
|
|
263
263
|
* ```
|
|
264
264
|
* gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
|
|
@@ -539,7 +539,7 @@ export declare class WebGlContextWrapper {
|
|
|
539
539
|
*
|
|
540
540
|
* @returns
|
|
541
541
|
*/
|
|
542
|
-
createVertexArray(): WebGLVertexArrayObject
|
|
542
|
+
createVertexArray(): WebGLVertexArrayObject;
|
|
543
543
|
/**
|
|
544
544
|
* ```
|
|
545
545
|
* gl.bindVertexArray(vertexArray);
|
|
@@ -651,7 +651,7 @@ export declare class WebGlContextWrapper {
|
|
|
651
651
|
*
|
|
652
652
|
* @returns
|
|
653
653
|
*/
|
|
654
|
-
createProgram(): WebGLProgram
|
|
654
|
+
createProgram(): WebGLProgram;
|
|
655
655
|
/**
|
|
656
656
|
* ```
|
|
657
657
|
* gl.getProgramParameter(program, pname);
|
|
@@ -45,7 +45,7 @@ export const startLoop = (stage) => {
|
|
|
45
45
|
// Use standard idle timeout when not throttling
|
|
46
46
|
setTimeout(() => requestAnimationFrame(runLoop), 16.666666666666668);
|
|
47
47
|
}
|
|
48
|
-
if (
|
|
48
|
+
if (isIdle === false) {
|
|
49
49
|
stage.eventBus.emit('idle');
|
|
50
50
|
isIdle = true;
|
|
51
51
|
}
|
|
@@ -55,7 +55,10 @@ export const startLoop = (stage) => {
|
|
|
55
55
|
stage.flushFrameEvents();
|
|
56
56
|
return;
|
|
57
57
|
}
|
|
58
|
-
isIdle
|
|
58
|
+
if (isIdle === true) {
|
|
59
|
+
stage.eventBus.emit('active');
|
|
60
|
+
isIdle = false;
|
|
61
|
+
}
|
|
59
62
|
stage.drawFrame();
|
|
60
63
|
stage.flushFrameEvents();
|
|
61
64
|
// Schedule next frame
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,CAAC,cAAsB,CAAC,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE9C,yCAAyC;QACzC,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,aAAa,GAAG,eAAe,EAAE,CAAC;YACzE,wEAAwE;YACxE,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,aAAa,GAAG,WAAW,CAAC;QAE5B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7B,0EAA0E;YAC1E,KAAK,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,UAAU,CACR,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAC9C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,CAAC,cAAsB,CAAC,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE9C,yCAAyC;QACzC,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,aAAa,GAAG,eAAe,EAAE,CAAC;YACzE,wEAAwE;YACxE,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,aAAa,GAAG,WAAW,CAAC;QAE5B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7B,0EAA0E;YAC1E,KAAK,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,UAAU,CACR,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAC9C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;YAED,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,sBAAsB;QACtB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,eAAe,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CACpD,CAAC;YACF,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACtD,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WebGlCoreShader.destroy.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.destroy.ts"],"names":[],"mappings":""}
|
|
@@ -29,7 +29,6 @@ export declare class LinearGradientEffect extends ShaderEffect {
|
|
|
29
29
|
static getEffectKey(props: LinearGradientEffectProps): string;
|
|
30
30
|
static resolveDefaults(props: LinearGradientEffectProps): Required<LinearGradientEffectProps>;
|
|
31
31
|
static uniforms: ShaderEffectUniforms;
|
|
32
|
-
static methods: Record<string, string>;
|
|
33
32
|
static ColorLoop: (amount: number) => string;
|
|
34
33
|
static onColorize: (props: LinearGradientEffectProps) => string;
|
|
35
34
|
}
|
|
@@ -81,13 +81,6 @@ export class LinearGradientEffect extends ShaderEffect {
|
|
|
81
81
|
type: 'float',
|
|
82
82
|
},
|
|
83
83
|
};
|
|
84
|
-
static methods = {
|
|
85
|
-
calcPoint: `
|
|
86
|
-
vec2 function(float d, float angle) {
|
|
87
|
-
return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
|
|
88
|
-
}
|
|
89
|
-
`,
|
|
90
|
-
};
|
|
91
84
|
static ColorLoop = (amount) => {
|
|
92
85
|
let loop = '';
|
|
93
86
|
for (let i = 2; i < amount; i++) {
|
|
@@ -100,12 +93,14 @@ export class LinearGradientEffect extends ShaderEffect {
|
|
|
100
93
|
static onColorize = (props) => {
|
|
101
94
|
const colors = props.colors.length || 1;
|
|
102
95
|
return `
|
|
103
|
-
float a = angle
|
|
104
|
-
float
|
|
105
|
-
|
|
106
|
-
vec2
|
|
107
|
-
|
|
108
|
-
|
|
96
|
+
float a = angle + (PI / 180.0 * 90.0);
|
|
97
|
+
float aspectRatio = u_dimensions.x / u_dimensions.y;
|
|
98
|
+
|
|
99
|
+
vec2 gradDir = vec2(cos(a), sin(a));
|
|
100
|
+
float lineDist = abs(aspectRatio * gradDir.x) + abs(gradDir.y);
|
|
101
|
+
|
|
102
|
+
vec2 pos = v_nodeCoordinate.xy * vec2(aspectRatio, 1.0) - vec2(aspectRatio * 0.5, 0.5);
|
|
103
|
+
float dist = dot(pos, gradDir) / lineDist + 0.5;
|
|
109
104
|
|
|
110
105
|
float stopCalc = smoothstep(stops[0], stops[1], dist);
|
|
111
106
|
vec4 colorOut = mix(colors[0], colors[1], stopCalc);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LinearGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"LinearGradientEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"fileNames":["../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.6.3/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/env.d.ts","../src/core/lib/contextspy.ts","../src/utils.ts","../src/core/lib/validateimagebitmap.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/lib/webglcontextwrapper.ts","../src/core/lib/texturecompression.ts","../src/core/lib/utils.ts","../src/core/lib/texturesvg.ts","../src/core/text-rendering/font-face-types/utils.ts","../src/core/textures/imagetexture.ts","../src/core/textures/subtexture.ts","../src/common/ieventemitter.ts","../src/common/eventemitter.ts","../src/core/platform.ts","../src/core/utils.ts","../src/core/animations/coreanimation.ts","../src/core/animations/animationmanager.ts","../src/core/text-rendering/font-face-types/trfontface.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/coreshader.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglcorectxtexture.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglcoreshader.ts","../src/core/renderers/webgl/webglcorerenderop.ts","../src/core/renderers/webgl/webglcorectxsubtexture.ts","../src/core/textures/rendertexture.ts","../src/core/renderers/webgl/webglcorectxrendertexture.ts","../src/core/renderers/webgl/webglcorerenderer.ts","../src/core/renderers/webgl/shaders/defaultshader.ts","../src/core/renderers/webgl/shaders/defaultshaderbatched.ts","../src/core/renderers/webgl/shaders/effects/shadereffect.ts","../src/core/renderers/webgl/shaders/dynamicshader.ts","../src/core/renderers/webgl/shaders/roundedrectangle.ts","../src/core/renderers/webgl/shaders/sdfshader.ts","../src/core/renderers/webgl/shaders/effects/effectutils.ts","../src/core/renderers/webgl/shaders/effects/radiuseffect.ts","../src/core/renderers/webgl/shaders/effects/bordereffect.ts","../src/core/renderers/webgl/shaders/effects/lineargradienteffect.ts","../src/core/renderers/webgl/shaders/effects/grayscaleeffect.ts","../src/core/renderers/webgl/shaders/effects/borderrighteffect.ts","../src/core/renderers/webgl/shaders/effects/bordertopeffect.ts","../src/core/renderers/webgl/shaders/effects/borderbottomeffect.ts","../src/core/renderers/webgl/shaders/effects/borderlefteffect.ts","../src/core/renderers/webgl/shaders/effects/glitcheffect.ts","../src/core/renderers/webgl/shaders/effects/fadeouteffect.ts","../src/core/renderers/webgl/shaders/effects/radialgradienteffect.ts","../src/core/renderers/webgl/shaders/effects/radialprogresseffect.ts","../src/core/renderers/webgl/shaders/effects/holepuncheffect.ts","../src/core/renderers/canvas/shaders/unsupportedshader.ts","../src/common/ianimationcontroller.ts","../src/main-api/inode.ts","../src/core/text-rendering/font-face-types/webtrfontface.ts","../src/core/text-rendering/textrenderingutils.ts","../src/core/text-rendering/texttexturerendererutils.ts","../src/core/text-rendering/renderers/lightningtexttexturerenderer.ts","../src/core/text-rendering/renderers/canvastextrenderer.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/peekablegenerator.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/fontshaper.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/specialcodepoints.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/sdffontshaper.ts","../src/core/text-rendering/font-face-types/sdftrfontface/sdftrfontface.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/constants.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/util.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/setrenderwindow.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getstartconditions.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getunicodecodepoints.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/measuretext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/layouttext.ts","../src/core/lib/matrix3d.ts","../src/core/text-rendering/renderers/sdftextrenderer/sdftextrenderer.ts","../src/core/renderers/canvas/internal/colorutils.ts","../src/core/renderers/canvas/canvascoretexture.ts","../src/core/renderers/canvas/internal/c2dshaderutils.ts","../src/core/renderers/canvas/canvascorerenderer.ts","../src/main-api/inspector.ts","../src/main-api/renderer.ts","../src/core/textureerror.ts","../exports/index.ts","../src/main-api/dynamicshadercontroller.ts","../src/core/coreshadermanager.ts","../src/main-api/shadercontroller.ts","../src/core/lib/rendercoords.ts","../src/core/renderers/corerenderer.ts","../src/core/coretextnode.ts","../src/core/text-rendering/renderers/textrenderer.ts","../src/core/text-rendering/trfontmanager.ts","../src/main-api/utils.ts","../src/core/textures/colortexture.ts","../src/core/stage.ts","../src/core/texturememorymanager.ts","../src/core/renderers/corecontexttexture.ts","../src/core/textures/texture.ts","../src/core/lib/imageworker.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/animations/coreanimationcontroller.ts","../src/core/corenode.ts","../src/common/commontypes.ts","../exports/canvas.ts","../exports/inspector.ts","../exports/utils.ts","../exports/webgl.ts"],"fileIdsList":[[117,135],[69,75,77,81,82,84,89,92,95,111,112,113,117,122,131,136,137,138,140,141,142,146,150,151,153,156,158,159],[136],[61,66,72,74],[89,131],[138,158],[71],[75],[61,72,74,158],[61,72,75,76,111,159],[61,66,72,75,111,130,142,143,144,150,153,156,157,159],[79,84,89,90,91,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,140,142,144,156],[61,66,117,130,131,144,146,150,158,159],[62,69,70,72,73,87,138,144,149,150,153,154,155],[62,153],[64,153],[61,153],[61,63],[150],[61,66,70,95,110,132,133,134,141,142,144,152,153,158],[61,132,152,159],[92,97,98,110,132,144],[79],[151,153],[60,66,79,95,141,142,143,150,151,152,153,156,158,159],[78],[82],[64],[64,89],[81,82,84,89],[61,64,81,82,84,89,92,95,141],[92,96],[92,93],[92],[92,93,96],[66,92,96],[82,84,95,141,156],[66,81,82,84,89,141],[61,64,81,87,151,159],[61,64,70,81,151,159],[61,64,65,80,151,152,153,159],[61,64,66,70,80,81,83,84,85,86,87,88,95,141,142,144,152,153,158,159],[64,66,78,81,83,84,89,159],[61,64,79,81,82,83,85,89,159],[60,61,66,72,73,76,89,95,117,131,135,141,142,144,145,146,147,148,149,151,153,156,158,159],[118],[77,113,118,119,120,122],[61,68,69,77,89,113,119,121,122,150],[72],[77,113,122],[61,66,72,77,113,116,117,122,131,145,146,147,150,158],[61,66,77,113,114,115,122],[61,66,117,122,125,131,146],[61,66,117,118,119,127,128,131,146],[118,119,127],[66,117,124,131,146],[61,66,72,77,81,83,85,89,95,113,114,117,122,123,125,126,129,130,131,146,147,150,159],[66,72,77,113,116,122,130,145,150,159],[77,113,117,122,131,146],[61,74,150,153],[153,156],[65,66,67,68,153,156],[61,69,153,156,159],[70,72,138,152,156,159],[92,95,139,141,142,156],[75,111,142,145,158],[61,75,111,137,145,153,158],[61,72,89,92,95,112,117,131,135,136,140,141,142,145,150,151,156,158],[79,95,141,150,156],[158],[60]],"fileInfos":[{"version":"44e584d4f6444f58791784f1d530875970993129442a847597db702a073ca68c","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","impliedFormat":1},{"version":"9e8ca8ed051c2697578c023d9c29d6df689a083561feba5c14aedee895853999","affectsGlobalScope":true,"impliedFormat":1},{"version":"6920e1448680767498a0b77c6a00a8e77d14d62c3da8967b171f1ddffa3c18e4","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"45d8ccb3dfd57355eb29749919142d4321a0aa4df6acdfc54e30433d7176600a","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true,"impliedFormat":1},{"version":"6fc23bb8c3965964be8c597310a2878b53a0306edb71d4b5a4dfe760186bcc01","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea011c76963fb15ef1cdd7ce6a6808b46322c527de2077b6cfdf23ae6f5f9ec7","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"1a94697425a99354df73d9c8291e2ecd4dddd370aed4023c2d6dee6cccb32666","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3f9fc0ec0b96a9e642f11eda09c0be83a61c7b336977f8b9fdb1e9788e925fe","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"479553e3779be7d4f68e9f40cdb82d038e5ef7592010100410723ceced22a0f7","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"d3d7b04b45033f57351c8434f60b6be1ea71a2dfec2d0a0c3c83badbb0e3e693","affectsGlobalScope":true,"impliedFormat":1},{"version":"956d27abdea9652e8368ce029bb1e0b9174e9678a273529f426df4b3d90abd60","affectsGlobalScope":true,"impliedFormat":1},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true,"impliedFormat":1},{"version":"e6633e05da3ff36e6da2ec170d0d03ccf33de50ca4dc6f5aeecb572cedd162fb","affectsGlobalScope":true,"impliedFormat":1},{"version":"15c1c3d7b2e46e0025417ed6d5f03f419e57e6751f87925ca19dc88297053fe6","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"caccc56c72713969e1cfe5c3d44e5bab151544d9d2b373d7dbe5a1e4166652be","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"33358442698bb565130f52ba79bfd3d4d484ac85fe33f3cb1759c54d18201393","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"5ba0a094f93834bf1d227ddfb621d45ffe5b37e4dfe0b8518cdb769713f86633","affectsGlobalScope":true,"impliedFormat":99},{"version":"91fc62e55e9c0e46aeb37d1286e50805ea903c159ae1bf544f5ee54b5717995d","signature":"826d87ec474ecd59c827441df44d49f420dbe099333c3344e31dfada8cc39902","impliedFormat":99},{"version":"b4ad3ea0bd9817c325a5088e9027f637a9715f74917910c6caba4ac62ee50aeb","signature":"1e5b84250cd9b1b205ec5855ddced82faaf99888d902ebdada1e4b7a71729a5c","impliedFormat":99},{"version":"9e4c912a03a5a03f5f24fbd451db9ce24f7de4db32845498a44cae5acf9e1b21","signature":"670073ac2ed46a5b4d75f1c8809c754a0935c9afdcfe3ff5d17fd18f48944ccf","impliedFormat":99},{"version":"c1e884d41fb830745a0de5126e20c3b9f8cdd3940623cfacf57cf98b0a65d402","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"0f94186fc32296f83923c34b09973fe821a96c50f06b1ae390795370ae799608","signature":"449b79874677914d35ab574d76e0ea9d25fba9867e0ae7d502096e71fc6c925c","impliedFormat":99},{"version":"a036a4e9bda638a0bf07f282c3e2ef00a328395a5e963f896fd7a30f0a643a9b","signature":"afcf49d3e0bfb93f7ba0802ac21a8cdee4cb9f08e66aeef6dd7de60e5db2754b","impliedFormat":99},{"version":"4cf8ad23d614773c5a45900feb7c7d51f58cfb32e9bcea9eb4b3abc9139372c4","signature":"c81d1926825ba3c6fe12f65b3a3594fb52f7e16247f8449dbe11eb2ea3bc0706","impliedFormat":99},{"version":"46dadae085bc595eebd1f5968126d8def3440c49a06809fa72c93b182a17c636","signature":"a3aa19877b4efae097bfacdd582f28772b82b34513519b9cb88d33b3238c6382","impliedFormat":99},{"version":"b08581bacfec85a913af8ba82cbd5a7b36b8a2ca7ca2479f42b4bca5d4b6becd","signature":"5d84d52fcd091438b06af154c401177ccbf86e76c5356ff8b52f9c83bf59c112","impliedFormat":99},{"version":"780cbcbf5ab9f56a0f61192c5f99085964c66b38621ed3ce52f6b7b55a14c005","signature":"6c3a9c96e9951197ae2034c7b2f04649bca6175e058e1b40af27d8effa15d30e","impliedFormat":99},{"version":"0db3af51c788f36c153a6c4ad98f1a79d8634612a063b0fe99e358cc4e18ef18","signature":"25f917a262806cafddd08348a2a6eb67db236f725034759c01f26326733af51d","impliedFormat":99},{"version":"5de4a2417fe760f83ce7c2e9e54067e98cd4152d76536003ef991fb737b161ea","signature":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"42637ec4fa701148d4feb23a2964911e95126f46f167fbccb406bc12729c7430","signature":"881f25b23cf946459048e2d76abdbb7056c728a15d92d20f2e76af12725cee7e","impliedFormat":99},{"version":"43d6c46abd572c2103dd8ce48fef4af154ae2d79b6a46f4e1f0b2b8cd235bf13","signature":"ca1d671356065c80a35963296ec2a8e9be852150f8ce985dd4106cc9a69cf05a","impliedFormat":99},{"version":"b351dd8f078d53256ffa60073eaa13f409f3af0c34ca9e208c771898134e778e","signature":"5145b621284371acaa933b5064f3a8f09b2883b1711a55e2686fa6865b084bf8","impliedFormat":99},{"version":"6c8b407d3d9692e4eb5b5678e4189528f43eb41c3cc08c09ec2d1c67eb21748b","signature":"2d69e8508e0964c5b5e529d015dbd07461a6bd917263a7455872011d605717c8","impliedFormat":99},{"version":"2f14e768b6006e0c9217f4f2d61ee87125118db122f239ea2b9f6269483696c1","signature":"86af1ef9e30559df431a169a1f9d87bc81421080efff8b87c971e75a54db67dd","impliedFormat":99},{"version":"357547c7b78891bc2bd7dedcded7fc6c8cba3502f5b6892634a5414e945f2e49","signature":"551c61b20bd72a80795fc054d3ac21b474a09c8636d59b98a6107ec0ba7044a4","impliedFormat":99},{"version":"406863eae1f7adee4bfaf6b80f541e72ba3ff57a80997eae34dc2677733f62cc","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"6abbadf260f57b2b5425fc9152d128f9c6e31dd5e1e10277a40fe025168bb3e7","signature":"2c608878583a5c619e39dd010879fef01147b6f4dfe0fc1b0adaa1cc3d6781b7","impliedFormat":99},{"version":"45ec73ba1227750682ceaa5e65a0ba09a00b6944f0b637c4057ec610bb465d54","signature":"09c1c14f42b1256cbaf80ca607b054643c379418bd61468f996d16be81823aeb","impliedFormat":99},{"version":"15daaca7792bb59e844512e1d2d7f12e6853ea733f98ac6e40cdbdff434e56ff","signature":"14e5976d5fc4f968668b0d99952171947a6360274bcfe650ff4baeff89de24ed","impliedFormat":99},{"version":"c52ee108dff34f3750f1e6d780cc7a70978c2afb4353623cf4c21f9b9e6f8ea7","signature":"394021518f44cf2746c5d9e6ab4737932a1ae696dd72fcc943fcf4be73a58e3f","impliedFormat":99},{"version":"fe059ad5602551efe1fd96feb8639a3b5b8519e4f13ae3562c67c45b32df8ec8","signature":"9c7e28c8554bb1e4ee50e06a4037967d79eb8126b3ee24c1676633381a352e0f","impliedFormat":99},{"version":"4e025c7a1185bcf0765a894bc6f0d1001dc1d7999b1ff8f89ed5023f5b01b4bb","signature":"31155b235d6406db3ebfeb283cb0385f655e14a58c7021c1b74e6ab322568047","impliedFormat":99},{"version":"fdbbe989fc53586ac47a365721a8ceb0cb6db3de28c42795d5cd1435bbd84f50","signature":"bc7ac1bc274f2d4018c301f538ac470a49ef9b7614e2b592a09134fa22626e45","impliedFormat":99},{"version":"64bc774608af9090eeea7d40e4e5421b5e1b076118106267399bfc849b4a8f16","signature":"e8909d613ab2365225d2c9a78f2b919847ff4b89a04dcee019c415d9bf87858b","impliedFormat":99},{"version":"72507d6bd8b7da748339f0a7a7ec4393b0891633a51a67710e8a344a84dea47f","signature":"f4d1abe14847cc2682fe66c2f1467f5e7c39cb0b342a9eb49649b1c8e5c74656","impliedFormat":99},{"version":"310afeeb116cbf84462a1ce929023cbf374b39445510bf4d460d0440548d0f11","signature":"848c7bb98398b1e3d8640d951f3a65107efde1ecee07626876052e73d31eea3d","impliedFormat":99},{"version":"92320987e8d0d829767b380f74a43cced48a55bbbb32cc8774d7212d067c7d21","signature":"a24ea51a741b5c31b6bb4a36bc396e67eae641f98cfc6d1d39d41de4c634a7a7","impliedFormat":99},{"version":"3ec0bc7276a1e7c1bdc2fcbb1c1187c0013a77651b7fc1ab6a943053158965d4","signature":"0e84fe255776ae5379c1cac863a5938c19489314e535cb344fd21842608b1784","impliedFormat":99},{"version":"3be2d5a18c863b53210f67074b1d03086174082bdd3057c4cd5911d4ca984125","signature":"e69c8aae6eb25b1f5f596d1925a3718c019a1244040824ef9285fd5ba78d89b1","impliedFormat":99},{"version":"e02093ad8a6d3e03ba9a8126ba60543d8fb59e6ab2dab0867dad37132431402e","signature":"a57766663a490df67df99cf87bbf1676bc37ae8ae749105990c068f67dcb2be1","impliedFormat":99},{"version":"eaf5cb24630d7ff445219014ac34e367e4bb30a4814308ceab5c4c303245fb5b","signature":"a7378cb0351bd8e9f787f0adcf21628ce109490295c18850bc5198ba87847537","impliedFormat":99},{"version":"65b2d4c21dbde22b6e95038a8eebbcdb772c2585732380d896d301f534b10bbe","signature":"3777053409ca71051e867f5ba2b8c281a46f64ae5e4a39502fe0f2f2dfa5e1bb","impliedFormat":99},{"version":"dc0f22b8ec1947e76f05b9afeb90adf3dcb448699513b18580553c95c53fd06e","signature":"53cb2dc8826700be89f77a4c183fc4c04315d7b997bce3be70c922b7b431bd8a","impliedFormat":99},{"version":"eaf702b4ef6e10d90bec8491980f67999f8be932234b0ae1c9e21c158943149e","signature":"f9691e1dce2060fff774ef94ce972331a995227ca727f2b7f061db5439249768","impliedFormat":99},{"version":"1fdb85720e3e12fae01ece1874f5748335414911bd8c5acda243eec7d753c648","signature":"938ff90af916541a327286f1506a5180b910248ebb0b8122d90c5de8fc034e53","impliedFormat":99},{"version":"506fef3892259c088178d325953732138c21f1fe30c31920cee6af4409c7d641","signature":"2938fdd3c2f3626344fc253ee2b3dd6e4a59180477ac36cf2a6cbfa8878e5b20","impliedFormat":99},{"version":"12831d2038d0f1cc1cd9df1bdc89dbc3f261e17057d63f720df1e609d66a21be","signature":"f9a09a3ae4618346cf8f9df7860a4be93c36efd9a508736325a76e694225e190","impliedFormat":99},{"version":"354ef01d9ca5af97d326d2edd9124f2e8f09b5ffb55857e3640a816d4ec35be3","signature":"5fe987b10f73fd6ce5bfeb80db6f791a18ae48c776053102ce61d82db2a6f36e","impliedFormat":99},{"version":"d5afb3d06698d5194524bc03ccb833a1c4ee901617cb228cd0adf81e70f438c1","signature":"e1abcf4a600bcd4b8e69fcd03e767f5019c7f65b94cccafbfa1655f106e453c7","impliedFormat":99},{"version":"26db5726d282787f729b58400761ac7c1051c714b564a4009d69aaf8406886d2","signature":"c6dffb4a7da1ade0ed4d821fcac59688c93e327d3d8d41e61abcca107a506225","impliedFormat":99},{"version":"98b58029fe861360618d16ea5df4fc2aeb6eb70dcbff157c2bddaa81f37b38b6","signature":"a0757e2827c3485f4ec357e733e930d1024cee02bafde0ec31a0e65544645441","impliedFormat":99},{"version":"04e68fedd844f2fe456433b1ccfdb8a6555ea1841468b87686baaa3e166a0f36","signature":"83e2c88379c4e7be10c2a2396e8a9d065517925ab03b5052498f371550cf79ec","impliedFormat":99},{"version":"aaba3009ea04dd12053eb241a54e6e5ed93fc1c81b1029e8f1789ce5dfb08fd4","signature":"9ef32c5ea6950e752a2ca6e10dc9229a021b810bb413f6bfc95628e394884430","impliedFormat":99},{"version":"771ce05abea1ac8b481fc776ba0297e4a2b529d37ae38e807ddc68913c6e1b3a","signature":"ee41693b20263c8b58521744a88b5da072b7328a221860558f708aff6604bcf5","impliedFormat":99},{"version":"172006a59245221e11249ce21dd8d77ce10da44021eb44c8a80de397b5f12b40","signature":"12afbd2d0125c19e1581f618242e8ebfb051b458186965510f8b63c9d6ce98d7","impliedFormat":99},{"version":"6cfd8280aeb88131df29aa58206a701f1267933ffe02e3fc890c7b3779d09dff","signature":"655224934f23cd23eb1eab46e531119efb8b9d4537dc9cc46fa5980f47f3ece4","impliedFormat":99},{"version":"298bd060449b5b61c9e18fb8db5b3ef3afb909eba051dd92977220bd8389d9a3","signature":"0af4c2cca0fd511c04baca62ac84b209100926ed7e7fadd7261c40125b518ee3","impliedFormat":99},{"version":"c24db8cd76381645793fab401d725c8b3aa267ed48b1e0d1b7235d571dc33ce0","signature":"cd41c572490c5c4739dd50fe976f5ab393ee523bdc274e66c7db7bad2b580aa3","impliedFormat":99},{"version":"cd3353c087e03546d356d446993cf1347c13de8650914068988c06c3f5c1d4bc","signature":"18ba5f48d81404839647f24a785897883dc699b89397499eea03ae01cc88075c","impliedFormat":99},{"version":"b6ded92bacb015c764b3e1158f61e47a1125373a7559dde75417a143aece65ff","signature":"0a85e37588e35098c2f44fe52ce1f92b55a1a18d2726ed0c1b4157603a47b62f","impliedFormat":99},{"version":"489d00fa38320b68061df48a3e0e98615b24b4830c13d7f3a349368cf337584a","signature":"75ea12223b074b5c4aea501797340b91380461620c22aafc7013bb99c9cace3e","impliedFormat":99},{"version":"870550fc4a6095e9586a6652984ac9f7b92692dfd2b47c4b8ce5c0746f828373","signature":"f093e1eafafb2fb47c4598216ca3651903fcd07f85621ae9172a6ed15d437eaa","impliedFormat":99},{"version":"72867e24b2fe7afd06196e22e2df215ea1da2a464adae88125500b8e4d8f2f58","signature":"577496dd32b7f896810dbab3f979b50a0328276dc5cbbb4d04af4ad57b53dc4a","impliedFormat":99},{"version":"f13f1e57d509e4b5b2d8163ba575969f6e0826997e3d1353ca8fc33d21b7ed1b","signature":"6b672ae185588a21778092c09c97d34753f41e9c7601bed83c0dc5b27c91a766","impliedFormat":99},{"version":"490d7aa4d04822234186e3cb9d7b79c15dbaae726d449b3b3d29f26bd98bac34","signature":"a23a0647f6d48f7301993a8031600404a308e89d4bb32d5664d07d2c51763988","impliedFormat":99},{"version":"1e8cd1edde5320fc8dbfb7ac91f50219b1545592e01898dc1c61916a03475922","signature":"8c2b43fffaf9f683998ec697f7018fdebb028662f6f8a6630ed5157b3e48cc66","impliedFormat":99},{"version":"07cc44414debd17b3cdd11a6073fa190db0650fb0790f6a588cd4186fffa3953","signature":"7a26ecdc665e9c6a77f5e2b3d25477c54d46f18775d6c0526fa334dff654af18","impliedFormat":99},{"version":"55cb0bb489555d141f055e698e6961062bf926470d2016610ff111cbdd9603ca","signature":"3f90cee77011924ba299c27b7cf88b037f2b43d0bc10ab153af4cd4781c50f62","impliedFormat":99},{"version":"33827a1738a19f4d57b11258f31c17b58c13a1bd55f8c246d1cff45a455178df","signature":"77bdcd96a3265ca547318a5af3ee8ad2ee5cb272525d7023d7a46f54c60ced53","impliedFormat":99},{"version":"08ccda6b96a1786c3c476a2fcd9af8e97e6ff07d63deb8903a233ffc1f6a9b59","signature":"3ead95dee1f0c8e38a95d4f547e314555f465b9eebafcc874ed9ea3b3b88322a","impliedFormat":99},{"version":"6361295322b9881757543b29c95292afccf4aefc9fc1490723a09923d09b508f","signature":"a802659e56a07cdd1b72d4436777f19282b057a83081126d8ee517521ed41a66","impliedFormat":99},{"version":"5ffb2a738d8a7722459b57ae6cd897c079d1f24900f99f330eb62fc8d3470737","signature":"07c69a42f64a0dfe88287e43aeed8efb67647c61b2e92a24a627402b64a9627a","impliedFormat":99},{"version":"f49f52226b307055d63566e8307f70b65ad497b28fce994946d40719f632b380","signature":"8a407499aa707eea4802f13414c0efc136b71bc13a00db0e34ce924d4e604dd0","impliedFormat":99},{"version":"bfd092879f5611d7b4be8111e5e5a261fb44e77f1e3b01127d2ab38cc97e9b4e","signature":"0a8d6d62c44838d660683b53634fc7a8809f5f7d95f3ff08bf629ad7f73553b9","impliedFormat":99},{"version":"26d91c6bc182e8105869ecdb9d2702999fa452fb584cc7474927599a91debed0","signature":"d3cb50faa336adf1f62a674060aafd11cb648f5292ce50cc9ede8297a2df5843","impliedFormat":99},{"version":"05ca78681d3aaa0f8e9bd8eee812b24b6a83e5dd882563e03c467448883b950b","signature":"d94f353c4590759895732b0a051cba4715671890c6180b9247a1a5d976396c29","impliedFormat":99},{"version":"a867728017076ad5eb2e69fe2fdec3d509488717da78d49c870764c8b894a86e","signature":"9896e7ebe9b6920365a2f657ec92e57d20545478060a6c2c792cd8e4dfe625ef","impliedFormat":99},{"version":"00225081075bead20c946a2202ff71bbc0c0d881a37299a85153534b8db95ead","signature":"82b4959cc8e78b6523427a16b137e53509dbae64f14851b999756aaffe318ce7","impliedFormat":99},{"version":"29b3ddfe84514b9c8484f5672d48b4d79f0cf0841e3e3f00883105b3ab21bc76","signature":"084f2dff056c4bb4ad389cd6b839b5e1c8e0e6a80a6c4d33cebb70259bcdc615","impliedFormat":99},{"version":"22178e5c85ec5d47a74a790e5dbe730cf7b36a817ce46b50636b7e29624f9b29","signature":"186ca99e36b7a0f99791cf6c220247b133926fee20924ad1f9d842adf6f6ed8c","impliedFormat":99},{"version":"96727811ac68fe9a9c55733be825d18a419830b854fbbe72dd9772368a1d7967","signature":"56fdc4918c03bb4671d3250ac4b22222311508999a06c2f576d5e6a7742f9235","impliedFormat":99},{"version":"d53b34010f866cfcd3cfddb20b24b2f9e1be7d9819b6574e32bf36547471b061","signature":"9c8985c39a2a50c0165de03278be1cf248e2299b37cb1673f88de11bfc968a30","impliedFormat":99},{"version":"5c8f20cfcf3227f246f0e2334119deabd7b626d61f9c3087e727a1af62185a03","signature":"ab9751f2487a5dcb166761551a4e020e39b4083405bc06039d943df75ac14890","impliedFormat":99},{"version":"ce11acda4d86544da51d56f4aaad3aaa75674165527ed159b962fdd7624054b3","signature":"8dc967f055ae5b9fd62e708fa730b6099c955368bd34d2ad5e7dbd5ea11c5d7e","impliedFormat":99},{"version":"4b26bd1cb7afc22080cacd3ab1998eea29caf4afe0cec5e825ce4e7f9413df2e","signature":"aea4476598274ce18c8b3f1943456753b1f7e286e2b0330d9648a06b9e8ce270","impliedFormat":99},{"version":"eb5ebb320aa1183949c8d38cbb1d1a4adb66d89c2eabe482d06cbfcbb623a5c8","signature":"a99803c578fe88e219cf00596426fe7a7d4562fff03a9c2814b84e9d0b6a23df","impliedFormat":99},{"version":"53b45d3918024153940c2d06a3e4431208c759ff5d41bce849ccf1e31c671c9d","signature":"9ed659d9c1fa9b865f3752ac5185784710a96a233baa776f8baf3b6e518b0303","impliedFormat":99},{"version":"a71eb6b39c4630873f12696db3e34af692b284aa83008159b4cc586f941b8e13","signature":"130877bf6f69f1cf26d465df5c7b5ab4eb72600c4ec30083c7af6675dea42ee3","impliedFormat":99},{"version":"3ad8976ecedd5602acd4c1e253b14fbdd98561f602e480e858404d767bfd11bc","signature":"5b2095b639feecb36f10a973d06bd548f9f3e9821cdc8722618afc574920329f","impliedFormat":99},{"version":"8dc026ac57317b69ecb2f09fa8e74f2332b0109c499e7d39c12add19e9a90d81","signature":"d0d75abf3e3c014b03cd652b915846739b908a3f8606a35a77ba14e17bead2d3","impliedFormat":99},{"version":"7b53294fa219ebd79956a98e755feb7ac74124db0739ad14d22dd4c290ebe1c2","signature":"855e81e7725ab35c3ac522af65c6b4b6c5e0ec84d661bc3d91ddebc93229fd84","impliedFormat":99},{"version":"4614aa3d763b008cdfa6753916103bb493c1b4fa779c6e5c7c4e34b0739a9d0b","signature":"2c4a7564e4b7a3d407914aa65e831589112ac7557db1437287a1534959593aef","impliedFormat":99},{"version":"e0ed7349f01fc7d854d74b38a8f5249e57477a068327c378195053bf67ac7d05","signature":"c809257aad6fa7bb4145ef33e19f687ca1a94070f75c52ddadb57434186e9344","impliedFormat":99},{"version":"1ea47c64b9fd37bd688c36b29dca04803131af3c66e79023d7e7cd7c811c35d6","signature":"a32384813812c7d85f97c3da007d969b29878157671e3b41244e949860ae38bc","impliedFormat":99},{"version":"45606469eb44a344e8e43f3ff9de002164ee3d1ee8d031ada7828a8677690e00","signature":"521ae01e6e3b61e0514e4775118266b032246691f41f20fc7bbcc8778962ca5f","impliedFormat":99},{"version":"7f6e6e6104931e7907c74e53d336094350978646d9c02c2a205ffcea90b58e61","signature":"f02942f8ae408270e572fa4c23aca8f42b496b83a836bfc8cec4f559e8ce1125","impliedFormat":99},{"version":"dc9e5fa349da5312af464518c86335fb0774c7ddcf8c2299930b095236e0adeb","signature":"1bf57cb12a5c51d172548dfa0310c3ebb385db82b6ba8333e1712b54728078d8","impliedFormat":99},{"version":"9a3258161bcc4e4f7c1546d5a074fd2c807e1a0b9e465bcaf0ea9ddce1461d0d","signature":"cd9c578227460356bc02bdfc7bf2c44b2d7bd62fa160d7bd8f3689f13845dc8c","impliedFormat":99},{"version":"a95968ee61a4d9cef9eb5b2ec9b31319862f404e017f01ce13416a0c10ed0e99","signature":"afa38746925628e1407de58f3a529fa67b08ff6e2ab1da2dbc05d916c3ef6cda","impliedFormat":99},{"version":"f8bb12172e9e15b67dd4f651bfbb0940b8ef8d8edc89e98220e479134936d7fb","signature":"7fa0036a92ef198a2140758b695b615596e7860cde2f8f50dc8772f1ae23fde0","impliedFormat":99},{"version":"a6c2e138b59cb1239e867f0cc50a95559c153dc2bbdab1171d0f8bc009dcc021","signature":"44ef96bca6a28830dd73638de33b517be9627f0e8fb437da28571392b040150e","impliedFormat":99},{"version":"c3f61197aa7ef53189b3c29ed721a8273813e28206797caa49c8c4caa77633dc","signature":"04518ae9c19b48c11d149bb522c286306e145dee3fbe1a548cb10896a22b5d07","impliedFormat":99},{"version":"cd273c4b5608b839a445e3bf5ac4d614e0a656ff50557e1fa9694f6029d5c119","signature":"5f2a80f9fe0fded95fca5a2573148fb4328abe495ce05b0739a5dbb8c658b2a0","impliedFormat":99},{"version":"179ca20802b789649c1d5952bbae26fe87bf79009d3f7dccd0eee0b0ac5c1eaa","signature":"aff5459adf63d75fa72d70cb2244c54ad6aebef2a66feb8dd8d561c7c9fb556c","impliedFormat":99},{"version":"667211d4affa5db8065970b08dddd909af1487bc0d9ddf8d8a8d38563c09a3e5","signature":"775f83aba0a790ff27ad5e6642106c49f74e3918fc405f7d2431e4bd58c60ea9","impliedFormat":99},{"version":"d3226c7a2fa8b85a8007a76a2a6947bf5ccfa45ae02cbf623da68cd211add256","signature":"dd5d0c19dce556771144f21351304cfddf801902e561b86430e4bd7abf44ca18","impliedFormat":99},{"version":"1c94a5a9933f0f16dc4373b8040ac50ba7166227c480cefa69fbb62c51be8657","signature":"51c6f13d28e8248498471d5e929828b1101b76a6979d990599688395530707af","impliedFormat":99},{"version":"d7b7c74f23177db8f64a32ce8d6169c38a4215114b9db3175eacfab4ad667788","signature":"0d0b724bbe921d0a299a08237e8935dc56b436bbd095db267256ce3f97f37744","impliedFormat":99},{"version":"56148315ae495bfcc65aa8cb1488068051ac0542cf16746766c4d20304d9cfb1","signature":"db959774546bdddc7101c53894e3138cd245b33175f7c9377f9343eec1a8d680","impliedFormat":99},{"version":"dc437a909033530b5c7982e91195f1a277f51de4d53e77e04e635efbf0a6fef7","signature":"bf1e59752e9e681726a63f2813f019175bada11a27bee81d1642458fcd2fbee9","impliedFormat":99},{"version":"8e191a3da860727e0163e25ff89d7de7061975ac76b56db9b0b97dddd07915ff","signature":"2d9d1a3857a0ffa05571b5fd3b7cdedef0e1acc751dfad0747acd5bd2902a710","impliedFormat":99}],"root":[[59,163]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":true},"referencedMap":[[160,1],[139,2],[161,3],[162,4],[163,5],[159,6],[72,7],[111,7],[76,8],[75,9],[157,10],[158,11],[141,12],[145,13],[156,14],[154,15],[65,16],[67,17],[64,18],[73,19],[135,20],[133,21],[134,22],[110,23],[152,24],[144,25],[79,26],[83,27],[80,28],[82,29],[90,30],[91,30],[93,31],[103,32],[98,32],[104,32],[101,32],[102,32],[96,33],[106,32],[105,34],[100,34],[109,35],[99,36],[107,36],[108,36],[97,32],[92,37],[94,30],[95,38],[88,39],[86,40],[81,41],[89,42],[85,43],[84,44],[150,45],[119,46],[121,47],[122,48],[77,49],[113,50],[117,51],[116,52],[126,53],[129,54],[128,55],[125,56],[131,57],[146,58],[114,50],[115,50],[147,59],[151,60],[149,61],[69,62],[155,61],[87,61],[70,63],[153,64],[140,65],[112,66],[136,67],[137,68],[142,69],[148,70],[61,71]],"latestChangedDtsFile":"./exports/webgl.d.ts","version":"5.6.3"}
|
|
1
|
+
{"fileNames":["../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es5.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.dom.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2016.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2019.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.promise.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2021.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.array.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.error.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.intl.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.object.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.string.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.es2022.regexp.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.d.ts","../node_modules/.pnpm/typescript@5.9.2/node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/env.d.ts","../src/core/lib/contextspy.ts","../src/utils.ts","../src/core/lib/validateimagebitmap.ts","../src/core/renderers/webgl/internal/webglutils.ts","../src/core/lib/webglcontextwrapper.ts","../src/core/lib/texturecompression.ts","../src/core/lib/utils.ts","../src/core/lib/texturesvg.ts","../src/core/text-rendering/font-face-types/utils.ts","../src/core/textures/imagetexture.ts","../src/core/textures/subtexture.ts","../src/common/ieventemitter.ts","../src/common/eventemitter.ts","../src/core/platform.ts","../src/core/utils.ts","../src/core/animations/coreanimation.ts","../src/core/animations/animationmanager.ts","../src/core/text-rendering/font-face-types/trfontface.ts","../src/core/renderers/corerenderop.ts","../src/core/renderers/coreshader.ts","../src/core/renderers/webgl/internal/rendererutils.ts","../src/core/renderers/webgl/webglcorectxtexture.ts","../src/core/renderers/webgl/internal/shaderutils.ts","../src/core/renderers/webgl/internal/buffercollection.ts","../src/core/renderers/webgl/webglcoreshader.ts","../src/core/renderers/webgl/webglcorerenderop.ts","../src/core/renderers/webgl/webglcorectxsubtexture.ts","../src/core/textures/rendertexture.ts","../src/core/renderers/webgl/webglcorectxrendertexture.ts","../src/core/renderers/webgl/webglcorerenderer.ts","../src/core/renderers/webgl/shaders/defaultshader.ts","../src/core/renderers/webgl/shaders/defaultshaderbatched.ts","../src/core/renderers/webgl/shaders/effects/shadereffect.ts","../src/core/renderers/webgl/shaders/dynamicshader.ts","../src/core/renderers/webgl/shaders/roundedrectangle.ts","../src/core/renderers/webgl/shaders/sdfshader.ts","../src/core/renderers/webgl/shaders/effects/effectutils.ts","../src/core/renderers/webgl/shaders/effects/radiuseffect.ts","../src/core/renderers/webgl/shaders/effects/bordereffect.ts","../src/core/renderers/webgl/shaders/effects/lineargradienteffect.ts","../src/core/renderers/webgl/shaders/effects/grayscaleeffect.ts","../src/core/renderers/webgl/shaders/effects/borderrighteffect.ts","../src/core/renderers/webgl/shaders/effects/bordertopeffect.ts","../src/core/renderers/webgl/shaders/effects/borderbottomeffect.ts","../src/core/renderers/webgl/shaders/effects/borderlefteffect.ts","../src/core/renderers/webgl/shaders/effects/glitcheffect.ts","../src/core/renderers/webgl/shaders/effects/fadeouteffect.ts","../src/core/renderers/webgl/shaders/effects/radialgradienteffect.ts","../src/core/renderers/webgl/shaders/effects/radialprogresseffect.ts","../src/core/renderers/webgl/shaders/effects/holepuncheffect.ts","../src/core/renderers/canvas/shaders/unsupportedshader.ts","../src/common/ianimationcontroller.ts","../src/main-api/inode.ts","../src/core/text-rendering/font-face-types/webtrfontface.ts","../src/core/text-rendering/textrenderingutils.ts","../src/core/text-rendering/texttexturerendererutils.ts","../src/core/text-rendering/renderers/lightningtexttexturerenderer.ts","../src/core/text-rendering/renderers/canvastextrenderer.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/peekablegenerator.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/fontshaper.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/specialcodepoints.ts","../src/core/text-rendering/font-face-types/sdftrfontface/internal/sdffontshaper.ts","../src/core/text-rendering/font-face-types/sdftrfontface/sdftrfontface.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/constants.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/util.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/setrenderwindow.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getstartconditions.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/getunicodecodepoints.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/measuretext.ts","../src/core/text-rendering/renderers/sdftextrenderer/internal/layouttext.ts","../src/core/lib/matrix3d.ts","../src/core/text-rendering/renderers/sdftextrenderer/sdftextrenderer.ts","../src/core/renderers/canvas/internal/colorutils.ts","../src/core/renderers/canvas/canvascoretexture.ts","../src/core/renderers/canvas/internal/c2dshaderutils.ts","../src/core/renderers/canvas/canvascorerenderer.ts","../src/main-api/inspector.ts","../src/main-api/renderer.ts","../src/core/textureerror.ts","../exports/index.ts","../src/main-api/dynamicshadercontroller.ts","../src/core/coreshadermanager.ts","../src/main-api/shadercontroller.ts","../src/core/lib/rendercoords.ts","../src/core/renderers/corerenderer.ts","../src/core/coretextnode.ts","../src/core/text-rendering/renderers/textrenderer.ts","../src/core/text-rendering/trfontmanager.ts","../src/main-api/utils.ts","../src/core/textures/colortexture.ts","../src/core/stage.ts","../src/core/texturememorymanager.ts","../src/core/renderers/corecontexttexture.ts","../src/core/textures/texture.ts","../src/core/lib/imageworker.ts","../src/core/textures/noisetexture.ts","../src/core/coretexturemanager.ts","../src/core/animations/coreanimationcontroller.ts","../src/core/corenode.ts","../src/common/commontypes.ts","../exports/canvas.ts","../exports/inspector.ts","../exports/utils.ts","../exports/webgl.ts"],"fileIdsList":[[117,135],[69,75,77,81,82,84,89,92,95,111,112,113,117,122,131,136,137,138,140,141,142,146,150,151,153,156,158,159],[136],[61,66,72,74],[89,131],[138,158],[71],[75],[61,72,74,158],[61,72,75,76,111,159],[61,66,72,75,111,130,142,143,144,150,153,156,157,159],[79,84,89,90,91,93,94,95,97,98,99,100,101,102,103,104,105,106,107,108,109,110,140,142,144,156],[61,66,117,130,131,144,146,150,158,159],[62,69,70,72,73,87,138,144,149,150,153,154,155],[62,153],[64,153],[61,153],[61,63],[150],[61,66,70,95,110,132,133,134,141,142,144,152,153,158],[61,132,152,159],[92,97,98,110,132,144],[79],[151,153],[60,66,79,95,141,142,143,150,151,152,153,156,158,159],[78],[82],[64],[64,89],[81,82,84,89],[61,64,81,82,84,89,92,95,141],[92,96],[92,93],[92],[92,93,96],[66,92,96],[82,84,95,141,156],[66,81,82,84,89,141],[61,64,81,87,151,159],[61,64,70,81,151,159],[61,64,65,80,151,152,153,159],[61,64,66,70,80,81,83,84,85,86,87,88,95,141,142,144,152,153,158,159],[64,66,78,81,83,84,89,159],[61,64,79,81,82,83,85,89,159],[60,61,66,72,73,76,89,95,117,131,135,141,142,144,145,146,147,148,149,151,153,156,158,159],[118],[77,113,118,119,120,122],[61,68,69,77,89,113,119,121,122,150],[72],[77,113,122],[61,66,72,77,113,116,117,122,131,145,146,147,150,158],[61,66,77,113,114,115,122],[61,66,117,122,125,131,146],[61,66,117,118,119,127,128,131,146],[118,119,127],[66,117,124,131,146],[61,66,72,77,81,83,85,89,95,113,114,117,122,123,125,126,129,130,131,146,147,150,159],[66,72,77,113,116,122,130,145,150,159],[77,113,117,122,131,146],[61,74,150,153],[153,156],[65,66,67,68,153,156],[61,69,153,156,159],[70,72,138,152,156,159],[92,95,139,141,142,156],[75,111,142,145,158],[61,75,111,137,145,153,158],[61,72,89,92,95,112,117,131,135,136,140,141,142,145,150,151,156,158],[79,95,141,150,156],[158],[60]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"5ba0a094f93834bf1d227ddfb621d45ffe5b37e4dfe0b8518cdb769713f86633","affectsGlobalScope":true,"impliedFormat":99},{"version":"91fc62e55e9c0e46aeb37d1286e50805ea903c159ae1bf544f5ee54b5717995d","signature":"826d87ec474ecd59c827441df44d49f420dbe099333c3344e31dfada8cc39902","impliedFormat":99},{"version":"b4ad3ea0bd9817c325a5088e9027f637a9715f74917910c6caba4ac62ee50aeb","signature":"1e5b84250cd9b1b205ec5855ddced82faaf99888d902ebdada1e4b7a71729a5c","impliedFormat":99},{"version":"9e4c912a03a5a03f5f24fbd451db9ce24f7de4db32845498a44cae5acf9e1b21","signature":"670073ac2ed46a5b4d75f1c8809c754a0935c9afdcfe3ff5d17fd18f48944ccf","impliedFormat":99},{"version":"c1e884d41fb830745a0de5126e20c3b9f8cdd3940623cfacf57cf98b0a65d402","signature":"8e859e1af27f614aae3f8d163c831280e842bda6c53f11c60b78deaedcff6d92","impliedFormat":99},{"version":"0f94186fc32296f83923c34b09973fe821a96c50f06b1ae390795370ae799608","signature":"914a7b55d3d0993562a90ae1cf1f814d6faa929b2808651484f6d1816f3b2e78","impliedFormat":99},{"version":"a036a4e9bda638a0bf07f282c3e2ef00a328395a5e963f896fd7a30f0a643a9b","signature":"afcf49d3e0bfb93f7ba0802ac21a8cdee4cb9f08e66aeef6dd7de60e5db2754b","impliedFormat":99},{"version":"4cf8ad23d614773c5a45900feb7c7d51f58cfb32e9bcea9eb4b3abc9139372c4","signature":"c81d1926825ba3c6fe12f65b3a3594fb52f7e16247f8449dbe11eb2ea3bc0706","impliedFormat":99},{"version":"46dadae085bc595eebd1f5968126d8def3440c49a06809fa72c93b182a17c636","signature":"a3aa19877b4efae097bfacdd582f28772b82b34513519b9cb88d33b3238c6382","impliedFormat":99},{"version":"b08581bacfec85a913af8ba82cbd5a7b36b8a2ca7ca2479f42b4bca5d4b6becd","signature":"5d84d52fcd091438b06af154c401177ccbf86e76c5356ff8b52f9c83bf59c112","impliedFormat":99},{"version":"780cbcbf5ab9f56a0f61192c5f99085964c66b38621ed3ce52f6b7b55a14c005","signature":"6c3a9c96e9951197ae2034c7b2f04649bca6175e058e1b40af27d8effa15d30e","impliedFormat":99},{"version":"0db3af51c788f36c153a6c4ad98f1a79d8634612a063b0fe99e358cc4e18ef18","signature":"25f917a262806cafddd08348a2a6eb67db236f725034759c01f26326733af51d","impliedFormat":99},{"version":"5de4a2417fe760f83ce7c2e9e54067e98cd4152d76536003ef991fb737b161ea","signature":"11f10eef6b087b59bd9e527db506274380a36587a1bff3450e220ad7ec2ce45e","impliedFormat":99},{"version":"42637ec4fa701148d4feb23a2964911e95126f46f167fbccb406bc12729c7430","signature":"881f25b23cf946459048e2d76abdbb7056c728a15d92d20f2e76af12725cee7e","impliedFormat":99},{"version":"f64e939c339df9a72b64969b8ce442e075f20d5f3719fdbc802b19f01c4c2d22","signature":"ca1d671356065c80a35963296ec2a8e9be852150f8ce985dd4106cc9a69cf05a","impliedFormat":99},{"version":"b351dd8f078d53256ffa60073eaa13f409f3af0c34ca9e208c771898134e778e","signature":"5145b621284371acaa933b5064f3a8f09b2883b1711a55e2686fa6865b084bf8","impliedFormat":99},{"version":"6c8b407d3d9692e4eb5b5678e4189528f43eb41c3cc08c09ec2d1c67eb21748b","signature":"2d69e8508e0964c5b5e529d015dbd07461a6bd917263a7455872011d605717c8","impliedFormat":99},{"version":"2f14e768b6006e0c9217f4f2d61ee87125118db122f239ea2b9f6269483696c1","signature":"86af1ef9e30559df431a169a1f9d87bc81421080efff8b87c971e75a54db67dd","impliedFormat":99},{"version":"357547c7b78891bc2bd7dedcded7fc6c8cba3502f5b6892634a5414e945f2e49","signature":"551c61b20bd72a80795fc054d3ac21b474a09c8636d59b98a6107ec0ba7044a4","impliedFormat":99},{"version":"406863eae1f7adee4bfaf6b80f541e72ba3ff57a80997eae34dc2677733f62cc","signature":"21248172fdb4c3ce859fa761a360940384895116a845e10fb20812ef4d29431c","impliedFormat":99},{"version":"6abbadf260f57b2b5425fc9152d128f9c6e31dd5e1e10277a40fe025168bb3e7","signature":"2c608878583a5c619e39dd010879fef01147b6f4dfe0fc1b0adaa1cc3d6781b7","impliedFormat":99},{"version":"45ec73ba1227750682ceaa5e65a0ba09a00b6944f0b637c4057ec610bb465d54","signature":"09c1c14f42b1256cbaf80ca607b054643c379418bd61468f996d16be81823aeb","impliedFormat":99},{"version":"15daaca7792bb59e844512e1d2d7f12e6853ea733f98ac6e40cdbdff434e56ff","signature":"14e5976d5fc4f968668b0d99952171947a6360274bcfe650ff4baeff89de24ed","impliedFormat":99},{"version":"c52ee108dff34f3750f1e6d780cc7a70978c2afb4353623cf4c21f9b9e6f8ea7","signature":"394021518f44cf2746c5d9e6ab4737932a1ae696dd72fcc943fcf4be73a58e3f","impliedFormat":99},{"version":"fe059ad5602551efe1fd96feb8639a3b5b8519e4f13ae3562c67c45b32df8ec8","signature":"9c7e28c8554bb1e4ee50e06a4037967d79eb8126b3ee24c1676633381a352e0f","impliedFormat":99},{"version":"4e025c7a1185bcf0765a894bc6f0d1001dc1d7999b1ff8f89ed5023f5b01b4bb","signature":"31155b235d6406db3ebfeb283cb0385f655e14a58c7021c1b74e6ab322568047","impliedFormat":99},{"version":"fdbbe989fc53586ac47a365721a8ceb0cb6db3de28c42795d5cd1435bbd84f50","signature":"bc7ac1bc274f2d4018c301f538ac470a49ef9b7614e2b592a09134fa22626e45","impliedFormat":99},{"version":"64bc774608af9090eeea7d40e4e5421b5e1b076118106267399bfc849b4a8f16","signature":"e8909d613ab2365225d2c9a78f2b919847ff4b89a04dcee019c415d9bf87858b","impliedFormat":99},{"version":"72507d6bd8b7da748339f0a7a7ec4393b0891633a51a67710e8a344a84dea47f","signature":"f4d1abe14847cc2682fe66c2f1467f5e7c39cb0b342a9eb49649b1c8e5c74656","impliedFormat":99},{"version":"310afeeb116cbf84462a1ce929023cbf374b39445510bf4d460d0440548d0f11","signature":"848c7bb98398b1e3d8640d951f3a65107efde1ecee07626876052e73d31eea3d","impliedFormat":99},{"version":"92320987e8d0d829767b380f74a43cced48a55bbbb32cc8774d7212d067c7d21","signature":"a24ea51a741b5c31b6bb4a36bc396e67eae641f98cfc6d1d39d41de4c634a7a7","impliedFormat":99},{"version":"3ec0bc7276a1e7c1bdc2fcbb1c1187c0013a77651b7fc1ab6a943053158965d4","signature":"0e84fe255776ae5379c1cac863a5938c19489314e535cb344fd21842608b1784","impliedFormat":99},{"version":"3be2d5a18c863b53210f67074b1d03086174082bdd3057c4cd5911d4ca984125","signature":"e69c8aae6eb25b1f5f596d1925a3718c019a1244040824ef9285fd5ba78d89b1","impliedFormat":99},{"version":"e02093ad8a6d3e03ba9a8126ba60543d8fb59e6ab2dab0867dad37132431402e","signature":"a57766663a490df67df99cf87bbf1676bc37ae8ae749105990c068f67dcb2be1","impliedFormat":99},{"version":"eaf5cb24630d7ff445219014ac34e367e4bb30a4814308ceab5c4c303245fb5b","signature":"a7378cb0351bd8e9f787f0adcf21628ce109490295c18850bc5198ba87847537","impliedFormat":99},{"version":"65b2d4c21dbde22b6e95038a8eebbcdb772c2585732380d896d301f534b10bbe","signature":"3777053409ca71051e867f5ba2b8c281a46f64ae5e4a39502fe0f2f2dfa5e1bb","impliedFormat":99},{"version":"dc0f22b8ec1947e76f05b9afeb90adf3dcb448699513b18580553c95c53fd06e","signature":"53cb2dc8826700be89f77a4c183fc4c04315d7b997bce3be70c922b7b431bd8a","impliedFormat":99},{"version":"eaf702b4ef6e10d90bec8491980f67999f8be932234b0ae1c9e21c158943149e","signature":"f9691e1dce2060fff774ef94ce972331a995227ca727f2b7f061db5439249768","impliedFormat":99},{"version":"1fdb85720e3e12fae01ece1874f5748335414911bd8c5acda243eec7d753c648","signature":"938ff90af916541a327286f1506a5180b910248ebb0b8122d90c5de8fc034e53","impliedFormat":99},{"version":"506fef3892259c088178d325953732138c21f1fe30c31920cee6af4409c7d641","signature":"2938fdd3c2f3626344fc253ee2b3dd6e4a59180477ac36cf2a6cbfa8878e5b20","impliedFormat":99},{"version":"bab2fb1e370a282c8083936dc7f8b2212f92773546ad24c1bcd4e1f3b41a493c","signature":"1ea026e894154234e2fd95ea0f6e92cb9b7149b563ea9b939796ff82dce107af","impliedFormat":99},{"version":"354ef01d9ca5af97d326d2edd9124f2e8f09b5ffb55857e3640a816d4ec35be3","signature":"5fe987b10f73fd6ce5bfeb80db6f791a18ae48c776053102ce61d82db2a6f36e","impliedFormat":99},{"version":"d5afb3d06698d5194524bc03ccb833a1c4ee901617cb228cd0adf81e70f438c1","signature":"e1abcf4a600bcd4b8e69fcd03e767f5019c7f65b94cccafbfa1655f106e453c7","impliedFormat":99},{"version":"26db5726d282787f729b58400761ac7c1051c714b564a4009d69aaf8406886d2","signature":"c6dffb4a7da1ade0ed4d821fcac59688c93e327d3d8d41e61abcca107a506225","impliedFormat":99},{"version":"98b58029fe861360618d16ea5df4fc2aeb6eb70dcbff157c2bddaa81f37b38b6","signature":"a0757e2827c3485f4ec357e733e930d1024cee02bafde0ec31a0e65544645441","impliedFormat":99},{"version":"04e68fedd844f2fe456433b1ccfdb8a6555ea1841468b87686baaa3e166a0f36","signature":"83e2c88379c4e7be10c2a2396e8a9d065517925ab03b5052498f371550cf79ec","impliedFormat":99},{"version":"aaba3009ea04dd12053eb241a54e6e5ed93fc1c81b1029e8f1789ce5dfb08fd4","signature":"9ef32c5ea6950e752a2ca6e10dc9229a021b810bb413f6bfc95628e394884430","impliedFormat":99},{"version":"771ce05abea1ac8b481fc776ba0297e4a2b529d37ae38e807ddc68913c6e1b3a","signature":"ee41693b20263c8b58521744a88b5da072b7328a221860558f708aff6604bcf5","impliedFormat":99},{"version":"172006a59245221e11249ce21dd8d77ce10da44021eb44c8a80de397b5f12b40","signature":"12afbd2d0125c19e1581f618242e8ebfb051b458186965510f8b63c9d6ce98d7","impliedFormat":99},{"version":"6cfd8280aeb88131df29aa58206a701f1267933ffe02e3fc890c7b3779d09dff","signature":"655224934f23cd23eb1eab46e531119efb8b9d4537dc9cc46fa5980f47f3ece4","impliedFormat":99},{"version":"298bd060449b5b61c9e18fb8db5b3ef3afb909eba051dd92977220bd8389d9a3","signature":"0af4c2cca0fd511c04baca62ac84b209100926ed7e7fadd7261c40125b518ee3","impliedFormat":99},{"version":"c24db8cd76381645793fab401d725c8b3aa267ed48b1e0d1b7235d571dc33ce0","signature":"cd41c572490c5c4739dd50fe976f5ab393ee523bdc274e66c7db7bad2b580aa3","impliedFormat":99},{"version":"cd3353c087e03546d356d446993cf1347c13de8650914068988c06c3f5c1d4bc","signature":"18ba5f48d81404839647f24a785897883dc699b89397499eea03ae01cc88075c","impliedFormat":99},{"version":"b6ded92bacb015c764b3e1158f61e47a1125373a7559dde75417a143aece65ff","signature":"0a85e37588e35098c2f44fe52ce1f92b55a1a18d2726ed0c1b4157603a47b62f","impliedFormat":99},{"version":"489d00fa38320b68061df48a3e0e98615b24b4830c13d7f3a349368cf337584a","signature":"75ea12223b074b5c4aea501797340b91380461620c22aafc7013bb99c9cace3e","impliedFormat":99},{"version":"870550fc4a6095e9586a6652984ac9f7b92692dfd2b47c4b8ce5c0746f828373","signature":"f093e1eafafb2fb47c4598216ca3651903fcd07f85621ae9172a6ed15d437eaa","impliedFormat":99},{"version":"72867e24b2fe7afd06196e22e2df215ea1da2a464adae88125500b8e4d8f2f58","signature":"577496dd32b7f896810dbab3f979b50a0328276dc5cbbb4d04af4ad57b53dc4a","impliedFormat":99},{"version":"f13f1e57d509e4b5b2d8163ba575969f6e0826997e3d1353ca8fc33d21b7ed1b","signature":"6b672ae185588a21778092c09c97d34753f41e9c7601bed83c0dc5b27c91a766","impliedFormat":99},{"version":"490d7aa4d04822234186e3cb9d7b79c15dbaae726d449b3b3d29f26bd98bac34","signature":"a23a0647f6d48f7301993a8031600404a308e89d4bb32d5664d07d2c51763988","impliedFormat":99},{"version":"1e8cd1edde5320fc8dbfb7ac91f50219b1545592e01898dc1c61916a03475922","signature":"8c2b43fffaf9f683998ec697f7018fdebb028662f6f8a6630ed5157b3e48cc66","impliedFormat":99},{"version":"07cc44414debd17b3cdd11a6073fa190db0650fb0790f6a588cd4186fffa3953","signature":"7a26ecdc665e9c6a77f5e2b3d25477c54d46f18775d6c0526fa334dff654af18","impliedFormat":99},{"version":"55cb0bb489555d141f055e698e6961062bf926470d2016610ff111cbdd9603ca","signature":"3f90cee77011924ba299c27b7cf88b037f2b43d0bc10ab153af4cd4781c50f62","impliedFormat":99},{"version":"33827a1738a19f4d57b11258f31c17b58c13a1bd55f8c246d1cff45a455178df","signature":"77bdcd96a3265ca547318a5af3ee8ad2ee5cb272525d7023d7a46f54c60ced53","impliedFormat":99},{"version":"08ccda6b96a1786c3c476a2fcd9af8e97e6ff07d63deb8903a233ffc1f6a9b59","signature":"3ead95dee1f0c8e38a95d4f547e314555f465b9eebafcc874ed9ea3b3b88322a","impliedFormat":99},{"version":"6361295322b9881757543b29c95292afccf4aefc9fc1490723a09923d09b508f","signature":"a802659e56a07cdd1b72d4436777f19282b057a83081126d8ee517521ed41a66","impliedFormat":99},{"version":"5ffb2a738d8a7722459b57ae6cd897c079d1f24900f99f330eb62fc8d3470737","signature":"07c69a42f64a0dfe88287e43aeed8efb67647c61b2e92a24a627402b64a9627a","impliedFormat":99},{"version":"f49f52226b307055d63566e8307f70b65ad497b28fce994946d40719f632b380","signature":"8a407499aa707eea4802f13414c0efc136b71bc13a00db0e34ce924d4e604dd0","impliedFormat":99},{"version":"bfd092879f5611d7b4be8111e5e5a261fb44e77f1e3b01127d2ab38cc97e9b4e","signature":"0a8d6d62c44838d660683b53634fc7a8809f5f7d95f3ff08bf629ad7f73553b9","impliedFormat":99},{"version":"26d91c6bc182e8105869ecdb9d2702999fa452fb584cc7474927599a91debed0","signature":"d3cb50faa336adf1f62a674060aafd11cb648f5292ce50cc9ede8297a2df5843","impliedFormat":99},{"version":"05ca78681d3aaa0f8e9bd8eee812b24b6a83e5dd882563e03c467448883b950b","signature":"d94f353c4590759895732b0a051cba4715671890c6180b9247a1a5d976396c29","impliedFormat":99},{"version":"a867728017076ad5eb2e69fe2fdec3d509488717da78d49c870764c8b894a86e","signature":"9896e7ebe9b6920365a2f657ec92e57d20545478060a6c2c792cd8e4dfe625ef","impliedFormat":99},{"version":"00225081075bead20c946a2202ff71bbc0c0d881a37299a85153534b8db95ead","signature":"82b4959cc8e78b6523427a16b137e53509dbae64f14851b999756aaffe318ce7","impliedFormat":99},{"version":"29b3ddfe84514b9c8484f5672d48b4d79f0cf0841e3e3f00883105b3ab21bc76","signature":"084f2dff056c4bb4ad389cd6b839b5e1c8e0e6a80a6c4d33cebb70259bcdc615","impliedFormat":99},{"version":"22178e5c85ec5d47a74a790e5dbe730cf7b36a817ce46b50636b7e29624f9b29","signature":"186ca99e36b7a0f99791cf6c220247b133926fee20924ad1f9d842adf6f6ed8c","impliedFormat":99},{"version":"96727811ac68fe9a9c55733be825d18a419830b854fbbe72dd9772368a1d7967","signature":"56fdc4918c03bb4671d3250ac4b22222311508999a06c2f576d5e6a7742f9235","impliedFormat":99},{"version":"d53b34010f866cfcd3cfddb20b24b2f9e1be7d9819b6574e32bf36547471b061","signature":"9c8985c39a2a50c0165de03278be1cf248e2299b37cb1673f88de11bfc968a30","impliedFormat":99},{"version":"5c8f20cfcf3227f246f0e2334119deabd7b626d61f9c3087e727a1af62185a03","signature":"ab9751f2487a5dcb166761551a4e020e39b4083405bc06039d943df75ac14890","impliedFormat":99},{"version":"ce11acda4d86544da51d56f4aaad3aaa75674165527ed159b962fdd7624054b3","signature":"8dc967f055ae5b9fd62e708fa730b6099c955368bd34d2ad5e7dbd5ea11c5d7e","impliedFormat":99},{"version":"4b26bd1cb7afc22080cacd3ab1998eea29caf4afe0cec5e825ce4e7f9413df2e","signature":"aea4476598274ce18c8b3f1943456753b1f7e286e2b0330d9648a06b9e8ce270","impliedFormat":99},{"version":"eb5ebb320aa1183949c8d38cbb1d1a4adb66d89c2eabe482d06cbfcbb623a5c8","signature":"a99803c578fe88e219cf00596426fe7a7d4562fff03a9c2814b84e9d0b6a23df","impliedFormat":99},{"version":"53b45d3918024153940c2d06a3e4431208c759ff5d41bce849ccf1e31c671c9d","signature":"9ed659d9c1fa9b865f3752ac5185784710a96a233baa776f8baf3b6e518b0303","impliedFormat":99},{"version":"a71eb6b39c4630873f12696db3e34af692b284aa83008159b4cc586f941b8e13","signature":"130877bf6f69f1cf26d465df5c7b5ab4eb72600c4ec30083c7af6675dea42ee3","impliedFormat":99},{"version":"3ad8976ecedd5602acd4c1e253b14fbdd98561f602e480e858404d767bfd11bc","signature":"5b2095b639feecb36f10a973d06bd548f9f3e9821cdc8722618afc574920329f","impliedFormat":99},{"version":"8dc026ac57317b69ecb2f09fa8e74f2332b0109c499e7d39c12add19e9a90d81","signature":"d0d75abf3e3c014b03cd652b915846739b908a3f8606a35a77ba14e17bead2d3","impliedFormat":99},{"version":"7b53294fa219ebd79956a98e755feb7ac74124db0739ad14d22dd4c290ebe1c2","signature":"855e81e7725ab35c3ac522af65c6b4b6c5e0ec84d661bc3d91ddebc93229fd84","impliedFormat":99},{"version":"4614aa3d763b008cdfa6753916103bb493c1b4fa779c6e5c7c4e34b0739a9d0b","signature":"2c4a7564e4b7a3d407914aa65e831589112ac7557db1437287a1534959593aef","impliedFormat":99},{"version":"e0ed7349f01fc7d854d74b38a8f5249e57477a068327c378195053bf67ac7d05","signature":"c809257aad6fa7bb4145ef33e19f687ca1a94070f75c52ddadb57434186e9344","impliedFormat":99},{"version":"1ea47c64b9fd37bd688c36b29dca04803131af3c66e79023d7e7cd7c811c35d6","signature":"a32384813812c7d85f97c3da007d969b29878157671e3b41244e949860ae38bc","impliedFormat":99},{"version":"45606469eb44a344e8e43f3ff9de002164ee3d1ee8d031ada7828a8677690e00","signature":"521ae01e6e3b61e0514e4775118266b032246691f41f20fc7bbcc8778962ca5f","impliedFormat":99},{"version":"7f6e6e6104931e7907c74e53d336094350978646d9c02c2a205ffcea90b58e61","signature":"f02942f8ae408270e572fa4c23aca8f42b496b83a836bfc8cec4f559e8ce1125","impliedFormat":99},{"version":"dc9e5fa349da5312af464518c86335fb0774c7ddcf8c2299930b095236e0adeb","signature":"1bf57cb12a5c51d172548dfa0310c3ebb385db82b6ba8333e1712b54728078d8","impliedFormat":99},{"version":"9a3258161bcc4e4f7c1546d5a074fd2c807e1a0b9e465bcaf0ea9ddce1461d0d","signature":"cd9c578227460356bc02bdfc7bf2c44b2d7bd62fa160d7bd8f3689f13845dc8c","impliedFormat":99},{"version":"a95968ee61a4d9cef9eb5b2ec9b31319862f404e017f01ce13416a0c10ed0e99","signature":"afa38746925628e1407de58f3a529fa67b08ff6e2ab1da2dbc05d916c3ef6cda","impliedFormat":99},{"version":"f8bb12172e9e15b67dd4f651bfbb0940b8ef8d8edc89e98220e479134936d7fb","signature":"7fa0036a92ef198a2140758b695b615596e7860cde2f8f50dc8772f1ae23fde0","impliedFormat":99},{"version":"a6c2e138b59cb1239e867f0cc50a95559c153dc2bbdab1171d0f8bc009dcc021","signature":"44ef96bca6a28830dd73638de33b517be9627f0e8fb437da28571392b040150e","impliedFormat":99},{"version":"c3f61197aa7ef53189b3c29ed721a8273813e28206797caa49c8c4caa77633dc","signature":"04518ae9c19b48c11d149bb522c286306e145dee3fbe1a548cb10896a22b5d07","impliedFormat":99},{"version":"cd273c4b5608b839a445e3bf5ac4d614e0a656ff50557e1fa9694f6029d5c119","signature":"5f2a80f9fe0fded95fca5a2573148fb4328abe495ce05b0739a5dbb8c658b2a0","impliedFormat":99},{"version":"179ca20802b789649c1d5952bbae26fe87bf79009d3f7dccd0eee0b0ac5c1eaa","signature":"aff5459adf63d75fa72d70cb2244c54ad6aebef2a66feb8dd8d561c7c9fb556c","impliedFormat":99},{"version":"667211d4affa5db8065970b08dddd909af1487bc0d9ddf8d8a8d38563c09a3e5","signature":"775f83aba0a790ff27ad5e6642106c49f74e3918fc405f7d2431e4bd58c60ea9","impliedFormat":99},{"version":"d3226c7a2fa8b85a8007a76a2a6947bf5ccfa45ae02cbf623da68cd211add256","signature":"b33d1505e725e84a072acb540b0c975d709a9e60ade966379b207e33c999c602","impliedFormat":99},{"version":"1c94a5a9933f0f16dc4373b8040ac50ba7166227c480cefa69fbb62c51be8657","signature":"51c6f13d28e8248498471d5e929828b1101b76a6979d990599688395530707af","impliedFormat":99},{"version":"d7b7c74f23177db8f64a32ce8d6169c38a4215114b9db3175eacfab4ad667788","signature":"0d0b724bbe921d0a299a08237e8935dc56b436bbd095db267256ce3f97f37744","impliedFormat":99},{"version":"56148315ae495bfcc65aa8cb1488068051ac0542cf16746766c4d20304d9cfb1","signature":"db959774546bdddc7101c53894e3138cd245b33175f7c9377f9343eec1a8d680","impliedFormat":99},{"version":"dc437a909033530b5c7982e91195f1a277f51de4d53e77e04e635efbf0a6fef7","signature":"bf1e59752e9e681726a63f2813f019175bada11a27bee81d1642458fcd2fbee9","impliedFormat":99},{"version":"8e191a3da860727e0163e25ff89d7de7061975ac76b56db9b0b97dddd07915ff","signature":"2d9d1a3857a0ffa05571b5fd3b7cdedef0e1acc751dfad0747acd5bd2902a710","impliedFormat":99}],"root":[[59,163]],"options":{"allowJs":true,"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"experimentalDecorators":true,"module":100,"noImplicitOverride":true,"noUncheckedIndexedAccess":true,"outDir":"./","rootDir":"..","sourceMap":true,"strict":true,"target":9,"verbatimModuleSyntax":true},"referencedMap":[[160,1],[139,2],[161,3],[162,4],[163,5],[159,6],[72,7],[111,7],[76,8],[75,9],[157,10],[158,11],[141,12],[145,13],[156,14],[154,15],[65,16],[67,17],[64,18],[73,19],[135,20],[133,21],[134,22],[110,23],[152,24],[144,25],[79,26],[83,27],[80,28],[82,29],[90,30],[91,30],[93,31],[103,32],[98,32],[104,32],[101,32],[102,32],[96,33],[106,32],[105,34],[100,34],[109,35],[99,36],[107,36],[108,36],[97,32],[92,37],[94,30],[95,38],[88,39],[86,40],[81,41],[89,42],[85,43],[84,44],[150,45],[119,46],[121,47],[122,48],[77,49],[113,50],[117,51],[116,52],[126,53],[129,54],[128,55],[125,56],[131,57],[146,58],[114,50],[115,50],[147,59],[151,60],[149,61],[69,62],[155,61],[87,61],[70,63],[153,64],[140,65],[112,66],[136,67],[137,68],[142,69],[148,70],[61,71]],"latestChangedDtsFile":"./exports/webgl.d.ts","version":"5.9.2"}
|
package/package.json
CHANGED
package/src/core/platform.ts
CHANGED
|
@@ -57,7 +57,7 @@ export const startLoop = (stage: Stage) => {
|
|
|
57
57
|
setTimeout(() => requestAnimationFrame(runLoop), 16.666666666666668);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
if (
|
|
60
|
+
if (isIdle === false) {
|
|
61
61
|
stage.eventBus.emit('idle');
|
|
62
62
|
isIdle = true;
|
|
63
63
|
}
|
|
@@ -70,7 +70,11 @@ export const startLoop = (stage: Stage) => {
|
|
|
70
70
|
return;
|
|
71
71
|
}
|
|
72
72
|
|
|
73
|
-
isIdle
|
|
73
|
+
if (isIdle === true) {
|
|
74
|
+
stage.eventBus.emit('active');
|
|
75
|
+
isIdle = false;
|
|
76
|
+
}
|
|
77
|
+
|
|
74
78
|
stage.drawFrame();
|
|
75
79
|
stage.flushFrameEvents();
|
|
76
80
|
|
|
@@ -120,14 +120,6 @@ export class LinearGradientEffect extends ShaderEffect {
|
|
|
120
120
|
},
|
|
121
121
|
};
|
|
122
122
|
|
|
123
|
-
static override methods: Record<string, string> = {
|
|
124
|
-
calcPoint: `
|
|
125
|
-
vec2 function(float d, float angle) {
|
|
126
|
-
return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
|
|
127
|
-
}
|
|
128
|
-
`,
|
|
129
|
-
};
|
|
130
|
-
|
|
131
123
|
static ColorLoop = (amount: number): string => {
|
|
132
124
|
let loop = '';
|
|
133
125
|
for (let i = 2; i < amount; i++) {
|
|
@@ -141,12 +133,14 @@ export class LinearGradientEffect extends ShaderEffect {
|
|
|
141
133
|
static override onColorize = (props: LinearGradientEffectProps) => {
|
|
142
134
|
const colors = props.colors!.length || 1;
|
|
143
135
|
return `
|
|
144
|
-
float a = angle
|
|
145
|
-
float
|
|
146
|
-
|
|
147
|
-
vec2
|
|
148
|
-
|
|
149
|
-
|
|
136
|
+
float a = angle + (PI / 180.0 * 90.0);
|
|
137
|
+
float aspectRatio = u_dimensions.x / u_dimensions.y;
|
|
138
|
+
|
|
139
|
+
vec2 gradDir = vec2(cos(a), sin(a));
|
|
140
|
+
float lineDist = abs(aspectRatio * gradDir.x) + abs(gradDir.y);
|
|
141
|
+
|
|
142
|
+
vec2 pos = v_nodeCoordinate.xy * vec2(aspectRatio, 1.0) - vec2(aspectRatio * 0.5, 0.5);
|
|
143
|
+
float dist = dot(pos, gradDir) / lineDist + 0.5;
|
|
150
144
|
|
|
151
145
|
float stopCalc = smoothstep(stops[0], stops[1], dist);
|
|
152
146
|
vec4 colorOut = mix(colors[0], colors[1], stopCalc);
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { CoreRenderOp } from '../CoreRenderOp.js';
|
|
2
|
-
import type { WebGlCtxTexture } from './WebGlCtxTexture.js';
|
|
3
|
-
import type { WebGlRenderer } from './WebGlRenderer.js';
|
|
4
|
-
import type { BufferCollection } from './internal/BufferCollection.js';
|
|
5
|
-
import type { WebGlShaderNode } from './WebGlShaderNode.js';
|
|
6
|
-
import type { QuadOptions } from '../CoreRenderer.js';
|
|
7
|
-
import type { CoreTextNode } from '../../CoreTextNode.js';
|
|
8
|
-
import type { RectWithValid } from '../../lib/utils.js';
|
|
9
|
-
import type { Dimensions } from '../../../common/CommonTypes.js';
|
|
10
|
-
type ReqQuad = 'alpha' | 'shader' | 'parentHasRenderTexture' | 'rtt' | 'clippingRect' | 'height' | 'width' | 'time';
|
|
11
|
-
type RenderOpQuadOptions = Pick<QuadOptions, ReqQuad> & Partial<Omit<QuadOptions, ReqQuad>> & {
|
|
12
|
-
sdfShaderProps?: Record<string, unknown>;
|
|
13
|
-
sdfBuffers?: BufferCollection;
|
|
14
|
-
};
|
|
15
|
-
/**
|
|
16
|
-
* Can render multiple quads with multiple textures (up to vertex shader texture limit)
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
export declare class WebGlRenderOp extends CoreRenderOp {
|
|
20
|
-
readonly renderer: WebGlRenderer;
|
|
21
|
-
readonly bufferIdx: number;
|
|
22
|
-
numQuads: number;
|
|
23
|
-
textures: WebGlCtxTexture[];
|
|
24
|
-
/**
|
|
25
|
-
* need to improve this when TextRenderers are refactored
|
|
26
|
-
*/
|
|
27
|
-
readonly sdfShaderProps: Record<string, unknown> | undefined;
|
|
28
|
-
readonly sdfNode: CoreTextNode | undefined;
|
|
29
|
-
readonly maxTextures: number;
|
|
30
|
-
readonly buffers: BufferCollection;
|
|
31
|
-
readonly shader: WebGlShaderNode;
|
|
32
|
-
readonly width: number;
|
|
33
|
-
readonly height: number;
|
|
34
|
-
readonly clippingRect: RectWithValid;
|
|
35
|
-
readonly rtt: boolean;
|
|
36
|
-
readonly parentHasRenderTexture: boolean;
|
|
37
|
-
readonly framebufferDimensions: Dimensions | null;
|
|
38
|
-
readonly alpha: number;
|
|
39
|
-
readonly pixelRatio: number;
|
|
40
|
-
readonly time?: number | null;
|
|
41
|
-
constructor(renderer: WebGlRenderer, quad: RenderOpQuadOptions, bufferIdx: number);
|
|
42
|
-
addTexture(texture: WebGlCtxTexture): number;
|
|
43
|
-
draw(): void;
|
|
44
|
-
}
|
|
45
|
-
export {};
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import { CoreRenderOp } from '../CoreRenderOp.js';
|
|
20
|
-
/**
|
|
21
|
-
* Can render multiple quads with multiple textures (up to vertex shader texture limit)
|
|
22
|
-
*
|
|
23
|
-
*/
|
|
24
|
-
export class WebGlRenderOp extends CoreRenderOp {
|
|
25
|
-
renderer;
|
|
26
|
-
bufferIdx;
|
|
27
|
-
numQuads = 0;
|
|
28
|
-
textures = [];
|
|
29
|
-
/**
|
|
30
|
-
* need to improve this when TextRenderers are refactored
|
|
31
|
-
*/
|
|
32
|
-
sdfShaderProps;
|
|
33
|
-
sdfNode;
|
|
34
|
-
maxTextures;
|
|
35
|
-
buffers;
|
|
36
|
-
shader;
|
|
37
|
-
width;
|
|
38
|
-
height;
|
|
39
|
-
clippingRect;
|
|
40
|
-
rtt;
|
|
41
|
-
parentHasRenderTexture;
|
|
42
|
-
framebufferDimensions;
|
|
43
|
-
alpha;
|
|
44
|
-
pixelRatio;
|
|
45
|
-
time;
|
|
46
|
-
constructor(renderer, quad, bufferIdx) {
|
|
47
|
-
super();
|
|
48
|
-
this.renderer = renderer;
|
|
49
|
-
this.bufferIdx = bufferIdx;
|
|
50
|
-
this.buffers = quad.sdfBuffers || renderer.quadBufferCollection;
|
|
51
|
-
this.shader = quad.shader;
|
|
52
|
-
this.width = quad.width;
|
|
53
|
-
this.height = quad.height;
|
|
54
|
-
this.clippingRect = quad.clippingRect;
|
|
55
|
-
this.parentHasRenderTexture = quad.parentHasRenderTexture;
|
|
56
|
-
this.framebufferDimensions = quad.framebufferDimensions || null;
|
|
57
|
-
this.rtt = quad.rtt;
|
|
58
|
-
this.alpha = quad.alpha;
|
|
59
|
-
this.pixelRatio =
|
|
60
|
-
this.parentHasRenderTexture === true ? 1 : renderer.stage.pixelRatio;
|
|
61
|
-
this.time = quad.time;
|
|
62
|
-
/**
|
|
63
|
-
* related to line 51
|
|
64
|
-
*/
|
|
65
|
-
this.sdfShaderProps = quad.sdfShaderProps;
|
|
66
|
-
this.maxTextures = this.shader.program.supportsIndexedTextures
|
|
67
|
-
? renderer.glw.getParameter(renderer.glw.MAX_VERTEX_TEXTURE_IMAGE_UNITS)
|
|
68
|
-
: 1;
|
|
69
|
-
}
|
|
70
|
-
addTexture(texture) {
|
|
71
|
-
const { textures, maxTextures } = this;
|
|
72
|
-
let existingIdx = -1;
|
|
73
|
-
const texturesLength = textures.length;
|
|
74
|
-
for (let i = 0; i < texturesLength; i++) {
|
|
75
|
-
const t = textures[i];
|
|
76
|
-
if (t === texture) {
|
|
77
|
-
existingIdx = i;
|
|
78
|
-
break;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
if (existingIdx !== -1) {
|
|
82
|
-
return existingIdx;
|
|
83
|
-
}
|
|
84
|
-
if (texturesLength >= maxTextures) {
|
|
85
|
-
return 0xffffffff;
|
|
86
|
-
}
|
|
87
|
-
this.textures.push(texture);
|
|
88
|
-
return texturesLength;
|
|
89
|
-
}
|
|
90
|
-
draw() {
|
|
91
|
-
const { glw, options, stage } = this.renderer;
|
|
92
|
-
stage.shManager.useShader(this.shader.program);
|
|
93
|
-
this.shader.program.bindRenderOp(this);
|
|
94
|
-
// Clipping
|
|
95
|
-
if (this.clippingRect.valid === true) {
|
|
96
|
-
const clipX = Math.round(this.clippingRect.x * this.pixelRatio);
|
|
97
|
-
const clipWidth = Math.round(this.clippingRect.width * this.pixelRatio);
|
|
98
|
-
const clipHeight = Math.round(this.clippingRect.height * this.pixelRatio);
|
|
99
|
-
let clipY = Math.round(options.canvas.height -
|
|
100
|
-
clipHeight -
|
|
101
|
-
this.clippingRect.y * this.pixelRatio);
|
|
102
|
-
// if parent has render texture, we need to adjust the scissor rect
|
|
103
|
-
// to be relative to the parent's framebuffer
|
|
104
|
-
if (this.parentHasRenderTexture) {
|
|
105
|
-
clipY = this.framebufferDimensions
|
|
106
|
-
? this.framebufferDimensions.h - this.height
|
|
107
|
-
: 0;
|
|
108
|
-
}
|
|
109
|
-
glw.setScissorTest(true);
|
|
110
|
-
glw.scissor(clipX, clipY, clipWidth, clipHeight);
|
|
111
|
-
}
|
|
112
|
-
else {
|
|
113
|
-
glw.setScissorTest(false);
|
|
114
|
-
}
|
|
115
|
-
// Check if this is SDF rendering (has sdfBuffers)
|
|
116
|
-
if (this.sdfShaderProps !== undefined) {
|
|
117
|
-
// SDF rendering uses drawArrays with explicit triangle vertices (6 vertices per quad)
|
|
118
|
-
glw.drawArrays(glw.TRIANGLES, 0, 6 * this.numQuads);
|
|
119
|
-
}
|
|
120
|
-
else {
|
|
121
|
-
// Regular rendering uses drawElements with index buffer (4 vertices per quad)
|
|
122
|
-
const quadIdx = (this.bufferIdx / 32) * 6 * 2;
|
|
123
|
-
glw.drawElements(glw.TRIANGLES, 6 * this.numQuads, glw.UNSIGNED_SHORT, quadIdx);
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
//# sourceMappingURL=WebGlRenderOp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlRenderOp.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlRenderOp.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAyBlD;;;GAGG;AACH,MAAM,OAAO,aAAc,SAAQ,YAAY;IAuBlC;IAEA;IAxBX,QAAQ,GAAG,CAAC,CAAC;IACb,QAAQ,GAAsB,EAAE,CAAC;IAEjC;;OAEG;IACM,cAAc,CAAsC;IACpD,OAAO,CAA2B;IAClC,WAAW,CAAS;IACpB,OAAO,CAAmB;IAC1B,MAAM,CAAkB;IACxB,KAAK,CAAS;IACd,MAAM,CAAS;IACf,YAAY,CAAgB;IAC5B,GAAG,CAAU;IACb,sBAAsB,CAAU;IAChC,qBAAqB,CAAoB;IACzC,KAAK,CAAS;IACd,UAAU,CAAS;IACnB,IAAI,CAAiB;IAE9B,YACW,QAAuB,EAChC,IAAyB,EAChB,SAAiB;QAE1B,KAAK,EAAE,CAAC;QAJC,aAAQ,GAAR,QAAQ,CAAe;QAEvB,cAAS,GAAT,SAAS,CAAQ;QAG1B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,IAAI,QAAQ,CAAC,oBAAoB,CAAC;QAChE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAyB,CAAC;QAC7C,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACtC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAC1D,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,qBAAqB,IAAI,IAAI,CAAC;QAChE,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACpB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QACxB,IAAI,CAAC,UAAU;YACb,IAAI,CAAC,sBAAsB,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,UAAU,CAAC;QACvE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QAEtB;;WAEG;QACH,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAE1C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,uBAAuB;YAC5D,CAAC,CAAE,QAAQ,CAAC,GAAG,CAAC,YAAY,CACxB,QAAQ,CAAC,GAAG,CAAC,8BAA8B,CACjC;YACd,CAAC,CAAC,CAAC,CAAC;IACR,CAAC;IAED,UAAU,CAAC,OAAwB;QACjC,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;QACvC,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC;QACrB,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;QACvC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YACtB,IAAI,CAAC,KAAK,OAAO,EAAE,CAAC;gBAClB,WAAW,GAAG,CAAC,CAAC;gBAChB,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,WAAW,KAAK,CAAC,CAAC,EAAE,CAAC;YACvB,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,IAAI,cAAc,IAAI,WAAW,EAAE,CAAC;YAClC,OAAO,UAAU,CAAC;QACpB,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,IAAI;QACF,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,QAAQ,CAAC;QAE9C,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAEvC,WAAW;QACX,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACrC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAChE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YACxE,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;YAC1E,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CACpB,OAAO,CAAC,MAAM,CAAC,MAAM;gBACnB,UAAU;gBACV,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,IAAI,CAAC,UAAU,CACxC,CAAC;YACF,mEAAmE;YACnE,6CAA6C;YAC7C,IAAI,IAAI,CAAC,sBAAsB,EAAE,CAAC;gBAChC,KAAK,GAAG,IAAI,CAAC,qBAAqB;oBAChC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM;oBAC5C,CAAC,CAAC,CAAC,CAAC;YACR,CAAC;YAED,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;YACzB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QACnD,CAAC;aAAM,CAAC;YACN,GAAG,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC5B,CAAC;QAED,kDAAkD;QAClD,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACtC,sFAAsF;YACtF,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,8EAA8E;YAC9E,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC9C,GAAG,CAAC,YAAY,CACd,GAAG,CAAC,SAAS,EACb,CAAC,GAAG,IAAI,CAAC,QAAQ,EACjB,GAAG,CAAC,cAAc,EAClB,OAAO,CACR,CAAC;QACJ,CAAC;IACH,CAAC;CACF"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { CoreFont, type CoreFontProps } from './CoreFont.js';
|
|
2
|
-
import type { NormalizedFontMetrics, TextRenderer } from './TextRenderer.js';
|
|
3
|
-
export type CanvasFontProps = CoreFontProps & {
|
|
4
|
-
fontUrl: string;
|
|
5
|
-
};
|
|
6
|
-
export declare class CanvasFont extends CoreFont {
|
|
7
|
-
private measureContext;
|
|
8
|
-
type: string;
|
|
9
|
-
url: string;
|
|
10
|
-
constructor(textRenderer: TextRenderer, props: CanvasFontProps, measureContext: CanvasRenderingContext2D | OffscreenCanvasRenderingContext2D);
|
|
11
|
-
load(): void;
|
|
12
|
-
measureText(text: string, letterSpacing: number): number;
|
|
13
|
-
getMetrics(fontSize: number): NormalizedFontMetrics;
|
|
14
|
-
}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2025 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import { CoreFont, FontState } from './CoreFont.js';
|
|
20
|
-
import { normalizeFontMetrics } from './TextLayoutEngine.js';
|
|
21
|
-
import { hasZeroWidthSpace } from './Utils.js';
|
|
22
|
-
export class CanvasFont extends CoreFont {
|
|
23
|
-
measureContext;
|
|
24
|
-
type = 'canvas';
|
|
25
|
-
url;
|
|
26
|
-
constructor(textRenderer, props, measureContext) {
|
|
27
|
-
super(textRenderer, props);
|
|
28
|
-
this.measureContext = measureContext;
|
|
29
|
-
this.url = props.fontUrl;
|
|
30
|
-
this.metrics = props.metrics;
|
|
31
|
-
}
|
|
32
|
-
load() {
|
|
33
|
-
if (this.state !== FontState.Created) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
if (this.family === 'sans-serif') {
|
|
37
|
-
// Default font, skip loading
|
|
38
|
-
this.onLoaded();
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this.state = FontState.Loading;
|
|
42
|
-
new FontFace(this.family, `url(${this.url})`)
|
|
43
|
-
.load()
|
|
44
|
-
.then((loadedFont) => {
|
|
45
|
-
document.fonts.add(loadedFont);
|
|
46
|
-
this.onLoaded();
|
|
47
|
-
})
|
|
48
|
-
.catch((error) => {
|
|
49
|
-
this.state = FontState.Failed;
|
|
50
|
-
console.error(`Failed to load font: ${this.family}`, error);
|
|
51
|
-
this.emit('failed');
|
|
52
|
-
throw error;
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
measureText(text, letterSpacing) {
|
|
56
|
-
if (letterSpacing === 0) {
|
|
57
|
-
return this.measureContext.measureText(text).width;
|
|
58
|
-
}
|
|
59
|
-
if (hasZeroWidthSpace(text) === false) {
|
|
60
|
-
return (this.measureContext.measureText(text).width +
|
|
61
|
-
letterSpacing * text.length);
|
|
62
|
-
}
|
|
63
|
-
return text.split('').reduce((acc, char) => {
|
|
64
|
-
if (hasZeroWidthSpace(char) === true) {
|
|
65
|
-
return acc;
|
|
66
|
-
}
|
|
67
|
-
return acc + this.measureContext.measureText(char).width + letterSpacing;
|
|
68
|
-
}, 0);
|
|
69
|
-
}
|
|
70
|
-
getMetrics(fontSize) {
|
|
71
|
-
let m = this.normalizedMetrics[fontSize];
|
|
72
|
-
if (m !== undefined) {
|
|
73
|
-
return m;
|
|
74
|
-
}
|
|
75
|
-
let metrics = this.metrics;
|
|
76
|
-
if (metrics === undefined) {
|
|
77
|
-
metrics = calculateCanvasMetrics(this.family, fontSize, this.measureContext);
|
|
78
|
-
}
|
|
79
|
-
m = this.normalizedMetrics[fontSize] = normalizeFontMetrics(metrics, fontSize);
|
|
80
|
-
return m;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
function calculateCanvasMetrics(fontFamily, fontSize, measureContext) {
|
|
84
|
-
// If the font face doesn't have metrics defined, we fallback to using the
|
|
85
|
-
// browser's measureText method to calculate take a best guess at the font
|
|
86
|
-
// actual font's metrics.
|
|
87
|
-
// - fontBoundingBox[Ascent|Descent] is the best estimate but only supported
|
|
88
|
-
// in Chrome 87+ (2020), Firefox 116+ (2023), and Safari 11.1+ (2018).
|
|
89
|
-
// - It is an estimate as it can vary between browsers.
|
|
90
|
-
// - actualBoundingBox[Ascent|Descent] is less accurate and supported in
|
|
91
|
-
// Chrome 77+ (2019), Firefox 74+ (2020), and Safari 11.1+ (2018).
|
|
92
|
-
// - If neither are supported, we'll use some default values which will
|
|
93
|
-
// get text on the screen but likely not be great.
|
|
94
|
-
// NOTE: It's been decided not to rely on fontBoundingBox[Ascent|Descent]
|
|
95
|
-
// as it's browser support is limited and it also tends to produce higher than
|
|
96
|
-
// expected values. It is instead HIGHLY RECOMMENDED that developers provide
|
|
97
|
-
// explicit metrics in the font face definition.
|
|
98
|
-
measureContext.font = `normal ${fontSize}px Unknown, ${fontFamily}`;
|
|
99
|
-
const metrics = measureContext.measureText('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz');
|
|
100
|
-
console.warn(`Font metrics not provided for Canvas Web font ${fontFamily}. ` +
|
|
101
|
-
'Using fallback values. It is HIGHLY recommended you use the latest ' +
|
|
102
|
-
'version of the Lightning 3 `msdf-generator` tool to extract the default ' +
|
|
103
|
-
'metrics for the font and provide them in the Canvas Web font definition.');
|
|
104
|
-
const ascender = metrics.fontBoundingBoxAscent ?? metrics.actualBoundingBoxAscent ?? 0;
|
|
105
|
-
const descender = metrics.fontBoundingBoxDescent ?? metrics.actualBoundingBoxDescent ?? 0;
|
|
106
|
-
return {
|
|
107
|
-
ascender,
|
|
108
|
-
descender: -descender,
|
|
109
|
-
lineGap: (metrics.emHeightAscent ?? 0) +
|
|
110
|
-
(metrics.emHeightDescent ?? 0) -
|
|
111
|
-
(ascender + descender),
|
|
112
|
-
unitsPerEm: (metrics.emHeightAscent ?? 0) + (metrics.emHeightDescent ?? 0),
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=CanvasFont.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CanvasFont.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/CanvasFont.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import type { CoreTextNode } from '../CoreTextNode.js';
|
|
2
|
-
import type { FontMetrics, NormalizedFontMetrics, TextRenderer } from './TextRenderer.js';
|
|
3
|
-
import { EventEmitter } from '../../common/EventEmitter.js';
|
|
4
|
-
export declare enum FontState {
|
|
5
|
-
Created = 0,
|
|
6
|
-
Loading = 1,
|
|
7
|
-
Loaded = 2,
|
|
8
|
-
Failed = 3
|
|
9
|
-
}
|
|
10
|
-
export interface CoreFontProps {
|
|
11
|
-
fontFamily: string;
|
|
12
|
-
metrics?: FontMetrics;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* EventEmiter only intended to communicated with FontManager
|
|
16
|
-
*/
|
|
17
|
-
export declare abstract class CoreFont extends EventEmitter {
|
|
18
|
-
protected waitingNodes?: Record<number, CoreTextNode>;
|
|
19
|
-
protected normalizedMetrics?: Record<number, NormalizedFontMetrics>;
|
|
20
|
-
textRenderer: TextRenderer;
|
|
21
|
-
state: FontState;
|
|
22
|
-
family: string;
|
|
23
|
-
metrics?: FontMetrics;
|
|
24
|
-
constructor(textRenderer: TextRenderer, props: CoreFontProps);
|
|
25
|
-
protected onLoaded(): void;
|
|
26
|
-
waiting(node: CoreTextNode): void;
|
|
27
|
-
stopWaiting(node: CoreTextNode): void;
|
|
28
|
-
destroy(): void;
|
|
29
|
-
abstract type: string;
|
|
30
|
-
abstract load(): void;
|
|
31
|
-
abstract measureText(text: string, letterSpacing: number): number;
|
|
32
|
-
abstract getMetrics(fontSize: number): NormalizedFontMetrics;
|
|
33
|
-
}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { UpdateType } from '../CoreNode.js';
|
|
2
|
-
import { EventEmitter } from '../../common/EventEmitter.js';
|
|
3
|
-
export var FontState;
|
|
4
|
-
(function (FontState) {
|
|
5
|
-
FontState[FontState["Created"] = 0] = "Created";
|
|
6
|
-
FontState[FontState["Loading"] = 1] = "Loading";
|
|
7
|
-
FontState[FontState["Loaded"] = 2] = "Loaded";
|
|
8
|
-
FontState[FontState["Failed"] = 3] = "Failed";
|
|
9
|
-
})(FontState || (FontState = {}));
|
|
10
|
-
/**
|
|
11
|
-
* EventEmiter only intended to communicated with FontManager
|
|
12
|
-
*/
|
|
13
|
-
export class CoreFont extends EventEmitter {
|
|
14
|
-
waitingNodes = Object.create(null);
|
|
15
|
-
normalizedMetrics = Object.create(null);
|
|
16
|
-
textRenderer;
|
|
17
|
-
state;
|
|
18
|
-
family;
|
|
19
|
-
metrics;
|
|
20
|
-
constructor(textRenderer, props) {
|
|
21
|
-
super();
|
|
22
|
-
this.family = props.fontFamily;
|
|
23
|
-
this.state = FontState.Created;
|
|
24
|
-
this.textRenderer = textRenderer;
|
|
25
|
-
}
|
|
26
|
-
onLoaded() {
|
|
27
|
-
const waitingNodes = this.waitingNodes;
|
|
28
|
-
for (let key in waitingNodes) {
|
|
29
|
-
waitingNodes[key].setUpdateType(UpdateType.Local);
|
|
30
|
-
delete waitingNodes[key];
|
|
31
|
-
}
|
|
32
|
-
this.state = FontState.Loaded;
|
|
33
|
-
}
|
|
34
|
-
waiting(node) {
|
|
35
|
-
this.waitingNodes[node.id] = node;
|
|
36
|
-
}
|
|
37
|
-
stopWaiting(node) {
|
|
38
|
-
if (this.waitingNodes[node.id]) {
|
|
39
|
-
delete this.waitingNodes[node.id];
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
destroy() {
|
|
43
|
-
delete this.waitingNodes;
|
|
44
|
-
delete this.normalizedMetrics;
|
|
45
|
-
delete this.metrics;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=CoreFont.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CoreFont.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/CoreFont.ts"],"names":[],"mappings":"AAwBA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAE5D,MAAM,CAAN,IAAY,SAKX;AALD,WAAY,SAAS;IACnB,+CAAO,CAAA;IACP,+CAAO,CAAA;IACP,6CAAM,CAAA;IACN,6CAAM,CAAA;AACR,CAAC,EALW,SAAS,KAAT,SAAS,QAKpB;AAOD;;GAEG;AACH,MAAM,OAAgB,QAAS,SAAQ,YAAY;IACvC,YAAY,GAAkC,MAAM,CAAC,MAAM,CACnE,IAAI,CAC2B,CAAC;IACxB,iBAAiB,GACzB,MAAM,CAAC,MAAM,CAAC,IAAI,CAA0C,CAAC;IAExD,YAAY,CAAe;IAC3B,KAAK,CAAY;IACjB,MAAM,CAAS;IACf,OAAO,CAAe;IAE7B,YAAY,YAA0B,EAAE,KAAoB;QAC1D,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,OAAO,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;IAES,QAAQ;QAChB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QACvC,KAAK,IAAI,GAAG,IAAI,YAAY,EAAE,CAAC;YAC7B,YAAY,CAAC,GAAG,CAAE,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC;IAChC,CAAC;IAEM,OAAO,CAAC,IAAkB;QAC/B,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC;IACrC,CAAC;IAEM,WAAW,CAAC,IAAkB;QACnC,IAAI,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YAChC,OAAO,IAAI,CAAC,YAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAEM,OAAO;QACZ,OAAO,IAAI,CAAC,YAAY,CAAC;QACzB,OAAO,IAAI,CAAC,iBAAiB,CAAC;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;CAMF"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { Stage } from '../Stage.js';
|
|
2
|
-
import type { CoreFont } from './CoreFont.js';
|
|
3
|
-
import type { FontLoadOptions, TextRenderer, TextRenderers } from './TextRenderer.js';
|
|
4
|
-
export declare class CoreFontManager {
|
|
5
|
-
private fonts;
|
|
6
|
-
private renderers;
|
|
7
|
-
constructor(stage: Stage, textRenderers: TextRenderer[]);
|
|
8
|
-
loadFont(type: TextRenderers, options: FontLoadOptions): void;
|
|
9
|
-
unloadFont(fontFamily: string): void;
|
|
10
|
-
getFont(fontFamily: string): CoreFont | undefined;
|
|
11
|
-
}
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export class CoreFontManager {
|
|
2
|
-
fonts = Object.create(null);
|
|
3
|
-
renderers = Object.create(null);
|
|
4
|
-
constructor(stage, textRenderers) {
|
|
5
|
-
for (let i = 0; i < textRenderers.length; i++) {
|
|
6
|
-
const renderer = textRenderers[i];
|
|
7
|
-
this.renderers[renderer.type] = renderer;
|
|
8
|
-
renderer.init(stage, this);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
loadFont(type, options) {
|
|
12
|
-
const targetRenderer = this.renderers[type];
|
|
13
|
-
if (targetRenderer === undefined) {
|
|
14
|
-
console.error('renderer type for this font does not exist');
|
|
15
|
-
return;
|
|
16
|
-
}
|
|
17
|
-
const font = targetRenderer.createFont(options);
|
|
18
|
-
if (font === undefined) {
|
|
19
|
-
return;
|
|
20
|
-
}
|
|
21
|
-
font.load();
|
|
22
|
-
this.fonts[options.fontFamily] = font;
|
|
23
|
-
}
|
|
24
|
-
unloadFont(fontFamily) {
|
|
25
|
-
const targetFont = this.fonts[fontFamily];
|
|
26
|
-
if (targetFont === undefined) {
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
targetFont.destroy();
|
|
30
|
-
delete this.fonts[fontFamily];
|
|
31
|
-
}
|
|
32
|
-
getFont(fontFamily) {
|
|
33
|
-
const font = this.fonts[fontFamily];
|
|
34
|
-
if (font === undefined) {
|
|
35
|
-
console.warn('fontFamily not registered');
|
|
36
|
-
return;
|
|
37
|
-
}
|
|
38
|
-
return font;
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=FontManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FontManager.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/FontManager.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,eAAe;IAClB,KAAK,GAA6B,MAAM,CAAC,MAAM,CAAC,IAAI,CAG3D,CAAC;IACM,SAAS,GAAiC,MAAM,CAAC,MAAM,CAC7D,IAAI,CAC2B,CAAC;IAElC,YAAY,KAAY,EAAE,aAA6B;QACrD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,CAAE,CAAC;YACnC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC;YACzC,QAAQ,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,IAAmB,EAAE,OAAwB;QACpD,MAAM,cAAc,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,MAAM,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAChD,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,UAAkB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO;QACT,CAAC;QACD,UAAU,CAAC,OAAO,EAAE,CAAC;QACrB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,CAAC,UAAkB;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACpC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;YAC1C,OAAO;QACT,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { Stage } from '../Stage.js';
|
|
2
|
-
import type { ImageTexture } from '../textures/ImageTexture.js';
|
|
3
|
-
import { CoreFont, type CoreFontProps } from './CoreFont.js';
|
|
4
|
-
import { type SdfFontData } from './SdfFontHandler.js';
|
|
5
|
-
import type { NormalizedFontMetrics, TextRenderer } from './TextRenderer.js';
|
|
6
|
-
export type SdfFontProps = CoreFontProps & {
|
|
7
|
-
atlasUrl: string;
|
|
8
|
-
atlasDataUrl: string;
|
|
9
|
-
};
|
|
10
|
-
export declare class SdfFont extends CoreFont {
|
|
11
|
-
private stage;
|
|
12
|
-
type: string;
|
|
13
|
-
atlasUrl: string;
|
|
14
|
-
atlasDataUrl: string;
|
|
15
|
-
atlasTexture?: ImageTexture;
|
|
16
|
-
private glyphMap?;
|
|
17
|
-
private kerningTable?;
|
|
18
|
-
private data?;
|
|
19
|
-
constructor(textRenderer: TextRenderer, props: SdfFontProps, stage: Stage);
|
|
20
|
-
load(): void;
|
|
21
|
-
private hardFail;
|
|
22
|
-
private processFontData;
|
|
23
|
-
measureText(text: string, letterSpacing: number): number;
|
|
24
|
-
getMetrics(fontSize: number): NormalizedFontMetrics;
|
|
25
|
-
getGlyph(codepoint: number): import("./SdfFontHandler.js").SdfGlyph | null;
|
|
26
|
-
getKerning(firstGlyph: number, secondGlyph: number): number;
|
|
27
|
-
getAtlas(): ImageTexture;
|
|
28
|
-
getData(): SdfFontData;
|
|
29
|
-
}
|
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2025 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import { CoreFont, FontState } from './CoreFont.js';
|
|
20
|
-
import { buildGlyphMap, buildKerningTable, } from './SdfFontHandler.js';
|
|
21
|
-
import { normalizeFontMetrics } from './TextLayoutEngine.js';
|
|
22
|
-
import { hasZeroWidthSpace } from './Utils.js';
|
|
23
|
-
export class SdfFont extends CoreFont {
|
|
24
|
-
stage;
|
|
25
|
-
type = 'sdf';
|
|
26
|
-
atlasUrl;
|
|
27
|
-
atlasDataUrl;
|
|
28
|
-
atlasTexture;
|
|
29
|
-
glyphMap;
|
|
30
|
-
kerningTable;
|
|
31
|
-
data;
|
|
32
|
-
constructor(textRenderer, props, stage) {
|
|
33
|
-
super(textRenderer, props);
|
|
34
|
-
this.stage = stage;
|
|
35
|
-
this.atlasUrl = props.atlasUrl;
|
|
36
|
-
this.atlasDataUrl = props.atlasDataUrl;
|
|
37
|
-
}
|
|
38
|
-
load() {
|
|
39
|
-
new Promise(async () => {
|
|
40
|
-
const atlasData = await fetch(this.atlasDataUrl);
|
|
41
|
-
if (atlasData.ok === false) {
|
|
42
|
-
this.hardFail(`Failed to load font data: ${atlasData.statusText}`);
|
|
43
|
-
}
|
|
44
|
-
const fontData = (await atlasData.json());
|
|
45
|
-
if (fontData.chars === undefined) {
|
|
46
|
-
this.hardFail('Invalid SDF font data format');
|
|
47
|
-
}
|
|
48
|
-
const atlasTexture = this.stage.txManager.createTexture('ImageTexture', {
|
|
49
|
-
src: this.atlasUrl,
|
|
50
|
-
premultiplyAlpha: false,
|
|
51
|
-
});
|
|
52
|
-
atlasTexture.setRenderableOwner(this.family, true);
|
|
53
|
-
atlasTexture.preventCleanup = true;
|
|
54
|
-
atlasTexture.on('loaded', () => {
|
|
55
|
-
this.onLoaded();
|
|
56
|
-
});
|
|
57
|
-
atlasTexture.on('failed', (error) => {
|
|
58
|
-
console.error(`Failed to load SDF font: ${this.family}`, error);
|
|
59
|
-
this.emit('failed');
|
|
60
|
-
});
|
|
61
|
-
this.atlasTexture = atlasTexture;
|
|
62
|
-
this.processFontData(fontData);
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
hardFail(message) {
|
|
66
|
-
this.state = FontState.Failed;
|
|
67
|
-
throw new Error(message);
|
|
68
|
-
}
|
|
69
|
-
processFontData(fontData) {
|
|
70
|
-
this.glyphMap = buildGlyphMap(fontData.chars);
|
|
71
|
-
this.kerningTable = buildKerningTable(fontData.kernings);
|
|
72
|
-
this.metrics = this.metrics ||
|
|
73
|
-
fontData.lightningMetrics || {
|
|
74
|
-
ascender: 800,
|
|
75
|
-
descender: -200,
|
|
76
|
-
lineGap: 200,
|
|
77
|
-
unitsPerEm: 1000,
|
|
78
|
-
};
|
|
79
|
-
this.data = fontData;
|
|
80
|
-
}
|
|
81
|
-
measureText(text, letterSpacing) {
|
|
82
|
-
if (text.length === 1) {
|
|
83
|
-
const char = text.charAt(0);
|
|
84
|
-
const codepoint = text.codePointAt(0);
|
|
85
|
-
if (codepoint === undefined)
|
|
86
|
-
return 0;
|
|
87
|
-
if (hasZeroWidthSpace(char) === true)
|
|
88
|
-
return 0;
|
|
89
|
-
const glyph = this.getGlyph(codepoint);
|
|
90
|
-
if (glyph === null)
|
|
91
|
-
return 0;
|
|
92
|
-
return glyph.xadvance + letterSpacing;
|
|
93
|
-
}
|
|
94
|
-
let width = 0;
|
|
95
|
-
let prevCodepoint = 0;
|
|
96
|
-
for (let i = 0; i < text.length; i++) {
|
|
97
|
-
const char = text.charAt(i);
|
|
98
|
-
const codepoint = text.codePointAt(i);
|
|
99
|
-
if (codepoint === undefined)
|
|
100
|
-
continue;
|
|
101
|
-
// Skip zero-width spaces in width calculations
|
|
102
|
-
if (hasZeroWidthSpace(char)) {
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
const glyph = this.getGlyph(codepoint);
|
|
106
|
-
if (glyph === null)
|
|
107
|
-
continue;
|
|
108
|
-
let advance = glyph.xadvance;
|
|
109
|
-
// Add kerning if there's a previous character
|
|
110
|
-
if (prevCodepoint !== 0) {
|
|
111
|
-
const kerning = this.getKerning(prevCodepoint, codepoint);
|
|
112
|
-
advance += kerning;
|
|
113
|
-
}
|
|
114
|
-
width += advance + letterSpacing;
|
|
115
|
-
prevCodepoint = codepoint;
|
|
116
|
-
}
|
|
117
|
-
return width;
|
|
118
|
-
}
|
|
119
|
-
getMetrics(fontSize) {
|
|
120
|
-
let m = this.normalizedMetrics[fontSize];
|
|
121
|
-
if (m !== undefined) {
|
|
122
|
-
return m;
|
|
123
|
-
}
|
|
124
|
-
m = this.normalizedMetrics[fontSize] = normalizeFontMetrics(this.metrics, fontSize);
|
|
125
|
-
return m;
|
|
126
|
-
}
|
|
127
|
-
getGlyph(codepoint) {
|
|
128
|
-
const gm = this.glyphMap;
|
|
129
|
-
return gm[codepoint] || gm[63] || null;
|
|
130
|
-
}
|
|
131
|
-
getKerning(firstGlyph, secondGlyph) {
|
|
132
|
-
const seconds = this.kerningTable[secondGlyph];
|
|
133
|
-
return (seconds !== undefined && seconds[firstGlyph]) || 0;
|
|
134
|
-
}
|
|
135
|
-
getAtlas() {
|
|
136
|
-
return this.atlasTexture;
|
|
137
|
-
}
|
|
138
|
-
getData() {
|
|
139
|
-
return this.data;
|
|
140
|
-
}
|
|
141
|
-
}
|
|
142
|
-
//# sourceMappingURL=SdfFont.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SdfFont.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/SdfFont.ts"],"names":[],"mappings":"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"}
|