@lightningjs/renderer 0.3.2 → 0.3.4

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 (47) hide show
  1. package/dist/src/core/CoreTextureManager.d.ts +4 -3
  2. package/dist/src/core/CoreTextureManager.js +7 -4
  3. package/dist/src/core/CoreTextureManager.js.map +1 -1
  4. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +36 -1
  5. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +4 -4
  6. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  7. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +4 -3
  8. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
  9. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +1 -1
  10. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -2
  11. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +6 -1
  12. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  13. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -1
  14. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  15. package/dist/src/core/textures/SubTexture.d.ts +2 -2
  16. package/dist/src/main-api/INode.d.ts +5 -5
  17. package/dist/src/main-api/RendererMain.d.ts +88 -8
  18. package/dist/src/main-api/RendererMain.js +22 -6
  19. package/dist/src/main-api/RendererMain.js.map +1 -1
  20. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +7 -7
  21. package/dist/src/render-drivers/main/MainOnlyNode.js +8 -1
  22. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  23. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +8 -7
  24. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +11 -1
  25. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  26. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -1
  27. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  28. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  29. package/exports/core-api.ts +101 -0
  30. package/exports/main-api.ts +50 -0
  31. package/exports/utils.ts +41 -0
  32. package/package.json +3 -2
  33. package/src/core/CoreTextureManager.ts +7 -6
  34. package/src/core/renderers/webgl/shaders/DynamicShader.ts +46 -6
  35. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +4 -3
  36. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +1 -1
  37. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +9 -3
  38. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +6 -4
  39. package/src/core/textures/SubTexture.ts +2 -2
  40. package/src/main-api/INode.ts +5 -5
  41. package/src/main-api/RendererMain.ts +125 -23
  42. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +45 -0
  43. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +154 -0
  44. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +54 -0
  45. package/src/render-drivers/main/MainOnlyNode.ts +16 -9
  46. package/src/render-drivers/threadx/ThreadXMainNode.ts +20 -9
  47. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +5 -9
@@ -2,24 +2,67 @@ import type { ShaderMap } from '../core/CoreShaderManager.js';
2
2
  import type { ExtractProps, TextureMap, TextureOptions } from '../core/CoreTextureManager.js';
3
3
  import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
4
4
  import type { IRenderDriver } from './IRenderDriver.js';
5
+ import { type ManualCountTextureUsageTrackerOptions } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
6
+ import type { TextureUsageTracker } from './texture-usage-trackers/TextureUsageTracker.js';
5
7
  /**
6
- * A description of a Texture
8
+ * An immutable reference to a specific Texture type
7
9
  *
8
10
  * @remarks
9
- * This structure should only be created by the RendererMain's `makeTexture`
10
- * method. The structure is immutable and should not be modified once created.
11
+ * See {@link TextureRef} for more details.
11
12
  */
