@lightningjs/renderer 0.8.1 → 0.8.3

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 (100) hide show
  1. package/dist/src/core/CoreNode.d.ts +5 -0
  2. package/dist/src/core/CoreNode.js +35 -4
  3. package/dist/src/core/CoreNode.js.map +1 -1
  4. package/dist/src/core/CoreShaderManager.d.ts +2 -0
  5. package/dist/src/core/CoreShaderManager.js +8 -0
  6. package/dist/src/core/CoreShaderManager.js.map +1 -1
  7. package/dist/src/core/Stage.d.ts +3 -2
  8. package/dist/src/core/Stage.js +16 -5
  9. package/dist/src/core/Stage.js.map +1 -1
  10. package/dist/src/core/lib/ImageWorker.js +2 -2
  11. package/dist/src/core/renderers/CoreRenderer.d.ts +21 -3
  12. package/dist/src/core/renderers/CoreRenderer.js +13 -2
  13. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  14. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +16 -0
  15. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +155 -0
  16. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  17. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  18. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +122 -0
  19. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  20. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +5 -0
  21. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +32 -0
  22. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
  23. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +15 -0
  24. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +45 -0
  25. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
  26. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  27. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
  28. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  29. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +2 -20
  30. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +3 -15
  31. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +1 -0
  33. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +23 -0
  34. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  35. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +3 -1
  36. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  37. package/dist/src/core/textures/ImageTexture.js +3 -0
  38. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  39. package/dist/src/main-api/INode.d.ts +13 -0
  40. package/dist/src/main-api/Inspector.js +11 -1
  41. package/dist/src/main-api/Inspector.js.map +1 -1
  42. package/dist/src/main-api/RendererMain.d.ts +4 -0
  43. package/dist/src/main-api/RendererMain.js +2 -0
  44. package/dist/src/main-api/RendererMain.js.map +1 -1
  45. package/dist/src/render-drivers/main/MainCoreDriver.js +1 -0
  46. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  47. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +2 -0
  48. package/dist/src/render-drivers/main/MainOnlyNode.js +7 -0
  49. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  50. package/dist/src/render-drivers/main/MainOnlyTextNode.js +1 -0
  51. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  52. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +3 -0
  53. package/dist/src/render-drivers/threadx/NodeStruct.js +9 -0
  54. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  55. package/dist/src/render-drivers/threadx/SharedNode.d.ts +1 -0
  56. package/dist/src/render-drivers/threadx/SharedNode.js +1 -0
  57. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  58. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +2 -0
  59. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  60. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +1 -0
  61. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  62. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +1 -0
  63. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  64. package/dist/src/render-drivers/threadx/worker/renderer.js +2 -0
  65. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  66. package/dist/src/render-drivers/utils.js +1 -1
  67. package/dist/src/render-drivers/utils.js.map +1 -1
  68. package/dist/src/utils.d.ts +20 -6
  69. package/dist/src/utils.js +29 -9
  70. package/dist/src/utils.js.map +1 -1
  71. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  72. package/package.json +1 -1
  73. package/src/core/CoreNode.ts +49 -4
  74. package/src/core/CoreShaderManager.ts +10 -0
  75. package/src/core/Stage.ts +19 -5
  76. package/src/core/lib/ImageWorker.ts +2 -2
  77. package/src/core/renderers/CoreRenderer.ts +32 -6
  78. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +178 -0
  79. package/src/core/renderers/canvas/CanvasCoreTexture.ts +138 -0
  80. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +34 -0
  81. package/src/core/renderers/canvas/internal/ColorUtils.ts +55 -0
  82. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +49 -0
  83. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +8 -38
  84. package/src/core/renderers/webgl/shaders/DynamicShader.ts +31 -0
  85. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +3 -1
  86. package/src/core/textures/ImageTexture.ts +3 -0
  87. package/src/main-api/INode.ts +13 -0
  88. package/src/main-api/Inspector.ts +11 -1
  89. package/src/main-api/RendererMain.ts +8 -0
  90. package/src/render-drivers/main/MainCoreDriver.ts +1 -0
  91. package/src/render-drivers/main/MainOnlyNode.ts +9 -0
  92. package/src/render-drivers/main/MainOnlyTextNode.ts +1 -0
  93. package/src/render-drivers/threadx/NodeStruct.ts +10 -0
  94. package/src/render-drivers/threadx/SharedNode.ts +2 -0
  95. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +2 -0
  96. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +1 -0
  97. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +1 -0
  98. package/src/render-drivers/threadx/worker/renderer.ts +2 -0
  99. package/src/render-drivers/utils.ts +1 -1
  100. package/src/utils.ts +32 -9
