@lightningjs/renderer 0.7.0 → 0.7.2

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 (83) hide show
  1. package/dist/exports/main-api.d.ts +1 -0
  2. package/dist/src/core/CoreNode.d.ts +4 -7
  3. package/dist/src/core/CoreNode.js +29 -25
  4. package/dist/src/core/CoreNode.js.map +1 -1
  5. package/dist/src/core/CoreShaderManager.d.ts +13 -6
  6. package/dist/src/core/CoreShaderManager.js +6 -6
  7. package/dist/src/core/CoreShaderManager.js.map +1 -1
  8. package/dist/src/core/CoreTextNode.d.ts +2 -2
  9. package/dist/src/core/CoreTextNode.js +1 -1
  10. package/dist/src/core/CoreTextNode.js.map +1 -1
  11. package/dist/src/core/Stage.js +1 -1
  12. package/dist/src/core/Stage.js.map +1 -1
  13. package/dist/src/core/animations/CoreAnimation.d.ts +1 -0
  14. package/dist/src/core/animations/CoreAnimation.js +7 -0
  15. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  16. package/dist/src/core/lib/WebGlContextWrapper.d.ts +9 -0
  17. package/dist/src/core/lib/WebGlContextWrapper.js +12 -0
  18. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  19. package/dist/src/core/lib/textureCompression.d.ts +16 -0
  20. package/dist/src/core/lib/textureCompression.js +129 -0
  21. package/dist/src/core/lib/textureCompression.js.map +1 -0
  22. package/dist/src/core/lib/utils.d.ts +9 -0
  23. package/dist/src/core/lib/utils.js +48 -1
  24. package/dist/src/core/lib/utils.js.map +1 -1
  25. package/dist/src/core/renderers/CoreRenderer.d.ts +2 -2
  26. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +12 -0
  27. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +3 -3
  29. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +1 -1
  30. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
  31. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +5 -0
  32. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  33. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +4 -0
  34. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +11 -0
  35. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  36. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -1
  37. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -2
  38. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +10 -1
  39. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  40. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +21 -7
  41. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  42. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +6 -10
  43. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +73 -46
  44. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  45. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -1
  46. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  47. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +1 -1
  48. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -1
  49. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +2 -2
  50. package/dist/src/core/textures/ImageTexture.js +5 -0
  51. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  52. package/dist/src/core/textures/Texture.d.ts +28 -1
  53. package/dist/src/core/textures/Texture.js.map +1 -1
  54. package/dist/src/main-api/Inspector.d.ts +15 -0
  55. package/dist/src/main-api/Inspector.js +216 -0
  56. package/dist/src/main-api/Inspector.js.map +1 -0
  57. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  58. package/exports/main-api.ts +9 -0
  59. package/package.json +1 -1
  60. package/src/core/CoreNode.ts +30 -29
  61. package/src/core/CoreShaderManager.ts +39 -6
  62. package/src/core/CoreTextNode.ts +2 -2
  63. package/src/core/Stage.ts +1 -1
  64. package/src/core/animations/CoreAnimation.ts +8 -0
  65. package/src/core/lib/WebGlContextWrapper.ts +27 -0
  66. package/src/core/lib/textureCompression.ts +152 -0
  67. package/src/core/lib/utils.ts +68 -1
  68. package/src/core/renderers/CoreRenderer.ts +2 -2
  69. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +20 -0
  70. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +3 -3
  71. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +7 -1
  72. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +15 -1
  73. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +12 -4
  74. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +4 -1
  75. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +16 -2
  76. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +42 -8
  77. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +96 -60
  78. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +2 -1
  79. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +4 -1
  80. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +1 -1
  81. package/src/core/text-rendering/renderers/TextRenderer.ts +2 -2
  82. package/src/core/textures/ImageTexture.ts +9 -0
  83. package/src/core/textures/Texture.ts +33 -1
