@lightningjs/renderer 0.6.1 → 0.7.1

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 (201) hide show
  1. package/dist/src/common/CommonTypes.d.ts +8 -0
  2. package/dist/src/core/CoreNode.d.ts +4 -7
  3. package/dist/src/core/CoreNode.js +73 -40
  4. package/dist/src/core/CoreNode.js.map +1 -1
  5. package/dist/src/core/CoreTextNode.d.ts +12 -2
  6. package/dist/src/core/CoreTextNode.js +46 -1
  7. package/dist/src/core/CoreTextNode.js.map +1 -1
  8. package/dist/src/core/CoreTextureManager.d.ts +3 -1
  9. package/dist/src/core/CoreTextureManager.js +4 -1
  10. package/dist/src/core/CoreTextureManager.js.map +1 -1
  11. package/dist/src/core/Stage.d.ts +6 -0
  12. package/dist/src/core/Stage.js +13 -4
  13. package/dist/src/core/Stage.js.map +1 -1
  14. package/dist/src/core/animations/CoreAnimation.d.ts +1 -0
  15. package/dist/src/core/animations/CoreAnimation.js +7 -0
  16. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  17. package/dist/src/core/lib/ImageWorker.d.ts +16 -0
  18. package/dist/src/core/lib/ImageWorker.js +111 -0
  19. package/dist/src/core/lib/ImageWorker.js.map +1 -0
  20. package/dist/src/core/lib/WebGlContextWrapper.d.ts +4 -0
  21. package/dist/src/core/lib/WebGlContextWrapper.js +7 -2
  22. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  23. package/dist/src/core/lib/utils.d.ts +9 -0
  24. package/dist/src/core/lib/utils.js +48 -1
  25. package/dist/src/core/lib/utils.js.map +1 -1
  26. package/dist/src/core/renderers/CoreRenderer.d.ts +2 -2
  27. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +2 -1
  28. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +2 -2
  29. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +3 -2
  31. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +23 -21
  32. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  33. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +5 -4
  34. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +10 -14
  35. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -1
  36. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +4 -1
  37. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +30 -24
  38. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  39. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +2 -1
  40. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +24 -24
  41. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -1
  42. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +8 -5
  43. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +11 -13
  44. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  45. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -2
  46. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +15 -15
  47. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  48. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +3 -6
  49. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -1
  50. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +3 -3
  51. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -1
  52. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +1 -0
  53. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +32 -12
  54. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  55. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +3 -3
  56. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -1
  57. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +3 -3
  58. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -1
  59. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +1 -1
  60. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +14 -1
  61. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +15 -5
  62. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -1
  63. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +3 -3
  64. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  65. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +2 -1
  66. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +4 -2
  67. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -1
  68. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +2 -2
  69. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +25 -0
  70. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  71. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -1
  72. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +6 -6
  73. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  74. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +8 -11
  75. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +140 -81
  76. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  77. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +8 -0
  78. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js +29 -0
  79. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +1 -0
  80. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +4 -3
  81. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +15 -11
  82. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -1
  83. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +3 -2
  84. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +30 -26
  85. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  86. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +19 -0
  87. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +84 -0
  88. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +1 -0
  89. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +8 -0
  90. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +40 -0
  91. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +1 -0
  92. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +2 -0
  93. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +41 -0
  94. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +1 -0
  95. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +1 -0
  96. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +4 -0
  97. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +1 -0
  98. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +1 -0
  99. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +2 -0
  100. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +1 -0
  101. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +9 -0
  102. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js +32 -0
  103. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js.map +1 -0
  104. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
  105. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
  106. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
  107. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
  108. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +39 -0
  109. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
  110. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +52 -2
  111. package/dist/src/core/text-rendering/renderers/TextRenderer.js +19 -0
  112. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  113. package/dist/src/core/textures/ImageTexture.js +14 -9
  114. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  115. package/dist/src/core/utils.d.ts +1 -6
  116. package/dist/src/core/utils.js +3 -2
  117. package/dist/src/core/utils.js.map +1 -1
  118. package/dist/src/main-api/ICoreDriver.d.ts +2 -1
  119. package/dist/src/main-api/RendererMain.d.ts +25 -0
  120. package/dist/src/main-api/RendererMain.js +14 -5
  121. package/dist/src/main-api/RendererMain.js.map +1 -1
  122. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +2 -1
  123. package/dist/src/render-drivers/main/MainCoreDriver.js +6 -4
  124. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  125. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +10 -0
  126. package/dist/src/render-drivers/main/MainOnlyTextNode.js +45 -0
  127. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  128. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +10 -0
  129. package/dist/src/render-drivers/threadx/TextNodeStruct.js +45 -0
  130. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
  131. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +2 -1
  132. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +8 -1
  133. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  134. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +5 -0
  135. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +5 -0
  136. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -1
  137. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +4 -1
  138. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -1
  139. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +5 -0
  140. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +10 -0
  141. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  142. package/dist/src/render-drivers/threadx/worker/renderer.js +5 -3
  143. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  144. package/dist/src/utils.d.ts +2 -1
  145. package/dist/src/utils.js +22 -3
  146. package/dist/src/utils.js.map +1 -1
  147. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  148. package/package.json +3 -2
  149. package/src/common/CommonTypes.ts +9 -0
  150. package/src/core/CoreNode.ts +96 -62
  151. package/src/core/CoreTextNode.ts +58 -2
  152. package/src/core/CoreTextureManager.ts +4 -2
  153. package/src/core/Stage.ts +33 -4
  154. package/src/core/animations/CoreAnimation.ts +8 -0
  155. package/src/core/lib/ContextSpy.ts +41 -0
  156. package/src/core/lib/ImageWorker.ts +124 -0
  157. package/src/core/lib/WebGlContextWrapper.ts +965 -0
  158. package/src/core/lib/utils.ts +68 -1
  159. package/src/core/renderers/CoreRenderer.ts +2 -2
  160. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +3 -2
  161. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +29 -28
  162. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +13 -17
  163. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +33 -25
  164. package/src/core/renderers/webgl/WebGlCoreShader.ts +34 -25
  165. package/src/core/renderers/webgl/internal/RendererUtils.ts +13 -16
  166. package/src/core/renderers/webgl/internal/ShaderUtils.ts +16 -15
  167. package/src/core/renderers/webgl/shaders/DefaultShader.ts +3 -7
  168. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +3 -3
  169. package/src/core/renderers/webgl/shaders/DynamicShader.ts +42 -14
  170. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +3 -3
  171. package/src/core/renderers/webgl/shaders/SdfShader.ts +3 -3
  172. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +1 -1
  173. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +35 -5
  174. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +3 -3
  175. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +9 -3
  176. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +4 -2
  177. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +27 -1
  178. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +7 -7
  179. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +193 -103
  180. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +26 -18
  181. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +40 -28
  182. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +6 -1
  183. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -0
  184. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/{makeRenderWindow.ts → setRenderWindow.ts} +50 -21
  185. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -0
  186. package/src/core/text-rendering/renderers/TextRenderer.ts +75 -2
  187. package/src/core/textures/ImageTexture.ts +17 -9
  188. package/src/core/utils.ts +87 -85
  189. package/src/env.d.ts +7 -0
  190. package/src/main-api/ICoreDriver.ts +2 -1
  191. package/src/main-api/RendererMain.ts +43 -5
  192. package/src/render-drivers/main/MainCoreDriver.ts +8 -5
  193. package/src/render-drivers/main/MainOnlyTextNode.ts +55 -1
  194. package/src/render-drivers/threadx/TextNodeStruct.ts +45 -0
  195. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +10 -2
  196. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +10 -0
  197. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +5 -1
  198. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +15 -0
  199. package/src/render-drivers/threadx/worker/renderer.ts +6 -4
  200. package/src/utils.ts +25 -4
  201. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.test.ts +0 -136
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layoutText2.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.ts"],"names":[],"mappings":""}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Round up to the nearest multiple of the given number.
3
+ *
4
+ * @param value
5
+ * @param multiple
6
+ * @returns
7
+ */
8
+ export declare function roundUpToMultiple(value: number, multiple: number): number;
9
+ export declare function roundDownToMultiple(value: number, multiple: number): number;
@@ -0,0 +1,32 @@
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
+ /**
20
+ * Round up to the nearest multiple of the given number.
21
+ *
22
+ * @param value
23
+ * @param multiple
24
+ * @returns
25
+ */
26
+ export function roundUpToMultiple(value, multiple) {
27
+ return Math.ceil(value / multiple) * multiple;
28
+ }
29
+ export function roundDownToMultiple(value, multiple) {
30
+ return Math.floor(value / multiple) * multiple;
31
+ }
32
+ //# sourceMappingURL=roundUpToMultiple.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"roundUpToMultiple.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAgB;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,QAAgB;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type Bound } from '../../../../lib/utils.js';
2
+ import type { TrProps } from '../../TextRenderer.js';
3
+ export interface SdfRenderWindow {
4
+ screen: Bound;
5
+ sdf: Bound;
6
+ firstLineIdx: number;
7
+ numLines: number;
8
+ valid: boolean;
9
+ }
10
+ /**
11
+ * Create a render window from the given parameters.
12
+ *
13
+ * @remarks
14
+ * The render window is a rectangle that defines the area of the text that
15
+ * should be rendered. It is used to skip rendering parts of the text that
16
+ * are outside of the render window. The render window is relative to the
17
+ * text's top left corner of the overrall text.
18
+ *
19
+ * @param x The x coordinate of the text element's top left corner relative to the screen.
20
+ * @param y The y coordinate of the text element's top left corner relative to the screen.
21
+ * @param scrollY The amount of pixels to scroll the text vertically.
22
+ * @param lineHeight The number of extra lines to render above and below the visible window.
23
+ * @param visibleWindow The visible window of the text element relative to the screen
24
+ * @returns
25
+ */
26
+ export declare function setRenderWindow(outRenderWindow: SdfRenderWindow, x: TrProps['x'], y: TrProps['y'], scrollY: TrProps['scrollY'], lineHeight: number, bufferMargin: number, visibleWindow: Bound, fontSizeRatio: number): void;
@@ -0,0 +1,70 @@
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 { isBoundPositive } from '../../../../lib/utils.js';
20
+ import { roundDownToMultiple, roundUpToMultiple } from './util.js';
21
+ /**
22
+ * Create a render window from the given parameters.
23
+ *
24
+ * @remarks
25
+ * The render window is a rectangle that defines the area of the text that
26
+ * should be rendered. It is used to skip rendering parts of the text that
27
+ * are outside of the render window. The render window is relative to the
28
+ * text's top left corner of the overrall text.
29
+ *
30
+ * @param x The x coordinate of the text element's top left corner relative to the screen.
31
+ * @param y The y coordinate of the text element's top left corner relative to the screen.
32
+ * @param scrollY The amount of pixels to scroll the text vertically.
33
+ * @param lineHeight The number of extra lines to render above and below the visible window.
34
+ * @param visibleWindow The visible window of the text element relative to the screen
35
+ * @returns
36
+ */
37
+ export function setRenderWindow(outRenderWindow, x, y, scrollY, lineHeight, bufferMargin, visibleWindow, fontSizeRatio) {
38
+ const { screen, sdf } = outRenderWindow;
39
+ if (!isBoundPositive(visibleWindow)) {
40
+ screen.x1 = 0;
41
+ screen.y1 = 0;
42
+ screen.x2 = 0;
43
+ screen.y2 = 0;
44
+ sdf.x1 = 0;
45
+ sdf.y1 = 0;
46
+ sdf.x2 = 0;
47
+ sdf.y2 = 0;
48
+ outRenderWindow.numLines = 0;
49
+ outRenderWindow.firstLineIdx = 0;
50
+ }
51
+ else {
52
+ const x1 = visibleWindow.x1 - x;
53
+ const x2 = x1 + (visibleWindow.x2 - visibleWindow.x1);
54
+ const y1Base = visibleWindow.y1 - y + scrollY;
55
+ const y1 = roundDownToMultiple(y1Base - bufferMargin, lineHeight || 1);
56
+ const y2 = roundUpToMultiple(y1Base + (visibleWindow.y2 - visibleWindow.y1) + bufferMargin, lineHeight || 1);
57
+ screen.x1 = x1;
58
+ screen.y1 = y1;
59
+ screen.x2 = x2;
60
+ screen.y2 = y2;
61
+ sdf.x1 = x1 / fontSizeRatio;
62
+ sdf.y1 = y1 / fontSizeRatio;
63
+ sdf.x2 = x2 / fontSizeRatio;
64
+ sdf.y2 = y2 / fontSizeRatio;
65
+ outRenderWindow.numLines = Math.ceil((y2 - y1) / lineHeight);
66
+ outRenderWindow.firstLineIdx = lineHeight ? Math.floor(y1 / lineHeight) : 0;
67
+ }
68
+ outRenderWindow.valid = true;
69
+ }
70
+ //# sourceMappingURL=setRenderWindow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setRenderWindow.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAUnE;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,eAAe,CAC7B,eAAgC,EAChC,CAAe,EACf,CAAe,EACf,OAA2B,EAC3B,UAAkB,EAClB,YAAoB,EACpB,aAAoB,EACpB,aAAqB;IAErB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAE,GAAG,eAAe,CAAC;IACxC,IAAI,CAAC,eAAe,CAAC,aAAa,CAAC,EAAE;QACnC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACd,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QACd,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACX,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QACX,eAAe,CAAC,QAAQ,GAAG,CAAC,CAAC;QAC7B,eAAe,CAAC,YAAY,GAAG,CAAC,CAAC;KAClC;SAAM;QACL,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;QAChC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,CAAC;QACtD,MAAM,MAAM,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC;QAC9C,MAAM,EAAE,GAAG,mBAAmB,CAAC,MAAM,GAAG,YAAY,EAAE,UAAU,IAAI,CAAC,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,iBAAiB,CAC1B,MAAM,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,YAAY,EAC7D,UAAU,IAAI,CAAC,CAChB,CAAC;QAEF,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5B,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5B,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAC5B,GAAG,CAAC,EAAE,GAAG,EAAE,GAAG,aAAa,CAAC;QAE5B,eAAe,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC;QAC7D,eAAe,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;KAC7E;IACD,eAAe,CAAC,KAAK,GAAG,IAAI,CAAC;AAC/B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Round up to the nearest multiple of the given number.
3
+ *
4
+ * @param value
5
+ * @param multiple
6
+ * @returns
7
+ */
8
+ export declare function roundUpToMultiple(value: number, multiple: number): number;
9
+ /**
10
+ * Round down to the nearest multiple of the given number.
11
+ *
12
+ * @param value
13
+ * @param multiple
14
+ * @returns
15
+ */
16
+ export declare function roundDownToMultiple(value: number, multiple: number): number;
@@ -0,0 +1,39 @@
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
+ /**
20
+ * Round up to the nearest multiple of the given number.
21
+ *
22
+ * @param value
23
+ * @param multiple
24
+ * @returns
25
+ */
26
+ export function roundUpToMultiple(value, multiple) {
27
+ return Math.ceil(value / multiple) * multiple;
28
+ }
29
+ /**
30
+ * Round down to the nearest multiple of the given number.
31
+ *
32
+ * @param value
33
+ * @param multiple
34
+ * @returns
35
+ */
36
+ export function roundDownToMultiple(value, multiple) {
37
+ return Math.floor(value / multiple) * multiple;
38
+ }
39
+ //# sourceMappingURL=util.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH;;;;;;GAMG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAa,EAAE,QAAgB;IAC/D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,KAAa,EAAE,QAAgB;IACjE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,GAAG,QAAQ,CAAC;AACjD,CAAC"}
@@ -1,8 +1,9 @@
1
1
  import type { EventEmitter } from '../../../common/EventEmitter.js';
