@lightningjs/renderer 3.0.0-beta16 → 3.0.0-beta17

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 (247) hide show
  1. package/dist/src/common/CommonTypes.d.ts +11 -0
  2. package/dist/src/core/CoreNode.js +8 -0
  3. package/dist/src/core/CoreNode.js.map +1 -1
  4. package/dist/src/core/CoreTextNode.d.ts +13 -0
  5. package/dist/src/core/CoreTextNode.js +68 -17
  6. package/dist/src/core/CoreTextNode.js.map +1 -1
  7. package/dist/src/core/Stage.js +2 -1
  8. package/dist/src/core/Stage.js.map +1 -1
  9. package/dist/src/core/animations/Animation.d.ts +16 -0
  10. package/dist/src/core/animations/Animation.js +111 -0
  11. package/dist/src/core/animations/Animation.js.map +1 -0
  12. package/dist/src/core/animations/CoreTransition.d.ts +24 -0
  13. package/dist/src/core/animations/CoreTransition.js +63 -0
  14. package/dist/src/core/animations/CoreTransition.js.map +1 -0
  15. package/dist/src/core/animations/Playback.d.ts +62 -0
  16. package/dist/src/core/animations/Playback.js +155 -0
  17. package/dist/src/core/animations/Playback.js.map +1 -0
  18. package/dist/src/core/animations/Transition.d.ts +25 -0
  19. package/dist/src/core/animations/Transition.js +63 -0
  20. package/dist/src/core/animations/Transition.js.map +1 -0
  21. package/dist/src/core/animations/utils.d.ts +2 -0
  22. package/dist/src/core/animations/utils.js +137 -0
  23. package/dist/src/core/animations/utils.js.map +1 -0
  24. package/dist/src/core/lib/collectionUtils.d.ts +5 -0
  25. package/dist/src/core/lib/collectionUtils.js +100 -0
  26. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  27. package/dist/src/core/platforms/Platform.d.ts +5 -0
  28. package/dist/src/core/platforms/Platform.js.map +1 -1
  29. package/dist/src/core/platforms/web/WebPlatform.d.ts +1 -0
  30. package/dist/src/core/platforms/web/WebPlatform.js +3 -0
  31. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  32. package/dist/src/core/text-rendering/CanvasFontHandler.js +1 -1
  33. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
  34. package/dist/src/core/text-rendering/CanvasTextRenderer.js +3 -3
  35. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
  36. package/dist/src/core/text-rendering/SdfTextRenderer.js +3 -3
  37. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
  38. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +12 -13
  39. package/dist/src/core/text-rendering/TextLayoutEngine.js +239 -181
  40. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -1
  41. package/dist/src/core/text-rendering/TextRenderer.d.ts +22 -7
  42. package/dist/src/core/utils.d.ts +1 -1
  43. package/dist/src/main-api/Renderer.js +3 -2
  44. package/dist/src/main-api/Renderer.js.map +1 -1
  45. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  46. package/package.json +1 -1
  47. package/src/common/CommonTypes.ts +16 -0
  48. package/src/core/CoreNode.test.ts +50 -1
  49. package/src/core/CoreNode.ts +11 -0
  50. package/src/core/CoreTextNode.ts +78 -17
  51. package/src/core/Stage.ts +2 -1
  52. package/src/core/platforms/Platform.ts +6 -0
  53. package/src/core/platforms/web/WebPlatform.ts +11 -0
  54. package/src/core/text-rendering/CanvasFontHandler.ts +1 -7
  55. package/src/core/text-rendering/CanvasTextRenderer.ts +2 -4
  56. package/src/core/text-rendering/SdfTextRenderer.ts +2 -3
  57. package/src/core/text-rendering/TextLayoutEngine.ts +393 -223
  58. package/src/core/text-rendering/TextRenderer.ts +22 -7
  59. package/src/core/text-rendering/tests/{SdfTests.test.ts → TextLayoutEngine.test.ts} +103 -64
  60. package/src/main-api/Renderer.ts +3 -2
  61. package/dist/src/core/TextureError.d.ts +0 -11
  62. package/dist/src/core/TextureError.js +0 -37
  63. package/dist/src/core/TextureError.js.map +0 -1
  64. package/dist/src/core/platform.d.ts +0 -10
  65. package/dist/src/core/platform.js +0 -81
  66. package/dist/src/core/platform.js.map +0 -1
  67. package/dist/src/core/renderers/CoreShader.d.ts +0 -9
  68. package/dist/src/core/renderers/CoreShader.js +0 -28
  69. package/dist/src/core/renderers/CoreShader.js.map +0 -1
  70. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +0 -33
  71. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +0 -250
  72. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +0 -1
  73. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -17
  74. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +0 -125
  75. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +0 -1
  76. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -14
  77. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -138
  78. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
  79. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -19
  80. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -58
  81. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
  82. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +0 -10
  83. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +0 -43
  84. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +0 -1
  85. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +0 -12
  86. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +0 -58
  87. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +0 -1
  88. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +0 -9
  89. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +0 -38
  90. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +0 -1
  91. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -69
  92. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +0 -272
  93. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +0 -1
  94. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +0 -34
  95. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +0 -114
  96. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +0 -1
  97. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -133
  98. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +0 -641
  99. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +0 -1
  100. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +0 -78
  101. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +0 -202
  102. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +0 -1
  103. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +0 -9
  104. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +0 -84
  105. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +0 -1
  106. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +0 -10
  107. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +0 -108
  108. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +0 -1
  109. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +0 -29
  110. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +0 -408
  111. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +0 -1
  112. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +0 -28
  113. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +0 -126
  114. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +0 -1
  115. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +0 -47
  116. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +0 -148
  117. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +0 -1
  118. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +0 -31
  119. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +0 -71
  120. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +0 -1
  121. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +0 -30
  122. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +0 -58
  123. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +0 -1
  124. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +0 -31
  125. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +0 -71
  126. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +0 -1
  127. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +0 -31
  128. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +0 -71
  129. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +0 -1
  130. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +0 -31
  131. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +0 -71
  132. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +0 -1
  133. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +0 -9
  134. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +0 -136
  135. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +0 -1
  136. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +0 -36
  137. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +0 -85
  138. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +0 -1
  139. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +0 -45
  140. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +0 -104
  141. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +0 -1
  142. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +0 -22
  143. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +0 -45
  144. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +0 -1
  145. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +0 -58
  146. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +0 -80
  147. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +0 -1
  148. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +0 -35
  149. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +0 -134
  150. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +0 -1
  151. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +0 -40
  152. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +0 -143
  153. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +0 -1
  154. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +0 -61
  155. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +0 -127
  156. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +0 -1
  157. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +0 -40
  158. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +0 -71
  159. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +0 -1
  160. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +0 -115
  161. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +0 -61
  162. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +0 -1
  163. package/dist/src/core/text-rendering/CanvasFont.d.ts +0 -14
  164. package/dist/src/core/text-rendering/CanvasFont.js +0 -111
  165. package/dist/src/core/text-rendering/CanvasFont.js.map +0 -1
  166. package/dist/src/core/text-rendering/CoreFont.d.ts +0 -33
  167. package/dist/src/core/text-rendering/CoreFont.js +0 -48
  168. package/dist/src/core/text-rendering/CoreFont.js.map +0 -1
  169. package/dist/src/core/text-rendering/FontManager.d.ts +0 -11
  170. package/dist/src/core/text-rendering/FontManager.js +0 -42
  171. package/dist/src/core/text-rendering/FontManager.js.map +0 -1
  172. package/dist/src/core/text-rendering/SdfFont.d.ts +0 -29
  173. package/dist/src/core/text-rendering/SdfFont.js +0 -142
  174. package/dist/src/core/text-rendering/SdfFont.js.map +0 -1
  175. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +0 -12
  176. package/dist/src/core/text-rendering/TextRenderingUtils.js +0 -14
  177. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +0 -1
  178. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +0 -72
  179. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +0 -217
  180. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +0 -1
  181. package/dist/src/core/text-rendering/TrFontManager.d.ts +0 -26
  182. package/dist/src/core/text-rendering/TrFontManager.js +0 -131
  183. package/dist/src/core/text-rendering/TrFontManager.js.map +0 -1
  184. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +0 -39
  185. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +0 -125
  186. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +0 -1
  187. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +0 -103
  188. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +0 -21
  189. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +0 -1
  190. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +0 -62
  191. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +0 -88
  192. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +0 -1
  193. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -118
  194. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -63
  195. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +0 -1
  196. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +0 -14
  197. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -66
  198. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +0 -1
  199. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +0 -1
  200. package/dist/src/core/text-rendering/font-face-types/utils.js +0 -38
  201. package/dist/src/core/text-rendering/font-face-types/utils.js.map +0 -1
  202. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +0 -59
  203. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -397
  204. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +0 -1
  205. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -120
  206. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -551
  207. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +0 -1
  208. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +0 -92
  209. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -607
  210. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +0 -1
  211. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +0 -12
  212. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +0 -61
  213. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +0 -1
  214. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +0 -33
  215. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +0 -52
  216. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +0 -1
  217. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +0 -13
  218. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +0 -32
  219. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +0 -1
  220. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +0 -23
  221. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +0 -84
  222. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +0 -1
  223. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +0 -4
  224. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +0 -34
  225. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +0 -1
  226. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +0 -20
  227. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -308
  228. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +0 -1
  229. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +0 -10
  230. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +0 -40
  231. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +0 -1
  232. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +0 -26
  233. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +0 -70
  234. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +0 -1
  235. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +0 -16
  236. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +0 -39
  237. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +0 -1
  238. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +0 -373
  239. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
  240. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +0 -1
  241. package/dist/src/main-api/DynamicShaderController.d.ts +0 -29
  242. package/dist/src/main-api/DynamicShaderController.js +0 -58
  243. package/dist/src/main-api/DynamicShaderController.js.map +0 -1
  244. package/dist/src/main-api/ShaderController.d.ts +0 -31
  245. package/dist/src/main-api/ShaderController.js +0 -37
  246. package/dist/src/main-api/ShaderController.js.map +0 -1
  247. package/src/core/text-rendering/tests/Canvas.test.ts +0 -378
