@lightningjs/renderer 3.0.0-beta9 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (566) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +230 -147
  4. package/dist/exports/canvas.d.ts +1 -1
  5. package/dist/exports/canvas.js +1 -1
  6. package/dist/exports/canvas.js.map +1 -1
  7. package/dist/exports/index.d.ts +5 -6
  8. package/dist/exports/index.js +3 -5
  9. package/dist/exports/index.js.map +1 -1
  10. package/dist/exports/platform.d.ts +7 -0
  11. package/dist/exports/platform.js +27 -0
  12. package/dist/exports/platform.js.map +1 -0
  13. package/dist/exports/webgl.d.ts +2 -1
  14. package/dist/exports/webgl.js +2 -1
  15. package/dist/exports/webgl.js.map +1 -1
  16. package/dist/src/common/CommonTypes.d.ts +15 -3
  17. package/dist/src/core/AutosizeManager.d.ts +29 -0
  18. package/dist/src/core/AutosizeManager.js +169 -0
  19. package/dist/src/core/AutosizeManager.js.map +1 -0
  20. package/dist/src/core/Autosizer.d.ts +35 -0
  21. package/dist/src/core/Autosizer.js +196 -0
  22. package/dist/src/core/Autosizer.js.map +1 -0
  23. package/dist/src/core/CoreNode.d.ts +106 -58
  24. package/dist/src/core/CoreNode.js +524 -282
  25. package/dist/src/core/CoreNode.js.map +1 -1
  26. package/dist/src/core/CoreTextNode.d.ts +73 -88
  27. package/dist/src/core/CoreTextNode.js +375 -236
  28. package/dist/src/core/CoreTextNode.js.map +1 -1
  29. package/dist/src/core/CoreTextureManager.d.ts +19 -17
  30. package/dist/src/core/CoreTextureManager.js +52 -120
  31. package/dist/src/core/CoreTextureManager.js.map +1 -1
  32. package/dist/src/core/Stage.d.ts +63 -9
  33. package/dist/src/core/Stage.js +233 -133
  34. package/dist/src/core/Stage.js.map +1 -1
  35. package/dist/src/core/TextureError.d.ts +11 -0
  36. package/dist/src/core/TextureError.js +37 -0
  37. package/dist/src/core/TextureError.js.map +1 -0
  38. package/dist/src/core/TextureMemoryManager.d.ts +2 -4
  39. package/dist/src/core/TextureMemoryManager.js +80 -113
  40. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  41. package/dist/src/core/animations/Animation.d.ts +21 -0
  42. package/dist/src/core/animations/Animation.js +194 -0
  43. package/dist/src/core/animations/Animation.js.map +1 -0
  44. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  45. package/dist/src/core/animations/CoreAnimation.js +3 -3
  46. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  47. package/dist/src/core/animations/CoreAnimationController.d.ts +1 -1
  48. package/dist/src/core/animations/CoreAnimationController.js +4 -2
  49. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  50. package/dist/src/core/animations/Playback.d.ts +64 -0
  51. package/dist/src/core/animations/Playback.js +169 -0
  52. package/dist/src/core/animations/Playback.js.map +1 -0
  53. package/dist/src/core/animations/Transition.d.ts +27 -0
  54. package/dist/src/core/animations/Transition.js +52 -0
  55. package/dist/src/core/animations/Transition.js.map +1 -0
  56. package/dist/src/core/animations/utils.d.ts +2 -0
  57. package/dist/src/core/animations/utils.js +136 -0
  58. package/dist/src/core/animations/utils.js.map +1 -0
  59. package/dist/src/core/lib/ImageWorker.d.ts +2 -2
  60. package/dist/src/core/lib/ImageWorker.js +30 -11
  61. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  62. package/dist/src/core/lib/WebGlContextWrapper.d.ts +22 -1
  63. package/dist/src/core/lib/WebGlContextWrapper.js +49 -3
  64. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  65. package/dist/src/core/lib/collectionUtils.d.ts +4 -0
  66. package/dist/src/core/lib/collectionUtils.js +72 -0
  67. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  68. package/dist/src/core/lib/colorCache.d.ts +1 -0
  69. package/dist/src/core/lib/colorCache.js +19 -0
  70. package/dist/src/core/lib/colorCache.js.map +1 -0
  71. package/dist/src/core/lib/colorParser.d.ts +21 -0
  72. package/dist/src/core/lib/colorParser.js +72 -0
  73. package/dist/src/core/lib/colorParser.js.map +1 -0
  74. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  75. package/dist/src/core/lib/textureCompression.js +320 -67
  76. package/dist/src/core/lib/textureCompression.js.map +1 -1
  77. package/dist/src/core/lib/utils.d.ts +6 -6
  78. package/dist/src/core/lib/utils.js +21 -65
  79. package/dist/src/core/lib/utils.js.map +1 -1
  80. package/dist/src/core/platform.d.ts +10 -0
  81. package/dist/src/core/platform.js +81 -0
  82. package/dist/src/core/platform.js.map +1 -0
  83. package/dist/src/core/platforms/GlContextWrapper.d.ts +136 -0
  84. package/{src/core/text-rendering/TextRenderingUtils.ts → dist/src/core/platforms/GlContextWrapper.js} +32 -36
  85. package/dist/src/core/platforms/GlContextWrapper.js.map +1 -0
  86. package/dist/src/core/platforms/Platform.d.ts +78 -12
  87. package/dist/src/core/platforms/Platform.js +18 -0
  88. package/dist/src/core/platforms/Platform.js.map +1 -1
  89. package/dist/src/core/platforms/web/WebGlContextWrapper.d.ts +776 -0
  90. package/dist/src/core/platforms/web/WebGlContextWrapper.js +1208 -0
  91. package/dist/src/core/platforms/web/WebGlContextWrapper.js.map +1 -0
  92. package/dist/src/core/platforms/web/WebPlatform.d.ts +17 -2
  93. package/dist/src/core/platforms/web/WebPlatform.js +158 -13
  94. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  95. package/dist/src/core/platforms/web/WebPlatformChrome50.d.ts +19 -0
  96. package/dist/src/core/platforms/web/WebPlatformChrome50.js +54 -0
  97. package/dist/src/core/platforms/web/WebPlatformChrome50.js.map +1 -0
  98. package/dist/src/core/platforms/web/WebPlatformLegacy.d.ts +20 -0
  99. package/dist/src/core/platforms/web/WebPlatformLegacy.js +105 -0
  100. package/dist/src/core/platforms/web/WebPlatformLegacy.js.map +1 -0
  101. package/dist/src/core/platforms/web/WebPlatformNext.d.ts +21 -0
  102. package/dist/src/core/platforms/web/WebPlatformNext.js +52 -0
  103. package/dist/src/core/platforms/web/WebPlatformNext.js.map +1 -0
  104. package/dist/src/core/platforms/web/lib/ImageWorker.d.ts +21 -0
  105. package/dist/src/core/platforms/web/lib/ImageWorker.js +136 -0
  106. package/dist/src/core/platforms/web/lib/ImageWorker.js.map +1 -0
  107. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.d.ts +6 -0
  108. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js +92 -0
  109. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js.map +1 -0
  110. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.d.ts +1 -0
  111. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js +63 -0
  112. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js.map +1 -0
  113. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.d.ts +7 -0
  114. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js +75 -0
  115. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js.map +1 -0
  116. package/dist/src/core/platforms/web/lib/createImageBitmap.d.ts +1 -0
  117. package/dist/src/core/platforms/web/lib/createImageBitmap.js +27 -0
  118. package/dist/src/core/platforms/web/lib/createImageBitmap.js.map +1 -0
  119. package/dist/src/core/platforms/web/lib/textureCompression.d.ts +26 -0
  120. package/dist/src/core/platforms/web/lib/textureCompression.js +301 -0
  121. package/dist/src/core/platforms/web/lib/textureCompression.js.map +1 -0
  122. package/dist/src/core/platforms/web/lib/textureSvg.d.ts +7 -0
  123. package/dist/src/core/platforms/web/lib/textureSvg.js +51 -0
  124. package/dist/src/core/platforms/web/lib/textureSvg.js.map +1 -0
  125. package/dist/src/core/platforms/web/lib/utils.d.ts +5 -0
  126. package/dist/src/core/platforms/web/lib/utils.js +86 -0
  127. package/dist/src/core/platforms/web/lib/utils.js.map +1 -0
  128. package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
  129. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  130. package/dist/src/core/renderers/CoreRenderer.d.ts +4 -40
  131. package/dist/src/core/renderers/CoreRenderer.js +3 -4
  132. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  133. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  134. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts → dist/src/core/renderers/CoreShader.js} +28 -32
  135. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  136. package/dist/src/core/renderers/CoreShaderNode.d.ts +10 -0
  137. package/dist/src/core/renderers/CoreShaderNode.js +19 -2
  138. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  139. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  140. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  141. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  142. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  143. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
  144. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  145. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +5 -6
  146. package/dist/src/core/renderers/canvas/CanvasRenderer.js +67 -91
  147. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  148. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +1 -2
  149. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +5 -4
  150. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
  151. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
  152. package/dist/src/core/renderers/canvas/CanvasTexture.js +17 -13
  153. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  154. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
  155. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
  156. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  157. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
  158. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
  159. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  160. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  161. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts → dist/src/core/renderers/canvas/shaders/UnsupportedShader.js} +43 -40
  162. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  163. package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
  164. package/dist/src/core/renderers/webgl/SdfRenderOp.js +98 -0
  165. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
  166. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  167. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  168. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  169. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  170. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  171. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  172. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
  173. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
  174. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  175. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  176. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  177. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  178. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  179. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +649 -0
  180. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  181. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
  182. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
  183. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  184. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +4 -2
  185. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -6
  186. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  187. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +15 -2
  188. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
  189. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  190. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +19 -9
  191. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +101 -49
  192. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  193. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +3 -2
  194. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +14 -5
  195. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
  196. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +11 -23
  197. package/dist/src/core/renderers/webgl/WebGlRenderer.js +122 -133
  198. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  199. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +4 -6
  200. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +3 -3
  201. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
  202. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +7 -7
  203. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +56 -37
  204. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  205. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -4
  206. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  207. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -3
  208. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +38 -37
  209. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  210. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  211. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
  212. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  213. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  214. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
  215. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  216. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  217. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
  218. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  219. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  220. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
  221. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  222. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  223. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
  224. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  225. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  226. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  227. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  228. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  229. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  230. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  231. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  232. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  233. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  234. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  235. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  236. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  237. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  238. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  239. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  240. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  241. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  242. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  243. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  244. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  245. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  246. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  247. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  248. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  249. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  250. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  251. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  252. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  253. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  254. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  255. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  256. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +134 -0
  257. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  258. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
  259. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +143 -0
  260. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  261. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  262. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  263. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  264. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  265. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  266. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  267. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  268. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  269. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  270. package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
  271. package/dist/src/core/shaders/canvas/Border.js +64 -25
  272. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  273. package/dist/src/core/shaders/canvas/HolePunch.js +4 -3
  274. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  275. package/dist/src/core/shaders/canvas/LinearGradient.js +7 -5
  276. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  277. package/dist/src/core/shaders/canvas/RadialGradient.js +12 -10
  278. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  279. package/dist/src/core/shaders/canvas/Rounded.js +3 -3
  280. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  281. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
  282. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +41 -11
  283. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  284. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
  285. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +46 -9
  286. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  287. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +6 -5
  288. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  289. package/dist/src/core/shaders/canvas/Shadow.js +4 -2
  290. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
  291. package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
  292. package/dist/src/core/shaders/canvas/utils/render.js +31 -18
  293. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
  294. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +11 -1
  295. package/dist/src/core/shaders/templates/BorderTemplate.js +30 -10
  296. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  297. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  298. package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
  299. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  300. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
  301. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
  302. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  303. package/dist/src/core/shaders/webgl/Border.js +138 -84
  304. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  305. package/dist/src/core/shaders/webgl/Default.js +46 -47
  306. package/dist/src/core/shaders/webgl/Default.js.map +1 -1
  307. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  308. package/dist/src/core/shaders/webgl/HolePunch.js +34 -34
  309. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  310. package/dist/src/core/shaders/webgl/LinearGradient.js +60 -36
  311. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  312. package/dist/src/core/shaders/webgl/RadialGradient.js +60 -37
  313. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  314. package/dist/src/core/shaders/webgl/Rounded.js +74 -72
  315. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  316. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +172 -113
  317. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  318. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +191 -132
  319. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  320. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +57 -55
  321. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  322. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  323. package/dist/src/core/shaders/webgl/SdfShader.js +56 -66
  324. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  325. package/dist/src/core/shaders/webgl/SdfShadowShader.d.ts +9 -0
  326. package/dist/src/core/shaders/webgl/SdfShadowShader.js +100 -0
  327. package/dist/src/core/shaders/webgl/SdfShadowShader.js.map +1 -0
  328. package/dist/src/core/shaders/webgl/Shadow.js +89 -83
  329. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
  330. package/dist/src/core/text-rendering/CanvasFont.d.ts +14 -0
  331. package/dist/src/core/text-rendering/CanvasFont.js +111 -0
  332. package/dist/src/core/text-rendering/CanvasFont.js.map +1 -0
  333. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
  334. package/dist/src/core/text-rendering/CanvasFontHandler.js +224 -0
  335. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
  336. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
  337. package/dist/src/core/text-rendering/CanvasTextRenderer.js +157 -0
  338. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
  339. package/dist/src/core/text-rendering/CoreFont.d.ts +33 -0
  340. package/dist/src/core/text-rendering/CoreFont.js +48 -0
  341. package/dist/src/core/text-rendering/CoreFont.js.map +1 -0
  342. package/dist/src/core/text-rendering/FontManager.d.ts +11 -0
  343. package/dist/src/core/text-rendering/FontManager.js +42 -0
  344. package/dist/src/core/text-rendering/FontManager.js.map +1 -0
  345. package/dist/src/core/text-rendering/SdfFont.d.ts +29 -0
  346. package/dist/src/core/text-rendering/SdfFont.js +142 -0
  347. package/dist/src/core/text-rendering/SdfFont.js.map +1 -0
  348. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +182 -0
  349. package/dist/src/core/text-rendering/SdfFontHandler.js +381 -0
  350. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
  351. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
  352. package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -0
  353. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
  354. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
  355. package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
  356. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  357. package/dist/src/core/text-rendering/TextRenderer.d.ts +383 -0
  358. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts → dist/src/core/text-rendering/TextRenderer.js} +20 -38
  359. package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
  360. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  361. package/dist/src/core/text-rendering/Utils.d.ts +30 -0
  362. package/dist/src/core/text-rendering/Utils.js +84 -0
  363. package/dist/src/core/text-rendering/Utils.js.map +1 -0
  364. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  365. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  366. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -5
  367. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  368. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -7
  369. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +2 -50
  370. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  371. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
  372. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +87 -46
  373. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  374. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
  375. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +8 -66
  376. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  377. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -14
  378. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -3
  379. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  380. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  381. package/dist/src/core/textures/ColorTexture.js +3 -4
  382. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  383. package/dist/src/core/textures/ImageTexture.d.ts +33 -14
  384. package/dist/src/core/textures/ImageTexture.js +46 -125
  385. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  386. package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
  387. package/dist/src/core/textures/NoiseTexture.js +8 -8
  388. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  389. package/dist/src/core/textures/RenderTexture.d.ts +7 -7
  390. package/dist/src/core/textures/RenderTexture.js +12 -12
  391. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  392. package/dist/src/core/textures/SubTexture.d.ts +6 -8
  393. package/dist/src/core/textures/SubTexture.js +22 -40
  394. package/dist/src/core/textures/SubTexture.js.map +1 -1
  395. package/dist/src/core/textures/Texture.d.ts +74 -15
  396. package/dist/src/core/textures/Texture.js +131 -19
  397. package/dist/src/core/textures/Texture.js.map +1 -1
  398. package/dist/src/core/utils.d.ts +2 -1
  399. package/dist/src/core/utils.js +1 -1
  400. package/dist/src/core/utils.js.map +1 -1
  401. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  402. package/dist/src/main-api/DynamicShaderController.js +58 -0
  403. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  404. package/dist/src/main-api/Inspector.d.ts +129 -1
  405. package/dist/src/main-api/Inspector.js +462 -23
  406. package/dist/src/main-api/Inspector.js.map +1 -1
  407. package/dist/src/main-api/Renderer.d.ts +223 -41
  408. package/dist/src/main-api/Renderer.js +107 -62
  409. package/dist/src/main-api/Renderer.js.map +1 -1
  410. package/dist/src/main-api/ShaderController.d.ts +31 -0
  411. package/dist/src/main-api/ShaderController.js +37 -0
  412. package/dist/src/main-api/ShaderController.js.map +1 -0
  413. package/dist/src/utils.d.ts +0 -2
  414. package/dist/src/utils.js +0 -36
  415. package/dist/src/utils.js.map +1 -1
  416. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  417. package/dist/tsconfig.tsbuildinfo +1 -0
  418. package/exports/canvas-shaders.ts +28 -28
  419. package/exports/canvas.ts +45 -45
  420. package/exports/index.ts +90 -90
  421. package/exports/inspector.ts +24 -24
  422. package/exports/platform.ts +31 -0
  423. package/exports/utils.ts +50 -50
  424. package/exports/webgl-shaders.ts +28 -28
  425. package/exports/webgl.ts +52 -50
  426. package/package.json +16 -15
  427. package/src/common/CommonTypes.ts +163 -146
  428. package/src/common/EventEmitter.ts +77 -77
  429. package/src/common/IAnimationController.ts +92 -92
  430. package/src/common/IEventEmitter.ts +28 -28
  431. package/src/core/Autosizer.ts +224 -0
  432. package/src/core/CoreNode.test.ts +365 -202
  433. package/src/core/CoreNode.ts +2785 -2489
  434. package/src/core/CoreShaderManager.ts +188 -188
  435. package/src/core/CoreTextNode.test.ts +311 -0
  436. package/src/core/CoreTextNode.ts +598 -451
  437. package/src/core/CoreTextureManager.ts +484 -548
  438. package/src/core/Stage.ts +927 -800
  439. package/src/core/TextureError.ts +46 -0
  440. package/src/core/TextureMemoryManager.ts +418 -462
  441. package/src/core/animations/AnimationManager.ts +38 -38
  442. package/src/core/animations/CoreAnimation.ts +290 -291
  443. package/src/core/animations/CoreAnimationController.ts +169 -166
  444. package/src/core/lib/ContextSpy.ts +41 -41
  445. package/src/core/lib/Matrix3d.ts +244 -244
  446. package/src/core/lib/RenderCoords.ts +71 -71
  447. package/src/core/lib/collectionUtils.ts +83 -0
  448. package/src/core/lib/colorCache.ts +20 -0
  449. package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -85
  450. package/src/core/lib/utils.ts +337 -390
  451. package/src/core/platforms/GlContextWrapper.ts +291 -0
  452. package/src/core/platforms/Platform.ts +176 -77
  453. package/src/core/{lib → platforms/web}/WebGlContextWrapper.ts +1547 -1368
  454. package/src/core/platforms/web/WebPlatform.ts +306 -84
  455. package/src/core/platforms/web/WebPlatformChrome50.ts +63 -0
  456. package/src/core/platforms/web/WebPlatformLegacy.ts +150 -0
  457. package/src/core/platforms/web/WebPlatformNext.ts +57 -0
  458. package/src/core/platforms/web/lib/ImageWorker.ts +192 -0
  459. package/src/core/platforms/web/lib/ImageWorkerDefault.ts +117 -0
  460. package/src/core/platforms/web/lib/ImageWorkerLegacy.ts +87 -0
  461. package/src/core/platforms/web/lib/ImageWorkerNoOptions.ts +99 -0
  462. package/src/core/platforms/web/lib/createImageBitmap.ts +40 -0
  463. package/src/core/platforms/web/lib/textureCompression.ts +391 -0
  464. package/src/core/{lib → platforms/web/lib}/textureSvg.ts +66 -78
  465. package/src/core/platforms/web/lib/utils.ts +105 -0
  466. package/src/core/renderers/CoreContextTexture.ts +44 -43
  467. package/src/core/renderers/CoreRenderOp.ts +22 -22
  468. package/src/core/renderers/CoreRenderer.ts +71 -110
  469. package/src/core/renderers/CoreShaderNode.ts +202 -175
  470. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  471. package/src/core/renderers/canvas/CanvasRenderer.ts +258 -302
  472. package/src/core/renderers/canvas/CanvasShaderNode.ts +95 -96
  473. package/src/core/renderers/canvas/CanvasTexture.ts +160 -156
  474. package/src/core/renderers/webgl/SdfRenderOp.ts +106 -0
  475. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +89 -86
  476. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +95 -50
  477. package/src/core/renderers/webgl/WebGlCtxTexture.ts +350 -298
  478. package/src/core/renderers/webgl/WebGlRenderer.ts +726 -747
  479. package/src/core/renderers/webgl/WebGlShaderNode.ts +430 -435
  480. package/src/core/renderers/webgl/WebGlShaderProgram.ts +362 -341
  481. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  482. package/src/core/renderers/webgl/internal/RendererUtils.ts +151 -155
  483. package/src/core/renderers/webgl/internal/ShaderUtils.ts +283 -281
  484. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  485. package/src/core/shaders/canvas/Border.ts +132 -78
  486. package/src/core/shaders/canvas/HolePunch.ts +56 -62
  487. package/src/core/shaders/canvas/LinearGradient.ts +73 -71
  488. package/src/core/shaders/canvas/RadialGradient.ts +96 -99
  489. package/src/core/shaders/canvas/Rounded.ts +55 -55
  490. package/src/core/shaders/canvas/RoundedWithBorder.ts +122 -74
  491. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +136 -90
  492. package/src/core/shaders/canvas/RoundedWithShadow.ts +71 -70
  493. package/src/core/shaders/canvas/Shadow.ts +54 -52
  494. package/src/core/shaders/canvas/utils/render.ts +160 -151
  495. package/src/core/shaders/templates/BorderTemplate.ts +145 -115
  496. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  497. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  498. package/src/core/shaders/templates/RadialGradientTemplate.ts +83 -81
  499. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  500. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  501. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  502. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  503. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  504. package/src/core/shaders/utils.ts +46 -46
  505. package/src/core/shaders/webgl/Border.ts +169 -116
  506. package/src/core/shaders/webgl/Default.ts +88 -89
  507. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  508. package/src/core/shaders/webgl/HolePunch.ts +75 -75
  509. package/src/core/shaders/webgl/LinearGradient.ts +106 -82
  510. package/src/core/shaders/webgl/RadialGradient.ts +108 -85
  511. package/src/core/shaders/webgl/Rounded.ts +115 -117
  512. package/src/core/shaders/webgl/RoundedWithBorder.ts +210 -155
  513. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +234 -175
  514. package/src/core/shaders/webgl/RoundedWithShadow.ts +96 -98
  515. package/src/core/shaders/webgl/SdfShader.ts +122 -134
  516. package/src/core/shaders/webgl/Shadow.ts +121 -115
  517. package/src/core/text-rendering/CanvasFontHandler.ts +304 -0
  518. package/src/core/text-rendering/CanvasTextRenderer.ts +255 -0
  519. package/src/core/text-rendering/SdfFontHandler.ts +584 -0
  520. package/src/core/text-rendering/SdfTextRenderer.ts +403 -0
  521. package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
  522. package/src/core/text-rendering/TextRenderer.ts +444 -0
  523. package/src/core/text-rendering/Utils.ts +99 -0
  524. package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +453 -0
  525. package/src/core/textures/ColorTexture.ts +104 -102
  526. package/src/core/textures/ImageTexture.ts +292 -418
  527. package/src/core/textures/NoiseTexture.ts +106 -104
  528. package/src/core/textures/RenderTexture.ts +87 -85
  529. package/src/core/textures/SubTexture.ts +184 -205
  530. package/src/core/textures/Texture.ts +524 -381
  531. package/src/core/utils.ts +229 -227
  532. package/src/env.d.ts +7 -7
  533. package/src/main-api/INode.ts +100 -100
  534. package/src/main-api/Inspector.ts +1278 -569
  535. package/src/main-api/Renderer.ts +1030 -818
  536. package/src/main-api/utils.ts +45 -45
  537. package/src/utils.ts +220 -267
  538. package/COPYING +0 -1
  539. package/src/core/lib/ImageWorker.ts +0 -286
  540. package/src/core/lib/textureCompression.ts +0 -152
  541. package/src/core/lib/validateImageBitmap.ts +0 -87
  542. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
  543. package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -161
  544. package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
  545. package/src/core/text-rendering/TrFontManager.ts +0 -183
  546. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
  547. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
  548. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
  549. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
  550. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
  551. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
  552. package/src/core/text-rendering/font-face-types/utils.ts +0 -39
  553. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -514
  554. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -863
  555. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -793
  556. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
  557. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
  558. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
  559. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
  560. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
  561. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -497
  562. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
  563. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
  564. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
  565. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
  566. package/src/core/text-rendering/renderers/TextRenderer.ts +0 -567
