@lightningjs/renderer 2.19.1 → 2.20.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/lib/WebGlContextWrapper.d.ts +14 -0
- package/dist/src/core/lib/WebGlContextWrapper.js +35 -0
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/textureCompression.d.ts +14 -2
- package/dist/src/core/lib/textureCompression.js +301 -65
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +4 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +14 -11
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +43 -8
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +2 -7
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +18 -49
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +0 -2
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -6
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -11
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +5 -10
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +5 -10
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -12
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +5 -5
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +5 -5
- package/dist/src/core/textures/Texture.d.ts +12 -5
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/Inspector.js +9 -5
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/core/lib/WebGlContextWrapper.ts +49 -0
- package/src/core/lib/textureCompression.ts +416 -75
- package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +16 -14
- package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +1 -1
- package/src/core/renderers/webgl/WebGlCoreRenderer.ts +44 -11
- package/src/core/renderers/webgl/WebGlCoreShader.ts +27 -75
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +0 -2
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +3 -6
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -11
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +5 -10
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +5 -10
- package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -12
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +5 -5
- package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +1 -1
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +5 -5
- package/src/core/textures/Texture.ts +13 -6
- package/src/main-api/Inspector.ts +9 -5
- package/dist/exports/canvas-shaders.d.ts +0 -10
- package/dist/exports/canvas-shaders.js +0 -27
- package/dist/exports/canvas-shaders.js.map +0 -1
- package/dist/exports/webgl-shaders.d.ts +0 -11
- package/dist/exports/webgl-shaders.js +0 -28
- package/dist/exports/webgl-shaders.js.map +0 -1
- package/dist/src/core/lib/colorCache.d.ts +0 -1
- package/dist/src/core/lib/colorCache.js +0 -19
- package/dist/src/core/lib/colorCache.js.map +0 -1
- package/dist/src/core/lib/colorParser.d.ts +0 -21
- package/dist/src/core/lib/colorParser.js +0 -72
- package/dist/src/core/lib/colorParser.js.map +0 -1
- package/dist/src/core/platforms/Platform.d.ts +0 -37
- package/dist/src/core/platforms/Platform.js +0 -22
- package/dist/src/core/platforms/Platform.js.map +0 -1
- package/dist/src/core/platforms/web/WebPlatform.d.ts +0 -9
- package/dist/src/core/platforms/web/WebPlatform.js +0 -84
- package/dist/src/core/platforms/web/WebPlatform.js.map +0 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +0 -59
- package/dist/src/core/renderers/CoreShaderNode.js +0 -113
- package/dist/src/core/renderers/CoreShaderNode.js.map +0 -1
- package/dist/src/core/renderers/CoreShaderProgram.d.ts +0 -4
- package/dist/src/core/renderers/CoreShaderProgram.js +0 -20
- package/dist/src/core/renderers/CoreShaderProgram.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -35
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +0 -201
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +0 -21
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +0 -58
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +0 -16
- package/dist/src/core/renderers/canvas/CanvasTexture.js +0 -125
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +0 -12
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +0 -57
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +0 -22
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +0 -67
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +0 -56
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -236
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -125
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +0 -136
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +0 -573
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +0 -222
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +0 -331
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +0 -37
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +0 -218
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +0 -1
- package/dist/src/core/shaders/canvas/Border.d.ts +0 -9
- package/dist/src/core/shaders/canvas/Border.js +0 -57
- package/dist/src/core/shaders/canvas/Border.js.map +0 -1
- package/dist/src/core/shaders/canvas/HolePunch.d.ts +0 -7
- package/dist/src/core/shaders/canvas/HolePunch.js +0 -38
- package/dist/src/core/shaders/canvas/HolePunch.js.map +0 -1
- package/dist/src/core/shaders/canvas/LinearGradient.d.ts +0 -10
- package/dist/src/core/shaders/canvas/LinearGradient.js +0 -48
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +0 -1
- package/dist/src/core/shaders/canvas/RadialGradient.d.ts +0 -11
- package/dist/src/core/shaders/canvas/RadialGradient.js +0 -70
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +0 -1
- package/dist/src/core/shaders/canvas/Rounded.d.ts +0 -7
- package/dist/src/core/shaders/canvas/Rounded.js +0 -33
- package/dist/src/core/shaders/canvas/Rounded.js.map +0 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +0 -7
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +0 -43
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +0 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +0 -8
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +0 -41
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +0 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +0 -7
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +0 -40
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +0 -1
- package/dist/src/core/shaders/canvas/Shadow.d.ts +0 -8
- package/dist/src/core/shaders/canvas/Shadow.js +0 -31
- package/dist/src/core/shaders/canvas/Shadow.js.map +0 -1
- package/dist/src/core/shaders/canvas/utils/render.d.ts +0 -5
- package/dist/src/core/shaders/canvas/utils/render.js +0 -84
- package/dist/src/core/shaders/canvas/utils/render.js.map +0 -1
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +0 -37
- package/dist/src/core/shaders/templates/BorderTemplate.js +0 -73
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +0 -46
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +0 -35
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +0 -23
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -47
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +0 -31
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +0 -49
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +0 -29
- package/dist/src/core/shaders/templates/RoundedTemplate.js +0 -67
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +0 -7
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -24
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +0 -6
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +0 -23
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +0 -6
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -23
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +0 -1
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +0 -34
- package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -66
- package/dist/src/core/shaders/templates/ShadowTemplate.js.map +0 -1
- package/dist/src/core/shaders/utils.d.ts +0 -5
- package/dist/src/core/shaders/utils.js +0 -41
- package/dist/src/core/shaders/utils.js.map +0 -1
- package/dist/src/core/shaders/webgl/Border.d.ts +0 -3
- package/dist/src/core/shaders/webgl/Border.js +0 -110
- package/dist/src/core/shaders/webgl/Border.js.map +0 -1
- package/dist/src/core/shaders/webgl/Default.d.ts +0 -2
- package/dist/src/core/shaders/webgl/Default.js +0 -86
- package/dist/src/core/shaders/webgl/Default.js.map +0 -1
- package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +0 -2
- package/dist/src/core/shaders/webgl/DefaultBatched.js +0 -104
- package/dist/src/core/shaders/webgl/DefaultBatched.js.map +0 -1
- package/dist/src/core/shaders/webgl/HolePunch.d.ts +0 -3
- package/dist/src/core/shaders/webgl/HolePunch.js +0 -65
- package/dist/src/core/shaders/webgl/HolePunch.js.map +0 -1
- package/dist/src/core/shaders/webgl/LinearGradient.d.ts +0 -3
- package/dist/src/core/shaders/webgl/LinearGradient.js +0 -99
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +0 -1
- package/dist/src/core/shaders/webgl/RadialGradient.d.ts +0 -3
- package/dist/src/core/shaders/webgl/RadialGradient.js +0 -96
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +0 -1
- package/dist/src/core/shaders/webgl/Rounded.d.ts +0 -7
- package/dist/src/core/shaders/webgl/Rounded.js +0 -86
- package/dist/src/core/shaders/webgl/Rounded.js.map +0 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +0 -3
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +0 -140
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +0 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +0 -3
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +0 -162
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +0 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +0 -3
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +0 -84
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +0 -1
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -30
- package/dist/src/core/shaders/webgl/SdfShader.js +0 -107
- package/dist/src/core/shaders/webgl/SdfShader.js.map +0 -1
- package/dist/src/core/shaders/webgl/Shadow.d.ts +0 -3
- package/dist/src/core/shaders/webgl/Shadow.js +0 -110
- package/dist/src/core/shaders/webgl/Shadow.js.map +0 -1
- package/dist/src/core/text-rendering/CanvasFont.d.ts +0 -14
- package/dist/src/core/text-rendering/CanvasFont.js +0 -111
- package/dist/src/core/text-rendering/CanvasFont.js.map +0 -1
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +0 -59
- package/dist/src/core/text-rendering/CanvasFontHandler.js +0 -221
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +0 -1
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +0 -19
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +0 -165
- package/dist/src/core/text-rendering/CanvasTextRenderer.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 -42
- 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
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +0 -85
- package/dist/src/core/text-rendering/SdfFontHandler.js +0 -58
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +0 -1
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +0 -18
- package/dist/src/core/text-rendering/SdfTextRenderer.js +0 -315
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +0 -20
- package/dist/src/core/text-rendering/TextLayoutEngine.js +0 -324
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +0 -1
- package/dist/src/core/text-rendering/TextRenderer.d.ts +0 -369
- package/dist/src/core/text-rendering/TextRenderer.js +0 -20
- package/dist/src/core/text-rendering/TextRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/Utils.d.ts +0 -30
- package/dist/src/core/text-rendering/Utils.js +0 -84
- package/dist/src/core/text-rendering/Utils.js.map +0 -1
|
@@ -45,7 +45,7 @@ export type TextureLoadedEventHandler = (
|
|
|
45
45
|
/**
|
|
46
46
|
* Represents compressed texture data.
|
|
47
47
|
*/
|
|
48
|
-
interface CompressedData {
|
|
48
|
+
export interface CompressedData {
|
|
49
49
|
/**
|
|
50
50
|
* GLenum spcifying compression format
|
|
51
51
|
*/
|
|
@@ -54,12 +54,12 @@ interface CompressedData {
|
|
|
54
54
|
/**
|
|
55
55
|
* All mipmap levels
|
|
56
56
|
*/
|
|
57
|
-
mipmaps
|
|
57
|
+
mipmaps: ArrayBuffer[];
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
|
-
* Supported container types ('pvr'
|
|
60
|
+
* Supported container types ('pvr', 'ktx', 'astc').
|
|
61
61
|
*/
|
|
62
|
-
type: 'pvr' | 'ktx';
|
|
62
|
+
type: 'pvr' | 'ktx' | 'astc';
|
|
63
63
|
|
|
64
64
|
/**
|
|
65
65
|
* The width of the compressed texture in pixels. Defaults to 0.
|
|
@@ -72,6 +72,15 @@ interface CompressedData {
|
|
|
72
72
|
* The height of the compressed texture in pixels.
|
|
73
73
|
**/
|
|
74
74
|
height: number;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* block info
|
|
78
|
+
*/
|
|
79
|
+
blockInfo: {
|
|
80
|
+
width: number;
|
|
81
|
+
height: number;
|
|
82
|
+
bytes: number;
|
|
83
|
+
};
|
|
75
84
|
}
|
|
76
85
|
|
|
77
86
|
/**
|
|
@@ -298,7 +307,6 @@ export abstract class Texture extends EventEmitter {
|
|
|
298
307
|
// We've exceeded the max retry count, do not attempt to load again
|
|
299
308
|
return;
|
|
300
309
|
}
|
|
301
|
-
|
|
302
310
|
this.txManager.loadTexture(this);
|
|
303
311
|
}
|
|
304
312
|
|
|
@@ -386,7 +394,6 @@ export abstract class Texture extends EventEmitter {
|
|
|
386
394
|
if (this.state === state) {
|
|
387
395
|
return;
|
|
388
396
|
}
|
|
389
|
-
|
|
390
397
|
let payload: Error | Dimensions | null = null;
|
|
391
398
|
if (state === 'loaded') {
|
|
392
399
|
// Clear any previous error when successfully loading
|
|
@@ -52,14 +52,16 @@ const stylePropertyMap: {
|
|
|
52
52
|
},
|
|
53
53
|
width: (w) => {
|
|
54
54
|
if (w === 0) {
|
|
55
|
-
|
|
55
|
+
// Set to 1px instead of 0px so visibility checks (e.g. Playwright) keep treating the node as visible
|
|
56
|
+
return { prop: 'width', value: '1px' };
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
return { prop: 'width', value: `${w}px` };
|
|
59
60
|
},
|
|
60
61
|
height: (h) => {
|
|
61
62
|
if (h === 0) {
|
|
62
|
-
|
|
63
|
+
// Set to 1px instead of 0px so visibility checks (e.g. Playwright) keep treating the node as visible
|
|
64
|
+
return { prop: 'height', value: '1px' };
|
|
63
65
|
}
|
|
64
66
|
|
|
65
67
|
return { prop: 'height', value: `${h}px` };
|
|
@@ -179,6 +181,7 @@ const knownProperties = new Set<string>([
|
|
|
179
181
|
'src',
|
|
180
182
|
'parent',
|
|
181
183
|
'data',
|
|
184
|
+
'text',
|
|
182
185
|
'texture',
|
|
183
186
|
]);
|
|
184
187
|
|
|
@@ -575,9 +578,10 @@ export class Inspector {
|
|
|
575
578
|
if (property === 'text') {
|
|
576
579
|
div.innerHTML = String(value);
|
|
577
580
|
|
|
578
|
-
//
|
|
579
|
-
|
|
580
|
-
div.style.
|
|
581
|
+
// Keep DOM text invisible without breaking visibility checks by using color:transparent instead of opacity:0
|
|
582
|
+
div.style.color = 'transparent';
|
|
583
|
+
div.style.pointerEvents = 'none';
|
|
584
|
+
div.style.userSelect = 'none';
|
|
581
585
|
return;
|
|
582
586
|
}
|
|
583
587
|
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export * from '../src/core/renderers/canvas/CanvasShaderNode.js';
|
|
2
|
-
export { Rounded } from '../src/core/shaders/canvas/Rounded.js';
|
|
3
|
-
export { RoundedWithBorder } from '../src/core/shaders/canvas/RoundedWithBorder.js';
|
|
4
|
-
export { RoundedWithBorderAndShadow } from '../src/core/shaders/canvas/RoundedWithBorderAndShadow.js';
|
|
5
|
-
export { RoundedWithShadow } from '../src/core/shaders/canvas/RoundedWithShadow.js';
|
|
6
|
-
export { Border } from '../src/core/shaders/canvas/Border.js';
|
|
7
|
-
export { Shadow } from '../src/core/shaders/canvas/Shadow.js';
|
|
8
|
-
export { HolePunch } from '../src/core/shaders/canvas/HolePunch.js';
|
|
9
|
-
export { LinearGradient } from '../src/core/shaders/canvas/LinearGradient.js';
|
|
10
|
-
export { RadialGradient } from '../src/core/shaders/canvas/RadialGradient.js';
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
16
|
-
*/
|
|
17
|
-
export * from '../src/core/renderers/canvas/CanvasShaderNode.js';
|
|
18
|
-
export { Rounded } from '../src/core/shaders/canvas/Rounded.js';
|
|
19
|
-
export { RoundedWithBorder } from '../src/core/shaders/canvas/RoundedWithBorder.js';
|
|
20
|
-
export { RoundedWithBorderAndShadow } from '../src/core/shaders/canvas/RoundedWithBorderAndShadow.js';
|
|
21
|
-
export { RoundedWithShadow } from '../src/core/shaders/canvas/RoundedWithShadow.js';
|
|
22
|
-
export { Border } from '../src/core/shaders/canvas/Border.js';
|
|
23
|
-
export { Shadow } from '../src/core/shaders/canvas/Shadow.js';
|
|
24
|
-
export { HolePunch } from '../src/core/shaders/canvas/HolePunch.js';
|
|
25
|
-
export { LinearGradient } from '../src/core/shaders/canvas/LinearGradient.js';
|
|
26
|
-
export { RadialGradient } from '../src/core/shaders/canvas/RadialGradient.js';
|
|
27
|
-
//# sourceMappingURL=canvas-shaders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"canvas-shaders.js","sourceRoot":"","sources":["../../exports/canvas-shaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,cAAc,kDAAkD,CAAC;AAEjE,OAAO,EAAE,OAAO,EAAE,MAAM,uCAAuC,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,0BAA0B,EAAE,MAAM,0DAA0D,CAAC;AACtG,OAAO,EAAE,iBAAiB,EAAE,MAAM,iDAAiD,CAAC;AACpF,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,sCAAsC,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC;AAC9E,OAAO,EAAE,cAAc,EAAE,MAAM,8CAA8C,CAAC"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export * from '../src/core/renderers/webgl/WebGlShaderNode.js';
|
|
2
|
-
export { Rounded } from '../src/core/shaders/webgl/Rounded.js';
|
|
3
|
-
export { RoundedWithBorder } from '../src/core/shaders/webgl/RoundedWithBorder.js';
|
|
4
|
-
export { RoundedWithBorderAndShadow } from '../src/core/shaders/webgl/RoundedWithBorderAndShadow.js';
|
|
5
|
-
export { RoundedWithShadow } from '../src/core/shaders/webgl/RoundedWithShadow.js';
|
|
6
|
-
export { Border } from '../src/core/shaders/webgl/Border.js';
|
|
7
|
-
export { Shadow } from '../src/core/shaders/webgl/Shadow.js';
|
|
8
|
-
export { HolePunch } from '../src/core/shaders/webgl/HolePunch.js';
|
|
9
|
-
export { LinearGradient } from '../src/core/shaders/webgl/LinearGradient.js';
|
|
10
|
-
export { RadialGradient } from '../src/core/shaders/webgl/RadialGradient.js';
|
|
11
|
-
export { Default } from '../src/core/shaders/webgl/Default.js';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC
|
|
3
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
4
|
-
* you may not use this file except in compliance with the License.
|
|
5
|
-
* You may obtain a copy of the License at
|
|
6
|
-
*
|
|
7
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8
|
-
*
|
|
9
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
10
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
11
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
12
|
-
* See the License for the specific language governing permissions and
|
|
13
|
-
* limitations under the License.
|
|
14
|
-
*
|
|
15
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
16
|
-
*/
|
|
17
|
-
export * from '../src/core/renderers/webgl/WebGlShaderNode.js';
|
|
18
|
-
export { Rounded } from '../src/core/shaders/webgl/Rounded.js';
|
|
19
|
-
export { RoundedWithBorder } from '../src/core/shaders/webgl/RoundedWithBorder.js';
|
|
20
|
-
export { RoundedWithBorderAndShadow } from '../src/core/shaders/webgl/RoundedWithBorderAndShadow.js';
|
|
21
|
-
export { RoundedWithShadow } from '../src/core/shaders/webgl/RoundedWithShadow.js';
|
|
22
|
-
export { Border } from '../src/core/shaders/webgl/Border.js';
|
|
23
|
-
export { Shadow } from '../src/core/shaders/webgl/Shadow.js';
|
|
24
|
-
export { HolePunch } from '../src/core/shaders/webgl/HolePunch.js';
|
|
25
|
-
export { LinearGradient } from '../src/core/shaders/webgl/LinearGradient.js';
|
|
26
|
-
export { RadialGradient } from '../src/core/shaders/webgl/RadialGradient.js';
|
|
27
|
-
export { Default } from '../src/core/shaders/webgl/Default.js';
|
|
28
|
-
//# sourceMappingURL=webgl-shaders.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-shaders.js","sourceRoot":"","sources":["../../exports/webgl-shaders.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,cAAc,gDAAgD,CAAC;AAE/D,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yDAAyD,CAAC;AACrG,OAAO,EAAE,iBAAiB,EAAE,MAAM,gDAAgD,CAAC;AACnF,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,qCAAqC,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,MAAM,wCAAwC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAC7E,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function normalizeCanvasColor(color: number, isRGBA?: boolean): string;
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { parseToAbgrString, parseToRgbaString } from './colorParser.js';
|
|
2
|
-
const parsedArgbColors = new Map();
|
|
3
|
-
const parsedRgbaColors = new Map();
|
|
4
|
-
export function normalizeCanvasColor(color, isRGBA = false) {
|
|
5
|
-
let targetCache = isRGBA === true ? parsedRgbaColors : parsedArgbColors;
|
|
6
|
-
let out = targetCache.get(color);
|
|
7
|
-
if (out !== undefined) {
|
|
8
|
-
return out;
|
|
9
|
-
}
|
|
10
|
-
if (isRGBA === true) {
|
|
11
|
-
out = parseToRgbaString(color);
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
out = parseToAbgrString(color);
|
|
15
|
-
}
|
|
16
|
-
targetCache.set(color, out);
|
|
17
|
-
return out;
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=colorCache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colorCache.js","sourceRoot":"","sources":["../../../../src/core/lib/colorCache.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAExE,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;AACxD,MAAM,gBAAgB,GAAwB,IAAI,GAAG,EAAE,CAAC;AAExD,MAAM,UAAU,oBAAoB,CAAC,KAAa,EAAE,SAAkB,KAAK;IACzE,IAAI,WAAW,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,gBAAgB,CAAC;IACxE,IAAI,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACjC,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;QACtB,OAAO,GAAG,CAAC;IACb,CAAC;IAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QACpB,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;SAAM,CAAC;QACN,GAAG,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;IACD,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface IParsedColor {
|
|
2
|
-
isWhite: boolean;
|
|
3
|
-
a: number;
|
|
4
|
-
r: number;
|
|
5
|
-
g: number;
|
|
6
|
-
b: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Extract color components
|
|
10
|
-
*/
|
|
11
|
-
export declare function parseColor(abgr: number): IParsedColor;
|
|
12
|
-
export declare function parseToAbgrString(abgr: number): string;
|
|
13
|
-
export declare function parseToRgbaString(rgba: number): string;
|
|
14
|
-
/**
|
|
15
|
-
* Extract color components
|
|
16
|
-
*/
|
|
17
|
-
export declare function parseColorRgba(rgba: number): IParsedColor;
|
|
18
|
-
/**
|
|
19
|
-
* Format a parsed color into a rgba CSS color
|
|
20
|
-
*/
|
|
21
|
-
export declare function formatRgba({ a, r, g, b }: IParsedColor): string;
|
|
@@ -1,72 +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
|
-
const WHITE = {
|
|
20
|
-
isWhite: true,
|
|
21
|
-
a: 1,
|
|
22
|
-
r: 0xff,
|
|
23
|
-
g: 0xff,
|
|
24
|
-
b: 0xff,
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Extract color components
|
|
28
|
-
*/
|
|
29
|
-
export function parseColor(abgr) {
|
|
30
|
-
if (abgr === 0xffffffff) {
|
|
31
|
-
return WHITE;
|
|
32
|
-
}
|
|
33
|
-
const a = ((abgr >>> 24) & 0xff) / 255;
|
|
34
|
-
const b = (abgr >>> 16) & 0xff & 0xff;
|
|
35
|
-
const g = (abgr >>> 8) & 0xff & 0xff;
|
|
36
|
-
const r = abgr & 0xff & 0xff;
|
|
37
|
-
return { isWhite: false, a, r, g, b };
|
|
38
|
-
}
|
|
39
|
-
export function parseToAbgrString(abgr) {
|
|
40
|
-
const a = ((abgr >>> 24) & 0xff) / 255;
|
|
41
|
-
const b = (abgr >>> 16) & 0xff & 0xff;
|
|
42
|
-
const g = (abgr >>> 8) & 0xff & 0xff;
|
|
43
|
-
const r = abgr & 0xff & 0xff;
|
|
44
|
-
return `rgba(${r},${g},${b},${a})`;
|
|
45
|
-
}
|
|
46
|
-
export function parseToRgbaString(rgba) {
|
|
47
|
-
const r = (rgba >>> 24) & 0xff;
|
|
48
|
-
const g = (rgba >>> 16) & 0xff & 0xff;
|
|
49
|
-
const b = (rgba >>> 8) & 0xff & 0xff;
|
|
50
|
-
const a = (rgba & 0xff & 0xff) / 255;
|
|
51
|
-
return `rgba(${r},${g},${b},${a})`;
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Extract color components
|
|
55
|
-
*/
|
|
56
|
-
export function parseColorRgba(rgba) {
|
|
57
|
-
if (rgba === 0xffffffff) {
|
|
58
|
-
return WHITE;
|
|
59
|
-
}
|
|
60
|
-
const r = (rgba >>> 24) & 0xff;
|
|
61
|
-
const g = (rgba >>> 16) & 0xff & 0xff;
|
|
62
|
-
const b = (rgba >>> 8) & 0xff & 0xff;
|
|
63
|
-
const a = (rgba & 0xff & 0xff) / 255;
|
|
64
|
-
return { isWhite: false, r, g, b, a };
|
|
65
|
-
}
|
|
66
|
-
/**
|
|
67
|
-
* Format a parsed color into a rgba CSS color
|
|
68
|
-
*/
|
|
69
|
-
export function formatRgba({ a, r, g, b }) {
|
|
70
|
-
return `rgba(${r},${g},${b},${a})`;
|
|
71
|
-
}
|
|
72
|
-
//# sourceMappingURL=colorParser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"colorParser.js","sourceRoot":"","sources":["../../../../src/core/lib/colorParser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAUH,MAAM,KAAK,GAAiB;IAC1B,OAAO,EAAE,IAAI;IACb,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;IACP,CAAC,EAAE,IAAI;CACR,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACvC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACrC,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;QACxB,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACtC,MAAM,CAAC,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;IACrC,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAgB;IACrD,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;AACrC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { type Stage } from '../Stage.js';
|
|
2
|
-
export declare abstract class Platform {
|
|
3
|
-
/**
|
|
4
|
-
* Creates a new canvas element.
|
|
5
|
-
* @returns The created HTMLCanvasElement.
|
|
6
|
-
*/
|
|
7
|
-
abstract createCanvas(): HTMLCanvasElement;
|
|
8
|
-
/**
|
|
9
|
-
* Get a DOM element by ID
|
|
10
|
-
* @returns The DOM element (or null)
|
|
11
|
-
*/
|
|
12
|
-
abstract getElementById(id: string): HTMLElement | null;
|
|
13
|
-
/**
|
|
14
|
-
* Starts the main rendering loop, calling the provided update function every frame.
|
|
15
|
-
* @param Stage - The stage for rendering
|
|
16
|
-
*/
|
|
17
|
-
abstract startLoop(stage: Stage): void;
|
|
18
|
-
/**
|
|
19
|
-
* Abstracted createImageBitmap method.
|
|
20
|
-
* @param blob - The image source to create the ImageBitmap from.
|
|
21
|
-
* @param sxOrOptions - The source rectangle x coordinate or ImageBitmapOptions.
|
|
22
|
-
* @param sy - The source rectangle y coordinate.
|
|
23
|
-
* @param sw - The source rectangle width.
|
|
24
|
-
* @param sh - The source rectangle height.
|
|
25
|
-
* @param options - The ImageBitmapOptions.
|
|
26
|
-
* @returns A promise that resolves with the created ImageBitmap.
|
|
27
|
-
*/
|
|
28
|
-
abstract createImageBitmap(blob: ImageBitmapSource): Promise<ImageBitmap>;
|
|
29
|
-
abstract createImageBitmap(blob: ImageBitmapSource, options: ImageBitmapOptions): Promise<ImageBitmap>;
|
|
30
|
-
abstract createImageBitmap(blob: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise<ImageBitmap>;
|
|
31
|
-
abstract createImageBitmap(blob: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options: ImageBitmapOptions): Promise<ImageBitmap>;
|
|
32
|
-
/**
|
|
33
|
-
* Retrieves the current timestamp.
|
|
34
|
-
* @returns The current timestamp.
|
|
35
|
-
*/
|
|
36
|
-
abstract getTimeStamp(): number;
|
|
37
|
-
}
|
|
@@ -1,22 +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 {} from '../Stage.js';
|
|
20
|
-
export class Platform {
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=Platform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../../src/core/platforms/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAc,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAgB,QAAQ;CAuD7B"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { Platform } from '../Platform.js';
|
|
2
|
-
import type { Stage } from '../../Stage.js';
|
|
3
|
-
export declare class WebPlatform extends Platform {
|
|
4
|
-
createCanvas(): HTMLCanvasElement;
|
|
5
|
-
getElementById(id: string): HTMLElement | null;
|
|
6
|
-
startLoop(stage: Stage): void;
|
|
7
|
-
createImageBitmap(blob: ImageBitmapSource, sxOrOptions?: number | ImageBitmapOptions, sy?: number, sw?: number, sh?: number, options?: ImageBitmapOptions): Promise<ImageBitmap>;
|
|
8
|
-
getTimeStamp(): number;
|
|
9
|
-
}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Platform } from '../Platform.js';
|
|
2
|
-
export class WebPlatform extends Platform {
|
|
3
|
-
////////////////////////
|
|
4
|
-
// Platform-specific methods
|
|
5
|
-
////////////////////////
|
|
6
|
-
createCanvas() {
|
|
7
|
-
const canvas = document.createElement('canvas');
|
|
8
|
-
return canvas;
|
|
9
|
-
}
|
|
10
|
-
getElementById(id) {
|
|
11
|
-
return document.getElementById(id);
|
|
12
|
-
}
|
|
13
|
-
////////////////////////
|
|
14
|
-
// Update loop
|
|
15
|
-
////////////////////////
|
|
16
|
-
startLoop(stage) {
|
|
17
|
-
let isIdle = false;
|
|
18
|
-
let lastFrameTime = 0;
|
|
19
|
-
const runLoop = (currentTime = 0) => {
|
|
20
|
-
const targetFrameTime = stage.targetFrameTime;
|
|
21
|
-
// Check if we should throttle this frame
|
|
22
|
-
if (targetFrameTime > 0 &&
|
|
23
|
-
currentTime - lastFrameTime < targetFrameTime) {
|
|
24
|
-
// Too early for next frame, schedule with setTimeout for precise timing
|
|
25
|
-
const delay = targetFrameTime - (currentTime - lastFrameTime);
|
|
26
|
-
setTimeout(() => requestAnimationFrame(runLoop), delay);
|
|
27
|
-
return;
|
|
28
|
-
}
|
|
29
|
-
stage.updateFrameTime();
|
|
30
|
-
stage.updateAnimations();
|
|
31
|
-
if (!stage.hasSceneUpdates()) {
|
|
32
|
-
// We still need to calculate the fps else it looks like the app is frozen
|
|
33
|
-
stage.calculateFps();
|
|
34
|
-
if (targetFrameTime > 0) {
|
|
35
|
-
// Use setTimeout for throttled idle frames
|
|
36
|
-
setTimeout(() => requestAnimationFrame(runLoop), Math.max(targetFrameTime, 16.666666666666668));
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
// Use standard idle timeout when not throttling
|
|
40
|
-
setTimeout(() => requestAnimationFrame(runLoop), 16.666666666666668);
|
|
41
|
-
}
|
|
42
|
-
if (!isIdle) {
|
|
43
|
-
stage.shManager.cleanup();
|
|
44
|
-
stage.eventBus.emit('idle');
|
|
45
|
-
isIdle = true;
|
|
46
|
-
}
|
|
47
|
-
if (stage.txMemManager.checkCleanup() === true) {
|
|
48
|
-
stage.txMemManager.cleanup(false);
|
|
49
|
-
}
|
|
50
|
-
stage.flushFrameEvents();
|
|
51
|
-
return;
|
|
52
|
-
}
|
|
53
|
-
isIdle = false;
|
|
54
|
-
stage.drawFrame();
|
|
55
|
-
stage.flushFrameEvents();
|
|
56
|
-
// Schedule next frame
|
|
57
|
-
if (targetFrameTime > 0) {
|
|
58
|
-
// Use setTimeout + rAF combination for precise FPS control
|
|
59
|
-
const nextFrameDelay = Math.max(0, targetFrameTime - (performance.now() - currentTime));
|
|
60
|
-
setTimeout(() => requestAnimationFrame(runLoop), nextFrameDelay);
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
// Use standard rAF when not throttling
|
|
64
|
-
requestAnimationFrame(runLoop);
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
requestAnimationFrame(runLoop);
|
|
68
|
-
}
|
|
69
|
-
////////////////////////
|
|
70
|
-
// ImageBitmap
|
|
71
|
-
////////////////////////
|
|
72
|
-
createImageBitmap(blob, sxOrOptions, sy, sw, sh, options) {
|
|
73
|
-
if (typeof sxOrOptions === 'number') {
|
|
74
|
-
return createImageBitmap(blob, sxOrOptions, sy ?? 0, sw ?? 0, sh ?? 0, options);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
return createImageBitmap(blob, sxOrOptions);
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
getTimeStamp() {
|
|
81
|
-
return performance ? performance.now() : Date.now();
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=WebPlatform.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"WebPlatform.js","sourceRoot":"","sources":["../../../../../src/core/platforms/web/WebPlatform.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,MAAM,OAAO,WAAY,SAAQ,QAAQ;IACvC,wBAAwB;IACxB,4BAA4B;IAC5B,wBAAwB;IAEf,YAAY;QACnB,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAChD,OAAO,MAAM,CAAC;IAChB,CAAC;IAEQ,cAAc,CAAC,EAAU;QAChC,OAAO,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IAEf,SAAS,CAAC,KAAY;QAC7B,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,MAAM,OAAO,GAAG,CAAC,cAAsB,CAAC,EAAE,EAAE;YAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;YAE9C,yCAAyC;YACzC,IACE,eAAe,GAAG,CAAC;gBACnB,WAAW,GAAG,aAAa,GAAG,eAAe,EAC7C,CAAC;gBACD,wEAAwE;gBACxE,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;gBAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,KAAK,CAAC,eAAe,EAAE,CAAC;YACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;gBAC7B,0EAA0E;gBAC1E,KAAK,CAAC,YAAY,EAAE,CAAC;gBAErB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;oBACxB,2CAA2C;oBAC3C,UAAU,CACR,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAC9C,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,gDAAgD;oBAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;gBACvE,CAAC;gBAED,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;oBAC1B,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;gBAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;oBAC/C,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACpC,CAAC;gBAED,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YAED,MAAM,GAAG,KAAK,CAAC;YACf,KAAK,CAAC,SAAS,EAAE,CAAC;YAClB,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAEzB,sBAAsB;YACtB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,2DAA2D;gBAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,eAAe,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CACpD,CAAC;gBACF,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACN,uCAAuC;gBACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC;QACF,qBAAqB,CAAC,OAAO,CAAC,CAAC;IACjC,CAAC;IAED,wBAAwB;IACxB,cAAc;IACd,wBAAwB;IAEf,iBAAiB,CACxB,IAAuB,EACvB,WAAyC,EACzC,EAAW,EACX,EAAW,EACX,EAAW,EACX,OAA4B;QAE5B,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;YACpC,OAAO,iBAAiB,CACtB,IAAI,EACJ,WAAW,EACX,EAAE,IAAI,CAAC,EACP,EAAE,IAAI,CAAC,EACP,EAAE,IAAI,CAAC,EACP,OAAO,CACR,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO,iBAAiB,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,YAAY;QACV,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACtD,CAAC;CACF"}
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { type CoreNode } from '../CoreNode.js';
|
|
2
|
-
import type { Stage } from '../Stage.js';
|
|
3
|
-
export interface AdvShaderProp<T = any, Props = Record<string, unknown>> {
|
|
4
|
-
/**
|
|
5
|
-
* default value
|
|
6
|
-
*/
|
|
7
|
-
default: T;
|
|
8
|
-
resolve?: (this: AdvShaderProp<T, Props>, value: T, props: Props) => T;
|
|
9
|
-
transform?: (start: T, end: T, progress: number) => T;
|
|
10
|
-
}
|
|
11
|
-
export type AdvancedShaderProp<T = any, Props = Record<string, unknown>> = (AdvShaderProp<T, Props> & {
|
|
12
|
-
set: (value: T, props: Props) => void;
|
|
13
|
-
get: (props: Props) => T;
|
|
14
|
-
}) | (AdvShaderProp<T, Props> & {
|
|
15
|
-
set?: never;
|
|
16
|
-
get?: never;
|
|
17
|
-
});
|
|
18
|
-
export type ShaderProp<T, Props> = T | AdvancedShaderProp<T, Props>;
|
|
19
|
-
export type ShaderProps<Props> = {
|
|
20
|
-
[K in keyof Props]: ShaderProp<Props[K], Props>;
|
|
21
|
-
};
|
|
22
|
-
export declare function isAdvancedShaderProp(obj: any): obj is AdvancedShaderProp;
|
|
23
|
-
export declare function resolveShaderProps(props: Record<string, unknown>, propsConfig: ShaderProps<Record<string, unknown>>): void;
|
|
24
|
-
/**
|
|
25
|
-
* CoreShaderType is a template for ShaderTypes the renderer.
|
|
26
|
-
* You could view a ShaderType as a configuration object that contains methods,
|
|
27
|
-
* and values that you can use to alter the way a node is drawn by the Renderer.
|
|
28
|
-
*/
|
|
29
|
-
export interface CoreShaderType<Props extends object = any> {
|
|
30
|
-
/**
|
|
31
|
-
* Values you use to draw the Shader
|
|
32
|
-
*/
|
|
33
|
-
props?: ShaderProps<Props>;
|
|
34
|
-
/**
|
|
35
|
-
* used for making a cache key to check for reusability, currently only used for webgl ShaderTypes but might be needed for other types of renderer
|
|
36
|
-
*/
|
|
37
|
-
getCacheMarkers?: (props: Props) => string;
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* CoreShaderNode is a base class that manages the shader prop values.
|
|
41
|
-
* When a prop is being updated the CoreShaderNode will notify either the associated CoreNode,
|
|
42
|
-
* or the Stage that there has been a change and a new render of the scene.
|
|
43
|
-
*/
|
|
44
|
-
export declare class CoreShaderNode<Props extends object = Record<string, unknown>> {
|
|
45
|
-
readonly shaderKey: string;
|
|
46
|
-
readonly stage: Stage;
|
|
47
|
-
readonly shaderType: CoreShaderType<Props>;
|
|
48
|
-
protected propsConfig: ShaderProps<Props> | undefined;
|
|
49
|
-
readonly resolvedProps: Props | undefined;
|
|
50
|
-
protected definedProps: Props | undefined;
|
|
51
|
-
protected node: CoreNode | null;
|
|
52
|
-
update: (() => void) | undefined;
|
|
53
|
-
constructor(shaderKey: string, type: CoreShaderType<Props>, stage: Stage, props?: Props);
|
|
54
|
-
private defineProps;
|
|
55
|
-
attachNode(node: CoreNode): void;
|
|
56
|
-
createValueKey(): string;
|
|
57
|
-
get props(): Props | undefined;
|
|
58
|
-
set props(props: Props | undefined);
|
|
59
|
-
}
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { deepClone } from '../../utils.js';
|
|
2
|
-
import { UpdateType } from '../CoreNode.js';
|
|
3
|
-
export function isAdvancedShaderProp(obj) {
|
|
4
|
-
return obj !== null && typeof obj === 'object' && obj.default !== undefined;
|
|
5
|
-
}
|
|
6
|
-
export function resolveShaderProps(props, propsConfig) {
|
|
7
|
-
for (const key in propsConfig) {
|
|
8
|
-
if (!isAdvancedShaderProp(propsConfig[key]) && props[key] === undefined) {
|
|
9
|
-
props[key] = propsConfig[key];
|
|
10
|
-
continue;
|
|
11
|
-
}
|
|
12
|
-
const pConfig = propsConfig[key];
|
|
13
|
-
const hasValue = props[key] !== undefined;
|
|
14
|
-
if (pConfig.resolve !== undefined) {
|
|
15
|
-
props[key] = pConfig.resolve(props[key], props);
|
|
16
|
-
continue;
|
|
17
|
-
}
|
|
18
|
-
if (hasValue && pConfig.set !== undefined) {
|
|
19
|
-
pConfig.set(props[key], props);
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
if (hasValue) {
|
|
23
|
-
continue;
|
|
24
|
-
}
|
|
25
|
-
if (props[key] === undefined && pConfig.get === undefined) {
|
|
26
|
-
props[key] = deepClone(pConfig.default);
|
|
27
|
-
continue;
|
|
28
|
-
}
|
|
29
|
-
props[key] = pConfig.get(props);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* CoreShaderNode is a base class that manages the shader prop values.
|
|
34
|
-
* When a prop is being updated the CoreShaderNode will notify either the associated CoreNode,
|
|
35
|
-
* or the Stage that there has been a change and a new render of the scene.
|
|
36
|
-
*/
|
|
37
|
-
export class CoreShaderNode {
|
|
38
|
-
shaderKey;
|
|
39
|
-
stage;
|
|
40
|
-
shaderType;
|
|
41
|
-
propsConfig;
|
|
42
|
-
resolvedProps = undefined;
|
|
43
|
-
definedProps = undefined;
|
|
44
|
-
node = null;
|
|
45
|
-
update = undefined;
|
|
46
|
-
constructor(shaderKey, type, stage, props) {
|
|
47
|
-
this.shaderKey = shaderKey;
|
|
48
|
-
this.stage = stage;
|
|
49
|
-
this.shaderType = type;
|
|
50
|
-
if (props !== undefined) {
|
|
51
|
-
/**
|
|
52
|
-
* props are already resolved by shadermanager
|
|
53
|
-
*/
|
|
54
|
-
this.resolvedProps = props;
|
|
55
|
-
this.defineProps(props);
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
defineProps(props) {
|
|
59
|
-
const definedProps = {};
|
|
60
|
-
for (const key in props) {
|
|
61
|
-
const propConfig = this.shaderType.props[key];
|
|
62
|
-
const isAdvancedProp = isAdvancedShaderProp(propConfig);
|
|
63
|
-
Object.defineProperty(definedProps, key, {
|
|
64
|
-
get: () => {
|
|
65
|
-
return this.resolvedProps[key];
|
|
66
|
-
},
|
|
67
|
-
set: (value) => {
|
|
68
|
-
// this.resolvedProps![key as keyof Props] = value;
|
|
69
|
-
if (isAdvancedProp === true && propConfig.resolve !== undefined) {
|
|
70
|
-
this.resolvedProps[key] = propConfig.resolve(value, this.resolvedProps);
|
|
71
|
-
}
|
|
72
|
-
else if (isAdvancedProp === true && propConfig.set !== undefined) {
|
|
73
|
-
propConfig.set(value, this.resolvedProps);
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
this.resolvedProps[key] = value;
|
|
77
|
-
}
|
|
78
|
-
if (this.update !== undefined && this.node !== null) {
|
|
79
|
-
this.node.setUpdateType(UpdateType.RecalcUniforms);
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
this.stage.requestRender();
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
});
|
|
86
|
-
}
|
|
87
|
-
this.definedProps = definedProps;
|
|
88
|
-
}
|
|
89
|
-
attachNode(node) {
|
|
90
|
-
this.node = node;
|
|
91
|
-
}
|
|
92
|
-
createValueKey() {
|
|
93
|
-
let valueKey = '';
|
|
94
|
-
for (const key in this.resolvedProps) {
|
|
95
|
-
valueKey += `${key}:${this.resolvedProps[key]};`;
|
|
96
|
-
}
|
|
97
|
-
valueKey += `node-width:${this.node.w}`;
|
|
98
|
-
valueKey += `node-height:${this.node.h}`;
|
|
99
|
-
return valueKey;
|
|
100
|
-
}
|
|
101
|
-
get props() {
|
|
102
|
-
return this.definedProps;
|
|
103
|
-
}
|
|
104
|
-
set props(props) {
|
|
105
|
-
if (props === undefined) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
for (const key in props) {
|
|
109
|
-
this.props[key] = props[key];
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
//# sourceMappingURL=CoreShaderNode.js.map
|