@@ -225,15 +225,29 @@ export interface TrProps extends TrFontProps {
225
225
  * @remarks
226
226
  * This property sets how words should break when reaching the end of a line.
227
227
  *
228
- * - `'normal'`: Use the default line break rule.
228
+ * - `'overflow'`: Uses the Css/HTML normal word-break behavior, generally not used in app development.
229
229
  * - `'break-all'`: To prevent overflow, word breaks should happen between any two characters.
230
230
  * - `'break-word'`: To prevent overflow, word breaks should happen between words. If words are too long word breaks happen between any two characters.
231
231
  *
232
- * @default "normal"
232
+ * @default "break-word"
233
233
  */
234
- wordBreak: 'normal' | 'break-all' | 'break-word';
234
+ wordBreak: 'overflow' | 'break-all' | 'break-word';
235
235
 
236
- zIndex: number;
236
+ /**
237
+ * contain mode for text
238
+ *
239
+ * @remarks
240
+ *
241
+ * This property sets how the text should be contained within its bounding box.
242
+ *
243
+ * - 'width': The text is contained within the specified maxWidth, horizontal position of text will adjust according to {@link textAlign}.
244
+ * - 'height': The text is contained within the specified maxHeight, vertical position of text will adjust according to {@link verticalAlign}.
245
+ * - 'both': The text is contained within both the specified maxWidth and maxHeight.
246
+ * - 'none': The text is not contained within any bounding box.
247
+ *
248
+ * @default 'none'
249
+ */
250
+ contain: 'width' | 'height' | 'both' | 'none';
237
251
  }
