@lightningjs/renderer 3.0.0-beta10 → 3.0.0-beta11

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 (275) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +133 -133
  4. package/dist/src/core/CoreTextNode.d.ts +3 -0
  5. package/dist/src/core/CoreTextNode.js +45 -10
  6. package/dist/src/core/CoreTextNode.js.map +1 -1
  7. package/dist/src/core/platform.d.ts +10 -0
  8. package/dist/src/core/platform.js +81 -0
  9. package/dist/src/core/platform.js.map +1 -0
  10. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  11. package/dist/src/core/renderers/CoreShader.js +28 -0
  12. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  13. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  14. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  15. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  16. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +16 -0
  17. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +124 -0
  18. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  19. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
  20. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
  21. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  22. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
  23. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
  24. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  25. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  26. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
  27. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  28. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  29. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  30. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  31. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  32. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  33. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  34. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +56 -0
  35. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +239 -0
  36. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  37. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  38. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  39. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  40. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  41. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +616 -0
  42. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  43. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +83 -0
  44. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +233 -0
  45. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  46. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +35 -35
  47. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  48. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +87 -0
  49. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  50. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  51. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +119 -0
  52. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  53. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  54. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +413 -0
  55. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  56. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  57. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +131 -0
  58. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  59. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  60. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +160 -0
  61. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  62. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  63. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  64. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  65. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  66. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  67. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  68. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  69. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  70. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  71. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  72. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  73. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  74. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  75. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  76. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  77. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  78. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  79. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  80. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  81. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  82. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  83. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  84. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  85. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  86. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  87. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  88. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  89. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  90. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  91. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  92. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  93. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +129 -0
  94. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  95. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +39 -0
  96. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +116 -0
  97. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  98. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  99. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  100. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  101. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  102. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  103. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  104. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  105. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  106. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  107. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  108. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  109. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  110. package/dist/src/core/shaders/webgl/Border.js +82 -82
  111. package/dist/src/core/shaders/webgl/Default.js +47 -47
  112. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  113. package/dist/src/core/shaders/webgl/HolePunch.js +32 -32
  114. package/dist/src/core/shaders/webgl/LinearGradient.js +36 -36
  115. package/dist/src/core/shaders/webgl/RadialGradient.js +33 -33
  116. package/dist/src/core/shaders/webgl/Rounded.js +71 -71
  117. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +111 -111
  118. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +130 -130
  119. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +54 -54
  120. package/dist/src/core/shaders/webgl/SdfShader.js +62 -62
  121. package/dist/src/core/shaders/webgl/Shadow.js +83 -83
  122. package/dist/src/core/shaders/webgl/Spinner.d.ts +1 -0
  123. package/dist/src/core/shaders/webgl/Spinner.js +2 -0
  124. package/dist/src/core/shaders/webgl/Spinner.js.map +1 -0
  125. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +16 -0
  126. package/dist/src/core/text-rendering/CanvasFontHandler.js +29 -0
  127. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -1
  128. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +15 -0
  129. package/dist/src/core/text-rendering/SdfFontHandler.js +34 -2
  130. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -1
  131. package/dist/src/core/text-rendering/TextRenderer.d.ts +2 -0
  132. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  133. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  134. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  135. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -5
  136. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  137. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -7
  138. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +2 -50
  139. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  140. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
  141. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +83 -42
  142. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  143. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
  144. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +8 -66
  145. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  146. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -14
  147. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -3
  148. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  149. package/dist/src/core/text-rendering/sdf/PeekableGenerator.d.ts +12 -0
  150. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js +61 -0
  151. package/dist/src/core/text-rendering/sdf/PeekableGenerator.js.map +1 -0
  152. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.d.ts +45 -0
  153. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js +69 -0
  154. package/dist/src/core/text-rendering/sdf/SimpleFontShaper.js.map +1 -0
  155. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  156. package/dist/src/main-api/DynamicShaderController.js +58 -0
  157. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  158. package/dist/src/main-api/ShaderController.d.ts +31 -0
  159. package/dist/src/main-api/ShaderController.js +37 -0
  160. package/dist/src/main-api/ShaderController.js.map +1 -0
  161. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  162. package/exports/canvas-shaders.ts +28 -28
  163. package/exports/canvas.ts +45 -45
  164. package/exports/index.ts +82 -82
  165. package/exports/inspector.ts +24 -24
  166. package/exports/utils.ts +50 -50
  167. package/exports/webgl-shaders.ts +28 -28
  168. package/exports/webgl.ts +52 -52
  169. package/package.json +2 -1
  170. package/src/common/CommonTypes.ts +146 -146
  171. package/src/common/EventEmitter.ts +77 -77
  172. package/src/common/IAnimationController.ts +92 -92
  173. package/src/common/IEventEmitter.ts +28 -28
  174. package/src/core/CoreNode.test.ts +202 -202
  175. package/src/core/CoreNode.ts +2491 -2491
  176. package/src/core/CoreShaderManager.ts +188 -188
  177. package/src/core/CoreTextNode.ts +483 -443
  178. package/src/core/CoreTextureManager.ts +565 -565
  179. package/src/core/Stage.ts +906 -906
  180. package/src/core/TextureMemoryManager.ts +445 -445
  181. package/src/core/animations/AnimationManager.ts +38 -38
  182. package/src/core/animations/CoreAnimation.ts +291 -291
  183. package/src/core/animations/CoreAnimationController.ts +166 -166
  184. package/src/core/lib/ContextSpy.ts +41 -41
  185. package/src/core/lib/ImageWorker.ts +286 -286
  186. package/src/core/lib/Matrix3d.ts +244 -244
  187. package/src/core/lib/RenderCoords.ts +71 -71
  188. package/src/core/lib/WebGlContextWrapper.ts +1381 -1381
  189. package/src/core/lib/colorCache.ts +20 -20
  190. package/src/core/lib/colorParser.ts +85 -85
  191. package/src/core/lib/textureCompression.ts +152 -152
  192. package/src/core/lib/textureSvg.ts +78 -78
  193. package/src/core/lib/utils.ts +412 -412
  194. package/src/core/lib/validateImageBitmap.ts +87 -87
  195. package/src/core/platforms/Platform.ts +77 -77
  196. package/src/core/platforms/web/WebPlatform.ts +121 -121
  197. package/src/core/renderers/CoreContextTexture.ts +43 -43
  198. package/src/core/renderers/CoreRenderOp.ts +22 -22
  199. package/src/core/renderers/CoreRenderer.ts +110 -110
  200. package/src/core/renderers/CoreShaderNode.ts +175 -175
  201. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  202. package/src/core/renderers/canvas/CanvasRenderer.ts +283 -283
  203. package/src/core/renderers/canvas/CanvasShaderNode.ts +96 -96
  204. package/src/core/renderers/canvas/CanvasTexture.ts +156 -156
  205. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +91 -91
  206. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -50
  207. package/src/core/renderers/webgl/WebGlCtxTexture.ts +310 -310
  208. package/src/core/renderers/webgl/WebGlRenderOp.ts +167 -167
  209. package/src/core/renderers/webgl/WebGlRenderer.ts +747 -747
  210. package/src/core/renderers/webgl/WebGlShaderNode.ts +435 -435
  211. package/src/core/renderers/webgl/WebGlShaderProgram.ts +341 -341
  212. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  213. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  214. package/src/core/renderers/webgl/internal/ShaderUtils.ts +281 -281
  215. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  216. package/src/core/shaders/canvas/Border.ts +75 -75
  217. package/src/core/shaders/canvas/HolePunch.ts +62 -62
  218. package/src/core/shaders/canvas/LinearGradient.ts +71 -71
  219. package/src/core/shaders/canvas/RadialGradient.ts +99 -99
  220. package/src/core/shaders/canvas/Rounded.ts +55 -55
  221. package/src/core/shaders/canvas/RoundedWithBorder.ts +74 -74
  222. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +90 -90
  223. package/src/core/shaders/canvas/RoundedWithShadow.ts +70 -70
  224. package/src/core/shaders/canvas/Shadow.ts +52 -52
  225. package/src/core/shaders/canvas/utils/render.ts +151 -151
  226. package/src/core/shaders/templates/BorderTemplate.ts +115 -115
  227. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  228. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  229. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -81
  230. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  231. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  232. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  233. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  234. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  235. package/src/core/shaders/utils.ts +46 -46
  236. package/src/core/shaders/webgl/Border.ts +116 -116
  237. package/src/core/shaders/webgl/Default.ts +89 -89
  238. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  239. package/src/core/shaders/webgl/HolePunch.ts +75 -75
  240. package/src/core/shaders/webgl/LinearGradient.ts +82 -82
  241. package/src/core/shaders/webgl/RadialGradient.ts +85 -85
  242. package/src/core/shaders/webgl/Rounded.ts +117 -117
  243. package/src/core/shaders/webgl/RoundedWithBorder.ts +155 -155
  244. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +175 -175
  245. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -98
  246. package/src/core/shaders/webgl/SdfShader.ts +134 -134
  247. package/src/core/shaders/webgl/Shadow.ts +115 -115
  248. package/src/core/text-rendering/CanvasFontHandler.ts +210 -176
  249. package/src/core/text-rendering/CanvasTextRenderer.ts +622 -622
  250. package/src/core/text-rendering/SdfFontHandler.ts +554 -517
  251. package/src/core/text-rendering/SdfTextRenderer.ts +466 -466
  252. package/src/core/text-rendering/TextRenderer.ts +406 -404
  253. package/src/core/text-rendering/Utils.ts +257 -257
  254. package/src/core/text-rendering/canvas/Settings.ts +99 -99
  255. package/src/core/text-rendering/canvas/Utils.test.ts +206 -206
  256. package/src/core/text-rendering/canvas/Utils.ts +178 -178
  257. package/src/core/text-rendering/canvas/calculateRenderInfo.ts +299 -299
  258. package/src/core/text-rendering/canvas/draw.ts +165 -165
  259. package/src/core/text-rendering/sdf/Utils.test.ts +402 -402
  260. package/src/core/text-rendering/sdf/Utils.ts +436 -436
  261. package/src/core/text-rendering/sdf/index.ts +20 -20
  262. package/src/core/textures/ColorTexture.ts +102 -102
  263. package/src/core/textures/ImageTexture.ts +418 -418
  264. package/src/core/textures/NoiseTexture.ts +104 -104
  265. package/src/core/textures/RenderTexture.ts +85 -85
  266. package/src/core/textures/SubTexture.ts +205 -205
  267. package/src/core/textures/Texture.ts +381 -381
  268. package/src/core/utils.ts +227 -227
  269. package/src/env.d.ts +7 -7
  270. package/src/main-api/INode.ts +100 -100
  271. package/src/main-api/Inspector.ts +567 -567
  272. package/src/main-api/Renderer.ts +873 -873
  273. package/src/main-api/utils.ts +45 -45
  274. package/src/utils.ts +267 -267
  275. package/COPYING +0 -1