2
2
  import type { Stage } from '../../Stage.js';
3
3
  import type { Matrix3d } from '../../lib/Matrix3d.js';
4
- import type { Rect } from '../../lib/utils.js';
4
+ import type { RectWithValid } from '../../lib/utils.js';
5
5
  import type { TrFontFace, TrFontFaceDescriptors } from '../font-face-types/TrFontFace.js';
6
+ import type { TextBaseline, TextVerticalAlign } from './LightningTextTextureRenderer.js';
6
7
  /**
7
8
  * Augmentable map of text renderer type IDs to text renderer types.
8
9
  *
@@ -215,6 +216,55 @@ export interface TrProps extends TrFontProps {
215
216
  * @default 0
216
217
  */
217
218
  letterSpacing: number;
219
+ /**
220
+ * Line height for text (in pixels)
221
+ *
222
+ * @remarks
223
+ * This property sets the height of each line.
224
+ *
225
+ * @default 0
226
+ */
227
+ lineHeight: number;
228
+ /**
229
+ * Max lines for text
230
+ *
231
+ * @remarks
232
+ * This property sets max number of lines of a text paragraph.
233
+ * Not yet implemented in the SDF renderer.
234
+ *
235
+ * @default 0
236
+ */
237
+ maxLines: number;
238
+ /**
239
+ * Baseline for text
240
+ *
241
+ * @remarks
242
+ * This property sets the text baseline used when drawing text.
243
+ * Not yet implemented in the SDF renderer.
244
+ *
245
+ * @default alphabetic
246
+ */
247
+ textBaseline: TextBaseline;
248
+ /**
249
+ * Vertical Align for text when lineHeight > fontSize
250
+ *
251
+ * @remarks
252
+ * This property sets the vertical align of the text.
253
+ * Not yet implemented in the SDF renderer.
254
+ *
255
+ * @default middle
256
+ */
257
+ verticalAlign: TextVerticalAlign;
258
+ /**
259
+ * Overflow Suffix for text
260
+ *
261
+ * @remarks
262
+ * The suffix to be added when text is cropped due to overflow.
263
+ * Not yet implemented in the SDF renderer.
264
+ *
265
+ * @default "..."
266
+ */
267
+ overflowSuffix: string;
218
268
  zIndex: number;
