@lightningjs/renderer 2.9.0 → 2.9.2

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 (224) hide show
  1. package/COPYING +1 -0
  2. package/LICENSE +202 -202
  3. package/NOTICE +3 -3
  4. package/README.md +147 -147
  5. package/dist/src/core/CoreNode.js +1 -1
  6. package/dist/src/core/CoreNode.js.map +1 -1
  7. package/dist/src/core/lib/utils.d.ts +1 -0
  8. package/dist/src/core/lib/utils.js +3 -0
  9. package/dist/src/core/lib/utils.js.map +1 -1
  10. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +6 -3
  11. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  12. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  13. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  14. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  15. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  16. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  17. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  18. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  19. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  20. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  21. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  22. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  23. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  24. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  25. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  26. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  27. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  28. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  29. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  30. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +7 -3
  31. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  32. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +7 -0
  33. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  34. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +5 -1
  35. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  36. package/dist/src/core/textures/ImageTexture.js +5 -4
  37. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  38. package/dist/src/core/textures/SubTexture.d.ts +1 -0
  39. package/dist/src/core/textures/SubTexture.js +7 -0
  40. package/dist/src/core/textures/SubTexture.js.map +1 -1
  41. package/dist/src/core/textures/Texture.d.ts +9 -0
  42. package/dist/src/core/textures/Texture.js +23 -13
  43. package/dist/src/core/textures/Texture.js.map +1 -1
  44. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  45. package/exports/canvas.ts +39 -39
  46. package/exports/index.ts +89 -89
  47. package/exports/inspector.ts +24 -24
  48. package/exports/utils.ts +44 -44
  49. package/exports/webgl.ts +38 -38
  50. package/package.json +1 -1
  51. package/scripts/please-use-pnpm.js +13 -13
  52. package/src/common/CommonTypes.ts +139 -139
  53. package/src/common/EventEmitter.ts +77 -77
  54. package/src/common/IAnimationController.ts +92 -92
  55. package/src/common/IEventEmitter.ts +28 -28
  56. package/src/core/CoreNode.test.ts +199 -199
  57. package/src/core/CoreNode.ts +2335 -2335
  58. package/src/core/CoreShaderManager.ts +292 -292
  59. package/src/core/CoreTextNode.ts +455 -455
  60. package/src/core/CoreTextureManager.ts +548 -548
  61. package/src/core/Stage.ts +700 -700
  62. package/src/core/TextureMemoryManager.ts +277 -277
  63. package/src/core/animations/AnimationManager.ts +38 -38
  64. package/src/core/animations/CoreAnimation.ts +340 -340
  65. package/src/core/animations/CoreAnimationController.ts +157 -157
  66. package/src/core/lib/ContextSpy.ts +41 -41
  67. package/src/core/lib/ImageWorker.ts +270 -270
  68. package/src/core/lib/Matrix3d.ts +244 -244
  69. package/src/core/lib/RenderCoords.ts +86 -86
  70. package/src/core/lib/WebGlContextWrapper.ts +1322 -1322
  71. package/src/core/lib/textureCompression.ts +152 -152
  72. package/src/core/lib/textureSvg.ts +78 -78
  73. package/src/core/lib/utils.ts +310 -306
  74. package/src/core/platform.ts +61 -61
  75. package/src/core/renderers/CoreContextTexture.ts +43 -43
  76. package/src/core/renderers/CoreRenderOp.ts +22 -22
  77. package/src/core/renderers/CoreRenderer.ts +114 -114
  78. package/src/core/renderers/CoreShader.ts +41 -41
  79. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +369 -364
  80. package/src/core/renderers/canvas/CanvasCoreTexture.ts +150 -150
  81. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  82. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  83. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  84. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -79
  85. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  86. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +298 -298
  87. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  88. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +805 -805
  89. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  90. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  91. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  92. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  93. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  94. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  95. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  96. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  97. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  98. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  99. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  100. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  101. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  102. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  103. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  104. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  105. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  106. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  107. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  108. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  109. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  110. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  111. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  112. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  113. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  114. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  115. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  116. package/src/core/text-rendering/TrFontManager.ts +183 -183
  117. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  118. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  119. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  120. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  121. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  122. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -89
  123. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  124. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -798
  125. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  126. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  127. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  128. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  129. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  130. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  131. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  132. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  133. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -403
  134. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  135. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  136. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  137. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  138. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  139. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  140. package/src/core/textures/ColorTexture.ts +102 -102
  141. package/src/core/textures/ImageTexture.ts +379 -378
  142. package/src/core/textures/NoiseTexture.ts +104 -104
  143. package/src/core/textures/RenderTexture.ts +85 -85
  144. package/src/core/textures/SubTexture.ts +179 -171
  145. package/src/core/textures/Texture.ts +435 -423
  146. package/src/core/utils.ts +227 -227
  147. package/src/env.d.ts +7 -7
  148. package/src/main-api/DynamicShaderController.ts +104 -104
  149. package/src/main-api/INode.ts +101 -101
  150. package/src/main-api/Inspector.ts +505 -505
  151. package/src/main-api/Renderer.ts +693 -693
  152. package/src/main-api/ShaderController.ts +80 -80
  153. package/src/main-api/utils.ts +45 -45
  154. package/src/utils.ts +248 -248
  155. package/dist/exports/core-api.d.ts +0 -74
  156. package/dist/exports/core-api.js +0 -96
  157. package/dist/exports/core-api.js.map +0 -1
  158. package/dist/exports/main-api.d.ts +0 -30
  159. package/dist/exports/main-api.js +0 -45
  160. package/dist/exports/main-api.js.map +0 -1
  161. package/dist/src/core/CoreExtension.d.ts +0 -12
  162. package/dist/src/core/CoreExtension.js +0 -29
  163. package/dist/src/core/CoreExtension.js.map +0 -1
  164. package/dist/src/main-api/ICoreDriver.d.ts +0 -24
  165. package/dist/src/main-api/ICoreDriver.js +0 -20
  166. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  167. package/dist/src/main-api/RendererMain.d.ts +0 -378
  168. package/dist/src/main-api/RendererMain.js +0 -367
  169. package/dist/src/main-api/RendererMain.js.map +0 -1
  170. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  171. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  172. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  173. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  174. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  175. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  176. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  177. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
  178. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  179. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
  180. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
  181. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  182. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
  183. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
  184. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  185. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  186. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
  187. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  188. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
  189. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
  190. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  191. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
  192. package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
  193. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  194. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  195. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
  196. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  197. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
  198. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
  199. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  200. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
  201. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
  202. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  203. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
  204. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
  205. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  206. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  207. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  208. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  209. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  210. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  211. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  212. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  213. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
  214. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  215. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  216. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
  217. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  218. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
  219. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
  220. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  221. package/dist/src/render-drivers/utils.d.ts +0 -12
  222. package/dist/src/render-drivers/utils.js +0 -74
  223. package/dist/src/render-drivers/utils.js.map +0 -1
  224. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -100,16 +100,16 @@ export class RadialGradientEffect extends ShaderEffect {
100
100
  };