@@ -28,7 +28,7 @@ vertexBuffer, contain,
28
28
  /**
29
29
  * Mutated
30
30
  */
31
- lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, wordBreak, maxLines) {
31
+ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, maxLines) {
32
32
  assertTruthy(trFontFace, 'Font face must be loaded');
33
33
  assertTruthy(trFontFace.loaded, 'Font face must be loaded');
34
34
  assertTruthy(trFontFace.data, 'Font face must be loaded');
@@ -74,10 +74,6 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
74
74
  bufferOffset: -1,
75
75
  xStart: -1,
76
76
  };
77
- let previousWord = {
78
- bufferOffset: -1,
79
- xStart: -1,
80
- };
81
77
  const shaper = trFontFace.shaper;
82
78
  const shaperProps = {
83
79
  letterSpacing: vertexLSpacing,
@@ -102,6 +98,9 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
102
98
  scrollable ||
103
99
  curY + vertexLineHeight + trFontFace.maxCharHeight <=
104
100
  vertexTruncateHeight);
101
+ const lineVertexW = nextLineWillFit
102
+ ? vertexW
103
+ : vertexW - overflowSuffVertexWidth;
105
104
  /**
106
105
  * Vertex X position to the beginning of the last word boundary. This becomes -1 when we start traversing a word.
107
106
  */