219
269
  debug: Partial<TextRendererDebugProps>;
220
270
  }
@@ -281,5 +331,5 @@ export declare abstract class TextRenderer<StateT extends TextRendererState = Te
281
331
  */
282
332
  scheduleUpdateState(state: StateT): void;
283
333
  abstract updateState(state: StateT): void;
284
- abstract renderQuads(state: StateT, transform: Matrix3d, clippingRect: Rect | null, alpha: number): void;
334
+ abstract renderQuads(state: StateT, transform: Matrix3d, clippingRect: RectWithValid, alpha: number): void;
285
335
  }
@@ -71,6 +71,21 @@ const trPropSetterDefaults = {
71
71
  letterSpacing: (state, value) => {
72
72
  state.props.letterSpacing = value;
73
73
  },
74
+ lineHeight: (state, value) => {
75
+ state.props.lineHeight = value;
76
+ },
77
+ maxLines: (state, value) => {
78
+ state.props.maxLines = value;
79
+ },
80
+ textBaseline: (state, value) => {
81
+ state.props.textBaseline = value;
82
+ },
83
+ verticalAlign: (state, value) => {
84
+ state.props.verticalAlign = value;
85
+ },
86
+ overflowSuffix: (state, value) => {
87
+ state.props.overflowSuffix = value;
88
+ },
74
89
  debug: (state, value) => {
75
90
  state.props.debug = value;
76
91
  },
@@ -92,6 +107,10 @@ export class TextRenderer {
92
107
  (state, value) => {
93
108
  if (state.props[key] !== value) {
94
109
  setter(state, value);
110
+ // Assume any prop change will require a render
111
+ // This is required because otherwise a paused RAF will result
112
+ // in renders when text props are changed.
113
+ this.stage.requestRender();
95
114
  }
96
115
  },
97
116
  ];
@@ -1 +1 @@
1
- {"version":3,"file":"TextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/TextRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/TextRenderer.ts"],"names":[],"mappings":"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"}
@@ -50,15 +50,20 @@ export class ImageTexture extends Texture {
50
50
  premultiplyAlpha,
51
51
  };
