@lightningjs/renderer 0.4.1 → 0.5.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 (162) hide show
  1. package/README.md +13 -13
  2. package/dist/exports/utils.d.ts +1 -1
  3. package/dist/exports/utils.js +1 -1
  4. package/dist/exports/utils.js.map +1 -1
  5. package/dist/src/common/CommonTypes.d.ts +32 -12
  6. package/dist/src/core/CoreNode.d.ts +14 -18
  7. package/dist/src/core/CoreNode.js +90 -124
  8. package/dist/src/core/CoreNode.js.map +1 -1
  9. package/dist/src/core/CoreTextNode.d.ts +0 -2
  10. package/dist/src/core/CoreTextNode.js +39 -17
  11. package/dist/src/core/CoreTextNode.js.map +1 -1
  12. package/dist/src/core/Stage.js +11 -8
  13. package/dist/src/core/Stage.js.map +1 -1
  14. package/dist/src/core/lib/Matrix3d.d.ts +59 -0
  15. package/dist/src/core/lib/Matrix3d.js +253 -0
  16. package/dist/src/core/lib/Matrix3d.js.map +1 -0
  17. package/dist/src/core/lib/utils.d.ts +1 -0
  18. package/dist/src/core/lib/utils.js +3 -0
  19. package/dist/src/core/lib/utils.js.map +1 -1
  20. package/dist/src/core/renderers/CoreRenderer.d.ts +2 -4
  21. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  22. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +16 -16
  24. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  25. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +1 -1
  26. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +2 -2
  27. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +2 -1
  29. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +15 -6
  30. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  31. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -1
  32. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +27 -30
  33. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  34. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -1
  35. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +7 -9
  36. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  37. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -1
  38. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  39. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +24 -2
  40. package/dist/src/core/text-rendering/renderers/TextRenderer.js +6 -3
  41. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  42. package/dist/src/core/textures/SubTexture.js +1 -1
  43. package/dist/src/core/textures/SubTexture.js.map +1 -1
  44. package/dist/src/core/textures/Texture.d.ts +13 -1
  45. package/dist/src/core/textures/Texture.js.map +1 -1
  46. package/dist/src/main-api/INode.d.ts +30 -5
  47. package/dist/src/main-api/RendererMain.js +3 -1
  48. package/dist/src/main-api/RendererMain.js.map +1 -1
  49. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +6 -4
  50. package/dist/src/render-drivers/main/MainOnlyNode.js +31 -16
  51. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  52. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -2
  53. package/dist/src/render-drivers/main/MainOnlyTextNode.js +3 -10
  54. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  55. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +6 -3
  56. package/dist/src/render-drivers/threadx/NodeStruct.js +12 -3
  57. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  58. package/dist/src/render-drivers/threadx/SharedNode.d.ts +2 -1
  59. package/dist/src/render-drivers/threadx/SharedNode.js +2 -1
  60. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  61. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +2 -0
  62. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +14 -0
  63. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  64. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +4 -2
  65. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -1
  66. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +6 -5
  67. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  68. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +2 -7
  69. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  70. package/dist/src/render-drivers/threadx/worker/renderer.js +2 -1
  71. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  72. package/dist/src/utils.d.ts +7 -12
  73. package/dist/src/utils.js +9 -25
  74. package/dist/src/utils.js.map +1 -1
  75. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  76. package/exports/utils.ts +1 -1
  77. package/package.json +22 -19
  78. package/src/common/CommonTypes.ts +42 -16
  79. package/src/core/CoreNode.ts +120 -158
  80. package/src/core/CoreTextNode.ts +54 -24
  81. package/src/core/Stage.ts +16 -11
  82. package/src/core/lib/Matrix3d.ts +290 -0
  83. package/src/core/lib/utils.ts +4 -0
  84. package/src/core/renderers/CoreRenderer.ts +2 -4
  85. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +18 -21
  86. package/src/core/renderers/webgl/WebGlCoreShader.ts +2 -2
  87. package/src/core/renderers/webgl/shaders/SdfShader.ts +17 -8
  88. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +30 -28
  89. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +9 -20
  90. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -1
  91. package/src/core/text-rendering/renderers/TextRenderer.ts +37 -5
  92. package/src/core/textures/SubTexture.ts +6 -5
  93. package/src/core/textures/Texture.ts +19 -6
  94. package/src/main-api/INode.ts +32 -5
  95. package/src/main-api/RendererMain.ts +3 -1
  96. package/src/render-drivers/main/MainOnlyNode.ts +39 -22
  97. package/src/render-drivers/main/MainOnlyTextNode.ts +2 -15
  98. package/src/render-drivers/threadx/NodeStruct.ts +13 -3
  99. package/src/render-drivers/threadx/SharedNode.ts +4 -2
  100. package/src/render-drivers/threadx/ThreadXMainNode.ts +16 -0
  101. package/src/render-drivers/threadx/ThreadXRenderDriver.ts +4 -2
  102. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +18 -8
  103. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +2 -14
  104. package/src/render-drivers/threadx/worker/renderer.ts +2 -1
  105. package/src/utils.ts +10 -27
  106. package/dist/src/core/Matrix2DContext.d.ts +0 -15
  107. package/dist/src/core/Matrix2DContext.js +0 -45
  108. package/dist/src/core/Matrix2DContext.js.map +0 -1
  109. package/dist/src/core/lib/glm/common.d.ts +0 -162
  110. package/dist/src/core/lib/glm/common.js +0 -81
  111. package/dist/src/core/lib/glm/common.js.map +0 -1
  112. package/dist/src/core/lib/glm/index.d.ts +0 -11
  113. package/dist/src/core/lib/glm/index.js +0 -30
  114. package/dist/src/core/lib/glm/index.js.map +0 -1
  115. package/dist/src/core/lib/glm/mat2.d.ts +0 -219
  116. package/dist/src/core/lib/glm/mat2.js +0 -396
  117. package/dist/src/core/lib/glm/mat2.js.map +0 -1
  118. package/dist/src/core/lib/glm/mat2d.d.ts +0 -237
  119. package/dist/src/core/lib/glm/mat2d.js +0 -442
  120. package/dist/src/core/lib/glm/mat2d.js.map +0 -1
  121. package/dist/src/core/lib/glm/mat3.d.ts +0 -283
  122. package/dist/src/core/lib/glm/mat3.js +0 -680
  123. package/dist/src/core/lib/glm/mat3.js.map +0 -1
  124. package/dist/src/core/lib/glm/mat4.d.ts +0 -550
  125. package/dist/src/core/lib/glm/mat4.js +0 -1802
  126. package/dist/src/core/lib/glm/mat4.js.map +0 -1
  127. package/dist/src/core/lib/glm/quat.d.ts +0 -363
  128. package/dist/src/core/lib/glm/quat.js +0 -693
  129. package/dist/src/core/lib/glm/quat.js.map +0 -1
  130. package/dist/src/core/lib/glm/quat2.d.ts +0 -356
  131. package/dist/src/core/lib/glm/quat2.js +0 -754
  132. package/dist/src/core/lib/glm/quat2.js.map +0 -1
  133. package/dist/src/core/lib/glm/vec2.d.ts +0 -365
  134. package/dist/src/core/lib/glm/vec2.js +0 -569
  135. package/dist/src/core/lib/glm/vec2.js.map +0 -1
  136. package/dist/src/core/lib/glm/vec3.d.ts +0 -406
  137. package/dist/src/core/lib/glm/vec3.js +0 -720
  138. package/dist/src/core/lib/glm/vec3.js.map +0 -1
  139. package/dist/src/core/lib/glm/vec4.d.ts +0 -330
  140. package/dist/src/core/lib/glm/vec4.js +0 -608
  141. package/dist/src/core/lib/glm/vec4.js.map +0 -1
  142. package/dist/src/core/textures/utils.d.ts +0 -11
  143. package/dist/src/core/textures/utils.js +0 -32
  144. package/dist/src/core/textures/utils.js.map +0 -1
  145. package/dist/src/main-api/TextureRegistry.d.ts +0 -33
  146. package/dist/src/main-api/TextureRegistry.js +0 -97
  147. package/dist/src/main-api/TextureRegistry.js.map +0 -1
  148. package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.d.ts +0 -33
  149. package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.js +0 -97
  150. package/dist/src/main-api/TextureUsageRegistry/TextureRegistry.js.map +0 -1
  151. package/src/core/Matrix2DContext.ts +0 -52
  152. package/src/core/lib/glm/common.ts +0 -231
  153. package/src/core/lib/glm/index.ts +0 -31
  154. package/src/core/lib/glm/mat2.ts +0 -499
  155. package/src/core/lib/glm/mat2d.ts +0 -547
  156. package/src/core/lib/glm/mat3.ts +0 -849
  157. package/src/core/lib/glm/mat4.ts +0 -2169
  158. package/src/core/lib/glm/quat.ts +0 -828
  159. package/src/core/lib/glm/quat2.ts +0 -951
  160. package/src/core/lib/glm/vec2.ts +0 -671
  161. package/src/core/lib/glm/vec3.ts +0 -859
  162. package/src/core/lib/glm/vec4.ts +0 -708