238
252
 
239
253
  /**
@@ -395,10 +409,11 @@ export interface TextRenderer {
395
409
  * Text line struct for text mapping
396
410
  * 0 - text
397
411
  * 1 - width
398
- * 2 - line offset x
399
- * 3 - line offset y
412
+ * 2 - truncated
413
+ * 3 - line offset x
414
+ * 4 - line offset y
400
415
  */
401
- export type TextLineStruct = [string, number, number, number];
416
+ export type TextLineStruct = [string, number, boolean, number, number];
402
417
 
403
418
  /**
404
419
  * Wrapped lines struct for text mapping
@@ -21,8 +21,8 @@ import { describe, it, expect } from 'vitest';
21
21
  import {
22
22
  wrapText,
23
23
  wrapLine,
24
- truncateLineWithSuffix,
25
24
  breakWord,
25
+ truncateLineEnd,
26
26
  } from '../TextLayoutEngine.js';
27
27
 
28
28
  // Mock font data for testing
@@ -130,9 +130,9 @@ describe('SDF Text Utils', () => {
130
130
  0, // designLetterSpacing
131
131
  10, // spaceWidth
132
132
  '',
133
- 'normal',
134
- 0,
135
- false,
133
+ 0, //overflowWidth
134
+ 'break-word',
135
+ 10,
136
136
  );
137
137
 
138
138
  const [lines] = result;
@@ -146,15 +146,15 @@ describe('SDF Text Utils', () => {
146
146
  testMeasureText,
147
147
  'hello',
148
148
  'Arial',
149
- 100,
150
- 0,
149
+ 100, // maxWidth (10 characters at 10 units each)
150
+ 0, // designLetterSpacing
151
151
  10, // spaceWidth
152
152
  '',
153
- 'normal',
154
- 0,
155
- false,
153
+ 0, //overflowWidth
154
+ 'break-word',
155
+ 1,
156
156
  );
157
- expect(result[0][0]).toEqual(['hello', 50, 0, 0]); // 4-element format
157
+ expect(result[0][0]).toEqual(['hello', 50, false, 0, 0]); // 4-element format
158
158
  });
159
159
 
160
160
  it('should break long words', () => {
@@ -162,19 +162,19 @@ describe('SDF Text Utils', () => {
162
162
  testMeasureText,
163
163
  'verylongwordthatdoesnotfit',
164
164
  'Arial',
165
- 100, // Only 10 characters fit (each char = 10 units)
166
- 0,
165
+ 100, // maxWidth (10 characters at 10 units each)
166
+ 0, // designLetterSpacing
167
167
  10, // spaceWidth
168
168
  '',
169
- 'normal',
170
- 0,
171
- false,
169
+ 0, //overflowWidth
170
+ 'break-word',
171
+ 1,
172
172
  );
173
173
  const [lines] = result; // Extract the lines array
174
174
  // The implementation returns the full word when wordBreak is 'normal' (default behavior)
175
175
  // This is correct behavior - single words are not broken unless wordBreak is set to 'break-all'
176
176
  expect(lines.length).toBe(1);
177
- expect(lines[0]?.[0]).toBe('verylongwordthatdoesnotfit');
177
+ expect(lines[0]?.[0]).toBe('verylongwo');
178
178
  });
179
179
 
180
180
  it('should handle ZWSP as word break opportunity', () => {
@@ -183,13 +183,13 @@ describe('SDF Text Utils', () => {
183
183
  testMeasureText,
184
184
  'hello\u200Bworld test',
185
185
  'Arial',
186
- 100, // 10 characters max - 'helloworld' = 100 units (fits), ' test' = 50 units (exceeds)
187
- 0,
186
+ 100, // maxWidth (10 characters at 10 units each)
187
+ 0, // designLetterSpacing
188
188
  10, // spaceWidth
189
189
  '',
190
- 'normal',
191
- 0,
192
- false,
190
+ 0, //overflowWidth
191
+ 'break-word',
192
+ 2,
193
193
  );
194
194
 
195
195
  const [lines] = result1;
@@ -201,15 +201,15 @@ describe('SDF Text Utils', () => {
201
201
  testMeasureText,
202
202
  'hi\u200Bthere',
203
203
  'Arial',
204
- 200, // Wide enough for all text (7 characters = 70 units)
205
- 0,
204
+ 200, // maxWidth
205
+ 0, // designLetterSpacing
206
206
  10, // spaceWidth
207
207
  '',
208
- 'normal',
209
- 0,
210
- false,
208
+ 0, //overflowWidth
209
+ 'break-word',
210
+ 1,
211
211
  );
212
- expect(result2[0][0]).toEqual(['hithere', 70, 0, 0]); // ZWSP is invisible, no space added
212
+ expect(result2[0][0]).toEqual(['hithere', 70, false, 0, 0]); // ZWSP is invisible, no space added
213
213
 
214
214
  // Test 3: ZWSP should break when it's the only break opportunity
215
215
  const result3 = wrapLine(
@@ -220,12 +220,12 @@ describe('SDF Text Utils', () => {
220
220
  0,
221
221
  10, // spaceWidth
222
222
  '',
223
- 'normal',
224
- 0,
225
- false,
223
+ 0, //overflowWidth
224
+ 'break-word',
225
+ 2,
226
226
  );
227
227
  expect(result3.length).toBeGreaterThan(1); // Should break at ZWSP position
228
- expect(result3[0][0]).toEqual(['verylongword', 120, 0, 0]);
228
+ expect(result3[0][0]).toEqual(['verylongwo', 100, false, 0, 0]);
229
229
  });
230
230
 
231
231
  it('should truncate with suffix when max lines reached', () => {
@@ -237,9 +237,9 @@ describe('SDF Text Utils', () => {
237
237
  0,
238
238
  10, // spaceWidth
239
239
  '...',
240
- 'normal',
241
- 0, // remainingLines = 0 - this should trigger truncation when hasMaxLines is true
242
- true, // hasMaxLines = true - this enables truncation
240
+ 0, //overflowWidth
241
+ 'break-word',
242
+ 10, // remainingLines = 0 - this should trigger truncation when hasMaxLines is true
243
243
  );
244
244
  // With the current implementation, text wraps naturally across multiple lines
245
245
  // when remainingLines is 0 and hasMaxLines is true, but doesn't truncate in this case
@@ -262,7 +262,7 @@ describe('SDF Text Utils', () => {
262
262
  0,
263
263
  );
264
264
  expect(result[0].length).toBeGreaterThan(2);
265
- expect(result[0][0]).toStrictEqual(['line one', 80, 0, 0]);
265
+ expect(result[0][0]).toStrictEqual(['line one', 80, false, 0, 0]);
266
266
  });
267
267
 
268
268
  it('should handle empty lines', () => {
@@ -297,43 +297,52 @@ describe('SDF Text Utils', () => {
297
297
 
298
298
  describe('truncateLineWithSuffix', () => {
299
299
  it('should truncate line and add suffix', () => {
300
- const result = truncateLineWithSuffix(
300
+ const result = truncateLineEnd(
301
301
  testMeasureText,
302
- 'this is a very long line',
303
302
  'Arial',
304
- 100, // Max width for 10 characters
305
303
  0,
306
- '...',
304
+ 'this is a very long line', //current line
305
+ 240, // current line width
306
+ '',
307
+ 100, // Max width for 10 characters
308
+ '...', // Suffix
309
+ 30, // Suffix width
307
310
  );
308
- expect(result).toContain('...');
311
+ expect(result[0]).toContain('...');
309
312
  expect(result.length).toBeLessThanOrEqual(10);
310
313
  });
311
314
 
312
315
  it('should return suffix if suffix is too long', () => {
313
- const result = truncateLineWithSuffix(
316
+ const result = truncateLineEnd(
314
317
  testMeasureText,
315
- 'hello',
316
318
  'Arial',
317
- 30, // Only 3 characters fit
318
319
  0,
320
+ 'hello',
321
+ 50, // current line width
322
+ '',
323
+ 30, // Only 3 characters fit
319
324
  'verylongsuffix',
325
+ 140, // Suffix width
320
326
  );
321
- expect(result).toMatch(/verylongsuffi/); // Truncated suffix
327
+ expect(result[0]).toMatch(/verylongsuffi/); // Truncated suffix
322
328
  });
323
329
 
324
330
  it('should return original line with suffix (current behavior)', () => {
325
331
  // Note: The current implementation always adds the suffix, even if the line fits.
326
332
  // This is the expected behavior when used in overflow contexts where the suffix
327
333
  // indicates that content was truncated at the line limit.
328
- const result = truncateLineWithSuffix(
334
+ const result = truncateLineEnd(
329
335
  testMeasureText,
330
- 'short',
331
336
  'Arial',
332
- 100,
333
337
  0,
338
+ 'short',
339
+ 50, // 5 characters fit
340
+ '',
341
+ 40,
334
342
  '...',
343
+ 30,
335
344
  );
336
- expect(result).toBe('short...');
345
+ expect(result[0]).toBe('s...');
337
346
  });
338
347
  });
339
348
 
@@ -342,35 +351,64 @@ describe('SDF Text Utils', () => {
342
351
  const result = breakWord(
343
352
  testMeasureText,
344
353
  'verylongword',
354
+ 'verylongword'.length * 10,
345
355
  'Arial',
346
- 50, // 5 characters max per line
347
356
  0,
357
+ [],
358
+ '',
359
+ 0,
360
+ 1,
361
+ '',
362
+ 50, // 5 characters max per line
363
+ '',
348
364
  0,
365
+ '...',
366
+ 30,
349
367
  );
350
- expect(result[0].length).toBeGreaterThan(1);
351
- expect(result[0][0]?.[0]).toHaveLength(5);
368
+ expect(result.length).toBeGreaterThan(1);
369
+ expect(result[2]).toHaveLength(12);
352
370
  });
353
371
 
354
372
  it('should handle single character word', () => {
355
- const result = breakWord(testMeasureText, 'a', 'Arial', 50, 0, 0);
356
- expect(result[0][0]).toStrictEqual(['a', 10, 0, 0]);
373
+ const result = breakWord(
374
+ testMeasureText,
375
+ 'a',
376
+ 10,
377
+ 'Arial',
378
+ 0,
379
+ [],
380
+ '',
381
+ 0,
382
+ 1,
383
+ '',
384
+ 50, // 5 characters max per line
385
+ '',
386
+ 0,
387
+ '...',
388
+ 30,
389
+ );
390
+ expect(result).toStrictEqual(['', 0, 'a']);
357
391
  });
358
392
 
359
393
  it('should truncate with suffix when max lines reached', () => {
360
394
  const result = breakWord(
361
395
  testMeasureText,
362
396
  'verylongword',
397
+ 'verylongword'.length * 10,
363
398
  'Arial',
364
- 50,
365
399
  0,
366
- 1, // remainingLines = 1
400
+ [],
401
+ '',
402
+ 0,
403
+ 1,
404
+ '',
405
+ 50, // 5 characters max per line
406
+ '',
407
+ 0,
408
+ '...',
409
+ 30,
367
410
  );
368
- expect(result[0]).toHaveLength(1);
369
- });
370
-
371
- it('should handle empty word', () => {
372
- const result = breakWord(testMeasureText, '', 'Arial', 50, 0, 0);
373
- expect(result[0]).toEqual([]);
411
+ expect(result[0]).toHaveLength(0);
374
412
  });
375
413
  });
376
414
 
@@ -406,9 +444,10 @@ describe('SDF Text Utils', () => {
406
444
  'normal',
407
445
  0,
408
446
  );
409
- expect(result.length).toBeGreaterThan(2);
410
- expect(result[0][0]?.[0]).toBe('Short');
411
- expect(result[0][result.length - 1]?.[0]).toBe('short');
447
+ const [lines] = result;
448
+ expect(lines.length).toBeGreaterThan(2);
449
+ expect(lines[0]?.[0]).toBe('Short');
450
+ expect(lines[lines.length - 1]?.[0]).toBe('short');
412
451
  });
413
452
  });
414
453
  });
@@ -522,7 +522,7 @@ export class RendererMain extends EventEmitter {
522
522
  quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
523
523
  fontEngines: settings.fontEngines ?? [],
524
524
  textureProcessingTimeLimit: settings.textureProcessingTimeLimit || 42,
525
- canvas: settings.canvas || document.createElement('canvas'),
525
+ canvas: settings.canvas,
526
526
  createImageBitmapSupport: settings.createImageBitmapSupport || 'full',
527
527
  platform: settings.platform || null,
528
528
  };
@@ -533,7 +533,6 @@ export class RendererMain extends EventEmitter {
533
533
  deviceLogicalPixelRatio,
534
534
  devicePhysicalPixelRatio,
535
535
  inspector,
536
- canvas,
537
536
  } = settings as RendererMainSettings;
538
537
 
539
538
  let platform;
@@ -548,6 +547,8 @@ export class RendererMain extends EventEmitter {
548
547
  platform = new WebPlatform();
549
548
  }
550
549
 
550
+ const canvas = settings.canvas || platform.createCanvas();
551
+
551
552
  const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
552
553
  const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
553
554
 
@@ -1,11 +0,0 @@
1
- export declare enum TextureErrorCode {
2
- MEMORY_THRESHOLD_EXCEEDED = "MEMORY_THRESHOLD_EXCEEDED",
3
- TEXTURE_DATA_NULL = "TEXTURE_DATA_NULL",
4
- TEXTURE_TYPE_NOT_REGISTERED = "TEXTURE_TYPE_NOT_REGISTERED"
5
- }
6
- export declare class TextureError extends Error {
7
- code?: TextureErrorCode;
8
- constructor(message: string);
9
- constructor(code: TextureErrorCode, message?: string);
10
- }
11
- export declare function isTextureError(err: unknown): err is TextureError;
@@ -1,37 +0,0 @@
1
- export var TextureErrorCode;
2
- (function (TextureErrorCode) {
3
- TextureErrorCode["MEMORY_THRESHOLD_EXCEEDED"] = "MEMORY_THRESHOLD_EXCEEDED";
4
- TextureErrorCode["TEXTURE_DATA_NULL"] = "TEXTURE_DATA_NULL";
5
- TextureErrorCode["TEXTURE_TYPE_NOT_REGISTERED"] = "TEXTURE_TYPE_NOT_REGISTERED";
6
- })(TextureErrorCode || (TextureErrorCode = {}));
7
- const defaultMessages = {
8
- [TextureErrorCode.MEMORY_THRESHOLD_EXCEEDED]: 'Memory threshold exceeded',
9
- [TextureErrorCode.TEXTURE_DATA_NULL]: 'Texture data is null',
10
- [TextureErrorCode.TEXTURE_TYPE_NOT_REGISTERED]: 'Texture type is not registered',
11
- };
12
- export class TextureError extends Error {
13
- code;
14
- constructor(codeOrMessage, maybeMessage) {
15
- const isCode = Object.values(TextureErrorCode).includes(codeOrMessage);
16
- const code = isCode ? codeOrMessage : undefined;
17
- let message;
18
- if (isCode && code) {
19
- message = maybeMessage ?? defaultMessages[code];
20
- }
21
- else {
22
- message = String(codeOrMessage);
23
- }
24
- super(message);
25
- this.name = new.target.name;
26
- if (code)
27
- this.code = code;
28
- }
29
- }
30
- export function isTextureError(err) {
31
- return (err instanceof TextureError ||
32
- (typeof err === 'object' &&
33
- err !== null &&
34
- err.name === 'TextureError' &&
35
- typeof err.code === 'string'));
36
- }
37
- //# sourceMappingURL=TextureError.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextureError.js","sourceRoot":"","sources":["../../../src/core/TextureError.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,2EAAuD,CAAA;IACvD,2DAAuC,CAAA;IACvC,+EAA2D,CAAA;AAC7D,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,eAAe,GAAqC;IACxD,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,EAAE,2BAA2B;IACzE,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,EAAE,sBAAsB;IAC5D,CAAC,gBAAgB,CAAC,2BAA2B,CAAC,EAC5C,gCAAgC;CACnC,CAAC;AAEF,MAAM,OAAO,YAAa,SAAQ,KAAK;IACrC,IAAI,CAAoB;IAIxB,YAAY,aAAwC,EAAE,YAAqB;QACzE,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CACrD,aAAiC,CAClC,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,CAAC,CAAC,CAAE,aAAkC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,IAAI,OAAe,CAAC;QACpB,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;YACnB,OAAO,GAAG,YAAY,IAAI,eAAe,CAAC,IAAI,CAAC,CAAC;QAClD,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAClC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,IAAI,IAAI;YAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IAC7B,CAAC;CACF;AAED,MAAM,UAAU,cAAc,CAAC,GAAY;IACzC,OAAO,CACL,GAAG,YAAY,YAAY;QAC3B,CAAC,OAAO,GAAG,KAAK,QAAQ;YACtB,GAAG,KAAK,IAAI;YACX,GAA0B,CAAC,IAAI,KAAK,cAAc;YACnD,OAAQ,GAA0B,CAAC,IAAI,KAAK,QAAQ,CAAC,CACxD,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- import type { Stage } from './Stage.js';
2
- /**
3
- * Platform render loop initiator
4
- */
5
- export declare const startLoop: (stage: Stage) => void;
6
- /**
7
- * Return unix timestamp
8
- * @return {number}
9
- */
10
- export declare const getTimeStamp: () => number;
@@ -1,81 +0,0 @@
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
- * Platform render loop initiator
21
- */
22
- export const startLoop = (stage) => {
23
- let isIdle = false;
24
- let lastFrameTime = 0;
25
- const runLoop = (currentTime = 0) => {
26
- const targetFrameTime = stage.targetFrameTime;
27
- // Check if we should throttle this frame
28
- if (targetFrameTime > 0 && currentTime - lastFrameTime < targetFrameTime) {
29
- // Too early for next frame, schedule with setTimeout for precise timing
30
- const delay = targetFrameTime - (currentTime - lastFrameTime);
31
- setTimeout(() => requestAnimationFrame(runLoop), delay);
32
- return;
33
- }
34
- lastFrameTime = currentTime;
35
- stage.updateFrameTime();
36
- stage.updateAnimations();
37
- if (!stage.hasSceneUpdates()) {
38
- // We still need to calculate the fps else it looks like the app is frozen
39
- stage.calculateFps();
40
- if (targetFrameTime > 0) {
41
- // Use setTimeout for throttled idle frames
42
- setTimeout(() => requestAnimationFrame(runLoop), Math.max(targetFrameTime, 16.666666666666668));
43
- }
44
- else {
45
- // Use standard idle timeout when not throttling
46
- setTimeout(() => requestAnimationFrame(runLoop), 16.666666666666668);
47
- }
48
- if (!isIdle) {
49
- stage.eventBus.emit('idle');
50
- isIdle = true;
51
- }
52
- if (stage.txMemManager.checkCleanup() === true) {
53
- stage.txMemManager.cleanup();
54
- }
55
- stage.flushFrameEvents();
56
- return;
57
- }
58
- isIdle = false;
59
- stage.drawFrame();
60
- stage.flushFrameEvents();
61
- // Schedule next frame
62
- if (targetFrameTime > 0) {
63
- // Use setTimeout + rAF combination for precise FPS control
64
- const nextFrameDelay = Math.max(0, targetFrameTime - (performance.now() - currentTime));
65
- setTimeout(() => requestAnimationFrame(runLoop), nextFrameDelay);
66
- }
67
- else {
68
- // Use standard rAF when not throttling
69
- requestAnimationFrame(runLoop);
70
- }
71
- };
72
- requestAnimationFrame(runLoop);
73
- };
74
- /**
75
- * Return unix timestamp
76
- * @return {number}
77
- */
78
- export const getTimeStamp = () => {
79
- return performance ? performance.now() : Date.now();
80
- };
81
- //# sourceMappingURL=platform.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,CAAC,cAAsB,CAAC,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE9C,yCAAyC;QACzC,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,aAAa,GAAG,eAAe,EAAE,CAAC;YACzE,wEAAwE;YACxE,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,aAAa,GAAG,WAAW,CAAC;QAE5B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7B,0EAA0E;YAC1E,KAAK,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,UAAU,CACR,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAC9C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;YAED,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,GAAG,KAAK,CAAC;QACf,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,sBAAsB;QACtB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,eAAe,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CACpD,CAAC;YACF,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { CoreRenderOp } from './CoreRenderOp.js';
2
- export declare abstract class CoreShader {
3
- static makeCacheKey(props: Record<string, unknown>): string | false;
4
- static resolveDefaults(props: Record<string, unknown>): Record<string, unknown>;
5
- abstract bindRenderOp(renderOp: CoreRenderOp, props: Record<string, unknown> | null): void;
6
- protected abstract bindProps(props: Record<string, unknown>): void;
7
- abstract attach(): void;
8
- abstract detach(): void;
9
- }
@@ -1,28 +0,0 @@
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
- export class CoreShader {
20
- // abstract draw(): void;
21
- static makeCacheKey(props) {
22
- return false;
23
- }
24
- static resolveDefaults(props) {
25
- return {};
26
- }
27
- }
28
- //# sourceMappingURL=CoreShader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CoreShader.js","sourceRoot":"","sources":["../../../../src/core/renderers/CoreShader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,MAAM,OAAgB,UAAU;IAC9B,yBAAyB;IACzB,MAAM,CAAC,YAAY,CAAC,KAA8B;QAChD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAC,eAAe,CACpB,KAA8B;QAE9B,OAAO,EAAE,CAAC;IACZ,CAAC;CASF"}
@@ -1,33 +0,0 @@
1
- import type { BaseShaderController } from '../../../main-api/ShaderController.js';
2
- import type { CoreNode } from '../../CoreNode.js';
3
- import type { CoreShaderManager } from '../../CoreShaderManager.js';
4
- import { type Texture } from '../../textures/Texture.js';
5
- import type { CoreContextTexture } from '../CoreContextTexture.js';
6
- import { CoreRenderer, type CoreRendererOptions, type QuadOptions } from '../CoreRenderer.js';
7
- export declare class CanvasCoreRenderer extends CoreRenderer {
8
- private context;
9
- private canvas;
10
- private pixelRatio;
11
- private clearColor;
12
- renderToTextureActive: boolean;
13
- activeRttNode: CoreNode | null;
14
- private defShaderCtr;
15
- constructor(options: CoreRendererOptions);
16
- reset(): void;
17
- render(): void;
18
- addQuad(quad: QuadOptions): void;
19
- createCtxTexture(textureSource: Texture): CoreContextTexture;
20
- getShaderManager(): CoreShaderManager;
21
- getDefShaderCtr(): BaseShaderController;
22
- renderRTTNodes(): void;
23
- removeRTTNode(node: CoreNode): void;
24
- renderToTexture(node: CoreNode): void;
25
- getBufferInfo(): null;
26
- getQuadCount(): null;
27
- /**
28
- * Updates the clear color of the canvas renderer.
29
- *
30
- * @param color - The color to set as the clear color.
31
- */
32
- updateClearColor(color: number): void;
33
- }