52
52
  }
53
- const response = await fetch(src);
54
- const blob = await response.blob();
55
- return {
56
- data: await createImageBitmap(blob, {
57
- premultiplyAlpha: premultiplyAlpha ? 'premultiply' : 'none',
58
- colorSpaceConversion: 'none',
59
- imageOrientation: 'none',
60
- }),
61
- };
53
+ if (this.txManager.imageWorkerManager.imageWorkersEnabled) {
54
+ return await this.txManager.imageWorkerManager.getImage(src, premultiplyAlpha);
55
+ }
56
+ else {
57
+ const response = await fetch(src);
58
+ const blob = await response.blob();
59
+ return {
60
+ data: await createImageBitmap(blob, {
61
+ premultiplyAlpha: premultiplyAlpha ? 'premultiply' : 'none',
62
+ colorSpaceConversion: 'none',
63
+ imageOrientation: 'none',
64
+ }),
65
+ };
66
+ }
62
67
  }
63
68
  static makeCacheKey(props) {
64
69
  const resolvedProps = ImageTexture.resolveDefaults(props);
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAC;AA8BzD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,KAAK,CAA8B;IAEnC,YAAY,SAA6B,EAAE,KAAwB;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;SACH;QACD,IAAI,GAAG,YAAY,SAAS,EAAE;YAC5B,OAAO;gBACL,IAAI,EAAE,GAAG;gBACT,gBAAgB;aACjB,CAAC;SACH;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL,IAAI,EAAE,MAAM,iBAAiB,CAAC,IAAI,EAAE;gBAClC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAC3D,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,MAAM;aACzB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,uDAAuD;QACvD,IAAI,aAAa,CAAC,GAAG,YAAY,SAAS,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,gBAAgB,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;SACjD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
1
+ {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAC;AA8BzD;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,KAAK,CAA8B;IAEnC,YAAY,SAA6B,EAAE,KAAwB;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAC7C,IAAI,CAAC,GAAG,EAAE;YACR,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;SACH;QACD,IAAI,GAAG,YAAY,SAAS,EAAE;YAC5B,OAAO;gBACL,IAAI,EAAE,GAAG;gBACT,gBAAgB;aACjB,CAAC;SACH;QAED,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,mBAAmB,EAAE;YACzD,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CACrD,GAAG,EACH,gBAAgB,CACjB,CAAC;SACH;aAAM;YACL,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO;gBACL,IAAI,EAAE,MAAM,iBAAiB,CAAC,IAAI,EAAE;oBAClC,gBAAgB,EAAE,gBAAgB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;oBAC3D,oBAAoB,EAAE,MAAM;oBAC5B,gBAAgB,EAAE,MAAM;iBACzB,CAAC;aACH,CAAC;SACH;IACH,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,uDAAuD;QACvD,IAAI,aAAa,CAAC,GAAG,YAAY,SAAS,EAAE;YAC1C,OAAO,KAAK,CAAC;SACd;QACD,OAAO,gBAAgB,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,gBAAgB,EAAE,CAAC;IAC/E,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI;SACjD,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
@@ -1,8 +1,3 @@
1
- /**
2
- * Core Utility Functions
3
- *
4
- * @module
5
- */
6
1
  export declare const EPSILON = 0.000001;
7
2
  export declare let ARRAY_TYPE: Float32ArrayConstructor | ArrayConstructor;
8
3
  export declare const RANDOM: () => number;
@@ -12,4 +7,4 @@ export declare const toRadian: (a: number) => number;
12
7
  export declare const equals: (a: number, b: number) => boolean;
13
8
  export declare const rand: (min: number, max: number) => number;
14
9
  export declare const isPowerOfTwo: (value: number) => boolean | 0;
15
- export declare const getTimingFunction: (str: string) => (time: number) => number | undefined;
10
+ export declare const getTimingFunction: ((str: string) => (time: number) => number | undefined) & import("memize").MemizeMemoizedFunction;
@@ -21,6 +21,7 @@
21
21
  *
22
22
  * @module
23
23
  */
24
+ import memo from 'memize';
24
25
  export const EPSILON = 0.000001;
25
26
  export let ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
26
27
  export const RANDOM = Math.random;
@@ -90,7 +91,7 @@ const getTimingBezier = (a, b, c, d) => {
90
91
  }
91
92
  };
92
93
  };