@@ -0,0 +1,16 @@
1
+ import { type TextureData } from '../textures/Texture.js';
2
+ /**
3
+ * Tests if the given location is a compressed texture container
4
+ * @param url
5
+ * @remarks
6
+ * This function is used to determine if the given image url is a compressed
7
+ * and only supports the following extensions: .ktx and .pvr
8
+ * @returns
9
+ */
10
+ export declare function isCompressedTextureContainer(url: string): boolean;
11
+ /**
12
+ * Loads a compressed texture container
13
+ * @param url
14
+ * @returns
15
+ */
16
+ export declare const loadCompressedTexture: (url: string) => Promise<TextureData>;
@@ -0,0 +1,129 @@
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 {} from '../textures/Texture.js';
20
+ /**
21
+ * Tests if the given location is a compressed texture container
22
+ * @param url
23
+ * @remarks
24
+ * This function is used to determine if the given image url is a compressed
25
+ * and only supports the following extensions: .ktx and .pvr
26
+ * @returns
27
+ */
28
+ export function isCompressedTextureContainer(url) {
29
+ return /\.(ktx|pvr)$/.test(url);
30
+ }
31
+ /**
32
+ * Loads a compressed texture container
33
+ * @param url
34
+ * @returns
35
+ */
36
+ export const loadCompressedTexture = async (url) => {
37
+ const response = await fetch(url);
38
+ const arrayBuffer = await response.arrayBuffer();
39
+ if (url.indexOf('.ktx') !== -1) {
40
+ return loadKTXData(arrayBuffer);
41
+ }
42
+ return loadPVRData(arrayBuffer);
43
+ };
44
+ /**
45
+ * Loads a KTX texture container and returns the texture data
46
+ * @param buffer
47
+ * @returns
48
+ */
49
+ const loadKTXData = async (buffer) => {
50
+ const view = new DataView(buffer);
51
+ const littleEndian = view.getUint32(12) === 16909060 ? true : false;
52
+ const mipmaps = [];
53
+ const data = {
54
+ glInternalFormat: view.getUint32(28, littleEndian),
55
+ pixelWidth: view.getUint32(36, littleEndian),
56
+ pixelHeight: view.getUint32(40, littleEndian),
57
+ numberOfMipmapLevels: view.getUint32(56, littleEndian),
58
+ bytesOfKeyValueData: view.getUint32(60, littleEndian),
59
+ };
60
+ let offset = 64;
61
+ // Key Value Pairs of data start at byte offset 64
62
+ // But the only known kvp is the API version, so skipping parsing.
63
+ offset += data.bytesOfKeyValueData;
64
+ for (let i = 0; i < data.numberOfMipmapLevels; i++) {
65
+ const imageSize = view.getUint32(offset);
66
+ offset += 4;
67
+ mipmaps.push(view.buffer.slice(offset, imageSize));
68
+ offset += imageSize;
69
+ }
70
+ return {
71
+ data: {
72
+ glInternalFormat: data.glInternalFormat,
73
+ mipmaps,
74
+ width: data.pixelWidth || 0,
75
+ height: data.pixelHeight || 0,
76
+ type: 'ktx',
77
+ },
78
+ premultiplyAlpha: false,
79
+ };
80
+ };
81
+ /**
82
+ * Loads a PVR texture container and returns the texture data
83
+ * @param buffer
84
+ * @returns
85
+ */
86
+ const loadPVRData = async (buffer) => {
87
+ // pvr header length in 32 bits
88
+ const pvrHeaderLength = 13;
89
+ // for now only we only support: COMPRESSED_RGB_ETC1_WEBGL
90
+ const pvrFormatEtc1 = 0x8d64;
91
+ const pvrWidth = 7;
92
+ const pvrHeight = 6;
93
+ const pvrMipmapCount = 11;
94
+ const pvrMetadata = 12;
95
+ const arrayBuffer = buffer;
96
+ const header = new Int32Array(arrayBuffer, 0, pvrHeaderLength);
97
+ // @ts-expect-error Object possibly undefined
98
+ // eslint-disable-next-line @typescript-eslint/restrict-plus-operands
99
+ const dataOffset = header[pvrMetadata] + 52;
100
+ const pvrtcData = new Uint8Array(arrayBuffer, dataOffset);
101
+ const mipmaps = [];
102
+ const data = {
103
+ pixelWidth: header[pvrWidth],
104
+ pixelHeight: header[pvrHeight],
105
+ numberOfMipmapLevels: header[pvrMipmapCount] || 0,
106
+ };
107
+ let offset = 0;
108
+ let width = data.pixelWidth || 0;
109
+ let height = data.pixelHeight || 0;
110
+ for (let i = 0; i < data.numberOfMipmapLevels; i++) {
111
+ const level = ((width + 3) >> 2) * ((height + 3) >> 2) * 8;
112
+ const view = new Uint8Array(arrayBuffer, pvrtcData.byteOffset + offset, level);
113
+ mipmaps.push(view);
114
+ offset += level;
115
+ width = width >> 1;
116
+ height = height >> 1;
117
+ }
118
+ return {
119
+ data: {
120
+ glInternalFormat: pvrFormatEtc1,
121
+ mipmaps: mipmaps,
122
+ width: data.pixelWidth || 0,
123
+ height: data.pixelHeight || 0,
124
+ type: 'pvr',
125
+ },
126
+ premultiplyAlpha: false,
127
+ };
128
+ };
129
+ //# sourceMappingURL=textureCompression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textureCompression.js","sourceRoot":"","sources":["../../../../src/core/lib/textureCompression.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,9 @@ export interface Rect {
16
16
  width: number;