@@ -48,69 +48,69 @@ export const Sdf = {
48
48
  this.uniform1f('u_distanceRange', props.distanceRange);
49
49
  this.uniform1i('u_debug', props.debug ? 1 : 0);
50
50
  },
51
- vertex: `
52
- # ifdef GL_FRAGMENT_PRECISION_HIGH
53
- precision highp float;
54
- # else
55
- precision mediump float;
56
- # endif
57
- // an attribute is an input (in) to a vertex shader.
58
- // It will receive data from a buffer
59
- attribute vec2 a_position;
60
- attribute vec2 a_textureCoords;
61
-
62
- uniform vec2 u_resolution;
63
- uniform mat3 u_transform;
64
- uniform float u_scrollY;
65
- uniform float u_pixelRatio;
66
- uniform float u_size;
67
-
68
- varying vec2 v_texcoord;
69
-
70
- void main() {
71
- vec2 scrolledPosition = a_position * u_size - vec2(0, u_scrollY);
72
- vec2 transformedPosition = (u_transform * vec3(scrolledPosition, 1)).xy;
73
-
74
- // Calculate screen space with pixel ratio
75
- vec2 screenSpace = (transformedPosition * u_pixelRatio / u_resolution * 2.0 - 1.0) * vec2(1, -1);
76
-
77
- gl_Position = vec4(screenSpace, 0.0, 1.0);
78
- v_texcoord = a_textureCoords;
79
-
80
- }
51
+ vertex: `
52
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
53
+ precision highp float;
54
+ # else
55
+ precision mediump float;
56
+ # endif
57
+ // an attribute is an input (in) to a vertex shader.
58
+ // It will receive data from a buffer
59
+ attribute vec2 a_position;
60
+ attribute vec2 a_textureCoords;
61
+
62
+ uniform vec2 u_resolution;
63
+ uniform mat3 u_transform;
64
+ uniform float u_scrollY;
65
+ uniform float u_pixelRatio;
66
+ uniform float u_size;
67
+
68
+ varying vec2 v_texcoord;
69
+
70
+ void main() {
71
+ vec2 scrolledPosition = a_position * u_size - vec2(0, u_scrollY);
72
+ vec2 transformedPosition = (u_transform * vec3(scrolledPosition, 1)).xy;
73
+
74
+ // Calculate screen space with pixel ratio
75
+ vec2 screenSpace = (transformedPosition * u_pixelRatio / u_resolution * 2.0 - 1.0) * vec2(1, -1);
76
+
77
+ gl_Position = vec4(screenSpace, 0.0, 1.0);
78
+ v_texcoord = a_textureCoords;
79
+
80
+ }
81
81
  `,
82
- fragment: `
83
- # ifdef GL_FRAGMENT_PRECISION_HIGH
84
- precision highp float;
85
- # else
86
- precision mediump float;
87
- # endif
88
- uniform vec4 u_color;
89
- uniform sampler2D u_texture;
90
- uniform float u_distanceRange;
91
- uniform float u_pixelRatio;
92
- uniform int u_debug;
93
-
94
- varying vec2 v_texcoord;
95
-
96
- float median(float r, float g, float b) {
97
- return max(min(r, g), min(max(r, g), b));
98
- }
99
-
100
- void main() {
101
- vec3 sample = texture2D(u_texture, v_texcoord).rgb;
102
- if (u_debug == 1) {
103
- gl_FragColor = vec4(sample.r, sample.g, sample.b, 1.0);
104
- return;
105
- }
106
- float scaledDistRange = u_distanceRange * u_pixelRatio;
107
- float sigDist = scaledDistRange * (median(sample.r, sample.g, sample.b) - 0.5);
108
- float opacity = clamp(sigDist + 0.5, 0.0, 1.0) * u_color.a;
109
-
110
- // Build the final color.
111
- // IMPORTANT: We must premultiply the color by the alpha value before returning it.
112
- gl_FragColor = vec4(u_color.r * opacity, u_color.g * opacity, u_color.b * opacity, opacity);
113
- }
82
+ fragment: `
83
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
84
+ precision highp float;
85
+ # else
86
+ precision mediump float;
87
+ # endif
88
+ uniform vec4 u_color;
89
+ uniform sampler2D u_texture;
90
+ uniform float u_distanceRange;
91
+ uniform float u_pixelRatio;
92
+ uniform int u_debug;
93
+
94
+ varying vec2 v_texcoord;
95
+
96
+ float median(float r, float g, float b) {
97
+ return max(min(r, g), min(max(r, g), b));
98
+ }
99
+
100
+ void main() {
101
+ vec3 sample = texture2D(u_texture, v_texcoord).rgb;
102
+ if (u_debug == 1) {
103
+ gl_FragColor = vec4(sample.r, sample.g, sample.b, 1.0);
104
+ return;
105
+ }
106
+ float scaledDistRange = u_distanceRange * u_pixelRatio;
107
+ float sigDist = scaledDistRange * (median(sample.r, sample.g, sample.b) - 0.5);
108
+ float opacity = clamp(sigDist + 0.5, 0.0, 1.0) * u_color.a;
109
+
110
+ // Build the final color.
111
+ // IMPORTANT: We must premultiply the color by the alpha value before returning it.
112
+ gl_FragColor = vec4(u_color.r * opacity, u_color.g * opacity, u_color.b * opacity, opacity);
113
+ }
114
114
  `,