@@ -131,8 +130,6 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
131
130
  if (lastWord.codepointIndex !== -1) {
132
131
  lastWord.codepointIndex = -1;
133
132
  xStartLastWordBoundary = curX;
134
- previousWord.bufferOffset = lastWord.bufferOffset;
135
- previousWord.xStart = lastWord.xStart;
136
133
  }
137
134
  }
138
135
  else if (lastWord.codepointIndex === -1) {
@@ -143,29 +140,12 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
143
140
  if (glyph.mapped) {
144
141
  // Mapped glyph
145
142
  const charEndX = curX + glyph.xOffset + glyph.width;
146
- if (wordBreak === 'break-all' &&
147
- charEndX >= vertexW &&
148
- nextLineWillFit) {
149
- // wordBreak: break-all - the current letter is about to go of the edge
150
- // of the container width and the next line will fit, so we break to the next line
151
- glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(text, glyph.cluster), glyph.cluster));
152
- break;
153
- }
154
- else if (contain !== 'none' &&
155
- wordBreak === 'break-all' &&
156
- charEndX + overflowSuffVertexWidth >= vertexW &&
157
- nextLineWillFit === false) {
158
- // wordBreak: break-all - the current letter is about to go of the edge
159
- // of the container width and the next line will not fit, so we add the overflow suffix
160
- glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(overflowSuffix, 0), 0));
161
- contain = 'none';
162
- }
163
- else if (
164
143
  // Word wrap check
144
+ if (
165
145
  // We are containing the text
166
146
  contain !== 'none' &&
167
147
  // The current glyph reaches outside the contained width
168
- charEndX >= vertexW &&
148
+ charEndX >= lineVertexW &&
169
149
  // There is a last word that we can break to the next line
170
150
  lastWord.codepointIndex !== -1 &&
171
151
  // Prevents infinite loop when a single word is longer than the width
@@ -180,39 +160,13 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
180
160
  }
181
161
  else {
182
162
  glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(overflowSuffix, 0), 0));