93
- export const getTimingFunction = (str) => {
94
+ export const getTimingFunction = memo((str) => {
94
95
  switch (str) {
95
96
  case 'linear':
96
97
  return function (time) {
@@ -171,7 +172,7 @@ export const getTimingFunction = (str) => {
171
172
  };
172
173
  }
173
174
  }
174
- };
175
+ });
175
176
  if (!Math.hypot)
176
177
  Math.hypot = (...args) => {
177
178
  let y = 0, i = args.length;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { FpsUpdatePayload } from '../common/CommonTypes.js';
1
2
  import type { INode, INodeWritableProps, ITextNode, ITextNodeWritableProps } from './INode.js';
2
3
  import type { RendererMain, RendererMainSettings } from './RendererMain.js';
3
4
  /**
@@ -17,5 +18,5 @@ export interface ICoreDriver {
17
18
  releaseTexture(textureDescId: number): void;
18
19
  onCreateNode(node: INode): void;
19
20
  onBeforeDestroyNode(node: INode): void;
20
- onFpsUpdate(fps: number): void;
21
+ onFpsUpdate(fpsData: FpsUpdatePayload): void;
21
22
  }
@@ -161,6 +161,31 @@ export interface RendererMainSettings {
161
161
  * @defaultValue `0` (disabled)
162
162
  */
163
163
  fpsUpdateInterval?: number;
164
+ /**
165
+ * Include context call (i.e. WebGL) information in FPS updates
166
+ *
167
+ * @remarks
168
+ * When enabled the number of calls to each context method over the
169
+ * `fpsUpdateInterval` will be included in the FPS update payload's
170
+ * `contextSpyData` property.
171
+ *
172
+ * Enabling the context spy has a serious impact on performance so only use it
173
+ * when you need to extract context call information.
174
+ *
175
+ * @defaultValue `false` (disabled)
176
+ */
177
+ enableContextSpy?: boolean;
178
+ /**
179
+ * Number or Image Workers to use
180
+ *
181
+ * @remarks
182
+ * On devices with multiple cores, this can be used to improve image loading
183
+ * as well as reduce the impact of image loading on the main thread.
184
+ * Set to 0 to disable image workers.
185
+ *
186
+ * @defaultValue `2`
187
+ */
188
+ numImageWorkers?: number;
164
189
  }
