@lightningjs/renderer 3.0.0-beta6 → 3.0.0-beta8
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/exports/utils.d.ts +2 -1
- package/dist/exports/utils.js +2 -1
- package/dist/exports/utils.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +33 -49
- package/dist/src/core/CoreNode.js +268 -255
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +1 -1
- package/dist/src/core/CoreTextNode.js +14 -15
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.js +11 -4
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +27 -26
- package/dist/src/core/Stage.js +88 -36
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +9 -0
- package/dist/src/core/TextureMemoryManager.js +78 -48
- package/dist/src/core/TextureMemoryManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.js +5 -0
- 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 +7 -1
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +1 -1
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/utils.d.ts +1 -0
- package/dist/src/core/lib/utils.js +3 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +1 -0
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +1 -0
- package/dist/src/core/renderers/CoreShaderNode.js +9 -0
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +1 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +3 -0
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +1 -4
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -3
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +2 -2
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +57 -57
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- 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/internal/ShaderUtils.js +35 -35
- package/dist/src/core/shaders/canvas/LinearGradient.js +5 -3
- package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RadialGradient.js +13 -11
- package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js +7 -5
- package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +10 -8
- package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js +7 -5
- package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.js +1 -1
- package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/HolePunchTemplate.js +1 -1
- package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.js +1 -1
- package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +1 -1
- package/dist/src/core/shaders/{templates/shaderUtils.d.ts → utils.d.ts} +1 -1
- package/dist/src/core/shaders/{templates/shaderUtils.js → utils.js} +2 -2
- package/dist/src/core/shaders/utils.js.map +1 -0
- package/dist/src/core/shaders/webgl/Border.js +82 -82
- 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 +36 -35
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +41 -40
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +39 -38
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/Rounded.js +71 -71
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +111 -100
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +136 -123
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- 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/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -50
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +1 -1
- package/dist/src/core/textures/ImageTexture.js +6 -1
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +8 -0
- package/dist/src/core/textures/Texture.js +13 -0
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/main-api/Inspector.d.ts +6 -1
- package/dist/src/main-api/Inspector.js +42 -4
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +62 -43
- package/dist/src/main-api/Renderer.js +119 -31
- 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 +50 -44
- package/exports/webgl-shaders.ts +28 -28
- package/exports/webgl.ts +50 -50
- package/package.json +1 -2
- 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 +202 -202
- package/src/core/CoreNode.ts +2483 -2469
- package/src/core/CoreShaderManager.ts +188 -188
- package/src/core/CoreTextNode.ts +451 -448
- package/src/core/CoreTextureManager.ts +608 -600
- package/src/core/Stage.ts +800 -751
- package/src/core/TextureMemoryManager.ts +435 -394
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +291 -284
- package/src/core/animations/CoreAnimationController.ts +164 -157
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +286 -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 +390 -386
- package/src/core/lib/validateImageBitmap.ts +87 -87
- package/src/core/platforms/Platform.ts +77 -77
- package/src/core/platforms/web/WebPlatform.ts +84 -84
- package/src/core/renderers/CoreContextTexture.ts +43 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +110 -109
- package/src/core/renderers/CoreShaderNode.ts +175 -165
- package/src/core/renderers/CoreShaderProgram.ts +23 -23
- package/src/core/renderers/canvas/CanvasRenderer.ts +302 -298
- package/src/core/renderers/canvas/CanvasShaderNode.ts +96 -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 +298 -301
- package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -161
- package/src/core/renderers/webgl/WebGlRenderer.ts +747 -750
- package/src/core/renderers/webgl/WebGlShaderNode.ts +435 -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 +71 -69
- package/src/core/shaders/canvas/RadialGradient.ts +99 -113
- package/src/core/shaders/canvas/Rounded.ts +55 -55
- package/src/core/shaders/canvas/RoundedWithBorder.ts +74 -72
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +90 -88
- package/src/core/shaders/canvas/RoundedWithShadow.ts +70 -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 → utils.ts} +46 -47
- package/src/core/shaders/webgl/Border.ts +116 -116
- 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 +75 -78
- package/src/core/shaders/webgl/LinearGradient.ts +82 -81
- package/src/core/shaders/webgl/RadialGradient.ts +85 -84
- package/src/core/shaders/webgl/Rounded.ts +117 -117
- package/src/core/shaders/webgl/RoundedWithBorder.ts +155 -144
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +175 -166
- 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 -514
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +863 -863
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +793 -849
- 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 -497
- 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 -567
- package/src/core/textures/ColorTexture.ts +102 -102
- package/src/core/textures/ImageTexture.ts +418 -410
- 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 +372 -358
- 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 +569 -522
- package/src/main-api/Renderer.ts +818 -673
- 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.d.ts +0 -1
- package/dist/src/core/CoreStuff.js +0 -138
- package/dist/src/core/CoreStuff.js.map +0 -1
- package/dist/src/core/CoreTexturizer.d.ts +0 -14
- package/dist/src/core/CoreTexturizer.js +0 -47
- package/dist/src/core/CoreTexturizer.js.map +0 -1
- package/dist/src/core/LngNode.d.ts +0 -736
- package/dist/src/core/LngNode.js +0 -1174
- package/dist/src/core/LngNode.js.map +0 -1
- package/dist/src/core/Matrix2DContext.d.ts +0 -15
- package/dist/src/core/Matrix2DContext.js +0 -45
- package/dist/src/core/Matrix2DContext.js.map +0 -1
- package/dist/src/core/ShaderNode.d.ts +0 -10
- package/dist/src/core/ShaderNode.js +0 -30
- package/dist/src/core/ShaderNode.js.map +0 -1
- package/dist/src/core/TextNode.d.ts +0 -103
- package/dist/src/core/TextNode.js +0 -331
- package/dist/src/core/TextNode.js.map +0 -1
- package/dist/src/core/lib/Coords.d.ts +0 -14
- package/dist/src/core/lib/Coords.js +0 -55
- package/dist/src/core/lib/Coords.js.map +0 -1
- package/dist/src/core/lib/glm/common.d.ts +0 -162
- package/dist/src/core/lib/glm/common.js +0 -81
- package/dist/src/core/lib/glm/common.js.map +0 -1
- package/dist/src/core/lib/glm/index.d.ts +0 -11
- package/dist/src/core/lib/glm/index.js +0 -30
- package/dist/src/core/lib/glm/index.js.map +0 -1
- package/dist/src/core/lib/glm/mat2.d.ts +0 -219
- package/dist/src/core/lib/glm/mat2.js +0 -396
- package/dist/src/core/lib/glm/mat2.js.map +0 -1
- package/dist/src/core/lib/glm/mat2d.d.ts +0 -237
- package/dist/src/core/lib/glm/mat2d.js +0 -442
- package/dist/src/core/lib/glm/mat2d.js.map +0 -1
- package/dist/src/core/lib/glm/mat3.d.ts +0 -283
- package/dist/src/core/lib/glm/mat3.js +0 -680
- package/dist/src/core/lib/glm/mat3.js.map +0 -1
- package/dist/src/core/lib/glm/mat4.d.ts +0 -550
- package/dist/src/core/lib/glm/mat4.js +0 -1802
- package/dist/src/core/lib/glm/mat4.js.map +0 -1
- package/dist/src/core/lib/glm/quat.d.ts +0 -363
- package/dist/src/core/lib/glm/quat.js +0 -693
- package/dist/src/core/lib/glm/quat.js.map +0 -1
- package/dist/src/core/lib/glm/quat2.d.ts +0 -356
- package/dist/src/core/lib/glm/quat2.js +0 -754
- package/dist/src/core/lib/glm/quat2.js.map +0 -1
- package/dist/src/core/lib/glm/vec2.d.ts +0 -365
- package/dist/src/core/lib/glm/vec2.js +0 -569
- package/dist/src/core/lib/glm/vec2.js.map +0 -1
- package/dist/src/core/lib/glm/vec3.d.ts +0 -406
- package/dist/src/core/lib/glm/vec3.js +0 -720
- package/dist/src/core/lib/glm/vec3.js.map +0 -1
- package/dist/src/core/lib/glm/vec4.d.ts +0 -330
- package/dist/src/core/lib/glm/vec4.js +0 -608
- package/dist/src/core/lib/glm/vec4.js.map +0 -1
- package/dist/src/core/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/CoreShader.d.ts +0 -9
- package/dist/src/core/renderers/CoreShader.js +0 -28
- package/dist/src/core/renderers/CoreShader.js.map +0 -1
- package/dist/src/core/renderers/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/canvas/CanvasCoreRenderer.d.ts +0 -33
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
- package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -16
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -123
- package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
- package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -55
- package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
- package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -57
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -227
- package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
- package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -613
- package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
- package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -83
- package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -231
- package/dist/src/core/renderers/webgl/WebGlCoreShader.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/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
- package/dist/src/core/scene/Scene.d.ts +0 -59
- package/dist/src/core/scene/Scene.js +0 -106
- package/dist/src/core/scene/Scene.js.map +0 -1
- package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
- package/dist/src/main-api/DynamicShaderController.js +0 -58
- package/dist/src/main-api/DynamicShaderController.js.map +0 -1
- package/dist/src/main-api/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 +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/ShaderController.d.ts +0 -31
- package/dist/src/main-api/ShaderController.js +0 -37
- package/dist/src/main-api/ShaderController.js.map +0 -1
- package/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/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"makeRenderWindow.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAC;AAGvE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,CAAe,EACf,CAAe,EACf,OAA2B,EAC3B,UAAkB,EAClB,aAAqB,EACrB,aAAoB;IAEpB,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;IAChD,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,eAAe,CAAC,aAAa,CAAC;QACnC,CAAC,CAAC;YACE,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,YAAY;YAC/B,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;YAC9C,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,YAAY;SACxE;QACH,CAAC,CAAC;YACE,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;SACN,CAAC;AACR,CAAC"}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import type { CoreShaderManager, EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
|
-
import type { ExtractProps } from '../core/CoreTextureManager.js';
|
|
3
|
-
import type { EffectDesc } from '../core/renderers/webgl/shaders/effects/ShaderEffect.js';
|
|
4
|
-
import type { BaseShaderController } from './ShaderController.js';
|
|
5
|
-
type OptionalName<T> = T extends string ? T : never;
|
|
6
|
-
type MapEffectProps<Effects extends [...{
|
|
7
|
-
name?: string;
|
|
8
|
-
type: keyof EffectMap;
|
|
9
|
-
}[]]> = {
|
|
10
|
-
[K in Effects[number] as OptionalName<K['name']>]: ExtractProps<EffectMap[K['type']]>;
|
|
11
|
-
};
|
|
12
|
-
export type DynamicEffects<T extends [...{
|
|
13
|
-
name?: string;
|
|
14
|
-
type: keyof EffectMap;
|
|
15
|
-
}[]]> = {
|
|
16
|
-
[K in keyof T]: EffectDesc<T[K]>;
|
|
17
|
-
};
|
|
18
|
-
export declare class DynamicShaderController<Effects extends [...{
|
|
19
|
-
name?: string;
|
|
20
|
-
type: keyof EffectMap;
|
|
21
|
-
}[]]> implements BaseShaderController {
|
|
22
|
-
readonly shader: InstanceType<ShaderMap['DynamicShader']>;
|
|
23
|
-
private resolvedProps;
|
|
24
|
-
props: MapEffectProps<Effects>;
|
|
25
|
-
type: 'DynamicShader';
|
|
26
|
-
constructor(shader: InstanceType<ShaderMap['DynamicShader']>, props: ExtractProps<ShaderMap['DynamicShader']>, shManager: CoreShaderManager);
|
|
27
|
-
getResolvedProps(): import("../core/renderers/webgl/shaders/DynamicShader.js").DynamicShaderProps;
|
|
28
|
-
}
|
|
29
|
-
export {};
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
export class DynamicShaderController {
|
|
2
|
-
shader;
|
|
3
|
-
resolvedProps;
|
|
4
|
-
props;
|
|
5
|
-
type;
|
|
6
|
-
constructor(shader, props, shManager) {
|
|
7
|
-
this.shader = shader;
|
|
8
|
-
this.type = 'DynamicShader';
|
|
9
|
-
this.resolvedProps = props;
|
|
10
|
-
const effectConstructors = shManager.getRegisteredEffects();
|
|
11
|
-
const definedProps = {};
|
|
12
|
-
const effects = props.effects;
|
|
13
|
-
const effectsLength = effects.length;
|
|
14
|
-
for (let i = 0; i < effectsLength; i++) {
|
|
15
|
-
const { name: effectName, props: effectProps, type: effectType, } = effects[i];
|
|
16
|
-
if (effectName === undefined) {
|
|
17
|
-
continue;
|
|
18
|
-
}
|
|
19
|
-
const definedEffectProps = {};
|
|
20
|
-
const propEntries = Object.keys(effectProps);
|
|
21
|
-
const propEntriesLength = propEntries.length;
|
|
22
|
-
for (let j = 0; j < propEntriesLength; j++) {
|
|
23
|
-
const propName = propEntries[j];
|
|
24
|
-
Object.defineProperty(definedEffectProps, propName, {
|
|
25
|
-
get: () => {
|
|
26
|
-
return this.resolvedProps.effects[i].props[propName].value;
|
|
27
|
-
},
|
|
28
|
-
set: (value) => {
|
|
29
|
-
const target = this.resolvedProps.effects[i].props[propName];
|
|
30
|
-
target.value = value;
|
|
31
|
-
if (target.hasValidator) {
|
|
32
|
-
value = target.validatedValue = effectConstructors[effectType]
|
|
33
|
-
.uniforms[propName]?.validator(value, effectProps);
|
|
34
|
-
}
|
|
35
|
-
if (target.hasProgramValueUpdater) {
|
|
36
|
-
effectConstructors[effectType].uniforms[propName]
|
|
37
|
-
?.updateProgramValue(target);
|
|
38
|
-
}
|
|
39
|
-
else {
|
|
40
|
-
target.programValue = value;
|
|
41
|
-
}
|
|
42
|
-
shManager.renderer.stage.requestRender();
|
|
43
|
-
},
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
Object.defineProperty(definedProps, effectName, {
|
|
47
|
-
get: () => {
|
|
48
|
-
return definedEffectProps;
|
|
49
|
-
},
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
this.props = definedProps;
|
|
53
|
-
}
|
|
54
|
-
getResolvedProps() {
|
|
55
|
-
return this.resolvedProps;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
//# sourceMappingURL=DynamicShaderController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DynamicShaderController.js","sourceRoot":"","sources":["../../../src/main-api/DynamicShaderController.ts"],"names":[],"mappings":"AA0BA,MAAM,OAAO,uBAAuB;IASvB;IALH,aAAa,CAA2C;IAChE,KAAK,CAA0B;IAC/B,IAAI,CAAkB;IAEtB,YACW,MAAgD,EACzD,KAA+C,EAC/C,SAA4B;QAFnB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,kBAAkB,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,GACjB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAChB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,SAAS;YACX,CAAC;YACD,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC3C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;gBACjC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,GAAG,EAAE;wBACR,OACE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,QAAQ,CAI/C,CAAC,KAAK,CAAC;oBACV,CAAC;oBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAClD,QAAQ,CACc,CAAC;wBACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBACrB,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;4BACxB,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAE;iCAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;wBACxD,CAAC;wBACD,IAAI,MAAM,CAAC,sBAAsB,EAAE,CAAC;4BAClC,kBAAkB,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAChD,EAAE,kBAAmB,CAAC,MAA8B,CAAC,CAAC;wBAC1D,CAAC;6BAAM,CAAC;4BACN,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;wBAC9B,CAAC;wBACD,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;gBAC9C,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,kBAAkB,CAAC;gBAC5B,CAAC;aACF,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,KAAK,GAAG,YAAuC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { FpsUpdatePayload, FrameTickPayload } from '../common/CommonTypes.js';
|
|
2
|
-
import type { ShaderMap } from '../core/CoreShaderManager.js';
|
|
3
|
-
import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
|
|
4
|
-
import type { IShaderController } from './IShaderController.js';
|
|
5
|
-
import type { RendererMain, RendererMainSettings, SpecificShaderRef } from './RendererMain.js';
|
|
6
|
-
/**
|
|
7
|
-
* This interface is to be implemented by Core Drivers
|
|
8
|
-
*
|
|
9
|
-
* @remarks
|
|
10
|
-
* Both the {@link MainCoreDriver} and the {@link ThreadXCoreDriver} exist
|
|
11
|
-
* that implement this interface to support both the single-threaded and
|
|
12
|
-
* multi-threaded Core modes.
|
|
13
|
-
*/
|
|
14
|
-
export interface ICoreDriver {
|
|
15
|
-
init(rendererMain: RendererMain, rendererSettings: Required<RendererMainSettings>, canvas: HTMLCanvasElement): Promise<void>;
|
|
16
|
-
createNode(props: INodeWritableProps): INode;
|
|
17
|
-
createTextNode(props: ITextNodeWritableProps): ITextNode;
|
|
18
|
-
createShaderController<ShType extends keyof ShaderMap>(shaderRef: SpecificShaderRef<ShType>): IShaderController;
|
|
19
|
-
destroyNode(node: INode): void;
|
|
20
|
-
getRootNode(): INode;
|
|
21
|
-
releaseTexture(textureDescId: number): void;
|
|
22
|
-
onCreateNode(node: INode): void;
|
|
23
|
-
onBeforeDestroyNode(node: INode): void;
|
|
24
|
-
onFpsUpdate(fpsData: FpsUpdatePayload): void;
|
|
25
|
-
onFrameTick(frameTickData: FrameTickPayload): void;
|
|
26
|
-
onIdle?(): void;
|
|
27
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=ICoreDriver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ICoreDriver.js","sourceRoot":"","sources":["../../../src/main-api/ICoreDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
|
|
2
|
-
import type { RendererMain, RendererMainSettings } from './RendererMain.js';
|
|
3
|
-
/**
|
|
4
|
-
* This interface is to be implemented by Core Drivers
|
|
5
|
-
*
|
|
6
|
-
* @remarks
|
|
7
|
-
* Both the {@link MainRenderDriver} and the {@link ThreadXRenderDriver} exist
|
|
8
|
-
* that implement this interface to support both the single-threaded and
|
|
9
|
-
* multi-threaded Core modes.
|
|
10
|
-
*/
|
|
11
|
-
export interface IRenderDriver {
|
|
12
|
-
init(rendererMain: RendererMain, rendererSettings: Required<RendererMainSettings>, canvas: HTMLCanvasElement): Promise<void>;
|
|
13
|
-
createNode(props: INodeWritableProps): INode;
|
|
14
|
-
createTextNode(props: ITextNodeWritableProps): ITextNode;
|
|
15
|
-
destroyNode(node: INode): void;
|
|
16
|
-
getRootNode(): INode;
|
|
17
|
-
releaseTexture(textureDescId: number): void;
|
|
18
|
-
onCreateNode(node: INode): void;
|
|
19
|
-
onBeforeDestroyNode(node: INode): void;
|
|
20
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
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
|
-
export {};
|
|
20
|
-
//# sourceMappingURL=IRenderDriver.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IRenderDriver.js","sourceRoot":"","sources":["../../../src/main-api/IRenderDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ShaderMap } from "../core/CoreShaderManager.js";
|
|
2
|
-
import type { ExtractProps } from "../core/CoreTextureManager.js";
|
|
3
|
-
import type { INode } from "./INode.js";
|
|
4
|
-
import type { SpecificShaderRef } from "./RendererMain.js";
|
|
5
|
-
export declare abstract class IShaderController {
|
|
6
|
-
readonly shaderRef: SpecificShaderRef<keyof ShaderMap>;
|
|
7
|
-
node: INode | null;
|
|
8
|
-
constructor(shaderRef: SpecificShaderRef<keyof ShaderMap>);
|
|
9
|
-
defineProps(props: ExtractProps<ShaderMap[keyof ShaderMap]>): void;
|
|
10
|
-
attachNode(node: INode): void;
|
|
11
|
-
abstract loadShader(): void;
|
|
12
|
-
abstract setProp(propName: string, value: unknown): void;
|
|
13
|
-
abstract getProp(propName: string): unknown;
|
|
14
|
-
}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
export class IShaderController {
|
|
2
|
-
shaderRef;
|
|
3
|
-
node = null;
|
|
4
|
-
constructor(shaderRef) {
|
|
5
|
-
this.shaderRef = shaderRef;
|
|
6
|
-
}
|
|
7
|
-
defineProps(props) {
|
|
8
|
-
const keys = Object.keys(props);
|
|
9
|
-
const l = keys.length;
|
|
10
|
-
let i = 0;
|
|
11
|
-
for (; i < l; i++) {
|
|
12
|
-
const propName = keys[i];
|
|
13
|
-
Object.defineProperty(this, propName, {
|
|
14
|
-
get: () => {
|
|
15
|
-
return this.getProp(propName);
|
|
16
|
-
},
|
|
17
|
-
set: (value) => {
|
|
18
|
-
this.setProp(propName, value);
|
|
19
|
-
},
|
|
20
|
-
enumerable: true,
|
|
21
|
-
configurable: true,
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
attachNode(node) {
|
|
26
|
-
this.node = node;
|
|
27
|
-
this.loadShader();
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
//# sourceMappingURL=IShaderController.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IShaderController.js","sourceRoot":"","sources":["../../../src/main-api/IShaderController.ts"],"names":[],"mappings":"AAKA,MAAM,OAAgB,iBAAiB;IAGhB;IAFrB,IAAI,GAAiB,IAAI,CAAC;IAE1B,YAAqB,SAA6C;QAA7C,cAAS,GAAT,SAAS,CAAoC;IAClE,CAAC;IAED,WAAW,CAAC,KAA+C;QACzD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,OAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;YAChB,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAW,CAAC;YACnC,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,EAAE;gBACpC,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAA;gBAC/B,CAAC;gBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;oBACb,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAA;gBAC/B,CAAC;gBACD,UAAU,EAAE,IAAI;gBAChB,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;SACJ;IACH,CAAC;IAED,UAAU,CAAC,IAAW;QACpB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CAKF"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import type { IAnimationController } from '../common/IAnimationController.js';
|
|
2
|
-
import type { ShaderMap } from '../core/CoreShaderManager.js';
|
|
3
|
-
import type { Stage } from '../core/Stage.js';
|
|
4
|
-
import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
|
|
5
|
-
import type { INode } from './INode.js';
|
|
6
|
-
import type { SpecificShaderRef } from './RendererMain.js';
|
|
7
|
-
export declare abstract class IShaderNode {
|
|
8
|
-
shaderType: keyof ShaderMap;
|
|
9
|
-
props: SpecificShaderRef<keyof ShaderMap>['props'];
|
|
10
|
-
propsList: string[];
|
|
11
|
-
node: INode | null;
|
|
12
|
-
stage: Stage | null;
|
|
13
|
-
constructor(shaderType: keyof ShaderMap, props: SpecificShaderRef<keyof ShaderMap>['props']);
|
|
14
|
-
connectNode(node: INode): void;
|
|
15
|
-
abstract loadShader(): void;
|
|
16
|
-
abstract animate(props: Record<string, number>, settings: Partial<AnimationSettings>): IAnimationController;
|
|
17
|
-
}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
export class IShaderNode {
|
|
2
|
-
shaderType;
|
|
3
|
-
props;
|
|
4
|
-
propsList = [];
|
|
5
|
-
node = null;
|
|
6
|
-
stage = null;
|
|
7
|
-
constructor(shaderType, props) {
|
|
8
|
-
this.shaderType = shaderType;
|
|
9
|
-
this.props = props;
|
|
10
|
-
const keys = Object.keys(props);
|
|
11
|
-
this.propsList = keys.filter((prop) => prop.charAt(0) !== '$');
|
|
12
|
-
}
|
|
13
|
-
//called by node when node is initialized
|
|
14
|
-
connectNode(node) {
|
|
15
|
-
this.node = node;
|
|
16
|
-
this.loadShader();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
//# sourceMappingURL=IShaderNode.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"IShaderNode.js","sourceRoot":"","sources":["../../../src/main-api/IShaderNode.ts"],"names":[],"mappings":"AAOA,MAAM,OAAgB,WAAW;IAMtB;IACA;IANT,SAAS,GAAa,EAAE,CAAC;IACzB,IAAI,GAAiB,IAAI,CAAC;IAC1B,KAAK,GAAiB,IAAI,CAAC;IAE3B,YACS,UAA2B,EAC3B,KAAkD;QADlD,eAAU,GAAV,UAAU,CAAiB;QAC3B,UAAK,GAAL,KAAK,CAA6C;QAEzD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACjE,CAAC;IACD,yCAAyC;IACzC,WAAW,CAAC,IAAW;QACrB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;CAQF"}
|
|
@@ -1,375 +0,0 @@
|
|
|
1
|
-
import type { ShaderMap } from '../core/CoreShaderManager.js';
|
|
2
|
-
import type { ExtractProps, TextureMap, TextureOptions } from '../core/CoreTextureManager.js';
|
|
3
|
-
import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
|
|
4
|
-
import type { ICoreDriver } from './ICoreDriver.js';
|
|
5
|
-
import { type ManualCountTextureUsageTrackerOptions } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
|
|
6
|
-
import type { TextureUsageTracker } from './texture-usage-trackers/TextureUsageTracker.js';
|
|
7
|
-
import { EventEmitter } from '../common/EventEmitter.js';
|
|
8
|
-
import type { IShaderController } from './IShaderController.js';
|
|
9
|
-
/**
|
|
10
|
-
* An immutable reference to a specific Texture type
|
|
11
|
-
*
|
|
12
|
-
* @remarks
|
|
13
|
-
* See {@link TextureRef} for more details.
|
|
14
|
-
*/
|
|
15
|
-
export interface SpecificTextureRef<TxType extends keyof TextureMap> {
|
|
16
|
-
readonly descType: 'texture';
|
|
17
|
-
readonly txType: TxType;
|
|
18
|
-
readonly props: ExtractProps<TextureMap[TxType]>;
|
|
19
|
-
readonly options?: Readonly<TextureOptions>;
|
|
20
|
-
}
|
|
21
|
-
type MapTextureRefs<TxType extends keyof TextureMap> = TxType extends keyof TextureMap ? SpecificTextureRef<TxType> : never;
|
|
22
|
-
/**
|
|
23
|
-
* An immutable reference to a Texture
|
|
24
|
-
*
|
|
25
|
-
* @remarks
|
|
26
|
-
* This structure should only be created by the RendererMain's `createTexture`
|
|
27
|
-
* method. The structure is immutable and should not be modified once created.
|
|
28
|
-
*
|
|
29
|
-
* A `TextureRef` exists in the Main API Space and is used to point to an actual
|
|
30
|
-
* `Texture` instance in the Core API Space. The `TextureRef` is used to
|
|
31
|
-
* communicate with the Core API Space to create, load, and destroy the
|
|
32
|
-
* `Texture` instance.
|
|
33
|
-
*
|
|
34
|
-
* This type is technically a discriminated union of all possible texture types.
|
|
35
|
-
* If you'd like to represent a specific texture type, you can use the
|
|
36
|
-
* `SpecificTextureRef` generic type.
|
|
37
|
-
*/
|
|
38
|
-
export type TextureRef = MapTextureRefs<keyof TextureMap>;
|
|
39
|
-
/**
|
|
40
|
-
* An immutable reference to a specific Shader type
|
|
41
|
-
*
|
|
42
|
-
* @remarks
|
|
43
|
-
* See {@link ShaderRef} for more details.
|
|
44
|
-
*/
|
|
45
|
-
export interface SpecificShaderRef<ShType extends keyof ShaderMap> {
|
|
46
|
-
readonly descType: 'shader';
|
|
47
|
-
readonly shType: ShType;
|
|
48
|
-
readonly props: ExtractProps<ShaderMap[ShType]>;
|
|
49
|
-
}
|
|
50
|
-
type MapShaderRefs<ShType extends keyof ShaderMap> = ShType extends keyof ShaderMap ? SpecificShaderRef<ShType> : never;
|
|
51
|
-
/**
|
|
52
|
-
* An immutable reference to a Shader
|
|
53
|
-
*
|
|
54
|
-
* @remarks
|
|
55
|
-
* This structure should only be created by the RendererMain's `createShader`
|
|
56
|
-
* method. The structure is immutable and should not be modified once created.
|
|
57
|
-
*
|
|
58
|
-
* A `ShaderRef` exists in the Main API Space and is used to point to an actual
|
|
59
|
-
* `Shader` instance in the Core API Space. The `ShaderRef` is used to
|
|
60
|
-
* communicate with the Core API Space to create, load, and destroy the
|
|
61
|
-
* `Shader` instance.
|
|
62
|
-
*
|
|
63
|
-
* This type is technically a discriminated union of all possible shader types.
|
|
64
|
-
* If you'd like to represent a specific shader type, you can use the
|
|
65
|
-
* `SpecificShaderRef` generic type.
|
|
66
|
-
*/
|
|
67
|
-
export type ShaderRef = MapShaderRefs<keyof ShaderMap>;
|
|
68
|
-
/**
|
|
69
|
-
* Configuration settings for {@link RendererMain}
|
|
70
|
-
*/
|
|
71
|
-
export interface RendererMainSettings {
|
|
72
|
-
/**
|
|
73
|
-
* Authored logical pixel width of the application
|
|
74
|
-
*
|
|
75
|
-
* @defaultValue `1920`
|
|
76
|
-
*/
|
|
77
|
-
appWidth?: number;
|
|
78
|
-
/**
|
|
79
|
-
* Authored logical pixel height of the application
|
|
80
|
-
*
|
|
81
|
-
* @defaultValue `1080`
|
|
82
|
-
*/
|
|
83
|
-
appHeight?: number;
|
|
84
|
-
/**
|
|
85
|
-
* Texture Memory Byte Threshold
|
|
86
|
-
*
|
|
87
|
-
* @remarks
|
|
88
|
-
* When the amount of GPU VRAM used by textures exceeds this threshold,
|
|
89
|
-
* the Renderer will free up all the textures that are current not visible
|
|
90
|
-
* within the configured `boundsMargin`.
|
|
91
|
-
*
|
|
92
|
-
* When set to `0`, the threshold-based texture memory manager is disabled.
|
|
93
|
-
*/
|
|
94
|
-
txMemByteThreshold?: number;
|
|
95
|
-
/**
|
|
96
|
-
* Bounds margin to extend the boundary in which a CoreNode is added as Quad.
|
|
97
|
-
*/
|
|
98
|
-
boundsMargin?: number | [number, number, number, number];
|
|
99
|
-
/**
|
|
100
|
-
* Factor to convert app-authored logical coorindates to device logical coordinates
|
|
101
|
-
*
|
|
102
|
-
* @remarks
|
|
103
|
-
* This value allows auto-scaling to support larger/small resolutions than the
|
|
104
|
-
* app was authored for.
|
|
105
|
-
*
|
|
106
|
-
* If the app was authored for 1920x1080 and this value is 2, the app's canvas
|
|
107
|
-
* will be rendered at 3840x2160 logical pixels.
|
|
108
|
-
*
|
|
109
|
-
* Likewise, if the app was authored for 1920x1080 and this value is 0.66667,
|
|
110
|
-
* the app's canvas will be rendered at 1280x720 logical pixels.
|
|
111
|
-
*
|
|
112
|
-
* @defaultValue `1`
|
|
113
|
-
*/
|
|
114
|
-
deviceLogicalPixelRatio?: number;
|
|
115
|
-
/**
|
|
116
|
-
* Factor to convert device logical coordinates to device physical coordinates
|
|
117
|
-
*
|
|
118
|
-
* @remarks
|
|
119
|
-
* This value allows auto-scaling to support devices with different pixel densities.
|
|
120
|
-
*
|
|
121
|
-
* This controls the number of physical pixels that are used to render each logical
|
|
122
|
-
* pixel. For example, if the device has a pixel density of 2, each logical pixel
|
|
123
|
-
* will be rendered using 2x2 physical pixels.
|
|
124
|
-
*
|
|
125
|
-
* By default, it will be set to `window.devicePixelRatio` which is the pixel
|
|
126
|
-
* density of the device the app is running on reported by the browser.
|
|
127
|
-
*
|
|
128
|
-
* @defaultValue `window.devicePixelRatio`
|
|
129
|
-
*/
|
|
130
|
-
devicePhysicalPixelRatio?: number;
|
|
131
|
-
/**
|
|
132
|
-
* RGBA encoded number of the background to use
|
|
133
|
-
*
|
|
134
|
-
* @defaultValue `0x00000000`
|
|
135
|
-
*/
|
|
136
|
-
clearColor?: number;
|
|
137
|
-
/**
|
|
138
|
-
* Path to a custom core module to use
|
|
139
|
-
*
|
|
140
|
-
* @defaultValue `null`
|
|
141
|
-
*/
|
|
142
|
-
coreExtensionModule?: string | null;
|
|
143
|
-
/**
|
|
144
|
-
* Enable experimental FinalizationRegistry-based texture usage tracking
|
|
145
|
-
* for texture garbage collection
|
|
146
|
-
*
|
|
147
|
-
* @remarks
|
|
148
|
-
* By default, the Renderer uses a manual reference counting system to track
|
|
149
|
-
* texture usage. Textures are eventually released from the Core Texture
|
|
150
|
-
* Manager's Usage Cache when they are no longer referenced by any Nodes (or
|
|
151
|
-
* SubTextures that are referenced by nodes). This works well enough, but has
|
|
152
|
-
* the consequence of textures being removed from Usage Cache even if their
|
|
153
|
-
* references are still alive in memory. This can require a texture to be
|
|
154
|
-
* reloaded from the source when it is used again after being removed from
|
|
155
|
-
* cache.
|
|
156
|
-
*
|
|
157
|
-
* This is an experimental feature that uses a FinalizationRegistry to track
|
|
158
|
-
* texture usage. This causes textures to be removed from the Usage Cache only
|
|
159
|
-
* when their references are no longer alive in memory. Meaning a loaded texture
|
|
160
|
-
* will remain in the Usage Cache until it's reference is garbage collected.
|
|
161
|
-
*
|
|
162
|
-
* This feature is not enabled by default because browser support for the
|
|
163
|
-
* FinalizationRegistry is limited. It should NOT be enabled in production apps
|
|
164
|
-
* as this behavior is not guaranteed to be supported in the future. Developer
|
|
165
|
-
* feedback on this feature, however, is welcome.
|
|
166
|
-
*
|
|
167
|
-
* @defaultValue `false`
|
|
168
|
-
*/
|
|
169
|
-
experimental_FinalizationRegistryTextureUsageTracker?: boolean;
|
|
170
|
-
textureCleanupOptions?: ManualCountTextureUsageTrackerOptions;
|
|
171
|
-
/**
|
|
172
|
-
* Interval in milliseconds to receive FPS updates
|
|
173
|
-
*
|
|
174
|
-
* @remarks
|
|
175
|
-
* If set to `0`, FPS updates will be disabled.
|
|
176
|
-
*
|
|
177
|
-
* @defaultValue `0` (disabled)
|
|
178
|
-
*/
|
|
179
|
-
fpsUpdateInterval?: number;
|
|
180
|
-
/**
|
|
181
|
-
* Include context call (i.e. WebGL) information in FPS updates
|
|
182
|
-
*
|
|
183
|
-
* @remarks
|
|
184
|
-
* When enabled the number of calls to each context method over the
|
|
185
|
-
* `fpsUpdateInterval` will be included in the FPS update payload's
|
|
186
|
-
* `contextSpyData` property.
|
|
187
|
-
*
|
|
188
|
-
* Enabling the context spy has a serious impact on performance so only use it
|
|
189
|
-
* when you need to extract context call information.
|
|
190
|
-
*
|
|
191
|
-
* @defaultValue `false` (disabled)
|
|
192
|
-
*/
|
|
193
|
-
enableContextSpy?: boolean;
|
|
194
|
-
/**
|
|
195
|
-
* Number or Image Workers to use
|
|
196
|
-
*
|
|
197
|
-
* @remarks
|
|
198
|
-
* On devices with multiple cores, this can be used to improve image loading
|
|
199
|
-
* as well as reduce the impact of image loading on the main thread.
|
|
200
|
-
* Set to 0 to disable image workers.
|
|
201
|
-
*
|
|
202
|
-
* @defaultValue `2`
|
|
203
|
-
*/
|
|
204
|
-
numImageWorkers?: number;
|
|
205
|
-
/**
|
|
206
|
-
* Enable inspector
|
|
207
|
-
*
|
|
208
|
-
* @remarks
|
|
209
|
-
* When enabled the renderer will spawn a inspector. The inspector will
|
|
210
|
-
* replicate the state of the Nodes created in the renderer and allow
|
|
211
|
-
* inspection of the state of the nodes.
|
|
212
|
-
*
|
|
213
|
-
* @defaultValue `false` (disabled)
|
|
214
|
-
*/
|
|
215
|
-
enableInspector?: boolean;
|
|
216
|
-
}
|
|
217
|
-
/**
|
|
218
|
-
* The Renderer Main API
|
|
219
|
-
*
|
|
220
|
-
* @remarks
|
|
221
|
-
* This is the primary class used to configure and operate the Renderer.
|
|
222
|
-
*
|
|
223
|
-
* It is used to create and destroy Nodes, as well as Texture and Shader
|
|
224
|
-
* references.
|
|
225
|
-
*
|
|
226
|
-
* Example:
|
|
227
|
-
* ```ts
|
|
228
|
-
* import { RendererMain, MainCoreDriver } from '@lightningjs/renderer';
|
|
229
|
-
*
|
|
230
|
-
* // Initialize the Renderer
|
|
231
|
-
* const renderer = new RendererMain(
|
|
232
|
-
* {
|
|
233
|
-
* appWidth: 1920,
|
|
234
|
-
* appHeight: 1080
|
|
235
|
-
* },
|
|
236
|
-
* 'app',
|
|
237
|
-
* new MainCoreDriver(),
|
|
238
|
-
* );
|
|
239
|
-
* ```
|
|
240
|
-
*/
|
|
241
|
-
export declare class RendererMain extends EventEmitter {
|
|
242
|
-
readonly root: INode | null;
|
|
243
|
-
readonly driver: ICoreDriver;
|
|
244
|
-
readonly canvas: HTMLCanvasElement;
|
|
245
|
-
readonly settings: Readonly<Required<RendererMainSettings>>;
|
|
246
|
-
private inspector;
|
|
247
|
-
private nodes;
|
|
248
|
-
private nextTextureId;
|
|
249
|
-
/**
|
|
250
|
-
* Texture Usage Tracker for Usage Based Texture Garbage Collection
|
|
251
|
-
*
|
|
252
|
-
* @remarks
|
|
253
|
-
* For internal use only. DO NOT ACCESS.
|
|
254
|
-
*/
|
|
255
|
-
textureTracker: TextureUsageTracker;
|
|
256
|
-
/**
|
|
257
|
-
* Constructs a new Renderer instance
|
|
258
|
-
*
|
|
259
|
-
* @param settings Renderer settings
|
|
260
|
-
* @param target Element ID or HTMLElement to insert the canvas into
|
|
261
|
-
* @param driver Core Driver to use
|
|
262
|
-
*/
|
|
263
|
-
constructor(settings: RendererMainSettings, target: string | HTMLElement, driver: ICoreDriver);
|
|
264
|
-
/**
|
|
265
|
-
* Initialize the renderer
|
|
266
|
-
*
|
|
267
|
-
* @remarks
|
|
268
|
-
* This method must be called and resolved asyncronously before any other
|
|
269
|
-
* methods are called.
|
|
270
|
-
*/
|
|
271
|
-
init(): Promise<void>;
|
|
272
|
-
/**
|
|
273
|
-
* Create a new scene graph node
|
|
274
|
-
*
|
|
275
|
-
* @remarks
|
|
276
|
-
* A node is the main graphical building block of the Renderer scene graph. It
|
|
277
|
-
* can be a container for other nodes, or it can be a leaf node that renders a
|
|
278
|
-
* solid color, gradient, image, or specific texture, using a specific shader.
|
|
279
|
-
*
|
|
280
|
-
* To create a text node, see {@link createTextNode}.
|
|
281
|
-
*
|
|
282
|
-
* See {@link INode} for more details.
|
|
283
|
-
*
|
|
284
|
-
* @param props
|
|
285
|
-
* @returns
|
|
286
|
-
*/
|
|
287
|
-
createNode(props: Partial<INodeWritableProps>): INode;
|
|
288
|
-
/**
|
|
289
|
-
* Create a new scene graph text node
|
|
290
|
-
*
|
|
291
|
-
* @remarks
|
|
292
|
-
* A text node is the second graphical building block of the Renderer scene
|
|
293
|
-
* graph. It renders text using a specific text renderer that is automatically
|
|
294
|
-
* chosen based on the font requested and what type of fonts are installed
|
|
295
|
-
* into an app via a CoreExtension.
|
|
296
|
-
*
|
|
297
|
-
* See {@link ITextNode} for more details.
|
|
298
|
-
*
|
|
299
|
-
* @param props
|
|
300
|
-
* @returns
|
|
301
|
-
*/
|
|
302
|
-
createTextNode(props: Partial<ITextNodeWritableProps>): ITextNode;
|
|
303
|
-
/**
|
|
304
|
-
* Resolves the default property values for a Node
|
|
305
|
-
*
|
|
306
|
-
* @remarks
|
|
307
|
-
* This method is used internally by the RendererMain to resolve the default
|
|
308
|
-
* property values for a Node. It is exposed publicly so that it can be used
|
|
309
|
-
* by Core Driver implementations.
|
|
310
|
-
*
|
|
311
|
-
* @param props
|
|
312
|
-
* @returns
|
|
313
|
-
*/
|
|
314
|
-
resolveNodeDefaults(props: Partial<INodeWritableProps>): INodeWritableProps;
|
|
315
|
-
/**
|
|
316
|
-
* Destroy a node
|
|
317
|
-
*
|
|
318
|
-
* @remarks
|
|
319
|
-
* This method destroys a node but does not destroy its children.
|
|
320
|
-
*
|
|
321
|
-
* @param node
|
|
322
|
-
* @returns
|
|
323
|
-
*/
|
|
324
|
-
destroyNode(node: INode): void;
|
|
325
|
-
/**
|
|
326
|
-
* Create a new texture reference
|
|
327
|
-
*
|
|
328
|
-
* @remarks
|
|
329
|
-
* This method creates a new reference to a texture. The texture is not
|
|
330
|
-
* loaded until it is used on a node.
|
|
331
|
-
*
|
|
332
|
-
* It can be assigned to a node's `texture` property, or it can be used
|
|
333
|
-
* when creating a SubTexture.
|
|
334
|
-
*
|
|
335
|
-
* @param textureType
|
|
336
|
-
* @param props
|
|
337
|
-
* @param options
|
|
338
|
-
* @returns
|
|
339
|
-
*/
|
|
340
|
-
createTexture<TxType extends keyof TextureMap>(textureType: TxType, props: SpecificTextureRef<TxType>['props'], options?: TextureOptions): SpecificTextureRef<TxType>;
|
|
341
|
-
/**
|
|
342
|
-
* Create a new shader reference
|
|
343
|
-
*
|
|
344
|
-
* @remarks
|
|
345
|
-
* This method creates a new reference to a shader. The shader is not
|
|
346
|
-
* loaded until it is used on a Node.
|
|
347
|
-
*
|
|
348
|
-
* It can be assigned to a Node's `shader` property.
|
|
349
|
-
*
|
|
350
|
-
* @param shaderType
|
|
351
|
-
* @param props
|
|
352
|
-
* @returns
|
|
353
|
-
*/
|
|
354
|
-
createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: SpecificShaderRef<ShType>['props']): IShaderController;
|
|
355
|
-
/**
|
|
356
|
-
* Get a Node by its ID
|
|
357
|
-
*
|
|
358
|
-
* @param id
|
|
359
|
-
* @returns
|
|
360
|
-
*/
|
|
361
|
-
getNodeById(id: number): INode | null;
|
|
362
|
-
toggleFreeze(): void;
|
|
363
|
-
advanceFrame(): void;
|
|
364
|
-
/**
|
|
365
|
-
* Re-render the current frame without advancing any running animations.
|
|
366
|
-
*
|
|
367
|
-
* @remarks
|
|
368
|
-
* Any state changes will be reflected in the re-rendered frame. Useful for
|
|
369
|
-
* debugging.
|
|
370
|
-
*
|
|
371
|
-
* May not do anything if the render loop is running on a separate worker.
|
|
372
|
-
*/
|
|
373
|
-
rerender(): void;
|
|
374
|
-
}
|
|
375
|
-
export {};
|