12
- export interface TextureDesc<TxType extends keyof TextureMap = keyof TextureMap> {
13
+ export interface SpecificTextureRef<TxType extends keyof TextureMap> {
13
14
  readonly descType: 'texture';
14
15
  readonly txType: TxType;
15
16
  readonly props: ExtractProps<TextureMap[TxType]>;
16
17
  readonly options?: Readonly<TextureOptions>;
17
18
  }
18
- export interface ShaderDesc<ShType extends keyof ShaderMap = keyof ShaderMap> {
19
+ type MapTextureRefs<TxType extends keyof TextureMap> = TxType extends keyof TextureMap ? SpecificTextureRef<TxType> : never;
20
+ /**
21
+ * An immutable reference to a Texture
22
+ *
23
+ * @remarks
24
+ * This structure should only be created by the RendererMain's `createTexture`
25
+ * method. The structure is immutable and should not be modified once created.
26
+ *
27
+ * A `TextureRef` exists in the Main API Space and is used to point to an actual
28
+ * `Texture` instance in the Core API Space. The `TextureRef` is used to
29
+ * communicate with the Core API Space to create, load, and destroy the
30
+ * `Texture` instance.
31
+ *
32
+ * This type is technically a discriminated union of all possible texture types.
33
+ * If you'd like to represent a specific texture type, you can use the
34
+ * `SpecificTextureRef` generic type.
35
+ */
36
+ export type TextureRef = MapTextureRefs<keyof TextureMap>;
37
+ /**
38
+ * An immutable reference to a specific Shader type
39
+ *
40
+ * @remarks
41
+ * See {@link ShaderRef} for more details.
42
+ */
43
+ export interface SpecificShaderRef<ShType extends keyof ShaderMap> {
19
44
  readonly descType: 'shader';
20
45
  readonly shType: ShType;
21
46
  readonly props: ExtractProps<ShaderMap[ShType]>;
22
47
  }
48
+ type MapShaderRefs<ShType extends keyof ShaderMap> = ShType extends keyof ShaderMap ? SpecificShaderRef<ShType> : never;
49
+ /**
50
+ * An immutable reference to a Shader
51
+ *
52
+ * @remarks
53
+ * This structure should only be created by the RendererMain's `createShader`
54
+ * method. The structure is immutable and should not be modified once created.
55
+ *
56
+ * A `ShaderRef` exists in the Main API Space and is used to point to an actual
57
+ * `Shader` instance in the Core API Space. The `ShaderRef` is used to
58
+ * communicate with the Core API Space to create, load, and destroy the
59
+ * `Shader` instance.
60
+ *
61
+ * This type is technically a discriminated union of all possible shader types.
62
+ * If you'd like to represent a specific shader type, you can use the
63
+ * `SpecificShaderRef` generic type.
64
+ */
65
+ export type ShaderRef = MapShaderRefs<keyof ShaderMap>;
23
66
  /**
24
67
  * Configuration settings for {@link RendererMain}
25
68
  */
@@ -76,8 +119,38 @@ export interface RendererMainSettings {
76
119
  clearColor?: number;
77
120
  /**
78
121
  * Path to a custom core module to use
122
+ *
123
+ * @defaultValue `null`
79
124
  */
80
125
  coreExtensionModule?: string | null;
126
+ /**
127
+ * Enable experimental FinalizationRegistry-based texture usage tracking
128
+ * for texture garbage collection
129
+ *
130
+ * @remarks
131
+ * By default, the Renderer uses a manual reference counting system to track
132
+ * texture usage. Textures are eventually released from the Core Texture
133
+ * Manager's Usage Cache when they are no longer referenced by any Nodes (or
134
+ * SubTextures that are referenced by nodes). This works well enough, but has
135
+ * the consequence of textures being removed from Usage Cache even if their
136
+ * references are still alive in memory. This can require a texture to be
137
+ * reloaded from the source when it is used again after being removed from
138
+ * cache.
139
+ *
140
+ * This is an experimental feature that uses a FinalizationRegistry to track
141
+ * texture usage. This causes textures to be removed from the Usage Cache only
142
+ * when their references are no longer alive in memory. Meaning a loaded texture
143
+ * will remain in the Usage Cache until it's reference is garbage collected.
144
+ *
145
+ * This feature is not enabled by default because browser support for the
146
+ * FinalizationRegistry is limited. It should NOT be enabled in production apps
147
+ * as this behavior is not guaranteed to be supported in the future. Developer
148
+ * feedback on this feature, however, is welcome.
149
+ *
150
+ * @defaultValue `false`
151
+ */
152
+ experimental_FinalizationRegistryTextureUsageTracker?: boolean;
153
+ textureCleanupOptions?: ManualCountTextureUsageTrackerOptions;
81
154
  }
82
155
  /**
83
156
  * The Renderer Main API
@@ -110,7 +183,13 @@ export declare class RendererMain {
110
183
  readonly settings: Readonly<Required<RendererMainSettings>>;
111
184
  private nodes;
112
185
  private nextTextureId;
113
- private textureRegistry;
186
+ /**
187
+ * Texture Usage Tracker for Usage Based Texture Garbage Collection
188
+ *
189
+ * @remarks
190
+ * For internal use only. DO NOT ACCESS.
191
+ */
192
+ textureTracker: TextureUsageTracker;
114
193
  /**
115
194
  * Constructs a new Renderer instance
116
195
  *
@@ -195,7 +274,7 @@ export declare class RendererMain {
195
274
  * @param options
196
275
  * @returns
197
276
  */
198
- makeTexture<Type extends keyof TextureMap>(textureType: Type, props: TextureDesc<Type>['props'], options?: TextureOptions): TextureDesc<Type>;
277
+ createTexture<TxType extends keyof TextureMap>(textureType: TxType, props: SpecificTextureRef<TxType>['props'], options?: TextureOptions): SpecificTextureRef<TxType>;
199
278
  /**
200
279
  * Create a new shader reference
201
280
  *
@@ -209,7 +288,7 @@ export declare class RendererMain {
209
288
  * @param props
210
289
  * @returns
211
290
  */
212
- makeShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: ShaderDesc<ShType>['props']): ShaderDesc<ShType>;
291
+ createShader<ShType extends keyof ShaderMap>(shaderType: ShType, props?: SpecificShaderRef<ShType>['props']): SpecificShaderRef<ShType>;
213
292
  /**
214
293
  * Get a Node by its ID
215
294
  *
@@ -230,3 +309,4 @@ export declare class RendererMain {
230
309
  */
231
310
  rerender(): void;
232
311
  }