101
101
  static onColorize = (props) => {
102
102
  const colors = props.colors.length || 1;
103
- return `
104
- vec2 point = v_textureCoordinate.xy * u_dimensions;
105
- vec2 projection = vec2(pivot.x * u_dimensions.x, pivot.y * u_dimensions.y);
106
-
107
- float dist = length((point - projection) / vec2(width, height));
108
-
109
- float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
110
- vec4 colorOut = mix(colors[0], colors[1], stopCalc);
111
- ${this.ColorLoop(colors)}
112
- return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
103
+ return `
104
+ vec2 point = v_textureCoordinate.xy * u_dimensions;
105
+ vec2 projection = vec2(pivot.x * u_dimensions.x, pivot.y * u_dimensions.y);
106
+
107
+ float dist = length((point - projection) / vec2(width, height));
108
+
109
+ float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
110
+ vec4 colorOut = mix(colors[0], colors[1], stopCalc);
111
+ ${this.ColorLoop(colors)}
112
+ return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
113
113
  `;
114
114
  };
115
115
  }
@@ -81,47 +81,47 @@ export class RadialProgressEffect extends ShaderEffect {
81
81
  },
82
82
  };
83
83
  static methods = {
84
- rotateUV: `
85
- vec2 function(vec2 uv, float d) {
86
- float s = sin(d);
87
- float c = cos(d);
88
- mat2 rotMatrix = mat2(c, -s, s, c);
89
- return uv * rotMatrix;
90
- }
84
+ rotateUV: `
85
+ vec2 function(vec2 uv, float d) {
86
+ float s = sin(d);
87
+ float c = cos(d);
88
+ mat2 rotMatrix = mat2(c, -s, s, c);
89
+ return uv * rotMatrix;
90
+ }
91
91
  `,
92
- drawDot: `
93
- float function(vec2 uv, vec2 p, float r) {
94
- uv += p;
95
- float circle = length(uv) - r;
96
- return clamp(-circle, 0.0, 1.0);
97
- }
92
+ drawDot: `
93
+ float function(vec2 uv, vec2 p, float r) {
94
+ uv += p;
95
+ float circle = length(uv) - r;
96
+ return clamp(-circle, 0.0, 1.0);
97
+ }
98
98
  `,
99
99
  };
100
- static onEffectMask = `
101
- float outerRadius = radius * u_dimensions.y * 0.5;
102
-
103
- float endAngle = range * progress - 0.0005;
104
-
105
- vec2 uv = v_textureCoordinate.xy * u_dimensions.xy - u_dimensions * 0.5;
106
-
107
- uv = $rotateUV(uv, -(offset));
108
- float linewidth = width * u_pixelRatio;
109
- float circle = length(uv) - (outerRadius - linewidth) ;
110
- circle = abs(circle) - linewidth;
111
- circle = clamp(-circle, 0.0, 1.0);
112
-
113
- float angle = (atan(uv.x, -uv.y) / 3.14159265359 * 0.5);
114
- float p = endAngle / (PI * 2.);
115
-
116
- circle *= step(fract(angle), fract(p));
117
-
118
- circle = rounded < 1. ? circle : max(circle, $drawDot(uv, vec2(0, outerRadius - linewidth), linewidth));
119
- circle = rounded < 1. ? circle : max(circle, $drawDot($rotateUV(uv, -(endAngle)), vec2(0, outerRadius - linewidth), linewidth));
120
-
121
- return mix(shaderColor, maskColor, circle);
100
+ static onEffectMask = `
101
+ float outerRadius = radius * u_dimensions.y * 0.5;
102
+
103
+ float endAngle = range * progress - 0.0005;
104
+
105
+ vec2 uv = v_textureCoordinate.xy * u_dimensions.xy - u_dimensions * 0.5;
106
+
107
+ uv = $rotateUV(uv, -(offset));
108
+ float linewidth = width * u_pixelRatio;
109
+ float circle = length(uv) - (outerRadius - linewidth) ;
110
+ circle = abs(circle) - linewidth;
111
+ circle = clamp(-circle, 0.0, 1.0);
112
+
113
+ float angle = (atan(uv.x, -uv.y) / 3.14159265359 * 0.5);
114
+ float p = endAngle / (PI * 2.);
115
+
116
+ circle *= step(fract(angle), fract(p));
117
+
118
+ circle = rounded < 1. ? circle : max(circle, $drawDot(uv, vec2(0, outerRadius - linewidth), linewidth));
119
+ circle = rounded < 1. ? circle : max(circle, $drawDot($rotateUV(uv, -(endAngle)), vec2(0, outerRadius - linewidth), linewidth));
120
+
121
+ return mix(shaderColor, maskColor, circle);
122
122
  `;
123
- static onColorize = `
124
- return color;
123
+ static onColorize = `
124
+ return color;
125
125
  `;
126
126
  }
127
127
  //# sourceMappingURL=RadialProgressEffect.js.map
@@ -38,17 +38,17 @@ export class RadiusEffect extends ShaderEffect {
38
38
  },
39
39
  };
40
40
  static methods = {
41
- fillMask: `
42
- float function(float dist) {
43
- return clamp(-dist, 0.0, 1.0);
44
- }
41
+ fillMask: `
42
+ float function(float dist) {
43
+ return clamp(-dist, 0.0, 1.0);
44
+ }
45
45
  `,
46
- boxDist: `
47
- float function(vec2 p, vec2 size, float radius) {
48
- size -= vec2(radius);
49
- vec2 d = abs(p) - size;
50
- return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
51
- }
46
+ boxDist: `
47
+ float function(vec2 p, vec2 size, float radius) {
48
+ size -= vec2(radius);
49
+ vec2 d = abs(p) - size;
50
+ return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
51
+ }
52
52
  `,
53
53
  };
54
54
  static resolveDefaults(props) {
@@ -56,16 +56,16 @@ export class RadiusEffect extends ShaderEffect {
56
56
  radius: props.radius ?? 10,
57
57
  };
58
58
  }
59
- static onShaderMask = `
60
- vec2 halfDimensions = u_dimensions * 0.5;
61
- float r = radius[0] * step(v_textureCoordinate.x, 0.5) * step(v_textureCoordinate.y, 0.5);
62
- r = r + radius[1] * step(0.5, v_textureCoordinate.x) * step(v_textureCoordinate.y, 0.5);
63
- r = r + radius[2] * step(0.5, v_textureCoordinate.x) * step(0.5, v_textureCoordinate.y);
64
- r = r + radius[3] * step(v_textureCoordinate.x, 0.5) * step(0.5, v_textureCoordinate.y);
65
- return $boxDist(v_textureCoordinate.xy * u_dimensions - halfDimensions, halfDimensions, r);
59
+ static onShaderMask = `
60
+ vec2 halfDimensions = u_dimensions * 0.5;
61
+ float r = radius[0] * step(v_textureCoordinate.x, 0.5) * step(v_textureCoordinate.y, 0.5);
62
+ r = r + radius[1] * step(0.5, v_textureCoordinate.x) * step(v_textureCoordinate.y, 0.5);
63
+ r = r + radius[2] * step(0.5, v_textureCoordinate.x) * step(0.5, v_textureCoordinate.y);
64
+ r = r + radius[3] * step(v_textureCoordinate.x, 0.5) * step(0.5, v_textureCoordinate.y);
65
+ return $boxDist(v_textureCoordinate.xy * u_dimensions - halfDimensions, halfDimensions, r);
66
66
  `;
67
- static onEffectMask = `
68
- return mix(vec4(0.0), maskColor, $fillMask(shaderMask));
67
+ static onEffectMask = `
68
+ return mix(vec4(0.0), maskColor, $fillMask(shaderMask));
69
69
  `;
70
70
  }
71
71
  //# sourceMappingURL=RadiusEffect.js.map
@@ -28,7 +28,7 @@ export class WebTrFontFace extends TrFontFace {
28
28
  // Defaults for descriptors resolved in the super constructor
29
29
  const determinedDescriptors = this.descriptors;
30
30
  // Convert TrFontFaceDescriptors to CSS FontFaceDescriptors
31
- const cssDescriptors = {
31
+ let cssDescriptors = {
32
32
  style: determinedDescriptors.style,
33
33
  weight: typeof determinedDescriptors.weight === 'number'
34
34
  ? `${determinedDescriptors.weight}`
@@ -38,12 +38,17 @@ export class WebTrFontFace extends TrFontFace {
38
38
  featureSettings: determinedDescriptors.featureSettings,
39
39
  display: determinedDescriptors.display,
40
40
  };
41
+ for (const k in cssDescriptors) {
42
+ const key = k;
43
+ if (cssDescriptors[key] === undefined) {
44
+ delete cssDescriptors[key];
45
+ }
46
+ }
41
47
  const fontFace = new FontFace(fontFamily, `url(${fontUrlWithoutParentheses})`, cssDescriptors);
42
48
  if (fontUrlWithoutParentheses.length > 0) {
43
49
  fontFace
44
50
  .load()
45
51
  .then(() => {
46
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
47
52
  this.loaded = true;
48
53
  this.emit('loaded');
49
54
  })
@@ -51,7 +56,6 @@ export class WebTrFontFace extends TrFontFace {
51
56
  }
52
57
  else {
53
58
  // Default font
54
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
55
59
  this.loaded = true;
56
60
  this.emit('loaded');
57
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WebTrFontFace.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/font-face-types/WebTrFontFace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAYzB,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3B,QAAQ,CAAW;IACnB,OAAO,CAAS;IAEhC,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAExC,sCAAsC;QACtC,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhE,6DAA6D;QAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/C,2DAA2D;QAC3D,MAAM,cAAc,GAAwB;YAC1C,KAAK,EAAE,qBAAqB,CAAC,KAAK;YAClC,MAAM,EACJ,OAAO,qBAAqB,CAAC,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE;gBACnC,CAAC,CAAC,qBAAqB,CAAC,MAAM;YAClC,OAAO,EAAE,qBAAqB,CAAC,OAAO;YACtC,YAAY,EAAE,qBAAqB,CAAC,YAAY;YAChD,eAAe,EAAE,qBAAqB,CAAC,eAAe;YACtD,OAAO,EAAE,qBAAqB,CAAC,OAAO;SACvC,CAAC;QAEF,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,UAAU,EACV,OAAO,yBAAyB,GAAG,EACnC,cAAc,CACf,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,QAAQ;iBACL,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACT,4EAA4E;gBAC3E,IAAI,CAAC,MAAkB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CAAC;iBACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,eAAe;YACf,4EAA4E;YAC3E,IAAI,CAAC,MAAkB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
1
+ {"version":3,"file":"WebTrFontFace.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/font-face-types/WebTrFontFace.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EACL,UAAU,GAGX,MAAM,iBAAiB,CAAC;AAYzB,MAAM,OAAO,aAAc,SAAQ,UAAU;IAC3B,QAAQ,CAAW;IACnB,OAAO,CAAS;IAEhC,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,CAAC;QAEf,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAExC,sCAAsC;QACtC,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAEhE,6DAA6D;QAC7D,MAAM,qBAAqB,GAAG,IAAI,CAAC,WAAW,CAAC;QAE/C,2DAA2D;QAC3D,IAAI,cAAc,GAAwB;YACxC,KAAK,EAAE,qBAAqB,CAAC,KAAK;YAClC,MAAM,EACJ,OAAO,qBAAqB,CAAC,MAAM,KAAK,QAAQ;gBAC9C,CAAC,CAAC,GAAG,qBAAqB,CAAC,MAAM,EAAE;gBACnC,CAAC,CAAC,qBAAqB,CAAC,MAAM;YAClC,OAAO,EAAE,qBAAqB,CAAC,OAAO;YACtC,YAAY,EAAE,qBAAqB,CAAC,YAAY;YAChD,eAAe,EAAE,qBAAqB,CAAC,eAAe;YACtD,OAAO,EAAE,qBAAqB,CAAC,OAAO;SACvC,CAAC;QAEF,KAAK,MAAM,CAAC,IAAI,cAAc,EAAE,CAAC;YAC/B,MAAM,GAAG,GAAG,CAA8B,CAAC;YAC3C,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;YAC7B,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAC3B,UAAU,EACV,OAAO,yBAAyB,GAAG,EACnC,cAAc,CACf,CAAC;QAEF,IAAI,yBAAyB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzC,QAAQ;iBACL,IAAI,EAAE;iBACN,IAAI,CAAC,GAAG,EAAE;gBACR,IAAI,CAAC,MAAkB,GAAG,IAAI,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YACtB,CAAC,CAAC;iBACD,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAC1B,CAAC;aAAM,CAAC;YACN,eAAe;YACd,IAAI,CAAC,MAAkB,GAAG,IAAI,CAAC;YAChC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF"}
@@ -221,6 +221,13 @@ export class LightningTextTextureRenderer {
221
221
  width = maxLineWidth + paddingLeft + paddingRight;
222
222
  innerWidth = maxLineWidth;
223
223
  }
224
+ // If word wrap is enabled the width needs to be the width of the text.
225
+ if (this._settings.wordWrap &&
226
+ w > maxLineWidth &&
227
+ this._settings.textAlign === 'left' &&
228
+ lines.length === 1) {
229
+ width = maxLineWidth + paddingLeft + paddingRight;
230
+ }
224
231
  let height;
225
232
  if (h) {
226
233
  height = h;
@@ -1 +1 @@
1
- {"version":3,"file":"LightningTextTextureRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/LightningTextTextureRenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LightningTextTextureRenderer.js","sourceRoot":"","sources":["../../../../../src/core/text-rendering/renderers/LightningTextTextureRenderer.ts"],"names":[],"mappings":"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"}
@@ -74,11 +74,15 @@ lineCache, rwSdf, trFontFace, forceFullLayoutCalc, scrollable, overflowSuffix, m
74
74
  bufferOffset: -1,
75
75
  xStart: -1,
76
76
  };
77
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
78
77
  const shaper = trFontFace.shaper;
79
78
  const shaperProps = {
80
79
  letterSpacing: vertexLSpacing,
81
80
  };
81
+ // HACK: The space is used as a word boundary. When a text ends with a space, we need to
82
+ // add an extra space to ensure the space is included in the line width calculation.
83
+ if (text.endsWith(' ')) {
84
+ text += ' ';
85
+ }
82
86
  // Get glyphs
83
87
  let glyphs = shaper.shapeText(shaperProps, new PeekableIterator(getUnicodeCodepoints(text, startingCodepointIndex), startingCodepointIndex));
84
88
  let glyphResult;
@@ -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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"}
@@ -18,7 +18,7 @@
18
18
  */
19
19
  import { Texture, TextureType } from './Texture.js';
20
20
  import { isCompressedTextureContainer, loadCompressedTexture, } from '../lib/textureCompression.js';
21
- import { convertUrlToAbsolute } from '../lib/utils.js';
21
+ import { convertUrlToAbsolute, isBase64Image } from '../lib/utils.js';
22
22
  import { isSvgImage, loadSvg } from '../lib/textureSvg.js';
23
23
  /**
24
24
  * Texture consisting of an image loaded from a URL
@@ -46,8 +46,8 @@ export class ImageTexture extends Texture {
46
46
  }
47
47
  async loadImageFallback(src, hasAlpha) {
48
48
  const img = new Image();
49
- if (!src.startsWith('data:')) {
50
- img.crossOrigin = 'Anonymous';
49
+ if (isBase64Image(src) === false) {
50
+ img.crossOrigin = 'anonymous';
51
51
  }
52
52
  return new Promise((resolve) => {
53
53
  img.onload = () => {
@@ -97,7 +97,8 @@ export class ImageTexture extends Texture {
97
97
  async loadImage(src) {
98
98
  const { premultiplyAlpha, sx, sy, sw, sh } = this.props;
99
99
  if (this.txManager.hasCreateImageBitmap === true) {
100
- if (this.txManager.hasWorker === true &&
100
+ if (isBase64Image(src) === false &&
101
+ this.txManager.hasWorker === true &&
101
102
  this.txManager.imageWorkerManager !== null) {
102
103
  return this.txManager.imageWorkerManager.getImage(src, premultiplyAlpha, sx, sy, sw, sh);
103
104
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,7 @@ export declare class SubTexture extends Texture {
50
50
  constructor(txManager: CoreTextureManager, props: SubTextureProps);
51
51
  private onParentTxLoaded;
52
52
  private onParentTxFailed;
53
+ private onParentTxFreed;
53
54
  onChangeIsRenderable(isRenderable: boolean): void;
54
55
  getTextureSource(): Promise<TextureData>;
55
56
  static makeCacheKey(props: SubTextureProps): string | false;
@@ -56,8 +56,12 @@ export class SubTexture extends Texture {
56
56
  else if (parentTx.state === 'failed') {
57
57
  this.onParentTxFailed(parentTx, parentTx.error);
58
58
  }
59
+ else if (parentTx.state === 'freed') {
60
+ this.onParentTxFreed();
61
+ }
59
62
  parentTx.on('loaded', this.onParentTxLoaded);
60
63
  parentTx.on('failed', this.onParentTxFailed);
64
+ parentTx.on('freed', this.onParentTxFreed);
61
65
  });
62
66
  }
63
67
  onParentTxLoaded = () => {
@@ -78,6 +82,9 @@ export class SubTexture extends Texture {
78
82
  onParentTxFailed = (target, error) => {
79
83
  this.setSourceState('failed', error);
80
84
  };
85
+ onParentTxFreed = () => {
86
+ this.setSourceState('freed');
87
+ };
81
88
  onChangeIsRenderable(isRenderable) {
82
89
  // Propagate the renderable owner change to the parent texture
83
90
  this.parentTexture.setRenderableOwner(this, isRenderable);
@@ -1 +1 @@
1
- {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"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"}
@@ -123,6 +123,7 @@ export declare abstract class Texture extends EventEmitter {
123
123
  * @param renderable
124
124
  */
125
125
  setRenderableOwner(owner: unknown, renderable: boolean): void;
126
+ load(): void;
126
127
  /**
127
128
  * Event called when the Texture becomes renderable or unrenderable.
128
129
  *
@@ -147,6 +148,14 @@ export declare abstract class Texture extends EventEmitter {
147
148
  * The ctxTexture is created by the renderer and lives on the GPU.
148
149
  */
149
150
  free(): void;
151
+ /**
152
+ * Free the source texture data for this Texture.
153
+ *
154
+ * @remarks
155
+ * The texture data is the source data that is used to populate the CoreContextTexture.
156
+ * e.g. ImageData that is downloaded from a URL.
157
+ */
158
+ freeTextureData(): void;
150
159
  private setState;
151
160
  /**
152
161
  * Set the source state of the texture
@@ -89,10 +89,7 @@ export class Texture extends EventEmitter {
89
89
  this.renderable = true;
90
90
  this.lastRenderableChangeTime = this.txManager.frameTime;
91
91
  this.onChangeIsRenderable?.(true);
92
- // Check if the texture needs to be added to the loading queue
93
- if (this.state === 'freed' || this.state === 'initial') {
94
- this.txManager.loadTexture(this);
95
- }
92
+ this.load();
96
93
  }
97
94
  }
98
95
  else {
@@ -105,6 +102,17 @@ export class Texture extends EventEmitter {
105
102
  }
106
103
  }
107
104
  }
105
+ load() {
106
+ if (this.sourceState === 'loaded' && this.coreCtxState === 'freed') {
107
+ // we need to load the texture data to the gpu
108
+ this.txManager.enqueueUploadTexture(this);
109
+ return;
110
+ }
111
+ if (this.state === 'loading' || this.state === 'loaded') {
112
+ return;
113
+ }
114
+ this.txManager.loadTexture(this);
115
+ }
108
116
  /**
109
117
  * Load the core context texture for this Texture.
110
118
  * The ctxTexture is created by the renderer and lives on the GPU.
@@ -125,10 +133,17 @@ export class Texture extends EventEmitter {
125
133
  */
126
134
  free() {
127
135
  this.ctxTexture?.free();
128
- if (this.textureData !== null) {
129
- this.textureData = null;
130
- this.setSourceState('freed');
131
- }
136
+ }
137
+ /**
138
+ * Free the source texture data for this Texture.
139
+ *
140
+ * @remarks
141
+ * The texture data is the source data that is used to populate the CoreContextTexture.
142
+ * e.g. ImageData that is downloaded from a URL.
143
+ */
144
+ freeTextureData() {
145
+ this.textureData = null;
146
+ this.setSourceState('freed');
132
147
  }
133
148
  setState(state, type, errorOrDimensions) {
134
149
  const stateObj = type === 'source' ? 'sourceState' : 'coreCtxState';
@@ -185,11 +200,6 @@ export class Texture extends EventEmitter {
185
200
  newState = 'loaded';
186
201
  payload = this.dimensions; // Dimensions set by the source
187
202
  }
188
- else if ((sourceState === 'loaded' && ctxState === 'freed') ||
189
- (ctxState === 'loaded' && sourceState === 'freed')) {
190
- // If one is loaded and the other is freed, then we are in a loading state
191
- newState = 'loading';
192
- }
193
203
  else {
194
204
  newState = 'freed';
195
205
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}