@lightningjs/renderer 3.0.0-beta3 → 3.0.0-beta4
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/COPYING +1 -0
- package/LICENSE +202 -202
- package/NOTICE +3 -3
- package/README.md +147 -147
- package/dist/src/core/CoreNode.d.ts +3 -2
- package/dist/src/core/CoreNode.js +13 -7
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +2 -0
- package/dist/src/core/CoreTextNode.js +7 -0
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +2 -0
- package/dist/src/core/CoreTextureManager.js +7 -5
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +5 -0
- package/dist/src/core/Stage.js +10 -5
- package/dist/src/core/Stage.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 +37 -0
- package/dist/src/{main-api/IRenderDriver.js → core/platforms/Platform.js} +4 -2
- package/dist/src/core/platforms/Platform.js.map +1 -0
- package/dist/src/core/platforms/web/WebPlatform.d.ts +9 -0
- package/dist/src/core/platforms/web/WebPlatform.js +58 -0
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
- package/dist/src/core/renderers/CoreRenderer.d.ts +3 -1
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +3 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +86 -60
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +35 -35
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
- package/dist/src/core/shaders/webgl/Border.js +59 -59
- package/dist/src/core/shaders/webgl/Default.js +47 -47
- package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
- package/dist/src/core/shaders/webgl/HolePunch.js +32 -32
- package/dist/src/core/shaders/webgl/LinearGradient.js +36 -36
- package/dist/src/core/shaders/webgl/RadialGradient.js +33 -33
- package/dist/src/core/shaders/webgl/Rounded.js +71 -71
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +66 -66
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +79 -79
- package/dist/src/core/shaders/webgl/RoundedWithShadow.js +54 -54
- package/dist/src/core/shaders/webgl/SdfShader.js +62 -62
- package/dist/src/core/shaders/webgl/Shadow.js +83 -83
- package/dist/src/core/temp.js +77 -0
- package/dist/src/core/temp.js.map +1 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +5 -0
- package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -1
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +50 -2
- package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +6 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +66 -8
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
- package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +13 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js +3 -0
- package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +1 -0
- package/dist/src/core/textures/ImageTexture.js +5 -3
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +9 -2
- package/dist/src/core/textures/Texture.js +18 -6
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +12 -0
- package/dist/src/main-api/Renderer.js +14 -2
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/canvas-shaders.ts +28 -28
- package/exports/canvas.ts +45 -45
- package/exports/index.ts +90 -90
- package/exports/inspector.ts +24 -24
- package/exports/utils.ts +44 -44
- package/exports/webgl-shaders.ts +28 -28
- package/exports/webgl.ts +50 -50
- package/package.json +1 -2
- package/scripts/please-use-pnpm.js +13 -13
- package/src/common/CommonTypes.ts +146 -146
- package/src/common/EventEmitter.ts +77 -77
- package/src/common/IAnimationController.ts +92 -92
- package/src/common/IEventEmitter.ts +28 -28
- package/src/core/CoreNode.test.ts +203 -203
- package/src/core/CoreNode.ts +2494 -2486
- package/src/core/CoreShaderManager.ts +188 -188
- package/src/core/CoreTextNode.ts +448 -439
- package/src/core/CoreTextureManager.ts +601 -597
- package/src/core/Stage.ts +754 -738
- package/src/core/TextureMemoryManager.ts +395 -395
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +284 -284
- package/src/core/animations/CoreAnimationController.ts +157 -157
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +280 -280
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +71 -71
- package/src/core/lib/WebGlContextWrapper.ts +1374 -1374
- package/src/core/lib/textureCompression.ts +152 -152
- package/src/core/lib/textureSvg.ts +78 -78
- package/src/core/lib/utils.ts +386 -386
- package/src/core/lib/validateImageBitmap.ts +87 -76
- package/src/core/platform.ts +64 -64
- package/src/core/platforms/Platform.ts +77 -0
- package/src/core/platforms/web/WebPlatform.ts +84 -0
- package/src/core/renderers/CoreContextTexture.ts +43 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +109 -107
- package/src/core/renderers/CoreShaderNode.ts +165 -165
- package/src/core/renderers/CoreShaderProgram.ts +23 -23
- package/src/core/renderers/canvas/CanvasRenderer.ts +298 -298
- package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -99
- package/src/core/renderers/canvas/CanvasTexture.ts +156 -156
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +220 -220
- package/src/core/renderers/canvas/internal/ColorUtils.ts +85 -85
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +86 -86
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -50
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +301 -301
- package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -161
- package/src/core/renderers/webgl/WebGlRenderer.ts +750 -720
- package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -437
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -318
- package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
- package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
- package/src/core/renderers/webgl/internal/ShaderUtils.ts +281 -281
- package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
- package/src/core/shaders/canvas/Border.ts +78 -78
- package/src/core/shaders/canvas/HolePunch.ts +62 -62
- package/src/core/shaders/canvas/LinearGradient.ts +69 -69
- package/src/core/shaders/canvas/RadialGradient.ts +113 -113
- package/src/core/shaders/canvas/Rounded.ts +55 -55
- package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -68
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -88
- package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -69
- package/src/core/shaders/canvas/Shadow.ts +52 -52
- package/src/core/shaders/canvas/utils/render.ts +151 -151
- package/src/core/shaders/templates/BorderTemplate.ts +115 -115
- package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
- package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
- package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -81
- package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
- package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
- package/src/core/shaders/templates/shaderUtils.ts +47 -47
- package/src/core/shaders/webgl/Border.ts +96 -96
- package/src/core/shaders/webgl/Default.ts +89 -89
- package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
- package/src/core/shaders/webgl/HolePunch.ts +78 -78
- package/src/core/shaders/webgl/LinearGradient.ts +81 -81
- package/src/core/shaders/webgl/RadialGradient.ts +84 -84
- package/src/core/shaders/webgl/Rounded.ts +117 -117
- package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -114
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -133
- package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -98
- package/src/core/shaders/webgl/SdfShader.ts +134 -134
- package/src/core/shaders/webgl/Shadow.ts +115 -115
- package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
- package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
- package/src/core/text-rendering/TrFontManager.ts +183 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
- package/src/core/text-rendering/font-face-types/utils.ts +39 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +514 -509
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +863 -815
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +846 -840
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +497 -408
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +567 -550
- package/src/core/textures/ColorTexture.ts +102 -102
- package/src/core/textures/ImageTexture.ts +410 -399
- package/src/core/textures/NoiseTexture.ts +104 -104
- package/src/core/textures/RenderTexture.ts +85 -85
- package/src/core/textures/SubTexture.ts +205 -205
- package/src/core/textures/Texture.ts +358 -337
- package/src/core/utils.ts +227 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/INode.ts +100 -100
- package/src/main-api/Inspector.ts +522 -522
- package/src/main-api/Renderer.ts +675 -649
- package/src/main-api/utils.ts +45 -45
- package/src/utils.ts +267 -267
- package/dist/exports/core-api.d.ts +0 -74
- package/dist/exports/core-api.js +0 -96
- package/dist/exports/core-api.js.map +0 -1
- package/dist/exports/main-api.d.ts +0 -30
- package/dist/exports/main-api.js +0 -45
- package/dist/exports/main-api.js.map +0 -1
- package/dist/src/core/CoreExtension.d.ts +0 -12
- package/dist/src/core/CoreExtension.js +0 -29
- package/dist/src/core/CoreExtension.js.map +0 -1
- package/dist/src/core/CoreStuff.js +0 -138
- package/dist/src/core/CoreStuff.js.map +0 -1
- package/dist/src/core/CoreTexturizer.d.ts +0 -14
- package/dist/src/core/CoreTexturizer.js +0 -47
- package/dist/src/core/CoreTexturizer.js.map +0 -1
- package/dist/src/core/LngNode.d.ts +0 -736
- package/dist/src/core/LngNode.js +0 -1174
- package/dist/src/core/LngNode.js.map +0 -1
- package/dist/src/core/Matrix2DContext.d.ts +0 -15
- package/dist/src/core/Matrix2DContext.js +0 -45
- package/dist/src/core/Matrix2DContext.js.map +0 -1
- package/dist/src/core/ShaderNode.d.ts +0 -10
- package/dist/src/core/ShaderNode.js +0 -30
- package/dist/src/core/ShaderNode.js.map +0 -1
- package/dist/src/core/TextNode.d.ts +0 -103
- package/dist/src/core/TextNode.js +0 -331
- package/dist/src/core/TextNode.js.map +0 -1
- package/dist/src/core/lib/Coords.d.ts +0 -14
- package/dist/src/core/lib/Coords.js +0 -55
- package/dist/src/core/lib/Coords.js.map +0 -1
- package/dist/src/core/lib/glm/common.d.ts +0 -162
- package/dist/src/core/lib/glm/common.js +0 -81
- package/dist/src/core/lib/glm/common.js.map +0 -1
- package/dist/src/core/lib/glm/index.d.ts +0 -11
- package/dist/src/core/lib/glm/index.js +0 -30
- package/dist/src/core/lib/glm/index.js.map +0 -1
- package/dist/src/core/lib/glm/mat2.d.ts +0 -219
- package/dist/src/core/lib/glm/mat2.js +0 -396
- package/dist/src/core/lib/glm/mat2.js.map +0 -1
- package/dist/src/core/lib/glm/mat2d.d.ts +0 -237
- package/dist/src/core/lib/glm/mat2d.js +0 -442
- package/dist/src/core/lib/glm/mat2d.js.map +0 -1
- package/dist/src/core/lib/glm/mat3.d.ts +0 -283
- package/dist/src/core/lib/glm/mat3.js +0 -680
- package/dist/src/core/lib/glm/mat3.js.map +0 -1
- package/dist/src/core/lib/glm/mat4.d.ts +0 -550
- package/dist/src/core/lib/glm/mat4.js +0 -1802
- package/dist/src/core/lib/glm/mat4.js.map +0 -1
- package/dist/src/core/lib/glm/quat.d.ts +0 -363
- package/dist/src/core/lib/glm/quat.js +0 -693
- package/dist/src/core/lib/glm/quat.js.map +0 -1
- package/dist/src/core/lib/glm/quat2.d.ts +0 -356
- package/dist/src/core/lib/glm/quat2.js +0 -754
- package/dist/src/core/lib/glm/quat2.js.map +0 -1
- package/dist/src/core/lib/glm/vec2.d.ts +0 -365
- package/dist/src/core/lib/glm/vec2.js +0 -569
- package/dist/src/core/lib/glm/vec2.js.map +0 -1
- package/dist/src/core/lib/glm/vec3.d.ts +0 -406
- package/dist/src/core/lib/glm/vec3.js +0 -720
- package/dist/src/core/lib/glm/vec3.js.map +0 -1
- package/dist/src/core/lib/glm/vec4.d.ts +0 -330
- package/dist/src/core/lib/glm/vec4.js +0 -608
- package/dist/src/core/lib/glm/vec4.js.map +0 -1
- package/dist/src/core/renderers/CoreShaderManager.d.ts +0 -19
- package/dist/src/core/renderers/CoreShaderManager.js +0 -33
- package/dist/src/core/renderers/CoreShaderManager.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +0 -27
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +0 -82
- package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +0 -11
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +0 -34
- package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +0 -1
- package/dist/src/core/scene/Scene.d.ts +0 -59
- package/dist/src/core/scene/Scene.js +0 -106
- package/dist/src/core/scene/Scene.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
- package/dist/src/main-api/ICoreDriver.d.ts +0 -27
- package/dist/src/main-api/ICoreDriver.js +0 -20
- package/dist/src/main-api/ICoreDriver.js.map +0 -1
- package/dist/src/main-api/IRenderDriver.d.ts +0 -20
- package/dist/src/main-api/IRenderDriver.js.map +0 -1
- package/dist/src/main-api/IShaderController.d.ts +0 -14
- package/dist/src/main-api/IShaderController.js +0 -30
- package/dist/src/main-api/IShaderController.js.map +0 -1
- package/dist/src/main-api/IShaderNode.d.ts +0 -17
- package/dist/src/main-api/IShaderNode.js +0 -19
- package/dist/src/main-api/IShaderNode.js.map +0 -1
- package/dist/src/main-api/RendererMain.d.ts +0 -375
- package/dist/src/main-api/RendererMain.js +0 -365
- package/dist/src/main-api/RendererMain.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
- package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
- package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
- package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -24
- package/dist/src/render-drivers/main/MainCoreDriver.js +0 -118
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -99
- package/dist/src/render-drivers/main/MainOnlyNode.js +0 -396
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +0 -6
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +0 -15
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +0 -34
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -205
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +0 -17
- package/dist/src/render-drivers/main/MainRenderDriver.js +0 -88
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -90
- package/dist/src/render-drivers/threadx/NodeStruct.js +0 -281
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -39
- package/dist/src/render-drivers/threadx/SharedNode.js +0 -60
- package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -201
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -234
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -20
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -84
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -44
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -154
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +0 -6
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +0 -16
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +0 -15
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +0 -21
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +0 -198
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -177
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -108
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +0 -145
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
- package/dist/src/render-drivers/utils.d.ts +0 -12
- package/dist/src/render-drivers/utils.js +0 -69
- package/dist/src/render-drivers/utils.js.map +0 -1
- /package/dist/src/core/{CoreStuff.d.ts → temp.d.ts} +0 -0
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
import type { CoreNodeRenderState } from '../core/CoreNode.js';
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Types shared between Main Space and Core Space
|
|
24
|
-
*
|
|
25
|
-
* @remarks
|
|
26
|
-
*
|
|
27
|
-
* @module
|
|
28
|
-
*/
|
|
29
|
-
|
|
30
|
-
/**
|
|
31
|
-
* Represents a width and height.
|
|
32
|
-
*/
|
|
33
|
-
export interface Dimensions {
|
|
34
|
-
width: number;
|
|
35
|
-
height: number;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Payload for when text is loaded
|
|
40
|
-
*/
|
|
41
|
-
export type NodeTextLoadedPayload = {
|
|
42
|
-
type: 'text';
|
|
43
|
-
dimensions: Dimensions;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
/**
|
|
47
|
-
* Payload for when texture is loaded
|
|
48
|
-
*/
|
|
49
|
-
export type NodeTextureLoadedPayload = {
|
|
50
|
-
type: 'texture';
|
|
51
|
-
dimensions: Dimensions;
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
/**
|
|
55
|
-
* Combined type for all loaded payloads
|
|
56
|
-
*/
|
|
57
|
-
export type NodeLoadedPayload =
|
|
58
|
-
| NodeTextLoadedPayload
|
|
59
|
-
| NodeTextureLoadedPayload;
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Payload for when text failed to load
|
|
63
|
-
*/
|
|
64
|
-
export type NodeTextFailedPayload = {
|
|
65
|
-
type: 'text';
|
|
66
|
-
error: Error;
|
|
67
|
-
};
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Payload for when texture failed to load
|
|
71
|
-
*/
|
|
72
|
-
export type NodeTextureFailedPayload = {
|
|
73
|
-
type: 'texture';
|
|
74
|
-
error: Error;
|
|
75
|
-
};
|
|
76
|
-
|
|
77
|
-
/**
|
|
78
|
-
* Payload for when texture failed to load
|
|
79
|
-
*/
|
|
80
|
-
export type NodeTextureFreedPayload = {
|
|
81
|
-
type: 'texture';
|
|
82
|
-
};
|
|
83
|
-
|
|
84
|
-
/**
|
|
85
|
-
* Combined type for all failed payloads
|
|
86
|
-
*/
|
|
87
|
-
export type NodeFailedPayload =
|
|
88
|
-
| NodeTextFailedPayload
|
|
89
|
-
| NodeTextureFailedPayload;
|
|
90
|
-
|
|
91
|
-
/**
|
|
92
|
-
* Event handler for when the texture/text of a node has loaded
|
|
93
|
-
*/
|
|
94
|
-
export type NodeLoadedEventHandler = (
|
|
95
|
-
target: any,
|
|
96
|
-
payload: NodeLoadedPayload,
|
|
97
|
-
) => void;
|
|
98
|
-
|
|
99
|
-
/**
|
|
100
|
-
* Event handler for when the texture/text of a node has failed to load
|
|
101
|
-
*/
|
|
102
|
-
export type NodeFailedEventHandler = (
|
|
103
|
-
target: any,
|
|
104
|
-
payload: NodeFailedPayload,
|
|
105
|
-
) => void;
|
|
106
|
-
|
|
107
|
-
export type NodeRenderStatePayload = {
|
|
108
|
-
type: 'renderState';
|
|
109
|
-
payload: CoreNodeRenderState;
|
|
110
|
-
};
|
|
111
|
-
|
|
112
|
-
export type NodeRenderStateEventHandler = (
|
|
113
|
-
target: any,
|
|
114
|
-
payload: NodeRenderStatePayload,
|
|
115
|
-
) => void;
|
|
116
|
-
|
|
117
|
-
/**
|
|
118
|
-
* Event payload for when an FpsUpdate event is emitted by either the Stage or
|
|
119
|
-
* MainRenderer
|
|
120
|
-
*/
|
|
121
|
-
export interface FpsUpdatePayload {
|
|
122
|
-
fps: number;
|
|
123
|
-
contextSpyData: Record<string, number> | null;
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
/**
|
|
127
|
-
* Event payload for when a frame tick event is emitted by the Stage
|
|
128
|
-
*/
|
|
129
|
-
export interface FrameTickPayload {
|
|
130
|
-
time: number;
|
|
131
|
-
delta: number;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
/**
|
|
135
|
-
* Event payload for when a an animtion tick event is emitted
|
|
136
|
-
*/
|
|
137
|
-
export interface AnimationTickPayload {
|
|
138
|
-
progress: number;
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
/**
|
|
142
|
-
* Event payload for when an QuadsUpdate event is emitted by the Stage
|
|
143
|
-
*/
|
|
144
|
-
export interface QuadsUpdatePayload {
|
|
145
|
-
quads: number;
|
|
146
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
import type { CoreNodeRenderState } from '../core/CoreNode.js';
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Types shared between Main Space and Core Space
|
|
24
|
+
*
|
|
25
|
+
* @remarks
|
|
26
|
+
*
|
|
27
|
+
* @module
|
|
28
|
+
*/
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Represents a width and height.
|
|
32
|
+
*/
|
|
33
|
+
export interface Dimensions {
|
|
34
|
+
width: number;
|
|
35
|
+
height: number;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Payload for when text is loaded
|
|
40
|
+
*/
|
|
41
|
+
export type NodeTextLoadedPayload = {
|
|
42
|
+
type: 'text';
|
|
43
|
+
dimensions: Dimensions;
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Payload for when texture is loaded
|
|
48
|
+
*/
|
|
49
|
+
export type NodeTextureLoadedPayload = {
|
|
50
|
+
type: 'texture';
|
|
51
|
+
dimensions: Dimensions;
|
|
52
|
+
};
|
|
53
|
+
|
|
54
|
+
/**
|
|
55
|
+
* Combined type for all loaded payloads
|
|
56
|
+
*/
|
|
57
|
+
export type NodeLoadedPayload =
|
|
58
|
+
| NodeTextLoadedPayload
|
|
59
|
+
| NodeTextureLoadedPayload;
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Payload for when text failed to load
|
|
63
|
+
*/
|
|
64
|
+
export type NodeTextFailedPayload = {
|
|
65
|
+
type: 'text';
|
|
66
|
+
error: Error;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Payload for when texture failed to load
|
|
71
|
+
*/
|
|
72
|
+
export type NodeTextureFailedPayload = {
|
|
73
|
+
type: 'texture';
|
|
74
|
+
error: Error;
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
/**
|
|
78
|
+
* Payload for when texture failed to load
|
|
79
|
+
*/
|
|
80
|
+
export type NodeTextureFreedPayload = {
|
|
81
|
+
type: 'texture';
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Combined type for all failed payloads
|
|
86
|
+
*/
|
|
87
|
+
export type NodeFailedPayload =
|
|
88
|
+
| NodeTextFailedPayload
|
|
89
|
+
| NodeTextureFailedPayload;
|
|
90
|
+
|
|
91
|
+
/**
|
|
92
|
+
* Event handler for when the texture/text of a node has loaded
|
|
93
|
+
*/
|
|
94
|
+
export type NodeLoadedEventHandler = (
|
|
95
|
+
target: any,
|
|
96
|
+
payload: NodeLoadedPayload,
|
|
97
|
+
) => void;
|
|
98
|
+
|
|
99
|
+
/**
|
|
100
|
+
* Event handler for when the texture/text of a node has failed to load
|
|
101
|
+
*/
|
|
102
|
+
export type NodeFailedEventHandler = (
|
|
103
|
+
target: any,
|
|
104
|
+
payload: NodeFailedPayload,
|
|
105
|
+
) => void;
|
|
106
|
+
|
|
107
|
+
export type NodeRenderStatePayload = {
|
|
108
|
+
type: 'renderState';
|
|
109
|
+
payload: CoreNodeRenderState;
|
|
110
|
+
};
|
|
111
|
+
|
|
112
|
+
export type NodeRenderStateEventHandler = (
|
|
113
|
+
target: any,
|
|
114
|
+
payload: NodeRenderStatePayload,
|
|
115
|
+
) => void;
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Event payload for when an FpsUpdate event is emitted by either the Stage or
|
|
119
|
+
* MainRenderer
|
|
120
|
+
*/
|
|
121
|
+
export interface FpsUpdatePayload {
|
|
122
|
+
fps: number;
|
|
123
|
+
contextSpyData: Record<string, number> | null;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Event payload for when a frame tick event is emitted by the Stage
|
|
128
|
+
*/
|
|
129
|
+
export interface FrameTickPayload {
|
|
130
|
+
time: number;
|
|
131
|
+
delta: number;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Event payload for when a an animtion tick event is emitted
|
|
136
|
+
*/
|
|
137
|
+
export interface AnimationTickPayload {
|
|
138
|
+
progress: number;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Event payload for when an QuadsUpdate event is emitted by the Stage
|
|
143
|
+
*/
|
|
144
|
+
export interface QuadsUpdatePayload {
|
|
145
|
+
quads: number;
|
|
146
|
+
}
|
|
@@ -1,77 +1,77 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
|
|
20
|
-
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
21
|
-
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
22
|
-
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
23
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
24
|
-
import type { IEventEmitter } from './IEventEmitter.js';
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* EventEmitter base class
|
|
28
|
-
*/
|
|
29
|
-
export class EventEmitter implements IEventEmitter {
|
|
30
|
-
private eventListeners: { [eventName: string]: any } = {};
|
|
31
|
-
|
|
32
|
-
on(event: string, listener: (target: any, data: any) => void): void {
|
|
33
|
-
let listeners = this.eventListeners[event];
|
|
34
|
-
if (!listeners) {
|
|
35
|
-
listeners = [];
|
|
36
|
-
}
|
|
37
|
-
listeners.push(listener);
|
|
38
|
-
this.eventListeners[event] = listeners;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
off(event: string, listener?: (target: any, data: any) => void): void {
|
|
42
|
-
const listeners = this.eventListeners[event];
|
|
43
|
-
if (!listeners) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (!listener) {
|
|
47
|
-
delete this.eventListeners[event];
|
|
48
|
-
return;
|
|
49
|
-
}
|
|
50
|
-
const index = listeners.indexOf(listener);
|
|
51
|
-
if (index >= 0) {
|
|
52
|
-
listeners.splice(index, 1);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
once(event: string, listener: (target: any, data: any) => void): void {
|
|
57
|
-
const onceListener = (target: any, data: any) => {
|
|
58
|
-
this.off(event, onceListener);
|
|
59
|
-
listener(target, data);
|
|
60
|
-
};
|
|
61
|
-
this.on(event, onceListener);
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
emit(event: string, data?: any): void {
|
|
65
|
-
const listeners = this.eventListeners[event];
|
|
66
|
-
if (!listeners) {
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
[...listeners].forEach((listener) => {
|
|
70
|
-
listener(this, data);
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
removeAllListeners() {
|
|
75
|
-
this.eventListeners = {};
|
|
76
|
-
}
|
|
77
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
|
|
20
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
21
|
+
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
22
|
+
/* eslint-disable @typescript-eslint/no-unsafe-call */
|
|
23
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
24
|
+
import type { IEventEmitter } from './IEventEmitter.js';
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* EventEmitter base class
|
|
28
|
+
*/
|
|
29
|
+
export class EventEmitter implements IEventEmitter {
|
|
30
|
+
private eventListeners: { [eventName: string]: any } = {};
|
|
31
|
+
|
|
32
|
+
on(event: string, listener: (target: any, data: any) => void): void {
|
|
33
|
+
let listeners = this.eventListeners[event];
|
|
34
|
+
if (!listeners) {
|
|
35
|
+
listeners = [];
|
|
36
|
+
}
|
|
37
|
+
listeners.push(listener);
|
|
38
|
+
this.eventListeners[event] = listeners;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
off(event: string, listener?: (target: any, data: any) => void): void {
|
|
42
|
+
const listeners = this.eventListeners[event];
|
|
43
|
+
if (!listeners) {
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
if (!listener) {
|
|
47
|
+
delete this.eventListeners[event];
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
const index = listeners.indexOf(listener);
|
|
51
|
+
if (index >= 0) {
|
|
52
|
+
listeners.splice(index, 1);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
once(event: string, listener: (target: any, data: any) => void): void {
|
|
57
|
+
const onceListener = (target: any, data: any) => {
|
|
58
|
+
this.off(event, onceListener);
|
|
59
|
+
listener(target, data);
|
|
60
|
+
};
|
|
61
|
+
this.on(event, onceListener);
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
emit(event: string, data?: any): void {
|
|
65
|
+
const listeners = this.eventListeners[event];
|
|
66
|
+
if (!listeners) {
|
|
67
|
+
return;
|
|
68
|
+
}
|
|
69
|
+
[...listeners].forEach((listener) => {
|
|
70
|
+
listener(this, data);
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
removeAllListeners() {
|
|
75
|
+
this.eventListeners = {};
|
|
76
|
+
}
|
|
77
|
+
}
|
|
@@ -1,92 +1,92 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
|
-
import type { IEventEmitter } from './IEventEmitter.js';
|
|
20
|
-
|
|
21
|
-
export type AnimationControllerState =
|
|
22
|
-
| 'scheduled'
|
|
23
|
-
| 'running'
|
|
24
|
-
| 'paused'
|
|
25
|
-
| 'stopped';
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Animation Controller interface
|
|
29
|
-
*
|
|
30
|
-
* @remarks
|
|
31
|
-
* This interface is used to control animations. It provides methods to start,
|
|
32
|
-
* stop, pause, and restore animations. It also provides a way to wait for the
|
|
33
|
-
* animation to stop.
|
|
34
|
-
*
|
|
35
|
-
* This interface extends the `IEventEmitter` interface, which means you can
|
|
36
|
-
* listen to these events emitted by the animation controller:
|
|
37
|
-
* - `animating` - Emitted when the animation finishes it's delay phase and
|
|
38
|
-
* starts animating.
|
|
39
|
-
* - `stopped` - Emitted when the animation stops either by calling the `stop()`
|
|
40
|
-
* method or when the animation finishes naturally.
|
|
41
|
-
*/
|
|
42
|
-
export interface IAnimationController extends IEventEmitter {
|
|
43
|
-
/**
|
|
44
|
-
* Start the animation
|
|
45
|
-
*
|
|
46
|
-
* @remarks
|
|
47
|
-
* If the animation is paused this method will resume the animation.
|
|
48
|
-
*/
|
|
49
|
-
start(): IAnimationController;
|
|
50
|
-
/**
|
|
51
|
-
* Stop the animation
|
|
52
|
-
*
|
|
53
|
-
* @remarks
|
|
54
|
-
* Resets the animation to the start state
|
|
55
|
-
*/
|
|
56
|
-
stop(): IAnimationController;
|
|
57
|
-
/**
|
|
58
|
-
* Pause the animation
|
|
59
|
-
*/
|
|
60
|
-
pause(): IAnimationController;
|
|
61
|
-
/**
|
|
62
|
-
* Restore the animation to the original values
|
|
63
|
-
*/
|
|
64
|
-
restore(): IAnimationController;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Promise that resolves when the last active animation is stopped (including
|
|
68
|
-
* when the animation finishes naturally).
|
|
69
|
-
*
|
|
70
|
-
* @remarks
|
|
71
|
-
* The Promise returned by this method is reset every time the animation
|
|
72
|
-
* enters a new start/stop cycle. This means you must call `start()` before
|
|
73
|
-
* calling this method if you want to wait for the animation to stop.
|
|
74
|
-
*
|
|
75
|
-
* This method always returns a resolved promise if the animation is currently
|
|
76
|
-
* in a stopped state.
|
|
77
|
-
*
|
|
78
|
-
* @returns
|
|
79
|
-
*/
|
|
80
|
-
waitUntilStopped(): Promise<void>;
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Current state of the animation
|
|
84
|
-
*
|
|
85
|
-
* @remarks
|
|
86
|
-
* - `stopped` - The animation is currently stopped (at the beggining or end
|
|
87
|
-
* of the animation)
|
|
88
|
-
* - `running` - The animation is currently running
|
|
89
|
-
* - `paused` - The animation is currently paused
|
|
90
|
-
*/
|
|
91
|
-
readonly state: AnimationControllerState;
|
|
92
|
-
}
|
|
1
|
+
/*
|
|
2
|
+
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
+
* following copyright and licenses apply:
|
|
4
|
+
*
|
|
5
|
+
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
+
*
|
|
7
|
+
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
+
* you may not use this file except in compliance with the License.
|
|
9
|
+
* You may obtain a copy of the License at
|
|
10
|
+
*
|
|
11
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
+
*
|
|
13
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
+
* See the License for the specific language governing permissions and
|
|
17
|
+
* limitations under the License.
|
|
18
|
+
*/
|
|
19
|
+
import type { IEventEmitter } from './IEventEmitter.js';
|
|
20
|
+
|
|
21
|
+
export type AnimationControllerState =
|
|
22
|
+
| 'scheduled'
|
|
23
|
+
| 'running'
|
|
24
|
+
| 'paused'
|
|
25
|
+
| 'stopped';
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Animation Controller interface
|
|
29
|
+
*
|
|
30
|
+
* @remarks
|
|
31
|
+
* This interface is used to control animations. It provides methods to start,
|
|
32
|
+
* stop, pause, and restore animations. It also provides a way to wait for the
|
|
33
|
+
* animation to stop.
|
|
34
|
+
*
|
|
35
|
+
* This interface extends the `IEventEmitter` interface, which means you can
|
|
36
|
+
* listen to these events emitted by the animation controller:
|
|
37
|
+
* - `animating` - Emitted when the animation finishes it's delay phase and
|
|
38
|
+
* starts animating.
|
|
39
|
+
* - `stopped` - Emitted when the animation stops either by calling the `stop()`
|
|
40
|
+
* method or when the animation finishes naturally.
|
|
41
|
+
*/
|
|
42
|
+
export interface IAnimationController extends IEventEmitter {
|
|
43
|
+
/**
|
|
44
|
+
* Start the animation
|
|
45
|
+
*
|
|
46
|
+
* @remarks
|
|
47
|
+
* If the animation is paused this method will resume the animation.
|
|
48
|
+
*/
|
|
49
|
+
start(): IAnimationController;
|
|
50
|
+
/**
|
|
51
|
+
* Stop the animation
|
|
52
|
+
*
|
|
53
|
+
* @remarks
|
|
54
|
+
* Resets the animation to the start state
|
|
55
|
+
*/
|
|
56
|
+
stop(): IAnimationController;
|
|
57
|
+
/**
|
|
58
|
+
* Pause the animation
|
|
59
|
+
*/
|
|
60
|
+
pause(): IAnimationController;
|
|
61
|
+
/**
|
|
62
|
+
* Restore the animation to the original values
|
|
63
|
+
*/
|
|
64
|
+
restore(): IAnimationController;
|
|
65
|
+
|
|
66
|
+
/**
|
|
67
|
+
* Promise that resolves when the last active animation is stopped (including
|
|
68
|
+
* when the animation finishes naturally).
|
|
69
|
+
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* The Promise returned by this method is reset every time the animation
|
|
72
|
+
* enters a new start/stop cycle. This means you must call `start()` before
|
|
73
|
+
* calling this method if you want to wait for the animation to stop.
|
|
74
|
+
*
|
|
75
|
+
* This method always returns a resolved promise if the animation is currently
|
|
76
|
+
* in a stopped state.
|
|
77
|
+
*
|
|
78
|
+
* @returns
|
|
79
|
+
*/
|
|
80
|
+
waitUntilStopped(): Promise<void>;
|
|
81
|
+
|
|
82
|
+
/**
|
|
83
|
+
* Current state of the animation
|
|
84
|
+
*
|
|
85
|
+
* @remarks
|
|
86
|
+
* - `stopped` - The animation is currently stopped (at the beggining or end
|
|
87
|
+
* of the animation)
|
|
88
|
+
* - `running` - The animation is currently running
|
|
89
|
+
* - `paused` - The animation is currently paused
|
|
90
|
+
*/
|
|
91
|
+
readonly state: AnimationControllerState;
|
|
92
|
+
}
|