@lightningjs/renderer 3.0.0-beta14 → 3.0.0-beta16

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 (283) hide show
  1. package/dist/exports/index.d.ts +1 -0
  2. package/dist/exports/index.js.map +1 -1
  3. package/dist/src/core/CoreNode.d.ts +1 -1
  4. package/dist/src/core/CoreTextNode.d.ts +1 -2
  5. package/dist/src/core/CoreTextNode.js +43 -21
  6. package/dist/src/core/CoreTextNode.js.map +1 -1
  7. package/dist/src/core/Stage.js +2 -3
  8. package/dist/src/core/Stage.js.map +1 -1
  9. package/dist/src/core/TextureError.d.ts +11 -0
  10. package/dist/src/core/TextureError.js +37 -0
  11. package/dist/src/core/TextureError.js.map +1 -0
  12. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  13. package/dist/src/core/animations/CoreAnimation.js +3 -3
  14. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  15. package/dist/src/core/lib/WebGlContextWrapper.d.ts +5 -5
  16. package/dist/src/core/lib/textureCompression.js +1 -1
  17. package/dist/src/core/lib/textureCompression.js.map +1 -1
  18. package/dist/src/core/platform.d.ts +10 -0
  19. package/dist/src/core/platform.js +81 -0
  20. package/dist/src/core/platform.js.map +1 -0
  21. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  22. package/{src/core/text-rendering/sdf/index.ts → dist/src/core/renderers/CoreShader.js} +11 -3
  23. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  24. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  25. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  26. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  27. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  28. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
  29. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  30. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +14 -0
  31. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +138 -0
  32. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
  33. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +19 -0
  34. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +58 -0
  35. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
  36. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  37. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
  38. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  39. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  40. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  41. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  42. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  48. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  49. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  51. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  52. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +641 -0
  53. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  54. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
  55. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
  56. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  57. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  58. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
  59. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  60. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  61. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
  62. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  63. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  64. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
  65. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  66. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  67. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
  68. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  69. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  70. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
  71. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  72. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  73. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  74. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  75. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  76. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  77. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  78. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  79. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  80. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  81. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  82. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  83. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  84. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  85. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  86. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  87. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  88. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  89. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  90. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  91. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  92. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  93. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  94. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  95. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  96. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  97. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  98. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  99. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  100. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  101. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  102. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  103. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +134 -0
  104. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  105. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
  106. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +143 -0
  107. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  108. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  109. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  110. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  111. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  112. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  113. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  114. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  115. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  116. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  117. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +1 -1
  118. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  119. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +1 -1
  120. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  121. package/dist/src/core/shaders/webgl/LinearGradient.js +26 -3
  122. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  123. package/dist/src/core/shaders/webgl/RadialGradient.js +49 -27
  124. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  125. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  126. package/dist/src/core/shaders/webgl/SdfShader.js +1 -10
  127. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  128. package/dist/src/core/text-rendering/CanvasFont.d.ts +14 -0
  129. package/dist/src/core/text-rendering/CanvasFont.js +111 -0
  130. package/dist/src/core/text-rendering/CanvasFont.js.map +1 -0
  131. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +21 -3
  132. package/dist/src/core/text-rendering/CanvasFontHandler.js +97 -32
  133. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
  134. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +2 -7
  135. package/dist/src/core/text-rendering/CanvasTextRenderer.js +51 -260
  136. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -1
  137. package/dist/src/core/text-rendering/CoreFont.d.ts +33 -0
  138. package/dist/src/core/text-rendering/CoreFont.js +48 -0
  139. package/dist/src/core/text-rendering/CoreFont.js.map +1 -0
  140. package/dist/src/core/text-rendering/FontManager.d.ts +11 -0
  141. package/dist/src/core/text-rendering/FontManager.js +42 -0
  142. package/dist/src/core/text-rendering/FontManager.js.map +1 -0
  143. package/dist/src/core/text-rendering/SdfFont.d.ts +29 -0
  144. package/dist/src/core/text-rendering/SdfFont.js +142 -0
  145. package/dist/src/core/text-rendering/SdfFont.js.map +1 -0
  146. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +35 -5
  147. package/dist/src/core/text-rendering/SdfFontHandler.js +79 -56
  148. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
  149. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +1 -1
  150. package/dist/src/core/text-rendering/SdfTextRenderer.js +38 -82
  151. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -1
  152. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +19 -0
  153. package/dist/src/core/text-rendering/{sdf/Utils.js → TextLayoutEngine.js} +125 -107
  154. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  155. package/dist/src/core/text-rendering/TextRenderer.d.ts +30 -13
  156. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
  157. package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
  158. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
  159. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +72 -0
  160. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +217 -0
  161. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
  162. package/dist/src/core/text-rendering/TrFontManager.d.ts +26 -0
  163. package/dist/src/core/text-rendering/TrFontManager.js +131 -0
  164. package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
  165. package/dist/src/core/text-rendering/Utils.d.ts +1 -42
  166. package/dist/src/core/text-rendering/Utils.js +4 -132
  167. package/dist/src/core/text-rendering/Utils.js.map +1 -1
  168. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +39 -0
  169. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +125 -0
  170. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -0
  171. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +103 -0
  172. package/dist/src/core/text-rendering/{sdf/index.js → font-face-types/SdfTrFontFace/internal/FontShaper.js} +4 -3
  173. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +1 -0
  174. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +62 -0
  175. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +88 -0
  176. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -0
  177. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +118 -0
  178. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +63 -0
  179. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -0
  180. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +14 -0
  181. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +66 -0
  182. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
  183. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +1 -0
  184. package/dist/src/core/text-rendering/font-face-types/utils.js +38 -0
  185. package/dist/src/core/text-rendering/font-face-types/utils.js.map +1 -0
  186. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +59 -0
  187. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +397 -0
  188. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
  189. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +120 -0
  190. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +551 -0
  191. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
  192. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +92 -0
  193. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +607 -0
  194. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -0
  195. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +12 -0
  196. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +61 -0
  197. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +1 -0
  198. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +33 -0
  199. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +52 -0
  200. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +1 -0
  201. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +13 -0
  202. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +32 -0
  203. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +1 -0
  204. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +23 -0
  205. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +84 -0
  206. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -0
  207. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +4 -0
  208. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +34 -0
  209. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +1 -0
  210. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +20 -0
  211. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +308 -0
  212. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -0
  213. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +10 -0
  214. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +40 -0
  215. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
  216. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
  217. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
  218. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
  219. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
  220. package/dist/src/core/text-rendering/{canvas/Settings.js → renderers/SdfTextRenderer/internal/util.js} +22 -3
  221. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
  222. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +373 -0
  223. package/dist/src/core/text-rendering/renderers/TextRenderer.js +178 -0
  224. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
  225. package/dist/src/core/utils.d.ts +2 -1
  226. package/dist/src/core/utils.js +1 -1
  227. package/dist/src/core/utils.js.map +1 -1
  228. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  229. package/dist/src/main-api/DynamicShaderController.js +58 -0
  230. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  231. package/dist/src/main-api/Inspector.d.ts +124 -0
  232. package/dist/src/main-api/Inspector.js +292 -13
  233. package/dist/src/main-api/Inspector.js.map +1 -1
  234. package/dist/src/main-api/Renderer.d.ts +150 -26
  235. package/dist/src/main-api/Renderer.js +27 -25
  236. package/dist/src/main-api/Renderer.js.map +1 -1
  237. package/dist/src/main-api/ShaderController.d.ts +31 -0
  238. package/dist/src/main-api/ShaderController.js +37 -0
  239. package/dist/src/main-api/ShaderController.js.map +1 -0
  240. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  241. package/exports/index.ts +1 -0
  242. package/package.json +14 -15
  243. package/src/core/CoreTextNode.ts +55 -27
  244. package/src/core/Stage.ts +2 -3
  245. package/src/core/animations/CoreAnimation.ts +8 -9
  246. package/src/core/lib/textureCompression.ts +4 -2
  247. package/src/core/shaders/canvas/RoundedWithBorder.ts +1 -1
  248. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +1 -1
  249. package/src/core/shaders/webgl/LinearGradient.ts +26 -3
  250. package/src/core/shaders/webgl/RadialGradient.ts +50 -28
  251. package/src/core/shaders/webgl/SdfShader.ts +1 -12
  252. package/src/core/text-rendering/CanvasFontHandler.ts +139 -39
  253. package/src/core/text-rendering/CanvasTextRenderer.ts +75 -440
  254. package/src/core/text-rendering/SdfFontHandler.ts +97 -60
  255. package/src/core/text-rendering/SdfTextRenderer.ts +62 -116
  256. package/src/core/text-rendering/{sdf/Utils.ts → TextLayoutEngine.ts} +211 -145
  257. package/src/core/text-rendering/TextRenderer.ts +36 -13
  258. package/src/core/text-rendering/Utils.ts +5 -163
  259. package/src/core/text-rendering/{sdf/Utils.test.ts → tests/Canvas.test.ts} +98 -122
  260. package/src/core/text-rendering/tests/SdfTests.test.ts +414 -0
  261. package/src/core/utils.ts +9 -7
  262. package/src/main-api/Inspector.ts +511 -17
  263. package/src/main-api/Renderer.ts +158 -26
  264. package/dist/src/core/text-rendering/canvas/Settings.d.ts +0 -64
  265. package/dist/src/core/text-rendering/canvas/Settings.js.map +0 -1
  266. package/dist/src/core/text-rendering/canvas/Utils.d.ts +0 -20
  267. package/dist/src/core/text-rendering/canvas/Utils.js +0 -144
  268. package/dist/src/core/text-rendering/canvas/Utils.js.map +0 -1
  269. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.d.ts +0 -60
  270. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js +0 -183
  271. package/dist/src/core/text-rendering/canvas/calculateRenderInfo.js.map +0 -1
  272. package/dist/src/core/text-rendering/canvas/draw.d.ts +0 -5
  273. package/dist/src/core/text-rendering/canvas/draw.js +0 -132
  274. package/dist/src/core/text-rendering/canvas/draw.js.map +0 -1
  275. package/dist/src/core/text-rendering/sdf/Utils.d.ts +0 -26
  276. package/dist/src/core/text-rendering/sdf/Utils.js.map +0 -1
  277. package/dist/src/core/text-rendering/sdf/index.d.ts +0 -1
  278. package/dist/src/core/text-rendering/sdf/index.js.map +0 -1
  279. package/src/core/text-rendering/canvas/Settings.ts +0 -99
  280. package/src/core/text-rendering/canvas/Utils.test.ts +0 -206
  281. package/src/core/text-rendering/canvas/Utils.ts +0 -178
  282. package/src/core/text-rendering/canvas/calculateRenderInfo.ts +0 -299
  283. package/src/core/text-rendering/canvas/draw.ts +0 -165