183
- if (lastWord.xStart + overflowSuffVertexWidth < vertexW) {
184
- curX = lastWord.xStart;
185
- bufferOffset = lastWord.bufferOffset;
186
- }
187
- else if (previousWord.xStart + overflowSuffVertexWidth <
188
- vertexW) {
189
- curX = previousWord.xStart;
190
- bufferOffset = previousWord.bufferOffset;
191
- }
163
+ curX = lastWord.xStart;
164
+ bufferOffset = lastWord.bufferOffset;
192
165
  // HACK: For the rest of the line when inserting the overflow suffix,
193
166
  // set contain = 'none' to prevent an infinite loop.
194
167
  contain = 'none';
195
168
  }
196
169
  }
197
- else if (wordBreak === 'break-word' &&
198
- charEndX >= vertexW &&
199
- lastWord.xStart === 0 &&
200
- nextLineWillFit) {
201
- // The current word which starts the line is wider than the line width
202
- // proceed to next line
203
- glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(text, glyph.cluster), glyph.cluster));
204
- break;
205
- }
206
- else if (contain !== 'none' &&
207
- wordBreak === 'break-word' &&
208
- lastWord.xStart === 0 &&
209
- charEndX + overflowSuffVertexWidth >= vertexW &&
210
- nextLineWillFit === false) {
211
- // wordBreak: break-word - the current letter is about to go of the edge
212
- // and the next line will not fit, so we add the overflow suffix
213
- glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(overflowSuffix, 0), 0));
214
- contain = 'none';
215
- }
216
170
  else {
217
171
  // This glyph fits, so we can add it to the buffer
218
172
  const quadX = curX + glyph.xOffset;
@@ -265,18 +219,6 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, w
265
219
  break;
266
220
  }