115
115
  };
116
116
  //# sourceMappingURL=SdfShader.js.map
@@ -21,90 +21,90 @@ export const Shadow = {
21
21
  this.uniformRGBA('u_color', this.props.color);
22
22
  this.uniform4fa('u_shadow', this.props.projection);
23
23
  },
24
- vertex: `
25
- # ifdef GL_FRAGMENT_PRECISION_HIGH
26
- precision highp float;
27
- # else
28
- precision mediump float;
29
- # endif
30
-
31
- attribute vec2 a_position;
32
- attribute vec2 a_textureCoords;
33
- attribute vec4 a_color;
34
- attribute vec2 a_nodeCoords;
35
-
36
- uniform vec2 u_resolution;
37
- uniform float u_pixelRatio;
38
- uniform float u_rtt;
39
- uniform vec2 u_dimensions;
40
-
41
- uniform vec4 u_shadow;
42
-
43
- varying vec4 v_color;
44
- varying vec2 v_textureCoords;
45
- varying vec2 v_nodeCoords;
46
-
47
- void main() {
48
- vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
49
- vec2 outerEdge = clamp(a_nodeCoords * 2.0 - vec2(1.0), -1.0, 1.0);
50
-
51
- vec2 shadowEdge = outerEdge * ((u_shadow.w * 2.0)+ u_shadow.z) + u_shadow.xy;
52
- vec2 normVertexPos = a_position * u_pixelRatio;
53
-
54
- vec2 vertexPos = (a_position + outerEdge + shadowEdge) * u_pixelRatio;
55
- gl_Position = vec4(vertexPos.x * screenSpace.x - 1.0, -sign(screenSpace.y) * (vertexPos.y * -abs(screenSpace.y)) + 1.0, 0.0, 1.0);
56
-
57
- v_color = a_color;
58
- v_nodeCoords = a_nodeCoords + (screenSpace + shadowEdge) / (u_dimensions);
59
- v_textureCoords = a_textureCoords + (screenSpace + shadowEdge) / (u_dimensions);
60
- }
24
+ vertex: `
25
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
26
+ precision highp float;
27
+ # else
28
+ precision mediump float;
29
+ # endif
30
+
31
+ attribute vec2 a_position;
32
+ attribute vec2 a_textureCoords;
33
+ attribute vec4 a_color;
34
+ attribute vec2 a_nodeCoords;
35
+
36
+ uniform vec2 u_resolution;
37
+ uniform float u_pixelRatio;
38
+ uniform float u_rtt;
39
+ uniform vec2 u_dimensions;
40
+
41
+ uniform vec4 u_shadow;
42
+
43
+ varying vec4 v_color;
44
+ varying vec2 v_textureCoords;
45
+ varying vec2 v_nodeCoords;
46
+
47
+ void main() {
48
+ vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
49
+ vec2 outerEdge = clamp(a_nodeCoords * 2.0 - vec2(1.0), -1.0, 1.0);
50
+
51
+ vec2 shadowEdge = outerEdge * ((u_shadow.w * 2.0)+ u_shadow.z) + u_shadow.xy;
52
+ vec2 normVertexPos = a_position * u_pixelRatio;
53
+
54
+ vec2 vertexPos = (a_position + outerEdge + shadowEdge) * u_pixelRatio;
55
+ gl_Position = vec4(vertexPos.x * screenSpace.x - 1.0, -sign(screenSpace.y) * (vertexPos.y * -abs(screenSpace.y)) + 1.0, 0.0, 1.0);
56
+
57
+ v_color = a_color;
58
+ v_nodeCoords = a_nodeCoords + (screenSpace + shadowEdge) / (u_dimensions);
59
+ v_textureCoords = a_textureCoords + (screenSpace + shadowEdge) / (u_dimensions);
60
+ }
61
61
  `,
62
- fragment: `
63
- # ifdef GL_FRAGMENT_PRECISION_HIGH
64
- precision highp float;
65
- # else
66
- precision mediump float;
67
- # endif
68
-
69
- uniform vec2 u_resolution;
70
- uniform float u_pixelRatio;
71
- uniform float u_alpha;
72
- uniform vec2 u_dimensions;
73
- uniform sampler2D u_texture;
74
-
75
- uniform vec4 u_color;
76
- uniform vec4 u_shadow;
77
-
78
- varying vec4 v_color;
79
- varying vec2 v_textureCoords;
80
- varying vec2 v_nodeCoords;
81
-
82
- float box(vec2 p, vec2 s) {
83
- vec2 q = abs(p) - s;
84
- return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) + 2.0;
85
- }
86
-
87
- float shadowBox(vec2 p, vec2 s, float r) {
88
- vec2 q = abs(p) - s + r;
89
- float dist = min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r;
90
- return 1.0 - smoothstep(-u_shadow.w, u_shadow.w + u_shadow.z, dist);
91
- }
92
-
93
- void main() {
94
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
95
- vec2 halfDimensions = (u_dimensions * 0.5);
96
-
97
- vec2 boxUv = v_nodeCoords.xy * u_dimensions - halfDimensions;
98
- float boxDist = box(boxUv, halfDimensions);
99
-
100
- float boxAlpha = 1.0 - smoothstep(0.0, u_pixelRatio, boxDist);
101
- float shadowDist = shadowBox(boxUv - u_shadow.xy, halfDimensions + u_shadow.w, u_shadow.z);
102
-
103
- vec4 resColor = vec4(0.0);
104
- resColor = mix(resColor, u_color, shadowDist);
105
- resColor = mix(resColor, color, min(color.a, boxAlpha));
106
- gl_FragColor = resColor * u_alpha;
107
- }
62
+ fragment: `
63
+ # ifdef GL_FRAGMENT_PRECISION_HIGH
64
+ precision highp float;
65
+ # else
66
+ precision mediump float;
67
+ # endif
68
+
69
+ uniform vec2 u_resolution;
70
+ uniform float u_pixelRatio;
71
+ uniform float u_alpha;
72
+ uniform vec2 u_dimensions;
73
+ uniform sampler2D u_texture;
74
+
75
+ uniform vec4 u_color;
76
+ uniform vec4 u_shadow;
77
+
78
+ varying vec4 v_color;
79
+ varying vec2 v_textureCoords;
80
+ varying vec2 v_nodeCoords;
81
+
82
+ float box(vec2 p, vec2 s) {
83
+ vec2 q = abs(p) - s;
84
+ return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) + 2.0;
85
+ }
86
+
87
+ float shadowBox(vec2 p, vec2 s, float r) {
88
+ vec2 q = abs(p) - s + r;
89
+ float dist = min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r;
90
+ return 1.0 - smoothstep(-u_shadow.w, u_shadow.w + u_shadow.z, dist);
91
+ }
92
+
93
+ void main() {
94
+ vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
95
+ vec2 halfDimensions = (u_dimensions * 0.5);
96
+
97
+ vec2 boxUv = v_nodeCoords.xy * u_dimensions - halfDimensions;
98
+ float boxDist = box(boxUv, halfDimensions);
99
+
100
+ float boxAlpha = 1.0 - smoothstep(0.0, u_pixelRatio, boxDist);
101
+ float shadowDist = shadowBox(boxUv - u_shadow.xy, halfDimensions + u_shadow.w, u_shadow.z);
102
+
103
+ vec4 resColor = vec4(0.0);
104
+ resColor = mix(resColor, u_color, shadowDist);
105
+ resColor = mix(resColor, color, min(color.a, boxAlpha));
106
+ gl_FragColor = resColor * u_alpha;
107
+ }
108
108
  `,