312
+ export {};
@@ -16,6 +16,8 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { ManualCountTextureUsageTracker, } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
20
+ import { FinalizationRegistryTextureUsageTracker } from './texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js';
19
21
  /**
20
22
  * The Renderer Main API
21
23
  *
@@ -47,9 +49,13 @@ export class RendererMain {
47
49
  settings;
48
50
  nodes = new Map();
49
51
  nextTextureId = 1;
50
- textureRegistry = new FinalizationRegistry((textureDescId) => {
51
- this.driver.releaseTexture(textureDescId);
52
- });
52
+ /**
53
+ * Texture Usage Tracker for Usage Based Texture Garbage Collection
54
+ *
55
+ * @remarks
56
+ * For internal use only. DO NOT ACCESS.
57
+ */
58
+ textureTracker;
53
59
  /**
54
60
  * Constructs a new Renderer instance
55
61
  *
@@ -65,9 +71,19 @@ export class RendererMain {
65
71
  devicePhysicalPixelRatio: settings.devicePhysicalPixelRatio || window.devicePixelRatio,
66
72
  clearColor: settings.clearColor ?? 0x00000000,
67
73
  coreExtensionModule: settings.coreExtensionModule || null,
74
+ experimental_FinalizationRegistryTextureUsageTracker: settings.experimental_FinalizationRegistryTextureUsageTracker ?? false,
75
+ textureCleanupOptions: settings.textureCleanupOptions || {},
68
76
  };
69
77
  this.settings = resolvedSettings;
70
78
  const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, } = resolvedSettings;
79
+ const releaseCallback = (textureId) => {
80
+ this.driver.releaseTexture(textureId);
81
+ };
82
+ const useFinalizationRegistryTracker = resolvedSettings.experimental_FinalizationRegistryTextureUsageTracker &&
83
+ typeof FinalizationRegistry === 'function';
84
+ this.textureTracker = useFinalizationRegistryTracker
85
+ ? new FinalizationRegistryTextureUsageTracker(releaseCallback)
86
+ : new ManualCountTextureUsageTracker(releaseCallback, this.settings.textureCleanupOptions);
71
87
  const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
72
88
  const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
73
89
  this.driver = driver;
@@ -237,7 +253,7 @@ export class RendererMain {
237
253
  * @param options
238
254
  * @returns
239
255
  */