267
221
  else {
268
- // Check if the overflow suffix will fit
269
- if (curX + overflowSuffVertexWidth >= vertexW) {
270
- if (lastWord.xStart + overflowSuffVertexWidth < vertexW) {
271
- curX = lastWord.xStart;
272
- bufferOffset = lastWord.bufferOffset;
273
- }
274
- else if (previousWord.xStart + overflowSuffVertexWidth <
275
- vertexW) {
276
- curX = previousWord.xStart;
277
- bufferOffset = previousWord.bufferOffset;
278
- }
279
- }
280
222
  // The whole line won't fit, so we need to add the overflow suffix
281
223
  glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(overflowSuffix, 0), 0));
282
224
  // HACK: For the rest of the line when inserting the overflow suffix,
@@ -1 +1 @@
1
- {"version":3,"file":"layoutText.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layoutText.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
+ import type { Dimensions } from '../../../common/CommonTypes.js';
1
2
  import type { EventEmitter } from '../../../common/EventEmitter.js';
2
3
  import type { CoreTextNode } from '../../CoreTextNode.js';
3
4
  import type { Stage } from '../../Stage.js';
5
+ import type { Matrix3d } from '../../lib/Matrix3d.js';
6
+ import type { RectWithValid } from '../../lib/utils.js';
4
7
  import type { TrFontFace, TrFontFaceDescriptors } from '../font-face-types/TrFontFace.js';
5
8
  import type { TextBaseline, TextVerticalAlign } from './LightningTextTextureRenderer.js';
6
9
  /**
@@ -281,19 +284,6 @@ export interface TrProps extends TrFontProps {
281
284
  * @default "..."
282
285
  */
283
286
  overflowSuffix: string;
284
- /**
285
- * Word Break for text
286
- *
287
- * @remarks
288
- * This property sets how words should break when reaching the end of a line.
289
- *
290
- * - `'normal'`: Use the default line break rule.
291
- * - `'break-all'`: To prevent overflow, word breaks should happen between any two characters.
292
- * - `'break-word'`: To prevent overflow, word breaks should happen between words. If words are too long word breaks happen between any two characters.
293
- *
294
- * @default "normal"
295
- */
296
- wordBreak: 'normal' | 'break-all' | 'break-word';
297
287
  zIndex: number;
298
288
  debug: Partial<TextRendererDebugProps>;
299
289
  }
@@ -379,5 +369,5 @@ export declare abstract class TextRenderer<StateT extends TextRendererState = Te
379
369
  */
380
370
  scheduleUpdateState(state: StateT): void;
381
371
  abstract updateState(state: StateT): void;
382
- renderQuads?(node: CoreTextNode): void;
372
+ renderQuads?(state: StateT, transform: Matrix3d, clippingRect: RectWithValid, alpha: number, parentHasRenderTexture: boolean, framebufferDimensions: Dimensions | undefined): void;
383
373
  }