109
109
  };
110
110
  //# sourceMappingURL=Shadow.js.map
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Spinner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Spinner.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/Spinner.ts"],"names":[],"mappings":""}
@@ -1,5 +1,6 @@
1
1
  import type { FontFamilyMap, FontLoadOptions, NormalizedFontMetrics } from './TextRenderer.js';
2
2
  import type { Stage } from '../Stage.js';
3
+ import type { CoreTextNode } from '../CoreTextNode.js';
3
4
  /**
4
5
  * Check if a font can be rendered
5
6
  */
@@ -21,5 +22,20 @@ export declare const type = "canvas";
21
22
  * Check if a font is already loaded by font family
22
23
  */
23
24
  export declare const isFontLoaded: (fontFamily: string) => boolean;
25
+ /**
26
+ * Wait for a font to load
27
+ *
28
+ * @param fontFamily
29
+ * @param node
30
+ */
31
+ export declare const waitingForFont: (fontFamily: string, node: CoreTextNode) => void;
32
+ /**
33
+ * Stop waiting for a font to load
34
+ *
35
+ * @param fontFamily
36
+ * @param node
37
+ * @returns
38
+ */
39
+ export declare const stopWaitingForFont: (fontFamily: string, node: CoreTextNode) => void;
24
40
  export declare const getFontMetrics: (fontFamily: string, fontSize: number) => NormalizedFontMetrics;
