@lightningjs/renderer 2.12.1 → 3.0.0-beta1
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/exports/canvas-shaders.d.ts +10 -0
- package/dist/exports/canvas-shaders.js +27 -0
- package/dist/exports/canvas-shaders.js.map +1 -0
- package/dist/exports/canvas.d.ts +7 -1
- package/dist/exports/canvas.js +7 -1
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +15 -8
- package/dist/exports/index.js +7 -4
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/webgl-shaders.d.ts +11 -0
- package/dist/exports/webgl-shaders.js +28 -0
- package/dist/exports/webgl-shaders.js.map +1 -0
- package/dist/exports/webgl.d.ts +9 -1
- package/dist/exports/webgl.js +9 -1
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +19 -5
- package/dist/src/core/CoreNode.js +117 -24
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +29 -71
- package/dist/src/core/CoreShaderManager.js +110 -97
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.js +1 -1
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +13 -7
- package/dist/src/core/CoreTextureManager.js +92 -105
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +15 -16
- package/dist/src/core/Stage.js +45 -32
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +16 -6
- package/dist/src/core/TextureMemoryManager.js +75 -17
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +0 -1
- package/dist/src/core/animations/CoreAnimation.js +6 -52
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.d.ts +1 -1
- package/dist/src/core/lib/ImageWorker.js +13 -11
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +67 -54
- package/dist/src/core/lib/WebGlContextWrapper.js +126 -157
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/textureCompression.js +0 -1
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +4 -0
- package/dist/src/core/lib/utils.js +26 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/lib/validateImageBitmap.d.ts +6 -0
- package/dist/src/core/lib/validateImageBitmap.js +68 -0
- package/dist/src/core/lib/validateImageBitmap.js.map +1 -0
- package/dist/src/core/platform.js +4 -3
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +11 -21
- package/dist/src/core/renderers/CoreRenderer.js +0 -6
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
- package/dist/src/core/renderers/CoreShaderNode.js +107 -0
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
- package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
- package/{src/core/renderers/CoreShader.ts → dist/src/core/renderers/CoreShaderProgram.js} +2 -23
- package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js +123 -0
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -13
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +192 -113
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +2 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +14 -0
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -12
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +36 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +107 -0
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +546 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +221 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +195 -0
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +32 -5
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
- package/dist/src/core/shaders/canvas/Border.js +57 -0
- package/dist/src/core/shaders/canvas/Border.js.map +1 -0
- package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
- package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/canvas/Rounded.js +33 -0
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
- package/dist/src/core/shaders/canvas/Shadow.js +31 -0
- package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
- package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
- package/dist/src/core/shaders/canvas/utils/render.js +84 -0
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
- package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
- package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
- package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
- package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Border.js +87 -0
- package/dist/src/core/shaders/webgl/Border.js.map +1 -0
- package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
- package/dist/src/core/shaders/webgl/Default.js +86 -0
- package/dist/src/core/shaders/webgl/Default.js.map +1 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
- package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
- package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
- package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
- package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
- package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
- package/dist/src/core/shaders/webgl/Rounded.js +86 -0
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
- package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
- package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
- package/dist/src/core/shaders/webgl/Shadow.js +110 -0
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +6 -0
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -3
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +34 -30
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -4
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.js +10 -16
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +1 -1
- package/dist/src/main-api/INode.d.ts +9 -9
- package/dist/src/main-api/Inspector.js +16 -2
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +35 -92
- package/dist/src/main-api/Renderer.js +11 -57
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +6 -0
- package/dist/src/utils.js +18 -0
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/canvas-shaders.ts +28 -0
- package/exports/canvas.ts +7 -1
- package/exports/index.ts +17 -17
- package/exports/webgl-shaders.ts +28 -0
- package/exports/webgl.ts +13 -1
- package/package.json +3 -1
- package/src/core/CoreNode.test.ts +157 -153
- package/src/core/CoreNode.ts +173 -38
- package/src/core/CoreShaderManager.ts +127 -226
- package/src/core/CoreTextNode.ts +1 -8
- package/src/core/CoreTextureManager.ts +127 -126
- package/src/core/Stage.ts +62 -44
- package/src/core/TextureMemoryManager.ts +108 -27
- package/src/core/animations/CoreAnimation.ts +8 -64
- package/src/core/lib/ImageWorker.ts +20 -12
- package/src/core/lib/WebGlContextWrapper.ts +228 -236
- package/src/core/lib/textureCompression.ts +3 -3
- package/src/core/lib/utils.ts +51 -0
- package/src/core/lib/validateImageBitmap.ts +76 -0
- package/src/core/platform.ts +6 -3
- package/src/core/renderers/CoreRenderer.ts +19 -27
- package/src/core/renderers/CoreShaderNode.ts +171 -0
- package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
- package/src/core/renderers/canvas/CanvasRenderer.ts +299 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
- package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +1 -1
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +2 -13
- package/src/core/renderers/canvas/internal/ColorUtils.ts +16 -0
- package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +2 -2
- package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +2 -2
- package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +12 -14
- package/src/core/renderers/webgl/{WebGlCoreRenderOp.ts → WebGlRenderOp.ts} +56 -36
- package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +143 -243
- package/src/core/renderers/webgl/WebGlShaderNode.ts +433 -0
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +310 -0
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -5
- package/src/core/shaders/canvas/Border.ts +78 -0
- package/src/core/shaders/canvas/HolePunch.ts +62 -0
- package/src/core/shaders/canvas/LinearGradient.ts +69 -0
- package/src/core/shaders/canvas/RadialGradient.ts +113 -0
- package/src/core/shaders/canvas/Rounded.ts +55 -0
- package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -0
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -0
- package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -0
- package/src/core/shaders/canvas/Shadow.ts +52 -0
- package/src/core/shaders/canvas/utils/render.ts +151 -0
- package/src/core/shaders/templates/BorderTemplate.ts +115 -0
- package/src/core/shaders/templates/HolePunchTemplate.ts +82 -0
- package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -0
- package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -0
- package/src/core/shaders/templates/RoundedTemplate.ts +98 -0
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -0
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -0
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
- package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
- package/src/core/shaders/templates/shaderUtils.ts +47 -0
- package/src/core/shaders/webgl/Border.ts +96 -0
- package/src/core/shaders/webgl/Default.ts +89 -0
- package/src/core/shaders/webgl/DefaultBatched.ts +129 -0
- package/src/core/shaders/webgl/HolePunch.ts +78 -0
- package/src/core/shaders/webgl/LinearGradient.ts +81 -0
- package/src/core/shaders/webgl/RadialGradient.ts +84 -0
- package/src/core/shaders/webgl/Rounded.ts +117 -0
- package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -0
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -0
- package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
- package/src/core/shaders/webgl/SdfShader.ts +137 -0
- package/src/core/shaders/webgl/Shadow.ts +115 -0
- package/src/core/text-rendering/TextTextureRendererUtils.ts +1 -1
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +2 -2
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +12 -5
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +44 -56
- package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
- package/src/core/textures/ImageTexture.ts +11 -17
- package/src/core/textures/Texture.ts +1 -1
- package/src/main-api/INode.ts +11 -13
- package/src/main-api/Inspector.ts +19 -2
- package/src/main-api/Renderer.ts +59 -130
- package/src/utils.ts +19 -0
- package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
- package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -362
- package/src/core/renderers/webgl/shaders/DefaultShader.ts +0 -93
- package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -132
- package/src/core/renderers/webgl/shaders/DynamicShader.ts +0 -580
- package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +0 -167
- package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -204
- package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +0 -87
- package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +0 -101
- package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +0 -159
- package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +0 -127
- package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +0 -148
- package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +0 -67
- package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +0 -157
- package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +0 -171
- package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +0 -168
- package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +0 -187
- package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +0 -110
- package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +0 -196
- package/src/main-api/DynamicShaderController.ts +0 -104
- package/src/main-api/ShaderController.ts +0 -80
|
@@ -0,0 +1,10 @@
|
|
|
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';
|
|
@@ -0,0 +1,27 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/exports/canvas.d.ts
CHANGED
|
@@ -17,4 +17,10 @@
|
|
|
17
17
|
* @packageDocumentation
|
|
18
18
|
*/
|
|
19
19
|
export { CanvasTextRenderer } from '../src/core/text-rendering/renderers/CanvasTextRenderer.js';
|
|
20
|
-
export {
|
|
20
|
+
export { CanvasRenderer } from '../src/core/renderers/canvas/CanvasRenderer.js';
|
|
21
|
+
export { CanvasTexture } from '../src/core/renderers/canvas/CanvasTexture.js';
|
|
22
|
+
export * from '../src/core/renderers/canvas/CanvasShaderNode.js';
|
|
23
|
+
/**
|
|
24
|
+
* @deprecated Use CanvasRenderer.
|
|
25
|
+
*/
|
|
26
|
+
export { CanvasRenderer as CanvasCoreRenderer } from '../src/core/renderers/canvas/CanvasRenderer.js';
|
package/dist/exports/canvas.js
CHANGED
|
@@ -35,5 +35,11 @@
|
|
|
35
35
|
* @packageDocumentation
|
|
36
36
|
*/
|
|
37
37
|
export { CanvasTextRenderer } from '../src/core/text-rendering/renderers/CanvasTextRenderer.js';
|
|
38
|
-
export {
|
|
38
|
+
export { CanvasRenderer } from '../src/core/renderers/canvas/CanvasRenderer.js';
|
|
39
|
+
export { CanvasTexture } from '../src/core/renderers/canvas/CanvasTexture.js';
|
|
40
|
+
export * from '../src/core/renderers/canvas/CanvasShaderNode.js';
|
|
41
|
+
/**
|
|
42
|
+
* @deprecated Use CanvasRenderer.
|
|
43
|
+
*/
|
|
44
|
+
export { CanvasRenderer as CanvasCoreRenderer } from '../src/core/renderers/canvas/CanvasRenderer.js';
|
|
39
45
|
//# sourceMappingURL=canvas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../exports/canvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../exports/canvas.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,4DAA4D,CAAC;AAChG,OAAO,EAAE,cAAc,EAAE,MAAM,gDAAgD,CAAC;AAChF,OAAO,EAAE,aAAa,EAAE,MAAM,+CAA+C,CAAC;AAC9E,cAAc,kDAAkD,CAAC;AACjE;;GAEG;AACH,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,gDAAgD,CAAC"}
|
package/dist/exports/index.d.ts
CHANGED
|
@@ -19,23 +19,22 @@
|
|
|
19
19
|
*/
|
|
20
20
|
export * from '../src/main-api/INode.js';
|
|
21
21
|
export * from '../src/main-api/Renderer.js';
|
|
22
|
-
export * from '../src/main-api/ShaderController.js';
|
|
23
|
-
export * from '../src/main-api/DynamicShaderController.js';
|
|
24
22
|
export * from '../src/common/IAnimationController.js';
|
|
25
23
|
export * from '../src/common/CommonTypes.js';
|
|
26
24
|
export { CoreTextureManager, type TextureMap, } from '../src/core/CoreTextureManager.js';
|
|
27
25
|
export type { MemoryInfo } from '../src/core/TextureMemoryManager.js';
|
|
28
|
-
export type { ShaderMap, EffectMap } from '../src/core/CoreShaderManager.js';
|
|
29
26
|
export type { TextRendererMap } from '../src/core/text-rendering/renderers/TextRenderer.js';
|
|
30
27
|
export type { TrFontFaceMap } from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
31
28
|
export type { AnimationSettings } from '../src/core/animations/CoreAnimation.js';
|
|
32
|
-
export type { EffectProps, FadeOutEffectProps, LinearGradientEffectProps, RadialGradientEffectProps, GrayscaleEffectProps, GlitchEffectProps, RadialProgressEffectProps, HolePunchEffectProps, } from '../src/core/CoreShaderManager.js';
|
|
33
|
-
export type { WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlCoreRenderer.js';
|
|
34
|
-
export type { WebGlCoreCtxTexture } from '../src/core/renderers/webgl/WebGlCoreCtxTexture.js';
|
|
35
29
|
export type { Inspector } from '../src/main-api/Inspector.js';
|
|
36
30
|
export type { CoreNodeRenderState } from '../src/core/CoreNode.js';
|
|
37
|
-
export * from '../src/core/renderers/
|
|
38
|
-
export * from '../src/core/
|
|
31
|
+
export * from '../src/core/renderers/CoreShaderNode.js';
|
|
32
|
+
export * from '../src/core/shaders/templates/BorderTemplate.js';
|
|
33
|
+
export * from '../src/core/shaders/templates/HolePunchTemplate.js';
|
|
34
|
+
export * from '../src/core/shaders/templates/RoundedTemplate.js';
|
|
35
|
+
export * from '../src/core/shaders/templates/LinearGradientTemplate.js';
|
|
36
|
+
export * from '../src/core/shaders/templates/RadialGradientTemplate.js';
|
|
37
|
+
export * from '../src/core/renderers/webgl/WebGlShaderProgram.js';
|
|
39
38
|
export type { ShaderProgramSources } from '../src/core/renderers/webgl/internal/ShaderUtils.js';
|
|
40
39
|
export * from '../src/core/textures/Texture.js';
|
|
41
40
|
export { ImageTexture } from '../src/core/textures/ImageTexture.js';
|
|
@@ -43,3 +42,11 @@ export * from '../src/core/text-rendering/font-face-types/TrFontFace.js';
|
|
|
43
42
|
export * from '../src/core/text-rendering/font-face-types/WebTrFontFace.js';
|
|
44
43
|
export * from '../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js';
|
|
45
44
|
export type * from '../src/core/Stage.js';
|
|
45
|
+
/**
|
|
46
|
+
* @deprecated Use `import { WebGlRenderer } @lightningjs/renderer/webgl` instead
|
|
47
|
+
*/
|
|
48
|
+
export type { WebGlRenderer as WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
49
|
+
/**
|
|
50
|
+
* @deprecated Use `import { WebGlCtxTexture } @lightningjs/renderer/webgl` instead
|
|
51
|
+
*/
|
|
52
|
+
export type { WebGlCtxTexture as WebGlCoreCtxTexture } from '../src/core/renderers/webgl/WebGlCtxTexture.js';
|
package/dist/exports/index.js
CHANGED
|
@@ -37,16 +37,19 @@
|
|
|
37
37
|
*/
|
|
38
38
|
export * from '../src/main-api/INode.js';
|
|
39
39
|
export * from '../src/main-api/Renderer.js';
|
|
40
|
-
export * from '../src/main-api/ShaderController.js';
|
|
41
|
-
export * from '../src/main-api/DynamicShaderController.js';
|
|
42
40
|
export * from '../src/common/IAnimationController.js';
|
|
43
41
|
export * from '../src/common/CommonTypes.js';
|
|
44
42
|
// Selected types exported from the Core Renderer that can be used in the
|
|
45
43
|
// context of the main API.
|
|
46
44
|
export { CoreTextureManager, } from '../src/core/CoreTextureManager.js';
|
|
45
|
+
export * from '../src/core/renderers/CoreShaderNode.js';
|
|
46
|
+
export * from '../src/core/shaders/templates/BorderTemplate.js';
|
|
47
|
+
export * from '../src/core/shaders/templates/HolePunchTemplate.js';
|
|
48
|
+
export * from '../src/core/shaders/templates/RoundedTemplate.js';
|
|
49
|
+
export * from '../src/core/shaders/templates/LinearGradientTemplate.js';
|
|
50
|
+
export * from '../src/core/shaders/templates/RadialGradientTemplate.js';
|
|
47
51
|
// Shaders
|
|
48
|
-
export * from '../src/core/renderers/webgl/
|
|
49
|
-
export * from '../src/core/renderers/webgl/shaders/effects/ShaderEffect.js';
|
|
52
|
+
export * from '../src/core/renderers/webgl/WebGlShaderProgram.js';
|
|
50
53
|
// Textures
|
|
51
54
|
export * from '../src/core/textures/Texture.js';
|
|
52
55
|
export { ImageTexture } from '../src/core/textures/ImageTexture.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../exports/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../exports/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;;;GAkBG;AAEH,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,8BAA8B,CAAC;AAE7C,yEAAyE;AACzE,2BAA2B;AAC3B,OAAO,EACL,kBAAkB,GAEnB,MAAM,mCAAmC,CAAC;AAQ3C,cAAc,yCAAyC,CAAC;AACxD,cAAc,iDAAiD,CAAC;AAChE,cAAc,oDAAoD,CAAC;AACnE,cAAc,kDAAkD,CAAC;AACjE,cAAc,yDAAyD,CAAC;AACxE,cAAc,yDAAyD,CAAC;AAExE,UAAU;AACV,cAAc,mDAAmD,CAAC;AAGlE,WAAW;AACX,cAAc,iCAAiC,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEpE,yBAAyB;AACzB,wEAAwE;AACxE,cAAc,0DAA0D,CAAC;AACzE,cAAc,6DAA6D,CAAC;AAC5E,cAAc,2EAA2E,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
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';
|
|
@@ -0,0 +1,28 @@
|
|
|
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
|
|
@@ -0,0 +1 @@
|
|
|
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"}
|
package/dist/exports/webgl.d.ts
CHANGED
|
@@ -16,4 +16,12 @@
|
|
|
16
16
|
* @packageDocumentation
|
|
17
17
|
*/
|
|
18
18
|
export { SdfTextRenderer } from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
19
|
-
export {
|
|
19
|
+
export { WebGlRenderer } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
20
|
+
export { WebGlCtxTexture } from '../src/core/renderers/webgl/WebGlCtxTexture.js';
|
|
21
|
+
export * from '../src/core/renderers/webgl/WebGlShaderNode.js';
|
|
22
|
+
/**
|
|
23
|
+
* @deprecated Use WebGlRenderer.
|
|
24
|
+
*/
|
|
25
|
+
export { WebGlRenderer as WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
26
|
+
export { WebGlRenderer as WebGlCoreCtxTexture } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
27
|
+
export * as shaders from './webgl-shaders.js';
|
package/dist/exports/webgl.js
CHANGED
|
@@ -34,5 +34,13 @@
|
|
|
34
34
|
* @packageDocumentation
|
|
35
35
|
*/
|
|
36
36
|
export { SdfTextRenderer } from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
37
|
-
export {
|
|
37
|
+
export { WebGlRenderer } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
38
|
+
export { WebGlCtxTexture } from '../src/core/renderers/webgl/WebGlCtxTexture.js';
|
|
39
|
+
export * from '../src/core/renderers/webgl/WebGlShaderNode.js';
|
|
40
|
+
/**
|
|
41
|
+
* @deprecated Use WebGlRenderer.
|
|
42
|
+
*/
|
|
43
|
+
export { WebGlRenderer as WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
44
|
+
export { WebGlRenderer as WebGlCoreCtxTexture } from '../src/core/renderers/webgl/WebGlRenderer.js';
|
|
45
|
+
export * as shaders from './webgl-shaders.js';
|
|
38
46
|
//# sourceMappingURL=webgl.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../exports/webgl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"webgl.js","sourceRoot":"","sources":["../../exports/webgl.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,yEAAyE,CAAC;AAC1G,OAAO,EAAE,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,gDAAgD,CAAC;AAEjF,cAAc,gDAAgD,CAAC;AAE/D;;GAEG;AACH,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAClG,OAAO,EAAE,aAAa,IAAI,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AAEpG,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC"}
|
|
@@ -9,7 +9,7 @@ import { Matrix3d } from './lib/Matrix3d.js';
|
|
|
9
9
|
import { RenderCoords } from './lib/RenderCoords.js';
|
|
10
10
|
import type { AnimationSettings } from './animations/CoreAnimation.js';
|
|
11
11
|
import type { IAnimationController } from '../common/IAnimationController.js';
|
|
12
|
-
import type {
|
|
12
|
+
import type { CoreShaderNode } from './renderers/CoreShaderNode.js';
|
|
13
13
|
export declare enum CoreNodeRenderState {
|
|
14
14
|
Init = 0,
|
|
15
15
|
OutOfBounds = 2,
|
|
@@ -125,7 +125,11 @@ export declare enum UpdateType {
|
|
|
125
125
|
/**
|
|
126
126
|
* All
|
|
127
127
|
*/
|
|
128
|
-
All = 14335
|
|
128
|
+
All = 14335,
|
|
129
|
+
/**
|
|
130
|
+
* RecalcUniforms
|
|
131
|
+
*/
|
|
132
|
+
RecalcUniforms = 16384
|
|
129
133
|
}
|
|
130
134
|
/**
|
|
131
135
|
* A custom data map which can be stored on an CoreNode
|
|
@@ -197,6 +201,12 @@ export interface CoreNodeProps {
|
|
|
197
201
|
* @default `false`
|
|
198
202
|
*/
|
|
199
203
|
autosize: boolean;
|
|
204
|
+
/**
|
|
205
|
+
* Margin around the Node's bounds for preloading
|
|
206
|
+
*
|
|
207
|
+
* @default `null`
|
|
208
|
+
*/
|
|
209
|
+
boundsMargin: number | [number, number, number, number] | null;
|
|
200
210
|
/**
|
|
201
211
|
* Clipping Mode
|
|
202
212
|
*
|
|
@@ -368,7 +378,7 @@ export interface CoreNodeProps {
|
|
|
368
378
|
* Note: If this is a Text Node, the Shader will be managed by the Node's
|
|
369
379
|
* {@link TextRenderer} and should not be set explicitly.
|
|
370
380
|
*/
|
|
371
|
-
shader:
|
|
381
|
+
shader: CoreShaderNode<any> | null;
|
|
372
382
|
/**
|
|
373
383
|
* Image URL
|
|
374
384
|
*
|
|
@@ -643,7 +653,9 @@ export declare class CoreNode extends EventEmitter {
|
|
|
643
653
|
globalTransform?: Matrix3d;
|
|
644
654
|
scaleRotateTransform?: Matrix3d;
|
|
645
655
|
localTransform?: Matrix3d;
|
|
656
|
+
sceneGlobalTransform?: Matrix3d;
|
|
646
657
|
renderCoords?: RenderCoords;
|
|
658
|
+
sceneRenderCoords?: RenderCoords;
|
|
647
659
|
renderBound?: Bound;
|
|
648
660
|
strictBound?: Bound;
|
|
649
661
|
preloadBound?: Bound;
|
|
@@ -774,6 +786,8 @@ export declare class CoreNode extends EventEmitter {
|
|
|
774
786
|
set alpha(value: number);
|
|
775
787
|
get autosize(): boolean;
|
|
776
788
|
set autosize(value: boolean);
|
|
789
|
+
get boundsMargin(): number | [number, number, number, number] | null;
|
|
790
|
+
set boundsMargin(value: number | [number, number, number, number] | null);
|
|
777
791
|
get clipping(): boolean;
|
|
778
792
|
set clipping(value: boolean);
|
|
779
793
|
get color(): number;
|
|
@@ -809,8 +823,8 @@ export declare class CoreNode extends EventEmitter {
|
|
|
809
823
|
private markChildrenWithRTT;
|
|
810
824
|
private applyRTTInheritance;
|
|
811
825
|
private clearRTTInheritance;
|
|
812
|
-
get shader():
|
|
813
|
-
set shader(
|
|
826
|
+
get shader(): CoreShaderNode<any> | null;
|
|
827
|
+
set shader(shader: CoreShaderNode<any> | null);
|
|
814
828
|
get src(): string | null;
|
|
815
829
|
set src(imageUrl: string | null);
|
|
816
830
|
set imageType(type: 'regular' | 'compressed' | 'svg' | null);
|
|
@@ -147,6 +147,10 @@ export var UpdateType;
|
|
|
147
147
|
* All
|
|
148
148
|
*/
|
|
149
149
|
UpdateType[UpdateType["All"] = 14335] = "All";
|
|
150
|
+
/**
|
|
151
|
+
* RecalcUniforms
|
|
152
|
+
*/
|
|
153
|
+
UpdateType[UpdateType["RecalcUniforms"] = 16384] = "RecalcUniforms";
|
|
150
154
|
})(UpdateType || (UpdateType = {}));
|
|
151
155
|
/**
|
|
152
156
|
* A visual Node in the Renderer scene graph.
|
|
@@ -166,7 +170,9 @@ export class CoreNode extends EventEmitter {
|
|
|
166
170
|
globalTransform;
|
|
167
171
|
scaleRotateTransform;
|
|
168
172
|
localTransform;
|
|
173
|
+
sceneGlobalTransform;
|
|
169
174
|
renderCoords;
|
|
175
|
+
sceneRenderCoords;
|
|
170
176
|
renderBound;
|
|
171
177
|
strictBound;
|
|
172
178
|
preloadBound;
|
|
@@ -191,18 +197,29 @@ export class CoreNode extends EventEmitter {
|
|
|
191
197
|
constructor(stage, props) {
|
|
192
198
|
super();
|
|
193
199
|
this.stage = stage;
|
|
194
|
-
this.props = {
|
|
195
|
-
...props,
|
|
200
|
+
this.props = Object.assign({}, props, {
|
|
196
201
|
parent: null,
|
|
197
202
|
texture: null,
|
|
203
|
+
shader: null,
|
|
198
204
|
src: null,
|
|
199
205
|
rtt: false,
|
|
200
|
-
};
|
|
206
|
+
});
|
|
201
207
|
// Assign props to instance
|
|
202
208
|
this.parent = props.parent;
|
|
203
209
|
this.texture = props.texture;
|
|
210
|
+
this.shader = props.shader;
|
|
204
211
|
this.src = props.src;
|
|
205
212
|
this.rtt = props.rtt;
|
|
213
|
+
if (props.boundsMargin) {
|
|
214
|
+
this.boundsMargin = Array.isArray(props.boundsMargin)
|
|
215
|
+
? props.boundsMargin
|
|
216
|
+
: [
|
|
217
|
+
props.boundsMargin,
|
|
218
|
+
props.boundsMargin,
|
|
219
|
+
props.boundsMargin,
|
|
220
|
+
props.boundsMargin,
|
|
221
|
+
];
|
|
222
|
+
}
|
|
206
223
|
this.setUpdateType(UpdateType.ScaleRotate |
|
|
207
224
|
UpdateType.Local |
|
|
208
225
|
UpdateType.RenderBounds |
|
|
@@ -418,16 +435,32 @@ export class CoreNode extends EventEmitter {
|
|
|
418
435
|
}
|
|
419
436
|
if (this.updateType & UpdateType.Global) {
|
|
420
437
|
assertTruthy(this.localTransform);
|
|
421
|
-
this.
|
|
422
|
-
|
|
438
|
+
if (this.parentHasRenderTexture === true && parent?.rtt === true) {
|
|
439
|
+
// we are at the start of the RTT chain, so we need to reset the globalTransform
|
|
440
|
+
// for correct RTT rendering
|
|
423
441
|
this.globalTransform = Matrix3d.identity();
|
|
442
|
+
// Maintain a full scene global transform for bounds detection
|
|
443
|
+
this.sceneGlobalTransform = Matrix3d.copy(parent?.globalTransform || Matrix3d.identity()).multiply(this.localTransform);
|
|
424
444
|
}
|
|
425
|
-
if (
|
|
445
|
+
else if (this.parentHasRenderTexture === true &&
|
|
446
|
+
parent?.rtt === false) {
|
|
447
|
+
// we're part of an RTT chain but our parent is not the main RTT node
|
|
448
|
+
// so we need to propogate the sceneGlobalTransform of the parent
|
|
449
|
+
// to maintain a full scene global transform for bounds detection
|
|
450
|
+
this.sceneGlobalTransform = Matrix3d.copy(parent?.sceneGlobalTransform || this.localTransform).multiply(this.localTransform);
|
|
451
|
+
this.globalTransform = Matrix3d.copy(parent?.globalTransform || this.localTransform, this.globalTransform);
|
|
452
|
+
}
|
|
453
|
+
else {
|
|
454
|
+
this.globalTransform = Matrix3d.copy(parent?.globalTransform || this.localTransform, this.globalTransform);
|
|
455
|
+
}
|
|
456
|
+
if (parent !== null) {
|
|
426
457
|
this.globalTransform.multiply(this.localTransform);
|
|
427
458
|
}
|
|
428
459
|
this.calculateRenderCoords();
|
|
429
460
|
this.updateBoundingRect();
|
|
430
|
-
this.setUpdateType(UpdateType.RenderState |
|
|
461
|
+
this.setUpdateType(UpdateType.RenderState |
|
|
462
|
+
UpdateType.Children |
|
|
463
|
+
UpdateType.RecalcUniforms);
|
|
431
464
|
this.childUpdateType |= UpdateType.Global;
|
|
432
465
|
if (this.clipping === true) {
|
|
433
466
|
this.setUpdateType(UpdateType.Clipping | UpdateType.RenderBounds);
|
|
@@ -438,6 +471,7 @@ export class CoreNode extends EventEmitter {
|
|
|
438
471
|
this.createRenderBounds();
|
|
439
472
|
this.setUpdateType(UpdateType.RenderState);
|
|
440
473
|
this.setUpdateType(UpdateType.Children);
|
|
474
|
+
this.childUpdateType |= UpdateType.RenderBounds;
|
|
441
475
|
}
|
|
442
476
|
if (this.updateType & UpdateType.RenderState) {
|
|
443
477
|
renderState = this.checkRenderBounds();
|
|
@@ -495,8 +529,14 @@ export class CoreNode extends EventEmitter {
|
|
|
495
529
|
}
|
|
496
530
|
if (this.props.strictBounds === true &&
|
|
497
531
|
this.renderState === CoreNodeRenderState.OutOfBounds) {
|
|
532
|
+
this.updateType &= ~UpdateType.RenderBounds; // remove render bounds update
|
|
498
533
|
return;
|
|
499
534
|
}
|
|
535
|
+
if (this.shader?.update !== undefined &&
|
|
536
|
+
(this.updateType & UpdateType.Local ||
|
|
537
|
+
this.updateType & UpdateType.RecalcUniforms)) {
|
|
538
|
+
this.shader.update();
|
|
539
|
+
}
|
|
500
540
|
if (this.updateType & UpdateType.Children && this.children.length > 0) {
|
|
501
541
|
for (let i = 0, length = this.children.length; i < length; i++) {
|
|
502
542
|
const child = this.children[i];
|
|
@@ -589,10 +629,6 @@ export class CoreNode extends EventEmitter {
|
|
|
589
629
|
assertTruthy(this.renderBound);
|
|
590
630
|
assertTruthy(this.strictBound);
|
|
591
631
|
assertTruthy(this.preloadBound);
|
|
592
|
-
// if we are part of a parent render texture, we're always in bounds
|
|
593
|
-
if (this.parentHasRenderTexture === true) {
|
|
594
|
-
return this.getRTTParentRenderState() || CoreNodeRenderState.OutOfBounds;
|
|
595
|
-
}
|
|
596
632
|
if (boundInsideBound(this.renderBound, this.strictBound)) {
|
|
597
633
|
return CoreNodeRenderState.InViewport;
|
|
598
634
|
}
|
|
@@ -611,7 +647,8 @@ export class CoreNode extends EventEmitter {
|
|
|
611
647
|
return CoreNodeRenderState.OutOfBounds;
|
|
612
648
|
}
|
|
613
649
|
updateBoundingRect() {
|
|
614
|
-
const
|
|
650
|
+
const transform = this.sceneGlobalTransform || this.globalTransform;
|
|
651
|
+
const renderCoords = this.sceneRenderCoords || this.renderCoords;
|
|
615
652
|
assertTruthy(transform);
|
|
616
653
|
assertTruthy(renderCoords);
|
|
617
654
|
const { tb, tc } = transform;
|
|
@@ -630,7 +667,7 @@ export class CoreNode extends EventEmitter {
|
|
|
630
667
|
// we have a parent with a valid bound, copy it
|
|
631
668
|
const parentBound = this.parent.strictBound;
|
|
632
669
|
this.strictBound = createBound(parentBound.x1, parentBound.y1, parentBound.x2, parentBound.y2);
|
|
633
|
-
this.preloadBound = createPreloadBounds(this.strictBound, this.
|
|
670
|
+
this.preloadBound = createPreloadBounds(this.strictBound, this.boundsMargin);
|
|
634
671
|
}
|
|
635
672
|
else {
|
|
636
673
|
// no parent or parent does not have a bound, take the stage boundaries
|
|
@@ -652,11 +689,13 @@ export class CoreNode extends EventEmitter {
|
|
|
652
689
|
}
|
|
653
690
|
// clipping is enabled and we are in bounds create our own bounds
|
|
654
691
|
const { x, y, width, height } = this.props;
|
|
655
|
-
|
|
692
|
+
// Pick the global transform if available, otherwise use the local transform
|
|
693
|
+
// global transform is only available if the node in an RTT chain
|
|
694
|
+
const { tx, ty } = this.sceneGlobalTransform || this.globalTransform || {};
|
|
656
695
|
const _x = tx ?? x;
|
|
657
696
|
const _y = ty ?? y;
|
|
658
697
|
this.strictBound = createBound(_x, _y, _x + width, _y + height, this.strictBound);
|
|
659
|
-
this.preloadBound = createPreloadBounds(this.strictBound, this.
|
|
698
|
+
this.preloadBound = createPreloadBounds(this.strictBound, this.boundsMargin);
|
|
660
699
|
}
|
|
661
700
|
updateRenderState(renderState) {
|
|
662
701
|
if (renderState === this.renderState) {
|
|
@@ -753,9 +792,8 @@ export class CoreNode extends EventEmitter {
|
|
|
753
792
|
return this.props.shader !== null;
|
|
754
793
|
}
|
|
755
794
|
calculateRenderCoords() {
|
|
756
|
-
const { width, height
|
|
757
|
-
|
|
758
|
-
const { tx, ty, ta, tb, tc, td } = transform;
|
|
795
|
+
const { width, height } = this;
|
|
796
|
+
const { tx, ty, ta, tb, tc, td } = this.globalTransform;
|
|
759
797
|
if (tb === 0 && tc === 0) {
|
|
760
798
|
const minX = tx;
|
|
761
799
|
const maxX = tx + width * ta;
|
|
@@ -782,6 +820,36 @@ export class CoreNode extends EventEmitter {
|
|
|
782
820
|
//bottom-left
|
|
783
821
|
tx + height * tb, ty + height * td, this.renderCoords);
|
|
784
822
|
}
|
|
823
|
+
if (this.sceneGlobalTransform === undefined) {
|
|
824
|
+
return;
|
|
825
|
+
}
|
|
826
|
+
const { tx: stx, ty: sty, ta: sta, tb: stb, tc: stc, td: std, } = this.sceneGlobalTransform;
|
|
827
|
+
if (stb === 0 && stc === 0) {
|
|
828
|
+
const minX = stx;
|
|
829
|
+
const maxX = stx + width * sta;
|
|
830
|
+
const minY = sty;
|
|
831
|
+
const maxY = sty + height * std;
|
|
832
|
+
this.sceneRenderCoords = RenderCoords.translate(
|
|
833
|
+
//top-left
|
|
834
|
+
minX, minY,
|
|
835
|
+
//top-right
|
|
836
|
+
maxX, minY,
|
|
837
|
+
//bottom-right
|
|
838
|
+
maxX, maxY,
|
|
839
|
+
//bottom-left
|
|
840
|
+
minX, maxY, this.sceneRenderCoords);
|
|
841
|
+
}
|
|
842
|
+
else {
|
|
843
|
+
this.sceneRenderCoords = RenderCoords.translate(
|
|
844
|
+
//top-left
|
|
845
|
+
stx, sty,
|
|
846
|
+
//top-right
|
|
847
|
+
stx + width * sta, sty + width * stc,
|
|
848
|
+
//bottom-right
|
|
849
|
+
stx + width * sta + height * stb, sty + width * stc + height * std,
|
|
850
|
+
//bottom-left
|
|
851
|
+
stx + height * stb, sty + height * std, this.sceneRenderCoords);
|
|
852
|
+
}
|
|
785
853
|
}
|
|
786
854
|
/**
|
|
787
855
|
* This function calculates the clipping rectangle for a node.
|
|
@@ -841,7 +909,7 @@ export class CoreNode extends EventEmitter {
|
|
|
841
909
|
this.scaleRotateTransform = undefined;
|
|
842
910
|
this.localTransform = undefined;
|
|
843
911
|
this.props.texture = null;
|
|
844
|
-
this.props.shader = this.stage.
|
|
912
|
+
this.props.shader = this.stage.defShaderNode;
|
|
845
913
|
while (this.children.length > 0) {
|
|
846
914
|
this.children[0]?.destroy();
|
|
847
915
|
}
|
|
@@ -879,8 +947,7 @@ export class CoreNode extends EventEmitter {
|
|
|
879
947
|
texture: this.texture || this.stage.defaultTexture,
|
|
880
948
|
textureOptions: this.textureOptions,
|
|
881
949
|
zIndex: this.zIndex,
|
|
882
|
-
shader: this.
|
|
883
|
-
shaderProps: this.shader.getResolvedProps(),
|
|
950
|
+
shader: this.props.shader,
|
|
884
951
|
alpha: this.worldAlpha,
|
|
885
952
|
clippingRect: this.clippingRect,
|
|
886
953
|
tx: this.globalTransform.tx,
|
|
@@ -1078,6 +1145,26 @@ export class CoreNode extends EventEmitter {
|
|
|
1078
1145
|
set autosize(value) {
|
|
1079
1146
|
this.props.autosize = value;
|
|
1080
1147
|
}
|
|
1148
|
+
get boundsMargin() {
|
|
1149
|
+
return (this.props.boundsMargin ??
|
|
1150
|
+
this.parent?.boundsMargin ??
|
|
1151
|
+
this.stage.boundsMargin);
|
|
1152
|
+
}
|
|
1153
|
+
set boundsMargin(value) {
|
|
1154
|
+
if (value === this.props.boundsMargin) {
|
|
1155
|
+
return;
|
|
1156
|
+
}
|
|
1157
|
+
if (value === null) {
|
|
1158
|
+
this.props.boundsMargin = value;
|
|
1159
|
+
}
|
|
1160
|
+
else {
|
|
1161
|
+
const bm = Array.isArray(value)
|
|
1162
|
+
? value
|
|
1163
|
+
: [value, value, value, value];
|
|
1164
|
+
this.props.boundsMargin = bm;
|
|
1165
|
+
}
|
|
1166
|
+
this.setUpdateType(UpdateType.RenderBounds);
|
|
1167
|
+
}
|
|
1081
1168
|
get clipping() {
|
|
1082
1169
|
return this.props.clipping;
|
|
1083
1170
|
}
|
|
@@ -1298,11 +1385,17 @@ export class CoreNode extends EventEmitter {
|
|
|
1298
1385
|
get shader() {
|
|
1299
1386
|
return this.props.shader;
|
|
1300
1387
|
}
|
|
1301
|
-
set shader(
|
|
1302
|
-
if (this.props.shader ===
|
|
1388
|
+
set shader(shader) {
|
|
1389
|
+
if (this.props.shader === shader) {
|
|
1390
|
+
return;
|
|
1391
|
+
}
|
|
1392
|
+
if (shader === null) {
|
|
1393
|
+
this.props.shader = this.stage.defShaderNode;
|
|
1394
|
+
this.setUpdateType(UpdateType.IsRenderable);
|
|
1303
1395
|
return;
|
|
1304
1396
|
}
|
|
1305
|
-
this
|
|
1397
|
+
shader.attachNode(this);
|
|
1398
|
+
this.props.shader = shader;
|
|
1306
1399
|
this.setUpdateType(UpdateType.IsRenderable);
|
|
1307
1400
|
}
|
|
1308
1401
|
get src() {
|