@lightningjs/renderer 1.0.1 → 2.1.0

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 (103) hide show
  1. package/README.md +17 -0
  2. package/dist/exports/canvas.d.ts +20 -0
  3. package/dist/exports/canvas.js +39 -0
  4. package/dist/exports/canvas.js.map +1 -0
  5. package/dist/exports/index.d.ts +3 -5
  6. package/dist/exports/index.js +2 -4
  7. package/dist/exports/index.js.map +1 -1
  8. package/dist/exports/inspector.d.ts +4 -0
  9. package/dist/exports/inspector.js +23 -0
  10. package/dist/exports/inspector.js.map +1 -0
  11. package/dist/exports/utils.d.ts +2 -0
  12. package/dist/exports/utils.js +2 -0
  13. package/dist/exports/utils.js.map +1 -1
  14. package/dist/exports/webgl.d.ts +19 -0
  15. package/dist/exports/webgl.js +38 -0
  16. package/dist/exports/webgl.js.map +1 -0
  17. package/dist/src/common/EventEmitter.d.ts +1 -1
  18. package/dist/src/common/IAnimationController.d.ts +1 -1
  19. package/dist/src/common/IEventEmitter.d.ts +8 -0
  20. package/dist/src/common/IEventEmitter.js +18 -0
  21. package/dist/src/common/IEventEmitter.js.map +1 -0
  22. package/dist/src/core/CoreNode.d.ts +66 -2
  23. package/dist/src/core/CoreNode.js +128 -24
  24. package/dist/src/core/CoreNode.js.map +1 -1
  25. package/dist/src/core/CoreTextNode.d.ts +2 -2
  26. package/dist/src/core/CoreTextNode.js +20 -30
  27. package/dist/src/core/CoreTextNode.js.map +1 -1
  28. package/dist/src/core/Stage.d.ts +11 -5
  29. package/dist/src/core/Stage.js +58 -30
  30. package/dist/src/core/Stage.js.map +1 -1
  31. package/dist/src/core/TextureMemoryManager.js +4 -2
  32. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  33. package/dist/src/core/animations/CoreAnimation.js +1 -1
  34. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  35. package/dist/src/core/lib/ImageWorker.d.ts +1 -1
  36. package/dist/src/core/lib/ImageWorker.js +25 -3
  37. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  38. package/dist/src/core/lib/textureSvg.d.ts +16 -0
  39. package/dist/src/core/lib/textureSvg.js +63 -0
  40. package/dist/src/core/lib/textureSvg.js.map +1 -0
  41. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +2 -1
  42. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +2 -1
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  45. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +10 -6
  46. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  47. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +2 -1
  48. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  49. package/dist/src/core/text-rendering/TrFontManager.js +11 -4
  50. package/dist/src/core/text-rendering/TrFontManager.js.map +1 -1
  51. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +13 -5
  52. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  53. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +1 -0
  54. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +1 -0
  55. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  56. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +1 -0
  57. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +1 -0
  58. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  59. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -0
  60. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  61. package/dist/src/core/textures/ImageTexture.d.ts +52 -0
  62. package/dist/src/core/textures/ImageTexture.js +78 -31
  63. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  64. package/dist/src/core/textures/Texture.d.ts +1 -0
  65. package/dist/src/core/textures/Texture.js +1 -0
  66. package/dist/src/core/textures/Texture.js.map +1 -1
  67. package/dist/src/main-api/Inspector.js +2 -2
  68. package/dist/src/main-api/Inspector.js.map +1 -1
  69. package/dist/src/main-api/Renderer.d.ts +50 -8
  70. package/dist/src/main-api/Renderer.js +8 -7
  71. package/dist/src/main-api/Renderer.js.map +1 -1
  72. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  73. package/dist/tsconfig.tsbuildinfo +1 -0
  74. package/exports/canvas.ts +39 -0
  75. package/exports/index.ts +4 -4
  76. package/exports/inspector.ts +24 -0
  77. package/exports/utils.ts +2 -0
  78. package/exports/webgl.ts +38 -0
  79. package/package.json +5 -7
  80. package/src/common/EventEmitter.ts +1 -1
  81. package/src/common/IAnimationController.ts +1 -1
  82. package/src/common/IEventEmitter.ts +28 -0
  83. package/src/core/CoreNode.test.ts +1 -0
  84. package/src/core/CoreNode.ts +229 -40
  85. package/src/core/CoreTextNode.ts +58 -65
  86. package/src/core/Stage.ts +92 -40
  87. package/src/core/TextureMemoryManager.ts +4 -2
  88. package/src/core/animations/CoreAnimation.ts +2 -1
  89. package/src/core/lib/ImageWorker.ts +44 -7
  90. package/src/core/lib/textureSvg.ts +78 -0
  91. package/src/core/renderers/canvas/CanvasCoreTexture.ts +4 -1
  92. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +2 -1
  93. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +11 -6
  94. package/src/core/renderers/webgl/shaders/DynamicShader.ts +1 -0
  95. package/src/core/text-rendering/TrFontManager.ts +15 -4
  96. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +15 -8
  97. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +2 -0
  98. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +2 -0
  99. package/src/core/text-rendering/renderers/TextRenderer.ts +1 -0
  100. package/src/core/textures/ImageTexture.ts +159 -35
  101. package/src/core/textures/Texture.ts +2 -0
  102. package/src/main-api/Inspector.ts +2 -2
  103. package/src/main-api/Renderer.ts +59 -15
