@lightningjs/renderer 3.0.0-beta2 → 3.0.0-beta21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +16 -26
- package/dist/exports/canvas.d.ts +1 -1
- package/dist/exports/canvas.js +1 -1
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +2 -5
- package/dist/exports/index.js +1 -5
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/utils.d.ts +2 -1
- package/dist/exports/utils.js +2 -1
- package/dist/exports/utils.js.map +1 -1
- package/dist/exports/webgl.d.ts +2 -1
- package/dist/exports/webgl.js +2 -1
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/common/CommonTypes.d.ts +13 -2
- package/dist/src/core/Autosizer.d.ts +35 -0
- package/dist/src/core/Autosizer.js +196 -0
- package/dist/src/core/Autosizer.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +124 -100
- package/dist/src/core/CoreNode.js +720 -472
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +3 -5
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +74 -87
- package/dist/src/core/CoreTextNode.js +355 -232
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +25 -13
- package/dist/src/core/CoreTextureManager.js +80 -104
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +93 -33
- package/dist/src/core/Stage.js +315 -151
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureError.d.ts +11 -0
- package/dist/src/core/TextureError.js +37 -0
- package/dist/src/core/TextureError.js.map +1 -0
- package/dist/src/core/TextureMemoryManager.d.ts +11 -4
- package/dist/src/core/TextureMemoryManager.js +128 -109
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/Animation.d.ts +21 -0
- package/dist/src/core/animations/Animation.js +194 -0
- package/dist/src/core/animations/Animation.js.map +1 -0
- package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
- package/dist/src/core/animations/CoreAnimation.js +8 -3
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/animations/CoreAnimationController.d.ts +1 -0
- package/dist/src/core/animations/CoreAnimationController.js +11 -4
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/animations/Playback.d.ts +64 -0
- package/dist/src/core/animations/Playback.js +169 -0
- package/dist/src/core/animations/Playback.js.map +1 -0
- package/dist/src/core/animations/Transition.d.ts +27 -0
- package/dist/src/core/animations/Transition.js +52 -0
- package/dist/src/core/animations/Transition.js.map +1 -0
- package/dist/src/core/animations/utils.d.ts +2 -0
- package/dist/src/core/animations/utils.js +136 -0
- package/dist/src/core/animations/utils.js.map +1 -0
- package/dist/src/core/lib/ImageWorker.d.ts +2 -2
- package/dist/src/core/lib/ImageWorker.js +31 -12
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +41 -3
- package/dist/src/core/lib/WebGlContextWrapper.js +105 -28
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/collectionUtils.d.ts +5 -0
- package/dist/src/core/lib/collectionUtils.js +100 -0
- package/dist/src/core/lib/collectionUtils.js.map +1 -0
- package/dist/src/core/lib/colorCache.d.ts +1 -0
- package/dist/src/core/lib/colorCache.js +19 -0
- package/dist/src/core/lib/colorCache.js.map +1 -0
- package/dist/src/core/lib/colorParser.d.ts +21 -0
- package/dist/src/core/lib/colorParser.js +72 -0
- package/dist/src/core/lib/colorParser.js.map +1 -0
- package/dist/src/core/lib/textureCompression.d.ts +14 -2
- package/dist/src/core/lib/textureCompression.js +320 -67
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +8 -2
- package/dist/src/core/lib/utils.js +43 -21
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/lib/validateImageBitmap.d.ts +2 -1
- package/dist/src/core/lib/validateImageBitmap.js +4 -4
- package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
- package/dist/src/core/platform.js +30 -5
- package/dist/src/core/platform.js.map +1 -1
- package/dist/src/core/platforms/Platform.d.ts +42 -0
- package/dist/src/{main-api/IRenderDriver.js → core/platforms/Platform.js} +4 -2
- package/dist/src/core/platforms/Platform.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatform.d.ts +10 -0
- package/dist/src/core/platforms/web/WebPlatform.js +87 -0
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
- package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +5 -30
- package/dist/src/core/renderers/CoreRenderer.js +1 -0
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +12 -1
- package/dist/src/core/renderers/CoreShaderNode.js +26 -0
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +2 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +11 -9
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +4 -5
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +65 -87
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +1 -2
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +3 -5
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
- package/dist/src/core/renderers/canvas/CanvasTexture.js +17 -13
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js +97 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +3 -0
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +18 -6
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +87 -42
- 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 +53 -17
- 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 +21 -50
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +2 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -6
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +13 -0
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
- package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +16 -6
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +102 -52
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +11 -4
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +11 -21
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +168 -152
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +2 -4
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js +1 -4
- package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +9 -7
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +83 -43
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.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 +24 -19
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +1 -0
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +32 -5
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +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/shaders/canvas/Border.d.ts +8 -2
- package/dist/src/core/shaders/canvas/Border.js +64 -25
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- package/dist/src/core/shaders/canvas/HolePunch.js +4 -3
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/canvas/LinearGradient.js +11 -7
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RadialGradient.js +21 -17
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js +3 -3
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +45 -7
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +50 -11
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +10 -7
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/Shadow.js +4 -2
- package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
- package/dist/src/core/shaders/canvas/utils/render.js +31 -18
- package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +12 -2
- package/dist/src/core/shaders/templates/BorderTemplate.js +31 -11
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +3 -3
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.js +1 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/{templates/shaderUtils.d.ts → utils.d.ts} +1 -1
- package/dist/src/core/shaders/{templates/shaderUtils.js → utils.js} +2 -2
- package/dist/src/core/shaders/utils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.js +116 -35
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/Default.js +6 -7
- package/dist/src/core/shaders/webgl/Default.js.map +1 -1
- package/dist/src/core/shaders/webgl/HolePunch.js +4 -3
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +33 -8
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +56 -32
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js +4 -2
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +153 -39
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +158 -43
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +6 -4
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
- package/dist/src/core/shaders/webgl/SdfShader.js +7 -17
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/shaders/webgl/SdfShadowShader.d.ts +9 -0
- package/dist/src/core/shaders/webgl/SdfShadowShader.js +100 -0
- package/dist/src/core/shaders/webgl/SdfShadowShader.js.map +1 -0
- package/dist/src/core/shaders/webgl/Shadow.js +12 -6
- package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js +224 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +157 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +182 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js +391 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js +303 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
- package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +383 -0
- package/dist/src/{main-api/ICoreDriver.js → core/text-rendering/TextRenderer.js} +1 -1
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
- package/dist/src/core/text-rendering/Utils.d.ts +30 -0
- package/dist/src/core/text-rendering/Utils.js +84 -0
- package/dist/src/core/text-rendering/Utils.js.map +1 -0
- 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 +0 -6
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +35 -38
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.d.ts +1 -1
- package/dist/src/core/textures/ColorTexture.js +3 -4
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +11 -4
- package/dist/src/core/textures/ImageTexture.js +31 -40
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
- package/dist/src/core/textures/NoiseTexture.js +8 -8
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/RenderTexture.d.ts +7 -7
- package/dist/src/core/textures/RenderTexture.js +12 -12
- package/dist/src/core/textures/RenderTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +6 -8
- package/dist/src/core/textures/SubTexture.js +19 -37
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +87 -10
- package/dist/src/core/textures/Texture.js +160 -17
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +2 -1
- package/dist/src/core/utils.js +1 -1
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/INode.d.ts +2 -2
- package/dist/src/main-api/Inspector.d.ts +131 -2
- package/dist/src/main-api/Inspector.js +345 -28
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +295 -82
- package/dist/src/main-api/Renderer.js +223 -76
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +1 -6
- package/dist/src/utils.js +2 -9
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/exports/canvas.ts +1 -1
- package/exports/index.ts +2 -8
- package/exports/utils.ts +7 -1
- package/exports/webgl.ts +3 -1
- package/package.json +15 -17
- package/src/common/CommonTypes.ts +18 -2
- package/src/core/Autosizer.ts +224 -0
- package/src/core/CoreNode.test.ts +179 -17
- package/src/core/CoreNode.ts +895 -599
- package/src/core/CoreShaderManager.ts +5 -10
- package/src/core/CoreTextNode.ts +422 -286
- package/src/core/CoreTextureManager.ts +110 -130
- package/src/core/Stage.ts +397 -195
- package/src/core/TextureError.ts +46 -0
- package/src/core/TextureMemoryManager.ts +164 -141
- package/src/core/animations/CoreAnimation.ts +15 -9
- package/src/core/animations/CoreAnimationController.ts +13 -4
- package/src/core/lib/ImageWorker.ts +43 -12
- package/src/core/lib/WebGlContextWrapper.ts +127 -79
- package/src/core/lib/collectionUtils.ts +118 -0
- package/src/core/lib/colorCache.ts +20 -0
- package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +2 -2
- package/src/core/lib/textureCompression.ts +433 -75
- package/src/core/lib/utils.ts +54 -25
- package/src/core/lib/validateImageBitmap.ts +17 -6
- package/src/core/platforms/Platform.ts +83 -0
- package/src/core/platforms/web/WebPlatform.ts +132 -0
- package/src/core/renderers/CoreContextTexture.ts +2 -1
- package/src/core/renderers/CoreRenderer.ts +5 -32
- package/src/core/renderers/CoreShaderNode.ts +38 -3
- package/src/core/renderers/canvas/CanvasRenderer.ts +84 -126
- package/src/core/renderers/canvas/CanvasShaderNode.ts +4 -8
- package/src/core/renderers/canvas/CanvasTexture.ts +22 -18
- package/src/core/renderers/webgl/SdfRenderOp.ts +105 -0
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +18 -15
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -5
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +134 -84
- package/src/core/renderers/webgl/WebGlRenderer.ts +203 -190
- package/src/core/renderers/webgl/WebGlShaderNode.ts +4 -11
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +101 -53
- package/src/core/shaders/canvas/Border.ts +88 -34
- package/src/core/shaders/canvas/HolePunch.ts +5 -11
- package/src/core/shaders/canvas/LinearGradient.ts +14 -10
- package/src/core/shaders/canvas/RadialGradient.ts +24 -41
- package/src/core/shaders/canvas/Rounded.ts +7 -7
- package/src/core/shaders/canvas/RoundedWithBorder.ts +77 -23
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +84 -36
- package/src/core/shaders/canvas/RoundedWithShadow.ts +15 -13
- package/src/core/shaders/canvas/Shadow.ts +7 -5
- package/src/core/shaders/canvas/utils/render.ts +45 -36
- package/src/core/shaders/templates/BorderTemplate.ts +42 -12
- package/src/core/shaders/templates/HolePunchTemplate.ts +5 -5
- package/src/core/shaders/templates/RadialGradientTemplate.ts +10 -8
- package/src/core/shaders/templates/RoundedTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +1 -1
- package/src/core/shaders/templates/ShadowTemplate.ts +1 -1
- package/src/core/shaders/{templates/shaderUtils.ts → utils.ts} +2 -3
- package/src/core/shaders/webgl/Border.ts +116 -39
- package/src/core/shaders/webgl/Default.ts +6 -7
- package/src/core/shaders/webgl/HolePunch.ts +4 -7
- package/src/core/shaders/webgl/LinearGradient.ts +33 -8
- package/src/core/shaders/webgl/RadialGradient.ts +58 -34
- package/src/core/shaders/webgl/Rounded.ts +4 -6
- package/src/core/shaders/webgl/RoundedWithBorder.ts +154 -46
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +159 -52
- package/src/core/shaders/webgl/RoundedWithShadow.ts +6 -8
- package/src/core/shaders/webgl/SdfShader.ts +7 -19
- package/src/core/shaders/webgl/Shadow.ts +12 -6
- package/src/core/text-rendering/CanvasFontHandler.ts +304 -0
- package/src/core/text-rendering/CanvasTextRenderer.ts +255 -0
- package/src/core/text-rendering/SdfFontHandler.ts +591 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +408 -0
- package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
- package/src/core/text-rendering/TextRenderer.ts +444 -0
- package/src/core/text-rendering/Utils.ts +99 -0
- package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +453 -0
- package/src/core/textures/ColorTexture.ts +7 -5
- package/src/core/textures/ImageTexture.ts +78 -66
- package/src/core/textures/NoiseTexture.ts +14 -12
- package/src/core/textures/RenderTexture.ts +18 -16
- package/src/core/textures/SubTexture.ts +25 -46
- package/src/core/textures/Texture.ts +207 -24
- package/src/core/utils.ts +9 -7
- package/src/main-api/INode.ts +4 -3
- package/src/main-api/Inspector.ts +577 -36
- package/src/main-api/Renderer.ts +518 -139
- package/src/utils.ts +10 -10
- package/dist/exports/core-api.d.ts +0 -74
- package/dist/exports/core-api.js +0 -96
- package/dist/exports/core-api.js.map +0 -1
- package/dist/exports/main-api.d.ts +0 -30
- package/dist/exports/main-api.js +0 -45
- package/dist/exports/main-api.js.map +0 -1
- package/dist/src/core/CoreExtension.d.ts +0 -12
- package/dist/src/core/CoreExtension.js +0 -29
- package/dist/src/core/CoreExtension.js.map +0 -1
- package/dist/src/core/CoreStuff.d.ts +0 -1
- package/dist/src/core/CoreStuff.js +0 -138
- package/dist/src/core/CoreStuff.js.map +0 -1
- package/dist/src/core/CoreTexturizer.d.ts +0 -14
- package/dist/src/core/CoreTexturizer.js +0 -47
- package/dist/src/core/CoreTexturizer.js.map +0 -1
- package/dist/src/core/LngNode.d.ts +0 -736
- package/dist/src/core/LngNode.js +0 -1174
- package/dist/src/core/LngNode.js.map +0 -1
- package/dist/src/core/Matrix2DContext.d.ts +0 -15
- package/dist/src/core/Matrix2DContext.js +0 -45
- package/dist/src/core/Matrix2DContext.js.map +0 -1
- package/dist/src/core/ShaderNode.d.ts +0 -10
- package/dist/src/core/ShaderNode.js +0 -30
- package/dist/src/core/ShaderNode.js.map +0 -1
- package/dist/src/core/TextNode.d.ts +0 -103
- package/dist/src/core/TextNode.js +0 -331
- package/dist/src/core/TextNode.js.map +0 -1
- package/dist/src/core/lib/Coords.d.ts +0 -14
- package/dist/src/core/lib/Coords.js +0 -55
- package/dist/src/core/lib/Coords.js.map +0 -1
- package/dist/src/core/lib/glm/common.d.ts +0 -162
- package/dist/src/core/lib/glm/common.js +0 -81
- package/dist/src/core/lib/glm/common.js.map +0 -1
- package/dist/src/core/lib/glm/index.d.ts +0 -11
- package/dist/src/core/lib/glm/index.js +0 -30
- package/dist/src/core/lib/glm/index.js.map +0 -1
- package/dist/src/core/lib/glm/mat2.d.ts +0 -219
- package/dist/src/core/lib/glm/mat2.js +0 -396
- package/dist/src/core/lib/glm/mat2.js.map +0 -1
- package/dist/src/core/lib/glm/mat2d.d.ts +0 -237
- package/dist/src/core/lib/glm/mat2d.js +0 -442
- package/dist/src/core/lib/glm/mat2d.js.map +0 -1
- package/dist/src/core/lib/glm/mat3.d.ts +0 -283
- package/dist/src/core/lib/glm/mat3.js +0 -680
- package/dist/src/core/lib/glm/mat3.js.map +0 -1
- package/dist/src/core/lib/glm/mat4.d.ts +0 -550
- package/dist/src/core/lib/glm/mat4.js +0 -1802
- package/dist/src/core/lib/glm/mat4.js.map +0 -1
- package/dist/src/core/lib/glm/quat.d.ts +0 -363
- package/dist/src/core/lib/glm/quat.js +0 -693
- package/dist/src/core/lib/glm/quat.js.map +0 -1
- package/dist/src/core/lib/glm/quat2.d.ts +0 -356
- package/dist/src/core/lib/glm/quat2.js +0 -754
- package/dist/src/core/lib/glm/quat2.js.map +0 -1
- package/dist/src/core/lib/glm/vec2.d.ts +0 -365
- package/dist/src/core/lib/glm/vec2.js +0 -569
- package/dist/src/core/lib/glm/vec2.js.map +0 -1
- package/dist/src/core/lib/glm/vec3.d.ts +0 -406
- package/dist/src/core/lib/glm/vec3.js +0 -720
- package/dist/src/core/lib/glm/vec3.js.map +0 -1
- package/dist/src/core/lib/glm/vec4.d.ts +0 -330
- package/dist/src/core/lib/glm/vec4.js +0 -608
- package/dist/src/core/lib/glm/vec4.js.map +0 -1
- package/dist/src/core/renderers/CoreShaderManager.d.ts +0 -19
- package/dist/src/core/renderers/CoreShaderManager.js +0 -33
- package/dist/src/core/renderers/CoreShaderManager.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +0 -27
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +0 -82
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +0 -11
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +0 -34
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +0 -1
- package/dist/src/core/scene/Scene.d.ts +0 -59
- package/dist/src/core/scene/Scene.js +0 -106
- package/dist/src/core/scene/Scene.js.map +0 -1
- package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
- package/dist/src/main-api/ICoreDriver.d.ts +0 -27
- package/dist/src/main-api/ICoreDriver.js.map +0 -1
- package/dist/src/main-api/IRenderDriver.d.ts +0 -20
- package/dist/src/main-api/IRenderDriver.js.map +0 -1
- package/dist/src/main-api/IShaderController.d.ts +0 -14
- package/dist/src/main-api/IShaderController.js +0 -30
- package/dist/src/main-api/IShaderController.js.map +0 -1
- package/dist/src/main-api/IShaderNode.d.ts +0 -17
- package/dist/src/main-api/IShaderNode.js +0 -19
- package/dist/src/main-api/IShaderNode.js.map +0 -1
- package/dist/src/main-api/RendererMain.d.ts +0 -375
- package/dist/src/main-api/RendererMain.js +0 -365
- package/dist/src/main-api/RendererMain.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -24
- package/dist/src/render-drivers/main/MainCoreDriver.js +0 -118
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -99
- package/dist/src/render-drivers/main/MainOnlyNode.js +0 -396
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +0 -6
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +0 -15
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +0 -34
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -205
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +0 -17
- package/dist/src/render-drivers/main/MainRenderDriver.js +0 -88
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -90
- package/dist/src/render-drivers/threadx/NodeStruct.js +0 -281
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -39
- package/dist/src/render-drivers/threadx/SharedNode.js +0 -60
- package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -201
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -234
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -20
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -84
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -44
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -154
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +0 -6
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +0 -16
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +0 -15
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +0 -21
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +0 -198
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -177
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -108
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +0 -145
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
- package/dist/src/render-drivers/utils.d.ts +0 -12
- package/dist/src/render-drivers/utils.js +0 -69
- package/dist/src/render-drivers/utils.js.map +0 -1
- package/scripts/please-use-pnpm.js +0 -13
- package/src/core/platform.ts +0 -64
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
- package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -161
- package/src/core/text-rendering/TextRenderingUtils.ts +0 -36
- package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
- package/src/core/text-rendering/TrFontManager.ts +0 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
- package/src/core/text-rendering/font-face-types/utils.ts +0 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -509
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -815
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -840
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +0 -32
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +0 -38
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -408
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +0 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +0 -550
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { TextureOptions } from './CoreTextureManager.js';
|
|
2
|
+
import type { WebGlRenderer } from './renderers/webgl/WebGlRenderer.js';
|
|
3
|
+
import type { WebGlCtxTexture } from './renderers/webgl/WebGlCtxTexture.js';
|
|
4
|
+
import type { BufferCollection } from './renderers/webgl/internal/BufferCollection.js';
|
|
2
5
|
import type { CoreRenderer } from './renderers/CoreRenderer.js';
|
|
3
6
|
import type { Stage } from './Stage.js';
|
|
4
|
-
import { type Texture } from './textures/Texture.js';
|
|
7
|
+
import { type Texture, type TextureCoords, type TextureLoadedEventHandler } from './textures/Texture.js';
|
|
5
8
|
import type { Dimensions } from '../common/CommonTypes.js';
|
|
6
9
|
import { EventEmitter } from '../common/EventEmitter.js';
|
|
7
10
|
import { type Bound, type RectWithValid } from './lib/utils.js';
|
|
@@ -10,6 +13,7 @@ import { RenderCoords } from './lib/RenderCoords.js';
|
|
|
10
13
|
import type { AnimationSettings } from './animations/CoreAnimation.js';
|
|
11
14
|
import type { IAnimationController } from '../common/IAnimationController.js';
|
|
12
15
|
import type { CoreShaderNode } from './renderers/CoreShaderNode.js';
|
|
16
|
+
import { Autosizer } from './Autosizer.js';
|
|
13
17
|
export declare enum CoreNodeRenderState {
|
|
14
18
|
Init = 0,
|
|
15
19
|
OutOfBounds = 2,
|
|
@@ -22,31 +26,23 @@ export declare enum UpdateType {
|
|
|
22
26
|
*/
|
|
23
27
|
Children = 1,
|
|
24
28
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
27
|
-
* @remarks
|
|
28
|
-
* CoreNode Properties Updated:
|
|
29
|
-
* - `scaleRotateTransform`
|
|
30
|
-
*/
|
|
31
|
-
ScaleRotate = 2,
|
|
32
|
-
/**
|
|
33
|
-
* Translate transform update (x/y/width/height/pivot/mount)
|
|
29
|
+
* localTransform
|
|
34
30
|
*
|
|
35
31
|
* @remarks
|
|
36
32
|
* CoreNode Properties Updated:
|
|
37
33
|
* - `localTransform`
|
|
38
34
|
*/
|
|
39
|
-
Local =
|
|
35
|
+
Local = 2,
|
|
40
36
|
/**
|
|
41
|
-
*
|
|
37
|
+
* globalTransform
|
|
42
38
|
*
|
|
43
|
-
* @remarks
|
|
39
|
+
* * @remarks
|
|
44
40
|
* CoreNode Properties Updated:
|
|
45
41
|
* - `globalTransform`
|
|
42
|
+
* - `renderBounds`
|
|
46
43
|
* - `renderCoords`
|
|
47
|
-
* - `renderBound`
|
|
48
44
|
*/
|
|
49
|
-
Global =
|
|
45
|
+
Global = 4,
|
|
50
46
|
/**
|
|
51
47
|
* Clipping rect update
|
|
52
48
|
*
|
|
@@ -54,23 +50,15 @@ export declare enum UpdateType {
|
|
|
54
50
|
* CoreNode Properties Updated:
|
|
55
51
|
* - `clippingRect`
|
|
56
52
|
*/
|
|
57
|
-
Clipping =
|
|
58
|
-
/**
|
|
59
|
-
* Calculated ZIndex update
|
|
60
|
-
*
|
|
61
|
-
* @remarks
|
|
62
|
-
* CoreNode Properties Updated:
|
|
63
|
-
* - `calcZIndex`
|
|
64
|
-
*/
|
|
65
|
-
CalculatedZIndex = 32,
|
|
53
|
+
Clipping = 8,
|
|
66
54
|
/**
|
|
67
|
-
* Z-Index
|
|
55
|
+
* Sort Z-Index Children update
|
|
68
56
|
*
|
|
69
57
|
* @remarks
|
|
70
58
|
* CoreNode Properties Updated:
|
|
71
59
|
* - `children` (sorts children by their `calcZIndex`)
|
|
72
60
|
*/
|
|
73
|
-
|
|
61
|
+
SortZIndexChildren = 16,
|
|
74
62
|
/**
|
|
75
63
|
* Premultiplied Colors update
|
|
76
64
|
*
|
|
@@ -81,7 +69,7 @@ export declare enum UpdateType {
|
|
|
81
69
|
* - `premultipliedColorBl`
|
|
82
70
|
* - `premultipliedColorBr`
|
|
83
71
|
*/
|
|
84
|
-
PremultipliedColors =
|
|
72
|
+
PremultipliedColors = 32,
|
|
85
73
|
/**
|
|
86
74
|
* World Alpha update
|
|
87
75
|
*
|
|
@@ -89,7 +77,7 @@ export declare enum UpdateType {
|
|
|
89
77
|
* CoreNode Properties Updated:
|
|
90
78
|
* - `worldAlpha` = `parent.worldAlpha` * `alpha`
|
|
91
79
|
*/
|
|
92
|
-
WorldAlpha =
|
|
80
|
+
WorldAlpha = 64,
|
|
93
81
|
/**
|
|
94
82
|
* Render State update
|
|
95
83
|
*
|
|
@@ -97,7 +85,7 @@ export declare enum UpdateType {
|
|
|
97
85
|
* CoreNode Properties Updated:
|
|
98
86
|
* - `renderState`
|
|
99
87
|
*/
|
|
100
|
-
RenderState =
|
|
88
|
+
RenderState = 128,
|
|
101
89
|
/**
|
|
102
90
|
* Is Renderable update
|
|
103
91
|
*
|
|
@@ -105,19 +93,27 @@ export declare enum UpdateType {
|
|
|
105
93
|
* CoreNode Properties Updated:
|
|
106
94
|
* - `isRenderable`
|
|
107
95
|
*/
|
|
108
|
-
IsRenderable =
|
|
96
|
+
IsRenderable = 256,
|
|
109
97
|
/**
|
|
110
98
|
* Render Texture update
|
|
111
99
|
*/
|
|
112
|
-
RenderTexture =
|
|
100
|
+
RenderTexture = 512,
|
|
113
101
|
/**
|
|
114
102
|
* Track if parent has render texture
|
|
115
103
|
*/
|
|
116
|
-
ParentRenderTexture =
|
|
104
|
+
ParentRenderTexture = 1024,
|
|
117
105
|
/**
|
|
118
106
|
* Render Bounds update
|
|
119
107
|
*/
|
|
120
|
-
RenderBounds =
|
|
108
|
+
RenderBounds = 2048,
|
|
109
|
+
/**
|
|
110
|
+
* RecalcUniforms
|
|
111
|
+
*/
|
|
112
|
+
RecalcUniforms = 4096,
|
|
113
|
+
/**
|
|
114
|
+
* Autosize update
|
|
115
|
+
*/
|
|
116
|
+
Autosize = 8192,
|
|
121
117
|
/**
|
|
122
118
|
* None
|
|
123
119
|
*/
|
|
@@ -125,11 +121,7 @@ export declare enum UpdateType {
|
|
|
125
121
|
/**
|
|
126
122
|
* All
|
|
127
123
|
*/
|
|
128
|
-
All =
|
|
129
|
-
/**
|
|
130
|
-
* RecalcUniforms
|
|
131
|
-
*/
|
|
132
|
-
RecalcUniforms = 16384
|
|
124
|
+
All = 16383
|
|
133
125
|
}
|
|
134
126
|
/**
|
|
135
127
|
* A custom data map which can be stored on an CoreNode
|
|
@@ -168,16 +160,18 @@ export interface CoreNodeProps {
|
|
|
168
160
|
y: number;
|
|
169
161
|
/**
|
|
170
162
|
* The width of the Node.
|
|
163
|
+
* @warning This will be deprecated in favor of `w` and `h` properties in the future.
|
|
171
164
|
*
|
|
172
165
|
* @default `0`
|
|
173
166
|
*/
|
|
174
|
-
|
|
167
|
+
w: number;
|
|
175
168
|
/**
|
|
176
169
|
* The height of the Node.
|
|
170
|
+
* @warning This will be deprecated in favor of `w` and `h` properties in the future.
|
|
177
171
|
*
|
|
178
172
|
* @default `0`
|
|
179
173
|
*/
|
|
180
|
-
|
|
174
|
+
h: number;
|
|
181
175
|
/**
|
|
182
176
|
* The alpha opacity of the Node.
|
|
183
177
|
*
|
|
@@ -189,14 +183,35 @@ export interface CoreNodeProps {
|
|
|
189
183
|
*/
|
|
190
184
|
alpha: number;
|
|
191
185
|
/**
|
|
192
|
-
* Autosize
|
|
186
|
+
* Autosize
|
|
193
187
|
*
|
|
194
188
|
* @remarks
|
|
195
|
-
* When enabled,
|
|
196
|
-
*
|
|
189
|
+
* When enabled, the Node automatically resizes based on its content
|
|
190
|
+
*
|
|
191
|
+
* **Texture Autosize Mode:**
|
|
192
|
+
* - When the Node has a texture, it automatically resizes to match the
|
|
193
|
+
* texture's dimensions when the texture loads
|
|
194
|
+
* - This ensures images display at their natural size without manual sizing
|
|
195
|
+
* - Text Nodes always use this mode regardless of this setting
|
|
196
|
+
*
|
|
197
|
+
* **Children Autosize Mode:**
|
|
198
|
+
* - When the Node has no texture but contains children, it automatically
|
|
199
|
+
* resizes to encompass all children's bounds
|
|
200
|
+
* - Calculates the bounding box that contains all child positions, dimensions,
|
|
201
|
+
* and transforms (scale, rotation, mount/pivot points)
|
|
202
|
+
* - Creates container behavior where the parent grows to fit its content
|
|
203
|
+
* - Updates dynamically as children are added, removed, or transformed
|
|
204
|
+
*
|
|
205
|
+
* **Mode Selection Logic:**
|
|
206
|
+
* - Texture mode takes precedence over children mode
|
|
207
|
+
* - Mode switches automatically when texture is added/removed
|
|
208
|
+
* - If no texture and no children, autosize has no effect
|
|
209
|
+
*
|
|
210
|
+
* **Performance:**
|
|
211
|
+
* - Children mode uses efficient transform caching and differential updates
|
|
212
|
+
* - Only recalculates when child transforms actually change
|
|
213
|
+
* - Minimal memory allocation with factory function patterns
|
|
197
214
|
*
|
|
198
|
-
* Text Nodes are always autosized based on their text content regardless
|
|
199
|
-
* of this mode setting.
|
|
200
215
|
*
|
|
201
216
|
* @default `false`
|
|
202
217
|
*/
|
|
@@ -324,7 +339,11 @@ export interface CoreNodeProps {
|
|
|
324
339
|
* The Node's z-index.
|
|
325
340
|
*
|
|
326
341
|
* @remarks
|
|
327
|
-
*
|
|
342
|
+
* Max z-index of children under the same parent determines which child
|
|
343
|
+
* is rendered on top. Higher z-index means the Node is rendered on top of
|
|
344
|
+
* children with lower z-index.
|
|
345
|
+
*
|
|
346
|
+
* Max value is 1000 and min value is -1000. Values outside of this range will be clamped.
|
|
328
347
|
*/
|
|
329
348
|
zIndex: number;
|
|
330
349
|
/**
|
|
@@ -351,15 +370,6 @@ export interface CoreNodeProps {
|
|
|
351
370
|
* {@link TextRenderer} and should not be set explicitly.
|
|
352
371
|
*/
|
|
353
372
|
texture: Texture | null;
|
|
354
|
-
/**
|
|
355
|
-
* [Deprecated]: Prevents the texture from being cleaned up when the Node is removed
|
|
356
|
-
*
|
|
357
|
-
* @remarks
|
|
358
|
-
* Please use the `preventCleanup` property on {@link TextureOptions} instead.
|
|
359
|
-
*
|
|
360
|
-
* @default false
|
|
361
|
-
*/
|
|
362
|
-
preventCleanup: boolean;
|
|
363
373
|
/**
|
|
364
374
|
* Options to associate with the Node's Texture
|
|
365
375
|
*/
|
|
@@ -388,7 +398,6 @@ export interface CoreNodeProps {
|
|
|
388
398
|
* settings being defaults)
|
|
389
399
|
*/
|
|
390
400
|
src: string | null;
|
|
391
|
-
zIndexLocked: number;
|
|
392
401
|
/**
|
|
393
402
|
* Scale to render the Node at
|
|
394
403
|
*
|
|
@@ -605,20 +614,11 @@ export interface CoreNodeProps {
|
|
|
605
614
|
*/
|
|
606
615
|
srcY?: number;
|
|
607
616
|
/**
|
|
608
|
-
*
|
|
609
|
-
*
|
|
610
|
-
* @remarks
|
|
611
|
-
* When enabled out of bound nodes, i.e. nodes that are out of the visible area, will
|
|
612
|
-
* **NOT** have their children processed and renderer anymore. This means the children of a out of bound
|
|
613
|
-
* node will not receive update processing such as positioning updates and will not be drawn on screen.
|
|
614
|
-
* As such the rest of the branch of the update tree that sits below this node will not be processed anymore
|
|
615
|
-
*
|
|
616
|
-
* This is a big performance gain but may be disabled in cases where the width of the parent node is
|
|
617
|
-
* unknown and the render must process the child nodes regardless of the viewport status of the parent node
|
|
618
|
-
*
|
|
617
|
+
* Mark the node as interactive so we can perform hit tests on it
|
|
618
|
+
* when pointer events are registered.
|
|
619
619
|
* @default false
|
|
620
620
|
*/
|
|
621
|
-
|
|
621
|
+
interactive?: boolean;
|
|
622
622
|
}
|
|
623
623
|
/**
|
|
624
624
|
* Grab all the number properties of type T
|
|
@@ -648,11 +648,20 @@ export declare class CoreNode extends EventEmitter {
|
|
|
648
648
|
readonly children: CoreNode[];
|
|
649
649
|
protected _id: number;
|
|
650
650
|
readonly props: CoreNodeProps;
|
|
651
|
+
readonly isCoreNode: true;
|
|
652
|
+
renderOpBufferIdx: number;
|
|
653
|
+
numQuads: number;
|
|
654
|
+
renderOpTextures: WebGlCtxTexture[];
|
|
651
655
|
private hasShaderUpdater;
|
|
656
|
+
hasShaderTimeFn: boolean;
|
|
657
|
+
private hasColorProps;
|
|
658
|
+
private zIndexMin;
|
|
659
|
+
private zIndexMax;
|
|
660
|
+
previousZIndex: number;
|
|
661
|
+
zIndexSortList: CoreNode[];
|
|
652
662
|
updateType: UpdateType;
|
|
653
663
|
childUpdateType: UpdateType;
|
|
654
664
|
globalTransform?: Matrix3d;
|
|
655
|
-
scaleRotateTransform?: Matrix3d;
|
|
656
665
|
localTransform?: Matrix3d;
|
|
657
666
|
sceneGlobalTransform?: Matrix3d;
|
|
658
667
|
renderCoords?: RenderCoords;
|
|
@@ -661,6 +670,8 @@ export declare class CoreNode extends EventEmitter {
|
|
|
661
670
|
strictBound?: Bound;
|
|
662
671
|
preloadBound?: Bound;
|
|
663
672
|
clippingRect: RectWithValid;
|
|
673
|
+
textureCoords?: TextureCoords;
|
|
674
|
+
updateShaderUniforms: boolean;
|
|
664
675
|
isRenderable: boolean;
|
|
665
676
|
renderState: CoreNodeRenderState;
|
|
666
677
|
worldAlpha: number;
|
|
@@ -672,11 +683,25 @@ export declare class CoreNode extends EventEmitter {
|
|
|
672
683
|
hasRTTupdates: boolean;
|
|
673
684
|
parentHasRenderTexture: boolean;
|
|
674
685
|
rttParent: CoreNode | null;
|
|
686
|
+
/**
|
|
687
|
+
* only used when rtt = true
|
|
688
|
+
*/
|
|
689
|
+
framebufferDimensions: Dimensions | null;
|
|
690
|
+
/**Autosize properties */
|
|
691
|
+
autosizer: Autosizer | null;
|
|
692
|
+
parentAutosizer: Autosizer | null;
|
|
693
|
+
destroyed: boolean;
|
|
675
694
|
constructor(stage: Stage, props: CoreNodeProps);
|
|
676
695
|
loadTexture(): void;
|
|
696
|
+
/**
|
|
697
|
+
* Task for queueMicrotask to loadTexture
|
|
698
|
+
*
|
|
699
|
+
* @remarks
|
|
700
|
+
* This method is called in a microtask to release the texture.
|
|
701
|
+
*/
|
|
702
|
+
private loadTextureTask;
|
|
677
703
|
unloadTexture(): void;
|
|
678
|
-
|
|
679
|
-
private onTextureLoaded;
|
|
704
|
+
protected onTextureLoaded: TextureLoadedEventHandler;
|
|
680
705
|
private onTextureFailed;
|
|
681
706
|
private onTextureFreed;
|
|
682
707
|
/**
|
|
@@ -688,8 +713,6 @@ export declare class CoreNode extends EventEmitter {
|
|
|
688
713
|
* @param type
|
|
689
714
|
*/
|
|
690
715
|
setUpdateType(type: UpdateType): void;
|
|
691
|
-
sortChildren(): void;
|
|
692
|
-
updateScaleRotateTransform(): void;
|
|
693
716
|
updateLocalTransform(): void;
|
|
694
717
|
/**
|
|
695
718
|
* @todo: test for correct calculation flag
|
|
@@ -697,21 +720,20 @@ export declare class CoreNode extends EventEmitter {
|
|
|
697
720
|
*/
|
|
698
721
|
update(delta: number, parentClippingRect: RectWithValid): void;
|
|
699
722
|
private findParentRTTNode;
|
|
700
|
-
private getRTTParentRenderState;
|
|
701
723
|
private notifyChildrenRTTOfUpdate;
|
|
702
|
-
|
|
724
|
+
protected notifyParentRTTOfUpdate(): void;
|
|
703
725
|
checkRenderBounds(): CoreNodeRenderState;
|
|
704
726
|
updateBoundingRect(): void;
|
|
705
727
|
createRenderBounds(): void;
|
|
706
728
|
updateRenderState(renderState: CoreNodeRenderState): void;
|
|
707
|
-
/**
|
|
708
|
-
* Updates the `isRenderable` property based on various conditions.
|
|
709
|
-
*/
|
|
710
|
-
updateIsRenderable(): void;
|
|
711
729
|
/**
|
|
712
730
|
* Checks if the node is renderable based on world alpha, dimensions and out of bounds status.
|
|
713
731
|
*/
|
|
714
732
|
checkBasicRenderability(): boolean;
|
|
733
|
+
/**
|
|
734
|
+
* Updates the `isRenderable` property based on various conditions.
|
|
735
|
+
*/
|
|
736
|
+
updateIsRenderable(): void;
|
|
715
737
|
/**
|
|
716
738
|
* Sets the renderable state and triggers changes if necessary.
|
|
717
739
|
* @param isRenderable - The new renderable state
|
|
@@ -729,11 +751,6 @@ export declare class CoreNode extends EventEmitter {
|
|
|
729
751
|
* Checks if the node has dimensions (width/height)
|
|
730
752
|
*/
|
|
731
753
|
hasDimensions(): boolean;
|
|
732
|
-
/**
|
|
733
|
-
* Checks if the node has any color properties set.
|
|
734
|
-
*/
|
|
735
|
-
hasColorProperties(): boolean;
|
|
736
|
-
hasShader(): boolean;
|
|
737
754
|
calculateRenderCoords(): void;
|
|
738
755
|
/**
|
|
739
756
|
* This function calculates the clipping rectangle for a node.
|
|
@@ -744,12 +761,17 @@ export declare class CoreNode extends EventEmitter {
|
|
|
744
761
|
* Finally, the node's parentClippingRect and clippingRect properties are updated.
|
|
745
762
|
*/
|
|
746
763
|
calculateClippingRect(parentClippingRect: RectWithValid): void;
|
|
747
|
-
calculateZIndex(): void;
|
|
748
764
|
/**
|
|
749
765
|
* Destroy the node and cleanup all resources
|
|
750
766
|
*/
|
|
751
767
|
destroy(): void;
|
|
752
768
|
renderQuads(renderer: CoreRenderer): void;
|
|
769
|
+
get quadBufferCollection(): BufferCollection;
|
|
770
|
+
get time(): number;
|
|
771
|
+
getTimerValue(): number;
|
|
772
|
+
sortChildren(): void;
|
|
773
|
+
removeChild(node: CoreNode, targetParent?: CoreNode | null): void;
|
|
774
|
+
addChild(node: CoreNode, previousParent?: CoreNode | null): void;
|
|
753
775
|
get id(): number;
|
|
754
776
|
get data(): CustomDataMap | undefined;
|
|
755
777
|
set data(d: CustomDataMap | undefined);
|
|
@@ -759,10 +781,10 @@ export declare class CoreNode extends EventEmitter {
|
|
|
759
781
|
get absY(): number;
|
|
760
782
|
get y(): number;
|
|
761
783
|
set y(value: number);
|
|
762
|
-
get
|
|
763
|
-
set
|
|
764
|
-
get
|
|
765
|
-
set
|
|
784
|
+
get w(): number;
|
|
785
|
+
set w(value: number);
|
|
786
|
+
get h(): number;
|
|
787
|
+
set h(value: number);
|
|
766
788
|
get scale(): number;
|
|
767
789
|
set scale(value: number);
|
|
768
790
|
get scaleX(): number;
|
|
@@ -809,14 +831,10 @@ export declare class CoreNode extends EventEmitter {
|
|
|
809
831
|
set colorBl(value: number);
|
|
810
832
|
get colorBr(): number;
|
|
811
833
|
set colorBr(value: number);
|
|
812
|
-
get zIndexLocked(): number;
|
|
813
|
-
set zIndexLocked(value: number);
|
|
814
834
|
get zIndex(): number;
|
|
815
835
|
set zIndex(value: number);
|
|
816
836
|
get parent(): CoreNode | null;
|
|
817
837
|
set parent(newParent: CoreNode | null);
|
|
818
|
-
get preventCleanup(): boolean;
|
|
819
|
-
set preventCleanup(value: boolean);
|
|
820
838
|
get rtt(): boolean;
|
|
821
839
|
set rtt(value: boolean);
|
|
822
840
|
private initRenderTexture;
|
|
@@ -839,12 +857,9 @@ export declare class CoreNode extends EventEmitter {
|
|
|
839
857
|
get srcY(): number | undefined;
|
|
840
858
|
set srcY(value: number);
|
|
841
859
|
/**
|
|
842
|
-
* Returns the framebuffer dimensions of the
|
|
843
|
-
* If the node has a render texture, the dimensions are the same as the node's dimensions.
|
|
844
|
-
* If the node does not have a render texture, the dimensions are inherited from the parent.
|
|
845
|
-
* If the node parent has a render texture and the node is a render texture, the nodes dimensions are used.
|
|
860
|
+
* Returns the framebuffer dimensions of the RTT parent
|
|
846
861
|
*/
|
|
847
|
-
get
|
|
862
|
+
get parentFramebufferDimensions(): Dimensions | null;
|
|
848
863
|
/**
|
|
849
864
|
* Returns the parent render texture node if it exists.
|
|
850
865
|
*/
|
|
@@ -853,9 +868,18 @@ export declare class CoreNode extends EventEmitter {
|
|
|
853
868
|
set texture(value: Texture | null);
|
|
854
869
|
set textureOptions(value: TextureOptions);
|
|
855
870
|
get textureOptions(): TextureOptions;
|
|
856
|
-
|
|
857
|
-
|
|
871
|
+
set interactive(value: boolean | undefined);
|
|
872
|
+
get interactive(): boolean | undefined;
|
|
873
|
+
setRTTUpdates(type: number): void;
|
|
858
874
|
animate(props: Partial<CoreNodeAnimateProps>, settings: Partial<AnimationSettings>): IAnimationController;
|
|
859
875
|
flush(): void;
|
|
876
|
+
/**
|
|
877
|
+
* Add a texture to the current RenderOp.
|
|
878
|
+
*
|
|
879
|
+
* @param texture
|
|
880
|
+
* @returns Assigned Texture Index of the texture in the render op
|
|
881
|
+
*/
|
|
882
|
+
addTexture(texture: WebGlCtxTexture): number;
|
|
883
|
+
draw(renderer: WebGlRenderer): void;
|
|
860
884
|
}
|
|
861
885
|
export {};
|