@lightningjs/renderer 0.5.0 → 0.6.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 (93) hide show
  1. package/README.md +40 -8
  2. package/dist/exports/main-api.d.ts +3 -3
  3. package/dist/exports/main-api.js +3 -3
  4. package/dist/exports/main-api.js.map +1 -1
  5. package/dist/src/core/CoreNode.d.ts +24 -10
  6. package/dist/src/core/CoreNode.js +92 -20
  7. package/dist/src/core/CoreNode.js.map +1 -1
  8. package/dist/src/core/CoreShaderManager.d.ts +4 -0
  9. package/dist/src/core/CoreShaderManager.js +8 -0
  10. package/dist/src/core/CoreShaderManager.js.map +1 -1
  11. package/dist/src/core/CoreTextNode.d.ts +2 -4
  12. package/dist/src/core/CoreTextNode.js +5 -53
  13. package/dist/src/core/CoreTextNode.js.map +1 -1
  14. package/dist/src/core/Stage.d.ts +14 -3
  15. package/dist/src/core/Stage.js +52 -32
  16. package/dist/src/core/Stage.js.map +1 -1
  17. package/dist/src/core/animations/CoreAnimation.d.ts +1 -0
  18. package/dist/src/core/animations/CoreAnimation.js +25 -15
  19. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  20. package/dist/src/core/lib/utils.d.ts +5 -1
  21. package/dist/src/core/lib/utils.js +17 -12
  22. package/dist/src/core/lib/utils.js.map +1 -1
  23. package/dist/src/core/platform.js +4 -4
  24. package/dist/src/core/platform.js.map +1 -1
  25. package/dist/src/core/renderers/CoreRenderer.d.ts +1 -3
  26. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  27. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +11 -17
  28. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +13 -30
  29. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -0
  31. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +5 -28
  33. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  34. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  35. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +126 -0
  36. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  37. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +20 -2
  38. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +98 -45
  39. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  40. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +16 -4
  41. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +80 -42
  42. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  43. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +16 -8
  44. package/dist/src/core/text-rendering/renderers/TextRenderer.js +34 -8
  45. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  46. package/dist/src/main-api/{IRenderDriver.d.ts → ICoreDriver.d.ts} +3 -2
  47. package/dist/src/main-api/{IRenderDriver.js → ICoreDriver.js} +1 -1
  48. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  49. package/dist/src/main-api/INode.d.ts +2 -2
  50. package/dist/src/main-api/RendererMain.d.ts +16 -6
  51. package/dist/src/main-api/RendererMain.js +9 -3
  52. package/dist/src/main-api/RendererMain.js.map +1 -1
  53. package/dist/src/render-drivers/main/{MainRenderDriver.d.ts → MainCoreDriver.d.ts} +3 -2
  54. package/dist/src/render-drivers/main/{MainRenderDriver.js → MainCoreDriver.js} +14 -4
  55. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  56. package/dist/src/render-drivers/threadx/{ThreadXRenderDriver.d.ts → ThreadXCoreDriver.d.ts} +4 -2
  57. package/dist/src/render-drivers/threadx/{ThreadXRenderDriver.js → ThreadXCoreDriver.js} +18 -4
  58. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  59. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +9 -0
  60. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
  61. package/dist/src/render-drivers/threadx/worker/renderer.js +8 -0
  62. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  63. package/dist/src/utils.js +2 -1
  64. package/dist/src/utils.js.map +1 -1
  65. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  66. package/exports/main-api.ts +3 -3
  67. package/package.json +8 -3
  68. package/src/core/CoreNode.ts +107 -21
  69. package/src/core/CoreShaderManager.ts +11 -0
  70. package/src/core/CoreTextNode.ts +5 -58
  71. package/src/core/Stage.ts +65 -34
  72. package/src/core/animations/CoreAnimation.ts +47 -27
  73. package/src/core/lib/utils.ts +39 -13
  74. package/src/core/platform.ts +5 -4
  75. package/src/core/renderers/CoreRenderer.ts +1 -2
  76. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +14 -35
  77. package/src/core/renderers/webgl/shaders/DefaultShader.ts +4 -0
  78. package/src/core/renderers/webgl/shaders/DynamicShader.ts +5 -29
  79. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +186 -0
  80. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +107 -50
  81. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +95 -44
  82. package/src/core/text-rendering/renderers/TextRenderer.ts +44 -16
  83. package/src/main-api/{IRenderDriver.ts → ICoreDriver.ts} +4 -2
  84. package/src/main-api/INode.ts +2 -2
  85. package/src/main-api/RendererMain.ts +23 -6
  86. package/src/render-drivers/main/{MainRenderDriver.ts → MainCoreDriver.ts} +17 -4
  87. package/src/render-drivers/threadx/{ThreadXRenderDriver.ts → ThreadXCoreDriver.ts} +23 -7
  88. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +11 -0
  89. package/src/render-drivers/threadx/worker/renderer.ts +10 -0
  90. package/src/utils.ts +2 -1
  91. package/dist/src/main-api/IRenderDriver.js.map +0 -1
  92. package/dist/src/render-drivers/main/MainRenderDriver.js.map +0 -1
  93. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +0 -1