@@ -19,6 +19,7 @@
19
19
  import { Texture } from './Texture.js';
20
20
  import { isCompressedTextureContainer, loadCompressedTexture, } from '../lib/textureCompression.js';
21
21
  import { convertUrlToAbsolute } from '../lib/utils.js';
22
+ import { isSvgImage, loadSvg } from '../lib/textureSvg.js';
22
23
  /**
23
24
  * Texture consisting of an image loaded from a URL
24
25
  *
@@ -42,38 +43,25 @@ export class ImageTexture extends Texture {
42
43
  hasAlphaChannel(mimeType) {
43
44
  return mimeType.indexOf('image/png') !== -1;
44
45
  }
45
- async getTextureData() {
46
- const { src, premultiplyAlpha } = this.props;
47
- if (!src) {
48
- return {
49
- data: null,
50
- };
46
+ async loadImage(src) {
47
+ const { premultiplyAlpha, sx, sy, sw, sh, width, height } = this.props;
48
+ if (this.txManager.imageWorkerManager !== null) {
49
+ return await this.txManager.imageWorkerManager.getImage(src, premultiplyAlpha, sx, sy, sw, sh);
51
50
  }
52
- if (typeof src !== 'string') {
53
- if (src instanceof ImageData) {
51
+ else if (this.txManager.hasCreateImageBitmap === true) {
52
+ const response = await fetch(src);
53
+ const blob = await response.blob();
54
+ const hasAlphaChannel = premultiplyAlpha ?? this.hasAlphaChannel(blob.type);
55
+ if (sw !== null && sh !== null) {
54
56
  return {
55
- data: src,
56
- premultiplyAlpha,
57
+ data: await createImageBitmap(blob, sx ?? 0, sy ?? 0, sw, sh, {
58
+ premultiplyAlpha: hasAlphaChannel ? 'premultiply' : 'none',
59
+ colorSpaceConversion: 'none',
60
+ imageOrientation: 'none',
61
+ }),
62
+ premultiplyAlpha: hasAlphaChannel,
57
63
  };
58
64
  }
59
- return {
60
- data: src(),
61
- premultiplyAlpha,
62
- };
63
- }
64
- // Handle compressed textures
65
- if (isCompressedTextureContainer(src)) {
66
- return loadCompressedTexture(src);
67
- }
68
- // Convert relative URL to absolute URL
69
- const absoluteSrc = convertUrlToAbsolute(src);
70
- if (this.txManager.imageWorkerManager) {
71
- return await this.txManager.imageWorkerManager.getImage(absoluteSrc, premultiplyAlpha);
72
- }
73
- else if (this.txManager.hasCreateImageBitmap) {
74
- const response = await fetch(absoluteSrc);
75
- const blob = await response.blob();
76
- const hasAlphaChannel = premultiplyAlpha ?? this.hasAlphaChannel(blob.type);
77
65
  return {
78
66
  data: await createImageBitmap(blob, {
79
67
  premultiplyAlpha: hasAlphaChannel ? 'premultiply' : 'none',
@@ -84,11 +72,11 @@ export class ImageTexture extends Texture {
84
72
  };
85
73
  }
86
74
  else {
87
- const img = new Image();
75
+ const img = new Image(width || undefined, height || undefined);
88
76
  if (!(src.substr(0, 5) === 'data:')) {
89
77
  img.crossOrigin = 'Anonymous';
90
78
  }
91
- img.src = absoluteSrc;
79
+ img.src = src;
92
80
  await new Promise((resolve, reject) => {
93
81
  img.onload = () => resolve();
94
82
  img.onerror = () => reject(new Error(`Failed to load image`));
@@ -101,6 +89,49 @@ export class ImageTexture extends Texture {
101
89
  };
102
90
  }
103
91
  }
92
+ async getTextureData() {
93
+ const { src, premultiplyAlpha, type } = this.props;
94
+ if (src === null) {
95
+ return {
96
+ data: null,
97
+ };
98
+ }
99
+ if (typeof src !== 'string') {
100
+ if (src instanceof ImageData) {
101
+ return {
102
+ data: src,
103
+ premultiplyAlpha,
104
+ };
105
+ }
106
+ return {
107
+ data: src(),
108
+ premultiplyAlpha,
109
+ };
110
+ }
111
+ const absoluteSrc = convertUrlToAbsolute(src);
112
+ if (type === 'regular') {
113
+ return this.loadImage(absoluteSrc);
114
+ }
115
+ if (type === 'svg') {
116
+ return loadSvg(absoluteSrc, this.props.width, this.props.height, this.props.sx, this.props.sy, this.props.sw, this.props.sh);
117
+ }
118
+ if (isSvgImage(src) === true) {
119
+ return loadSvg(absoluteSrc, this.props.width, this.props.height, this.props.sx, this.props.sy, this.props.sw, this.props.sh);
120
+ }
121
+ if (type === 'compressed') {
122
+ return loadCompressedTexture(absoluteSrc);
123
+ }
124
+ if (isCompressedTextureContainer(src) === true) {
125
+ return loadCompressedTexture(absoluteSrc);
126
+ }
127
+ // default
128
+ return this.loadImage(absoluteSrc);
129
+ }
130
+ /**
131
+ * Generates a cache key for the ImageTexture based on the provided props.
132
+ * @param props - The props used to generate the cache key.
133
+ * @returns The cache key as a string, or `false` if the key cannot be generated.
134
+ */
104
135
  static makeCacheKey(props) {
105
136
  const resolvedProps = ImageTexture.resolveDefaults(props);
106
137
  // Only cache key-able textures; prioritise key
@@ -108,13 +139,29 @@ export class ImageTexture extends Texture {
108
139
  if (typeof key !== 'string') {
109
140
  return false;
110
141
  }
111
- return `ImageTexture,${key},${resolvedProps.premultiplyAlpha ?? 'true'}`;
142
+ // if we have source dimensions, cache the texture separately
143
+ let dimensionProps = '';
144
+ if (resolvedProps.sh !== null && resolvedProps.sw !== null) {
145
+ dimensionProps += ',';
146
+ dimensionProps += resolvedProps.sx ?? '';
147
+ dimensionProps += resolvedProps.sy ?? '';
148
+ dimensionProps += resolvedProps.sw || '';
149
+ dimensionProps += resolvedProps.sh || '';
150
+ }
151
+ return `ImageTexture,${key},${resolvedProps.premultiplyAlpha ?? 'true'}${dimensionProps}`;
112
152
  }
113
153
  static resolveDefaults(props) {
114
154
  return {
115
155
  src: props.src ?? '',
116
156
  premultiplyAlpha: props.premultiplyAlpha ?? true,
117
157
  key: props.key ?? null,
158
+ type: props.type ?? null,
159
+ width: props.width ?? null,
160
+ height: props.height ?? null,
161
+ sx: props.sx ?? null,
162
+ sy: props.sy ?? null,
163
+ sw: props.sw ?? null,
164
+ sh: props.sh ?? null,
118
165
  };
119
166
  }
120
167
  static z$__type__Props;
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
@@ -97,6 +97,7 @@ export declare abstract class Texture extends EventEmitter {
97
97
  readonly renderableOwners: Set<unknown>;
98
98
  readonly renderable: boolean;
99
99
  readonly lastRenderableChangeTime = 0;
100
+ preventCleanup: boolean;
100
101
  constructor(txManager: CoreTextureManager);
101
102
  /**
102
103
  * Add/remove an owner to/from the Texture based on its renderability.
@@ -41,6 +41,7 @@ export class Texture extends EventEmitter {
41
41
  renderableOwners = new Set();
42
42
  renderable = false;
43
43
  lastRenderableChangeTime = 0;
44
+ preventCleanup = false;
44
45
  constructor(txManager) {
45
46
  super();
46
47
  this.txManager = txManager;
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
@@ -84,7 +84,7 @@ const convertColorToRgba = (color) => {
84
84
  return `rgba(${r},${g},${b},${a})`;
85
85
  };
86
86
  const domPropertyMap = {
87
- id: 'id',
87
+ id: 'test-id',
88
88
  };
89
89
  const gradientColorPropertyMap = [
90
90
  'colorTop',
@@ -111,7 +111,7 @@ export class Inspector {
111
111
  }
112
112
  // calc dimensions based on the devicePixelRatio
113
113
  this.height = Math.ceil(settings.appHeight ?? 1080 / (settings.deviceLogicalPixelRatio ?? 1));
114
- this.width = Math.ceil(settings.appWidth ?? 1900 / (settings.deviceLogicalPixelRatio ?? 1));
114
+ this.width = Math.ceil(settings.appWidth ?? 1920 / (settings.deviceLogicalPixelRatio ?? 1));
115
115
  this.scaleX = settings.deviceLogicalPixelRatio ?? 1;
116
116
  this.scaleY = settings.deviceLogicalPixelRatio ?? 1;
117
117
  this.canvas = canvas;
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,11 @@ import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js';
8
8
  import type { DynamicEffects, DynamicShaderController } from './DynamicShaderController.js';
9
9
  import type { EffectDesc } from '../core/renderers/webgl/shaders/effects/ShaderEffect.js';
10
10
  import type { TextureMemoryManagerSettings } from '../core/TextureMemoryManager.js';
11
+ import type { CanvasTextRenderer } from '../core/text-rendering/renderers/CanvasTextRenderer.js';
12
+ import type { SdfTextRenderer } from '../core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
13
+ import type { WebGlCoreRenderer } from '../core/renderers/webgl/WebGlCoreRenderer.js';
14
+ import type { CanvasCoreRenderer } from '../core/renderers/canvas/CanvasCoreRenderer.js';
15
+ import type { Inspector } from './Inspector.js';
11
16
  /**
12
17
  * An immutable reference to a specific Shader type
13
18
  *
@@ -134,26 +139,63 @@ export interface RendererMainSettings {
134
139
  */
135
140
  numImageWorkers?: number;
136
141
  /**
137
- * Enable inspector
142
+ * DOM Inspector
138
143
  *
139
144
  * @remarks
140
- * When enabled the renderer will spawn a inspector. The inspector will
141
- * replicate the state of the Nodes created in the renderer and allow
142
- * inspection of the state of the nodes.
145
+ * The inspector will replicate the state of the Nodes created
146
+ * in the renderer and allow inspection of the state of the nodes.
143
147
  *
144
- * @defaultValue `false` (disabled)
145
148
  */
146
- enableInspector?: boolean;
149
+ inspector?: typeof Inspector | false;
147
150
  /**
148
- * Renderer mode
151
+ * Renderer Engine
152
+ *
153
+ * @remarks
154
+ * The renderer engine to use. Spawns a WebGL or Canvas renderer.
155
+ * WebGL is more performant and supports more features. Canvas is
156
+ * supported on most platforms.
157
+ *
158
+ * Note: When using CanvasCoreRenderer you can only use
159
+ * CanvasTextRenderer. The WebGLCoreRenderer supports
160
+ * both CanvasTextRenderer and SdfTextRenderer for Text Rendering.
161
+ *
149
162
  */
150
- renderMode?: 'webgl' | 'canvas';
163
+ renderEngine: typeof CanvasCoreRenderer | typeof WebGlCoreRenderer;
151
164
  /**
152
165
  * Quad buffer size in bytes
153
166
  *
154
167
  * @defaultValue 4 * 1024 * 1024
155
168
  */
156
169
  quadBufferSize?: number;
170
+ /**
171
+ * Font Engines
172
+ *
173
+ * @remarks
174
+ * The font engines to use for text rendering. CanvasTextRenderer is supported
175
+ * on all platforms. SdfTextRenderer is a more performant renderer.
176
+ * When using `renderEngine=CanvasCoreRenderer` you can only use `CanvasTextRenderer`.
177
+ * The `renderEngine=WebGLCoreRenderer` supports both `CanvasTextRenderer` and `SdfTextRenderer`.
178
+ *
179
+ * This setting is used to enable tree shaking of unused font engines. Please
180
+ * import your font engine(s) as follows:
181
+ * ```
182
+ * import { CanvasTextRenderer } from '@lightning/renderer/canvas';
183
+ * import { SdfTextRenderer } from '@lightning/renderer/webgl';
184
+ * ```
185
+ *
186
+ * If both CanvasTextRenderer and SdfTextRenderer are provided, the first renderer
187
+ * provided will be asked first if it can render the font. If it cannot render the
188
+ * font, the next renderer will be asked. If no renderer can render the font, the
189
+ * text will not be rendered.
190
+ *
191
+ * **Note** that if you have fonts available in both engines the second font engine
192
+ * will not be used. This is because the first font engine will always be asked first.
193
+ *
194
+ * @defaultValue '[]'
195
+ *
196
+ *
197
+ */
198
+ fontEngines: (typeof SdfTextRenderer | typeof CanvasTextRenderer)[];
157
199
  }
158
200
  /**
159
201
  * The Renderer Main API
@@ -17,7 +17,6 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import { EventEmitter } from '../common/EventEmitter.js';
20
- import { Inspector } from './Inspector.js';
21
20
  import { assertTruthy, isProductionEnvironment } from '../utils.js';
22
21
  import { Stage } from '../core/Stage.js';
23
22
  import { CoreNode } from '../core/CoreNode.js';
@@ -102,12 +101,13 @@ export class RendererMain extends EventEmitter {
102
101
  fpsUpdateInterval: settings.fpsUpdateInterval || 0,
103
102
  numImageWorkers: settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
104
103
  enableContextSpy: settings.enableContextSpy ?? false,
105
- enableInspector: settings.enableInspector ?? false,
106
- renderMode: settings.renderMode ?? 'webgl',
104
+ inspector: settings.inspector ?? false,
105
+ renderEngine: settings.renderEngine,
107
106
  quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
107
+ fontEngines: settings.fontEngines,
108
108
  };
109
109
  this.settings = resolvedSettings;
110
- const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, enableInspector, } = resolvedSettings;
110
+ const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, } = resolvedSettings;
111
111
  const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
112
112
  const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
113
113
  const canvas = document.createElement('canvas');
@@ -128,10 +128,11 @@ export class RendererMain extends EventEmitter {
128
128
  enableContextSpy: this.settings.enableContextSpy,
129
129
  fpsUpdateInterval: this.settings.fpsUpdateInterval,
130
130
  numImageWorkers: this.settings.numImageWorkers,
131
- renderMode: this.settings.renderMode,
131
+ renderEngine: this.settings.renderEngine,
132
132
  textureMemory: resolvedTxSettings,
133
133
  eventBus: this,
134
134
  quadBufferSize: this.settings.quadBufferSize,
135
+ fontEngines: this.settings.fontEngines,
135
136
  });
136
137
  // Extract the root node
137
138
  this.root = this.stage.root;
@@ -148,8 +149,8 @@ export class RendererMain extends EventEmitter {
148
149
  }
149
150
  targetEl.appendChild(canvas);
150
151
  // Initialize inspector (if enabled)
151
- if (enableInspector && !isProductionEnvironment()) {
152
- this.inspector = new Inspector(canvas, resolvedSettings);
152
+ if (inspector && !isProductionEnvironment()) {
153
+ this.inspector = new inspector(canvas, resolvedSettings);
153
154
  }
154
155
  }
155
156
  /**
@@ -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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"}