@lightningjs/renderer 3.0.0-beta1 → 3.0.0-beta10
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 +133 -147
- package/dist/exports/canvas.d.ts +1 -1
- package/dist/exports/canvas.js +1 -1
- package/dist/exports/canvas.js.map +1 -1
- package/dist/exports/index.d.ts +1 -5
- package/dist/exports/index.js +1 -5
- package/dist/exports/index.js.map +1 -1
- package/dist/exports/utils.d.ts +2 -1
- package/dist/exports/utils.js +2 -1
- package/dist/exports/utils.js.map +1 -1
- package/dist/exports/webgl.d.ts +2 -1
- package/dist/exports/webgl.js +2 -1
- package/dist/exports/webgl.js.map +1 -1
- package/dist/src/core/CoreNode.d.ts +45 -69
- package/dist/src/core/CoreNode.js +323 -305
- package/dist/src/core/CoreNode.js.map +1 -1
- package/dist/src/core/CoreShaderManager.d.ts +3 -5
- package/dist/src/core/CoreShaderManager.js.map +1 -1
- package/dist/src/core/CoreTextNode.d.ts +58 -87
- package/dist/src/core/CoreTextNode.js +243 -237
- package/dist/src/core/CoreTextNode.js.map +1 -1
- package/dist/src/core/CoreTextureManager.d.ts +9 -11
- package/dist/src/core/CoreTextureManager.js +80 -91
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +75 -31
- package/dist/src/core/Stage.js +270 -136
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +10 -1
- package/dist/src/core/TextureMemoryManager.js +112 -78
- 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 +11 -4
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +3 -2
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/lib/RenderCoords.d.ts +9 -10
- package/dist/src/core/lib/RenderCoords.js +43 -55
- package/dist/src/core/lib/RenderCoords.js.map +1 -1
- package/dist/src/core/lib/WebGlContextWrapper.d.ts +51 -2
- package/dist/src/core/lib/WebGlContextWrapper.js +92 -22
- package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
- package/dist/src/core/lib/colorCache.d.ts +1 -0
- package/dist/src/core/lib/colorCache.js +19 -0
- package/dist/src/core/lib/colorCache.js.map +1 -0
- package/dist/src/core/lib/colorParser.d.ts +21 -0
- package/dist/src/core/lib/colorParser.js +72 -0
- package/dist/src/core/lib/colorParser.js.map +1 -0
- package/dist/src/core/lib/utils.d.ts +3 -0
- package/dist/src/core/lib/utils.js +42 -0
- package/dist/src/core/lib/utils.js.map +1 -1
- package/dist/src/core/lib/validateImageBitmap.d.ts +2 -1
- package/dist/src/core/lib/validateImageBitmap.js +4 -4
- package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
- package/dist/src/core/platforms/Platform.d.ts +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 +84 -0
- package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
- package/dist/src/core/renderers/CoreContextTexture.d.ts +1 -1
- package/dist/src/core/renderers/CoreRenderer.d.ts +5 -2
- package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
- package/dist/src/core/renderers/CoreShaderNode.d.ts +3 -3
- package/dist/src/core/renderers/CoreShaderNode.js +8 -2
- package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +1 -2
- package/dist/src/core/renderers/canvas/CanvasRenderer.js +10 -21
- package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js +3 -5
- package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
- package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +2 -2
- package/dist/src/core/renderers/canvas/CanvasTexture.js +11 -9
- package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +3 -0
- package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +5 -6
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +30 -21
- package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +10 -2
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js +37 -19
- package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +5 -3
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +144 -117
- package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
- package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +2 -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/WebGlShaderProgram.d.ts +5 -3
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +55 -31
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
- package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +35 -35
- package/dist/src/core/shaders/canvas/Border.js +1 -1
- package/dist/src/core/shaders/canvas/Border.js.map +1 -1
- 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 +14 -6
- 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 +86 -63
- package/dist/src/core/shaders/webgl/Border.js.map +1 -1
- 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 +115 -72
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +138 -88
- 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 +63 -63
- package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
- package/dist/src/core/shaders/webgl/Shadow.js +83 -83
- package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +25 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js +130 -0
- package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +22 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js +366 -0
- package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/SdfFontHandler.d.ts +137 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js +336 -0
- package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js +355 -0
- package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/TextRenderer.d.ts +349 -0
- package/dist/src/{main-api/ICoreDriver.js → core/text-rendering/TextRenderer.js} +1 -1
- package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
- package/dist/src/core/text-rendering/Utils.d.ts +71 -0
- package/dist/src/core/text-rendering/Utils.js +212 -0
- package/dist/src/core/text-rendering/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/Settings.d.ts +64 -0
- package/dist/src/core/{renderers/CoreShader.js → text-rendering/canvas/Settings.js} +3 -11
- package/dist/src/core/text-rendering/canvas/Settings.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/Utils.d.ts +20 -0
- package/dist/src/core/text-rendering/canvas/Utils.js +144 -0
- package/dist/src/core/text-rendering/canvas/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +60 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +183 -0
- package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +1 -0
- package/dist/src/core/text-rendering/canvas/draw.d.ts +5 -0
- package/dist/src/core/text-rendering/canvas/draw.js +132 -0
- package/dist/src/core/text-rendering/canvas/draw.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 +9 -54
- 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/text-rendering/sdf/Utils.d.ts +26 -0
- package/dist/src/core/text-rendering/sdf/Utils.js +304 -0
- package/dist/src/core/text-rendering/sdf/Utils.js.map +1 -0
- package/dist/src/core/text-rendering/sdf/index.d.ts +1 -0
- package/dist/src/{main-api/texture-usage-trackers/TextureUsageTracker.js → core/text-rendering/sdf/index.js} +3 -11
- package/dist/src/core/text-rendering/sdf/index.js.map +1 -0
- package/dist/src/core/textures/ImageTexture.d.ts +4 -3
- package/dist/src/core/textures/ImageTexture.js +36 -9
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +21 -2
- package/dist/src/core/textures/Texture.js +37 -6
- package/dist/src/core/textures/Texture.js.map +1 -1
- package/dist/src/core/utils.d.ts +1 -1
- package/dist/src/main-api/INode.d.ts +2 -2
- package/dist/src/main-api/Inspector.d.ts +6 -1
- package/dist/src/main-api/Inspector.js +43 -7
- package/dist/src/main-api/Inspector.js.map +1 -1
- package/dist/src/main-api/Renderer.d.ts +122 -46
- package/dist/src/main-api/Renderer.js +174 -37
- package/dist/src/main-api/Renderer.js.map +1 -1
- package/dist/src/utils.d.ts +1 -6
- package/dist/src/utils.js +2 -9
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/exports/canvas-shaders.ts +28 -28
- package/exports/canvas.ts +45 -45
- package/exports/index.ts +82 -89
- package/exports/inspector.ts +24 -24
- package/exports/utils.ts +50 -44
- package/exports/webgl-shaders.ts +28 -28
- package/exports/webgl.ts +52 -50
- package/package.json +2 -4
- 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 -203
- package/src/core/CoreNode.ts +2491 -2476
- package/src/core/CoreShaderManager.ts +188 -193
- package/src/core/CoreTextNode.ts +443 -448
- package/src/core/CoreTextureManager.ts +565 -597
- package/src/core/Stage.ts +906 -740
- package/src/core/TextureMemoryManager.ts +445 -395
- package/src/core/animations/AnimationManager.ts +38 -38
- package/src/core/animations/CoreAnimation.ts +291 -284
- package/src/core/animations/CoreAnimationController.ts +166 -157
- package/src/core/lib/ContextSpy.ts +41 -41
- package/src/core/lib/ImageWorker.ts +286 -279
- package/src/core/lib/Matrix3d.ts +244 -244
- package/src/core/lib/RenderCoords.ts +71 -86
- package/src/core/lib/WebGlContextWrapper.ts +1381 -1324
- package/src/core/lib/colorCache.ts +20 -0
- package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -85
- package/src/core/lib/textureCompression.ts +152 -152
- package/src/core/lib/textureSvg.ts +78 -78
- package/src/core/lib/utils.ts +412 -361
- package/src/core/lib/validateImageBitmap.ts +87 -76
- package/src/core/platforms/Platform.ts +77 -0
- package/src/core/platforms/web/WebPlatform.ts +121 -0
- package/src/core/renderers/CoreContextTexture.ts +43 -43
- package/src/core/renderers/CoreRenderOp.ts +22 -22
- package/src/core/renderers/CoreRenderer.ts +110 -107
- package/src/core/renderers/CoreShaderNode.ts +175 -171
- package/src/core/renderers/CoreShaderProgram.ts +23 -23
- package/src/core/renderers/canvas/CanvasRenderer.ts +283 -299
- package/src/core/renderers/canvas/CanvasShaderNode.ts +96 -99
- package/src/core/renderers/canvas/CanvasTexture.ts +156 -153
- package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +91 -86
- package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -50
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +310 -301
- package/src/core/renderers/webgl/WebGlRenderOp.ts +167 -145
- package/src/core/renderers/webgl/WebGlRenderer.ts +747 -715
- package/src/core/renderers/webgl/WebGlShaderNode.ts +435 -433
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +341 -310
- 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 +75 -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 -68
- 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 -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 +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 -114
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +175 -133
- package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -98
- package/src/core/shaders/webgl/SdfShader.ts +134 -137
- package/src/core/shaders/webgl/Shadow.ts +115 -115
- package/src/core/text-rendering/CanvasFontHandler.ts +176 -0
- package/src/core/text-rendering/CanvasTextRenderer.ts +622 -0
- package/src/core/text-rendering/SdfFontHandler.ts +517 -0
- package/src/core/text-rendering/SdfTextRenderer.ts +466 -0
- package/src/core/text-rendering/TextRenderer.ts +404 -0
- package/src/core/text-rendering/{TextTextureRendererUtils.ts → Utils.ts} +257 -263
- package/src/core/text-rendering/canvas/Settings.ts +99 -0
- package/src/core/text-rendering/canvas/Utils.test.ts +206 -0
- package/src/core/text-rendering/canvas/Utils.ts +178 -0
- package/src/core/text-rendering/canvas/calculateRenderInfo.ts +299 -0
- package/src/core/text-rendering/canvas/draw.ts +165 -0
- package/src/core/text-rendering/sdf/Utils.test.ts +402 -0
- package/src/core/text-rendering/sdf/Utils.ts +436 -0
- package/src/core/text-rendering/sdf/index.ts +20 -0
- package/src/core/textures/ColorTexture.ts +102 -102
- package/src/core/textures/ImageTexture.ts +418 -376
- 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 +381 -337
- package/src/core/utils.ts +227 -227
- package/src/env.d.ts +7 -7
- package/src/main-api/INode.ts +100 -99
- package/src/main-api/Inspector.ts +567 -522
- package/src/main-api/Renderer.ts +873 -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.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.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.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/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.map +0 -1
- package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -24
- package/dist/src/render-drivers/main/MainCoreDriver.js +0 -118
- package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -99
- package/dist/src/render-drivers/main/MainOnlyNode.js +0 -396
- package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +0 -6
- package/dist/src/render-drivers/main/MainOnlyShaderController.js +0 -15
- package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js +0 -34
- package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
- package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -205
- package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
- package/dist/src/render-drivers/main/MainRenderDriver.d.ts +0 -17
- package/dist/src/render-drivers/main/MainRenderDriver.js +0 -88
- package/dist/src/render-drivers/main/MainRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -90
- package/dist/src/render-drivers/threadx/NodeStruct.js +0 -281
- package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -39
- package/dist/src/render-drivers/threadx/SharedNode.js +0 -60
- package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
- package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -201
- package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -234
- package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -20
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -84
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -44
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -154
- package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +0 -6
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +0 -16
- package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +0 -7
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +0 -15
- package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
- package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +0 -21
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +0 -198
- package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +0 -1
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
- package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -177
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -108
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
- package/dist/src/render-drivers/threadx/worker/renderer.js +0 -145
- package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
- package/dist/src/render-drivers/utils.d.ts +0 -12
- package/dist/src/render-drivers/utils.js +0 -69
- package/dist/src/render-drivers/utils.js.map +0 -1
- package/scripts/please-use-pnpm.js +0 -13
- package/src/core/platform.ts +0 -64
- package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
- package/src/core/text-rendering/TextRenderingUtils.ts +0 -36
- package/src/core/text-rendering/TrFontManager.ts +0 -183
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
- package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
- package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
- package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
- package/src/core/text-rendering/font-face-types/utils.ts +0 -39
- package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -509
- package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -815
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -841
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +0 -32
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +0 -38
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -408
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
- package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +0 -40
- package/src/core/text-rendering/renderers/TextRenderer.ts +0 -550
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
import type { ExtractProps, TextureMap } from '../core/CoreTextureManager.js';
|
|
2
2
|
import { EventEmitter } from '../common/EventEmitter.js';
|
|
3
|
-
import { Stage } from '../core/Stage.js';
|
|
3
|
+
import { Stage, type StageOptions } from '../core/Stage.js';
|
|
4
4
|
import { CoreNode } from '../core/CoreNode.js';
|
|
5
5
|
import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js';
|
|
6
6
|
import type { TextureMemoryManagerSettings } from '../core/TextureMemoryManager.js';
|
|
7
|
-
import type {
|
|
8
|
-
import type { SdfTextRenderer } from '../core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
9
|
-
import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
|
|
7
|
+
import type { TextRenderer } from '../core/text-rendering/TextRenderer.js';
|
|
10
8
|
import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js';
|
|
9
|
+
import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
|
|
11
10
|
import type { Inspector } from './Inspector.js';
|
|
12
11
|
import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
|
|
13
12
|
import type { ExtractShaderProps, OptionalShaderProps, ShaderMap } from '../core/CoreShaderManager.js';
|
|
13
|
+
import { Platform } from '../core/platforms/Platform.js';
|
|
14
14
|
/**
|
|
15
|
-
*
|
|
15
|
+
* Settings for the Renderer that can be updated during runtime.
|
|
16
16
|
*/
|
|
17
|
-
export interface
|
|
17
|
+
export interface RendererRuntimeSettings {
|
|
18
18
|
/**
|
|
19
19
|
* Authored logical pixel width of the application
|
|
20
20
|
*
|
|
21
21
|
* @defaultValue `1920`
|
|
22
22
|
*/
|
|
23
|
-
appWidth
|
|
23
|
+
appWidth: number;
|
|
24
24
|
/**
|
|
25
25
|
* Authored logical pixel height of the application
|
|
26
26
|
*
|
|
27
27
|
* @defaultValue `1080`
|
|
28
28
|
*/
|
|
29
|
-
appHeight
|
|
29
|
+
appHeight: number;
|
|
30
30
|
/**
|
|
31
31
|
* Texture Memory Manager Settings
|
|
32
32
|
*/
|
|
33
|
-
textureMemory
|
|
33
|
+
textureMemory: Partial<TextureMemoryManagerSettings>;
|
|
34
34
|
/**
|
|
35
35
|
* Bounds margin to extend the boundary in which a Node is added as Quad.
|
|
36
36
|
*/
|
|
37
|
-
boundsMargin
|
|
37
|
+
boundsMargin: number | [number, number, number, number];
|
|
38
38
|
/**
|
|
39
39
|
* Factor to convert app-authored logical coorindates to device logical coordinates
|
|
40
40
|
*
|
|
@@ -50,7 +50,7 @@ export interface RendererMainSettings {
|
|
|
50
50
|
*
|
|
51
51
|
* @defaultValue `1`
|
|
52
52
|
*/
|
|
53
|
-
deviceLogicalPixelRatio
|
|
53
|
+
deviceLogicalPixelRatio: number;
|
|
54
54
|
/**
|
|
55
55
|
* Factor to convert device logical coordinates to device physical coordinates
|
|
56
56
|
*
|
|
@@ -66,13 +66,13 @@ export interface RendererMainSettings {
|
|
|
66
66
|
*
|
|
67
67
|
* @defaultValue `window.devicePixelRatio`
|
|
68
68
|
*/
|
|
69
|
-
devicePhysicalPixelRatio
|
|
69
|
+
devicePhysicalPixelRatio: number;
|
|
70
70
|
/**
|
|
71
71
|
* RGBA encoded number of the background to use
|
|
72
72
|
*
|
|
73
73
|
* @defaultValue `0x00000000`
|
|
74
74
|
*/
|
|
75
|
-
clearColor
|
|
75
|
+
clearColor: number;
|
|
76
76
|
/**
|
|
77
77
|
* Interval in milliseconds to receive FPS updates
|
|
78
78
|
*
|
|
@@ -81,7 +81,47 @@ export interface RendererMainSettings {
|
|
|
81
81
|
*
|
|
82
82
|
* @defaultValue `0` (disabled)
|
|
83
83
|
*/
|
|
84
|
-
fpsUpdateInterval
|
|
84
|
+
fpsUpdateInterval: number;
|
|
85
|
+
/**
|
|
86
|
+
* DOM Inspector
|
|
87
|
+
*
|
|
88
|
+
* @remarks
|
|
89
|
+
* The inspector will replicate the state of the Nodes created
|
|
90
|
+
* in the renderer and allow inspection of the state of the nodes.
|
|
91
|
+
*
|
|
92
|
+
*/
|
|
93
|
+
inspector: typeof Inspector | false;
|
|
94
|
+
/**
|
|
95
|
+
* Texture Processing Limit (in milliseconds)
|
|
96
|
+
*
|
|
97
|
+
* @remarks
|
|
98
|
+
* The maximum amount of time the renderer is allowed to process textures in a
|
|
99
|
+
* single frame. If the processing time exceeds this limit, the renderer will
|
|
100
|
+
* skip processing the remaining textures and continue rendering the frame.
|
|
101
|
+
*
|
|
102
|
+
* @defaultValue `10`
|
|
103
|
+
*/
|
|
104
|
+
textureProcessingTimeLimit: number;
|
|
105
|
+
/**
|
|
106
|
+
* Target FPS for the global render loop
|
|
107
|
+
*
|
|
108
|
+
* @remarks
|
|
109
|
+
* Controls the maximum frame rate of the entire rendering system.
|
|
110
|
+
* When set to 0, no throttling is applied (use display refresh rate).
|
|
111
|
+
* When set to a positive number, the global requestAnimationFrame loop
|
|
112
|
+
* will be throttled to this target FPS, affecting all animations and rendering.
|
|
113
|
+
*
|
|
114
|
+
* This provides global performance control for the entire application,
|
|
115
|
+
* useful for managing performance on lower-end devices.
|
|
116
|
+
*
|
|
117
|
+
* @defaultValue `0` (no throttling, use display refresh rate)
|
|
118
|
+
*/
|
|
119
|
+
targetFPS: number;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Configuration settings for {@link RendererMain}
|
|
123
|
+
*/
|
|
124
|
+
export type RendererMainSettings = RendererRuntimeSettings & {
|
|
85
125
|
/**
|
|
86
126
|
* Include context call (i.e. WebGL) information in FPS updates
|
|
87
127
|
*
|
|
@@ -95,7 +135,7 @@ export interface RendererMainSettings {
|
|
|
95
135
|
*
|
|
96
136
|
* @defaultValue `false` (disabled)
|
|
97
137
|
*/
|
|
98
|
-
enableContextSpy
|
|
138
|
+
enableContextSpy: boolean;
|
|
99
139
|
/**
|
|
100
140
|
* Number or Image Workers to use
|
|
101
141
|
*
|
|
@@ -106,16 +146,7 @@ export interface RendererMainSettings {
|
|
|
106
146
|
*
|
|
107
147
|
* @defaultValue `2`
|
|
108
148
|
*/
|
|
109
|
-
numImageWorkers
|
|
110
|
-
/**
|
|
111
|
-
* DOM Inspector
|
|
112
|
-
*
|
|
113
|
-
* @remarks
|
|
114
|
-
* The inspector will replicate the state of the Nodes created
|
|
115
|
-
* in the renderer and allow inspection of the state of the nodes.
|
|
116
|
-
*
|
|
117
|
-
*/
|
|
118
|
-
inspector?: typeof Inspector | false;
|
|
149
|
+
numImageWorkers: number;
|
|
119
150
|
/**
|
|
120
151
|
* Renderer Engine
|
|
121
152
|
*
|
|
@@ -135,7 +166,7 @@ export interface RendererMainSettings {
|
|
|
135
166
|
*
|
|
136
167
|
* @defaultValue 4 * 1024 * 1024
|
|
137
168
|
*/
|
|
138
|
-
quadBufferSize
|
|
169
|
+
quadBufferSize: number;
|
|
139
170
|
/**
|
|
140
171
|
* Font Engines
|
|
141
172
|
*
|
|
@@ -164,7 +195,7 @@ export interface RendererMainSettings {
|
|
|
164
195
|
*
|
|
165
196
|
*
|
|
166
197
|
*/
|
|
167
|
-
fontEngines:
|
|
198
|
+
fontEngines: TextRenderer[];
|
|
168
199
|
/**
|
|
169
200
|
* Force WebGL2
|
|
170
201
|
*
|
|
@@ -174,7 +205,7 @@ export interface RendererMainSettings {
|
|
|
174
205
|
*
|
|
175
206
|
* @defaultValue `false`
|
|
176
207
|
*/
|
|
177
|
-
forceWebGL2
|
|
208
|
+
forceWebGL2: boolean;
|
|
178
209
|
/**
|
|
179
210
|
* Enable strictBounds
|
|
180
211
|
*
|
|
@@ -184,18 +215,7 @@ export interface RendererMainSettings {
|
|
|
184
215
|
*
|
|
185
216
|
* @defaultValue `true`
|
|
186
217
|
*/
|
|
187
|
-
strictBounds
|
|
188
|
-
/**
|
|
189
|
-
* Texture Processing Limit (in milliseconds)
|
|
190
|
-
*
|
|
191
|
-
* @remarks
|
|
192
|
-
* The maximum amount of time the renderer is allowed to process textures in a
|
|
193
|
-
* single frame. If the processing time exceeds this limit, the renderer will
|
|
194
|
-
* skip processing the remaining textures and continue rendering the frame.
|
|
195
|
-
*
|
|
196
|
-
* @defaultValue `10`
|
|
197
|
-
*/
|
|
198
|
-
textureProcessingTimeLimit?: number;
|
|
218
|
+
strictBounds: boolean;
|
|
199
219
|
/**
|
|
200
220
|
* Canvas object to use for rendering
|
|
201
221
|
*
|
|
@@ -203,7 +223,7 @@ export interface RendererMainSettings {
|
|
|
203
223
|
* This is used to render the scene graph. If not provided, a new canvas
|
|
204
224
|
* element will be created and appended to the target element.
|
|
205
225
|
*/
|
|
206
|
-
canvas
|
|
226
|
+
canvas: HTMLCanvasElement;
|
|
207
227
|
/**
|
|
208
228
|
* createImageBitmap support for the runtime
|
|
209
229
|
*
|
|
@@ -227,8 +247,19 @@ export interface RendererMainSettings {
|
|
|
227
247
|
*
|
|
228
248
|
* @defaultValue `full`
|
|
229
249
|
*/
|
|
230
|
-
createImageBitmapSupport
|
|
231
|
-
|
|
250
|
+
createImageBitmapSupport: 'auto' | 'basic' | 'options' | 'full';
|
|
251
|
+
/**
|
|
252
|
+
* Provide an alternative platform abstraction layer
|
|
253
|
+
*
|
|
254
|
+
* @remarks
|
|
255
|
+
* By default the Lightning 3 renderer will load a webplatform, assuming it runs
|
|
256
|
+
* inside a web browsr. However for special cases there might be a need to provide
|
|
257
|
+
* an abstracted platform layer to run on non-web or non-standard JS engines
|
|
258
|
+
*
|
|
259
|
+
* @defaultValue `null`
|
|
260
|
+
*/
|
|
261
|
+
platform: typeof Platform | null;
|
|
262
|
+
};
|
|
232
263
|
/**
|
|
233
264
|
* The Renderer Main API
|
|
234
265
|
*
|
|
@@ -282,7 +313,6 @@ export interface RendererMainSettings {
|
|
|
282
313
|
export declare class RendererMain extends EventEmitter {
|
|
283
314
|
readonly root: INode;
|
|
284
315
|
readonly canvas: HTMLCanvasElement;
|
|
285
|
-
readonly settings: Readonly<Required<RendererMainSettings>>;
|
|
286
316
|
readonly stage: Stage;
|
|
287
317
|
private inspector;
|
|
288
318
|
/**
|
|
@@ -292,7 +322,14 @@ export declare class RendererMain extends EventEmitter {
|
|
|
292
322
|
* @param target Element ID or HTMLElement to insert the canvas into
|
|
293
323
|
* @param driver Core Driver to use
|
|
294
324
|
*/
|
|
295
|
-
constructor(settings: RendererMainSettings
|
|
325
|
+
constructor(settings: Partial<RendererMainSettings>, target: string | HTMLElement);
|
|
326
|
+
/**
|
|
327
|
+
* Resolves the Texture Memory Manager values
|
|
328
|
+
*
|
|
329
|
+
* @param props
|
|
330
|
+
* @returns
|
|
331
|
+
*/
|
|
332
|
+
private resolveTxSettings;
|
|
296
333
|
/**
|
|
297
334
|
* Create a new scene graph node
|
|
298
335
|
*
|
|
@@ -365,7 +402,7 @@ export declare class RendererMain extends EventEmitter {
|
|
|
365
402
|
* @param props
|
|
366
403
|
* @returns
|
|
367
404
|
*/
|
|
368
|
-
createShader<ShType extends keyof ShaderMap>(shType: ShType, props?: OptionalShaderProps<ShType>): CoreShaderNode<ExtractShaderProps<ShType
|
|
405
|
+
createShader<ShType extends keyof ShaderMap>(shType: ShType, props?: OptionalShaderProps<ShType>): CoreShaderNode<NonNullable<ExtractShaderProps<ShType>>>;
|
|
369
406
|
/**
|
|
370
407
|
* Get a Node by its ID
|
|
371
408
|
*
|
|
@@ -411,4 +448,43 @@ export declare class RendererMain extends EventEmitter {
|
|
|
411
448
|
* @param color - The color to set as the clear color.
|
|
412
449
|
*/
|
|
413
450
|
setClearColor(color: number): void;
|
|
451
|
+
/**
|
|
452
|
+
* Set options for the renderer
|
|
453
|
+
*
|
|
454
|
+
* @param options
|
|
455
|
+
*/
|
|
456
|
+
setOptions(options: Partial<RendererRuntimeSettings>): void;
|
|
457
|
+
private updateAppDimensions;
|
|
458
|
+
get settings(): Readonly<StageOptions>;
|
|
459
|
+
/**
|
|
460
|
+
* Gets the target FPS for the global render loop
|
|
461
|
+
*
|
|
462
|
+
* @returns The current target FPS (0 means no throttling)
|
|
463
|
+
*
|
|
464
|
+
* @remarks
|
|
465
|
+
* This controls the maximum frame rate of the entire rendering system.
|
|
466
|
+
* When 0, the system runs at display refresh rate.
|
|
467
|
+
*/
|
|
468
|
+
get targetFPS(): number;
|
|
469
|
+
/**
|
|
470
|
+
* Sets the target FPS for the global render loop
|
|
471
|
+
*
|
|
472
|
+
* @param fps - The target FPS to set for the global render loop.
|
|
473
|
+
* Set to 0 or a negative value to disable throttling.
|
|
474
|
+
*
|
|
475
|
+
* @remarks
|
|
476
|
+
* This setting affects the entire rendering system immediately.
|
|
477
|
+
* All animations, rendering, and frame updates will be throttled
|
|
478
|
+
* to this target FPS. Provides global performance control.
|
|
479
|
+
*
|
|
480
|
+
* @example
|
|
481
|
+
* ```typescript
|
|
482
|
+
* // Set global target to 30fps for better performance
|
|
483
|
+
* renderer.targetFPS = 30;
|
|
484
|
+
*
|
|
485
|
+
* // Disable global throttling (use display refresh rate)
|
|
486
|
+
* renderer.targetFPS = 0;
|
|
487
|
+
* ```
|
|
488
|
+
*/
|
|
489
|
+
set targetFPS(fps: number);
|
|
414
490
|
}
|
|
@@ -17,10 +17,12 @@
|
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
19
|
import { EventEmitter } from '../common/EventEmitter.js';
|
|
20
|
-
import {
|
|
20
|
+
import { isProductionEnvironment } from '../utils.js';
|
|
21
21
|
import { Stage } from '../core/Stage.js';
|
|
22
22
|
import { CoreNode } from '../core/CoreNode.js';
|
|
23
23
|
import {} from '../core/CoreTextNode.js';
|
|
24
|
+
import { WebPlatform } from '../core/platforms/web/WebPlatform.js';
|
|
25
|
+
import { Platform } from '../core/platforms/Platform.js';
|
|
24
26
|
/**
|
|
25
27
|
* The Renderer Main API
|
|
26
28
|
*
|
|
@@ -74,7 +76,6 @@ import {} from '../core/CoreTextNode.js';
|
|
|
74
76
|
export class RendererMain extends EventEmitter {
|
|
75
77
|
root;
|
|
76
78
|
canvas;
|
|
77
|
-
settings;
|
|
78
79
|
stage;
|
|
79
80
|
inspector = null;
|
|
80
81
|
/**
|
|
@@ -86,15 +87,8 @@ export class RendererMain extends EventEmitter {
|
|
|
86
87
|
*/
|
|
87
88
|
constructor(settings, target) {
|
|
88
89
|
super();
|
|
89
|
-
const resolvedTxSettings = {
|
|
90
|
-
|
|
91
|
-
targetThresholdLevel: settings.textureMemory?.targetThresholdLevel || 0.5,
|
|
92
|
-
cleanupInterval: settings.textureMemory?.cleanupInterval || 5000,
|
|
93
|
-
debugLogging: settings.textureMemory?.debugLogging || false,
|
|
94
|
-
baselineMemoryAllocation: settings.textureMemory?.baselineMemoryAllocation || 26e6,
|
|
95
|
-
doNotExceedCriticalThreshold: settings.textureMemory?.doNotExceedCriticalThreshold || false,
|
|
96
|
-
};
|
|
97
|
-
const resolvedSettings = {
|
|
90
|
+
const resolvedTxSettings = this.resolveTxSettings(settings.textureMemory || {});
|
|
91
|
+
settings = {
|
|
98
92
|
appWidth: settings.appWidth || 1920,
|
|
99
93
|
appHeight: settings.appHeight || 1080,
|
|
100
94
|
textureMemory: resolvedTxSettings,
|
|
@@ -103,20 +97,31 @@ export class RendererMain extends EventEmitter {
|
|
|
103
97
|
devicePhysicalPixelRatio: settings.devicePhysicalPixelRatio || window.devicePixelRatio,
|
|
104
98
|
clearColor: settings.clearColor ?? 0x00000000,
|
|
105
99
|
fpsUpdateInterval: settings.fpsUpdateInterval || 0,
|
|
100
|
+
targetFPS: settings.targetFPS || 0,
|
|
106
101
|
numImageWorkers: settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
|
|
107
102
|
enableContextSpy: settings.enableContextSpy ?? false,
|
|
108
103
|
forceWebGL2: settings.forceWebGL2 ?? false,
|
|
109
104
|
inspector: settings.inspector ?? false,
|
|
110
105
|
renderEngine: settings.renderEngine,
|
|
111
106
|
quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
|
|
112
|
-
fontEngines: settings.fontEngines,
|
|
107
|
+
fontEngines: settings.fontEngines ?? [],
|
|
113
108
|
strictBounds: settings.strictBounds ?? true,
|
|
114
|
-
textureProcessingTimeLimit: settings.textureProcessingTimeLimit ||
|
|
109
|
+
textureProcessingTimeLimit: settings.textureProcessingTimeLimit || 42,
|
|
115
110
|
canvas: settings.canvas || document.createElement('canvas'),
|
|
116
111
|
createImageBitmapSupport: settings.createImageBitmapSupport || 'full',
|
|
112
|
+
platform: settings.platform || null,
|
|
117
113
|
};
|
|
118
|
-
|
|
119
|
-
|
|
114
|
+
const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, canvas, } = settings;
|
|
115
|
+
let platform;
|
|
116
|
+
if (settings.platform !== undefined &&
|
|
117
|
+
settings.platform !== null &&
|
|
118
|
+
settings.platform.prototype instanceof Platform === true) {
|
|
119
|
+
// @ts-ignore - if Platform is a valid class, it will be used
|
|
120
|
+
platform = new settings.platform();
|
|
121
|
+
}
|
|
122
|
+
else {
|
|
123
|
+
platform = new WebPlatform();
|
|
124
|
+
}
|
|
120
125
|
const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
|
|
121
126
|
const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
|
|
122
127
|
this.canvas = canvas;
|
|
@@ -126,26 +131,28 @@ export class RendererMain extends EventEmitter {
|
|
|
126
131
|
canvas.style.height = `${deviceLogicalHeight}px`;
|
|
127
132
|
// Initialize the stage
|
|
128
133
|
this.stage = new Stage({
|
|
129
|
-
appWidth
|
|
130
|
-
appHeight
|
|
131
|
-
boundsMargin:
|
|
132
|
-
clearColor:
|
|
134
|
+
appWidth,
|
|
135
|
+
appHeight,
|
|
136
|
+
boundsMargin: settings.boundsMargin,
|
|
137
|
+
clearColor: settings.clearColor,
|
|
133
138
|
canvas: this.canvas,
|
|
134
|
-
deviceLogicalPixelRatio
|
|
135
|
-
devicePhysicalPixelRatio
|
|
136
|
-
enableContextSpy:
|
|
137
|
-
forceWebGL2:
|
|
138
|
-
fpsUpdateInterval:
|
|
139
|
-
numImageWorkers:
|
|
140
|
-
renderEngine:
|
|
139
|
+
deviceLogicalPixelRatio,
|
|
140
|
+
devicePhysicalPixelRatio,
|
|
141
|
+
enableContextSpy: settings.enableContextSpy,
|
|
142
|
+
forceWebGL2: settings.forceWebGL2,
|
|
143
|
+
fpsUpdateInterval: settings.fpsUpdateInterval,
|
|
144
|
+
numImageWorkers: settings.numImageWorkers,
|
|
145
|
+
renderEngine: settings.renderEngine,
|
|
141
146
|
textureMemory: resolvedTxSettings,
|
|
142
147
|
eventBus: this,
|
|
143
|
-
quadBufferSize:
|
|
144
|
-
fontEngines:
|
|
145
|
-
inspector:
|
|
146
|
-
strictBounds:
|
|
147
|
-
|
|
148
|
-
|
|
148
|
+
quadBufferSize: settings.quadBufferSize,
|
|
149
|
+
fontEngines: settings.fontEngines,
|
|
150
|
+
inspector: settings.inspector !== null,
|
|
151
|
+
strictBounds: settings.strictBounds,
|
|
152
|
+
targetFPS: settings.targetFPS,
|
|
153
|
+
textureProcessingTimeLimit: settings.textureProcessingTimeLimit,
|
|
154
|
+
createImageBitmapSupport: settings.createImageBitmapSupport,
|
|
155
|
+
platform,
|
|
149
156
|
});
|
|
150
157
|
// Extract the root node
|
|
151
158
|
this.root = this.stage.root;
|
|
@@ -162,10 +169,37 @@ export class RendererMain extends EventEmitter {
|
|
|
162
169
|
}
|
|
163
170
|
targetEl.appendChild(canvas);
|
|
164
171
|
// Initialize inspector (if enabled)
|
|
165
|
-
if (inspector &&
|
|
166
|
-
this.inspector = new inspector(canvas,
|
|
172
|
+
if (inspector && isProductionEnvironment === false) {
|
|
173
|
+
this.inspector = new inspector(canvas, settings);
|
|
167
174
|
}
|
|
168
175
|
}
|
|
176
|
+
/**
|
|
177
|
+
* Resolves the Texture Memory Manager values
|
|
178
|
+
*
|
|
179
|
+
* @param props
|
|
180
|
+
* @returns
|
|
181
|
+
*/
|
|
182
|
+
resolveTxSettings(textureMemory) {
|
|
183
|
+
const currentTxSettings = (this.stage && this.stage.options.textureMemory) || {};
|
|
184
|
+
return {
|
|
185
|
+
criticalThreshold: textureMemory?.criticalThreshold ??
|
|
186
|
+
currentTxSettings?.criticalThreshold ??
|
|
187
|
+
124e6,
|
|
188
|
+
targetThresholdLevel: textureMemory?.targetThresholdLevel ??
|
|
189
|
+
currentTxSettings?.targetThresholdLevel ??
|
|
190
|
+
0.5,
|
|
191
|
+
cleanupInterval: textureMemory?.cleanupInterval ??
|
|
192
|
+
currentTxSettings?.cleanupInterval ??
|
|
193
|
+
5000,
|
|
194
|
+
debugLogging: textureMemory?.debugLogging ?? currentTxSettings?.debugLogging ?? false,
|
|
195
|
+
baselineMemoryAllocation: textureMemory?.baselineMemoryAllocation ??
|
|
196
|
+
currentTxSettings?.baselineMemoryAllocation ??
|
|
197
|
+
26e6,
|
|
198
|
+
doNotExceedCriticalThreshold: textureMemory?.doNotExceedCriticalThreshold ??
|
|
199
|
+
currentTxSettings?.doNotExceedCriticalThreshold ??
|
|
200
|
+
false,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
169
203
|
/**
|
|
170
204
|
* Create a new scene graph node
|
|
171
205
|
*
|
|
@@ -182,13 +216,10 @@ export class RendererMain extends EventEmitter {
|
|
|
182
216
|
* @returns
|
|
183
217
|
*/
|
|
184
218
|
createNode(props) {
|
|
185
|
-
assertTruthy(this.stage, 'Stage is not initialized');
|
|
186
219
|
const node = this.stage.createNode(props);
|
|
187
220
|
if (this.inspector) {
|
|
188
221
|
return this.inspector.createNode(node);
|
|
189
222
|
}
|
|
190
|
-
// FIXME onDestroy event? node.once('beforeDestroy'
|
|
191
|
-
// FIXME onCreate event?
|
|
192
223
|
return node;
|
|
193
224
|
}
|
|
194
225
|
/**
|
|
@@ -338,5 +369,111 @@ export class RendererMain extends EventEmitter {
|
|
|
338
369
|
setClearColor(color) {
|
|
339
370
|
this.stage.setClearColor(color);
|
|
340
371
|
}
|
|
372
|
+
/**
|
|
373
|
+
* Set options for the renderer
|
|
374
|
+
*
|
|
375
|
+
* @param options
|
|
376
|
+
*/
|
|
377
|
+
setOptions(options) {
|
|
378
|
+
const stage = this.stage;
|
|
379
|
+
if (options.textureMemory !== undefined) {
|
|
380
|
+
const textureMemory = (options.textureMemory = this.resolveTxSettings(options.textureMemory));
|
|
381
|
+
stage.txMemManager.updateSettings(textureMemory);
|
|
382
|
+
stage.txMemManager.cleanup();
|
|
383
|
+
}
|
|
384
|
+
if (options.boundsMargin !== undefined) {
|
|
385
|
+
let bm = options.boundsMargin;
|
|
386
|
+
options.boundsMargin = Array.isArray(bm) ? bm : [bm, bm, bm, bm];
|
|
387
|
+
}
|
|
388
|
+
const stageOptions = stage.options;
|
|
389
|
+
for (let key in options) {
|
|
390
|
+
stageOptions[key] = options[key];
|
|
391
|
+
}
|
|
392
|
+
if (options.inspector !== undefined && !isProductionEnvironment) {
|
|
393
|
+
if (options.inspector === false) {
|
|
394
|
+
this.inspector?.destroy();
|
|
395
|
+
this.inspector = null;
|
|
396
|
+
}
|
|
397
|
+
else if (this.inspector === null ||
|
|
398
|
+
this.inspector.constructor !== options.inspector) {
|
|
399
|
+
this.inspector = new options.inspector(this.canvas, stage.options);
|
|
400
|
+
this.inspector?.createNodes(this.root);
|
|
401
|
+
}
|
|
402
|
+
}
|
|
403
|
+
let needDimensionsUpdate = false;
|
|
404
|
+
if (options.deviceLogicalPixelRatio ||
|
|
405
|
+
options.devicePhysicalPixelRatio !== undefined) {
|
|
406
|
+
this.stage.pixelRatio =
|
|
407
|
+
stageOptions.devicePhysicalPixelRatio *
|
|
408
|
+
stageOptions.deviceLogicalPixelRatio;
|
|
409
|
+
this.inspector?.updateViewport(stageOptions.appWidth, stageOptions.appHeight, stageOptions.deviceLogicalPixelRatio);
|
|
410
|
+
needDimensionsUpdate = true;
|
|
411
|
+
}
|
|
412
|
+
if (options.appWidth !== undefined || options.appHeight !== undefined) {
|
|
413
|
+
this.inspector?.updateViewport(stageOptions.appWidth, stageOptions.appHeight, stageOptions.deviceLogicalPixelRatio);
|
|
414
|
+
needDimensionsUpdate = true;
|
|
415
|
+
}
|
|
416
|
+
if (options.boundsMargin !== undefined) {
|
|
417
|
+
this.stage.setBoundsMargin(options.boundsMargin);
|
|
418
|
+
}
|
|
419
|
+
if (options.clearColor !== undefined) {
|
|
420
|
+
this.stage.setClearColor(options.clearColor);
|
|
421
|
+
}
|
|
422
|
+
if (needDimensionsUpdate) {
|
|
423
|
+
this.updateAppDimensions();
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
updateAppDimensions() {
|
|
427
|
+
const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, } = this.stage.options;
|
|
428
|
+
const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
|
|
429
|
+
const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
|
|
430
|
+
this.canvas.width = deviceLogicalWidth * devicePhysicalPixelRatio;
|
|
431
|
+
this.canvas.height = deviceLogicalHeight * devicePhysicalPixelRatio;
|
|
432
|
+
this.canvas.style.width = `${deviceLogicalWidth}px`;
|
|
433
|
+
this.canvas.style.height = `${deviceLogicalHeight}px`;
|
|
434
|
+
this.stage.renderer.updateViewport();
|
|
435
|
+
this.root.width = appWidth;
|
|
436
|
+
this.root.height = appHeight;
|
|
437
|
+
this.stage.updateViewportBounds();
|
|
438
|
+
}
|
|
439
|
+
get settings() {
|
|
440
|
+
return this.stage.options;
|
|
441
|
+
}
|
|
442
|
+
/**
|
|
443
|
+
* Gets the target FPS for the global render loop
|
|
444
|
+
*
|
|
445
|
+
* @returns The current target FPS (0 means no throttling)
|
|
446
|
+
*
|
|
447
|
+
* @remarks
|
|
448
|
+
* This controls the maximum frame rate of the entire rendering system.
|
|
449
|
+
* When 0, the system runs at display refresh rate.
|
|
450
|
+
*/
|
|
451
|
+
get targetFPS() {
|
|
452
|
+
return this.stage.options.targetFPS || 0;
|
|
453
|
+
}
|
|
454
|
+
/**
|
|
455
|
+
* Sets the target FPS for the global render loop
|
|
456
|
+
*
|
|
457
|
+
* @param fps - The target FPS to set for the global render loop.
|
|
458
|
+
* Set to 0 or a negative value to disable throttling.
|
|
459
|
+
*
|
|
460
|
+
* @remarks
|
|
461
|
+
* This setting affects the entire rendering system immediately.
|
|
462
|
+
* All animations, rendering, and frame updates will be throttled
|
|
463
|
+
* to this target FPS. Provides global performance control.
|
|
464
|
+
*
|
|
465
|
+
* @example
|
|
466
|
+
* ```typescript
|
|
467
|
+
* // Set global target to 30fps for better performance
|
|
468
|
+
* renderer.targetFPS = 30;
|
|
469
|
+
*
|
|
470
|
+
* // Disable global throttling (use display refresh rate)
|
|
471
|
+
* renderer.targetFPS = 0;
|
|
472
|
+
* ```
|
|
473
|
+
*/
|
|
474
|
+
set targetFPS(fps) {
|
|
475
|
+
this.stage.options.targetFPS = fps > 0 ? fps : 0;
|
|
476
|
+
this.stage.updateTargetFrameTime();
|
|
477
|
+
}
|
|
341
478
|
}
|
|
342
479
|
//# sourceMappingURL=Renderer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}
|
package/dist/src/utils.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { ContextSpy } from './core/lib/ContextSpy.js';
|
|
2
2
|
export declare function createWebGLContext(canvas: HTMLCanvasElement | OffscreenCanvas, forceWebGL2: boolean | undefined, contextSpy: ContextSpy | null): WebGLRenderingContext;
|
|
3
|
+
export declare const isProductionEnvironment: boolean;
|
|
3
4
|
/**
|
|
4
5
|
* Asserts a condition is truthy, otherwise throws an error
|
|
5
6
|
*
|
|
@@ -95,12 +96,6 @@ export declare function deg2Rad(degrees: number): number;
|
|
|
95
96
|
* @returns
|
|
96
97
|
*/
|
|
97
98
|
export declare function getImageAspectRatio(width: number, height: number): number;
|
|
98
|
-
/**
|
|
99
|
-
* Checks import.meta if env is production
|
|
100
|
-
*
|
|
101
|
-
* @returns
|
|
102
|
-
*/
|
|
103
|
-
export declare function isProductionEnvironment(): boolean;
|
|
104
99
|
export declare function getNewId(): number;
|
|
105
100
|
/**
|
|
106
101
|
* Makes a deep clone of an object
|
package/dist/src/utils.js
CHANGED
|
@@ -52,6 +52,7 @@ export function createWebGLContext(canvas, forceWebGL2 = false, contextSpy) {
|
|
|
52
52
|
}
|
|
53
53
|
return gl;
|
|
54
54
|
}
|
|
55
|
+
export const isProductionEnvironment = typeof __DEV__ !== 'undefined' ? !__DEV__ : true;
|
|
55
56
|
/**
|
|
56
57
|
* Asserts a condition is truthy, otherwise throws an error
|
|
57
58
|
*
|
|
@@ -65,7 +66,7 @@ export function createWebGLContext(canvas, forceWebGL2 = false, contextSpy) {
|
|
|
65
66
|
* @returns
|
|
66
67
|
*/
|
|
67
68
|
export function assertTruthy(condition, message) {
|
|
68
|
-
if (isProductionEnvironment
|
|
69
|
+
if (isProductionEnvironment === true)
|
|
69
70
|
return;
|
|
70
71
|
if (!condition) {
|
|
71
72
|
throw new Error(message || 'Assertion failed');
|
|
@@ -193,14 +194,6 @@ export function deg2Rad(degrees) {
|
|
|
193
194
|
export function getImageAspectRatio(width, height) {
|
|
194
195
|
return width / height;
|
|
195
196
|
}
|
|
196
|
-
/**
|
|
197
|
-
* Checks import.meta if env is production
|
|
198
|
-
*
|
|
199
|
-
* @returns
|
|
200
|
-
*/
|
|
201
|
-
export function isProductionEnvironment() {
|
|
202
|
-
return import.meta.env && import.meta.env.PROD;
|
|
203
|
-
}
|
|
204
197
|
/**
|
|
205
198
|
* Returns a new unique ID
|
|
206
199
|
*/
|