165
190
  /**
166
191
  * The Renderer Main API
@@ -76,6 +76,8 @@ export class RendererMain extends EventEmitter {
76
76
  experimental_FinalizationRegistryTextureUsageTracker: settings.experimental_FinalizationRegistryTextureUsageTracker ?? false,
77
77
  textureCleanupOptions: settings.textureCleanupOptions || {},
78
78
  fpsUpdateInterval: settings.fpsUpdateInterval || 0,
79
+ numImageWorkers: settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
80
+ enableContextSpy: settings.enableContextSpy ?? false,
79
81
  };
80
82
  this.settings = resolvedSettings;
81
83
  const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, } = resolvedSettings;
@@ -113,8 +115,8 @@ export class RendererMain extends EventEmitter {
113
115
  driver.onBeforeDestroyNode = (node) => {
114
116
  this.nodes.delete(node.id);
115
117
  };
116
- driver.onFpsUpdate = (fps) => {
117
- this.emit('fpsUpdate', fps);
118
+ driver.onFpsUpdate = (fpsData) => {
119
+ this.emit('fpsUpdate', fpsData);
118
120
  };
119
121
  targetEl.appendChild(canvas);
120
122
  }
@@ -163,11 +165,12 @@ export class RendererMain extends EventEmitter {
163
165
  * @returns
164
166
  */
