@lightningjs/renderer 3.0.0-beta7 → 3.0.0-beta9
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/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 +24 -49
- package/dist/src/core/CoreNode.js +257 -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.d.ts +4 -9
- package/dist/src/core/CoreTextureManager.js +41 -78
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/Stage.d.ts +12 -27
- package/dist/src/core/Stage.js +50 -37
- package/dist/src/core/Stage.js.map +1 -1
- package/dist/src/core/TextureMemoryManager.d.ts +10 -1
- package/dist/src/core/TextureMemoryManager.js +103 -50
- 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/WebGlContextWrapper.d.ts +19 -2
- package/dist/src/core/lib/WebGlContextWrapper.js +56 -25
- package/dist/src/core/lib/WebGlContextWrapper.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 +1 -0
- package/dist/src/core/renderers/webgl/WebGlRenderer.js +56 -54
- 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/WebGlShaderProgram.d.ts +4 -2
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +31 -13
- package/dist/src/core/renderers/webgl/WebGlShaderProgram.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 +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/HolePunch.js +4 -3
- package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
- package/dist/src/core/shaders/webgl/LinearGradient.js +5 -4
- package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RadialGradient.js +6 -5
- package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js +18 -7
- package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +30 -17
- package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
- 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 +1 -1
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/textures/Texture.d.ts +12 -0
- package/dist/src/core/textures/Texture.js +19 -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/utils.ts +7 -1
- package/package.json +1 -1
- package/src/core/CoreNode.ts +307 -313
- package/src/core/CoreTextNode.ts +23 -20
- package/src/core/CoreTextureManager.ts +40 -99
- package/src/core/Stage.ts +68 -65
- package/src/core/TextureMemoryManager.ts +135 -67
- package/src/core/animations/CoreAnimation.ts +7 -0
- package/src/core/animations/CoreAnimationController.ts +13 -4
- package/src/core/lib/WebGlContextWrapper.ts +69 -75
- package/src/core/renderers/CoreRenderer.ts +1 -0
- package/src/core/renderers/CoreShaderNode.ts +10 -0
- package/src/core/renderers/canvas/CanvasRenderer.ts +4 -0
- package/src/core/renderers/canvas/CanvasShaderNode.ts +1 -4
- package/src/core/renderers/webgl/WebGlCtxTexture.ts +0 -3
- package/src/core/renderers/webgl/WebGlRenderer.ts +64 -65
- package/src/core/renderers/webgl/WebGlShaderNode.ts +2 -4
- package/src/core/renderers/webgl/WebGlShaderProgram.ts +37 -14
- package/src/core/shaders/canvas/LinearGradient.ts +8 -6
- package/src/core/shaders/canvas/RadialGradient.ts +22 -36
- package/src/core/shaders/canvas/RoundedWithBorder.ts +10 -8
- package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +14 -12
- package/src/core/shaders/canvas/RoundedWithShadow.ts +8 -7
- package/src/core/shaders/templates/BorderTemplate.ts +1 -1
- package/src/core/shaders/templates/HolePunchTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +1 -1
- package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +1 -1
- package/src/core/shaders/templates/ShadowTemplate.ts +1 -1
- package/src/core/shaders/{templates/shaderUtils.ts → utils.ts} +2 -3
- package/src/core/shaders/webgl/HolePunch.ts +4 -7
- package/src/core/shaders/webgl/LinearGradient.ts +5 -4
- package/src/core/shaders/webgl/RadialGradient.ts +7 -6
- package/src/core/shaders/webgl/RoundedWithBorder.ts +18 -7
- package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +30 -21
- package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +2 -58
- package/src/core/textures/ImageTexture.ts +17 -16
- package/src/core/textures/Texture.ts +23 -0
- package/src/main-api/Inspector.ts +52 -5
- package/src/main-api/Renderer.ts +222 -77
- 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/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/shaders/DefaultShader.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -87
- package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -119
- package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -413
- package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -131
- package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -160
- package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
- package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
- package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
- package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
- package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
- package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -129
- package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -39
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -116
- package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
- package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
- package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
- package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
- package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
- package/dist/src/core/temp.d.ts +0 -1
- package/dist/src/core/temp.js +0 -77
- package/dist/src/core/temp.js.map +0 -1
- package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
- package/dist/src/main-api/DynamicShaderController.js +0 -58
- package/dist/src/main-api/DynamicShaderController.js.map +0 -1
- package/dist/src/main-api/ShaderController.d.ts +0 -31
- package/dist/src/main-api/ShaderController.js +0 -37
- package/dist/src/main-api/ShaderController.js.map +0 -1
|
@@ -1,41 +1,41 @@
|
|
|
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
7
|
import type { CanvasTextRenderer } from '../core/text-rendering/renderers/CanvasTextRenderer.js';
|
|
8
8
|
import type { SdfTextRenderer } from '../core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
|
|
9
|
-
import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
|
|
10
9
|
import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js';
|
|
10
|
+
import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
|
|
11
11
|
import type { Inspector } from './Inspector.js';
|
|
12
12
|
import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
|
|
13
13
|
import type { ExtractShaderProps, OptionalShaderProps, ShaderMap } from '../core/CoreShaderManager.js';
|
|
14
14
|
import { Platform } from '../core/platforms/Platform.js';
|
|
15
15
|
/**
|
|
16
|
-
*
|
|
16
|
+
* Settings for the Renderer that can be updated during runtime.
|
|
17
17
|
*/
|
|
18
|
-
export interface
|
|
18
|
+
export interface RendererRuntimeSettings {
|
|
19
19
|
/**
|
|
20
20
|
* Authored logical pixel width of the application
|
|
21
21
|
*
|
|
22
22
|
* @defaultValue `1920`
|
|
23
23
|
*/
|
|
24
|
-
appWidth
|
|
24
|
+
appWidth: number;
|
|
25
25
|
/**
|
|
26
26
|
* Authored logical pixel height of the application
|
|
27
27
|
*
|
|
28
28
|
* @defaultValue `1080`
|
|
29
29
|
*/
|
|
30
|
-
appHeight
|
|
30
|
+
appHeight: number;
|
|
31
31
|
/**
|
|
32
32
|
* Texture Memory Manager Settings
|
|
33
33
|
*/
|
|
34
|
-
textureMemory
|
|
34
|
+
textureMemory: Partial<TextureMemoryManagerSettings>;
|
|
35
35
|
/**
|
|
36
36
|
* Bounds margin to extend the boundary in which a Node is added as Quad.
|
|
37
37
|
*/
|
|
38
|
-
boundsMargin
|
|
38
|
+
boundsMargin: number | [number, number, number, number];
|
|
39
39
|
/**
|
|
40
40
|
* Factor to convert app-authored logical coorindates to device logical coordinates
|
|
41
41
|
*
|
|
@@ -51,7 +51,7 @@ export interface RendererMainSettings {
|
|
|
51
51
|
*
|
|
52
52
|
* @defaultValue `1`
|
|
53
53
|
*/
|
|
54
|
-
deviceLogicalPixelRatio
|
|
54
|
+
deviceLogicalPixelRatio: number;
|
|
55
55
|
/**
|
|
56
56
|
* Factor to convert device logical coordinates to device physical coordinates
|
|
57
57
|
*
|
|
@@ -67,13 +67,13 @@ export interface RendererMainSettings {
|
|
|
67
67
|
*
|
|
68
68
|
* @defaultValue `window.devicePixelRatio`
|
|
69
69
|
*/
|
|
70
|
-
devicePhysicalPixelRatio
|
|
70
|
+
devicePhysicalPixelRatio: number;
|
|
71
71
|
/**
|
|
72
72
|
* RGBA encoded number of the background to use
|
|
73
73
|
*
|
|
74
74
|
* @defaultValue `0x00000000`
|
|
75
75
|
*/
|
|
76
|
-
clearColor
|
|
76
|
+
clearColor: number;
|
|
77
77
|
/**
|
|
78
78
|
* Interval in milliseconds to receive FPS updates
|
|
79
79
|
*
|
|
@@ -82,7 +82,32 @@ export interface RendererMainSettings {
|
|
|
82
82
|
*
|
|
83
83
|
* @defaultValue `0` (disabled)
|
|
84
84
|
*/
|
|
85
|
-
fpsUpdateInterval
|
|
85
|
+
fpsUpdateInterval: number;
|
|
86
|
+
/**
|
|
87
|
+
* DOM Inspector
|
|
88
|
+
*
|
|
89
|
+
* @remarks
|
|
90
|
+
* The inspector will replicate the state of the Nodes created
|
|
91
|
+
* in the renderer and allow inspection of the state of the nodes.
|
|
92
|
+
*
|
|
93
|
+
*/
|
|
94
|
+
inspector: typeof Inspector | false;
|
|
95
|
+
/**
|
|
96
|
+
* Texture Processing Limit (in milliseconds)
|
|
97
|
+
*
|
|
98
|
+
* @remarks
|
|
99
|
+
* The maximum amount of time the renderer is allowed to process textures in a
|
|
100
|
+
* single frame. If the processing time exceeds this limit, the renderer will
|
|
101
|
+
* skip processing the remaining textures and continue rendering the frame.
|
|
102
|
+
*
|
|
103
|
+
* @defaultValue `10`
|
|
104
|
+
*/
|
|
105
|
+
textureProcessingTimeLimit: number;
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Configuration settings for {@link RendererMain}
|
|
109
|
+
*/
|
|
110
|
+
export type RendererMainSettings = RendererRuntimeSettings & {
|
|
86
111
|
/**
|
|
87
112
|
* Include context call (i.e. WebGL) information in FPS updates
|
|
88
113
|
*
|
|
@@ -96,7 +121,7 @@ export interface RendererMainSettings {
|
|
|
96
121
|
*
|
|
97
122
|
* @defaultValue `false` (disabled)
|
|
98
123
|
*/
|
|
99
|
-
enableContextSpy
|
|
124
|
+
enableContextSpy: boolean;
|
|
100
125
|
/**
|
|
101
126
|
* Number or Image Workers to use
|
|
102
127
|
*
|
|
@@ -107,16 +132,7 @@ export interface RendererMainSettings {
|
|
|
107
132
|
*
|
|
108
133
|
* @defaultValue `2`
|
|
109
134
|
*/
|
|
110
|
-
numImageWorkers
|
|
111
|
-
/**
|
|
112
|
-
* DOM Inspector
|
|
113
|
-
*
|
|
114
|
-
* @remarks
|
|
115
|
-
* The inspector will replicate the state of the Nodes created
|
|
116
|
-
* in the renderer and allow inspection of the state of the nodes.
|
|
117
|
-
*
|
|
118
|
-
*/
|
|
119
|
-
inspector?: typeof Inspector | false;
|
|
135
|
+
numImageWorkers: number;
|
|
120
136
|
/**
|
|
121
137
|
* Renderer Engine
|
|
122
138
|
*
|
|
@@ -136,7 +152,7 @@ export interface RendererMainSettings {
|
|
|
136
152
|
*
|
|
137
153
|
* @defaultValue 4 * 1024 * 1024
|
|
138
154
|
*/
|
|
139
|
-
quadBufferSize
|
|
155
|
+
quadBufferSize: number;
|
|
140
156
|
/**
|
|
141
157
|
* Font Engines
|
|
142
158
|
*
|
|
@@ -175,7 +191,7 @@ export interface RendererMainSettings {
|
|
|
175
191
|
*
|
|
176
192
|
* @defaultValue `false`
|
|
177
193
|
*/
|
|
178
|
-
forceWebGL2
|
|
194
|
+
forceWebGL2: boolean;
|
|
179
195
|
/**
|
|
180
196
|
* Enable strictBounds
|
|
181
197
|
*
|
|
@@ -185,18 +201,7 @@ export interface RendererMainSettings {
|
|
|
185
201
|
*
|
|
186
202
|
* @defaultValue `true`
|
|
187
203
|
*/
|
|
188
|
-
strictBounds
|
|
189
|
-
/**
|
|
190
|
-
* Texture Processing Limit (in milliseconds)
|
|
191
|
-
*
|
|
192
|
-
* @remarks
|
|
193
|
-
* The maximum amount of time the renderer is allowed to process textures in a
|
|
194
|
-
* single frame. If the processing time exceeds this limit, the renderer will
|
|
195
|
-
* skip processing the remaining textures and continue rendering the frame.
|
|
196
|
-
*
|
|
197
|
-
* @defaultValue `10`
|
|
198
|
-
*/
|
|
199
|
-
textureProcessingTimeLimit?: number;
|
|
204
|
+
strictBounds: boolean;
|
|
200
205
|
/**
|
|
201
206
|
* Canvas object to use for rendering
|
|
202
207
|
*
|
|
@@ -204,7 +209,7 @@ export interface RendererMainSettings {
|
|
|
204
209
|
* This is used to render the scene graph. If not provided, a new canvas
|
|
205
210
|
* element will be created and appended to the target element.
|
|
206
211
|
*/
|
|
207
|
-
canvas
|
|
212
|
+
canvas: HTMLCanvasElement;
|
|
208
213
|
/**
|
|
209
214
|
* createImageBitmap support for the runtime
|
|
210
215
|
*
|
|
@@ -228,7 +233,7 @@ export interface RendererMainSettings {
|
|
|
228
233
|
*
|
|
229
234
|
* @defaultValue `full`
|
|
230
235
|
*/
|
|
231
|
-
createImageBitmapSupport
|
|
236
|
+
createImageBitmapSupport: 'auto' | 'basic' | 'options' | 'full';
|
|
232
237
|
/**
|
|
233
238
|
* Provide an alternative platform abstraction layer
|
|
234
239
|
*
|
|
@@ -239,8 +244,8 @@ export interface RendererMainSettings {
|
|
|
239
244
|
*
|
|
240
245
|
* @defaultValue `null`
|
|
241
246
|
*/
|
|
242
|
-
platform
|
|
243
|
-
}
|
|
247
|
+
platform: typeof Platform | null;
|
|
248
|
+
};
|
|
244
249
|
/**
|
|
245
250
|
* The Renderer Main API
|
|
246
251
|
*
|
|
@@ -294,7 +299,6 @@ export interface RendererMainSettings {
|
|
|
294
299
|
export declare class RendererMain extends EventEmitter {
|
|
295
300
|
readonly root: INode;
|
|
296
301
|
readonly canvas: HTMLCanvasElement;
|
|
297
|
-
readonly settings: Readonly<Required<RendererMainSettings>>;
|
|
298
302
|
readonly stage: Stage;
|
|
299
303
|
private inspector;
|
|
300
304
|
/**
|
|
@@ -304,7 +308,14 @@ export declare class RendererMain extends EventEmitter {
|
|
|
304
308
|
* @param target Element ID or HTMLElement to insert the canvas into
|
|
305
309
|
* @param driver Core Driver to use
|
|
306
310
|
*/
|
|
307
|
-
constructor(settings: RendererMainSettings
|
|
311
|
+
constructor(settings: Partial<RendererMainSettings>, target: string | HTMLElement);
|
|
312
|
+
/**
|
|
313
|
+
* Resolves the Texture Memory Manager values
|
|
314
|
+
*
|
|
315
|
+
* @param props
|
|
316
|
+
* @returns
|
|
317
|
+
*/
|
|
318
|
+
private resolveTxSettings;
|
|
308
319
|
/**
|
|
309
320
|
* Create a new scene graph node
|
|
310
321
|
*
|
|
@@ -423,4 +434,12 @@ export declare class RendererMain extends EventEmitter {
|
|
|
423
434
|
* @param color - The color to set as the clear color.
|
|
424
435
|
*/
|
|
425
436
|
setClearColor(color: number): void;
|
|
437
|
+
/**
|
|
438
|
+
* Set options for the renderer
|
|
439
|
+
*
|
|
440
|
+
* @param options
|
|
441
|
+
*/
|
|
442
|
+
setOptions(options: Partial<RendererRuntimeSettings>): void;
|
|
443
|
+
private updateAppDimensions;
|
|
444
|
+
get settings(): Readonly<StageOptions>;
|
|
426
445
|
}
|
|
@@ -76,7 +76,6 @@ import { Platform } from '../core/platforms/Platform.js';
|
|
|
76
76
|
export class RendererMain extends EventEmitter {
|
|
77
77
|
root;
|
|
78
78
|
canvas;
|
|
79
|
-
settings;
|
|
80
79
|
stage;
|
|
81
80
|
inspector = null;
|
|
82
81
|
/**
|
|
@@ -88,15 +87,8 @@ export class RendererMain extends EventEmitter {
|
|
|
88
87
|
*/
|
|
89
88
|
constructor(settings, target) {
|
|
90
89
|
super();
|
|
91
|
-
const resolvedTxSettings = {
|
|
92
|
-
|
|
93
|
-
targetThresholdLevel: settings.textureMemory?.targetThresholdLevel || 0.5,
|
|
94
|
-
cleanupInterval: settings.textureMemory?.cleanupInterval || 5000,
|
|
95
|
-
debugLogging: settings.textureMemory?.debugLogging || false,
|
|
96
|
-
baselineMemoryAllocation: settings.textureMemory?.baselineMemoryAllocation || 26e6,
|
|
97
|
-
doNotExceedCriticalThreshold: settings.textureMemory?.doNotExceedCriticalThreshold || false,
|
|
98
|
-
};
|
|
99
|
-
const resolvedSettings = {
|
|
90
|
+
const resolvedTxSettings = this.resolveTxSettings(settings.textureMemory || {});
|
|
91
|
+
settings = {
|
|
100
92
|
appWidth: settings.appWidth || 1920,
|
|
101
93
|
appHeight: settings.appHeight || 1080,
|
|
102
94
|
textureMemory: resolvedTxSettings,
|
|
@@ -111,15 +103,14 @@ export class RendererMain extends EventEmitter {
|
|
|
111
103
|
inspector: settings.inspector ?? false,
|
|
112
104
|
renderEngine: settings.renderEngine,
|
|
113
105
|
quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
|
|
114
|
-
fontEngines: settings.fontEngines,
|
|
106
|
+
fontEngines: settings.fontEngines ?? [],
|
|
115
107
|
strictBounds: settings.strictBounds ?? true,
|
|
116
108
|
textureProcessingTimeLimit: settings.textureProcessingTimeLimit || 10,
|
|
117
109
|
canvas: settings.canvas || document.createElement('canvas'),
|
|
118
110
|
createImageBitmapSupport: settings.createImageBitmapSupport || 'full',
|
|
119
111
|
platform: settings.platform || null,
|
|
120
112
|
};
|
|
121
|
-
|
|
122
|
-
const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, canvas, } = resolvedSettings;
|
|
113
|
+
const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, canvas, } = settings;
|
|
123
114
|
let platform;
|
|
124
115
|
if (settings.platform !== undefined &&
|
|
125
116
|
settings.platform !== null &&
|
|
@@ -139,26 +130,26 @@ export class RendererMain extends EventEmitter {
|
|
|
139
130
|
canvas.style.height = `${deviceLogicalHeight}px`;
|
|
140
131
|
// Initialize the stage
|
|
141
132
|
this.stage = new Stage({
|
|
142
|
-
appWidth
|
|
143
|
-
appHeight
|
|
144
|
-
boundsMargin:
|
|
145
|
-
clearColor:
|
|
133
|
+
appWidth,
|
|
134
|
+
appHeight,
|
|
135
|
+
boundsMargin: settings.boundsMargin,
|
|
136
|
+
clearColor: settings.clearColor,
|
|
146
137
|
canvas: this.canvas,
|
|
147
|
-
deviceLogicalPixelRatio
|
|
148
|
-
devicePhysicalPixelRatio
|
|
149
|
-
enableContextSpy:
|
|
150
|
-
forceWebGL2:
|
|
151
|
-
fpsUpdateInterval:
|
|
152
|
-
numImageWorkers:
|
|
153
|
-
renderEngine:
|
|
138
|
+
deviceLogicalPixelRatio,
|
|
139
|
+
devicePhysicalPixelRatio,
|
|
140
|
+
enableContextSpy: settings.enableContextSpy,
|
|
141
|
+
forceWebGL2: settings.forceWebGL2,
|
|
142
|
+
fpsUpdateInterval: settings.fpsUpdateInterval,
|
|
143
|
+
numImageWorkers: settings.numImageWorkers,
|
|
144
|
+
renderEngine: settings.renderEngine,
|
|
154
145
|
textureMemory: resolvedTxSettings,
|
|
155
146
|
eventBus: this,
|
|
156
|
-
quadBufferSize:
|
|
157
|
-
fontEngines:
|
|
158
|
-
inspector:
|
|
159
|
-
strictBounds:
|
|
160
|
-
textureProcessingTimeLimit:
|
|
161
|
-
createImageBitmapSupport:
|
|
147
|
+
quadBufferSize: settings.quadBufferSize,
|
|
148
|
+
fontEngines: settings.fontEngines,
|
|
149
|
+
inspector: settings.inspector !== null,
|
|
150
|
+
strictBounds: settings.strictBounds,
|
|
151
|
+
textureProcessingTimeLimit: settings.textureProcessingTimeLimit,
|
|
152
|
+
createImageBitmapSupport: settings.createImageBitmapSupport,
|
|
162
153
|
platform,
|
|
163
154
|
});
|
|
164
155
|
// Extract the root node
|
|
@@ -177,9 +168,36 @@ export class RendererMain extends EventEmitter {
|
|
|
177
168
|
targetEl.appendChild(canvas);
|
|
178
169
|
// Initialize inspector (if enabled)
|
|
179
170
|
if (inspector && isProductionEnvironment === false) {
|
|
180
|
-
this.inspector = new inspector(canvas,
|
|
171
|
+
this.inspector = new inspector(canvas, settings);
|
|
181
172
|
}
|
|
182
173
|
}
|
|
174
|
+
/**
|
|
175
|
+
* Resolves the Texture Memory Manager values
|
|
176
|
+
*
|
|
177
|
+
* @param props
|
|
178
|
+
* @returns
|
|
179
|
+
*/
|
|
180
|
+
resolveTxSettings(textureMemory) {
|
|
181
|
+
const currentTxSettings = (this.stage && this.stage.options.textureMemory) || {};
|
|
182
|
+
return {
|
|
183
|
+
criticalThreshold: textureMemory?.criticalThreshold ??
|
|
184
|
+
currentTxSettings?.criticalThreshold ??
|
|
185
|
+
124e6,
|
|
186
|
+
targetThresholdLevel: textureMemory?.targetThresholdLevel ??
|
|
187
|
+
currentTxSettings?.targetThresholdLevel ??
|
|
188
|
+
0.5,
|
|
189
|
+
cleanupInterval: textureMemory?.cleanupInterval ??
|
|
190
|
+
currentTxSettings?.cleanupInterval ??
|
|
191
|
+
5000,
|
|
192
|
+
debugLogging: textureMemory?.debugLogging ?? currentTxSettings?.debugLogging ?? false,
|
|
193
|
+
baselineMemoryAllocation: textureMemory?.baselineMemoryAllocation ??
|
|
194
|
+
currentTxSettings?.baselineMemoryAllocation ??
|
|
195
|
+
26e6,
|
|
196
|
+
doNotExceedCriticalThreshold: textureMemory?.doNotExceedCriticalThreshold ??
|
|
197
|
+
currentTxSettings?.doNotExceedCriticalThreshold ??
|
|
198
|
+
false,
|
|
199
|
+
};
|
|
200
|
+
}
|
|
183
201
|
/**
|
|
184
202
|
* Create a new scene graph node
|
|
185
203
|
*
|
|
@@ -349,5 +367,75 @@ export class RendererMain extends EventEmitter {
|
|
|
349
367
|
setClearColor(color) {
|
|
350
368
|
this.stage.setClearColor(color);
|
|
351
369
|
}
|
|
370
|
+
/**
|
|
371
|
+
* Set options for the renderer
|
|
372
|
+
*
|
|
373
|
+
* @param options
|
|
374
|
+
*/
|
|
375
|
+
setOptions(options) {
|
|
376
|
+
const stage = this.stage;
|
|
377
|
+
if (options.textureMemory !== undefined) {
|
|
378
|
+
const textureMemory = (options.textureMemory = this.resolveTxSettings(options.textureMemory));
|
|
379
|
+
stage.txMemManager.updateSettings(textureMemory);
|
|
380
|
+
stage.txMemManager.cleanup();
|
|
381
|
+
}
|
|
382
|
+
if (options.boundsMargin !== undefined) {
|
|
383
|
+
let bm = options.boundsMargin;
|
|
384
|
+
options.boundsMargin = Array.isArray(bm) ? bm : [bm, bm, bm, bm];
|
|
385
|
+
}
|
|
386
|
+
const stageOptions = stage.options;
|
|
387
|
+
for (let key in options) {
|
|
388
|
+
stageOptions[key] = options[key];
|
|
389
|
+
}
|
|
390
|
+
if (options.inspector !== undefined && !isProductionEnvironment) {
|
|
391
|
+
if (options.inspector === false) {
|
|
392
|
+
this.inspector?.destroy();
|
|
393
|
+
this.inspector = null;
|
|
394
|
+
}
|
|
395
|
+
else if (this.inspector === null ||
|
|
396
|
+
this.inspector.constructor !== options.inspector) {
|
|
397
|
+
this.inspector = new options.inspector(this.canvas, stage.options);
|
|
398
|
+
this.inspector?.createNodes(this.root);
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
let needDimensionsUpdate = false;
|
|
402
|
+
if (options.deviceLogicalPixelRatio ||
|
|
403
|
+
options.devicePhysicalPixelRatio !== undefined) {
|
|
404
|
+
this.stage.pixelRatio =
|
|
405
|
+
stageOptions.devicePhysicalPixelRatio *
|
|
406
|
+
stageOptions.deviceLogicalPixelRatio;
|
|
407
|
+
this.inspector?.updateViewport(stageOptions.appWidth, stageOptions.appHeight, stageOptions.deviceLogicalPixelRatio);
|
|
408
|
+
needDimensionsUpdate = true;
|
|
409
|
+
}
|
|
410
|
+
if (options.appWidth !== undefined || options.appHeight !== undefined) {
|
|
411
|
+
this.inspector?.updateViewport(stageOptions.appWidth, stageOptions.appHeight, stageOptions.deviceLogicalPixelRatio);
|
|
412
|
+
needDimensionsUpdate = true;
|
|
413
|
+
}
|
|
414
|
+
if (options.boundsMargin !== undefined) {
|
|
415
|
+
this.stage.setBoundsMargin(options.boundsMargin);
|
|
416
|
+
}
|
|
417
|
+
if (options.clearColor !== undefined) {
|
|
418
|
+
this.stage.setClearColor(options.clearColor);
|
|
419
|
+
}
|
|
420
|
+
if (needDimensionsUpdate) {
|
|
421
|
+
this.updateAppDimensions();
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
updateAppDimensions() {
|
|
425
|
+
const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, } = this.stage.options;
|
|
426
|
+
const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
|
|
427
|
+
const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
|
|
428
|
+
this.canvas.width = deviceLogicalWidth * devicePhysicalPixelRatio;
|
|
429
|
+
this.canvas.height = deviceLogicalHeight * devicePhysicalPixelRatio;
|
|
430
|
+
this.canvas.style.width = `${deviceLogicalWidth}px`;
|
|
431
|
+
this.canvas.style.height = `${deviceLogicalHeight}px`;
|
|
432
|
+
this.stage.renderer.updateViewport();
|
|
433
|
+
this.root.width = appWidth;
|
|
434
|
+
this.root.height = appHeight;
|
|
435
|
+
this.stage.updateViewportBounds();
|
|
436
|
+
}
|
|
437
|
+
get settings() {
|
|
438
|
+
return this.stage.options;
|
|
439
|
+
}
|
|
352
440
|
}
|
|
353
441
|
//# 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,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,KAAK,
|
|
1
|
+
{"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}
|