@lightningtv/renderer 3.0.0-beta1 → 3.2.3
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/NOTICE +4 -0
- package/README.md +22 -28
- package/dist/exports/canvas-shaders.js +0 -16
- package/dist/exports/canvas-shaders.js.map +1 -1
- package/dist/exports/canvas.d.ts +1 -1
- package/dist/exports/canvas.js +1 -19
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +2 -5
- package/dist/exports/index.js +1 -23
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/inspector.js +0 -18
- package/dist/exports/inspector.js.map +1 -1
- package/dist/exports/utils.d.ts +2 -1
- package/dist/exports/utils.js +2 -19
- package/dist/exports/utils.js.map +1 -1
- package/dist/exports/webgl-shaders.js +0 -16
- package/dist/exports/webgl-shaders.js.map +1 -1
- package/dist/exports/webgl.d.ts +2 -1
- package/dist/exports/webgl.js +2 -19
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/common/CommonTypes.d.ts +15 -3
- package/dist/src/common/CommonTypes.js +0 -18
- package/dist/src/common/CommonTypes.js.map +1 -1
- package/dist/src/common/EventEmitter.js +0 -18
- package/dist/src/common/EventEmitter.js.map +1 -1
- package/dist/src/common/IEventEmitter.js +0 -16
- package/dist/src/common/IEventEmitter.js.map +1 -1
- package/dist/src/core/Autosizer.d.ts +35 -0
- package/dist/src/core/Autosizer.js +178 -0
- package/dist/src/core/Autosizer.js.map +1 -0
- package/dist/src/core/CoreNode.d.ts +140 -102
- package/dist/src/core/CoreNode.js +812 -528
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +3 -3
- package/dist/src/core/CoreShaderManager.js +0 -18
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +75 -87
- package/dist/src/core/CoreTextNode.js +380 -258
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +25 -14
- package/dist/src/core/CoreTextureManager.js +82 -139
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +102 -36
- package/dist/src/core/Stage.js +424 -191
- 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 +114 -134
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/AnimationManager.js +0 -18
- package/dist/src/core/animations/AnimationManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
- package/dist/src/core/animations/CoreAnimation.js +8 -24
- 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 -22
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/lib/ContextSpy.js +0 -18
- package/dist/src/core/lib/ContextSpy.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.d.ts +2 -2
- package/dist/src/core/lib/ImageWorker.js +33 -31
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/Matrix3d.d.ts +1 -0
- package/dist/src/core/lib/Matrix3d.js +7 -19
- package/dist/src/core/lib/Matrix3d.js.map +1 -1
- package/dist/src/core/lib/RenderCoords.d.ts +9 -10
- package/dist/src/core/lib/RenderCoords.js +27 -55
- package/dist/src/core/lib/RenderCoords.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +83 -8
- package/dist/src/core/lib/WebGlContextWrapper.js +150 -25
- 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 +82 -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/{renderers/canvas/internal/ColorUtils.js → lib/colorParser.js} +1 -19
- 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 -85
- package/dist/src/core/lib/textureCompression.js.map +1 -1
- package/dist/src/core/lib/textureSvg.js +0 -18
- package/dist/src/core/lib/textureSvg.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +8 -1
- package/dist/src/core/lib/utils.js +44 -20
- 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/platforms/Platform.d.ts +42 -0
- package/dist/src/core/platforms/Platform.js +4 -0
- 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 +90 -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 +0 -18
- package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderOp.js +0 -18
- package/dist/src/core/renderers/CoreRenderOp.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +15 -3
- package/dist/src/core/renderers/CoreRenderer.js +1 -18
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +13 -3
- package/dist/src/core/renderers/CoreShaderNode.js +25 -2
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderProgram.js +0 -18
- package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +4 -5
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +89 -83
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +3 -21
- 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 +18 -31
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js +80 -0
- package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +2 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -24
- 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 -23
- 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 -70
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +34 -20
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +319 -195
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +2 -3
- 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 +99 -48
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/BufferCollection.d.ts +1 -0
- package/dist/src/core/renderers/webgl/internal/BufferCollection.js +12 -21
- package/dist/src/core/renderers/webgl/internal/BufferCollection.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js +0 -18
- package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +0 -18
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +0 -18
- package/dist/src/core/renderers/webgl/internal/WebGlUtils.js.map +1 -1
- package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
- package/dist/src/core/shaders/canvas/Border.js +67 -41
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- package/dist/src/core/shaders/canvas/HolePunch.js +3 -19
- package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/canvas/LinearGradient.js +7 -21
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RadialGradient.js +14 -28
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/Rounded.js +1 -17
- 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 +44 -22
- 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 +47 -25
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +9 -21
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/Shadow.js +0 -16
- 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 -34
- 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 -27
- 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 -19
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -16
- package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -18
- package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.js +1 -17
- 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/RoundedWithBorderAndShadowTemplate.js +0 -16
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +4 -2
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +3 -17
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -16
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -16
- package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -1
- package/dist/src/core/shaders/{templates/shaderUtils.d.ts → utils.d.ts} +1 -1
- package/dist/src/core/shaders/utils.js +25 -0
- package/dist/src/core/shaders/utils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.js +118 -51
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- package/dist/src/core/shaders/webgl/Default.js +6 -41
- package/dist/src/core/shaders/webgl/Default.js.map +1 -1
- package/dist/src/core/shaders/webgl/HolePunch.js +4 -19
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +73 -34
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +56 -48
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js +25 -23
- package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +160 -55
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +168 -58
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +73 -34
- 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 +8 -36
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/shaders/webgl/Shadow.js +39 -34
- 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 +206 -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 +139 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +167 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js +371 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +18 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -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 +384 -0
- package/dist/src/core/text-rendering/TextRenderer.js +2 -0
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/Utils.d.ts +30 -0
- package/dist/src/core/text-rendering/Utils.js +66 -0
- package/dist/src/core/text-rendering/Utils.js.map +1 -0
- package/dist/src/core/textures/ColorTexture.d.ts +1 -1
- package/dist/src/core/textures/ColorTexture.js +3 -22
- package/dist/src/core/textures/ColorTexture.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +13 -6
- package/dist/src/core/textures/ImageTexture.js +57 -66
- 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 -26
- 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 -30
- 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 -55
- package/dist/src/core/textures/SubTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +90 -12
- package/dist/src/core/textures/Texture.js +160 -35
- 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 -19
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/INode.js.map +1 -1
- package/dist/src/main-api/Inspector.d.ts +135 -2
- package/dist/src/main-api/Inspector.js +507 -30
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +294 -81
- package/dist/src/main-api/Renderer.js +225 -96
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +19 -6
- package/dist/src/utils.js +32 -27
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/exports/canvas-shaders.ts +0 -17
- package/exports/canvas.ts +1 -19
- package/exports/index.ts +6 -27
- package/exports/inspector.ts +0 -19
- package/exports/utils.ts +7 -19
- package/exports/webgl-shaders.ts +0 -16
- package/exports/webgl.ts +3 -20
- package/package.json +23 -22
- package/src/common/CommonTypes.ts +20 -22
- package/src/common/EventEmitter.ts +0 -19
- package/src/common/IAnimationController.ts +0 -18
- package/src/common/IEventEmitter.ts +0 -17
- package/src/core/Autosizer.ts +205 -0
- package/src/core/CoreNode.test.ts +376 -45
- package/src/core/CoreNode.ts +1015 -656
- package/src/core/CoreShaderManager.ts +3 -21
- package/src/core/CoreTextNode.ts +457 -314
- package/src/core/CoreTextureManager.ts +110 -167
- package/src/core/Stage.ts +526 -236
- package/src/core/TextureError.ts +46 -0
- package/src/core/TextureMemoryManager.ts +150 -167
- package/src/core/animations/AnimationManager.ts +0 -19
- package/src/core/animations/CoreAnimation.ts +15 -32
- package/src/core/animations/CoreAnimationController.ts +13 -23
- package/src/core/lib/ContextSpy.ts +0 -19
- package/src/core/lib/ImageWorker.ts +45 -32
- package/src/core/lib/Matrix3d.ts +7 -20
- package/src/core/lib/RenderCoords.ts +36 -67
- package/src/core/lib/WebGlContextWrapper.ts +196 -72
- package/src/core/lib/collectionUtils.ts +99 -0
- package/src/core/lib/colorCache.ts +20 -0
- package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +2 -21
- package/src/core/lib/textureCompression.ts +433 -93
- package/src/core/lib/textureSvg.ts +0 -19
- package/src/core/lib/utils.ts +58 -19
- package/src/core/lib/validateImageBitmap.ts +17 -6
- package/src/core/platforms/Platform.ts +64 -0
- package/src/core/platforms/web/WebPlatform.ts +132 -0
- package/src/core/renderers/CoreContextTexture.ts +2 -20
- package/src/core/renderers/CoreRenderOp.ts +0 -19
- package/src/core/renderers/CoreRenderer.ts +16 -23
- package/src/core/renderers/CoreShaderNode.ts +37 -6
- package/src/core/renderers/CoreShaderProgram.ts +0 -19
- package/src/core/renderers/canvas/CanvasRenderer.ts +108 -137
- package/src/core/renderers/canvas/CanvasShaderNode.ts +3 -23
- package/src/core/renderers/canvas/CanvasTexture.ts +25 -37
- package/src/core/renderers/webgl/SdfRenderOp.ts +88 -0
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +18 -34
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -24
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +134 -103
- package/src/core/renderers/webgl/WebGlRenderer.ts +368 -233
- package/src/core/renderers/webgl/WebGlShaderNode.ts +4 -7
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +122 -76
- package/src/core/renderers/webgl/internal/BufferCollection.ts +15 -23
- package/src/core/renderers/webgl/internal/RendererUtils.ts +0 -19
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +0 -19
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +0 -19
- package/src/core/shaders/canvas/Border.ts +91 -50
- package/src/core/shaders/canvas/HolePunch.ts +4 -28
- package/src/core/shaders/canvas/LinearGradient.ts +10 -25
- package/src/core/shaders/canvas/RadialGradient.ts +23 -54
- package/src/core/shaders/canvas/Rounded.ts +2 -19
- package/src/core/shaders/canvas/RoundedWithBorder.ts +72 -35
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +77 -47
- package/src/core/shaders/canvas/RoundedWithShadow.ts +21 -34
- package/src/core/shaders/canvas/Shadow.ts +0 -17
- package/src/core/shaders/canvas/utils/render.ts +45 -53
- package/src/core/shaders/templates/BorderTemplate.ts +42 -29
- package/src/core/shaders/templates/HolePunchTemplate.ts +5 -22
- package/src/core/shaders/templates/LinearGradientTemplate.ts +0 -17
- package/src/core/shaders/templates/RadialGradientTemplate.ts +10 -25
- package/src/core/shaders/templates/RoundedTemplate.ts +1 -18
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +1 -18
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +7 -19
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +1 -18
- package/src/core/shaders/templates/ShadowTemplate.ts +1 -18
- package/src/core/shaders/utils.ts +30 -0
- package/src/core/shaders/webgl/Border.ts +118 -55
- package/src/core/shaders/webgl/Default.ts +6 -43
- package/src/core/shaders/webgl/HolePunch.ts +4 -24
- package/src/core/shaders/webgl/LinearGradient.ts +73 -35
- package/src/core/shaders/webgl/RadialGradient.ts +58 -51
- package/src/core/shaders/webgl/Rounded.ts +25 -45
- package/src/core/shaders/webgl/RoundedWithBorder.ts +161 -63
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +169 -68
- package/src/core/shaders/webgl/RoundedWithShadow.ts +73 -39
- package/src/core/shaders/webgl/SdfShader.ts +8 -41
- package/src/core/shaders/webgl/Shadow.ts +39 -35
- package/src/core/text-rendering/CanvasFontHandler.ts +285 -0
- package/src/core/text-rendering/CanvasTextRenderer.ts +236 -0
- package/src/core/text-rendering/SdfFontHandler.ts +566 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +406 -0
- package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
- package/src/core/text-rendering/TextRenderer.ts +426 -0
- package/src/core/text-rendering/Utils.ts +80 -0
- package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +434 -0
- package/src/core/textures/ColorTexture.ts +7 -24
- package/src/core/textures/ImageTexture.ts +110 -92
- package/src/core/textures/NoiseTexture.ts +14 -31
- package/src/core/textures/RenderTexture.ts +18 -35
- package/src/core/textures/SubTexture.ts +25 -65
- package/src/core/textures/Texture.ts +214 -46
- package/src/core/utils.ts +9 -26
- package/src/main-api/INode.ts +0 -18
- package/src/main-api/Inspector.ts +794 -38
- package/src/main-api/Renderer.ts +519 -159
- package/src/utils.ts +64 -29
- package/dist/src/core/platform.d.ts +0 -10
- package/dist/src/core/platform.js +0 -56
- package/dist/src/core/platform.js.map +0 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -1
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -217
- package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
- package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -36
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -107
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
- 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/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 -126
- 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 -91
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -611
- 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 -370
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
- package/dist/src/core/text-rendering/renderers/TextRenderer.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 -145
- package/src/core/shaders/templates/shaderUtils.ts +0 -47
- package/src/core/shaders/webgl/DefaultBatched.ts +0 -129
- 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 -841
- 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
- /package/dist/src/core/{renderers/canvas/internal/ColorUtils.d.ts → lib/colorParser.d.ts} +0 -0
|
@@ -0,0 +1,178 @@
|
|
|
1
|
+
import { UpdateType } from './CoreNode.js';
|
|
2
|
+
export var AutosizeMode;
|
|
3
|
+
(function (AutosizeMode) {
|
|
4
|
+
AutosizeMode[AutosizeMode["Children"] = 0] = "Children";
|
|
5
|
+
AutosizeMode[AutosizeMode["Texture"] = 1] = "Texture";
|
|
6
|
+
})(AutosizeMode || (AutosizeMode = {}));
|
|
7
|
+
export var AutosizeUpdateType;
|
|
8
|
+
(function (AutosizeUpdateType) {
|
|
9
|
+
AutosizeUpdateType[AutosizeUpdateType["None"] = 0] = "None";
|
|
10
|
+
AutosizeUpdateType[AutosizeUpdateType["Filtered"] = 1] = "Filtered";
|
|
11
|
+
AutosizeUpdateType[AutosizeUpdateType["All"] = 2] = "All";
|
|
12
|
+
})(AutosizeUpdateType || (AutosizeUpdateType = {}));
|
|
13
|
+
const applyDimensions = (node, w, h) => {
|
|
14
|
+
node.props.w = w;
|
|
15
|
+
node.props.h = h;
|
|
16
|
+
node.setUpdateType(UpdateType.Local);
|
|
17
|
+
};
|
|
18
|
+
const getFilteredChildren = (children, childMap) => {
|
|
19
|
+
const filtered = [];
|
|
20
|
+
while (children.length > 0) {
|
|
21
|
+
const id = children.pop();
|
|
22
|
+
const child = childMap.get(id);
|
|
23
|
+
filtered.push(child);
|
|
24
|
+
}
|
|
25
|
+
return filtered;
|
|
26
|
+
};
|
|
27
|
+
let autosizerId = 0;
|
|
28
|
+
export class Autosizer {
|
|
29
|
+
node;
|
|
30
|
+
id = autosizerId++;
|
|
31
|
+
mode = AutosizeMode.Children;
|
|
32
|
+
updateType = AutosizeUpdateType.All;
|
|
33
|
+
lastWidth = 0;
|
|
34
|
+
lastHeight = 0;
|
|
35
|
+
lastHasChanged = false;
|
|
36
|
+
flaggedChildren = [];
|
|
37
|
+
childMap = new Map();
|
|
38
|
+
minX = Infinity;
|
|
39
|
+
minY = Infinity;
|
|
40
|
+
maxX = -Infinity;
|
|
41
|
+
maxY = -Infinity;
|
|
42
|
+
corners = [
|
|
43
|
+
{ x: 0, y: 0 },
|
|
44
|
+
{ x: 0, y: 0 },
|
|
45
|
+
{ x: 0, y: 0 },
|
|
46
|
+
{ x: 0, y: 0 },
|
|
47
|
+
];
|
|
48
|
+
constructor(node) {
|
|
49
|
+
this.node = node;
|
|
50
|
+
if (node.texture !== null) {
|
|
51
|
+
this.mode = AutosizeMode.Texture;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
attach(node) {
|
|
55
|
+
this.childMap.set(node.id, node);
|
|
56
|
+
node.parentAutosizer = this;
|
|
57
|
+
//bubble down to attach to grandchildren
|
|
58
|
+
if (node.children.length > 0 && node.autosizer === null) {
|
|
59
|
+
const children = node.children;
|
|
60
|
+
for (let i = 0; i < children.length; i++) {
|
|
61
|
+
this.attach(children[i]);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
detach(node) {
|
|
66
|
+
if (this.childMap.delete(node.id) === true) {
|
|
67
|
+
node.parentAutosizer = null;
|
|
68
|
+
if (node.children.length > 0 && node.autosizer === null) {
|
|
69
|
+
const children = node.children;
|
|
70
|
+
for (let i = 0; i < children.length; i++) {
|
|
71
|
+
this.detach(children[i]);
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
//detached a child, need full update
|
|
75
|
+
this.setUpdateType(AutosizeUpdateType.All);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
patch(id) {
|
|
79
|
+
const entry = this.childMap.get(id);
|
|
80
|
+
if (entry === undefined) {
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
this.flaggedChildren.push(id);
|
|
84
|
+
this.setUpdateType(AutosizeUpdateType.Filtered);
|
|
85
|
+
}
|
|
86
|
+
setUpdateType(updateType) {
|
|
87
|
+
this.updateType |= updateType;
|
|
88
|
+
this.node.setUpdateType(UpdateType.Autosize);
|
|
89
|
+
}
|
|
90
|
+
setMode(mode) {
|
|
91
|
+
this.mode = mode;
|
|
92
|
+
this.setUpdateType(AutosizeUpdateType.All);
|
|
93
|
+
}
|
|
94
|
+
update() {
|
|
95
|
+
const node = this.node;
|
|
96
|
+
if (this.mode === AutosizeMode.Texture &&
|
|
97
|
+
node.texture !== null &&
|
|
98
|
+
node.texture.dimensions !== null) {
|
|
99
|
+
const { w, h } = node.texture.dimensions;
|
|
100
|
+
if (w !== node.w || h !== node.h) {
|
|
101
|
+
applyDimensions(node, w, h);
|
|
102
|
+
}
|
|
103
|
+
this.lastWidth = w;
|
|
104
|
+
this.lastHeight = h;
|
|
105
|
+
this.updateType = AutosizeUpdateType.None;
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
let filtered = this.updateType === AutosizeUpdateType.Filtered
|
|
109
|
+
? getFilteredChildren(this.flaggedChildren, this.childMap)
|
|
110
|
+
: Array.from(this.childMap.values());
|
|
111
|
+
if (filtered.length === 0) {
|
|
112
|
+
return;
|
|
113
|
+
}
|
|
114
|
+
const corners = this.corners;
|
|
115
|
+
let minX = this.minX;
|
|
116
|
+
let minY = this.minY;
|
|
117
|
+
let maxX = this.maxX;
|
|
118
|
+
let maxY = this.maxY;
|
|
119
|
+
for (let i = 0; i < filtered.length; i++) {
|
|
120
|
+
const child = filtered[i];
|
|
121
|
+
if (child.isRenderable === false || child.localTransform === undefined) {
|
|
122
|
+
continue;
|
|
123
|
+
}
|
|
124
|
+
const { tx, ty, ta, tb, tc, td } = child.localTransform;
|
|
125
|
+
const w = child.props.w;
|
|
126
|
+
const h = child.props.h;
|
|
127
|
+
const childMinX = tx;
|
|
128
|
+
const childMaxX = tx + w * ta;
|
|
129
|
+
const childMinY = ty;
|
|
130
|
+
const childMaxY = ty + h * td;
|
|
131
|
+
corners[0].x = childMinX;
|
|
132
|
+
corners[0].y = childMinY;
|
|
133
|
+
corners[1].x = childMaxX;
|
|
134
|
+
//no rotation/scale
|
|
135
|
+
if (tb === 0 && tc === 0) {
|
|
136
|
+
corners[1].y = childMinY;
|
|
137
|
+
corners[2].x = childMaxX;
|
|
138
|
+
corners[2].y = childMaxY;
|
|
139
|
+
corners[3].x = childMinX;
|
|
140
|
+
corners[3].y = childMaxY;
|
|
141
|
+
}
|
|
142
|
+
else {
|
|
143
|
+
corners[1].y = tx + w * tc;
|
|
144
|
+
corners[2].x = tx + w * ta + h * tb;
|
|
145
|
+
corners[2].y = ty + w * tc + h * td;
|
|
146
|
+
corners[3].x = tx + h * tb;
|
|
147
|
+
corners[3].y = ty + h * td;
|
|
148
|
+
}
|
|
149
|
+
for (let j = 0; j < 4; j++) {
|
|
150
|
+
const corner = corners[j];
|
|
151
|
+
if (corner.x < minX)
|
|
152
|
+
minX = corner.x;
|
|
153
|
+
if (corner.y < minY)
|
|
154
|
+
minY = corner.y;
|
|
155
|
+
if (corner.x > maxX)
|
|
156
|
+
maxX = corner.x;
|
|
157
|
+
if (corner.y > maxY)
|
|
158
|
+
maxY = corner.y;
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
this.updateType = AutosizeUpdateType.None;
|
|
162
|
+
const newWidth = maxX > 0 ? maxX : 0;
|
|
163
|
+
const newHeight = maxY > 0 ? maxY : 0;
|
|
164
|
+
applyDimensions(node, newWidth, newHeight);
|
|
165
|
+
this.lastWidth = newWidth;
|
|
166
|
+
this.lastHeight = newHeight;
|
|
167
|
+
}
|
|
168
|
+
destroy() {
|
|
169
|
+
if (this.childMap.size > 0) {
|
|
170
|
+
for (const child of this.childMap.values()) {
|
|
171
|
+
child.parentAutosizer = null;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
this.childMap.clear();
|
|
175
|
+
this.flaggedChildren.length = 0;
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
//# sourceMappingURL=Autosizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Autosizer.js","sourceRoot":"","sources":["../../../src/core/Autosizer.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,10 +648,27 @@ 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[];
|
|
655
|
+
/**
|
|
656
|
+
* Permanent index (in float32 units) into the renderer's quad buffer.
|
|
657
|
+
* -1 means this node has not yet been assigned a slot.
|
|
658
|
+
*/
|
|
659
|
+
quadBufferIndex: number;
|
|
660
|
+
/**
|
|
661
|
+
* True when renderCoords, premultiplied colors, or textureCoords changed
|
|
662
|
+
* since the node's quad was last written to the GPU.
|
|
663
|
+
*/
|
|
664
|
+
isQuadDirty: boolean;
|
|
665
|
+
private hasShaderUpdater;
|
|
666
|
+
hasShaderTimeFn: boolean;
|
|
667
|
+
private hasColorProps;
|
|
668
|
+
textureLoaded: boolean;
|
|
651
669
|
updateType: UpdateType;
|
|
652
670
|
childUpdateType: UpdateType;
|
|
653
671
|
globalTransform?: Matrix3d;
|
|
654
|
-
scaleRotateTransform?: Matrix3d;
|
|
655
672
|
localTransform?: Matrix3d;
|
|
656
673
|
sceneGlobalTransform?: Matrix3d;
|
|
657
674
|
renderCoords?: RenderCoords;
|
|
@@ -660,8 +677,11 @@ export declare class CoreNode extends EventEmitter {
|
|
|
660
677
|
strictBound?: Bound;
|
|
661
678
|
preloadBound?: Bound;
|
|
662
679
|
clippingRect: RectWithValid;
|
|
680
|
+
textureCoords?: TextureCoords;
|
|
681
|
+
updateShaderUniforms: boolean;
|
|
663
682
|
isRenderable: boolean;
|
|
664
683
|
renderState: CoreNodeRenderState;
|
|
684
|
+
isSimple: boolean;
|
|
665
685
|
worldAlpha: number;
|
|
666
686
|
premultipliedColorTl: number;
|
|
667
687
|
premultipliedColorTr: number;
|
|
@@ -671,11 +691,25 @@ export declare class CoreNode extends EventEmitter {
|
|
|
671
691
|
hasRTTupdates: boolean;
|
|
672
692
|
parentHasRenderTexture: boolean;
|
|
673
693
|
rttParent: CoreNode | null;
|
|
694
|
+
/**
|
|
695
|
+
* only used when rtt = true
|
|
696
|
+
*/
|
|
697
|
+
framebufferDimensions: Dimensions | null;
|
|
698
|
+
/**Autosize properties */
|
|
699
|
+
autosizer: Autosizer | null;
|
|
700
|
+
parentAutosizer: Autosizer | null;
|
|
701
|
+
destroyed: boolean;
|
|
674
702
|
constructor(stage: Stage, props: CoreNodeProps);
|
|
675
703
|
loadTexture(): void;
|
|
704
|
+
/**
|
|
705
|
+
* Task for queueMicrotask to loadTexture
|
|
706
|
+
*
|
|
707
|
+
* @remarks
|
|
708
|
+
* This method is called in a microtask to release the texture.
|
|
709
|
+
*/
|
|
710
|
+
private loadTextureTask;
|
|
676
711
|
unloadTexture(): void;
|
|
677
|
-
|
|
678
|
-
private onTextureLoaded;
|
|
712
|
+
protected onTextureLoaded: TextureLoadedEventHandler;
|
|
679
713
|
private onTextureFailed;
|
|
680
714
|
private onTextureFreed;
|
|
681
715
|
/**
|
|
@@ -687,30 +721,28 @@ export declare class CoreNode extends EventEmitter {
|
|
|
687
721
|
* @param type
|
|
688
722
|
*/
|
|
689
723
|
setUpdateType(type: UpdateType): void;
|
|
690
|
-
sortChildren(): void;
|
|
691
|
-
updateScaleRotateTransform(): void;
|
|
692
724
|
updateLocalTransform(): void;
|
|
725
|
+
updateIsSimple(): void;
|
|
693
726
|
/**
|
|
694
727
|
* @todo: test for correct calculation flag
|
|
695
728
|
* @param delta
|
|
696
729
|
*/
|
|
697
730
|
update(delta: number, parentClippingRect: RectWithValid): void;
|
|
698
731
|
private findParentRTTNode;
|
|
699
|
-
private getRTTParentRenderState;
|
|
700
732
|
private notifyChildrenRTTOfUpdate;
|
|
701
|
-
|
|
733
|
+
protected notifyParentRTTOfUpdate(): void;
|
|
702
734
|
checkRenderBounds(): CoreNodeRenderState;
|
|
703
735
|
updateBoundingRect(): void;
|
|
704
736
|
createRenderBounds(): void;
|
|
705
737
|
updateRenderState(renderState: CoreNodeRenderState): void;
|
|
706
|
-
/**
|
|
707
|
-
* Updates the `isRenderable` property based on various conditions.
|
|
708
|
-
*/
|
|
709
|
-
updateIsRenderable(): void;
|
|
710
738
|
/**
|
|
711
739
|
* Checks if the node is renderable based on world alpha, dimensions and out of bounds status.
|
|
712
740
|
*/
|
|
713
741
|
checkBasicRenderability(): boolean;
|
|
742
|
+
/**
|
|
743
|
+
* Updates the `isRenderable` property based on various conditions.
|
|
744
|
+
*/
|
|
745
|
+
updateIsRenderable(): void;
|
|
714
746
|
/**
|
|
715
747
|
* Sets the renderable state and triggers changes if necessary.
|
|
716
748
|
* @param isRenderable - The new renderable state
|
|
@@ -728,11 +760,6 @@ export declare class CoreNode extends EventEmitter {
|
|
|
728
760
|
* Checks if the node has dimensions (width/height)
|
|
729
761
|
*/
|
|
730
762
|
hasDimensions(): boolean;
|
|
731
|
-
/**
|
|
732
|
-
* Checks if the node has any color properties set.
|
|
733
|
-
*/
|
|
734
|
-
hasColorProperties(): boolean;
|
|
735
|
-
hasShader(): boolean;
|
|
736
763
|
calculateRenderCoords(): void;
|
|
737
764
|
/**
|
|
738
765
|
* This function calculates the clipping rectangle for a node.
|
|
@@ -743,12 +770,21 @@ export declare class CoreNode extends EventEmitter {
|
|
|
743
770
|
* Finally, the node's parentClippingRect and clippingRect properties are updated.
|
|
744
771
|
*/
|
|
745
772
|
calculateClippingRect(parentClippingRect: RectWithValid): void;
|
|
746
|
-
calculateZIndex(): void;
|
|
747
773
|
/**
|
|
748
774
|
* Destroy the node and cleanup all resources
|
|
749
775
|
*/
|
|
750
|
-
destroy(): void;
|
|
776
|
+
destroy(isChild?: boolean): void;
|
|
751
777
|
renderQuads(renderer: CoreRenderer): void;
|
|
778
|
+
get renderTexture(): Texture | null;
|
|
779
|
+
get renderTextureCoords(): TextureCoords | undefined;
|
|
780
|
+
get quadBufferCollection(): BufferCollection;
|
|
781
|
+
get width(): number;
|
|
782
|
+
get height(): number;
|
|
783
|
+
get time(): number;
|
|
784
|
+
getTimerValue(): number;
|
|
785
|
+
sortChildren(): void;
|
|
786
|
+
removeChild(node: CoreNode, targetParent?: CoreNode | null): void;
|
|
787
|
+
addChild(node: CoreNode, previousParent?: CoreNode | null): void;
|
|
752
788
|
get id(): number;
|
|
753
789
|
get data(): CustomDataMap | undefined;
|
|
754
790
|
set data(d: CustomDataMap | undefined);
|
|
@@ -758,10 +794,10 @@ export declare class CoreNode extends EventEmitter {
|
|
|
758
794
|
get absY(): number;
|
|
759
795
|
get y(): number;
|
|
760
796
|
set y(value: number);
|
|
761
|
-
get
|
|
762
|
-
set
|
|
763
|
-
get
|
|
764
|
-
set
|
|
797
|
+
get w(): number;
|
|
798
|
+
set w(value: number);
|
|
799
|
+
get h(): number;
|
|
800
|
+
set h(value: number);
|
|
765
801
|
get scale(): number;
|
|
766
802
|
set scale(value: number);
|
|
767
803
|
get scaleX(): number;
|
|
@@ -808,14 +844,10 @@ export declare class CoreNode extends EventEmitter {
|
|
|
808
844
|
set colorBl(value: number);
|
|
809
845
|
get colorBr(): number;
|
|
810
846
|
set colorBr(value: number);
|
|
811
|
-
get zIndexLocked(): number;
|
|
812
|
-
set zIndexLocked(value: number);
|
|
813
847
|
get zIndex(): number;
|
|
814
848
|
set zIndex(value: number);
|
|
815
849
|
get parent(): CoreNode | null;
|
|
816
850
|
set parent(newParent: CoreNode | null);
|
|
817
|
-
get preventCleanup(): boolean;
|
|
818
|
-
set preventCleanup(value: boolean);
|
|
819
851
|
get rtt(): boolean;
|
|
820
852
|
set rtt(value: boolean);
|
|
821
853
|
private initRenderTexture;
|
|
@@ -828,7 +860,7 @@ export declare class CoreNode extends EventEmitter {
|
|
|
828
860
|
get src(): string | null;
|
|
829
861
|
set src(imageUrl: string | null);
|
|
830
862
|
set imageType(type: 'regular' | 'compressed' | 'svg' | null);
|
|
831
|
-
get imageType():
|
|
863
|
+
get imageType(): "regular" | "compressed" | "svg" | null;
|
|
832
864
|
get srcHeight(): number | undefined;
|
|
833
865
|
set srcHeight(value: number);
|
|
834
866
|
get srcWidth(): number | undefined;
|
|
@@ -838,12 +870,9 @@ export declare class CoreNode extends EventEmitter {
|
|
|
838
870
|
get srcY(): number | undefined;
|
|
839
871
|
set srcY(value: number);
|
|
840
872
|
/**
|
|
841
|
-
* Returns the framebuffer dimensions of the
|
|
842
|
-
* If the node has a render texture, the dimensions are the same as the node's dimensions.
|
|
843
|
-
* If the node does not have a render texture, the dimensions are inherited from the parent.
|
|
844
|
-
* If the node parent has a render texture and the node is a render texture, the nodes dimensions are used.
|
|
873
|
+
* Returns the framebuffer dimensions of the RTT parent
|
|
845
874
|
*/
|
|
846
|
-
get
|
|
875
|
+
get parentFramebufferDimensions(): Dimensions | null;
|
|
847
876
|
/**
|
|
848
877
|
* Returns the parent render texture node if it exists.
|
|
849
878
|
*/
|
|
@@ -852,9 +881,18 @@ export declare class CoreNode extends EventEmitter {
|
|
|
852
881
|
set texture(value: Texture | null);
|
|
853
882
|
set textureOptions(value: TextureOptions);
|
|
854
883
|
get textureOptions(): TextureOptions;
|
|
855
|
-
|
|
856
|
-
|
|
884
|
+
set interactive(value: boolean | undefined);
|
|
885
|
+
get interactive(): boolean | undefined;
|
|
886
|
+
setRTTUpdates(type: number): void;
|
|
857
887
|
animate(props: Partial<CoreNodeAnimateProps>, settings: Partial<AnimationSettings>): IAnimationController;
|
|
858
888
|
flush(): void;
|
|
889
|
+
/**
|
|
890
|
+
* Add a texture to the current RenderOp.
|
|
891
|
+
*
|
|
892
|
+
* @param texture
|
|
893
|
+
* @returns Assigned Texture Index of the texture in the render op
|
|
894
|
+
*/
|
|
895
|
+
addTexture(texture: WebGlCtxTexture): number;
|
|
896
|
+
draw(renderer: WebGlRenderer): void;
|
|
859
897
|
}
|
|
860
898
|
export {};
|