@@ -17,7 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import { assertTruthy, createWebGLContext, hasOwn, mergeColorAlphaPremultiplied, } from '../../../utils.js';
20
- import { CoreRenderer, } from '../CoreRenderer.js';
20
+ import { CoreRenderer } from '../CoreRenderer.js';
21
21
  import { WebGlCoreRenderOp } from './WebGlCoreRenderOp.js';
22
22
  import { createIndexBuffer, getWebGlParameters, getWebGlExtensions, } from './internal/RendererUtils.js';
23
23
  import { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
@@ -155,7 +155,7 @@ export class WebGlCoreRenderer extends CoreRenderer {
155
155
  }
156
156
  addQuad(params) {
157
157
  const { fQuadBuffer, uiQuadBuffer } = this;
158
- const { width, height, clippingRect, colorTl, colorTr, colorBl, colorBr, textureOptions, shader, shaderProps, alpha, wpx, wpy, ta, tb, tc, td, } = params;
158
+ const { width, height, colorTl, colorTr, colorBl, colorBr, textureOptions, shader, shaderProps, alpha, clippingRect, tx, ty, ta, tb, tc, td, } = params;
159
159
  let { texture } = params;
160
160
  /**
161
161
  * If the shader props contain any automatic properties, update it with the
@@ -229,29 +229,29 @@ export class WebGlCoreRenderer extends CoreRenderer {
229
229
  // render quad advanced
230
230
  if (tb !== 0 || tc !== 0) {
231
231
  // Upper-Left
232
- fQuadBuffer[bufferIdx++] = wpx; // vertexX
233
- fQuadBuffer[bufferIdx++] = wpy; // vertexY
232
+ fQuadBuffer[bufferIdx++] = tx; // vertexX
233
+ fQuadBuffer[bufferIdx++] = ty; // vertexY
234
234
  fQuadBuffer[bufferIdx++] = texCoordX1; // texCoordX
235
235
  fQuadBuffer[bufferIdx++] = texCoordY1; // texCoordY
236
236
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorTl, alpha, true); // color
237
237
  fQuadBuffer[bufferIdx++] = textureIdx; // texIndex
238
238
  // Upper-Right
239
- fQuadBuffer[bufferIdx++] = wpx + width * ta;
240
- fQuadBuffer[bufferIdx++] = wpy + width * tc;
239
+ fQuadBuffer[bufferIdx++] = tx + width * ta;
240
+ fQuadBuffer[bufferIdx++] = ty + width * tc;
241
241
  fQuadBuffer[bufferIdx++] = texCoordX2;
242
242
  fQuadBuffer[bufferIdx++] = texCoordY1;
243
243
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorTr, alpha, true);
244
244
  fQuadBuffer[bufferIdx++] = textureIdx;
245
245
  // Lower-Left
246
- fQuadBuffer[bufferIdx++] = wpx + height * tb;
247
- fQuadBuffer[bufferIdx++] = wpy + height * td;
246
+ fQuadBuffer[bufferIdx++] = tx + height * tb;
247
+ fQuadBuffer[bufferIdx++] = ty + height * td;
248
248
  fQuadBuffer[bufferIdx++] = texCoordX1;
249
249
  fQuadBuffer[bufferIdx++] = texCoordY2;
250
250
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorBl, alpha, true);
251
251
  fQuadBuffer[bufferIdx++] = textureIdx;
252
252
  // Lower-Right
253
- fQuadBuffer[bufferIdx++] = wpx + width * ta + height * tb;
254
- fQuadBuffer[bufferIdx++] = wpy + width * tc + height * td;
253
+ fQuadBuffer[bufferIdx++] = tx + width * ta + height * tb;
254
+ fQuadBuffer[bufferIdx++] = ty + width * tc + height * td;
255
255
  fQuadBuffer[bufferIdx++] = texCoordX2;
256
256
  fQuadBuffer[bufferIdx++] = texCoordY2;
257
257
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorBr, alpha, true);
@@ -260,24 +260,24 @@ export class WebGlCoreRenderer extends CoreRenderer {
260
260
  else {
261
261
  // Calculate the right corner of the quad
262
262
  // multiplied by the scale
263
- const rightCornerX = wpx + width * ta;
264
- const rightCornerY = wpy + height * td;
263
+ const rightCornerX = tx + width * ta;
264
+ const rightCornerY = ty + height * td;
265
265
  // Upper-Left
266
- fQuadBuffer[bufferIdx++] = wpx; // vertexX
267
- fQuadBuffer[bufferIdx++] = wpy; // vertexY
266
+ fQuadBuffer[bufferIdx++] = tx; // vertexX
267
+ fQuadBuffer[bufferIdx++] = ty; // vertexY
268
268
  fQuadBuffer[bufferIdx++] = texCoordX1; // texCoordX
269
269
  fQuadBuffer[bufferIdx++] = texCoordY1; // texCoordY
270
270
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorTl, alpha, true); // color
271
271
  fQuadBuffer[bufferIdx++] = textureIdx; // texIndex
272
272
  // Upper-Right
273
273
  fQuadBuffer[bufferIdx++] = rightCornerX;
274
- fQuadBuffer[bufferIdx++] = wpy;
274
+ fQuadBuffer[bufferIdx++] = ty;
275
275
  fQuadBuffer[bufferIdx++] = texCoordX2;
276
276
  fQuadBuffer[bufferIdx++] = texCoordY1;
277
277
  uiQuadBuffer[bufferIdx++] = mergeColorAlphaPremultiplied(colorTr, alpha, true);
278
278
  fQuadBuffer[bufferIdx++] = textureIdx;
279
279
  // Lower-Left
280
- fQuadBuffer[bufferIdx++] = wpx;
280
+ fQuadBuffer[bufferIdx++] = tx;
281
281
  fQuadBuffer[bufferIdx++] = rightCornerY;
282
282
  fQuadBuffer[bufferIdx++] = texCoordX1;
283
283
  fQuadBuffer[bufferIdx++] = texCoordY2;
@@ -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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"}
@@ -72,7 +72,7 @@ export declare abstract class WebGlCoreShader extends CoreShader {
72
72
  */
73
73
  canBatchShaderProps(propsA: Record<string, unknown>, propsB: Record<string, unknown>): boolean;
74
74
  bindRenderOp(renderOp: WebGlCoreRenderOp, props: Record<string, unknown> | null): void;
75
- setUniform(name: string, value: any): void;
75
+ setUniform(name: string, ...value: any[]): void;
76
76
  bindBufferCollection(buffer: BufferCollection): void;
77
77
  protected bindProps(props: Record<string, unknown>): void;
78
78
  bindTextures(textures: WebGlCoreCtxTexture[]): void;
@@ -185,9 +185,9 @@ export class WebGlCoreShader extends CoreShader {
185
185
  this.bindProps(props);
186
186
  }
187
187
  }
188
- setUniform(name, value) {
188
+ setUniform(name, ...value) {
189
189
  // @ts-expect-error Typing of args is too funky apparently for TS
190
- this.gl[this.uniformTypes[name]](this.uniformLocations[name], value);
190
+ this.gl[this.uniformTypes[name]](this.uniformLocations[name], ...value);
191
191
  }
192
192
  bindBufferCollection(buffer) {
193
193
  if (this.boundBufferCollection === buffer) {
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreShader.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreShader.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,8 @@ declare module '../../../CoreShaderManager.js' {
11
11
  * Properties of the {@link SdfShader}
12
12
  */
13
13
  export interface SdfShaderProps {
14
- offset?: [number, number];
14
+ transform?: Float32Array;
15
+ scrollY?: number;
15
16
  /**
16
17
  * Color in RGBA format
17
18
  *
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import { getNormalizedRgbaComponents } from '../../../lib/utils.js';
20
20
  import { WebGlCoreShader } from '../WebGlCoreShader.js';
21
+ const IDENTITY_MATRIX_3x3 = new Float32Array([1, 0, 0, 0, 1, 0, 0, 0, 1]);
21
22
  /**
22
23
  * SdfShader supports multi-channel and single-channel signed distance field textures.
23
24
  *
@@ -38,9 +39,10 @@ export class SdfShader extends WebGlCoreShader {
38
39
  attributes: ['a_position', 'a_textureCoordinate'],
39
40
  uniforms: [
40
41
  { name: 'u_resolution', uniform: 'uniform2fv' },
42
+ { name: 'u_transform', uniform: 'uniformMatrix3fv' },
43
+ { name: 'u_scrollY', uniform: 'uniform1f' },
41
44
  { name: 'u_pixelRatio', uniform: 'uniform1f' },
42
45
  { name: 'u_texture', uniform: 'uniform2f' },
43
- { name: 'u_offset', uniform: 'uniform2fv' },
44
46
  { name: 'u_color', uniform: 'uniform4fv' },
45
47
  { name: 'u_size', uniform: 'uniform1f' },
46
48
  { name: 'u_distanceRange', uniform: 'uniform1f' },
@@ -56,8 +58,11 @@ export class SdfShader extends WebGlCoreShader {
56
58
  bindProps(props) {
57
59
  const resolvedProps = SdfShader.resolveDefaults(props);
58
60
  for (const key in resolvedProps) {
59
- if (key === 'offset') {
60
- this.setUniform('u_offset', resolvedProps[key]);
61
+ if (key === 'transform') {
62
+ this.setUniform('u_transform', false, resolvedProps[key]);
63
+ }
64
+ else if (key === 'scrollY') {
65
+ this.setUniform('u_scrollY', resolvedProps[key]);
61
66
  }
62
67
  else if (key === 'color') {
63
68
  const components = getNormalizedRgbaComponents(resolvedProps.color);
@@ -76,7 +81,8 @@ export class SdfShader extends WebGlCoreShader {
76
81
  }
77
82
  static resolveDefaults(props = {}) {
78
83
  return {
79
- offset: props.offset ?? [0.0, 0.0],
84
+ transform: props.transform ?? IDENTITY_MATRIX_3x3,
85
+ scrollY: props.scrollY ?? 0,
80
86
  color: props.color ?? 0xffffffff,
81
87
  size: props.size ?? 16,
82
88
  distanceRange: props.distanceRange ?? 1.0,
@@ -90,15 +96,18 @@ export class SdfShader extends WebGlCoreShader {
90
96
  attribute vec2 a_position;
91
97
  attribute vec2 a_textureCoordinate;
92
98
 
93
- uniform vec2 u_offset;
94
99
  uniform vec2 u_resolution;
100
+ uniform mat3 u_transform;
101
+ uniform float u_scrollY;
95
102
  uniform float u_pixelRatio;
96
103
  uniform float u_size;
97
104
 
98
105
  varying vec2 v_texcoord;
99
106
 
100
107
  void main() {
101
- gl_Position = vec4(((a_position * u_size + u_offset) * u_pixelRatio / u_resolution * 2.0 - 1.0) * vec2(1, -1), 0, 1);
108
+ vec2 scrolledPosition = a_position * u_size - vec2(0, u_scrollY);
109
+ vec2 transformedPosition = (u_transform * vec3(scrolledPosition, 1)).xy;
110
+ gl_Position = vec4((transformedPosition * u_pixelRatio / u_resolution * 2.0 - 1.0) * vec2(1, -1), 0, 1);
102
111
  v_texcoord = a_textureCoordinate;
103
112
  }
104
113
  `,
@@ -1 +1 @@
1
- {"version":3,"file":"SdfShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/SdfShader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdfShader.js","sourceRoot":"","sources":["../../../../../../src/core/renderers/webgl/shaders/SdfShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AACH,OAAO,EAAE,2BAA2B,EAAE,MAAM,uBAAuB,CAAC;AAGpE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,MAAM,mBAAmB,GAAG,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AAyB1E;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,SAAU,SAAQ,eAAe;IAC5C,YAAY,QAA2B;QACrC,KAAK,CAAC;YACJ,QAAQ;YACR,UAAU,EAAE,CAAC,YAAY,EAAE,qBAAqB,CAAC;YACjD,QAAQ,EAAE;gBACR,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC/C,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,kBAAkB,EAAE;gBACpD,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC3C,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC9C,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE;gBAC3C,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,EAAE;gBAC1C,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,EAAE;gBACxC,EAAE,IAAI,EAAE,iBAAiB,EAAE,OAAO,EAAE,WAAW,EAAE;gBACjD,EAAE,IAAI,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE;aAC1C;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;IAEkB,SAAS,CAAC,KAAqB;QAChD,MAAM,aAAa,GAAG,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACvD,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;YAC/B,IAAI,GAAG,KAAK,WAAW,EAAE;gBACvB,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,KAAK,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;aAC3D;iBAAM,IAAI,GAAG,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;aAClD;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC1B,MAAM,UAAU,GAAG,2BAA2B,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBACpE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;aACxC;iBAAM,IAAI,GAAG,KAAK,MAAM,EAAE;gBACzB,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;aAC/C;iBAAM,IAAI,GAAG,KAAK,eAAe,EAAE;gBAClC,IAAI,CAAC,UAAU,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC;aACxD;iBAAM,IAAI,GAAG,KAAK,OAAO,EAAE;gBAC1B,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;aAC5D;SACF;IACH,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,QAAwB,EAAE;QAE1B,OAAO;YACL,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,mBAAmB;YACjD,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;YAC3B,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;YAChC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,EAAE;YACtB,aAAa,EAAE,KAAK,CAAC,aAAa,IAAI,GAAG;YACzC,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,aAAa,GAAyB;QACpD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;KAoBP;QACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6BT;KACF,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { Stage } from '../../Stage.js';
2
+ import type { Matrix3d } from '../../lib/Matrix3d.js';
2
3
  import { type Bound, type Rect } from '../../lib/utils.js';
3
4
  import type { ImageTexture } from '../../textures/ImageTexture.js';
4
5
  import type { TrFontFace } from '../font-face-types/TrFontFace.js';
@@ -37,7 +38,7 @@ export declare class CanvasTextRenderer extends TextRenderer<CanvasTextRendererS
37
38
  addFontFace(fontFace: TrFontFace): void;
38
39
  createState(props: TrProps): CanvasTextRendererState;
39
40
  updateState(state: CanvasTextRendererState): void;
40
- renderQuads(state: CanvasTextRendererState, clippingRect: Rect | null): void;
41
+ renderQuads(state: CanvasTextRendererState, transform: Matrix3d, clippingRect: Rect | null, alpha: number): void;
41
42
  private markForReload;
42
43
  private onFontLoaded;
43
44
  private onFontLoadError;
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { EventEmitter } from '../../../common/EventEmitter.js';
20
20
  import { assertTruthy } from '../../../utils.js';
21
- import { intersectRect, intersectBound, getNormalizedRgbaComponents, } from '../../lib/utils.js';
21
+ import { intersectRect, intersectBound, getNormalizedRgbaComponents, getNormalizedAlphaComponent, } from '../../lib/utils.js';
22
22
  import { WebTrFontFace } from '../font-face-types/WebTrFontFace.js';
23
23
  import { LightningTextTextureRenderer, } from './LightningTextTextureRenderer.js';
24
24
  import { TextRenderer, } from './TextRenderer.js';
@@ -347,7 +347,7 @@ export class CanvasTextRenderer extends TextRenderer {
347
347
  // Report final status
348
348
  this.setStatus(state, 'loaded');
349
349
  }
350
- renderQuads(state, clippingRect) {
350
+ renderQuads(state, transform, clippingRect, alpha) {
351
351
  const { stage } = this;
352
352
  const { canvasPages, textW = 0, textH = 0, renderWindow } = state;
353
353
  if (!canvasPages || !renderWindow)
@@ -377,10 +377,13 @@ export class CanvasTextRenderer extends TextRenderer {
377
377
  assertTruthy(renderWindow, 'renderWindow is not defined');
378
378
  const renderWindowHeight = renderWindow.y2 - renderWindow.y1;
379
379
  const pageSize = renderWindowHeight / 3.0;
380
- const { zIndex, alpha } = state.props;
380
+ const { zIndex, color } = state.props;
381
+ // Color alpha of text is not properly rendered to the Canvas texture, so we
382
+ // need to apply it here.
383
+ const combinedAlpha = alpha * getNormalizedAlphaComponent(color);
381
384
  if (canvasPages[0].valid) {
382
385
  this.stage.renderer.addRenderable({
383
- alpha,
386
+ alpha: combinedAlpha,
384
387
  clippingRect,
385
388
  colorBl: 0xffffffff,
386
389
  colorBr: 0xffffffff,
@@ -393,19 +396,17 @@ export class CanvasTextRenderer extends TextRenderer {
393
396
  shader: null,
394
397
  shaderProps: null,
395
398
  zIndex,
396
- worldScale: 1,
397
- scale: 1,
398
- wpx: x,
399
- wpy: y - scrollY + renderWindow.y1,
400
- ta: 1,
401
- tb: 0,
402
- tc: 0,
403
- td: 1,
399
+ tx: transform.tx,
400
+ ty: transform.ty - scrollY + renderWindow.y1,
401
+ ta: transform.ta,
402
+ tb: transform.tb,
403
+ tc: transform.tc,
404
+ td: transform.td,
404
405
  });
405
406
  }
406
407
  if (canvasPages[1].valid) {
407
408
  this.stage.renderer.addRenderable({
408
- alpha,
409
+ alpha: combinedAlpha,
409
410
  clippingRect,
410
411
  colorBl: 0xffffffff,
411
412
  colorBr: 0xffffffff,
@@ -418,19 +419,17 @@ export class CanvasTextRenderer extends TextRenderer {
418
419
  shader: null,
419
420
  shaderProps: null,
420
421
  zIndex,
421
- worldScale: 1,
422
- scale: 1,
423
- wpx: x,
424
- wpy: y - scrollY + renderWindow.y1 + pageSize,
425
- ta: 1,
426
- tb: 0,
427
- tc: 0,
428
- td: 1,
422
+ tx: transform.tx,
423
+ ty: transform.ty - scrollY + renderWindow.y1 + pageSize,
424
+ ta: transform.ta,
425
+ tb: transform.tb,
426
+ tc: transform.tc,
427
+ td: transform.td,
429
428
  });
430
429
  }
431
430
  if (canvasPages[2].valid) {
432
431
  this.stage.renderer.addRenderable({
433
- alpha,
432
+ alpha: combinedAlpha,
434
433
  clippingRect,
435
434
  colorBl: 0xffffffff,
436
435
  colorBr: 0xffffffff,
@@ -443,14 +442,12 @@ export class CanvasTextRenderer extends TextRenderer {
443
442
  shader: null,
444
443
  shaderProps: null,
445
444
  zIndex,
446
- worldScale: 1,
447
- scale: 1,
448
- wpx: x,
449
- wpy: y - scrollY + renderWindow.y1 + pageSize + pageSize,
450
- ta: 1,
451
- tb: 0,
452
- tc: 0,
453
- td: 1,
445
+ tx: transform.tx,
446
+ ty: transform.ty - scrollY + renderWindow.y1 + pageSize + pageSize,
447
+ ta: transform.ta,
448
+ tb: transform.tb,
449
+ tc: transform.tc,
450
+ td: transform.td,
454
451
  });
455
452
  }
456
453
  // renderer.disableScissor();
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasTextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/CanvasTextRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanvasTextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/CanvasTextRenderer.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { SdfTrFontFace } from '../../font-face-types/SdfTrFontFace/SdfTrFontFace
4
4
  import type { TrFontFace } from '../../font-face-types/TrFontFace.js';
5
5
  import type { Stage } from '../../../Stage.js';
6
6
  import { BufferCollection } from '../../../renderers/webgl/internal/BufferCollection.js';
7
+ import type { Matrix3d } from '../../../lib/Matrix3d.js';
7
8
  declare module '../TextRenderer.js' {
8
9
  interface TextRendererMap {
9
10
  sdf: SdfTextRenderer;
@@ -55,7 +56,7 @@ export declare class SdfTextRenderer extends TextRenderer<SdfTextRendererState>
55
56
  addFontFace(fontFace: TrFontFace): void;
56
57
  createState(props: TrProps): SdfTextRendererState;
57
58
  updateState(state: SdfTextRendererState): void;
58
- renderQuads(state: SdfTextRendererState, clippingRect: Rect | null): void;
59
+ renderQuads(state: SdfTextRendererState, transform: Matrix3d, clippingRect: Rect | null, alpha: number): void;
59
60
  resolveFontFace(props: TrFontProps): SdfTrFontFace | undefined;
60
61
  /**
61
62
  * Invalidate the cache stored in the state. This will cause the text to be
@@ -16,8 +16,6 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- // import { Colors } from '../../../Colors.js';
20
- // import type { Renderer } from '../../../Renderer.js';
21
19
  import { intersectBound } from '../../../lib/utils.js';
22
20
  import { TextRenderer, } from '../TextRenderer.js';
23
21
  import { SdfTrFontFace } from '../../font-face-types/SdfTrFontFace/SdfTrFontFace.js';
@@ -85,9 +83,6 @@ export class SdfTextRenderer extends TextRenderer {
85
83
  color: (state, value) => {
86
84
  state.props.color = value;
87
85
  },
88
- alpha: (state, value) => {
89
- state.props.alpha = value;
90
- },
91
86
  x: (state, value) => {
92
87
  state.props.x = value;
93
88
  },
@@ -196,6 +191,7 @@ export class SdfTextRenderer extends TextRenderer {
196
191
  if (state.status === 'initialState') {
197
192
  this.setStatus(state, 'loading');
198
193
  }
194
+ // Resolve font face if we haven't yet
199
195
  if (!trFontFace) {
200
196
  trFontFace = this.resolveFontFace(state.props);
201
197
  state.trFontFace = trFontFace;
@@ -206,7 +202,8 @@ export class SdfTextRenderer extends TextRenderer {
206
202
  return;
207
203
  }
208
204
  }
209
- // If the font hasn't been loaded yet, don't do anything
205
+ // If the font hasn't been loaded yet, stop here.
206
+ // Listen for the 'loaded' event and forward fontLoaded event
210
207
  if (!trFontFace.loaded) {
211
208
  trFontFace.on('loaded', function loadedHandler() {
212
209
  state.emitter.emit('fontLoaded', {});
@@ -298,7 +295,7 @@ export class SdfTextRenderer extends TextRenderer {
298
295
  // }
299
296
  this.setStatus(state, 'loaded');
300
297
  }
301
- renderQuads(state, clippingRect) {
298
+ renderQuads(state, transform, clippingRect, alpha) {
302
299
  if (!state.vertexBuffer) {
303
300
  // Nothing to draw
304
301
  return;
@@ -307,7 +304,7 @@ export class SdfTextRenderer extends TextRenderer {
307
304
  const { sdfShader } = this;
308
305
  const { renderer } = this.stage;
309
306
  const { appWidth, appHeight } = this.stage.options;
310
- const { fontSize, color, alpha, x, y, contain, width, height, scrollable, zIndex, debug, } = state.props;
307
+ const { fontSize, color, contain, scrollable, zIndex, debug } = state.props;
311
308
  // scrollY only has an effect when contain === 'both' and scrollable === true
312
309
  const scrollY = contain === 'both' && scrollable ? state.props.scrollY : 0;
313
310
  const { textW = 0, textH = 0, distanceRange, vertexBuffer, bufferNumFloats, bufferUploaded, renderWindow, debugData, trFontFace, } = state;
@@ -353,12 +350,13 @@ export class SdfTextRenderer extends TextRenderer {
353
350
  }
354
351
  assertTruthy(trFontFace);
355
352
  const renderOp = new WebGlCoreRenderOp(renderer.gl, renderer.options, webGlBuffers, this.sdfShader, {
353
+ transform: transform.data,
356
354
  // IMPORTANT: The SDF Shader expects the color NOT to be premultiplied
357
355
  // for the best blending results. Which is why we use `mergeColorAlpha`
358
356
  // instead of `mergeColorAlphaPremultiplied` here.
359
357
  color: mergeColorAlpha(color, alpha),
360
358
  size: fontSize / (trFontFace.data?.info.size || 0),
361
- offset: [x, y - scrollY],
359
+ scrollY,
362
360
  distanceRange,
363
361
  debug: debug.sdfShaderDebug,
364
362
  }, alpha, clippingRect, { height: textH, width: textW }, 0, zIndex);