@lightningjs/renderer 3.0.0-beta11 → 3.0.0-beta13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/src/common/CommonTypes.d.ts +2 -2
- package/dist/src/core/CoreNode.d.ts +10 -25
- package/dist/src/core/CoreNode.js +77 -81
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.js +10 -10
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/Stage.d.ts +0 -1
- package/dist/src/core/Stage.js +5 -10
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.js +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/textureCompression.js +4 -4
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.js +2 -2
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.js +5 -5
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +5 -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.js +21 -21
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +13 -13
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +2 -2
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/shaders/canvas/Border.js +4 -4
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- package/dist/src/core/shaders/canvas/HolePunch.js +3 -3
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/canvas/LinearGradient.js +2 -2
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RadialGradient.js +4 -4
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +3 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +3 -3
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.js +10 -10
- 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 +2 -2
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +2 -2
- 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/webgl/Border.js +1 -1
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/HolePunch.js +2 -2
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +2 -2
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +2 -2
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +2 -2
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/text-rendering/sdf/Utils.js +2 -2
- package/dist/src/core/text-rendering/sdf/Utils.js.map +1 -1
- package/dist/src/core/textures/ColorTexture.js +1 -1
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +2 -2
- package/dist/src/core/textures/ImageTexture.js +11 -11
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/NoiseTexture.d.ts +2 -2
- package/dist/src/core/textures/NoiseTexture.js +6 -6
- package/dist/src/core/textures/NoiseTexture.js.map +1 -1
- package/dist/src/core/textures/RenderTexture.d.ts +6 -6
- package/dist/src/core/textures/RenderTexture.js +10 -10
- package/dist/src/core/textures/RenderTexture.js.map +1 -1
- package/dist/src/core/textures/SubTexture.d.ts +4 -4
- package/dist/src/core/textures/SubTexture.js +8 -8
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +3 -4
- package/dist/src/core/textures/Texture.js +4 -4
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/Inspector.js +7 -7
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +0 -10
- package/dist/src/main-api/Renderer.js +2 -4
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/common/CommonTypes.ts +2 -2
- package/src/core/CoreNode.test.ts +15 -14
- package/src/core/CoreNode.ts +91 -118
- package/src/core/CoreTextNode.ts +10 -10
- package/src/core/Stage.ts +5 -10
- package/src/core/lib/WebGlContextWrapper.ts +1 -1
- package/src/core/lib/textureCompression.ts +4 -4
- package/src/core/renderers/CoreShaderNode.ts +2 -2
- package/src/core/renderers/canvas/CanvasRenderer.ts +2 -2
- package/src/core/renderers/canvas/CanvasTexture.ts +5 -5
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +5 -15
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -5
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +21 -30
- package/src/core/renderers/webgl/WebGlRenderOp.ts +1 -1
- package/src/core/renderers/webgl/WebGlRenderer.ts +13 -15
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +2 -2
- package/src/core/shaders/canvas/Border.ts +4 -4
- package/src/core/shaders/canvas/HolePunch.ts +4 -11
- package/src/core/shaders/canvas/LinearGradient.ts +2 -2
- package/src/core/shaders/canvas/RadialGradient.ts +4 -4
- package/src/core/shaders/canvas/Rounded.ts +2 -2
- package/src/core/shaders/canvas/RoundedWithBorder.ts +4 -6
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +4 -6
- package/src/core/shaders/canvas/RoundedWithShadow.ts +2 -2
- package/src/core/shaders/templates/BorderTemplate.ts +11 -11
- package/src/core/shaders/templates/HolePunchTemplate.ts +4 -4
- package/src/core/shaders/templates/RadialGradientTemplate.ts +4 -4
- package/src/core/shaders/webgl/Border.ts +1 -1
- package/src/core/shaders/webgl/HolePunch.ts +2 -2
- package/src/core/shaders/webgl/RadialGradient.ts +3 -3
- package/src/core/shaders/webgl/Rounded.ts +1 -5
- package/src/core/shaders/webgl/RoundedWithBorder.ts +2 -6
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +2 -2
- package/src/core/shaders/webgl/RoundedWithShadow.ts +1 -5
- package/src/core/text-rendering/sdf/Utils.ts +2 -2
- package/src/core/textures/ColorTexture.ts +1 -1
- package/src/core/textures/ImageTexture.ts +15 -15
- package/src/core/textures/NoiseTexture.ts +8 -8
- package/src/core/textures/RenderTexture.ts +12 -12
- package/src/core/textures/SubTexture.ts +10 -10
- package/src/core/textures/Texture.ts +7 -7
- package/src/main-api/Inspector.ts +8 -8
- package/src/main-api/Renderer.ts +2 -15
- package/dist/src/core/platform.d.ts +0 -10
- package/dist/src/core/platform.js +0 -81
- package/dist/src/core/platform.js.map +0 -1
- package/dist/src/core/renderers/CoreShader.d.ts +0 -9
- package/dist/src/core/renderers/CoreShader.js +0 -28
- package/dist/src/core/renderers/CoreShader.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +0 -33
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -16
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -124
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -14
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -138
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -19
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -58
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -58
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -56
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -239
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -616
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -83
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -233
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
- package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
- package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
- package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
- package/dist/src/core/shaders/webgl/Spinner.d.ts +0 -1
- package/dist/src/core/shaders/webgl/Spinner.js +0 -2
- package/dist/src/core/shaders/webgl/Spinner.js.map +0 -1
- package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +0 -12
- package/dist/src/core/text-rendering/TextRenderingUtils.js +0 -14
- package/dist/src/core/text-rendering/TextRenderingUtils.js.map +0 -1
- package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +0 -72
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js +0 -217
- package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +0 -1
- package/dist/src/core/text-rendering/TrFontManager.d.ts +0 -26
- package/dist/src/core/text-rendering/TrFontManager.js +0 -131
- package/dist/src/core/text-rendering/TrFontManager.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +0 -39
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +0 -125
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +0 -103
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +0 -21
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +0 -62
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +0 -88
- package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -118
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -63
- package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +0 -14
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -66
- package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +0 -1
- package/dist/src/core/text-rendering/font-face-types/utils.d.ts +0 -1
- package/dist/src/core/text-rendering/font-face-types/utils.js +0 -38
- package/dist/src/core/text-rendering/font-face-types/utils.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +0 -59
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -397
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -120
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -551
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +0 -92
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -607
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +0 -12
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +0 -61
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +0 -33
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +0 -52
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +0 -13
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +0 -32
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +0 -23
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +0 -84
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +0 -4
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +0 -34
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +0 -20
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -308
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +0 -10
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +0 -40
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +0 -26
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +0 -70
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +0 -16
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +0 -39
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +0 -373
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +0 -12
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +0 -61
- package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +0 -1
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +0 -45
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +0 -69
- package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +0 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
- package/dist/src/main-api/DynamicShaderController.js +0 -58
- package/dist/src/main-api/DynamicShaderController.js.map +0 -1
- package/dist/src/main-api/ShaderController.d.ts +0 -31
- package/dist/src/main-api/ShaderController.js +0 -37
- package/dist/src/main-api/ShaderController.js.map +0 -1
package/src/core/CoreNode.ts
CHANGED
|
@@ -231,16 +231,18 @@ export interface CoreNodeProps {
|
|
|
231
231
|
y: number;
|
|
232
232
|
/**
|
|
233
233
|
* The width of the Node.
|
|
234
|
+
* @warning This will be deprecated in favor of `w` and `h` properties in the future.
|
|
234
235
|
*
|
|
235
236
|
* @default `0`
|
|
236
237
|
*/
|
|
237
|
-
|
|
238
|
+
w: number;
|
|
238
239
|
/**
|
|
239
240
|
* The height of the Node.
|
|
241
|
+
* @warning This will be deprecated in favor of `w` and `h` properties in the future.
|
|
240
242
|
*
|
|
241
243
|
* @default `0`
|
|
242
244
|
*/
|
|
243
|
-
|
|
245
|
+
h: number;
|
|
244
246
|
/**
|
|
245
247
|
* The alpha opacity of the Node.
|
|
246
248
|
*
|
|
@@ -670,21 +672,6 @@ export interface CoreNodeProps {
|
|
|
670
672
|
* @default false
|
|
671
673
|
*/
|
|
672
674
|
interactive?: boolean;
|
|
673
|
-
/**
|
|
674
|
-
* By enabling Strict bounds the renderer will not process & render child nodes of a node that is out of the visible area
|
|
675
|
-
*
|
|
676
|
-
* @remarks
|
|
677
|
-
* When enabled out of bound nodes, i.e. nodes that are out of the visible area, will
|
|
678
|
-
* **NOT** have their children processed and renderer anymore. This means the children of a out of bound
|
|
679
|
-
* node will not receive update processing such as positioning updates and will not be drawn on screen.
|
|
680
|
-
* As such the rest of the branch of the update tree that sits below this node will not be processed anymore
|
|
681
|
-
*
|
|
682
|
-
* This is a big performance gain but may be disabled in cases where the width of the parent node is
|
|
683
|
-
* unknown and the render must process the child nodes regardless of the viewport status of the parent node
|
|
684
|
-
*
|
|
685
|
-
* @default true
|
|
686
|
-
*/
|
|
687
|
-
strictBounds: boolean;
|
|
688
675
|
}
|
|
689
676
|
|
|
690
677
|
/**
|
|
@@ -740,7 +727,8 @@ export class CoreNode extends EventEmitter {
|
|
|
740
727
|
valid: false,
|
|
741
728
|
};
|
|
742
729
|
public textureCoords?: TextureCoords;
|
|
743
|
-
public updateTextureCoords
|
|
730
|
+
public updateTextureCoords: boolean = false;
|
|
731
|
+
public updateShaderUniforms: boolean = false;
|
|
744
732
|
public isRenderable = false;
|
|
745
733
|
public renderState: CoreNodeRenderState = CoreNodeRenderState.Init;
|
|
746
734
|
|
|
@@ -768,8 +756,8 @@ export class CoreNode extends EventEmitter {
|
|
|
768
756
|
// Fast-path assign only known keys
|
|
769
757
|
p.x = props.x;
|
|
770
758
|
p.y = props.y;
|
|
771
|
-
p.
|
|
772
|
-
p.
|
|
759
|
+
p.w = props.w;
|
|
760
|
+
p.h = props.h;
|
|
773
761
|
p.alpha = props.alpha;
|
|
774
762
|
p.autosize = props.autosize;
|
|
775
763
|
p.clipping = props.clipping;
|
|
@@ -793,7 +781,6 @@ export class CoreNode extends EventEmitter {
|
|
|
793
781
|
p.mountY = props.mountY;
|
|
794
782
|
p.mount = props.mount;
|
|
795
783
|
p.pivot = props.pivot;
|
|
796
|
-
p.strictBounds = props.strictBounds;
|
|
797
784
|
|
|
798
785
|
p.zIndex = props.zIndex;
|
|
799
786
|
p.zIndexLocked = props.zIndexLocked;
|
|
@@ -888,15 +875,12 @@ export class CoreNode extends EventEmitter {
|
|
|
888
875
|
texture.setRenderableOwner(this, false);
|
|
889
876
|
}
|
|
890
877
|
|
|
891
|
-
|
|
892
|
-
if (this.autosize) {
|
|
893
|
-
this.
|
|
894
|
-
this.
|
|
878
|
+
protected onTextureLoaded: TextureLoadedEventHandler = (_, dimensions) => {
|
|
879
|
+
if (this.autosize === true) {
|
|
880
|
+
this.w = dimensions.w;
|
|
881
|
+
this.h = dimensions.h;
|
|
895
882
|
}
|
|
896
|
-
}
|
|
897
883
|
|
|
898
|
-
protected onTextureLoaded: TextureLoadedEventHandler = (_, dimensions) => {
|
|
899
|
-
this.autosizeNode(dimensions);
|
|
900
884
|
this.setUpdateType(UpdateType.IsRenderable);
|
|
901
885
|
|
|
902
886
|
// Texture was loaded. In case the RAF loop has already stopped, we request
|
|
@@ -909,7 +893,7 @@ export class CoreNode extends EventEmitter {
|
|
|
909
893
|
}
|
|
910
894
|
|
|
911
895
|
// ignore 1x1 pixel textures
|
|
912
|
-
if (dimensions.
|
|
896
|
+
if (dimensions.w > 1 && dimensions.h > 1) {
|
|
913
897
|
this.emit('loaded', {
|
|
914
898
|
type: 'texture',
|
|
915
899
|
dimensions,
|
|
@@ -979,21 +963,21 @@ export class CoreNode extends EventEmitter {
|
|
|
979
963
|
|
|
980
964
|
updateLocalTransform() {
|
|
981
965
|
const p = this.props;
|
|
982
|
-
const { x, y,
|
|
983
|
-
const mountTranslateX = p.mountX *
|
|
984
|
-
const mountTranslateY = p.mountY *
|
|
966
|
+
const { x, y, w, h } = p;
|
|
967
|
+
const mountTranslateX = p.mountX * w;
|
|
968
|
+
const mountTranslateY = p.mountY * h;
|
|
985
969
|
|
|
986
970
|
if (p.rotation !== 0 || p.scaleX !== 1 || p.scaleY !== 1) {
|
|
987
|
-
const
|
|
988
|
-
const
|
|
971
|
+
const scaleRotate = Matrix3d.rotate(p.rotation).scale(p.scaleX, p.scaleY);
|
|
972
|
+
const pivotTranslateX = p.pivotX * w;
|
|
973
|
+
const pivotTranslateY = p.pivotY * h;
|
|
989
974
|
|
|
990
975
|
this.localTransform = Matrix3d.translate(
|
|
991
976
|
x - mountTranslateX + pivotTranslateX,
|
|
992
977
|
y - mountTranslateY + pivotTranslateY,
|
|
993
978
|
this.localTransform,
|
|
994
979
|
)
|
|
995
|
-
.
|
|
996
|
-
.scale(p.scaleX, p.scaleY)
|
|
980
|
+
.multiply(scaleRotate)
|
|
997
981
|
.translate(-pivotTranslateX, -pivotTranslateY);
|
|
998
982
|
} else {
|
|
999
983
|
this.localTransform = Matrix3d.translate(
|
|
@@ -1014,25 +998,25 @@ export class CoreNode extends EventEmitter {
|
|
|
1014
998
|
let resizeModeScaleY = 1;
|
|
1015
999
|
let extraX = 0;
|
|
1016
1000
|
let extraY = 0;
|
|
1017
|
-
const {
|
|
1001
|
+
const { w: tw, h: th } = texture.dimensions;
|
|
1018
1002
|
const txAspectRatio = tw / th;
|
|
1019
|
-
const nodeAspectRatio =
|
|
1003
|
+
const nodeAspectRatio = w / h;
|
|
1020
1004
|
if (txAspectRatio > nodeAspectRatio) {
|
|
1021
1005
|
// Texture is wider than node
|
|
1022
1006
|
// Center the node vertically (shift down by extraY)
|
|
1023
1007
|
// Scale the node vertically to maintain original aspect ratio
|
|
1024
|
-
const scaleX =
|
|
1008
|
+
const scaleX = w / tw;
|
|
1025
1009
|
const scaledTxHeight = th * scaleX;
|
|
1026
|
-
extraY = (
|
|
1027
|
-
resizeModeScaleY = scaledTxHeight /
|
|
1010
|
+
extraY = (h - scaledTxHeight) / 2;
|
|
1011
|
+
resizeModeScaleY = scaledTxHeight / h;
|
|
1028
1012
|
} else {
|
|
1029
1013
|
// Texture is taller than node (or equal)
|
|
1030
1014
|
// Center the node horizontally (shift right by extraX)
|
|
1031
1015
|
// Scale the node horizontally to maintain original aspect ratio
|
|
1032
|
-
const scaleY =
|
|
1016
|
+
const scaleY = h / th;
|
|
1033
1017
|
const scaledTxWidth = tw * scaleY;
|
|
1034
|
-
extraX = (
|
|
1035
|
-
resizeModeScaleX = scaledTxWidth /
|
|
1018
|
+
extraX = (w - scaledTxWidth) / 2;
|
|
1019
|
+
resizeModeScaleX = scaledTxWidth / w;
|
|
1036
1020
|
}
|
|
1037
1021
|
|
|
1038
1022
|
// Apply the extra translation and scale to the local transform
|
|
@@ -1149,7 +1133,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1149
1133
|
}
|
|
1150
1134
|
|
|
1151
1135
|
if (updateType & UpdateType.WorldAlpha) {
|
|
1152
|
-
this.worldAlpha = (
|
|
1136
|
+
this.worldAlpha = (parent?.worldAlpha ?? 1) * this.props.alpha;
|
|
1153
1137
|
updateType |=
|
|
1154
1138
|
UpdateType.PremultipliedColors |
|
|
1155
1139
|
UpdateType.Children |
|
|
@@ -1185,7 +1169,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1185
1169
|
|
|
1186
1170
|
this.premultipliedColorTl = merged;
|
|
1187
1171
|
|
|
1188
|
-
if (same) {
|
|
1172
|
+
if (same === true) {
|
|
1189
1173
|
this.premultipliedColorTr =
|
|
1190
1174
|
this.premultipliedColorBl =
|
|
1191
1175
|
this.premultipliedColorBr =
|
|
@@ -1219,10 +1203,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1219
1203
|
parent.setUpdateType(UpdateType.ZIndexSortedChildren);
|
|
1220
1204
|
}
|
|
1221
1205
|
|
|
1222
|
-
if (
|
|
1223
|
-
props.strictBounds === true &&
|
|
1224
|
-
this.renderState === CoreNodeRenderState.OutOfBounds
|
|
1225
|
-
) {
|
|
1206
|
+
if (this.renderState === CoreNodeRenderState.OutOfBounds) {
|
|
1226
1207
|
updateType &= ~UpdateType.RenderBounds; // remove render bounds update
|
|
1227
1208
|
return;
|
|
1228
1209
|
}
|
|
@@ -1231,6 +1212,11 @@ export class CoreNode extends EventEmitter {
|
|
|
1231
1212
|
updateType & UpdateType.RecalcUniforms &&
|
|
1232
1213
|
this.hasShaderUpdater === true
|
|
1233
1214
|
) {
|
|
1215
|
+
this.updateShaderUniforms = true;
|
|
1216
|
+
}
|
|
1217
|
+
|
|
1218
|
+
if (this.isRenderable === true && this.updateShaderUniforms === true) {
|
|
1219
|
+
this.updateShaderUniforms = false;
|
|
1234
1220
|
//this exists because the boolean hasShaderUpdater === true
|
|
1235
1221
|
this.shader!.update!();
|
|
1236
1222
|
}
|
|
@@ -1353,10 +1339,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1353
1339
|
}
|
|
1354
1340
|
|
|
1355
1341
|
// check if we dont have dimensions, take our parent's render state
|
|
1356
|
-
if (
|
|
1357
|
-
this.parent !== null &&
|
|
1358
|
-
(this.props.width === 0 || this.props.height === 0)
|
|
1359
|
-
) {
|
|
1342
|
+
if (this.parent !== null && (this.props.w === 0 || this.props.h === 0)) {
|
|
1360
1343
|
return this.parent.renderState;
|
|
1361
1344
|
}
|
|
1362
1345
|
|
|
@@ -1427,20 +1410,14 @@ export class CoreNode extends EventEmitter {
|
|
|
1427
1410
|
}
|
|
1428
1411
|
|
|
1429
1412
|
// clipping is enabled and we are in bounds create our own bounds
|
|
1430
|
-
const { x, y,
|
|
1413
|
+
const { x, y, w, h } = this.props;
|
|
1431
1414
|
|
|
1432
1415
|
// Pick the global transform if available, otherwise use the local transform
|
|
1433
1416
|
// global transform is only available if the node in an RTT chain
|
|
1434
1417
|
const { tx, ty } = this.sceneGlobalTransform || this.globalTransform || {};
|
|
1435
1418
|
const _x = tx ?? x;
|
|
1436
1419
|
const _y = ty ?? y;
|
|
1437
|
-
this.strictBound = createBound(
|
|
1438
|
-
_x,
|
|
1439
|
-
_y,
|
|
1440
|
-
_x + width,
|
|
1441
|
-
_y + height,
|
|
1442
|
-
this.strictBound,
|
|
1443
|
-
);
|
|
1420
|
+
this.strictBound = createBound(_x, _y, _x + w, _y + h, this.strictBound);
|
|
1444
1421
|
|
|
1445
1422
|
this.preloadBound = createPreloadBounds(
|
|
1446
1423
|
this.strictBound,
|
|
@@ -1489,7 +1466,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1489
1466
|
// check shader
|
|
1490
1467
|
(this.props.shader !== null || this.hasColorProps === true) &&
|
|
1491
1468
|
// check dimensions
|
|
1492
|
-
(this.props.
|
|
1469
|
+
(this.props.w !== 0 && this.props.h !== 0) === true
|
|
1493
1470
|
) {
|
|
1494
1471
|
// This mean we have dimensions and a color set, so we can render a ColorTexture
|
|
1495
1472
|
if (
|
|
@@ -1527,7 +1504,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1527
1504
|
}
|
|
1528
1505
|
|
|
1529
1506
|
calculateRenderCoords() {
|
|
1530
|
-
const {
|
|
1507
|
+
const { w, h } = this.props;
|
|
1531
1508
|
|
|
1532
1509
|
const g = this.globalTransform!;
|
|
1533
1510
|
const tx = g.tx,
|
|
@@ -1538,9 +1515,9 @@ export class CoreNode extends EventEmitter {
|
|
|
1538
1515
|
td = g.td;
|
|
1539
1516
|
if (tb === 0 && tc === 0) {
|
|
1540
1517
|
const minX = tx;
|
|
1541
|
-
const maxX = tx +
|
|
1518
|
+
const maxX = tx + w * ta;
|
|
1542
1519
|
const minY = ty;
|
|
1543
|
-
const maxY = ty +
|
|
1520
|
+
const maxY = ty + h * td;
|
|
1544
1521
|
this.renderCoords = RenderCoords.translate(
|
|
1545
1522
|
//top-left
|
|
1546
1523
|
minX,
|
|
@@ -1562,14 +1539,14 @@ export class CoreNode extends EventEmitter {
|
|
|
1562
1539
|
tx,
|
|
1563
1540
|
ty,
|
|
1564
1541
|
//top-right
|
|
1565
|
-
tx +
|
|
1566
|
-
ty +
|
|
1542
|
+
tx + w * ta,
|
|
1543
|
+
ty + w * tc,
|
|
1567
1544
|
//bottom-right
|
|
1568
|
-
tx +
|
|
1569
|
-
ty +
|
|
1545
|
+
tx + w * ta + h * tb,
|
|
1546
|
+
ty + w * tc + h * td,
|
|
1570
1547
|
//bottom-left
|
|
1571
|
-
tx +
|
|
1572
|
-
ty +
|
|
1548
|
+
tx + h * tb,
|
|
1549
|
+
ty + h * td,
|
|
1573
1550
|
this.renderCoords,
|
|
1574
1551
|
);
|
|
1575
1552
|
}
|
|
@@ -1587,9 +1564,9 @@ export class CoreNode extends EventEmitter {
|
|
|
1587
1564
|
} = this.sceneGlobalTransform;
|
|
1588
1565
|
if (stb === 0 && stc === 0) {
|
|
1589
1566
|
const minX = stx;
|
|
1590
|
-
const maxX = stx +
|
|
1567
|
+
const maxX = stx + w * sta;
|
|
1591
1568
|
const minY = sty;
|
|
1592
|
-
const maxY = sty +
|
|
1569
|
+
const maxY = sty + h * std;
|
|
1593
1570
|
this.sceneRenderCoords = RenderCoords.translate(
|
|
1594
1571
|
//top-left
|
|
1595
1572
|
minX,
|
|
@@ -1611,14 +1588,14 @@ export class CoreNode extends EventEmitter {
|
|
|
1611
1588
|
stx,
|
|
1612
1589
|
sty,
|
|
1613
1590
|
//top-right
|
|
1614
|
-
stx +
|
|
1615
|
-
sty +
|
|
1591
|
+
stx + w * sta,
|
|
1592
|
+
sty + w * stc,
|
|
1616
1593
|
//bottom-right
|
|
1617
|
-
stx +
|
|
1618
|
-
sty +
|
|
1594
|
+
stx + w * sta + h * stb,
|
|
1595
|
+
sty + w * stc + h * std,
|
|
1619
1596
|
//bottom-left
|
|
1620
|
-
stx +
|
|
1621
|
-
sty +
|
|
1597
|
+
stx + h * stb,
|
|
1598
|
+
sty + h * std,
|
|
1622
1599
|
this.sceneRenderCoords,
|
|
1623
1600
|
);
|
|
1624
1601
|
}
|
|
@@ -1640,8 +1617,8 @@ export class CoreNode extends EventEmitter {
|
|
|
1640
1617
|
if (clipping === true && isRotated === false) {
|
|
1641
1618
|
clippingRect.x = gt!.tx;
|
|
1642
1619
|
clippingRect.y = gt!.ty;
|
|
1643
|
-
clippingRect.width = this.
|
|
1644
|
-
clippingRect.height = this.
|
|
1620
|
+
clippingRect.width = this.props.w * gt!.ta;
|
|
1621
|
+
clippingRect.height = this.props.h * gt!.td;
|
|
1645
1622
|
clippingRect.valid = true;
|
|
1646
1623
|
} else {
|
|
1647
1624
|
clippingRect.valid = false;
|
|
@@ -1717,9 +1694,15 @@ export class CoreNode extends EventEmitter {
|
|
|
1717
1694
|
const coords = this.renderCoords;
|
|
1718
1695
|
const texture = p.texture || this.stage.defaultTexture;
|
|
1719
1696
|
|
|
1697
|
+
// There is a race condition where the texture can be null
|
|
1698
|
+
// with RTT nodes. Adding this defensively to avoid errors.
|
|
1699
|
+
if (texture && texture.state !== 'loaded') {
|
|
1700
|
+
return;
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1720
1703
|
renderer.addQuad({
|
|
1721
|
-
width: p.
|
|
1722
|
-
height: p.
|
|
1704
|
+
width: p.w,
|
|
1705
|
+
height: p.h,
|
|
1723
1706
|
colorTl: this.premultipliedColorTl,
|
|
1724
1707
|
colorTr: this.premultipliedColorTr,
|
|
1725
1708
|
colorBl: this.premultipliedColorBl,
|
|
@@ -1773,7 +1756,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1773
1756
|
get absX(): number {
|
|
1774
1757
|
return (
|
|
1775
1758
|
this.props.x +
|
|
1776
|
-
-this.props.
|
|
1759
|
+
-this.props.w * this.props.mountX +
|
|
1777
1760
|
(this.props.parent?.absX || this.props.parent?.globalTransform?.tx || 0)
|
|
1778
1761
|
);
|
|
1779
1762
|
}
|
|
@@ -1781,7 +1764,7 @@ export class CoreNode extends EventEmitter {
|
|
|
1781
1764
|
get absY(): number {
|
|
1782
1765
|
return (
|
|
1783
1766
|
this.props.y +
|
|
1784
|
-
-this.props.
|
|
1767
|
+
-this.props.h * this.props.mountY +
|
|
1785
1768
|
(this.props.parent?.absY ?? 0)
|
|
1786
1769
|
);
|
|
1787
1770
|
}
|
|
@@ -1797,18 +1780,18 @@ export class CoreNode extends EventEmitter {
|
|
|
1797
1780
|
}
|
|
1798
1781
|
}
|
|
1799
1782
|
|
|
1800
|
-
get
|
|
1801
|
-
return this.props.
|
|
1783
|
+
get w(): number {
|
|
1784
|
+
return this.props.w;
|
|
1802
1785
|
}
|
|
1803
1786
|
|
|
1804
|
-
set
|
|
1805
|
-
if (this.props.
|
|
1806
|
-
this.
|
|
1807
|
-
this.props.
|
|
1787
|
+
set w(value: number) {
|
|
1788
|
+
if (this.props.w !== value) {
|
|
1789
|
+
this.updateTextureCoords = true;
|
|
1790
|
+
this.props.w = value;
|
|
1808
1791
|
this.setUpdateType(UpdateType.Local);
|
|
1809
1792
|
|
|
1810
1793
|
if (this.props.rtt === true) {
|
|
1811
|
-
this.framebufferDimensions!.
|
|
1794
|
+
this.framebufferDimensions!.w = value;
|
|
1812
1795
|
this.texture = this.stage.txManager.createTexture(
|
|
1813
1796
|
'RenderTexture',
|
|
1814
1797
|
this.framebufferDimensions!,
|
|
@@ -1819,18 +1802,18 @@ export class CoreNode extends EventEmitter {
|
|
|
1819
1802
|
}
|
|
1820
1803
|
}
|
|
1821
1804
|
|
|
1822
|
-
get
|
|
1823
|
-
return this.props.
|
|
1805
|
+
get h(): number {
|
|
1806
|
+
return this.props.h;
|
|
1824
1807
|
}
|
|
1825
1808
|
|
|
1826
|
-
set
|
|
1827
|
-
if (this.props.
|
|
1828
|
-
this.
|
|
1829
|
-
this.props.
|
|
1809
|
+
set h(value: number) {
|
|
1810
|
+
if (this.props.h !== value) {
|
|
1811
|
+
this.updateTextureCoords = true;
|
|
1812
|
+
this.props.h = value;
|
|
1830
1813
|
this.setUpdateType(UpdateType.Local);
|
|
1831
1814
|
|
|
1832
1815
|
if (this.props.rtt === true) {
|
|
1833
|
-
this.framebufferDimensions!.
|
|
1816
|
+
this.framebufferDimensions!.h = value;
|
|
1834
1817
|
this.texture = this.stage.txManager.createTexture(
|
|
1835
1818
|
'RenderTexture',
|
|
1836
1819
|
this.framebufferDimensions!,
|
|
@@ -2162,6 +2145,10 @@ export class CoreNode extends EventEmitter {
|
|
|
2162
2145
|
}
|
|
2163
2146
|
|
|
2164
2147
|
set zIndex(value: number) {
|
|
2148
|
+
if (this.props.zIndex === value) {
|
|
2149
|
+
return;
|
|
2150
|
+
}
|
|
2151
|
+
|
|
2165
2152
|
this.props.zIndex = value;
|
|
2166
2153
|
this.setUpdateType(UpdateType.CalculatedZIndex | UpdateType.Children);
|
|
2167
2154
|
for (let i = 0, length = this.children.length; i < length; i++) {
|
|
@@ -2230,8 +2217,8 @@ export class CoreNode extends EventEmitter {
|
|
|
2230
2217
|
}
|
|
2231
2218
|
private initRenderTexture() {
|
|
2232
2219
|
this.framebufferDimensions = {
|
|
2233
|
-
|
|
2234
|
-
|
|
2220
|
+
w: this.props.w,
|
|
2221
|
+
h: this.props.h,
|
|
2235
2222
|
};
|
|
2236
2223
|
this.texture = this.stage.txManager.createTexture(
|
|
2237
2224
|
'RenderTexture',
|
|
@@ -2327,8 +2314,8 @@ export class CoreNode extends EventEmitter {
|
|
|
2327
2314
|
|
|
2328
2315
|
this.texture = this.stage.txManager.createTexture('ImageTexture', {
|
|
2329
2316
|
src: imageUrl,
|
|
2330
|
-
|
|
2331
|
-
|
|
2317
|
+
w: this.props.w,
|
|
2318
|
+
h: this.props.h,
|
|
2332
2319
|
type: this.props.imageType,
|
|
2333
2320
|
sx: this.props.srcX,
|
|
2334
2321
|
sy: this.props.srcY,
|
|
@@ -2455,20 +2442,6 @@ export class CoreNode extends EventEmitter {
|
|
|
2455
2442
|
this.parent?.setRTTUpdates(type);
|
|
2456
2443
|
}
|
|
2457
2444
|
|
|
2458
|
-
get strictBounds(): boolean {
|
|
2459
|
-
return this.props.strictBounds;
|
|
2460
|
-
}
|
|
2461
|
-
|
|
2462
|
-
set strictBounds(v) {
|
|
2463
|
-
if (v === this.props.strictBounds) {
|
|
2464
|
-
return;
|
|
2465
|
-
}
|
|
2466
|
-
|
|
2467
|
-
this.props.strictBounds = v;
|
|
2468
|
-
this.setUpdateType(UpdateType.RenderBounds | UpdateType.Children);
|
|
2469
|
-
this.childUpdateType |= UpdateType.RenderBounds | UpdateType.Children;
|
|
2470
|
-
}
|
|
2471
|
-
|
|
2472
2445
|
animate(
|
|
2473
2446
|
props: Partial<CoreNodeAnimateProps>,
|
|
2474
2447
|
settings: Partial<AnimationSettings>,
|
package/src/core/CoreTextNode.ts
CHANGED
|
@@ -95,15 +95,15 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
// ignore 1x1 pixel textures
|
|
98
|
-
if (dimensions.
|
|
98
|
+
if (dimensions.w > 1 && dimensions.h > 1) {
|
|
99
99
|
this.emit('loaded', {
|
|
100
100
|
type: 'texture',
|
|
101
101
|
dimensions,
|
|
102
102
|
} satisfies NodeTextureLoadedPayload);
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
this.
|
|
106
|
-
this.
|
|
105
|
+
this.w = this._renderInfo.width;
|
|
106
|
+
this.h = this._renderInfo.height;
|
|
107
107
|
|
|
108
108
|
// Texture was loaded. In case the RAF loop has already stopped, we request
|
|
109
109
|
// a render to ensure the texture is rendered.
|
|
@@ -202,8 +202,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
202
202
|
if (textRendererType === 'sdf') {
|
|
203
203
|
this._cachedLayout = result.layout || null;
|
|
204
204
|
this.setRenderable(true);
|
|
205
|
-
this.props.
|
|
206
|
-
this.props.
|
|
205
|
+
this.props.w = width;
|
|
206
|
+
this.props.h = height;
|
|
207
207
|
this.setUpdateType(UpdateType.Local);
|
|
208
208
|
}
|
|
209
209
|
|
|
@@ -211,8 +211,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
211
211
|
this.emit('loaded', {
|
|
212
212
|
type: 'text',
|
|
213
213
|
dimensions: {
|
|
214
|
-
|
|
215
|
-
|
|
214
|
+
w: width,
|
|
215
|
+
h: height,
|
|
216
216
|
},
|
|
217
217
|
} satisfies NodeTextLoadedPayload);
|
|
218
218
|
}
|
|
@@ -255,8 +255,8 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
255
255
|
worldAlpha: this.worldAlpha,
|
|
256
256
|
globalTransform: this.globalTransform!.getFloatArr(),
|
|
257
257
|
clippingRect: this.clippingRect,
|
|
258
|
-
width: this.props.
|
|
259
|
-
height: this.props.
|
|
258
|
+
width: this.props.w,
|
|
259
|
+
height: this.props.h,
|
|
260
260
|
parentHasRenderTexture: this.parentHasRenderTexture,
|
|
261
261
|
framebufferDimensions:
|
|
262
262
|
this.parentHasRenderTexture === true
|
|
@@ -268,7 +268,7 @@ export class CoreTextNode extends CoreNode implements CoreTextNodeProps {
|
|
|
268
268
|
}
|
|
269
269
|
|
|
270
270
|
override destroy(): void {
|
|
271
|
-
if (this._waitingForFont === true) {
|
|
271
|
+
if (this._waitingForFont === true && this.fontHandler) {
|
|
272
272
|
this.fontHandler.stopWaitingForFont(this.textProps.fontFamily, this);
|
|
273
273
|
}
|
|
274
274
|
|
package/src/core/Stage.ts
CHANGED
|
@@ -102,7 +102,6 @@ export class Stage {
|
|
|
102
102
|
public readonly defShaderNode: CoreShaderNode | null = null;
|
|
103
103
|
public strictBound: Bound;
|
|
104
104
|
public preloadBound: Bound;
|
|
105
|
-
public readonly strictBounds: boolean;
|
|
106
105
|
public readonly defaultTexture: Texture | null = null;
|
|
107
106
|
public pixelRatio: number;
|
|
108
107
|
public readonly bufferMemory: number = 2e6;
|
|
@@ -197,7 +196,6 @@ export class Stage {
|
|
|
197
196
|
|
|
198
197
|
this.animationManager = new AnimationManager();
|
|
199
198
|
this.contextSpy = enableContextSpy ? new ContextSpy() : null;
|
|
200
|
-
this.strictBounds = options.strictBounds;
|
|
201
199
|
|
|
202
200
|
let bm = [0, 0, 0, 0] as [number, number, number, number];
|
|
203
201
|
if (boundsMargin) {
|
|
@@ -321,8 +319,8 @@ export class Stage {
|
|
|
321
319
|
const rootNode = new CoreNode(this, {
|
|
322
320
|
x: 0,
|
|
323
321
|
y: 0,
|
|
324
|
-
|
|
325
|
-
|
|
322
|
+
w: appWidth,
|
|
323
|
+
h: appHeight,
|
|
326
324
|
alpha: 1,
|
|
327
325
|
autosize: false,
|
|
328
326
|
boundsMargin: null,
|
|
@@ -354,7 +352,6 @@ export class Stage {
|
|
|
354
352
|
rtt: false,
|
|
355
353
|
src: null,
|
|
356
354
|
scale: 1,
|
|
357
|
-
strictBounds: this.strictBounds,
|
|
358
355
|
});
|
|
359
356
|
|
|
360
357
|
this.root = rootNode;
|
|
@@ -589,8 +586,7 @@ export class Stage {
|
|
|
589
586
|
|
|
590
587
|
if (
|
|
591
588
|
child.worldAlpha === 0 ||
|
|
592
|
-
|
|
593
|
-
child.renderState === CoreNodeRenderState.OutOfBounds)
|
|
589
|
+
child.renderState === CoreNodeRenderState.OutOfBounds
|
|
594
590
|
) {
|
|
595
591
|
continue;
|
|
596
592
|
}
|
|
@@ -807,8 +803,8 @@ export class Stage {
|
|
|
807
803
|
return {
|
|
808
804
|
x: props.x ?? 0,
|
|
809
805
|
y: props.y ?? 0,
|
|
810
|
-
|
|
811
|
-
|
|
806
|
+
w: props.w ?? 0,
|
|
807
|
+
h: props.h ?? 0,
|
|
812
808
|
alpha: props.alpha ?? 1,
|
|
813
809
|
autosize: props.autosize ?? false,
|
|
814
810
|
boundsMargin: props.boundsMargin ?? null,
|
|
@@ -847,7 +843,6 @@ export class Stage {
|
|
|
847
843
|
data,
|
|
848
844
|
imageType: props.imageType,
|
|
849
845
|
interactive: props.interactive ?? false,
|
|
850
|
-
strictBounds: props.strictBounds ?? this.strictBounds,
|
|
851
846
|
};
|
|
852
847
|
}
|
|
853
848
|
|
|
@@ -725,7 +725,7 @@ export class WebGlContextWrapper {
|
|
|
725
725
|
const result = {} as Record<string, number>;
|
|
726
726
|
for (let i = 0; i < length; i++) {
|
|
727
727
|
const { name } = gl.getActiveAttrib(program, i) as WebGLActiveInfo;
|
|
728
|
-
result[name] =
|
|
728
|
+
result[name] = gl.getAttribLocation(program, name);
|
|
729
729
|
}
|
|
730
730
|
return result;
|
|
731
731
|
}
|
|
@@ -85,8 +85,8 @@ const loadKTXData = async (buffer: ArrayBuffer): Promise<TextureData> => {
|
|
|
85
85
|
data: {
|
|
86
86
|
glInternalFormat: data.glInternalFormat,
|
|
87
87
|
mipmaps,
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
w: data.pixelWidth || 0,
|
|
89
|
+
h: data.pixelHeight || 0,
|
|
90
90
|
type: 'ktx',
|
|
91
91
|
},
|
|
92
92
|
premultiplyAlpha: false,
|
|
@@ -143,8 +143,8 @@ const loadPVRData = async (buffer: ArrayBuffer): Promise<TextureData> => {
|
|
|
143
143
|
data: {
|
|
144
144
|
glInternalFormat: pvrFormatEtc1,
|
|
145
145
|
mipmaps: mipmaps,
|
|
146
|
-
|
|
147
|
-
|
|
146
|
+
w: data.pixelWidth || 0,
|
|
147
|
+
h: data.pixelHeight || 0,
|
|
148
148
|
type: 'pvr',
|
|
149
149
|
},
|
|
150
150
|
premultiplyAlpha: false,
|
|
@@ -155,8 +155,8 @@ export class CoreShaderNode<Props extends object = Record<string, unknown>> {
|
|
|
155
155
|
for (const key in this.resolvedProps) {
|
|
156
156
|
valueKey += `${key}:${this.resolvedProps[key]!};`;
|
|
157
157
|
}
|
|
158
|
-
valueKey += `node-width:${this.node!.
|
|
159
|
-
valueKey += `node-height:${this.node!.
|
|
158
|
+
valueKey += `node-width:${this.node!.w}`;
|
|
159
|
+
valueKey += `node-height:${this.node!.h}`;
|
|
160
160
|
return valueKey;
|
|
161
161
|
}
|
|
162
162
|
|
|
@@ -168,8 +168,8 @@ export class CanvasRenderer extends CoreRenderer {
|
|
|
168
168
|
image,
|
|
169
169
|
(quad.texture as SubTexture).props.x,
|
|
170
170
|
(quad.texture as SubTexture).props.y,
|
|
171
|
-
(quad.texture as SubTexture).props.
|
|
172
|
-
(quad.texture as SubTexture).props.
|
|
171
|
+
(quad.texture as SubTexture).props.w,
|
|
172
|
+
(quad.texture as SubTexture).props.h,
|
|
173
173
|
quad.tx,
|
|
174
174
|
quad.ty,
|
|
175
175
|
quad.width,
|
|
@@ -65,8 +65,8 @@ export class CanvasTexture extends CoreContextTexture {
|
|
|
65
65
|
const mult = this.tintCache ? 8 : 4;
|
|
66
66
|
if (this.textureSource.dimensions) {
|
|
67
67
|
this.setTextureMemUse(
|
|
68
|
-
this.textureSource.dimensions.
|
|
69
|
-
this.textureSource.dimensions.
|
|
68
|
+
this.textureSource.dimensions.w *
|
|
69
|
+
this.textureSource.dimensions.h *
|
|
70
70
|
mult,
|
|
71
71
|
);
|
|
72
72
|
}
|
|
@@ -142,15 +142,15 @@ export class CanvasTexture extends CoreContextTexture {
|
|
|
142
142
|
const ctx = canvas.getContext('2d');
|
|
143
143
|
if (ctx) ctx.putImageData(data, 0, 0);
|
|
144
144
|
this.image = canvas;
|
|
145
|
-
return {
|
|
145
|
+
return { w: data.width, h: data.height };
|
|
146
146
|
} else if (
|
|
147
147
|
(typeof ImageBitmap !== 'undefined' && data instanceof ImageBitmap) ||
|
|
148
148
|
data instanceof HTMLImageElement
|
|
149
149
|
) {
|
|
150
150
|
this.image = data;
|
|
151
|
-
return {
|
|
151
|
+
return { w: data.width, h: data.height };
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
-
return {
|
|
154
|
+
return { w: 0, h: 0 };
|
|
155
155
|
}
|
|
156
156
|
}
|