@@ -4,6 +4,7 @@ import type { CoreRenderer } from './renderers/CoreRenderer.js';
4
4
  import type { CoreShader } from './renderers/CoreShader.js';
5
5
  import type { Stage } from './Stage.js';
6
6
  import type { Texture } from './textures/Texture.js';
7
+ import type { Dimensions } from '../common/CommonTypes.js';
7
8
  import { EventEmitter } from '../common/EventEmitter.js';
8
9
  import { type Bound, type RectWithValid } from './lib/utils.js';
9
10
  import { Matrix3d } from './lib/Matrix3d.js';
@@ -21,6 +22,7 @@ export interface CoreNodeProps {
21
22
  width: number;
22
23
  height: number;
23
24
  alpha: number;
25
+ autosize: boolean;
24
26
  clipping: boolean;
25
27
  color: number;
26
28
  colorTop: number;
@@ -172,6 +174,7 @@ export declare class CoreNode extends EventEmitter implements ICoreNode {
172
174
  constructor(stage: Stage, props: CoreNodeProps);
173
175
  loadTexture<Type extends keyof TextureMap>(textureType: Type, props: ExtractProps<TextureMap[Type]>, options?: TextureOptions | null): void;
174
176
  unloadTexture(): void;
177
+ autosizeNode(dimensions: Dimensions): void;
175
178
  private onTextureLoaded;
176
179
  private onTextureFailed;
177
180
  private onTextureFreed;
@@ -254,6 +257,8 @@ export declare class CoreNode extends EventEmitter implements ICoreNode {
254
257
  set rotation(value: number);
255
258
  get alpha(): number;
256
259
  set alpha(value: number);
260
+ get autosize(): boolean;
261
+ set autosize(value: boolean);
257
262
  get clipping(): boolean;
258
263
  set clipping(value: boolean);
259
264
  get color(): number;
@@ -16,7 +16,7 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import { assertTruthy, mergeColorAlphaPremultiplied } from '../utils.js';
19
+ import { assertTruthy, mergeColorAlphaPremultiplied, getImageAspectRatio, } from '../utils.js';
20
20
  import { EventEmitter } from '../common/EventEmitter.js';
21
21
  import { copyRect, intersectRect, createBound, boundInsideBound, } from './lib/utils.js';
22
22
  import { Matrix3d } from './lib/Matrix3d.js';
@@ -213,7 +213,14 @@ export class CoreNode extends EventEmitter {
213
213
  this.props.textureOptions = null;
214
214
  this.setUpdateType(UpdateType.IsRenderable);
215
215
  }
216
+ autosizeNode(dimensions) {
217
+ if (this.autosize) {
218
+ this.width = dimensions.width;
219
+ this.height = dimensions.height;
220
+ }
221
+ }
216
222
  onTextureLoaded = (target, dimensions) => {
223
+ this.autosizeNode(dimensions);
217
224
  // Texture was loaded. In case the RAF loop has already stopped, we request
218
225
  // a render to ensure the texture is rendered.
219
226
  this.stage.requestRender();
@@ -314,7 +321,9 @@ export class CoreNode extends EventEmitter {
314
321
  else {
315
322
  this.worldAlpha = this.props.alpha;
316
323
  }
317
- this.setUpdateType(UpdateType.Children | UpdateType.PremultipliedColors);
324
+ this.setUpdateType(UpdateType.Children |
325
+ UpdateType.PremultipliedColors |
326
+ UpdateType.IsRenderable);
318
327
  childUpdateType |= UpdateType.WorldAlpha;
319
328
  }
320
329
  if (this.updateType & UpdateType.PremultipliedColors) {
@@ -430,7 +439,7 @@ export class CoreNode extends EventEmitter {
430
439
  updateRenderState(parentClippingRect) {
431
440
  const renderState = this.checkRenderBounds(parentClippingRect);
432
441
  if (renderState !== this.renderState) {
433
- const previous = this.renderState;
442
+ let previous = this.renderState;
434
443
  this.renderState = renderState;
435
444
  if (previous === CoreNodeRenderState.InViewport) {
436
445
  this.emit('outOfViewport', {
@@ -438,6 +447,22 @@ export class CoreNode extends EventEmitter {
438
447
  current: renderState,
439
448
  });
440
449
  }
450
+ if (previous < CoreNodeRenderState.InBounds &&
451
+ renderState === CoreNodeRenderState.InViewport) {
452
+ this.emit(CoreNodeRenderStateMap.get(CoreNodeRenderState.InBounds), {
453
+ previous,
454
+ current: renderState,
455
+ });
456
+ previous = CoreNodeRenderState.InBounds;
457
+ }
458
+ else if (previous > CoreNodeRenderState.InBounds &&
459
+ renderState === CoreNodeRenderState.OutOfBounds) {
460
+ this.emit(CoreNodeRenderStateMap.get(CoreNodeRenderState.InBounds), {
461
+ previous,
462
+ current: renderState,
463
+ });
464
+ previous = CoreNodeRenderState.InBounds;
465
+ }
441
466
  const event = CoreNodeRenderStateMap.get(renderState);
442
467
  assertTruthy(event);
443
468
  this.emit(event, {
@@ -459,7 +484,7 @@ export class CoreNode extends EventEmitter {
459
484
  */
460
485
  updateIsRenderable() {
461
486
  let newIsRenderable;
462
- if (!this.checkRenderProps()) {
487
+ if (this.worldAlpha === 0 || !this.checkRenderProps()) {
463
488
  newIsRenderable = false;
464
489
  }
465
490
  else {
@@ -760,6 +785,12 @@ export class CoreNode extends EventEmitter {
760
785
  this.props.alpha = value;
761
786
  this.setUpdateType(UpdateType.PremultipliedColors | UpdateType.WorldAlpha);
762
787
  }
788
+ get autosize() {
789
+ return this.props.autosize;
790
+ }
791
+ set autosize(value) {
792
+ this.props.autosize = value;
793
+ }
763
794
  get clipping() {
764
795
  return this.props.clipping;
765
796
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoreNode.js","sourceRoot":"","sources":["../../../src/core/CoreNode.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreNode.js","sourceRoot":"","sources":["../../../src/core/CoreNode.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { FadeOutEffect, type FadeOutEffectProps } from './renderers/webgl/shader
19
19
  import { RadialGradientEffect, type RadialGradientEffectProps } from './renderers/webgl/shaders/effects/RadialGradientEffect.js';
20
20
  import { RadialProgressEffect, type RadialProgressEffectProps } from './renderers/webgl/shaders/effects/RadialProgressEffect.js';
21
21
  import { HolePunchEffect } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
22
+ import { UnsupportedShader } from './renderers/canvas/shaders/UnsupportedShader.js';
22
23
  export type { FadeOutEffectProps };
23
24
  export type { LinearGradientEffectProps };
24
25
  export type { RadialGradientEffectProps };
@@ -31,6 +32,7 @@ export interface ShaderMap {
31
32
  RoundedRectangle: typeof RoundedRectangle;
32
33
  DynamicShader: typeof DynamicShader;
33
34
  SdfShader: typeof SdfShader;
35
+ UnsupportedShader: typeof UnsupportedShader;
34
36
  }
35
37
  export type ShaderNode<Type extends keyof ShaderMap> = {
36
38
  shader: InstanceType<ShaderMap[Type]>;
@@ -16,6 +16,8 @@ import { FadeOutEffect, } from './renderers/webgl/shaders/effects/FadeOutEffect.
16
16
  import { RadialGradientEffect, } from './renderers/webgl/shaders/effects/RadialGradientEffect.js';
17
17
  import { RadialProgressEffect, } from './renderers/webgl/shaders/effects/RadialProgressEffect.js';
18
18
  import { HolePunchEffect } from './renderers/webgl/shaders/effects/HolePunchEffect.js';
19
+ import { WebGlCoreShader } from './renderers/webgl/WebGlCoreShader.js';
20
+ import { UnsupportedShader } from './renderers/canvas/shaders/UnsupportedShader.js';
19
21
  export class CoreShaderManager {
20
22
  shCache = new Map();
21
23
  shConstructors = {};
@@ -62,6 +64,12 @@ export class CoreShaderManager {
62
64
  if (!ShaderClass) {
63
65
  throw new Error(`Shader type "${shType}" is not registered`);
64
66
  }
67
+ if (this.renderer.mode === 'canvas' && ShaderClass.prototype instanceof WebGlCoreShader) {
68
+ return {
69
+ shader: new UnsupportedShader(shType),
70
+ props: props
71
+ };
72
+ }
65
73
  if (shType === 'DynamicShader') {
66
74
  return this.loadDynamicShader(props);
67
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CoreShaderManager.js","sourceRoot":"","sources":["../../../src/core/CoreShaderManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreShaderManager.js","sourceRoot":"","sources":["../../../src/core/CoreShaderManager.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- import { WebGlCoreRenderer } from './renderers/webgl/WebGlCoreRenderer.js';
2
1
  import { AnimationManager } from './animations/AnimationManager.js';
3
2
  import { CoreNode } from './CoreNode.js';
4
3
  import { CoreTextureManager } from './CoreTextureManager.js';
@@ -9,6 +8,7 @@ import { EventEmitter } from '../common/EventEmitter.js';
9
8
  import { ContextSpy } from './lib/ContextSpy.js';
10
9
  import type { FpsUpdatePayload, FrameTickPayload } from '../common/CommonTypes.js';
11
10
  import { TextureMemoryManager } from './TextureMemoryManager.js';
11
+ import type { CoreRenderer } from './renderers/CoreRenderer.js';
12
12
  export interface StageOptions {
13
13
  rootId: number;
14
14
  appWidth: number;
@@ -22,6 +22,7 @@ export interface StageOptions {
22
22
  fpsUpdateInterval: number;
23
23
  enableContextSpy: boolean;
24
24
  numImageWorkers: number;
25
+ renderMode: 'webgl' | 'canvas';
25
26
  debug?: {
26
27
  monitorTextureCache?: boolean;
27
28
  };
@@ -36,7 +37,7 @@ export declare class Stage extends EventEmitter {
36
37
  readonly fontManager: TrFontManager;
37
38
  readonly textRenderers: Partial<TextRendererMap>;
38
39
  readonly shManager: CoreShaderManager;
39
- readonly renderer: WebGlCoreRenderer;
40
+ readonly renderer: CoreRenderer;
40
41
  readonly root: CoreNode;
41
42
  readonly boundsMargin: [number, number, number, number];
42
43
  deltaTime: number;
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { startLoop, getTimeStamp } from './platform.js';
20
20
  import { WebGlCoreRenderer } from './renderers/webgl/WebGlCoreRenderer.js';
21
- import { assertTruthy } from '../utils.js';
21
+ import { assertTruthy, setPremultiplyMode } from '../utils.js';
22
22
  import { AnimationManager } from './animations/AnimationManager.js';
23
23
  import { CoreNode } from './CoreNode.js';
24
24
  import { CoreTextureManager } from './CoreTextureManager.js';
@@ -29,6 +29,7 @@ import { CanvasTextRenderer } from './text-rendering/renderers/CanvasTextRendere
29
29
  import { EventEmitter } from '../common/EventEmitter.js';
30
30
  import { ContextSpy } from './lib/ContextSpy.js';
31
31
  import { TextureMemoryManager } from './TextureMemoryManager.js';
32
+ import { CanvasCoreRenderer } from './renderers/canvas/CanvasCoreRenderer.js';
32
33
  const bufferMemory = 2e6;
33
34
  const autoStart = true;
34
35
  export class Stage extends EventEmitter {
@@ -58,7 +59,7 @@ export class Stage extends EventEmitter {
58
59
  constructor(options) {
59
60
  super();
60
61
  this.options = options;
61
- const { canvas, clearColor, rootId, debug, appWidth, appHeight, boundsMargin, enableContextSpy, numImageWorkers, txMemByteThreshold, } = options;
62
+ const { canvas, clearColor, rootId, debug, appWidth, appHeight, boundsMargin, enableContextSpy, numImageWorkers, txMemByteThreshold, renderMode } = options;
62
63
  this.txManager = new CoreTextureManager(numImageWorkers);
63
64
  this.txMemManager = new TextureMemoryManager(txMemByteThreshold);
64
65
  this.shManager = new CoreShaderManager();
@@ -79,7 +80,7 @@ export class Stage extends EventEmitter {
79
80
  console.log('Texture Key Cache Size: ', debugInfo.keyCacheSize);
80
81
  }, 1000);
81
82
  }
82
- this.renderer = new WebGlCoreRenderer({
83
+ const rendererOptions = {
83
84
  stage: this,
84
85
  canvas,
85
86
  pixelRatio: options.devicePhysicalPixelRatio * options.deviceLogicalPixelRatio,
@@ -89,12 +90,21 @@ export class Stage extends EventEmitter {
89
90
  txMemManager: this.txMemManager,
90
91
  shManager: this.shManager,
91
92
  contextSpy: this.contextSpy,
92
- });
93
+ };
94
+ if (renderMode === 'canvas') {
95
+ this.renderer = new CanvasCoreRenderer(rendererOptions);
96
+ }
97
+ else {
98
+ this.renderer = new WebGlCoreRenderer(rendererOptions);
99
+ }
100
+ setPremultiplyMode(renderMode);
93
101
  // Must do this after renderer is created
94
102
  this.txManager.renderer = this.renderer;
95
- this.textRenderers = {
103
+ this.textRenderers = renderMode === 'webgl' ? {
96
104
  canvas: new CanvasTextRenderer(this),
97
105
  sdf: new SdfTextRenderer(this),
106
+ } : {
107
+ canvas: new CanvasTextRenderer(this),
98
108
  };
99
109
  this.fontManager = new TrFontManager(this.textRenderers);
100
110
  // create root node
@@ -105,6 +115,7 @@ export class Stage extends EventEmitter {
105
115
  width: appWidth,
106
116
  height: appHeight,
107
117
  alpha: 1,
118
+ autosize: false,
108
119
  clipping: false,
109
120
  color: 0x00000000,
110
121
  colorTop: 0x00000000,
@@ -1 +1 @@
1
- {"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export class ImageWorkerManager {
48
48
  return (mimeType.indexOf("image/png") !== -1);
49
49
  }
50
50
 
51
- async function getImage(src, premultiplyAlpha) {
51
+ function getImage(src, premultiplyAlpha) {
52
52
  return new Promise(function(resolve, reject) {
53
53
  var xhr = new XMLHttpRequest();
54
54
  xhr.open('GET', src, true);
@@ -81,7 +81,7 @@ export class ImageWorkerManager {
81
81
  });
82
82
  }
83
83
 
84
- self.onmessage = async (event) => {
84
+ self.onmessage = (event) => {
85
85
  var src = event.data.src;
86
86
  var premultiplyAlpha = event.data.premultiplyAlpha;
87
87
 
@@ -1,6 +1,8 @@
1
1
  import type { CoreShaderManager } from '../CoreShaderManager.js';
2
- import type { TextureOptions } from '../CoreTextureManager.js';
2
+ import type { CoreTextureManager, TextureOptions } from '../CoreTextureManager.js';
3
3
  import type { Stage } from '../Stage.js';
4
+ import type { TextureMemoryManager } from '../TextureMemoryManager.js';
5
+ import type { ContextSpy } from '../lib/ContextSpy.js';
4
6
  import type { RectWithValid } from '../lib/utils.js';
5
7
  import type { Texture } from '../textures/Texture.js';
6
8
  import { CoreContextTexture } from './CoreContextTexture.js';
@@ -26,11 +28,27 @@ export interface QuadOptions {
26
28
  tc: number;
27
29
  td: number;
28
30
  }
31
+ export interface CoreRendererOptions {
32
+ stage: Stage;
33
+ canvas: HTMLCanvasElement | OffscreenCanvas;
34
+ pixelRatio: number;
35
+ txManager: CoreTextureManager;
36
+ txMemManager: TextureMemoryManager;
37
+ shManager: CoreShaderManager;
38
+ clearColor: number;
39
+ bufferMemory: number;
40
+ contextSpy: ContextSpy | null;
41
+ }
29
42
  export declare abstract class CoreRenderer {
43
+ options: CoreRendererOptions;
44
+ mode: 'webgl' | 'canvas' | undefined;
30
45
  protected stage: Stage;
31
- constructor(stage: Stage);
46
+ txManager: CoreTextureManager;
47
+ txMemManager: TextureMemoryManager;
48
+ shManager: CoreShaderManager;
49
+ constructor(options: CoreRendererOptions);
32
50
  abstract reset(): void;
33
- abstract render(surface: 'screen' | CoreContextTexture): void;
51
+ abstract render(surface?: 'screen' | CoreContextTexture): void;
34
52
  abstract addQuad(quad: QuadOptions): void;
35
53
  abstract createCtxTexture(textureSource: Texture): CoreContextTexture;
36
54
  abstract getShaderManager(): CoreShaderManager;
@@ -16,11 +16,22 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { ColorTexture } from '../textures/ColorTexture.js';
19
20
  import { CoreContextTexture } from './CoreContextTexture.js';
20
21
  export class CoreRenderer {
22
+ options;
23
+ mode;
21
24
  stage;
22
- constructor(stage) {
23
- this.stage = stage;
25
+ //// Core Managers
26
+ txManager;
27
+ txMemManager;
28
+ shManager;
29
+ constructor(options) {
30
+ this.options = options;
31
+ this.stage = options.stage;
32
+ this.txManager = options.txManager;
33
+ this.txMemManager = options.txMemManager;
34
+ this.shManager = options.shManager;
24
35
  }
25
36
  }
26
37
  //# sourceMappingURL=CoreRenderer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CoreRenderer.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAOH,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AA0B7D,MAAM,OAAgB,YAAY;IACtB,KAAK,CAAQ;IAEvB,YAAY,KAAY;QACtB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CAOF"}
1
+ {"version":3,"file":"CoreRenderer.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAqC7D,MAAM,OAAgB,YAAY;IACzB,OAAO,CAAsB;IAC7B,IAAI,CAAiC;IAElC,KAAK,CAAQ;IAEvB,kBAAkB;IAClB,SAAS,CAAqB;IAC9B,YAAY,CAAuB;IACnC,SAAS,CAAoB;IAE7B,YAAY,OAA4B;QACtC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IACrC,CAAC;CAOF"}
@@ -0,0 +1,16 @@
1
+ import type { CoreShaderManager } from "../../CoreShaderManager.js";
2
+ import type { Texture } from "../../textures/Texture.js";
3
+ import type { CoreContextTexture } from "../CoreContextTexture.js";
4
+ import { CoreRenderer, type CoreRendererOptions, type QuadOptions } from "../CoreRenderer.js";
5
+ export declare class CanvasCoreRenderer extends CoreRenderer {
6
+ private context;
7
+ private canvas;
8
+ private pixelRatio;
9
+ private clearColor;
10
+ constructor(options: CoreRendererOptions);
11
+ reset(): void;
12
+ render(): void;
13
+ addQuad(quad: QuadOptions): void;
14
+ createCtxTexture(textureSource: Texture): CoreContextTexture;
15
+ getShaderManager(): CoreShaderManager;
16
+ }