240
- makeTexture(textureType, props, options) {
256
+ createTexture(textureType, props, options) {
241
257
  const id = this.nextTextureId++;
242
258
  const desc = {
243
259
  descType: 'texture',
@@ -250,7 +266,7 @@ export class RendererMain {
250
266
  id,
251
267
  },
252
268
  };
253
- this.textureRegistry.register(desc, id);
269
+ this.textureTracker.registerTexture(desc);
254
270
  return desc;
255
271
  }
256
272
  /**
@@ -266,7 +282,7 @@ export class RendererMain {
266
282
  * @param props
267
283
  * @returns
268
284
  */
269
- makeShader(shaderType, props) {
285
+ createShader(shaderType, props) {
270
286
  return {
271
287
  descType: 'shader',
272
288
  shType: shaderType,
@@ -1 +1 @@
1
- {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import type { INode, INodeAnimatableProps, INodeWritableProps } from '../../main
2
2
  import type { Stage } from '../../core/Stage.js';
3
3
  import type { IAnimationController } from '../../common/IAnimationController.js';
4
4
  import { CoreNode } from '../../core/CoreNode.js';
5
- import type { RendererMain, ShaderDesc, TextureDesc } from '../../main-api/RendererMain.js';
5
+ import type { RendererMain, ShaderRef, TextureRef } from '../../main-api/RendererMain.js';
6
6
  import type { IAnimationSettings } from '../../core/animations/CoreAnimation.js';
7
7
  import { EventEmitter } from '../../common/EventEmitter.js';
8
8
  export declare function getNewId(): number;
@@ -14,8 +14,8 @@ export declare class MainOnlyNode extends EventEmitter implements INode {
14
14
  protected _children: MainOnlyNode[];
15
15
  protected _src: string;
16
16
  protected _parent: MainOnlyNode | null;
17
- protected _texture: TextureDesc | null;
18
- protected _shader: ShaderDesc | null;
17
+ protected _texture: TextureRef | null;
18
+ protected _shader: ShaderRef | null;
19
19
  constructor(props: INodeWritableProps, rendererMain: RendererMain, stage: Stage, coreNode?: CoreNode);
20
20
  get x(): number;
21
21
  set x(value: number);
@@ -74,12 +74,12 @@ export declare class MainOnlyNode extends EventEmitter implements INode {
74
74
  set zIndexLocked(value: number);
75
75
  get src(): string;
76
76
  set src(imageUrl: string);
77
- get texture(): TextureDesc | null;
78
- set texture(texture: TextureDesc | null);
77
+ get texture(): TextureRef | null;
78
+ set texture(texture: TextureRef | null);
79
79
  private onTextureLoaded;
80
80
  private onTextureFailed;
81
- get shader(): ShaderDesc | null;
82
- set shader(shader: ShaderDesc | null);
81
+ get shader(): ShaderRef | null;
82
+ set shader(shader: ShaderRef | null);
83
83
  destroy(): void;
84
84
  flush(): void;
85
85
  animate(props: Partial<INodeAnimatableProps>, settings: Partial<IAnimationSettings>): IAnimationController;
@@ -272,7 +272,7 @@ export class MainOnlyNode extends EventEmitter {
272
272
  this.texture = null;
273
273
  return;
274
274
  }
275
- this.texture = this.rendererMain.makeTexture('ImageTexture', {
275
+ this.texture = this.rendererMain.createTexture('ImageTexture', {
276
276
  src: imageUrl,
277
277
  });
278
278
  }
@@ -284,6 +284,12 @@ export class MainOnlyNode extends EventEmitter {
284
284
  if (this._texture === texture) {
285
285
  return;
286
286
  }
287
+ if (this._texture) {
288
+ this.rendererMain.textureTracker.decrementTextureRefCount(this._texture);
289
+ }
290
+ if (texture) {
291
+ this.rendererMain.textureTracker.incrementTextureRefCount(texture);
292
+ }
287
293
  this._texture = texture;
288
294
  if (texture) {
289
295
  this.coreNode.loadTexture(texture.txType, texture.props, texture.options);
@@ -314,6 +320,7 @@ export class MainOnlyNode extends EventEmitter {
314
320
  destroy() {
315
321
  this.emit('beforeDestroy', {});
316
322
  this.parent = null;
323
+ this.texture = null;
317
324
  this.emit('afterDestroy', {});
318
325
  this.removeAllListeners();
319
326
  }
@@ -1 +1 @@
1
- {"version":3,"file":"MainOnlyNode.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainOnlyNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MainOnlyNode.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainOnlyNode.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { IAnimationController } from '../../common/IAnimationController.js';
2
2
  import type { INode, INodeAnimatableProps } from '../../main-api/INode.js';
3
- import type { RendererMain, ShaderDesc, TextureDesc } from '../../main-api/RendererMain.js';
3
+ import type { RendererMain, ShaderRef, TextureRef } from '../../main-api/RendererMain.js';
4
4
  import type { NodeStruct } from './NodeStruct.js';
5
5
  import { SharedNode } from './SharedNode.js';
6
6
  import type { IAnimationSettings } from '../../core/animations/CoreAnimation.js';
@@ -9,8 +9,8 @@ export declare class ThreadXMainNode extends SharedNode implements INode {
9
9
  private nextAnimationId;
10
10
  protected _parent: ThreadXMainNode | null;
11
11
  protected _children: ThreadXMainNode[];
12
- protected _texture: TextureDesc | null;
13
- protected _shader: ShaderDesc | null;
12
+ protected _texture: TextureRef | null;
13
+ protected _shader: ShaderRef | null;
14
14
  private _src;
15
15
  /**
16
16
  * FinalizationRegistry for animation controllers. When an animation
@@ -23,10 +23,10 @@ export declare class ThreadXMainNode extends SharedNode implements INode {
23
23
  */
24
24
  private animationRegistry;
25
25
  constructor(rendererMain: RendererMain, sharedNodeStruct: NodeStruct, extendedCurProps?: Record<string, unknown>);
26
- get texture(): TextureDesc | null;
27
- set texture(texture: TextureDesc | null);
28
- get shader(): ShaderDesc | null;
29
- set shader(shader: ShaderDesc | null);
26
+ get texture(): TextureRef | null;
27
+ set texture(texture: TextureRef | null);
28
+ get shader(): ShaderRef | null;
29
+ set shader(shader: ShaderRef | null);
30
30
  animate(props: Partial<INodeAnimatableProps>, settings: Partial<IAnimationSettings>): IAnimationController;
31
31
  get src(): string;
32
32
  set src(imageUrl: string);
@@ -34,4 +34,5 @@ export declare class ThreadXMainNode extends SharedNode implements INode {
34
34
  set parent(newParent: ThreadXMainNode | null);
35
35
  get children(): ThreadXMainNode[];
36
36
  get props(): this["z$__type__Props"];
37
+ destroy(): void;
37
38
  }
@@ -50,6 +50,12 @@ export class ThreadXMainNode extends SharedNode {
50
50
  if (this._texture === texture) {
51
51
  return;
52
52
  }
53
+ if (this._texture) {
54
+ this.rendererMain.textureTracker.decrementTextureRefCount(this._texture);
55
+ }
56
+ if (texture) {
57
+ this.rendererMain.textureTracker.incrementTextureRefCount(texture);
58
+ }
53
59
  this._texture = texture;
54
60
  if (texture) {
55
61
  this.emit('loadTexture', texture);
@@ -89,7 +95,7 @@ export class ThreadXMainNode extends SharedNode {
89
95
  this.texture = null;
90
96
  return;
91
97
  }
92
- this.texture = this.rendererMain.makeTexture('ImageTexture', {
98
+ this.texture = this.rendererMain.createTexture('ImageTexture', {
93
99
  src: imageUrl,
94
100
  });
95
101
  }
@@ -117,5 +123,9 @@ export class ThreadXMainNode extends SharedNode {
117
123
  get props() {
118
124
  return this.curProps;
119
125
  }
126
+ destroy() {
127
+ super.destroy();
128
+ this.texture = null;
129
+ }
120
130
  }
121
131
  //# sourceMappingURL=ThreadXMainNode.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadXMainNode.js","sourceRoot":"","sources":["../../../../src/render-drivers/threadx/ThreadXMainNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreadXMainNode.js","sourceRoot":"","sources":["../../../../src/render-drivers/threadx/ThreadXMainNode.ts"],"names":[],"mappings":"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"}
@@ -76,7 +76,6 @@ export class ThreadXRendererNode extends SharedNode {
76
76
  this.animationControllers.get(id)?.pause();
77
77
  });
78
78
  this.on('loadTexture', (target, textureDesc) => {
79
- // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
80
79
  this.coreNode.loadTexture(textureDesc.txType, textureDesc.props, textureDesc.options);
81
80
  });
82
81
  this.on('loadShader', (target, shaderDesc) => {
@@ -1 +1 @@
1
- {"version":3,"file":"ThreadXRendererNode.js","sourceRoot":"","sources":["../../../../../src/render-drivers/threadx/worker/ThreadXRendererNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ThreadXRendererNode.js","sourceRoot":"","sources":["../../../../../src/render-drivers/threadx/worker/ThreadXRendererNode.ts"],"names":[],"mappings":"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"}