@@ -1 +1 @@
1
- {"version":3,"file":"SdfFontHandler.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/SdfFontHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SdfFontHandler.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/SdfFontHandler.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import type { TextLayout } from './TextRenderer.js';
9
9
  declare const SdfTextRenderer: {
10
10
  type: "sdf";
11
11
  font: FontHandler;
12
- renderText: (stage: Stage, props: CoreTextNodeProps) => TextRenderInfo;
12
+ renderText: (props: CoreTextNodeProps) => TextRenderInfo;
13
13
  addQuads: (layout?: TextLayout) => Float32Array | null;
14
14
  renderQuads: (renderer: CoreRenderer, layout: TextLayout, vertexBuffer: Float32Array, renderProps: TextRenderProps) => void;
15
15
  init: (stage: Stage) => void;
@@ -16,14 +16,14 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
- import { isZeroWidthSpace } from './Utils.js';
19
+ import { hasZeroWidthSpace } from './Utils.js';
20
20
  import * as SdfFontHandler from './SdfFontHandler.js';
21
21
  import { WebGlRenderer } from '../renderers/webgl/WebGlRenderer.js';
22
22
  import { WebGlRenderOp } from '../renderers/webgl/WebGlRenderOp.js';
23
23
  import { Sdf } from '../shaders/webgl/SdfShader.js';
24
24
  import { BufferCollection } from '../renderers/webgl/internal/BufferCollection.js';
25
25
  import { mergeColorAlpha } from '../../utils.js';
26
- import { wrapText, measureLines } from './sdf/index.js';
26
+ import { mapTextLayout } from './TextLayoutEngine.js';
27
27
  // Each glyph requires 6 vertices (2 triangles) with 4 floats each (x, y, u, v)
28
28
  const FLOATS_PER_VERTEX = 4;
29
29
  const VERTICES_PER_GLYPH = 6;
@@ -45,7 +45,7 @@ const font = SdfFontHandler;
45
45
  * @param props - Text rendering properties
46
46
  * @returns Object containing ImageData and dimensions
47
47
  */
48
- const renderText = (stage, props) => {
48
+ const renderText = (props) => {
49
49
  // Early return if no text
50
50
  if (props.text.length === 0) {
51
51
  return {
@@ -55,7 +55,7 @@ const renderText = (stage, props) => {
55
55
  }
56
56
  // Get font cache for this font family
57
57
  const fontData = SdfFontHandler.getFontData(props.fontFamily);
58
- if (fontData === null) {
58
+ if (fontData === undefined) {
59
59
  // Font not loaded, return empty result
60
60
  return {
61
61
  width: 0,
@@ -66,6 +66,8 @@ const renderText = (stage, props) => {
66
66
  const layout = generateTextLayout(props, fontData);
67
67
  // For SDF renderer, ImageData is null since we render via WebGL
68
68
  return {
69
+ remainingLines: 0,
70
+ hasRemainingText: false,
69
71
  width: layout.width,
70
72
  height: layout.height,
71
73
  layout, // Cache layout for addQuads
@@ -142,7 +144,6 @@ const addQuads = (layout) => {
142
144
  const renderQuads = (renderer, layout, vertexBuffer, renderProps) => {
143
145
  const fontFamily = renderProps.fontFamily;
144
146
  const color = renderProps.color;
145
- const offsetY = renderProps.offsetY;
146
147
  const worldAlpha = renderProps.worldAlpha;
147
148
  const globalTransform = renderProps.globalTransform;
148
149
  const atlasTexture = SdfFontHandler.getAtlas(fontFamily);
@@ -190,9 +191,7 @@ const renderQuads = (renderer, layout, vertexBuffer, renderProps) => {
190
191
  transform: globalTransform,
191
192
  color: mergeColorAlpha(color, worldAlpha),
192
193
  size: layout.fontScale, // Use proper font scaling in shader
193
- scrollY: offsetY || 0,
194
194
  distanceRange: layout.distanceRange,
195
- debug: false, // Disable debug mode
196
195
  },
197
196
  sdfBuffers: webGlBuffers,
198
197
  shader: sdfShader,
@@ -214,85 +213,42 @@ const renderQuads = (renderer, layout, vertexBuffer, renderProps) => {
214
213
  /**
215
214
  * Generate complete text layout with glyph positioning for caching
216
215
  */
217
- const generateTextLayout = (props, fontData) => {
218
- const commonFontData = fontData.common;
219
- const text = props.text;
216
+ const generateTextLayout = (props, fontCache) => {
220
217
  const fontSize = props.fontSize;
221
- const letterSpacing = props.letterSpacing;
222
218
  const fontFamily = props.fontFamily;
223
- const textAlign = props.textAlign;
224
- const maxWidth = props.maxWidth;
225
- const maxHeight = props.maxHeight;
226
- const maxLines = props.maxLines;
227
- const overflowSuffix = props.overflowSuffix;
228
- const wordBreak = props.wordBreak;
229
- // Use the font's design size for proper scaling
230
- const designLineHeight = commonFontData.lineHeight;
219
+ const lineHeight = props.lineHeight;
220
+ const metrics = SdfFontHandler.getFontMetrics(fontFamily, fontSize);
221
+ const verticalAlign = props.verticalAlign;
222
+ const fontData = fontCache.data;
223
+ const commonFontData = fontData.common;
231
224
  const designFontSize = fontData.info.size;
232
- const lineHeight = props.lineHeight || (designLineHeight * fontSize) / designFontSize;
233
225
  const atlasWidth = commonFontData.scaleW;
234
226
  const atlasHeight = commonFontData.scaleH;
235
227
  // Calculate the pixel scale from design units to pixels
236
- const finalScale = fontSize / designFontSize;
237
- // Calculate design letter spacing
238
- const designLetterSpacing = (letterSpacing * designFontSize) / fontSize;
239
- // Determine text wrapping behavior based on contain mode
240
- const shouldWrapText = maxWidth > 0;
241
- const heightConstraint = maxHeight > 0;
242
- // Calculate maximum lines constraint from height if needed
243
- let effectiveMaxLines = maxLines;
244
- if (heightConstraint === true) {
245
- const maxLinesFromHeight = Math.floor(maxHeight / (lineHeight * finalScale));
246
- if (effectiveMaxLines === 0 || maxLinesFromHeight < effectiveMaxLines) {
247
- effectiveMaxLines = maxLinesFromHeight;
248
- }
249
- }
250
- const hasMaxLines = effectiveMaxLines > 0;
251
- // Split text into lines based on wrapping constraints
252
- const [lines, remainingLines, remainingText] = shouldWrapText
253
- ? wrapText(text, fontFamily, finalScale, maxWidth, letterSpacing, overflowSuffix, wordBreak, effectiveMaxLines, hasMaxLines)
254
- : measureLines(text.split('\n'), fontFamily, letterSpacing, finalScale, effectiveMaxLines, hasMaxLines);
228
+ const fontScale = fontSize / designFontSize;
229
+ const letterSpacing = props.letterSpacing / fontScale;
230
+ const maxWidth = props.maxWidth / fontScale;
231
+ const maxHeight = props.maxHeight;
232
+ const [lines, remainingLines, hasRemainingText, bareLineHeight, lineHeightPx, effectiveWidth, effectiveHeight,] = mapTextLayout(SdfFontHandler.measureText, metrics, props.text, props.textAlign, verticalAlign, fontFamily, lineHeight, props.overflowSuffix, props.wordBreak, letterSpacing, props.maxLines, maxWidth, maxHeight);
233
+ const lineAmount = lines.length;
255
234
  const glyphs = [];
256
- let maxWidthFound = 0;
235
+ let currentX = 0;
257
236
  let currentY = 0;
258
- for (let i = 0; i < lines.length; i++) {
259
- if (lines[i][1] > maxWidthFound) {
260
- maxWidthFound = lines[i][1];
261
- }
262
- }
263
- // Second pass: Generate glyph layouts with proper alignment
264
- let lineIndex = 0;
265
- const linesLength = lines.length;
266
- while (lineIndex < linesLength) {
267
- const [line, lineWidth] = lines[lineIndex];
268
- lineIndex++;
269
- // Calculate line X offset based on text alignment
270
- let lineXOffset = 0;
271
- if (textAlign === 'center') {
272
- const availableWidth = shouldWrapText
273
- ? maxWidth / finalScale
274
- : maxWidthFound;
275
- lineXOffset = (availableWidth - lineWidth) / 2;
276
- }
277
- else if (textAlign === 'right') {
278
- const availableWidth = shouldWrapText
279
- ? maxWidth / finalScale
280
- : maxWidthFound;
281
- lineXOffset = availableWidth - lineWidth;
282
- }
283
- let currentX = lineXOffset;
284
- let charIndex = 0;
285
- const lineLength = line.length;
237
+ for (let i = 0; i < lineAmount; i++) {
238
+ const line = lines[i];
239
+ const textLine = line[0];
240
+ const textLineLength = textLine.length;
286
241
  let prevCodepoint = 0;
287
- while (charIndex < lineLength) {
288
- const char = line.charAt(charIndex);
289
- const codepoint = char.codePointAt(0);
290
- charIndex++;
291
- if (codepoint === undefined) {
242
+ currentX = line[2];
243
+ //convert Y coord to vertex value
244
+ currentY = line[3] / fontScale;
245
+ for (let j = 0; j < textLineLength; j++) {
246
+ const char = textLine.charAt(j);
247
+ if (hasZeroWidthSpace(char) === true) {
292
248
  continue;
293
249
  }
294
- // Skip zero-width spaces for rendering but keep them in the text flow
295
- if (isZeroWidthSpace(char)) {
250
+ const codepoint = char.codePointAt(0);
251
+ if (codepoint === undefined) {
296
252
  continue;
297
253
  }
298
254
  // Get glyph data from font handler
@@ -324,19 +280,19 @@ const generateTextLayout = (props, fontData) => {
324
280
  };
325
281
  glyphs.push(glyphLayout);
326
282
  // Advance position with letter spacing (in design units)
327
- currentX += advance + designLetterSpacing;
283
+ currentX += advance + letterSpacing;
328
284
  prevCodepoint = codepoint;
329
285
  }
330
- currentY += designLineHeight;
286
+ currentY += lineHeightPx;
331
287
  }
332
288
  // Convert final dimensions to pixel space for the layout
333
289
  return {
334
290
  glyphs,
335
- distanceRange: finalScale * fontData.distanceField.distanceRange,
336
- width: Math.ceil(maxWidthFound * finalScale),
337
- height: Math.ceil(designLineHeight * lines.length * finalScale),
338
- fontScale: finalScale,
339
- lineHeight,
291
+ distanceRange: fontScale * fontData.distanceField.distanceRange,
292
+ width: effectiveWidth * fontScale,
293
+ height: effectiveHeight,
294
+ fontScale: fontScale,
295
+ lineHeight: lineHeightPx,
340
296
  fontFamily,
341
297
  };
342
298
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SdfTextRenderer.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/SdfTextRenderer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AASH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,cAAc,MAAM,qBAAqB,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,GAAG,EAAuB,MAAM,+BAA+B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iDAAiD,CAAC;AAGnF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAExD,+EAA+E;AAC/E,MAAM,iBAAiB,GAAG,CAAC,CAAC;AAC5B,MAAM,kBAAkB,GAAG,CAAC,CAAC;AAE7B,qCAAqC;AACrC,MAAM,IAAI,GAAG,KAAc,CAAC;AAE5B,IAAI,SAAS,GAA2B,IAAI,CAAC;AAE7C,mCAAmC;AACnC,MAAM,IAAI,GAAG,CAAC,KAAY,EAAQ,EAAE;IAClC,cAAc,CAAC,IAAI,EAAE,CAAC;IAEtB,8CAA8C;IAC9C,KAAK,CAAC,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC/C,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC,YAAY,CAAC,KAAK,CAAoB,CAAC;AACrE,CAAC,CAAC;AAEF,MAAM,IAAI,GAAgB,cAAc,CAAC;AAEzC;;;;;;GAMG;AACH,MAAM,UAAU,GAAG,CAAC,KAAY,EAAE,KAAwB,EAAkB,EAAE;IAC5E,0BAA0B;IAC1B,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,sCAAsC;IACtC,MAAM,QAAQ,GAAG,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC9D,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,uCAAuC;QACvC,OAAO;YACL,KAAK,EAAE,CAAC;YACR,MAAM,EAAE,CAAC;SACV,CAAC;IACJ,CAAC;IAED,4DAA4D;IAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IAEnD,gEAAgE;IAChE,OAAO;QACL,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,MAAM,EAAE,4BAA4B;KACrC,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,QAAQ,GAAG,CAAC,MAAmB,EAAuB,EAAE;IAC5D,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,CAAC,2BAA2B;IAC1C,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;IAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC;IAEnC,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,YAAY,CACnC,YAAY,GAAG,kBAAkB,GAAG,iBAAiB,CACtD,CAAC;IAEF,IAAI,WAAW,GAAG,CAAC,CAAC;IACpB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,OAAO,UAAU,GAAG,YAAY,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;QACjC,UAAU,EAAE,CAAC;QACb,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,SAAS;QACX,CAAC;QAED,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;QACnB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC;QAC5B,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QAE7B,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;QACxB,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QACjC,MAAM,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;QAElC,+CAA+C;QAC/C,qBAAqB;QACrB,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEjC,sBAAsB;QACtB,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEjC,wBAAwB;QACxB,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEjC,mDAAmD;QACnD,kCAAkC;QAClC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEjC,yBAAyB;QACzB,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QAEjC,oCAAoC;QACpC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;QACjC,YAAY,CAAC,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,CAClB,QAAsB,EACtB,MAAkB,EAClB,YAA0B,EAC1B,WAA4B,EACtB,EAAE;IACR,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAC1C,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC;IAChC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;IACpC,MAAM,UAAU,GAAG,WAAW,CAAC,UAAU,CAAC;IAC1C,MAAM,eAAe,GAAG,WAAW,CAAC,eAAe,CAAC;IAEpD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;QAC1B,OAAO,CAAC,IAAI,CAAC,yCAAyC,UAAU,EAAE,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,6EAA6E;IAC7E,MAAM,GAAG,GAAI,QAA0B,CAAC,GAAG,CAAC;IAC5C,MAAM,MAAM,GAAG,CAAC,GAAG,YAAY,CAAC,iBAAiB,CAAC;IAClD,MAAM,WAAW,GAAG,GAAG,CAAC,YAAY,EAAE,CAAC;IAEvC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;QAC3D,OAAO;IACT,CAAC;IAED,MAAM,YAAY,GAAG,IAAI,gBAAgB,CAAC;QACxC;YACE,MAAM,EAAE,WAAW;YACnB,UAAU,EAAE;gBACV,UAAU,EAAE;oBACV,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,GAAG,CAAC,KAAe;oBACzB,UAAU,EAAE,KAAK;oBACjB,MAAM;oBACN,MAAM,EAAE,CAAC;iBACV;gBACD,eAAe,EAAE;oBACf,IAAI,EAAE,iBAAiB;oBACvB,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,GAAG,CAAC,KAAe;oBACzB,UAAU,EAAE,KAAK;oBACjB,MAAM;oBACN,MAAM,EAAE,CAAC,GAAG,YAAY,CAAC,iBAAiB;iBAC3C;aACF;SACF;KACF,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;IACpD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,GAAG,CAAC,eAAe,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,CAAC,WAAqB,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,aAAa,CAChC,QAAyB,EACzB;QACE,cAAc,EAAE;YACd,SAAS,EAAE,eAAe;YAC1B,KAAK,EAAE,eAAe,CAAC,KAAK,EAAE,UAAU,CAAC;YACzC,IAAI,EAAE,MAAM,CAAC,SAAS,EAAE,oCAAoC;YAC5D,OAAO,EAAE,OAAO,IAAI,CAAC;YACrB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,KAAK,EAAE,KAAK,EAAE,qBAAqB;SACX;QAC1B,UAAU,EAAE,YAAY;QACxB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,UAAU;QACjB,uGAAuG;QACvG,YAAY,EAAE,WAAW,CAAC,YAAmB;QAC7C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,GAAG,EAAE,KAAK;QACV,sBAAsB,EAAE,WAAW,CAAC,sBAAsB;QAC1D,uGAAuG;QACvG,qBAAqB,EAAE,WAAW,CAAC,qBAA4B;KAChE,EACD,CAAC,CACF,CAAC;IAEF,uCAAuC;IACvC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,UAA6B,CAAC,CAAC;IAChE,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;IAExC,QAA0B,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;AACpD,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,kBAAkB,GAAG,CACzB,KAAwB,EACxB,QAAoC,EACxB,EAAE;IACd,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC;IACvC,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,aAAa,GAAG,KAAK,CAAC,aAAa,CAAC;IAC1C,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,CAAC;IACpC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAClC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;IAChC,MAAM,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;IAElC,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,cAAc,CAAC,UAAU,CAAC;IAEnD,MAAM,cAAc,GAAG,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC;IAE1C,MAAM,UAAU,GACd,KAAK,CAAC,UAAU,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC,GAAG,cAAc,CAAC;IACrE,MAAM,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC;IACzC,MAAM,WAAW,GAAG,cAAc,CAAC,MAAM,CAAC;IAE1C,wDAAwD;IACxD,MAAM,UAAU,GAAG,QAAQ,GAAG,cAAc,CAAC;IAE7C,kCAAkC;IAClC,MAAM,mBAAmB,GAAG,CAAC,aAAa,GAAG,cAAc,CAAC,GAAG,QAAQ,CAAC;IAExE,yDAAyD;IACzD,MAAM,cAAc,GAAG,QAAQ,GAAG,CAAC,CAAC;IACpC,MAAM,gBAAgB,GAAG,SAAS,GAAG,CAAC,CAAC;IAEvC,2DAA2D;IAC3D,IAAI,iBAAiB,GAAG,QAAQ,CAAC;IACjC,IAAI,gBAAgB,KAAK,IAAI,EAAE,CAAC;QAC9B,MAAM,kBAAkB,GAAG,IAAI,CAAC,KAAK,CACnC,SAAS,GAAG,CAAC,UAAU,GAAG,UAAU,CAAC,CACtC,CAAC;QACF,IAAI,iBAAiB,KAAK,CAAC,IAAI,kBAAkB,GAAG,iBAAiB,EAAE,CAAC;YACtE,iBAAiB,GAAG,kBAAkB,CAAC;QACzC,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,iBAAiB,GAAG,CAAC,CAAC;IAE1C,sDAAsD;IACtD,MAAM,CAAC,KAAK,EAAE,cAAc,EAAE,aAAa,CAAC,GAAG,cAAc;QAC3D,CAAC,CAAC,QAAQ,CACN,IAAI,EACJ,UAAU,EACV,UAAU,EACV,QAAQ,EACR,aAAa,EACb,cAAc,EACd,SAAS,EACT,iBAAiB,EACjB,WAAW,CACZ;QACH,CAAC,CAAC,YAAY,CACV,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAChB,UAAU,EACV,aAAa,EACb,UAAU,EACV,iBAAiB,EACjB,WAAW,CACZ,CAAC;IAEN,MAAM,MAAM,GAAkB,EAAE,CAAC;IACjC,IAAI,aAAa,GAAG,CAAC,CAAC;IACtB,IAAI,QAAQ,GAAG,CAAC,CAAC;IAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,IAAI,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,GAAG,aAAa,EAAE,CAAC;YACjC,aAAa,GAAG,KAAK,CAAC,CAAC,CAAE,CAAC,CAAC,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,4DAA4D;IAC5D,IAAI,SAAS,GAAG,CAAC,CAAC;IAClB,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAEjC,OAAO,SAAS,GAAG,WAAW,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,SAAS,CAAE,CAAC;QAC5C,SAAS,EAAE,CAAC;QAEZ,kDAAkD;QAClD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC3B,MAAM,cAAc,GAAG,cAAc;gBACnC,CAAC,CAAC,QAAQ,GAAG,UAAU;gBACvB,CAAC,CAAC,aAAa,CAAC;YAClB,WAAW,GAAG,CAAC,cAAc,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QACjD,CAAC;aAAM,IAAI,SAAS,KAAK,OAAO,EAAE,CAAC;YACjC,MAAM,cAAc,GAAG,cAAc;gBACnC,CAAC,CAAC,QAAQ,GAAG,UAAU;gBACvB,CAAC,CAAC,aAAa,CAAC;YAClB,WAAW,GAAG,cAAc,GAAG,SAAS,CAAC;QAC3C,CAAC;QAED,IAAI,QAAQ,GAAG,WAAW,CAAC;QAC3B,IAAI,SAAS,GAAG,CAAC,CAAC;QAClB,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;QAC/B,IAAI,aAAa,GAAG,CAAC,CAAC;QAEtB,OAAO,SAAS,GAAG,UAAU,EAAE,CAAC;YAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YACpC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YACtC,SAAS,EAAE,CAAC;YAEZ,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;gBAC5B,SAAS;YACX,CAAC;YAED,sEAAsE;YACtE,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC3B,SAAS;YACX,CAAC;YAED,mCAAmC;YACnC,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;YAC7D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;gBACnB,SAAS;YACX,CAAC;YAED,mDAAmD;YACnD,IAAI,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;YAE7B,8CAA8C;YAC9C,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,cAAc,CAAC,UAAU,CACvC,UAAU,EACV,aAAa,EACb,SAAS,CACV,CAAC;gBACF,OAAO,IAAI,OAAO,CAAC;YACrB,CAAC;YAED,mEAAmE;YACnE,MAAM,WAAW,GAAgB;gBAC/B,SAAS;gBACT,OAAO,EAAE,KAAK,CAAC,EAAE;gBACjB,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO;gBAC3B,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC,OAAO;gBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;gBAClB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,UAAU;gBAC5B,MAAM,EAAE,KAAK,CAAC,CAAC,GAAG,WAAW;gBAC7B,UAAU,EAAE,KAAK,CAAC,KAAK,GAAG,UAAU;gBACpC,WAAW,EAAE,KAAK,CAAC,MAAM,GAAG,WAAW;aACxC,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAEzB,yDAAyD;YACzD,QAAQ,IAAI,OAAO,GAAG,mBAAmB,CAAC;YAC1C,aAAa,GAAG,SAAS,CAAC;QAC5B,CAAC;QAED,QAAQ,IAAI,gBAAgB,CAAC;IAC/B,CAAC;IAED,yDAAyD;IACzD,OAAO;QACL,MAAM;QACN,aAAa,EAAE,UAAU,GAAG,QAAQ,CAAC,aAAa,CAAC,aAAa;QAChE,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,UAAU,CAAC;QAC5C,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;QAC/D,SAAS,EAAE,UAAU;QACrB,UAAU;QACV,UAAU;KACX,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,IAAI;IACJ,IAAI;IACJ,UAAU;IACV,QAAQ;IACR,WAAW;IACX,IAAI;CACL,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"SdfTextRenderer.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/SdfTextRenderer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { FontMetrics, MeasureTextFn, NormalizedFontMetrics, TextLayoutStruct, WrappedLinesStruct } from './TextRenderer.js';
2
+ export declare const defaultFontMetrics: FontMetrics;
3
+ export declare const normalizeFontMetrics: (metrics: FontMetrics, fontSize: number) => NormalizedFontMetrics;
4
+ export declare const mapTextLayout: (measureText: MeasureTextFn, metrics: NormalizedFontMetrics, text: string, textAlign: string, verticalAlign: string, fontFamily: string, lineHeight: number, overflowSuffix: string, wordBreak: string, letterSpacing: number, maxLines: number, maxWidth: number, maxHeight: number) => TextLayoutStruct;
5
+ export declare const measureLines: (measureText: MeasureTextFn, lines: string[], fontFamily: string, letterSpacing: number, maxLines: number) => WrappedLinesStruct;
6
+ export declare const wrapText: (measureText: MeasureTextFn, text: string, fontFamily: string, maxWidth: number, letterSpacing: number, overflowSuffix: string, wordBreak: string, maxLines: number) => WrappedLinesStruct;
7
+ export declare const wrapLine: (measureText: MeasureTextFn, line: string, fontFamily: string, maxWidth: number, letterSpacing: number, spaceWidth: number, overflowSuffix: string, wordBreak: string, remainingLines: number, hasMaxLines: boolean) => WrappedLinesStruct;
8
+ /**
9
+ * Truncate a line with overflow suffix to fit within width
10
+ */
11
+ export declare const truncateLineWithSuffix: (measureText: MeasureTextFn, line: string, fontFamily: string, maxWidth: number, letterSpacing: number, overflowSuffix: string) => string;
12
+ /**
13
+ * wordbreak function: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word
14
+ */
15
+ export declare const breakWord: (measureText: MeasureTextFn, word: string, fontFamily: string, maxWidth: number, letterSpacing: number, remainingLines: number) => WrappedLinesStruct;
16
+ /**
17
+ * wordbreak function: https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word
18
+ */
19
+ export declare const breakAll: (measureText: MeasureTextFn, word: string, fontFamily: string, initial: number, maxWidth: number, letterSpacing: number, remainingLines: number) => WrappedLinesStruct;