25
41
  export declare const setFontMetrics: (fontFamily: string, metrics: NormalizedFontMetrics) => void;
@@ -17,6 +17,7 @@
17
17
  * limitations under the License.
18
18
  */
19
19
  import { calculateFontMetrics } from './Utils.js';
20
+ import { UpdateType } from '../CoreNode.js';
20
21
  /**
21
22
  * Global font set regardless of if run in the main thread or a web worker
22
23
  */
@@ -27,6 +28,7 @@ const fontFamilies = {};
27
28
  const loadedFonts = new Set();
28
29
  const fontLoadPromises = new Map();
29
30
  const normalizedMetrics = new Map();
31
+ const nodesWaitingForFont = Object.create(null);
30
32
  let initialized = false;
31
33
  let context;
32
34
  /**
@@ -60,6 +62,7 @@ export const loadFont = async (stage, options) => {
60
62
  if (existingPromise !== undefined) {
61
63
  return existingPromise;
62
64
  }
65
+ const nwff = (nodesWaitingForFont[fontFamily] = []);
63
66
  // Create and store the loading promise
64
67
  const loadPromise = new FontFace(fontFamily, `url(${fontUrl})`)
65
68
  .load()
@@ -71,6 +74,10 @@ export const loadFont = async (stage, options) => {
71
74
  if (metrics) {
72
75
  setFontMetrics(fontFamily, normalizeMetrics(metrics));
73
76
  }
77
+ for (let key in nwff) {
78
+ nwff[key].setUpdateType(UpdateType.Local);
79
+ }
80
+ delete nodesWaitingForFont[fontFamily];
74
81
  })
75
82
  .catch((error) => {
76
83
  fontLoadPromises.delete(fontFamily);
@@ -114,6 +121,28 @@ export const type = 'canvas';
114
121
  export const isFontLoaded = (fontFamily) => {
115
122
  return loadedFonts.has(fontFamily) || fontFamily === 'sans-serif';
116
123
  };
124
+ /**
125
+ * Wait for a font to load
126
+ *
127
+ * @param fontFamily
128
+ * @param node
129
+ */
130
+ export const waitingForFont = (fontFamily, node) => {
131
+ nodesWaitingForFont[fontFamily][node.id] = node;
132
+ };
133
+ /**
134
+ * Stop waiting for a font to load
135
+ *
136
+ * @param fontFamily
137
+ * @param node
138
+ * @returns
139
+ */
140
+ export const stopWaitingForFont = (fontFamily, node) => {
141
+ if (nodesWaitingForFont[fontFamily] === undefined) {
142
+ return;
143
+ }
144
+ delete nodesWaitingForFont[fontFamily][node.id];
145
+ };
117
146
  export const getFontMetrics = (fontFamily, fontSize) => {
118
147
  let out = normalizedMetrics.get(fontFamily) ||
119
148
  normalizedMetrics.get(fontFamily + fontSize);
@@ -1 +1 @@
1
- {"version":3,"file":"CanvasFontHandler.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/CanvasFontHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CanvasFontHandler.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/CanvasFontHandler.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import type { FontFamilyMap, FontMetrics, NormalizedFontMetrics, TrProps, FontLoadOptions } from './TextRenderer.js';
2
2
  import type { ImageTexture } from '../textures/ImageTexture.js';
3
3
  import type { Stage } from '../Stage.js';
4
+ import type { CoreTextNode } from '../CoreTextNode.js';
4
5
  /**
5
6
  * SDF Font Data structure matching msdf-bmfont-xml output
6
7
  */
@@ -71,6 +72,20 @@ export declare const canRenderFont: (trProps: TrProps) => boolean;
71
72
  * @param {FontMetrics} options.metrics - Optional font metrics
72
73
  */
73
74
  export declare const loadFont: (stage: Stage, options: FontLoadOptions) => Promise<void>;
75
+ /**
76
+ * Stop waiting for a font to load
77
+ * @param {string} fontFamily - Font family name
78
+ * @param {CoreTextNode} node - Node that was waiting for the font
79
+ */
80
+ export declare const waitingForFont: (fontFamily: string, node: CoreTextNode) => void;
81
+ /**
82
+ * Stop waiting for a font to load
83
+ *
84
+ * @param fontFamily
85
+ * @param node
86
+ * @returns
87
+ */
88
+ export declare const stopWaitingForFont: (fontFamily: string, node: CoreTextNode) => void;
74
89
  /**
75
90
  * Get the font families map for resolving fonts
76
91
  */
@@ -16,10 +16,12 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { UpdateType } from '../CoreNode.js';
19
20
  //global state variables for SdfFontHandler
20
21
  const fontCache = Object.create(null);
21
22
  const loadedFonts = new Set();
22
23
  const fontLoadPromises = new Map();
24
+ const nodesWaitingForFont = Object.create(null);
23
25
  let initialized = false;
24
26
  /**
25
27
  * Normalize font metrics to be in the range of 0 to 1
@@ -138,7 +140,7 @@ const processFontData = (fontFamily, fontData, atlasTexture, metrics) => {
138
140
  * @returns {boolean} True if the font can be rendered
139
141
  */
140
142
  export const canRenderFont = (trProps) => {
141
- return isFontLoaded(trProps.fontFamily);
143
+ return (isFontLoaded(trProps.fontFamily) || fontLoadPromises.has(trProps.fontFamily));
142
144
  };
143
145
  /**
144
146
  * Load SDF font from JSON + PNG atlas
@@ -162,6 +164,7 @@ export const loadFont = async (stage, options) => {
162
164
  if (atlasDataUrl === undefined) {
163
165
  throw new Error(`Atlas data URL must be provided for SDF font: ${fontFamily}`);
164
166
  }
167
+ const nwff = (nodesWaitingForFont[fontFamily] = []);
165
168
  // Create loading promise
166
169
  const loadPromise = (async () => {
167
170
  // Load font JSON data
@@ -184,12 +187,17 @@ export const loadFont = async (stage, options) => {
184
187
  src: atlasUrl,
185
188
  premultiplyAlpha: false,
186
189
  });
190
+ atlasTexture.setRenderableOwner(this, true);
187
191
  atlasTexture.preventCleanup = true; // Prevent automatic cleanup
188
192
  if (atlasTexture.state === 'loaded') {
189
193
  // If already loaded, process immediately
190
194
  processFontData(fontFamily, fontData, atlasTexture, metrics);
191
195
  loadedFonts.add(fontFamily);
192
196
  fontLoadPromises.delete(fontFamily);
197
+ for (let key in nwff) {
198
+ nwff[key].setUpdateType(UpdateType.Local);
199
+ }
200
+ delete nodesWaitingForFont[fontFamily];
193
201
  return resolve();
194
202
  }
195
203
  atlasTexture.on('loaded', () => {
@@ -198,6 +206,10 @@ export const loadFont = async (stage, options) => {
198
206
  // Mark as loaded
199
207
  loadedFonts.add(fontFamily);
200
208
  fontLoadPromises.delete(fontFamily);
209
+ for (let key in nwff) {
210
+ nwff[key].setUpdateType(UpdateType.Local);
211
+ }
212
+ delete nodesWaitingForFont[fontFamily];
201
213
  resolve();
202
214
  });
203
215
  atlasTexture.on('failed', (error) => {
@@ -209,12 +221,32 @@ export const loadFont = async (stage, options) => {
209
221
  console.error(`Failed to load SDF font: ${fontFamily}`, error);
210
222
  reject(error);
211
223
  });
212
- atlasTexture.setRenderableOwner(stage, true);
213
224
  });
214
225
  })();
215
226
  fontLoadPromises.set(fontFamily, loadPromise);
216
227
  return loadPromise;
217
228
  };
229
+ /**
230
+ * Stop waiting for a font to load
231
+ * @param {string} fontFamily - Font family name
232
+ * @param {CoreTextNode} node - Node that was waiting for the font
233
+ */
234
+ export const waitingForFont = (fontFamily, node) => {
235
+ nodesWaitingForFont[fontFamily][node.id] = node;
236
+ };
237
+ /**
238
+ * Stop waiting for a font to load
239
+ *
240
+ * @param fontFamily
241
+ * @param node
242
+ * @returns
243
+ */
244
+ export const stopWaitingForFont = (fontFamily, node) => {
245
+ if (nodesWaitingForFont[fontFamily] === undefined) {
246
+ return;
247
+ }
248
+ delete nodesWaitingForFont[fontFamily][node.id];
249
+ };
218
250
  /**
219
251
  * Get the font families map for resolving fonts
220
252
  */
@@ -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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"}
@@ -301,6 +301,8 @@ export interface FontHandler {
301
301
  type: 'canvas' | 'sdf';
302
302
  isFontLoaded: (fontFamily: string) => boolean;
303
303
  loadFont: (stage: Stage, options: FontLoadOptions) => Promise<void>;
304
+ waitingForFont: (fontFamily: string, CoreTextNode: any) => void;
305
+ stopWaitingForFont: (fontFamily: string, CoreTextNode: any) => void;
304
306
  getFontFamilies: () => FontFamilyMap;
305
307
  canRenderFont: (trProps: TrProps) => boolean;
306
308
  getFontMetrics: (fontFamily: string, fontSize: number) => NormalizedFontMetrics;
@@ -1 +1 @@
1
- {"version":3,"file":"TextTextureRendererUtils.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/TextTextureRendererUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextTextureRendererUtils.js","sourceRoot":"","sources":["../../../../src/core/text-rendering/TextTextureRendererUtils.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,7 @@
18
18
  */
19
19
  // import type { Renderer } from '../../../Renderer';
20
20
  import { assertTruthy } from '../../../../utils.js';
21
- import { WebGlRenderer } from '../../../renderers/webgl/WebGlRenderer.js';
21
+ import { WebGlCoreRenderer } from '../../../renderers/webgl/WebGlCoreRenderer.js';
22
22
  import { ImageTexture } from '../../../textures/ImageTexture.js';
23
23
  import { TrFontFace, } from '../TrFontFace.js';
24
24
  import { fetchJson } from '../utils.js';
@@ -39,7 +39,7 @@ export class SdfTrFontFace extends TrFontFace {
39
39
  const { atlasUrl, atlasDataUrl, stage } = options;
40
40
  this.type = type;
41
41
  const renderer = stage.renderer;
42
- assertTruthy(renderer instanceof WebGlRenderer, 'SDF Font Faces can only be used with the WebGL Renderer');
42
+ assertTruthy(renderer instanceof WebGlCoreRenderer, 'SDF Font Faces can only be used with the WebGL Renderer');
43
43
  // Load image
44
44
  this.texture = stage.txManager.createTexture('ImageTexture', {
45
45
  src: atlasUrl,