17
17
  height: number;
18
18
  }
19
+ export interface RectWithValid extends Rect {
20
+ valid: boolean;
21
+ }
19
22
  export interface Bound {
20
23
  x1: number;
21
24
  y1: number;
@@ -27,7 +30,13 @@ export interface BoundWithValid extends Bound {
27
30
  }
28
31
  export declare function createBound<T extends Bound = Bound>(x1: number, y1: number, x2: number, y2: number, out?: T): T;
29
32
  export declare function intersectBound<T extends Bound = Bound>(a: Bound, b: Bound, out?: T): T;
33
+ export declare function boundsOverlap(a: Bound, b: Bound): boolean;
34
+ export declare function convertBoundToRect(bound: Bound): Rect;
35
+ export declare function convertBoundToRect<T extends Rect = Rect>(bound: Bound, out: T): T;
30
36
  export declare function intersectRect(a: Rect, b: Rect): Rect;
37
+ export declare function intersectRect<T extends Rect = Rect>(a: Rect, b: Rect, out: T): T;
38
+ export declare function copyRect(a: Rect): Rect;
39
+ export declare function copyRect<T extends Rect = Rect>(a: Rect, out: T): T;
31
40
  export declare function compareRect(a: Rect | null, b: Rect | null): boolean;
32
41
  export declare function isBoundPositive(bound: Bound): boolean;
33
42
  export declare function isRectPositive(rect: Rect): boolean;
@@ -87,12 +87,37 @@ export function intersectBound(a, b, out) {
87
87
  }
88
88
  return createBound(0, 0, 0, 0, intersection);
89
89
  }
