@lightningjs/renderer 1.0.0-rc.3 → 1.0.1

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.
Files changed (115) hide show
  1. package/dist/exports/core-api.d.ts +74 -0
  2. package/dist/exports/core-api.js +96 -0
  3. package/dist/exports/core-api.js.map +1 -0
  4. package/dist/exports/index.d.ts +1 -1
  5. package/dist/exports/index.js.map +1 -1
  6. package/dist/exports/main-api.d.ts +30 -0
  7. package/dist/exports/main-api.js +45 -0
  8. package/dist/exports/main-api.js.map +1 -0
  9. package/dist/src/core/CoreExtension.d.ts +12 -0
  10. package/dist/src/core/CoreExtension.js +29 -0
  11. package/dist/src/core/CoreExtension.js.map +1 -0
  12. package/dist/src/core/CoreTextureManager.d.ts +4 -10
  13. package/dist/src/core/CoreTextureManager.js.map +1 -1
  14. package/dist/src/core/Stage.d.ts +1 -0
  15. package/dist/src/core/Stage.js.map +1 -1
  16. package/dist/src/core/animations/CoreAnimationController.js +1 -0
  17. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +7 -5
  19. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  20. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -1
  21. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  22. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +2 -2
  23. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +2 -2
  24. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +2 -2
  25. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +2 -2
  26. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +9 -1
  27. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  28. package/dist/src/main-api/ICoreDriver.d.ts +24 -0
  29. package/dist/src/main-api/ICoreDriver.js +20 -0
  30. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  31. package/dist/src/main-api/Renderer.d.ts +8 -2
  32. package/dist/src/main-api/Renderer.js +2 -0
  33. package/dist/src/main-api/Renderer.js.map +1 -1
  34. package/dist/src/main-api/RendererMain.d.ts +378 -0
  35. package/dist/src/main-api/RendererMain.js +367 -0
  36. package/dist/src/main-api/RendererMain.js.map +1 -0
  37. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  38. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  39. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  40. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  41. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  42. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  43. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  44. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  45. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  46. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +21 -0
  47. package/dist/src/render-drivers/main/MainCoreDriver.js +115 -0
  48. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  49. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +101 -0
  50. package/dist/src/render-drivers/main/MainOnlyNode.js +425 -0
  51. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  52. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  53. package/dist/src/render-drivers/main/MainOnlyTextNode.js +204 -0
  54. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  55. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +93 -0
  56. package/dist/src/render-drivers/threadx/NodeStruct.js +290 -0
  57. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  58. package/dist/src/render-drivers/threadx/SharedNode.d.ts +40 -0
  59. package/dist/src/render-drivers/threadx/SharedNode.js +61 -0
  60. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  61. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  62. package/dist/src/render-drivers/threadx/TextNodeStruct.js +203 -0
  63. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  64. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +25 -0
  65. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +232 -0
  66. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  67. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +24 -0
  68. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +113 -0
  69. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  70. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +46 -0
  71. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +160 -0
  72. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  73. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  74. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  75. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  76. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  77. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  78. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  79. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  80. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +184 -0
  81. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  82. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  83. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +109 -0
  84. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  85. package/dist/src/render-drivers/threadx/worker/renderer.js +147 -0
  86. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  87. package/dist/src/render-drivers/utils.d.ts +12 -0
  88. package/dist/src/render-drivers/utils.js +74 -0
  89. package/dist/src/render-drivers/utils.js.map +1 -0
  90. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  91. package/exports/index.ts +0 -1
  92. package/package.json +1 -1
  93. package/src/core/CoreTextureManager.ts +8 -15
  94. package/src/core/Stage.ts +1 -0
  95. package/src/core/animations/CoreAnimationController.ts +1 -0
  96. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +9 -5
  97. package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -1
  98. package/src/core/renderers/webgl/shaders/DefaultShader.ts +2 -2
  99. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +2 -2
  100. package/src/core/renderers/webgl/shaders/DynamicShader.ts +2 -2
  101. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +2 -2
  102. package/src/core/renderers/webgl/shaders/SdfShader.ts +9 -1
  103. package/src/main-api/Renderer.ts +14 -12
  104. package/dist/src/core/TextureList.js +0 -34
  105. package/dist/src/core/TextureList.js.map +0 -1
  106. package/dist/src/core/renderers/webgl/newShader/abcMock.d.ts +0 -1
  107. package/dist/src/core/renderers/webgl/newShader/abcMock.js +0 -2
  108. package/dist/src/core/renderers/webgl/newShader/abcMock.js.map +0 -1
  109. package/dist/src/effectsMock.d.ts +0 -13
  110. package/dist/src/effectsMock.js +0 -62
  111. package/dist/src/effectsMock.js.map +0 -1
  112. package/dist/src/test.d.ts +0 -1
  113. package/dist/src/test.js +0 -4
  114. package/dist/src/test.js.map +0 -1
  115. /package/dist/src/{core/TextureList.d.ts → render-drivers/threadx/worker/renderer.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
@@ -36,7 +36,7 @@ export class DefaultShader extends WebGlCoreShader {
36
36
  }
37
37
  static shaderSources = {
38
38
  vertex: `
39
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
39
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
40
40
  precision highp float;
41
41
  # else
42
42
  precision mediump float;
@@ -65,7 +65,7 @@ export class DefaultShader extends WebGlCoreShader {
65
65
  }
66
66
  `,
67
67
  fragment: `
68
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
68
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
69
69
  precision highp float;
70
70
  # else
71
71
  precision mediump float;
@@ -50,7 +50,7 @@ export class DefaultShaderBatched extends WebGlCoreShader {
50
50
  }
51
51
  static shaderSources = {
52
52
  vertex: `
53
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
53
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
54
54
  precision highp float;
55
55
  # else
56
56
  precision mediump float;
@@ -85,7 +85,7 @@ export class DefaultShaderBatched extends WebGlCoreShader {
85
85
  `,
86
86
  fragment: (textureUnits) => `
87
87
  #define txUnits ${textureUnits}
88
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
88
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
89
89
  precision highp float;
90
90
  # else
91
91
  precision mediump float;
@@ -281,7 +281,7 @@ export class DynamicShader extends WebGlCoreShader {
281
281
  }
282
282
  static z$__type__Props;
283
283
  static vertex = () => `
284
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
284
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
285
285
  precision highp float;
286
286
  # else
287
287
  precision mediump float;
@@ -314,7 +314,7 @@ export class DynamicShader extends WebGlCoreShader {
314
314
  }
315
315
  `;
316
316
  static fragment = (uniforms, methods, effectMethods, drawEffects) => `
317
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
317
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
318
318
  precision highp float;
319
319
  # else
320
320
  precision mediump float;
@@ -62,7 +62,7 @@ export class RoundedRectangle extends WebGlCoreShader {
62
62
  }
63
63
  static shaderSources = {
64
64
  vertex: `
65
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
65
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
66
66
  precision highp float;
67
67
  # else
68
68
  precision mediump float;
@@ -94,7 +94,7 @@ export class RoundedRectangle extends WebGlCoreShader {
94
94
  }
95
95
  `,
96
96
  fragment: `
97
- # ifdef GL_FRAGMENT_PRESICISON_HIGH
97
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
98
98
  precision highp float;
99
99
  # else
100
100
  precision mediump float;
@@ -91,6 +91,11 @@ export class SdfShader extends WebGlCoreShader {
91
91
  }
92
92
  static shaderSources = {
93
93
  vertex: `
94
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
95
+ precision highp float;
96
+ # else
97
+ precision mediump float;
98
+ # endif
94
99
  // an attribute is an input (in) to a vertex shader.
95
100
  // It will receive data from a buffer
96
101
  attribute vec2 a_position;
@@ -117,8 +122,11 @@ export class SdfShader extends WebGlCoreShader {
117
122
  }
118
123
  `,
119
124
  fragment: `
125
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
120
126
  precision highp float;
121
-
127
+ # else
128
+ precision mediump float;
129
+ # endif
122
130
  uniform vec4 u_color;
123
131
  uniform sampler2D u_texture;
124
132
  uniform float u_distanceRange;
@@ -1 +1 @@
1
- {"version":3,"file":"SdfShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/SdfShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdfShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/SdfShader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ import type { FpsUpdatePayload, FrameTickPayload } from '../common/CommonTypes.js';
2
+ import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
3
+ import type { RendererMain, RendererMainSettings } from './RendererMain.js';
4
+ /**
5
+ * This interface is to be implemented by Core Drivers
6
+ *
7
+ * @remarks
8
+ * Both the {@link MainCoreDriver} and the {@link ThreadXCoreDriver} exist
9
+ * that implement this interface to support both the single-threaded and
10
+ * multi-threaded Core modes.
11
+ */
12
+ export interface ICoreDriver {
13
+ init(rendererMain: RendererMain, rendererSettings: Required<RendererMainSettings>, canvas: HTMLCanvasElement): Promise<void>;
14
+ createNode(props: INodeWritableProps): INode;
15
+ createTextNode(props: ITextNodeWritableProps): ITextNode;
16
+ destroyNode(node: INode): void;
17
+ getRootNode(): INode;
18
+ releaseTexture(textureDescId: number): void;
19
+ onCreateNode(node: INode): void;
20
+ onBeforeDestroyNode(node: INode): void;
21
+ onFpsUpdate(fpsData: FpsUpdatePayload): void;
22
+ onFrameTick(frameTickData: FrameTickPayload): void;
23
+ onIdle?(): void;
24
+ }
@@ -0,0 +1,20 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ export {};
20
+ //# sourceMappingURL=ICoreDriver.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICoreDriver.js","sourceRoot":"","sources":["../../../src/main-api/ICoreDriver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG"}
@@ -1,5 +1,5 @@
1
1
  import type { EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
2
- import type { ExtractProps, TextureTypeMap, TextureMap } from '../core/CoreTextureManager.js';
2
+ import type { ExtractProps, TextureMap } from '../core/CoreTextureManager.js';
3
3
  import { EventEmitter } from '../common/EventEmitter.js';
4
4
  import { Stage } from '../core/Stage.js';
5
5
  import { CoreNode } from '../core/CoreNode.js';
@@ -148,6 +148,12 @@ export interface RendererMainSettings {
148
148
  * Renderer mode
149
149
  */
150
150
  renderMode?: 'webgl' | 'canvas';
151
+ /**
152
+ * Quad buffer size in bytes
153
+ *
154
+ * @defaultValue 4 * 1024 * 1024
155
+ */
156
+ quadBufferSize?: number;
151
157
  }
152
158
  /**
153
159
  * The Renderer Main API
@@ -267,7 +273,7 @@ export declare class RendererMain extends EventEmitter {
267
273
  * @param options
268
274
  * @returns
269
275
  */
270
- createTexture<TxType extends keyof TextureTypeMap>(textureType: TxType, props: ExtractProps<TextureTypeMap[TxType]>): TextureMap[TxType];
276
+ createTexture<TxType extends keyof TextureMap>(textureType: TxType, props: ExtractProps<TextureMap[TxType]>): InstanceType<TextureMap[TxType]>;
271
277
  /**
272
278
  * Create a new shader controller for a shader type
273
279
  *
@@ -104,6 +104,7 @@ export class RendererMain extends EventEmitter {
104
104
  enableContextSpy: settings.enableContextSpy ?? false,
105
105
  enableInspector: settings.enableInspector ?? false,
106
106
  renderMode: settings.renderMode ?? 'webgl',
107
+ quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
107
108
  };
108
109
  this.settings = resolvedSettings;
109
110
  const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, enableInspector, } = resolvedSettings;
@@ -130,6 +131,7 @@ export class RendererMain extends EventEmitter {
130
131
  renderMode: this.settings.renderMode,
131
132
  textureMemory: resolvedTxSettings,
132
133
  eventBus: this,
134
+ quadBufferSize: this.settings.quadBufferSize,
133
135
  });
134
136
  // Extract the root node
135
137
  this.root = this.stage.root;
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,378 @@
1
+ import type { ShaderMap } from '../core/CoreShaderManager.js';
2
+ import type { ExtractProps, TextureMap, TextureOptions } from '../core/CoreTextureManager.js';
3
+ import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
4
+ import type { ICoreDriver } from './ICoreDriver.js';
5
+ import { type ManualCountTextureUsageTrackerOptions } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
6
+ import type { TextureUsageTracker } from './texture-usage-trackers/TextureUsageTracker.js';
7
+ import { EventEmitter } from '../common/EventEmitter.js';
8
+ /**
9
+ * An immutable reference to a specific Texture type
10
+ *
11
+ * @remarks
12
+ * See {@link TextureRef} for more details.
13
+ */
14
+ export interface SpecificTextureRef<TxType extends keyof TextureMap> {
15
+ readonly descType: 'texture';
16
+ readonly txType: TxType;
17
+ readonly props: ExtractProps<TextureMap[TxType]>;
18
+ readonly options?: Readonly<TextureOptions>;
19
+ }
20
+ type MapTextureRefs<TxType extends keyof TextureMap> = TxType extends keyof TextureMap ? SpecificTextureRef<TxType> : never;
21
+ /**
22
+ * An immutable reference to a Texture
23
+ *
24
+ * @remarks
25
+ * This structure should only be created by the RendererMain's `createTexture`
26
+ * method. The structure is immutable and should not be modified once created.
27
+ *
28
+ * A `TextureRef` exists in the Main API Space and is used to point to an actual
29
+ * `Texture` instance in the Core API Space. The `TextureRef` is used to
30
+ * communicate with the Core API Space to create, load, and destroy the
31
+ * `Texture` instance.
32
+ *
33
+ * This type is technically a discriminated union of all possible texture types.
34
+ * If you'd like to represent a specific texture type, you can use the
35
+ * `SpecificTextureRef` generic type.
36
+ */
37
+ export type TextureRef = MapTextureRefs<keyof TextureMap>;
38
+ /**
39
+ * An immutable reference to a specific Shader type
40
+ *
41
+ * @remarks
42
+ * See {@link ShaderRef} for more details.
43
+ */
44
+ export interface SpecificShaderRef<ShType extends keyof ShaderMap> {
45
+ readonly descType: 'shader';
46
+ readonly shType: ShType;
47
+ readonly props: ExtractProps<ShaderMap[ShType]>;
48
+ }
49
+ type MapShaderRefs<ShType extends keyof ShaderMap> = ShType extends keyof ShaderMap ? SpecificShaderRef<ShType> : never;
50
+ /**
51
+ * An immutable reference to a Shader
52
+ *
53
+ * @remarks
54
+ * This structure should only be created by the RendererMain's `createShader`
55
+ * method. The structure is immutable and should not be modified once created.
56
+ *
57
+ * A `ShaderRef` exists in the Main API Space and is used to point to an actual
58
+ * `Shader` instance in the Core API Space. The `ShaderRef` is used to
59
+ * communicate with the Core API Space to create, load, and destroy the
60
+ * `Shader` instance.
61
+ *
62
+ * This type is technically a discriminated union of all possible shader types.
63
+ * If you'd like to represent a specific shader type, you can use the
64
+ * `SpecificShaderRef` generic type.
65
+ */
66
+ export type ShaderRef = MapShaderRefs<keyof ShaderMap>;
67
+ /**
68
+ * Configuration settings for {@link RendererMain}
69
+ */
70
+ export interface RendererMainSettings {
71
+ /**
72
+ * Authored logical pixel width of the application
73
+ *
74
+ * @defaultValue `1920`
75
+ */
76
+ appWidth?: number;
77
+ /**
78
+ * Authored logical pixel height of the application
79
+ *
80
+ * @defaultValue `1080`
81
+ */
82
+ appHeight?: number;
83
+ /**
84
+ * Texture Memory Byte Threshold
85
+ *
86
+ * @remarks
87
+ * When the amount of GPU VRAM used by textures exceeds this threshold,
88
+ * the Renderer will free up all the textures that are current not visible
89
+ * within the configured `boundsMargin`.
90
+ *
91
+ * When set to `0`, the threshold-based texture memory manager is disabled.
92
+ */
93
+ txMemByteThreshold?: number;
94
+ /**
95
+ * Bounds margin to extend the boundary in which a CoreNode is added as Quad.
96
+ */
97
+ boundsMargin?: number | [number, number, number, number];
98
+ /**
99
+ * Factor to convert app-authored logical coorindates to device logical coordinates
100
+ *
101
+ * @remarks
102
+ * This value allows auto-scaling to support larger/small resolutions than the
103
+ * app was authored for.
104
+ *
105
+ * If the app was authored for 1920x1080 and this value is 2, the app's canvas
106
+ * will be rendered at 3840x2160 logical pixels.
107
+ *
108
+ * Likewise, if the app was authored for 1920x1080 and this value is 0.66667,
109
+ * the app's canvas will be rendered at 1280x720 logical pixels.
110
+ *
111
+ * @defaultValue `1`
112
+ */
113
+ deviceLogicalPixelRatio?: number;
114
+ /**
115
+ * Factor to convert device logical coordinates to device physical coordinates
116
+ *
117
+ * @remarks
118
+ * This value allows auto-scaling to support devices with different pixel densities.
119
+ *
120
+ * This controls the number of physical pixels that are used to render each logical
121
+ * pixel. For example, if the device has a pixel density of 2, each logical pixel
122
+ * will be rendered using 2x2 physical pixels.
123
+ *
124
+ * By default, it will be set to `window.devicePixelRatio` which is the pixel
125
+ * density of the device the app is running on reported by the browser.
126
+ *
127
+ * @defaultValue `window.devicePixelRatio`
128
+ */
129
+ devicePhysicalPixelRatio?: number;
130
+ /**
131
+ * RGBA encoded number of the background to use
132
+ *
133
+ * @defaultValue `0x00000000`
134
+ */
135
+ clearColor?: number;
136
+ /**
137
+ * Path to a custom core module to use
138
+ *
139
+ * @defaultValue `null`
140
+ */
141
+ coreExtensionModule?: string | null;
142
+ /**
143
+ * Enable experimental FinalizationRegistry-based texture usage tracking
144
+ * for texture garbage collection
145
+ *
146
+ * @remarks
147
+ * By default, the Renderer uses a manual reference counting system to track
148
+ * texture usage. Textures are eventually released from the Core Texture
149
+ * Manager's Usage Cache when they are no longer referenced by any Nodes (or
150
+ * SubTextures that are referenced by nodes). This works well enough, but has
151
+ * the consequence of textures being removed from Usage Cache even if their
152
+ * references are still alive in memory. This can require a texture to be
153
+ * reloaded from the source when it is used again after being removed from
154
+ * cache.
155
+ *
156
+ * This is an experimental feature that uses a FinalizationRegistry to track
157
+ * texture usage. This causes textures to be removed from the Usage Cache only
158
+ * when their references are no longer alive in memory. Meaning a loaded texture
159
+ * will remain in the Usage Cache until it's reference is garbage collected.
160
+ *
161
+ * This feature is not enabled by default because browser support for the
162
+ * FinalizationRegistry is limited. It should NOT be enabled in production apps
163
+ * as this behavior is not guaranteed to be supported in the future. Developer
164
+ * feedback on this feature, however, is welcome.
165
+ *
166
+ * @defaultValue `false`
167
+ */
168
+ experimental_FinalizationRegistryTextureUsageTracker?: boolean;
169
+ textureCleanupOptions?: ManualCountTextureUsageTrackerOptions;
170
+ /**
171
+ * Interval in milliseconds to receive FPS updates
172
+ *
173
+ * @remarks
174
+ * If set to `0`, FPS updates will be disabled.
175
+ *
176
+ * @defaultValue `0` (disabled)
177
+ */
178
+ fpsUpdateInterval?: number;
179
+ /**
180
+ * Include context call (i.e. WebGL) information in FPS updates
181
+ *
182
+ * @remarks
183
+ * When enabled the number of calls to each context method over the
184
+ * `fpsUpdateInterval` will be included in the FPS update payload's
185
+ * `contextSpyData` property.
186
+ *
187
+ * Enabling the context spy has a serious impact on performance so only use it
188
+ * when you need to extract context call information.
189
+ *
190
+ * @defaultValue `false` (disabled)
191
+ */
192
+ enableContextSpy?: boolean;
193
+ /**
194
+ * Number or Image Workers to use
195
+ *
196
+ * @remarks
197
+ * On devices with multiple cores, this can be used to improve image loading
198
+ * as well as reduce the impact of image loading on the main thread.
199
+ * Set to 0 to disable image workers.
200
+ *
201
+ * @defaultValue `2`
202
+ */
203
+ numImageWorkers?: number;
204
+ /**
205
+ * Enable inspector
206
+ *
207
+ * @remarks
208
+ * When enabled the renderer will spawn a inspector. The inspector will
209
+ * replicate the state of the Nodes created in the renderer and allow
210
+ * inspection of the state of the nodes.
211
+ *
212
+ * @defaultValue `false` (disabled)
213
+ */
214
+ enableInspector?: boolean;
215
+ /**
216
+ * Renderer mode
217
+ */
218
+ renderMode?: 'webgl' | 'canvas';
219
+ }
220
+ /**
221
+ * The Renderer Main API
222
+ *
223
+ * @remarks
224
+ * This is the primary class used to configure and operate the Renderer.
225
+ *
226
+ * It is used to create and destroy Nodes, as well as Texture and Shader
227
+ * references.
228
+ *
229
+ * Example:
230
+ * ```ts
231
+ * import { RendererMain, MainCoreDriver } from '@lightningjs/renderer';
232
+ *
233
+ * // Initialize the Renderer
234
+ * const renderer = new RendererMain(
235
+ * {
236
+ * appWidth: 1920,
237
+ * appHeight: 1080
238
+ * },
239
+ * 'app',
240
+ * new MainCoreDriver(),
241
+ * );
242
+ * ```
243
+ */
244
+ export declare class RendererMain extends EventEmitter {
245
+ readonly root: INode | null;
246
+ readonly driver: ICoreDriver;
247
+ readonly canvas: HTMLCanvasElement;
248
+ readonly settings: Readonly<Required<RendererMainSettings>>;
249
+ private inspector;
250
+ private nodes;
251
+ private nextTextureId;
252
+ /**
253
+ * Texture Usage Tracker for Usage Based Texture Garbage Collection
254
+ *
255
+ * @remarks
256
+ * For internal use only. DO NOT ACCESS.
257
+ */
258
+ textureTracker: TextureUsageTracker;
259
+ /**
260
+ * Constructs a new Renderer instance
261
+ *
262
+ * @param settings Renderer settings
263
+ * @param target Element ID or HTMLElement to insert the canvas into
264
+ * @param driver Core Driver to use
265
+ */
266
+ constructor(settings: RendererMainSettings, target: string | HTMLElement, driver: ICoreDriver);
267
+ /**
268
+ * Initialize the renderer
269
+ *
270
+ * @remarks
271
+ * This method must be called and resolved asyncronously before any other
272
+ * methods are called.
273
+ */
274
+ init(): Promise<void>;
275
+ /**
276
+ * Create a new scene graph node
277
+ *
278
+ * @remarks
279
+ * A node is the main graphical building block of the Renderer scene graph. It
280
+ * can be a container for other nodes, or it can be a leaf node that renders a
281
+ * solid color, gradient, image, or specific texture, using a specific shader.
282
+ *
283
+ * To create a text node, see {@link createTextNode}.
284
+ *
285
+ * See {@link INode} for more details.
286
+ *
287
+ * @param props
288
+ * @returns
289
+ */
290
+ createNode(props: Partial<INodeWritableProps>): INode;
291
+ /**
292
+ * Create a new scene graph text node
293
+ *
294
+ * @remarks
295
+ * A text node is the second graphical building block of the Renderer scene
296
+ * graph. It renders text using a specific text renderer that is automatically
297
+ * chosen based on the font requested and what type of fonts are installed
298
+ * into an app via a CoreExtension.
299
+ *
300
+ * See {@link ITextNode} for more details.
301
+ *
302
+ * @param props
303
+ * @returns
304
+ */
305
+ createTextNode(props: Partial<ITextNodeWritableProps>): ITextNode;
306
+ /**
307
+ * Resolves the default property values for a Node
308
+ *
309
+ * @remarks
310
+ * This method is used internally by the RendererMain to resolve the default
311
+ * property values for a Node. It is exposed publicly so that it can be used
312
+ * by Core Driver implementations.
313
+ *
314
+ * @param props
315
+ * @returns
316
+ */
317
+ resolveNodeDefaults(props: Partial<INodeWritableProps>): INodeWritableProps;
318
+ /**
319
+ * Destroy a node
320
+ *
321
+ * @remarks
322
+ * This method destroys a node but does not destroy its children.
323
+ *
324
+ * @param node
325
+ * @returns
326
+ */
327
+ destroyNode(node: INode): void;
328
+ /**
329
+ * Create a new texture reference
330
+ *
331
+ * @remarks
332
+ * This method creates a new reference to a texture. The texture is not
333
+ * loaded until it is used on a node.
334
+ *
335
+ * It can be assigned to a node's `texture` property, or it can be used
336
+ * when creating a SubTexture.
337
+ *
338
+ * @param textureType
339
+ * @param props
340
+ * @param options
341
+ * @returns
342
+ */
343
+ createTexture<TxType extends keyof TextureMap>(textureType: TxType, props: SpecificTextureRef<TxType>['props'], options?: TextureOptions): SpecificTextureRef<TxType>;
344
+ /**
345
+ * Create a new shader reference
346
+ *
347
+ * @remarks
348
+ * This method creates a new reference to a shader. The shader is not
349
+ * loaded until it is used on a Node.
350
+ *
351
+ * It can be assigned to a Node's `shader` property.
352
+ *
353
+ * @param shaderType
354
+ * @param props
355
+ * @returns
356
+ */
357
+ createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: SpecificShaderRef<ShType>['props']): SpecificShaderRef<ShType>;
358
+ /**
359
+ * Get a Node by its ID
360
+ *
361
+ * @param id
362
+ * @returns
363
+ */
364
+ getNodeById(id: number): INode | null;
365
+ toggleFreeze(): void;
366
+ advanceFrame(): void;
367
+ /**
368
+ * Re-render the current frame without advancing any running animations.
369
+ *
370
+ * @remarks
371
+ * Any state changes will be reflected in the re-rendered frame. Useful for
372
+ * debugging.
373
+ *
374
+ * May not do anything if the render loop is running on a separate worker.
375
+ */
376
+ rerender(): void;
377
+ }
378
+ export {};