@@ -4,7 +4,6 @@ import type { Stage } from '../Stage.js';
4
4
  import type { Rect } from '../lib/utils.js';
5
5
  import type { Texture } from '../textures/Texture.js';
6
6
  import { CoreContextTexture } from './CoreContextTexture.js';
7
- import type { CoreRenderOp } from './CoreRenderOp.js';
8
7
  import type { CoreShader } from './CoreShader.js';
9
8
  export interface QuadOptions {
10
9
  width: number;
@@ -31,9 +30,8 @@ export declare abstract class CoreRenderer {
31
30
  protected stage: Stage;
32
31
  constructor(stage: Stage);
33
32
  abstract reset(): void;
34
- abstract sortRenderables(): void;
35
33
  abstract render(surface: 'screen' | CoreContextTexture): void;
36
- abstract addRenderable(params: QuadOptions | CoreRenderOp): void;
34
+ abstract addQuad(quad: QuadOptions): void;
37
35
  abstract createCtxTexture(textureSource: Texture): CoreContextTexture;
38
36
  abstract getShaderManager(): CoreShaderManager;
39
37
  }
@@ -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;CAQF"}
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"}
@@ -45,20 +45,18 @@ export declare class WebGlCoreRenderer extends CoreRenderer {
45
45
  getShaderManager(): CoreShaderManager;
46
46
  createCtxTexture(textureSource: Texture): CoreContextTexture;
47
47
  /**
48
- * Add a renderable to the current set of renderables.
48
+ * This function adds a quad (a rectangle composed of two triangles) to the WebGL rendering pipeline.
49
49
  *
50
- * @remarks
51
- * If a {@link QuadOptions} structure is provided, this will ultimately result
52
- * in a render ops being created, merged and added to the render ops list.
50
+ * It takes a set of options that define the quad's properties, such as its dimensions, colors, texture, shader, and transformation matrix.
51
+ * The function first updates the shader properties with the current dimensions if necessary, then sets the default texture if none is provided.
52
+ * It then checks if a new render operation is needed, based on the current shader and clipping rectangle.
53
+ * If a new render operation is needed, it creates one and updates the current render operation.
54
+ * The function then adjusts the texture coordinates based on the texture options and adds the texture to the texture manager.
53
55
  *
54
- * If a direct {@link WebGlCoreRenderOp} instance is provided, it will be
55
- * added to the render ops list as-is. Be sure to set the zIndex correctly of
56
- * the render op to ensure proper rendering order.
57
- *
58
- * @param renderable
56
+ * Finally, it calculates the vertices for the quad, taking into account any transformations, and adds them to the quad buffer.
57
+ * The function updates the length and number of quads in the current render operation, and updates the current buffer index.
59
58
  */
60
- addRenderable(renderable: QuadOptions | WebGlCoreRenderOp): void;
61
- private addQuad;
59
+ addQuad(params: QuadOptions): void;
62
60
  /**
63
61
  * Replace the existing RenderOp with a new one that uses the specified Shader
64
62
  * and starts at the specified buffer index.
@@ -81,13 +79,9 @@ export declare class WebGlCoreRenderer extends CoreRenderer {
81
79
  */
82
80
  private addTexture;
83
81
  /**
84
- * Sort renderable children and add them to the render ops.
85
- * @todo:
86
- * - move to merge sort to keep relative order
87
- * - support z-index parent locking
88
- *
82
+ * add RenderOp to the render pipeline
89
83
  */
90
- sortRenderables(): void;
84
+ addRenderOp(renderable: WebGlCoreRenderOp): void;
91
85
  /**
92
86
  * Render the current set of RenderOps to render to the specified surface.
93
87
  *
@@ -78,7 +78,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
78
78
  extensions: getWebGlExtensions(gl),
79
79
  };
80
80
  this.shManager.renderer = this;
81
- this.defaultShader = this.shManager.loadShader('DefaultShaderBatched').shader;
81
+ this.defaultShader = this.shManager.loadShader('DefaultShader').shader;
82
82
  const quadBuffer = gl.createBuffer();
83
83
  assertTruthy(quadBuffer);
84
84
  const stride = 6 * Float32Array.BYTES_PER_ELEMENT;
@@ -138,21 +138,17 @@ export class WebGlCoreRenderer extends CoreRenderer {
138
138
  return new WebGlCoreCtxTexture(this.gl, textureSource);
139
139
  }
140
140
  /**
141
- * Add a renderable to the current set of renderables.
141
+ * This function adds a quad (a rectangle composed of two triangles) to the WebGL rendering pipeline.
142
142
  *
143
- * @remarks
144
- * If a {@link QuadOptions} structure is provided, this will ultimately result
145
- * in a render ops being created, merged and added to the render ops list.
143
+ * It takes a set of options that define the quad's properties, such as its dimensions, colors, texture, shader, and transformation matrix.
144
+ * The function first updates the shader properties with the current dimensions if necessary, then sets the default texture if none is provided.
145
+ * It then checks if a new render operation is needed, based on the current shader and clipping rectangle.
146
+ * If a new render operation is needed, it creates one and updates the current render operation.
147
+ * The function then adjusts the texture coordinates based on the texture options and adds the texture to the texture manager.
146
148
  *
147
- * If a direct {@link WebGlCoreRenderOp} instance is provided, it will be
148
- * added to the render ops list as-is. Be sure to set the zIndex correctly of
149
- * the render op to ensure proper rendering order.
150
- *
151
- * @param renderable
149
+ * Finally, it calculates the vertices for the quad, taking into account any transformations, and adds them to the quad buffer.
150
+ * The function updates the length and number of quads in the current render operation, and updates the current buffer index.
152
151
  */
153
- addRenderable(renderable) {
154
- this.renderables?.push(renderable);
155
- }
156
152
  addQuad(params) {
157
153
  const { fQuadBuffer, uiQuadBuffer } = this;
158
154
  const { width, height, colorTl, colorTr, colorBl, colorBr, textureOptions, shader, shaderProps, alpha, clippingRect, tx, ty, ta, tb, tc, td, } = params;
@@ -336,24 +332,11 @@ export class WebGlCoreRenderer extends CoreRenderer {
336
332
  return textureIdx;
337
333
  }
338
334
  /**
339
- * Sort renderable children and add them to the render ops.
340
- * @todo:
341
- * - move to merge sort to keep relative order
342
- * - support z-index parent locking
343
- *
335
+ * add RenderOp to the render pipeline
344
336
  */
345
- sortRenderables() {
346
- const { renderables } = this;
347
- renderables.sort((a, b) => a.zIndex - b.zIndex);
348
- renderables.forEach((renderable) => {
349
- if (renderable instanceof WebGlCoreRenderOp) {
350
- this.renderOps.push(renderable);
351
- this.curRenderOp = null;
352
- }
353
- else {
354
- this.addQuad(renderable);
355
- }
356
- });
337
+ addRenderOp(renderable) {
338
+ this.renderOps.push(renderable);
339
+ this.curRenderOp = null;
357
340
  }
358
341
  /**
359
342
  * Render the current set of RenderOps to render to the specified surface.
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreRenderer.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderer.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,9 @@ export class DefaultShader extends WebGlCoreShader {
31
31
  }
32
32
  bindTextures(textures) {
33
33
  const { gl } = this;
34
+ if (gl.getParameter(gl.TEXTURE_BINDING_2D) === textures[0].ctxTexture) {
35
+ return;
36
+ }
34
37
  gl.activeTexture(gl.TEXTURE0);
35
38
  gl.bindTexture(gl.TEXTURE_2D, textures[0].ctxTexture);
36
39
  }
@@ -1 +1 @@
1
- {"version":3,"file":"DefaultShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DefaultShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,YAAY,QAA2B;QACrC,KAAK,CAAC;YACJ,QAAQ;YACR,UAAU,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,SAAS,CAAC;YAC5D,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;aAC7C;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,YAAY,CAAC,QAA+B;QACnD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC9B,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAU,aAAa,GAAyB;QACpD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BP;QACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;KAiBT;KACF,CAAC"}
1
+ {"version":3,"file":"DefaultShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DefaultShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAIxD,MAAM,OAAO,aAAc,SAAQ,eAAe;IAChD,YAAY,QAA2B;QACrC,KAAK,CAAC;YACJ,QAAQ;YACR,UAAU,EAAE,CAAC,YAAY,EAAE,qBAAqB,EAAE,SAAS,CAAC;YAC5D,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,YAAY,EAAE;aAC7C;SACF,CAAC,CAAC;IACL,CAAC;IAEQ,YAAY,CAAC,QAA+B;QACnD,MAAM,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC;QACpB,IAAI,EAAE,CAAC,YAAY,CAAC,EAAE,CAAC,kBAAkB,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,EAAE;YACtE,OAAO;SACR;QAED,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;QAC9B,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,CAAE,CAAC,UAAU,CAAC,CAAC;IACzD,CAAC;IAED,MAAM,CAAU,aAAa,GAAyB;QACpD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BP;QACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;KAiBT;KACF,CAAC"}
@@ -1,29 +1,5 @@
1
1
  import { WebGlCoreShader, } from '../WebGlCoreShader.js';
2
- import { RadiusEffect } from './effects/RadiusEffect.js';
3
- import { BorderEffect } from './effects/BorderEffect.js';
4
- import { LinearGradientEffect } from './effects/LinearGradientEffect.js';
5
- import { GrayscaleEffect } from './effects/GrayscaleEffect.js';
6
2
  import { ShaderEffect } from './effects/ShaderEffect.js';
7
- import { BorderRightEffect } from './effects/BorderRightEffect.js';
8
- import { BorderTopEffect } from './effects/BorderTopEffect.js';
9
- import { BorderBottomEffect } from './effects/BorderBottomEffect.js';
10
- import { BorderLeftEffect } from './effects/BorderLeftEffect.js';
11
- import { GlitchEffect } from './effects/GlitchEffect.js';
12
- import { FadeOutEffect } from './effects/FadeOutEffect.js';
13
- import { RadialGradientEffect } from './effects/RadialGradientEffect.js';
14
- const Effects = {
15
- radius: RadiusEffect,
16
- border: BorderEffect,
17
- borderBottom: BorderBottomEffect,
18
- borderLeft: BorderLeftEffect,
19
- borderRight: BorderRightEffect,
20
- borderTop: BorderTopEffect,
21
- fadeOut: FadeOutEffect,
22
- linearGradient: LinearGradientEffect,
23
- radialGradient: RadialGradientEffect,
24
- grayscale: GrayscaleEffect,
25
- glitch: GlitchEffect,
26
- };
27
3
  export class DynamicShader extends WebGlCoreShader {
28
4
  effects = [];
29
5
  constructor(renderer, props, effectContructors) {
@@ -52,9 +28,10 @@ export class DynamicShader extends WebGlCoreShader {
52
28
  gl.bindTexture(gl.TEXTURE_2D, textures[0].ctxTexture);
53
29
  }
54
30
  bindProps(props) {
31
+ const effects = this.renderer.shManager.getRegisteredEffects();
55
32
  props.effects?.forEach((eff, index) => {
56
33
  const effect = this.effects[index];
57
- const fxClass = Effects[effect.name];
34
+ const fxClass = effects[effect.name];
58
35
  const props = eff.props ?? {};
59
36
  const uniInfo = effect.uniformInfo;
60
37
  Object.keys(props).forEach((p) => {
@@ -168,7 +145,7 @@ export class DynamicShader extends WebGlCoreShader {
168
145
  for (let i = 0; i < effects.length; i++) {
169
146
  const current = effects[i];
170
147
  const pm = current.passParameters.length > 0 ? `, ${current.passParameters}` : '';
171
- const currentClass = Effects[current.name];
148
+ const currentClass = effectContructors[current.name];
172
149
  if (currentClass.onShaderMask) {
173
150
  drawEffects += `
174
151
  shaderMask = fx_${current.target}_onShaderMask(shaderMask ${pm});
@@ -184,7 +161,7 @@ export class DynamicShader extends WebGlCoreShader {
184
161
  }
185
162
  const next = effects[i + 1];
186
163
  if (next === undefined ||
187
- Effects[next.name].onEffectMask) {
164
+ effectContructors[next.name].onEffectMask) {
188
165
  drawEffects += `
189
166
  shaderColor = ${currentMask};
190
167
  `;
@@ -208,7 +185,7 @@ export class DynamicShader extends WebGlCoreShader {
208
185
  return {
209
186
  effects: (props.effects ?? []).map((effect) => ({
210
187
  type: effect.type,
211
- props: effectContructors[effect.type].resolveDefaults(effect.props || {}),
188
+ props: effectContructors[effect.type].resolveDefaults((effect.props || {})),
212
189
  })),
213
190
  $dimensions: {
214
191
  width: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DynamicShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DynamicShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/DynamicShader.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ import { ShaderEffect, type DefaultEffectProps, type ShaderEffectUniforms } from './ShaderEffect.js';
2
+ /**
3
+ * Properties of the {@link RadialProgressEffect} effect
4
+ */
5
+ export interface RadialProgressEffectProps extends DefaultEffectProps {
6
+ /**
7
+ * Width of the border in pixels
8
+ *
9
+ * @default 10
10
+ */
11
+ width?: number;
12
+ /**
13
+ * progress from 0 to 1 in floats
14
+ *
15
+ * @default 0.5;
16
+ */
17
+ progress?: number;
18
+ /**
19
+ * offset where the radial progress starts drawing.
20
+ *
21
+ * @default 0;
22
+ */
23
+ offset?: number;
24
+ /**
25
+ * maximum range of the radial progress in radians
26
+ *
27
+ * @default Math.PI * 2
28
+ */
29
+ range?: number;
30
+ /**
31
+ * rounded ends of the progress bar;
32
+ *
33
+ * @default false
34
+ */
35
+ rounded?: boolean;
36
+ /**
37
+ * radius from center to outer edge from 0 to 1 in floats;
38
+ *
39
+ * @default 1
40
+ */
41
+ radius?: number;
42
+ /**
43
+ * Color of the border in 0xRRGGBBAA
44
+ *
45
+ * @default 0xffffffff
46
+ */
47
+ color?: number;
48
+ }
49
+ /**
50
+ * The RadialProgressEffect renders a border along all edges of an element
51
+ */
52
+ export declare class RadialProgressEffect extends ShaderEffect {
53
+ static z$__type__Props: RadialProgressEffectProps;
54
+ readonly name = "radialProgress";
55
+ static getEffectKey(): string;
56
+ static resolveDefaults(props: RadialProgressEffectProps): Required<RadialProgressEffectProps>;
57
+ static uniforms: ShaderEffectUniforms;
58
+ static methods: Record<string, string>;
59
+ static onEffectMask: string;
60
+ static onColorize: string;
61
+ }
@@ -0,0 +1,126 @@
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
+ import { getNormalizedRgbaComponents } from '../../../../lib/utils.js';
20
+ import { ShaderEffect, } from './ShaderEffect.js';
21
+ /**
22
+ * The RadialProgressEffect renders a border along all edges of an element
23
+ */
24
+ export class RadialProgressEffect extends ShaderEffect {
25
+ static z$__type__Props;
26
+ name = 'radialProgress';
27
+ static getEffectKey() {
28
+ return `radialProgress`;
29
+ }
30
+ static resolveDefaults(props) {
31
+ return {
32
+ width: props.width ?? 10,
33
+ progress: props.progress ?? 0.5,
34
+ offset: props.offset ?? 0,
35
+ range: props.range ?? Math.PI * 2,
36
+ rounded: props.rounded ?? false,
37
+ radius: props.radius ?? 1,
38
+ color: props.color ?? 0xffffffff,
39
+ };
40
+ }
41
+ static uniforms = {
42
+ width: {
43
+ value: 0,
44
+ method: 'uniform1f',
45
+ type: 'float',
46
+ },
47
+ progress: {
48
+ value: 0.5,
49
+ method: 'uniform1f',
50
+ type: 'float',
51
+ },
52
+ offset: {
53
+ value: 0,
54
+ method: 'uniform1f',
55
+ type: 'float',
56
+ },
57
+ range: {
58
+ value: 0,
59
+ method: 'uniform1f',
60
+ type: 'float',
61
+ },
62
+ rounded: {
63
+ value: 0,
64
+ method: 'uniform1f',
65
+ type: 'float',
66
+ validator: (value) => {
67
+ return value ? 1 : 0;
68
+ },
69
+ },
70
+ radius: {
71
+ value: 1,
72
+ method: 'uniform1f',
73
+ type: 'float',
74
+ },
75
+ color: {
76
+ value: 0xffffffff,
77
+ validator: (rgba) => getNormalizedRgbaComponents(rgba),
78
+ method: 'uniform4fv',
79
+ type: 'vec4',
80
+ },
81
+ };
82
+ static methods = {
83
+ rotateUV: `
84
+ vec2 function(vec2 uv, float d) {
85
+ float s = sin(d);
86
+ float c = cos(d);
87
+ mat2 rotMatrix = mat2(c, -s, s, c);
88
+ return uv * rotMatrix;
89
+ }
90
+ `,
91
+ drawDot: `
92
+ float function(vec2 uv, vec2 p, float r) {
93
+ uv += p;
94
+ float circle = length(uv) - r;
95
+ return clamp(-circle, 0.0, 1.0);
96
+ }
97
+ `,
98
+ };
99
+ static onEffectMask = `
100
+ float outerRadius = radius * u_dimensions.y * 0.5;
101
+
102
+ float endAngle = range * progress - 0.0005;
103
+
104
+ vec2 uv = v_textureCoordinate.xy * u_dimensions.xy - u_dimensions * 0.5;
105
+
106
+ uv = $rotateUV(uv, -(offset));
107
+ float linewidth = width * u_pixelRatio;
108
+ float circle = length(uv) - (outerRadius - linewidth) ;
109
+ circle = abs(circle) - linewidth;
110
+ circle = clamp(-circle, 0.0, 1.0);
111
+
112
+ float angle = (atan(uv.x, -uv.y) / 3.14159265359 * 0.5);
113
+ float p = endAngle / (PI * 2.);
114
+
115
+ circle *= step(fract(angle), fract(p));
116
+
117
+ circle = rounded < 1. ? circle : max(circle, $drawDot(uv, vec2(0, outerRadius - linewidth), linewidth));
118
+ circle = rounded < 1. ? circle : max(circle, $drawDot($rotateUV(uv, -(endAngle)), vec2(0, outerRadius - linewidth), linewidth));
119
+
120
+ return mix(shaderColor, maskColor, circle);
121
+ `;
122
+ static onColorize = `
123
+ return color;
124
+ `;
125
+ }
126
+ //# sourceMappingURL=RadialProgressEffect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RadialProgressEffect.js","sourceRoot":"","sources":["../../../../../../../src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EACL,YAAY,GAGb,MAAM,mBAAmB,CAAC;AAkD3B;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,YAAY;IACpD,MAAM,CAAC,eAAe,CAA4B;IAChC,IAAI,GAAG,gBAAgB,CAAC;IAE1C,MAAM,CAAU,YAAY;QAC1B,OAAO,gBAAgB,CAAC;IAC1B,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAgC;QAEhC,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;YACxB,QAAQ,EAAE,KAAK,CAAC,QAAQ,IAAI,GAAG;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,GAAG,CAAC;YACjC,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;YAC/B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;YACzB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,QAAQ,GAAyB;QAC/C,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,QAAQ,EAAE;YACR,KAAK,EAAE,GAAG;YACV,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,OAAO,EAAE;YACP,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;YACb,SAAS,EAAE,CAAC,KAAc,EAAU,EAAE;gBACpC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACvB,CAAC;SACF;QACD,MAAM,EAAE;YACN,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,OAAO;SACd;QACD,KAAK,EAAE;YACL,KAAK,EAAE,UAAU;YACjB,SAAS,EAAE,CAAC,IAAI,EAAY,EAAE,CAAC,2BAA2B,CAAC,IAAI,CAAC;YAChE,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,MAAM;SACb;KACF,CAAC;IAEF,MAAM,CAAU,OAAO,GAA2B;QAChD,QAAQ,EAAE;;;;;;;KAOT;QACD,OAAO,EAAE;;;;;;KAMR;KACF,CAAC;IAEF,MAAM,CAAU,YAAY,GAAG;;;;;;;;;;;;;;;;;;;;;;GAsB9B,CAAC;IAEF,MAAM,CAAU,UAAU,GAAG;;GAE5B,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import type { Stage } from '../../Stage.js';
2
2
  import type { Matrix3d } from '../../lib/Matrix3d.js';
3
- import { type Bound, type Rect } from '../../lib/utils.js';
3
+ import { type Bound, type Rect, type BoundWithValid } from '../../lib/utils.js';
4
4
  import type { ImageTexture } from '../../textures/ImageTexture.js';
5
5
  import type { TrFontFace } from '../font-face-types/TrFontFace.js';
6
6
  import { LightningTextTextureRenderer, type RenderInfo } from './LightningTextTextureRenderer.js';
@@ -27,10 +27,12 @@ export interface CanvasTextRendererState extends TextRendererState {
27
27
  lightning2TextRenderer: LightningTextTextureRenderer;
28
28
  renderInfo: RenderInfo | undefined;
29
29
  renderWindow: Bound | undefined;
30
+ visibleWindow: BoundWithValid;
30
31
  }
31
32
  export declare class CanvasTextRenderer extends TextRenderer<CanvasTextRendererState> {
32
33
  protected canvas: OffscreenCanvas | HTMLCanvasElement;
33
34
  protected context: OffscreenCanvasRenderingContext2D | CanvasRenderingContext2D;
35
+ private rendererBounds;
34
36
  constructor(stage: Stage);
35
37
  getPropertySetters(): Partial<TrPropSetters<CanvasTextRendererState>>;
36
38
  canRenderFont(props: TrFontProps): boolean;
@@ -39,7 +41,23 @@ export declare class CanvasTextRenderer extends TextRenderer<CanvasTextRendererS
39
41
  createState(props: TrProps): CanvasTextRendererState;
40
42
  updateState(state: CanvasTextRendererState): void;
41
43
  renderQuads(state: CanvasTextRendererState, transform: Matrix3d, clippingRect: Rect | null, alpha: number): void;
42
- private markForReload;
44
+ /**
45
+ * Invalidate the visible window stored in the state. This will cause a new
46
+ * visible window to be calculated on the next update.
47
+ *
48
+ * @param state
49
+ */
50
+ protected invalidateVisibleWindowCache(state: CanvasTextRendererState): void;
51
+ /**
52
+ * Invalidate the layout cache stored in the state. This will cause the text
53
+ * to be re-layed out on the next update.
54
+ *
55
+ * @remarks
56
+ * This also invalidates the visible window cache.
57
+ *
58
+ * @param state
59
+ */
60
+ private invalidateLayoutCache;
43
61
  private onFontLoaded;
44
62
  private onFontLoadError;
45
63
  }