165
167
  createTextNode(props) {
166
- return this.driver.createTextNode({
168
+ const fontSize = props.fontSize ?? 16;
169
+ const data = {
167
170
  ...this.resolveNodeDefaults(props),
168
171
  text: props.text ?? '',
169
172
  textRendererOverride: props.textRendererOverride ?? null,
170
- fontSize: props.fontSize ?? 16,
173
+ fontSize,
171
174
  fontFamily: props.fontFamily ?? 'sans-serif',
172
175
  fontStyle: props.fontStyle ?? 'normal',
173
176
  fontWeight: props.fontWeight ?? 'normal',
@@ -178,8 +181,14 @@ export class RendererMain extends EventEmitter {
178
181
  scrollY: props.scrollY ?? 0,
179
182
  offsetY: props.offsetY ?? 0,
180
183
  letterSpacing: props.letterSpacing ?? 0,
184
+ lineHeight: props.lineHeight ?? fontSize,
185
+ maxLines: props.maxLines ?? 0,
186
+ textBaseline: props.textBaseline ?? 'alphabetic',
187
+ verticalAlign: props.verticalAlign ?? 'top',
188
+ overflowSuffix: props.overflowSuffix ?? '...',
181
189
  debug: props.debug ?? {},
182
- });
190
+ };
191
+ return this.driver.createTextNode(data);
183
192
  }
184
193
  /**
185
194
  * Resolves the default property values for a Node
@@ -1 +1 @@
1
- {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import type { ICoreDriver } from '../../main-api/ICoreDriver.js';
2
2
  import type { INode, INodeWritableProps, ITextNodeWritableProps } from '../../main-api/INode.js';
3
3
  import type { RendererMain, RendererMainSettings } from '../../main-api/RendererMain.js';
4
4
  import { MainOnlyTextNode } from './MainOnlyTextNode.js';
5
+ import type { FpsUpdatePayload } from '../../common/CommonTypes.js';
5
6
  export declare class MainCoreDriver implements ICoreDriver {
6
7
  private root;
7
8
  private stage;
@@ -14,5 +15,5 @@ export declare class MainCoreDriver implements ICoreDriver {
14
15
  getRootNode(): INode;
15
16
  onCreateNode(node: INode): void;
16
17
  onBeforeDestroyNode(node: INode): void;
17
- onFpsUpdate(fps: number): void;
18
+ onFpsUpdate(fpsData: FpsUpdatePayload): void;
18
19
  }
@@ -35,6 +35,8 @@ export class MainCoreDriver {
35
35
  clearColor: rendererSettings.clearColor,
36
36
  canvas,
37
37
  fpsUpdateInterval: rendererSettings.fpsUpdateInterval,
38
+ enableContextSpy: rendererSettings.enableContextSpy,
39
+ numImageWorkers: rendererSettings.numImageWorkers,
38
40
  debug: {
39
41
  monitorTextureCache: false,
40
42
  },
@@ -50,9 +52,9 @@ export class MainCoreDriver {
50
52
  await loadCoreExtension(rendererSettings.coreExtensionModule, this.stage);
51
53
  }
52
54
  // Forward fpsUpdate events from the stage to RendererMain
53
- this.stage.on('fpsUpdate', (stage, fps) => {
54
- this.onFpsUpdate(fps);
55
- });
55
+ this.stage.on('fpsUpdate', ((stage, fpsData) => {
56
+ this.onFpsUpdate(fpsData);
57
+ }));
56
58
  }
57
59
  createNode(props) {
58
60
  assertTruthy(this.rendererMain);
@@ -91,7 +93,7 @@ export class MainCoreDriver {
91
93
  onBeforeDestroyNode(node) {
92
94
  throw new Error('Method not implemented.');
93
95
  }
94
- onFpsUpdate(fps) {
96
+ onFpsUpdate(fpsData) {
95
97
  throw new Error('Method not implemented.');
96
98
  }
97
99
  }