90
- export function intersectRect(a, b) {
90
+ export function boundsOverlap(a, b) {
91
+ return a.x1 < b.x2 && a.x2 > b.x1 && a.y1 < b.y2 && a.y2 > b.y1;
92
+ }
93
+ export function convertBoundToRect(bound, out) {
94
+ if (out) {
95
+ out.x = bound.x1;
96
+ out.y = bound.y1;
97
+ out.width = bound.x2 - bound.x1;
98
+ out.height = bound.y2 - bound.y1;
99
+ return out;
100
+ }
101
+ return {
102
+ x: bound.x1,
103
+ y: bound.y1,
104
+ width: bound.x2 - bound.x1,
105
+ height: bound.y2 - bound.y1,
106
+ };
107
+ }
108
+ export function intersectRect(a, b, out) {
91
109
  const x = Math.max(a.x, b.x);
92
110
  const y = Math.max(a.y, b.y);
93
111
  const width = Math.min(a.x + a.width, b.x + b.width) - x;
94
112
  const height = Math.min(a.y + a.height, b.y + b.height) - y;
95
113
  if (width > 0 && height > 0) {
114
+ if (out) {
115
+ out.x = x;
116
+ out.y = y;
117
+ out.width = width;
118
+ out.height = height;
119
+ return out;
120
+ }
96
121
  return {
97
122
  x,
98
123
  y,
@@ -100,6 +125,13 @@ export function intersectRect(a, b) {
100
125
  height,
101
126
  };
102
127
  }
128
+ if (out) {
129
+ out.x = 0;
130
+ out.y = 0;
131
+ out.width = 0;
132
+ out.height = 0;
133
+ return out;
134
+ }
103
135
  return {
104
136
  x: 0,
105
137
  y: 0,
@@ -107,6 +139,21 @@ export function intersectRect(a, b) {
107
139
  height: 0,
108
140
  };
109
141
  }
142
+ export function copyRect(a, out) {
143
+ if (out) {
144
+ out.x = a.x;
145
+ out.y = a.y;
146
+ out.width = a.width;
147
+ out.height = a.height;
148
+ return out;
149
+ }
150
+ return {
151
+ x: a.x,
152
+ y: a.y,
153
+ width: a.width,
154
+ height: a.height,
155
+ };
156
+ }
110
157
  export function compareRect(a, b) {
111
158
  if (a === b) {
112
159
  return true;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { CoreShaderManager } from '../CoreShaderManager.js';
2
2
  import type { TextureOptions } from '../CoreTextureManager.js';
3
3
  import type { Stage } from '../Stage.js';
4
- import type { Rect } from '../lib/utils.js';
4
+ import type { RectWithValid } from '../lib/utils.js';
5
5
  import type { Texture } from '../textures/Texture.js';
6
6
  import { CoreContextTexture } from './CoreContextTexture.js';
7
7
  import type { CoreShader } from './CoreShader.js';
@@ -18,7 +18,7 @@ export interface QuadOptions {
18
18
  shader: CoreShader | null;
19
19
  shaderProps: Record<string, unknown> | null;
20
20
  alpha: number;
21
- clippingRect: Rect | null;
21
+ clippingRect: RectWithValid;
22
22
  tx: number;
23
23
  ty: number;
24
24
  ta: number;
@@ -129,6 +129,18 @@ export class WebGlCoreCtxTexture extends CoreContextTexture {
129
129
  glw.bindTexture(this._nativeCtxTexture);
130
130
  glw.texImage2D(0, glw.RGBA, 1, 1, 0, glw.RGBA, glw.UNSIGNED_BYTE, TRANSPARENT_TEXTURE_DATA);
131
131
  }
132
+ else if ('mipmaps' in textureData.data && textureData.data.mipmaps) {
133
+ const { mipmaps, width = 0, height = 0, type, glInternalFormat, } = textureData.data;
134
+ const view = type === 'ktx'
135
+ ? new DataView(mipmaps[0] ?? new ArrayBuffer(0))
136
+ : mipmaps[0];
137
+ glw.bindTexture(this._nativeCtxTexture);
138
+ glw.compressedTexImage2D(0, glInternalFormat, width, height, 0, view);
139
+ glw.texParameteri(glw.TEXTURE_WRAP_S, glw.CLAMP_TO_EDGE);
140
+ glw.texParameteri(glw.TEXTURE_WRAP_T, glw.CLAMP_TO_EDGE);
141
+ glw.texParameteri(glw.TEXTURE_MAG_FILTER, glw.LINEAR);
142
+ glw.texParameteri(glw.TEXTURE_MIN_FILTER, glw.LINEAR);
143
+ }
132
144
  else {
133
145
  console.error(`WebGlCoreCtxTexture.onLoadRequest: Unexpected textureData returned`, textureData);
134
146
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreCtxTexture.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreCtxTexture.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@ import type { WebGlCoreCtxTexture } from './WebGlCoreCtxTexture.js';
4
4
  import type { WebGlCoreRendererOptions } from './WebGlCoreRenderer.js';
5
5
  import type { BufferCollection } from './internal/BufferCollection.js';
6
6
  import type { Dimensions } from '../../../common/CommonTypes.js';
7
- import type { Rect } from '../../lib/utils.js';
7
+ import type { RectWithValid } from '../../lib/utils.js';
8
8
  import type { WebGlContextWrapper } from '../../lib/WebGlContextWrapper.js';
9
9
  /**
10
10
  * Can render multiple quads with multiple textures (up to vertex shader texture limit)
@@ -17,7 +17,7 @@ export declare class WebGlCoreRenderOp extends CoreRenderOp {
17
17
  readonly shader: WebGlCoreShader;
18
18
  readonly shaderProps: Record<string, unknown>;
19
19
  readonly alpha: number;
20
- readonly clippingRect: Rect | null;
20
+ readonly clippingRect: RectWithValid;
21
21
  readonly dimensions: Dimensions;
22
22
  readonly bufferIdx: number;
23
23
  readonly zIndex: number;
@@ -25,7 +25,7 @@ export declare class WebGlCoreRenderOp extends CoreRenderOp {
25
25
  numQuads: number;
26
26
  textures: WebGlCoreCtxTexture[];
27
27
  readonly maxTextures: number;
28
- constructor(glw: WebGlContextWrapper, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, alpha: number, clippingRect: Rect | null, dimensions: Dimensions, bufferIdx: number, zIndex: number);
28
+ constructor(glw: WebGlContextWrapper, options: WebGlCoreRendererOptions, buffers: BufferCollection, shader: WebGlCoreShader, shaderProps: Record<string, unknown>, alpha: number, clippingRect: RectWithValid, dimensions: Dimensions, bufferIdx: number, zIndex: number);
29
29
  addTexture(texture: WebGlCoreCtxTexture): number;
30
30
  draw(): void;
31
31
  }
@@ -76,7 +76,7 @@ export class WebGlCoreRenderOp extends CoreRenderOp {
76
76
  // TODO: Reduce calculations required
77
77
  const quadIdx = (this.bufferIdx / 24) * 6 * 2;
78
78
  // Clipping
79
- if (this.clippingRect) {
79
+ if (this.clippingRect.valid) {
80
80
  const { x, y, width, height } = this.clippingRect;
81
81
  const pixelRatio = options.pixelRatio;
82
82
  const canvasHeight = options.canvas.height;
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlCoreRenderOp.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderOp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlCoreRenderOp.js","sourceRoot":"","sources":["../../../../../src/core/renderers/webgl/WebGlCoreRenderOp.ts"],"names":[],"mappings":"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"}
@@ -66,6 +66,11 @@ export class WebGlCoreRenderer extends CoreRenderer {
66
66
  this.txManager = options.txManager;
67
67
  this.shManager = options.shManager;
68
68
  this.defaultTexture = new ColorTexture(this.txManager);
69
+ // When the default texture is loaded, request a render in case the
70
+ // RAF is paused. Fixes: https://github.com/lightning-js/renderer/issues/123
71
+ this.defaultTexture.once('loaded', () => {
72
+ this.stage.requestRender();
73
+ });
69
74
  const gl = createWebGLContext(canvas, options.contextSpy);
70
75
  const glw = (this.glw = new WebGlContextWrapper(gl));
71
76
  const color = getNormalizedRgbaComponents(clearColor);
@@ -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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"}
@@ -19,6 +19,10 @@ interface GlyphAtlasEntry {
19
19
  export declare class SdfTrFontFace<FontTypeT extends SdfFontType = SdfFontType> extends TrFontFace {
20
20
  readonly type: FontTypeT;
21
21
  readonly texture: ImageTexture;
22
+ /**
23
+ * Height of the tallest character in the font including the whitespace above it
24
+ */
25
+ readonly maxCharHeight: number;
22
26
  readonly data: SdfFontData | undefined;
23
27
  readonly shaper: FontShaper | undefined;
24
28
  readonly glyphMap: Map<number, SdfFontData['chars'][0]>;
@@ -25,6 +25,10 @@ import { SdfFontShaper } from './internal/SdfFontShaper.js';
25
25
  export class SdfTrFontFace extends TrFontFace {
26
26
  type;
27
27
  texture;
28
+ /**
29
+ * Height of the tallest character in the font including the whitespace above it
30
+ */
31
+ maxCharHeight = 0;
28
32
  data;
29
33
  shaper;
30
34
  glyphMap = new Map();
@@ -53,9 +57,16 @@ export class SdfTrFontFace extends TrFontFace {
53
57
  this.data = await response.json();
54
58
  // Add all the glyphs to the glyph map
55
59
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
60
+ let maxCharHeight = 0;
56
61
  this.data.chars.forEach((glyph) => {
57
62
  this.glyphMap.set(glyph.id, glyph);
63
+ const charHeight = glyph.yoffset + glyph.height;
64
+ if (charHeight > maxCharHeight) {
65
+ maxCharHeight = charHeight;
66
+ }
58
67
  });
68
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
69
+ this.maxCharHeight = maxCharHeight;
59
70
  // We know `data` is defined here, because we just set it
60
71
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
61
72
  this.shaper = new SdfFontShaper(this.data, this.glyphMap);
@@ -1 +1 @@
1
- {"version":3,"file":"SdfTrFontFace.js","sourceRoot":"","sources":["../../../../../../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdfTrFontFace.js","sourceRoot":"","sources":["../../../../../../src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"SdfFontShaper.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,UAAU,GAIX,MAAM,iBAAiB,CAAC;AAUzB,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC1B,IAAI,CAAc;IAClB,QAAQ,CAAuC;IAC/C,QAAQ,CAAe;IAExC,YAAY,IAAiB,EAAE,QAA8C;QAC3E,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,QAAQ,GAAiB,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,CAAC,SAAS,CACR,KAAsB,EACtB,UAAoC;QAEpC,IAAI,eAAuC,CAAC;QAC5C,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YACrE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,sCAAsC;gBACtC,8BAA8B;gBAE9B;;mBAEG;gBACH,MAAM,OAAO,GACX,WAAW,KAAK,SAAS;oBACvB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC7C,KAAK,CAAC,aAAa;oBACrB,CAAC,CAAC,CAAC,CAAC;gBAER,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM;oBACJ,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS;oBACT,OAAO,EAAE,UAAU,CAAC,SAAS;oBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO;oBAClC,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;aACH;iBAAM;gBACL,4CAA4C;gBAC5C,oCAAoC;gBAEpC,sEAAsE;gBACtE,uEAAuE;gBACvE,iBAAiB;gBACjB,IAAI,SAAS,KAAK,iBAAiB,CAAC,SAAS,EAAE;oBAC7C,WAAW,GAAG,SAAS,CAAC;iBACzB;gBACD,MAAM;oBACJ,MAAM,EAAE,KAAK;oBACb,SAAS;oBACT,OAAO,EAAE,UAAU,CAAC,SAAS;iBAC9B,CAAC;aACH;SACF;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"SdfFontShaper.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,kEAAkE,CAAC;AACrG,OAAO,EACL,UAAU,GAIX,MAAM,iBAAiB,CAAC;AAUzB,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC1B,IAAI,CAAc;IAClB,QAAQ,CAAuC;IAC/C,QAAQ,CAAe;IAExC,YACE,IAAiB,EACjB,QAA8C;QAE9C,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QAEzB,MAAM,QAAQ,GAAiB,CAAC,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAChC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;YAC9B,MAAM,MAAM,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;QACzC,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,CAAC,SAAS,CACR,KAAsB,EACtB,UAAoC;QAEpC,IAAI,eAAuC,CAAC;QAC5C,IAAI,WAAW,GAAuB,SAAS,CAAC;QAChD,OAAO,CAAC,eAAe,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE;YACrE,MAAM,SAAS,GAAG,eAAe,CAAC,KAAK,CAAC;YACxC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,UAAU,CAAC,IAAI,EAAE,CAAC;YAClB,IAAI,KAAK,KAAK,SAAS,EAAE;gBACvB,sCAAsC;gBACtC,8BAA8B;gBAE9B;;mBAEG;gBACH,MAAM,OAAO,GACX,WAAW,KAAK,SAAS;oBACvB,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;wBAC7C,KAAK,CAAC,aAAa;oBACrB,CAAC,CAAC,CAAC,CAAC;gBAER,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;gBACvB,MAAM;oBACJ,MAAM,EAAE,IAAI;oBACZ,OAAO,EAAE,KAAK,CAAC,EAAE;oBACjB,SAAS;oBACT,OAAO,EAAE,UAAU,CAAC,SAAS;oBAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ,GAAG,OAAO;oBAClC,QAAQ,EAAE,CAAC;oBACX,OAAO,EAAE,KAAK,CAAC,OAAO,GAAG,OAAO;oBAChC,OAAO,EAAE,KAAK,CAAC,OAAO;oBACtB,QAAQ,EAAE,CAAC;oBACX,QAAQ,EAAE,CAAC;oBACX,KAAK,EAAE,KAAK,CAAC,KAAK;oBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;iBACrB,CAAC;aACH;iBAAM;gBACL,4CAA4C;gBAC5C,oCAAoC;gBAEpC,sEAAsE;gBACtE,uEAAuE;gBACvE,iBAAiB;gBACjB,IAAI,SAAS,KAAK,iBAAiB,CAAC,SAAS,EAAE;oBAC7C,WAAW,GAAG,SAAS,CAAC;iBACzB;gBACD,MAAM;oBACJ,MAAM,EAAE,KAAK;oBACb,SAAS;oBACT,OAAO,EAAE,UAAU,CAAC,SAAS;iBAC9B,CAAC;aACH;SACF;IACH,CAAC;CACF"}
@@ -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, type BoundWithValid } from '../../lib/utils.js';
3
+ import { type Bound, type BoundWithValid, type RectWithValid } 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';
@@ -40,7 +40,7 @@ export declare class CanvasTextRenderer extends TextRenderer<CanvasTextRendererS
40
40
  addFontFace(fontFace: TrFontFace): void;
41
41
  createState(props: TrProps): CanvasTextRendererState;
42
42
  updateState(state: CanvasTextRendererState): void;
43
- renderQuads(state: CanvasTextRendererState, transform: Matrix3d, clippingRect: Rect | null, alpha: number): void;
43
+ renderQuads(state: CanvasTextRendererState, transform: Matrix3d, clippingRect: RectWithValid, alpha: number): void;
44
44
  /**
45
45
  * Invalidate the visible window stored in the state. This will cause a new
46
46
  * visible window to be calculated on the next update.
@@ -245,6 +245,14 @@ export class CanvasTextRenderer extends TextRenderer {
245
245
  return;
246
246
  }
247
247
  if (!state.renderInfo) {
248
+ const maxLines = state.props.maxLines;
249
+ const containedMaxLines = state.props.contain === 'both'
250
+ ? Math.floor((state.props.height - state.props.offsetY) /
251
+ state.props.lineHeight)
252
+ : 0;
253
+ const calcMaxLines = containedMaxLines > 0 && maxLines > 0
254
+ ? Math.min(containedMaxLines, maxLines)
255
+ : Math.max(containedMaxLines, maxLines);
248
256
  state.lightning2TextRenderer.settings = {
249
257
  text: state.props.text,
250
258
  textAlign: state.props.textAlign,
@@ -261,7 +269,7 @@ export class CanvasTextRenderer extends TextRenderer {
261
269
  wordWrapWidth: state.props.contain === 'none' ? undefined : state.props.width,
262
270
  letterSpacing: state.props.letterSpacing,
263
271
  lineHeight: state.props.lineHeight,
264
- maxLines: state.props.maxLines,
272
+ maxLines: calcMaxLines,
265
273
  textBaseline: state.props.textBaseline,
266
274
  verticalAlign: state.props.verticalAlign,
267
275
  overflowSuffix: state.props.overflowSuffix,
@@ -561,6 +569,7 @@ export class CanvasTextRenderer extends TextRenderer {
561
569
  */
562
570
  invalidateLayoutCache(state) {
563
571
  state.renderInfo = undefined;
572
+ state.visibleWindow.valid = false;
564
573
  this.setStatus(state, 'loading');
565
574
  this.scheduleUpdateState(state);
566
575
  }