@@ -86,9 +86,6 @@ const trPropSetterDefaults = {
86
86
  overflowSuffix: (state, value) => {
87
87
  state.props.overflowSuffix = value;
88
88
  },
89
- wordBreak: (state, value) => {
90
- state.props.wordBreak = value;
91
- },
92
89
  debug: (state, value) => {
93
90
  state.props.debug = value;
94
91
  },
@@ -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":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAwTH,MAAM,oBAAoB,GAAkB;IAC1C,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAClB,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;IACD,MAAM,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACvB,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC7B,CAAC;IACD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,WAAW,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC5B,KAAK,CAAC,KAAK,CAAC,WAAW,GAAG,KAAK,CAAC;IAClC,CAAC;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,IAAI,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACrB,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC;IAC3B,CAAC;IACD,SAAS,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC1B,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,KAAK,CAAC;IAChC,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;IAC9B,CAAC;IACD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,UAAU,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC3B,KAAK,CAAC,KAAK,CAAC,UAAU,GAAG,KAAK,CAAC;IACjC,CAAC;IACD,QAAQ,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACzB,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC/B,CAAC;IACD,YAAY,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7B,KAAK,CAAC,KAAK,CAAC,YAAY,GAAG,KAAK,CAAC;IACnC,CAAC;IACD,aAAa,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9B,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,KAAK,CAAC,KAAK,CAAC,cAAc,GAAG,KAAK,CAAC;IACrC,CAAC;IACD,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACtB,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC5B,CAAC;CACF,CAAC;AAkBF,MAAM,OAAgB,YAAY;IAMV;IAHb,GAAG,CAAkC;IAG9C,YAAsB,KAAY;QAAZ,UAAK,GAAL,KAAK,CAAO;QAChC,MAAM,WAAW,GAAG;YAClB,GAAG,oBAAoB;YACvB,GAAG,IAAI,CAAC,kBAAkB,EAAE;SAC7B,CAAC;QACF,uEAAuE;QACvE,sCAAsC;QACtC,MAAM,OAAO,GAAG,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACvC,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,GAAG,EAAE;gBAClC,KAAK,EAAE,CAAC,KAAa,EAAE,KAA6B,EAAE,EAAE;oBACtD,yEAAyE;oBACzE,IAAI,KAAK,CAAC,KAAK,CAAC,GAAoB,CAAC,KAAK,KAAK,EAAE,CAAC;wBAChD,WAAW,CAAC,GAA0B,CAAC,CAAC,KAAK,EAAE,KAAc,CAAC,CAAC;wBAE/D,+CAA+C;wBAC/C,6EAA6E;wBAC7E,IAAI,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC7B,CAAC;gBACH,CAAC;gBACD,QAAQ,EAAE,KAAK,EAAE,uCAAuC;gBACxD,YAAY,EAAE,KAAK,EAAE,uCAAuC;aAC7D,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,GAAG,OAA0C,CAAC;IACxD,CAAC;IAED,SAAS,CAAC,KAAa,EAAE,MAAwB,EAAE,KAAa;QAC9D,mCAAmC;QACnC,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YAC5B,OAAO;QACT,CAAC;QACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;QACtB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,KAAa,EAAE,UAAmB;QAChD,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC;IAClC,CAAC;IAoCD;;;;;;;;OAQG;IACH,YAAY,CAAC,KAAa;QACxB,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;QACnC,KAAK,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACrC,CAAC;IAED;;;;;;;;;OASG;IACH,mBAAmB,CAAC,KAAa;QAC/B,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO;QACT,CAAC;QACD,KAAK,CAAC,eAAe,GAAG,IAAI,CAAC;QAC7B,cAAc,CAAC,GAAG,EAAE;YAClB,mDAAmD;YACnD,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;gBACjC,OAAO;YACT,CAAC;YACD,KAAK,CAAC,eAAe,GAAG,KAAK,CAAC;YAC9B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;IACL,CAAC;CAYF"}
@@ -26,7 +26,7 @@ export interface ColorTextureProps {
26
26
  export declare class ColorTexture extends Texture {
27
27
  type: TextureType;
28
28
  props: Required<ColorTextureProps>;
29
- constructor(txManager: CoreTextureManager, props?: ColorTextureProps);
29
+ constructor(txManager: CoreTextureManager, props: Required<ColorTextureProps>);
30
30
  get color(): number;
31
31
  set color(color: number);
32
32
  getTextureSource(): Promise<TextureData>;
@@ -34,7 +34,7 @@ export class ColorTexture extends Texture {
34
34
  props;
35
35
  constructor(txManager, props) {
36
36
  super(txManager);
37
- this.props = ColorTexture.resolveDefaults(props || {});
37
+ this.props = props;
38
38
  }
39
39
  get color() {
40
40
  return this.props.color;
@@ -56,15 +56,14 @@ export class ColorTexture extends Texture {
56
56
  pixelData[2] = this.color & 0xff; // Blue
57
57
  pixelData[3] = (this.color >>> 24) & 0xff; // Alpha
58
58
  }
59
- this.setState('fetched', { width: 1, height: 1 });
59
+ this.setState('fetched', { w: 1, h: 1 });
60
60
  return {
61
61
  data: pixelData,
62
62
  premultiplyAlpha: true,
63
63
  };
64
64
  }
65
65
  static makeCacheKey(props) {
66
- const resolvedProps = ColorTexture.resolveDefaults(props);
67
- return `ColorTexture,${resolvedProps.color}`;
66
+ return `ColorTexture,${props.color}`;
68
67
  }
69
68
  static resolveDefaults(props) {
70
69
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ColorTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AActE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,KAAK,CAA8B;IAEnC,YAAY,SAA6B,EAAE,KAAyB;QAClE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM;YAChD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;YACjD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO;YACzC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;QACrD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,gBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
1
+ {"version":3,"file":"ColorTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ColorTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AActE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,KAAK,CAA8B;IAEnC,YACE,SAA6B,EAC7B,KAAkC;QAElC,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM;YAChD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;YACjD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO;YACzC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;QACrD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAEzC,OAAO;YACL,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,OAAO,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
@@ -1,5 +1,6 @@
1
1
  import type { CoreTextureManager } from '../CoreTextureManager.js';
2
2
  import { Texture, TextureType, type TextureData } from './Texture.js';
3
+ import type { CompressedImageData } from '../platforms/web/lib/textureCompression.js';
3
4
  /**
4
5
  * Properties of the {@link ImageTexture}
5
6
  */
@@ -34,12 +35,12 @@ export interface ImageTextureProps {
34
35
  * Width of the image to be used as a texture. If not provided, the image's
35
36
  * natural width will be used.
36
37
  */
37
- width?: number | null;
38
+ w?: number | null;
38
39
  /**
39
40
  * Height of the image to be used as a texture. If not provided, the image's
40
41
  * natural height will be used.
41
42
  */
42
- height?: number | null;
43
+ h?: number | null;
43
44
  /**
44
45
  * Type, indicate an image type for overriding type detection
45
46
  *
@@ -76,6 +77,16 @@ export interface ImageTextureProps {
76
77
  * @default null
77
78
  */
78
79
  sy?: number | null;
80
+ /**
81
+ * Maximum number of times to retry loading the image if it fails.
82
+ *
83
+ * @default 5
84
+ */
85
+ maxRetryCount?: number;
86
+ }
87
+ export interface ImageResponse {
88
+ data: ImageBitmap | ImageData | CompressedImageData | HTMLImageElement | null;
89
+ premultiplyAlpha: boolean | null;
79
90
  }
80
91
  /**
81
92
  * Texture consisting of an image loaded from a URL
@@ -95,19 +106,9 @@ export declare class ImageTexture extends Texture {
95
106
  private platform;
96
107
  props: Required<ImageTextureProps>;
97
108
  type: TextureType;
98
- constructor(txManager: CoreTextureManager, props: ImageTextureProps);
99
- hasAlphaChannel(mimeType: string): boolean;
100
- loadImageFallback(src: string | Blob, hasAlpha: boolean): Promise<{
101
- data: HTMLImageElement | null;
102
- premultiplyAlpha: boolean;
103
- }>;
104
- createImageBitmap(blob: Blob, premultiplyAlpha: boolean | null, sx: number | null, sy: number | null, sw: number | null, sh: number | null): Promise<{
105
- data: ImageBitmap | HTMLImageElement;
106
- premultiplyAlpha: boolean;
107
- }>;
108
- loadImage(src: string): Promise<TextureData>;
109
+ constructor(txManager: CoreTextureManager, props: Required<ImageTextureProps>);
109
110
  getTextureSource(): Promise<TextureData>;
110
- determineImageTypeAndLoadImage(): Promise<TextureData> | {
111
+ determineImageTypeAndLoadImage(): Promise<ImageResponse> | {
111
112
  data: null;
112
113
  premultiplyAlpha?: undefined;
113
114
  } | {
@@ -123,3 +124,21 @@ export declare class ImageTexture extends Texture {
123
124
  static resolveDefaults(props: ImageTextureProps): Required<ImageTextureProps>;
124
125
  static z$__type__Props: ImageTextureProps;
125
126
  }
127
+ /**
128
+ * Tests if the given location is a SVG
129
+ * @param url
130
+ * @remarks
131
+ * This function is used to determine if the given image url is a SVG
132
+ * image
133
+ * @returns
134
+ */
135
+ export declare function isSvgImage(url: string): boolean;
136
+ /**
137
+ * Tests if the given location is a compressed texture container
138
+ * @param url
139
+ * @remarks
140
+ * This function is used to determine if the given image url is a compressed
141
+ * and only supports the following extensions: .ktx and .pvr
142
+ * @returns
143
+ */
144
+ export declare function isCompressedTextureContainer(src: string): boolean;
@@ -17,11 +17,6 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import { Texture, TextureType } from './Texture.js';
20
- import { isCompressedTextureContainer, loadCompressedTexture, } from '../lib/textureCompression.js';
21
- import { convertUrlToAbsolute, dataURIToBlob, isBase64Image, } from '../lib/utils.js';
22
- import { isSvgImage, loadSvg } from '../lib/textureSvg.js';
23
- import { fetchJson } from '../text-rendering/font-face-types/utils.js';
24
- import { isProductionEnvironment } from '../../utils.js';
25
20
  /**
26
21
  * Texture consisting of an image loaded from a URL
27
22
  *
@@ -43,78 +38,8 @@ export class ImageTexture extends Texture {
43
38
  constructor(txManager, props) {
44
39
  super(txManager);
45
40
  this.platform = txManager.platform;
46
- this.props = ImageTexture.resolveDefaults(props);
47
- }
48
- hasAlphaChannel(mimeType) {
49
- return mimeType.indexOf('image/png') !== -1;
50
- }
51
- async loadImageFallback(src, hasAlpha) {
52
- const img = new Image();
53
- if (typeof src === 'string' && isBase64Image(src) === false) {
54
- img.crossOrigin = 'anonymous';
55
- }
56
- return new Promise((resolve) => {
57
- img.onload = () => {
58
- resolve({ data: img, premultiplyAlpha: hasAlpha });
59
- };
60
- img.onerror = () => {
61
- console.warn('Image loading failed, returning fallback object.');
62
- resolve({ data: null, premultiplyAlpha: hasAlpha });
63
- };
64
- if (src instanceof Blob) {
65
- img.src = URL.createObjectURL(src);
66
- }
67
- else {
68
- img.src = src;
69
- }
70
- });
71
- }
72
- async createImageBitmap(blob, premultiplyAlpha, sx, sy, sw, sh) {
73
- const hasAlphaChannel = premultiplyAlpha ?? blob.type.includes('image/png');
74
- const imageBitmapSupported = this.txManager.imageBitmapSupported;
75
- if (imageBitmapSupported.full === true && sw !== null && sh !== null) {
76
- // createImageBitmap with crop
77
- const bitmap = await this.platform.createImageBitmap(blob, sx || 0, sy || 0, sw, sh, {
78
- premultiplyAlpha: hasAlphaChannel ? 'premultiply' : 'none',
79
- colorSpaceConversion: 'none',
80
- imageOrientation: 'none',
81
- });
82
- return { data: bitmap, premultiplyAlpha: hasAlphaChannel };
83
- }
84
- else if (imageBitmapSupported.basic === true) {
85
- // basic createImageBitmap without options or crop
86
- // this is supported for Chrome v50 to v52/54 that doesn't support options
87
- return {
88
- data: await this.platform.createImageBitmap(blob),
89
- premultiplyAlpha: hasAlphaChannel,
90
- };
91
- }
92
- // default createImageBitmap without crop but with options
93
- const bitmap = await this.platform.createImageBitmap(blob, {
94
- premultiplyAlpha: hasAlphaChannel ? 'premultiply' : 'none',
95
- colorSpaceConversion: 'none',
96
- imageOrientation: 'none',
97
- });
98
- return { data: bitmap, premultiplyAlpha: hasAlphaChannel };
99
- }
100
- async loadImage(src) {
101
- const { premultiplyAlpha, sx, sy, sw, sh } = this.props;
102
- if (this.txManager.hasCreateImageBitmap === true) {
103
- if (isBase64Image(src) === false &&
104
- this.txManager.hasWorker === true &&
105
- this.txManager.imageWorkerManager !== null) {
106
- return this.txManager.imageWorkerManager.getImage(src, premultiplyAlpha, sx, sy, sw, sh);
107
- }
108
- let blob;
109
- if (isBase64Image(src) === true) {
110
- blob = dataURIToBlob(src);
111
- }
112
- else {
113
- blob = await fetchJson(src, 'blob').then((response) => response);
114
- }
115
- return this.createImageBitmap(blob, premultiplyAlpha, sx, sy, sw, sh);
116
- }
117
- return this.loadImageFallback(src, premultiplyAlpha ?? true);
41
+ this.props = props;
42
+ this.maxRetryCount = props.maxRetryCount;
118
43
  }
119
44
  async getTextureSource() {
120
45
  let resp;
@@ -123,10 +48,6 @@ export class ImageTexture extends Texture {
123
48
  }
124
49
  catch (e) {
125
50
  this.setState('failed', e);
126
- // log error only in development
127
- if (isProductionEnvironment === false) {
128
- console.error('ImageTexture:', e);
129
- }
130
51
  return {
131
52
  data: null,
132
53
  };
@@ -137,29 +58,15 @@ export class ImageTexture extends Texture {
137
58
  data: null,
138
59
  };
139
60
  }
140
- let width, height;
141
- // check if resp.data is typeof Uint8ClampedArray else
142
- // use resp.data.width and resp.data.height
143
- if (resp.data instanceof Uint8Array) {
144
- width = this.props.width ?? 0;
145
- height = this.props.height ?? 0;
146
- }
147
- else {
148
- width = resp.data?.width ?? (this.props.width || 0);
149
- height = resp.data?.height ?? (this.props.height || 0);
150
- }
151
- // we're loaded!
152
- this.setState('fetched', {
153
- width,
154
- height,
155
- });
156
61
  return {
157
62
  data: resp.data,
158
63
  premultiplyAlpha: this.props.premultiplyAlpha ?? true,
159
64
  };
160
65
  }
161
66
  determineImageTypeAndLoadImage() {
162
- const { src, premultiplyAlpha, type } = this.props;
67
+ const { src, premultiplyAlpha, type, w, h, sx, sy, sw, sh } = this.props;
68
+ const platform = this.platform;
69
+ const premultiply = premultiplyAlpha ?? true;
163
70
  if (src === null) {
164
71
  return {
165
72
  data: null,
@@ -167,13 +74,7 @@ export class ImageTexture extends Texture {
167
74
  }
168
75
  if (typeof src !== 'string') {
169
76
  if (src instanceof Blob) {
170
- if (this.txManager.hasCreateImageBitmap === true) {
171
- const { sx, sy, sw, sh } = this.props;
172
- return this.createImageBitmap(src, premultiplyAlpha, sx, sy, sw, sh);
173
- }
174
- else {
175
- return this.loadImageFallback(src, premultiplyAlpha ?? true);
176
- }
77
+ return platform.createImage(src, premultiply, sx, sy, sw, sh);
177
78
  }
178
79
  if (src instanceof ImageData) {
179
80
  return {
@@ -186,24 +87,23 @@ export class ImageTexture extends Texture {
186
87
  premultiplyAlpha,
187
88
  };
188
89
  }
189
- const absoluteSrc = convertUrlToAbsolute(src);
190
90
  if (type === 'regular') {
191
- return this.loadImage(absoluteSrc);
91
+ return platform.loadImage(src, premultiply, sx, sy, sw, sh);
192
92
  }
193
93
  if (type === 'svg') {
194
- return loadSvg(absoluteSrc, this.props.width, this.props.height, this.props.sx, this.props.sy, this.props.sw, this.props.sh);
94
+ return platform.loadSvg(src, w, h, sx, sy, sw, sh);
195
95
  }
196
96
  if (isSvgImage(src) === true) {
197
- return loadSvg(absoluteSrc, this.props.width, this.props.height, this.props.sx, this.props.sy, this.props.sw, this.props.sh);
97
+ return platform.loadSvg(src, w, h, sx, sy, sw, sh);
198
98
  }
199
99
  if (type === 'compressed') {
200
- return loadCompressedTexture(absoluteSrc);
100
+ return platform.loadCompressedTexture(src);
201
101
  }
202
102
  if (isCompressedTextureContainer(src) === true) {
203
- return loadCompressedTexture(absoluteSrc);
103
+ return platform.loadCompressedTexture(src);
204
104
  }
205
105
  // default
206
- return this.loadImage(absoluteSrc);
106
+ return platform.loadImage(src, premultiply, sx, sy, sw, sh);
207
107
  }
208
108
  /**
209
109
  * Generates a cache key for the ImageTexture based on the provided props.
@@ -211,22 +111,20 @@ export class ImageTexture extends Texture {
211
111
  * @returns The cache key as a string, or `false` if the key cannot be generated.
212
112
  */
213
113
  static makeCacheKey(props) {
214
- const resolvedProps = ImageTexture.resolveDefaults(props);
215
114
  // Only cache key-able textures; prioritise key
216
- const key = resolvedProps.key || resolvedProps.src;
115
+ const key = props.key || props.src;
217
116
  if (typeof key !== 'string') {
218
117
  return false;
219
118
  }
220
- // if we have source dimensions, cache the texture separately
221
- let dimensionProps = '';
222
- if (resolvedProps.sh !== null && resolvedProps.sw !== null) {
223
- dimensionProps += ',';
224
- dimensionProps += resolvedProps.sx ?? '';
225
- dimensionProps += resolvedProps.sy ?? '';
226
- dimensionProps += resolvedProps.sw || '';
227
- dimensionProps += resolvedProps.sh || '';
119
+ let cacheKey = `ImageTexture,${key},${props.premultiplyAlpha ?? 'true'},${props.maxRetryCount}`;
120
+ if (props.sh !== null && props.sw !== null) {
121
+ cacheKey += ',';
122
+ cacheKey += props.sx ?? '';
123
+ cacheKey += props.sy ?? '';
124
+ cacheKey += props.sw || '';
125
+ cacheKey += props.sh || '';
228
126
  }
229
- return `ImageTexture,${key},${resolvedProps.premultiplyAlpha ?? 'true'}${dimensionProps}`;
127
+ return cacheKey;
230
128
  }
231
129
  static resolveDefaults(props) {
232
130
  return {
@@ -234,14 +132,37 @@ export class ImageTexture extends Texture {
234
132
  premultiplyAlpha: props.premultiplyAlpha ?? true, // null,
235
133
  key: props.key ?? null,
236
134
  type: props.type ?? null,
237
- width: props.width ?? null,
238
- height: props.height ?? null,
135
+ w: props.w ?? null,
136
+ h: props.h ?? null,
239
137
  sx: props.sx ?? null,
240
138
  sy: props.sy ?? null,
241
139
  sw: props.sw ?? null,
242
140
  sh: props.sh ?? null,
141
+ maxRetryCount: props.maxRetryCount ?? 5,
243
142
  };
244
143
  }
245
144
  static z$__type__Props;
246
145
  }
146
+ /**
147
+ * Tests if the given location is a SVG
148
+ * @param url
149
+ * @remarks
150
+ * This function is used to determine if the given image url is a SVG
151
+ * image
152
+ * @returns
153
+ */
154
+ export function isSvgImage(url) {
155
+ return /\.(svg)(\?.*)?$/.test(url);
156
+ }
157
+ /**
158
+ * Tests if the given location is a compressed texture container
159
+ * @param url
160
+ * @remarks
161
+ * This function is used to determine if the given image url is a compressed
162
+ * and only supports the following extensions: .ktx and .pvr
163
+ * @returns
164
+ */
165
+ export function isCompressedTextureContainer(src) {
166
+ return /\.(ktx|pvr)$/.test(src);
167
+ }
247
168
  //# sourceMappingURL=ImageTexture.js.map