@lightningjs/renderer 2.14.2 → 2.14.4

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 (310) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/src/core/CoreTextNode.js +2 -2
  5. package/dist/src/core/CoreTextNode.js.map +1 -1
  6. package/dist/src/core/CoreTextureManager.d.ts +4 -3
  7. package/dist/src/core/CoreTextureManager.js +33 -23
  8. package/dist/src/core/CoreTextureManager.js.map +1 -1
  9. package/dist/src/core/Stage.js +7 -2
  10. package/dist/src/core/Stage.js.map +1 -1
  11. package/dist/src/core/TextureMemoryManager.d.ts +1 -1
  12. package/dist/src/core/TextureMemoryManager.js +25 -2
  13. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  14. package/dist/src/core/renderers/CoreContextTexture.d.ts +1 -1
  15. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +1 -1
  16. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +7 -6
  17. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +3 -0
  19. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
  20. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +5 -6
  21. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +30 -18
  22. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +2 -0
  24. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +1 -0
  25. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  26. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  27. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  28. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  29. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  30. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  31. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  32. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  33. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  34. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  35. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  36. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  37. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  38. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  39. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  40. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  41. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  42. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  43. package/dist/src/core/textures/ImageTexture.d.ts +1 -1
  44. package/dist/src/core/textures/ImageTexture.js +1 -1
  45. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  46. package/dist/src/core/textures/Texture.d.ts +4 -0
  47. package/dist/src/core/textures/Texture.js +9 -3
  48. package/dist/src/core/textures/Texture.js.map +1 -1
  49. package/dist/src/main-api/Renderer.js +1 -1
  50. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  51. package/exports/canvas.ts +39 -39
  52. package/exports/index.ts +89 -89
  53. package/exports/inspector.ts +24 -24
  54. package/exports/utils.ts +44 -44
  55. package/exports/webgl.ts +38 -38
  56. package/package.json +1 -1
  57. package/scripts/please-use-pnpm.js +13 -13
  58. package/src/common/CommonTypes.ts +146 -146
  59. package/src/common/EventEmitter.ts +77 -77
  60. package/src/common/IAnimationController.ts +92 -92
  61. package/src/common/IEventEmitter.ts +28 -28
  62. package/src/core/CoreNode.test.ts +202 -202
  63. package/src/core/CoreNode.ts +2468 -2468
  64. package/src/core/CoreShaderManager.ts +292 -292
  65. package/src/core/CoreTextNode.ts +455 -455
  66. package/src/core/CoreTextureManager.ts +561 -558
  67. package/src/core/Stage.ts +748 -743
  68. package/src/core/TextureMemoryManager.ts +431 -404
  69. package/src/core/animations/AnimationManager.ts +38 -38
  70. package/src/core/animations/CoreAnimation.ts +347 -347
  71. package/src/core/animations/CoreAnimationController.ts +166 -166
  72. package/src/core/lib/ContextSpy.ts +41 -41
  73. package/src/core/lib/ImageWorker.ts +280 -280
  74. package/src/core/lib/Matrix3d.ts +244 -244
  75. package/src/core/lib/RenderCoords.ts +86 -86
  76. package/src/core/lib/WebGlContextWrapper.ts +1332 -1332
  77. package/src/core/lib/textureCompression.ts +152 -152
  78. package/src/core/lib/textureSvg.ts +78 -78
  79. package/src/core/lib/utils.ts +384 -384
  80. package/src/core/lib/validateImageBitmap.ts +76 -76
  81. package/src/core/platform.ts +63 -63
  82. package/src/core/renderers/CoreContextTexture.ts +43 -43
  83. package/src/core/renderers/CoreRenderOp.ts +22 -22
  84. package/src/core/renderers/CoreRenderer.ts +115 -115
  85. package/src/core/renderers/CoreShader.ts +41 -41
  86. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -375
  87. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -153
  88. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  89. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  90. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  91. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +91 -86
  92. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  93. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +313 -301
  94. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  95. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +821 -821
  96. package/src/core/renderers/webgl/WebGlCoreShader.ts +365 -365
  97. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  98. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  99. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  100. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  101. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  102. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  103. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  104. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  105. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  106. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  107. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  108. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  109. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  110. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  111. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  112. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  113. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  114. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  115. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  116. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  117. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  118. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  119. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  120. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  121. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  122. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  123. package/src/core/text-rendering/TrFontManager.ts +183 -183
  124. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  125. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  126. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  127. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  128. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  129. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  130. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  131. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  132. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  133. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  134. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  135. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  136. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  137. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  138. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  139. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  140. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  141. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  142. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  143. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  144. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  145. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  146. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  147. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  148. package/src/core/textures/ColorTexture.ts +102 -102
  149. package/src/core/textures/ImageTexture.ts +400 -399
  150. package/src/core/textures/NoiseTexture.ts +104 -104
  151. package/src/core/textures/RenderTexture.ts +85 -85
  152. package/src/core/textures/SubTexture.ts +205 -205
  153. package/src/core/textures/Texture.ts +376 -367
  154. package/src/core/utils.ts +227 -227
  155. package/src/env.d.ts +7 -7
  156. package/src/main-api/DynamicShaderController.ts +104 -104
  157. package/src/main-api/INode.ts +101 -101
  158. package/src/main-api/Inspector.ts +522 -522
  159. package/src/main-api/Renderer.ts +751 -751
  160. package/src/main-api/ShaderController.ts +80 -80
  161. package/src/main-api/utils.ts +45 -45
  162. package/src/utils.ts +248 -248
  163. package/COPYING +0 -1
  164. package/dist/exports/canvas-shaders.d.ts +0 -10
  165. package/dist/exports/canvas-shaders.js +0 -27
  166. package/dist/exports/canvas-shaders.js.map +0 -1
  167. package/dist/exports/webgl-shaders.d.ts +0 -11
  168. package/dist/exports/webgl-shaders.js +0 -28
  169. package/dist/exports/webgl-shaders.js.map +0 -1
  170. package/dist/src/core/platforms/Platform.d.ts +0 -37
  171. package/dist/src/core/platforms/Platform.js +0 -22
  172. package/dist/src/core/platforms/Platform.js.map +0 -1
  173. package/dist/src/core/platforms/web/WebPlatform.d.ts +0 -9
  174. package/dist/src/core/platforms/web/WebPlatform.js +0 -58
  175. package/dist/src/core/platforms/web/WebPlatform.js.map +0 -1
  176. package/dist/src/core/renderers/CoreShaderNode.d.ts +0 -58
  177. package/dist/src/core/renderers/CoreShaderNode.js +0 -104
  178. package/dist/src/core/renderers/CoreShaderNode.js.map +0 -1
  179. package/dist/src/core/renderers/CoreShaderProgram.d.ts +0 -4
  180. package/dist/src/core/renderers/CoreShaderProgram.js +0 -20
  181. package/dist/src/core/renderers/CoreShaderProgram.js.map +0 -1
  182. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -36
  183. package/dist/src/core/renderers/canvas/CanvasRenderer.js +0 -212
  184. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +0 -1
  185. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +0 -21
  186. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +0 -60
  187. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +0 -1
  188. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +0 -16
  189. package/dist/src/core/renderers/canvas/CanvasTexture.js +0 -124
  190. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +0 -1
  191. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +0 -12
  192. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +0 -55
  193. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +0 -1
  194. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +0 -9
  195. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +0 -38
  196. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +0 -1
  197. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +0 -57
  198. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -227
  199. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +0 -1
  200. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
  201. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -118
  202. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  203. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +0 -135
  204. package/dist/src/core/renderers/webgl/WebGlRenderer.js +0 -571
  205. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +0 -1
  206. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +0 -222
  207. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +0 -334
  208. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +0 -1
  209. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +0 -35
  210. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +0 -201
  211. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +0 -1
  212. package/dist/src/core/shaders/canvas/Border.d.ts +0 -9
  213. package/dist/src/core/shaders/canvas/Border.js +0 -57
  214. package/dist/src/core/shaders/canvas/Border.js.map +0 -1
  215. package/dist/src/core/shaders/canvas/HolePunch.d.ts +0 -7
  216. package/dist/src/core/shaders/canvas/HolePunch.js +0 -38
  217. package/dist/src/core/shaders/canvas/HolePunch.js.map +0 -1
  218. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +0 -10
  219. package/dist/src/core/shaders/canvas/LinearGradient.js +0 -46
  220. package/dist/src/core/shaders/canvas/LinearGradient.js.map +0 -1
  221. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +0 -11
  222. package/dist/src/core/shaders/canvas/RadialGradient.js +0 -68
  223. package/dist/src/core/shaders/canvas/RadialGradient.js.map +0 -1
  224. package/dist/src/core/shaders/canvas/Rounded.d.ts +0 -7
  225. package/dist/src/core/shaders/canvas/Rounded.js +0 -33
  226. package/dist/src/core/shaders/canvas/Rounded.js.map +0 -1
  227. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +0 -7
  228. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +0 -41
  229. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +0 -1
  230. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +0 -8
  231. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +0 -39
  232. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +0 -1
  233. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +0 -7
  234. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +0 -38
  235. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +0 -1
  236. package/dist/src/core/shaders/canvas/Shadow.d.ts +0 -8
  237. package/dist/src/core/shaders/canvas/Shadow.js +0 -31
  238. package/dist/src/core/shaders/canvas/Shadow.js.map +0 -1
  239. package/dist/src/core/shaders/canvas/utils/render.d.ts +0 -5
  240. package/dist/src/core/shaders/canvas/utils/render.js +0 -84
  241. package/dist/src/core/shaders/canvas/utils/render.js.map +0 -1
  242. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +0 -37
  243. package/dist/src/core/shaders/templates/BorderTemplate.js +0 -73
  244. package/dist/src/core/shaders/templates/BorderTemplate.js.map +0 -1
  245. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +0 -46
  246. package/dist/src/core/shaders/templates/HolePunchTemplate.js +0 -35
  247. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +0 -1
  248. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +0 -23
  249. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -47
  250. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +0 -1
  251. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +0 -31
  252. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +0 -49
  253. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +0 -1
  254. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +0 -29
  255. package/dist/src/core/shaders/templates/RoundedTemplate.js +0 -67
  256. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +0 -1
  257. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +0 -7
  258. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -24
  259. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +0 -1
  260. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +0 -6
  261. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +0 -23
  262. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +0 -1
  263. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +0 -6
  264. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -23
  265. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +0 -1
  266. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +0 -34
  267. package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -66
  268. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +0 -1
  269. package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
  270. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  271. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  272. package/dist/src/core/shaders/webgl/Border.d.ts +0 -3
  273. package/dist/src/core/shaders/webgl/Border.js +0 -110
  274. package/dist/src/core/shaders/webgl/Border.js.map +0 -1
  275. package/dist/src/core/shaders/webgl/Default.d.ts +0 -2
  276. package/dist/src/core/shaders/webgl/Default.js +0 -86
  277. package/dist/src/core/shaders/webgl/Default.js.map +0 -1
  278. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +0 -2
  279. package/dist/src/core/shaders/webgl/DefaultBatched.js +0 -104
  280. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +0 -1
  281. package/dist/src/core/shaders/webgl/HolePunch.d.ts +0 -3
  282. package/dist/src/core/shaders/webgl/HolePunch.js +0 -64
  283. package/dist/src/core/shaders/webgl/HolePunch.js.map +0 -1
  284. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +0 -3
  285. package/dist/src/core/shaders/webgl/LinearGradient.js +0 -75
  286. package/dist/src/core/shaders/webgl/LinearGradient.js.map +0 -1
  287. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +0 -3
  288. package/dist/src/core/shaders/webgl/RadialGradient.js +0 -73
  289. package/dist/src/core/shaders/webgl/RadialGradient.js.map +0 -1
  290. package/dist/src/core/shaders/webgl/Rounded.d.ts +0 -7
  291. package/dist/src/core/shaders/webgl/Rounded.js +0 -86
  292. package/dist/src/core/shaders/webgl/Rounded.js.map +0 -1
  293. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +0 -3
  294. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +0 -129
  295. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +0 -1
  296. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +0 -3
  297. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +0 -149
  298. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +0 -1
  299. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +0 -3
  300. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +0 -84
  301. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +0 -1
  302. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -32
  303. package/dist/src/core/shaders/webgl/SdfShader.js +0 -116
  304. package/dist/src/core/shaders/webgl/SdfShader.js.map +0 -1
  305. package/dist/src/core/shaders/webgl/Shadow.d.ts +0 -3
  306. package/dist/src/core/shaders/webgl/Shadow.js +0 -110
  307. package/dist/src/core/shaders/webgl/Shadow.js.map +0 -1
  308. package/dist/src/core/temp.js +0 -77
  309. package/dist/src/core/temp.js.map +0 -1
  310. /package/dist/src/core/{temp.d.ts → renderers/webgl/WebGlCoreShader.destroy.d.ts} +0 -0
@@ -47,25 +47,25 @@ export class BorderTopEffect extends ShaderEffect {
47
47
  },
48
48
  };
49
49
  static methods = {
50
- fillMask: `
51
- float function(float dist) {
52
- return clamp(-dist, 0.0, 1.0);
53
- }
50
+ fillMask: `
51
+ float function(float dist) {
52
+ return clamp(-dist, 0.0, 1.0);
53
+ }
54
54
  `,
55
- rectDist: `
56
- float function(vec2 p, vec2 size) {
57
- vec2 d = abs(p) - size;
58
- return min(max(d.x, d.y), 0.0) + length(max(d, 0.0));
59
- }
55
+ rectDist: `
56
+ float function(vec2 p, vec2 size) {
57
+ vec2 d = abs(p) - size;
58
+ return min(max(d.x, d.y), 0.0) + length(max(d, 0.0));
59
+ }
60
60
  `,
61
61
  };
62
- static onEffectMask = `
63
- vec2 pos = vec2(0.0, width * 0.5);
64
- float mask = $rectDist(v_textureCoordinate.xy * u_dimensions - pos, vec2(u_dimensions.x, width*0.5));
65
- return mix(shaderColor, maskColor, $fillMask(mask));
62
+ static onEffectMask = `
63
+ vec2 pos = vec2(0.0, width * 0.5);
64
+ float mask = $rectDist(v_textureCoordinate.xy * u_dimensions - pos, vec2(u_dimensions.x, width*0.5));
65
+ return mix(shaderColor, maskColor, $fillMask(mask));
66
66
  `;
67
- static onColorize = `
68
- return color;
67
+ static onColorize = `
68
+ return color;
69
69
  `;
70
70
  }
71
71
  //# sourceMappingURL=BorderTopEffect.js.map
@@ -38,48 +38,48 @@ export class FadeOutEffect extends ShaderEffect {
38
38
  fade: props.fade ?? 10,
39
39
  };
40
40
  }
41
- static onColorize = `
42
- vec2 point = v_textureCoordinate.xy * u_dimensions.xy;
43
- vec2 pos1;
44
- vec2 pos2;
45
- vec2 d;
46
- float c;
47
- vec4 result = maskColor;
48
-
49
-
50
- if(fade[0] > 0.0) {
51
- pos1 = vec2(point.x, point.y);
52
- pos2 = vec2(point.x, point.y + fade[0]);
53
- d = pos2 - pos1;
54
- c = dot(pos1, d) / dot(d, d);
55
- result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
56
- }
57
-
58
- if(fade[1] > 0.0) {
59
- pos1 = vec2(point.x - u_dimensions.x - fade[1], v_textureCoordinate.y);
60
- pos2 = vec2(point.x - u_dimensions.x, v_textureCoordinate.y);
61
- d = pos1 - pos2;
62
- c = dot(pos2, d) / dot(d, d);
63
- result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
64
- }
65
-
66
- if(fade[2] > 0.0) {
67
- pos1 = vec2(v_textureCoordinate.x, point.y - u_dimensions.y - fade[2]);
68
- pos2 = vec2(v_textureCoordinate.x, point.y - u_dimensions.y);
69
- d = pos1 - pos2;
70
- c = dot(pos2, d) / dot(d, d);
71
- result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
72
- }
73
-
74
- if(fade[3] > 0.0) {
75
- pos1 = vec2(point.x, point.y);
76
- pos2 = vec2(point.x + fade[3], point.y);
77
- d = pos2 - pos1;
78
- c = dot(pos1, d) / dot(d, d);
79
- result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
80
- }
81
-
82
- return result;
41
+ static onColorize = `
42
+ vec2 point = v_textureCoordinate.xy * u_dimensions.xy;
43
+ vec2 pos1;
44
+ vec2 pos2;
45
+ vec2 d;
46
+ float c;
47
+ vec4 result = maskColor;
48
+
49
+
50
+ if(fade[0] > 0.0) {
51
+ pos1 = vec2(point.x, point.y);
52
+ pos2 = vec2(point.x, point.y + fade[0]);
53
+ d = pos2 - pos1;
54
+ c = dot(pos1, d) / dot(d, d);
55
+ result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
56
+ }
57
+
58
+ if(fade[1] > 0.0) {
59
+ pos1 = vec2(point.x - u_dimensions.x - fade[1], v_textureCoordinate.y);
60
+ pos2 = vec2(point.x - u_dimensions.x, v_textureCoordinate.y);
61
+ d = pos1 - pos2;
62
+ c = dot(pos2, d) / dot(d, d);
63
+ result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
64
+ }
65
+
66
+ if(fade[2] > 0.0) {
67
+ pos1 = vec2(v_textureCoordinate.x, point.y - u_dimensions.y - fade[2]);
68
+ pos2 = vec2(v_textureCoordinate.x, point.y - u_dimensions.y);
69
+ d = pos1 - pos2;
70
+ c = dot(pos2, d) / dot(d, d);
71
+ result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
72
+ }
73
+
74
+ if(fade[3] > 0.0) {
75
+ pos1 = vec2(point.x, point.y);
76
+ pos2 = vec2(point.x + fade[3], point.y);
77
+ d = pos2 - pos1;
78
+ c = dot(pos1, d) / dot(d, d);
79
+ result = mix(vec4(0.0), result, smoothstep(0.0, 1.0, clamp(c, 0.0, 1.0)));
80
+ }
81
+
82
+ return result;
83
83
  `;
84
84
  }
85
85
  //# sourceMappingURL=FadeOutEffect.js.map
@@ -51,54 +51,54 @@ export class GlitchEffect extends ShaderEffect {
51
51
  },
52
52
  };
53
53
  static methods = {
54
- rand: `
55
- float function(vec2 p, float time) {
56
- float t = floor(time * 20.) / 10.;
57
- return fract(sin(dot(p, vec2(t * 12.9898, t * 78.233))) * 43758.5453);
58
- }
54
+ rand: `
55
+ float function(vec2 p, float time) {
56
+ float t = floor(time * 20.) / 10.;
57
+ return fract(sin(dot(p, vec2(t * 12.9898, t * 78.233))) * 43758.5453);
58
+ }
59
59
  `,
60
- noise: `
61
- float function(vec2 uv, float blockiness, float time) {
62
- vec2 lv = fract(uv);
63
- vec2 id = floor(uv);
64
-
65
- float n1 = rand(id, time);
66
- float n2 = rand(id+vec2(1,0), time);
67
- float n3 = rand(id+vec2(0,1), time);
68
- float n4 = rand(id+vec2(1,1), time);
69
- vec2 u = smoothstep(0.0, 1.0 + blockiness, lv);
70
- return mix(mix(n1, n2, u.x), mix(n3, n4, u.x), u.y);
71
- }
60
+ noise: `
61
+ float function(vec2 uv, float blockiness, float time) {
62
+ vec2 lv = fract(uv);
63
+ vec2 id = floor(uv);
64
+
65
+ float n1 = rand(id, time);
66
+ float n2 = rand(id+vec2(1,0), time);
67
+ float n3 = rand(id+vec2(0,1), time);
68
+ float n4 = rand(id+vec2(1,1), time);
69
+ vec2 u = smoothstep(0.0, 1.0 + blockiness, lv);
70
+ return mix(mix(n1, n2, u.x), mix(n3, n4, u.x), u.y);
71
+ }
72
72
  `,
73
- fbm: `
74
- float function(vec2 uv, int count, float blockiness, float complexity, float time) {
75
- float val = 0.0;
76
- float amp = 0.5;
77
- const int MAX_ITERATIONS = 10;
78
-
79
- for(int i = 0; i < MAX_ITERATIONS; i++) {
80
- if(i >= count) {break;}
81
- val += amp * noise(uv, blockiness, time);
82
- amp *= 0.5;
83
- uv *= complexity;
84
- }
85
- return val;
86
- }
73
+ fbm: `
74
+ float function(vec2 uv, int count, float blockiness, float complexity, float time) {
75
+ float val = 0.0;
76
+ float amp = 0.5;
77
+ const int MAX_ITERATIONS = 10;
78
+
79
+ for(int i = 0; i < MAX_ITERATIONS; i++) {
80
+ if(i >= count) {break;}
81
+ val += amp * noise(uv, blockiness, time);
82
+ amp *= 0.5;
83
+ uv *= complexity;
84
+ }
85
+ return val;
86
+ }
87
87
  `,
88
88
  };
89
- static onColorize = `
90
- vec2 uv = v_textureCoordinate.xy;
91
- float aspect = u_dimensions.x / u_dimensions.y;
92
- vec2 a = vec2(uv.x * aspect , uv.y);
93
- vec2 uv2 = vec2(a.x / u_dimensions.x, exp(a.y));
94
-
95
- float shift = amplitude * pow($fbm(uv2, 4, blockiness, narrowness, time), minimizer);
96
- float colR = texture2D(u_texture, vec2(uv.x + shift, uv.y)).r * (1. - shift);
97
- float colG = texture2D(u_texture, vec2(uv.x - shift, uv.y)).g * (1. - shift);
98
- float colB = texture2D(u_texture, vec2(uv.x - shift, uv.y)).b * (1. - shift);
99
-
100
- vec3 f = vec3(colR, colG, colB);
101
- return vec4(f, texture2D(u_texture, vec2(uv.x - shift, uv.y)).a);
89
+ static onColorize = `
90
+ vec2 uv = v_textureCoordinate.xy;
91
+ float aspect = u_dimensions.x / u_dimensions.y;
92
+ vec2 a = vec2(uv.x * aspect , uv.y);
93
+ vec2 uv2 = vec2(a.x / u_dimensions.x, exp(a.y));
94
+
95
+ float shift = amplitude * pow($fbm(uv2, 4, blockiness, narrowness, time), minimizer);
96
+ float colR = texture2D(u_texture, vec2(uv.x + shift, uv.y)).r * (1. - shift);
97
+ float colG = texture2D(u_texture, vec2(uv.x - shift, uv.y)).g * (1. - shift);
98
+ float colB = texture2D(u_texture, vec2(uv.x - shift, uv.y)).b * (1. - shift);
99
+
100
+ vec3 f = vec3(colR, colG, colB);
101
+ return vec4(f, texture2D(u_texture, vec2(uv.x - shift, uv.y)).a);
102
102
  `;
103
103
  }
104
104
  //# sourceMappingURL=GlitchEffect.js.map
@@ -37,9 +37,9 @@ export class GrayscaleEffect extends ShaderEffect {
37
37
  type: 'float',
38
38
  },
39
39
  };
40
- static onColorize = `
41
- float grayness = 0.2 * maskColor.r + 0.6 * maskColor.g + 0.2 * maskColor.b;
42
- return vec4(amount * vec3(grayness) + (1.0 - amount) * maskColor.rgb, maskColor.a);
40
+ static onColorize = `
41
+ float grayness = 0.2 * maskColor.r + 0.6 * maskColor.g + 0.2 * maskColor.b;
42
+ return vec4(amount * vec3(grayness) + (1.0 - amount) * maskColor.rgb, maskColor.a);
43
43
  `;
44
44
  }
45
45
  //# sourceMappingURL=GrayscaleEffect.js.map
@@ -49,32 +49,32 @@ export class HolePunchEffect extends ShaderEffect {
49
49
  };
50
50
  }
51
51
  static methods = {
52
- fillMask: `
53
- float function(float dist) {
54
- return clamp(-dist, 0.0, 1.0);
55
- }
52
+ fillMask: `
53
+ float function(float dist) {
54
+ return clamp(-dist, 0.0, 1.0);
55
+ }
56
56
  `,
57
- boxDist: `
58
- float function(vec2 p, vec2 size, float radius) {
59
- size -= vec2(radius);
60
- vec2 d = abs(p) - size;
61
- return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
62
- }
57
+ boxDist: `
58
+ float function(vec2 p, vec2 size, float radius) {
59
+ size -= vec2(radius);
60
+ vec2 d = abs(p) - size;
61
+ return min(max(d.x, d.y), 0.0) + length(max(d, 0.0)) - radius;
62
+ }
63
63
  `,
64
64
  };
65
- static onShaderMask = `
66
- vec2 halfDimensions = u_dimensions * 0.5;
67
- vec2 size = vec2(width, height) * 0.5;
68
- vec2 basePos = v_textureCoordinate.xy * u_dimensions.xy - vec2(x, y);
69
- vec2 pos = basePos - size;
70
- float r = radius[0] * step(pos.x, 0.5) * step(pos.y, 0.5);
71
- r = r + radius[1] * step(0.5, pos.x) * step(pos.y, 0.5);
72
- r = r + radius[2] * step(0.5, pos.x) * step(0.5, pos.y);
73
- r = r + radius[3] * step(pos.x, 0.5) * step(0.5, pos.y);
74
- return $boxDist(pos, size, r);
65
+ static onShaderMask = `
66
+ vec2 halfDimensions = u_dimensions * 0.5;
67
+ vec2 size = vec2(width, height) * 0.5;
68
+ vec2 basePos = v_textureCoordinate.xy * u_dimensions.xy - vec2(x, y);
69
+ vec2 pos = basePos - size;
70
+ float r = radius[0] * step(pos.x, 0.5) * step(pos.y, 0.5);
71
+ r = r + radius[1] * step(0.5, pos.x) * step(pos.y, 0.5);
72
+ r = r + radius[2] * step(0.5, pos.x) * step(0.5, pos.y);
73
+ r = r + radius[3] * step(pos.x, 0.5) * step(0.5, pos.y);
74
+ return $boxDist(pos, size, r);
75
75
  `;
76
- static onEffectMask = `
77
- return mix(maskColor, vec4(0.0), $fillMask(shaderMask));
76
+ static onEffectMask = `
77
+ return mix(maskColor, vec4(0.0), $fillMask(shaderMask));
78
78
  `;
79
79
  }
80
80
  //# sourceMappingURL=HolePunchEffect.js.map
@@ -82,24 +82,24 @@ export class LinearGradientEffect extends ShaderEffect {
82
82
  },
83
83
  };
84
84
  static methods = {
85
- fromLinear: `
86
- vec4 function(vec4 linearRGB) {
87
- vec4 higher = vec4(1.055)*pow(linearRGB, vec4(1.0/2.4)) - vec4(0.055);
88
- vec4 lower = linearRGB * vec4(12.92);
89
- return mix(higher, lower, 1.0);
90
- }
85
+ fromLinear: `
86
+ vec4 function(vec4 linearRGB) {
87
+ vec4 higher = vec4(1.055)*pow(linearRGB, vec4(1.0/2.4)) - vec4(0.055);
88
+ vec4 lower = linearRGB * vec4(12.92);
89
+ return mix(higher, lower, 1.0);
90
+ }
91
91
  `,
92
- toLinear: `
93
- vec4 function(vec4 sRGB) {
94
- vec4 higher = pow((sRGB + vec4(0.055))/vec4(1.055), vec4(2.4));
95
- vec4 lower = sRGB/vec4(12.92);
96
- return mix(higher, lower, 1.0);
97
- }
92
+ toLinear: `
93
+ vec4 function(vec4 sRGB) {
94
+ vec4 higher = pow((sRGB + vec4(0.055))/vec4(1.055), vec4(2.4));
95
+ vec4 lower = sRGB/vec4(12.92);
96
+ return mix(higher, lower, 1.0);
97
+ }
98
98
  `,
99
- calcPoint: `
100
- vec2 function(float d, float angle) {
101
- return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
102
- }
99
+ calcPoint: `
100
+ vec2 function(float d, float angle) {
101
+ return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
102
+ }
103
103
  `,
104
104
  };
105
105
  static ColorLoop = (amount) => {
@@ -111,18 +111,18 @@ export class LinearGradientEffect extends ShaderEffect {
111
111
  };
112
112
  static onColorize = (props) => {
113
113
  const colors = props.colors.length || 1;
114
- return `
115
- float a = angle - (PI / 180.0 * 90.0);
116
- float lineDist = abs(u_dimensions.x * cos(a)) + abs(u_dimensions.y * sin(a));
117
- vec2 f = $calcPoint(lineDist * 0.5, a);
118
- vec2 t = $calcPoint(lineDist * 0.5, a + PI);
119
- vec2 gradVec = t - f;
120
- float dist = dot(v_textureCoordinate.xy * u_dimensions - f, gradVec) / dot(gradVec, gradVec);
121
-
122
- float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
123
- vec4 colorOut = $fromLinear(mix($toLinear(colors[0]), $toLinear(colors[1]), stopCalc));
124
- ${this.ColorLoop(colors)}
125
- return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
114
+ return `
115
+ float a = angle - (PI / 180.0 * 90.0);
116
+ float lineDist = abs(u_dimensions.x * cos(a)) + abs(u_dimensions.y * sin(a));
117
+ vec2 f = $calcPoint(lineDist * 0.5, a);
118
+ vec2 t = $calcPoint(lineDist * 0.5, a + PI);
119
+ vec2 gradVec = t - f;
120
+ float dist = dot(v_textureCoordinate.xy * u_dimensions - f, gradVec) / dot(gradVec, gradVec);
121
+
122
+ float stopCalc = (dist - stops[0]) / (stops[1] - stops[0]);
123
+ vec4 colorOut = $fromLinear(mix($toLinear(colors[0]), $toLinear(colors[1]), stopCalc));
124
+ ${this.ColorLoop(colors)}
125
+ return mix(maskColor, colorOut, clamp(colorOut.a, 0.0, 1.0));
126
126
  `;
127
127
  };
128
128
  }
@@ -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
@@ -97,7 +97,7 @@ export declare class ImageTexture extends Texture {
97
97
  constructor(txManager: CoreTextureManager, props: ImageTextureProps);
98
98
  hasAlphaChannel(mimeType: string): boolean;
99
99
  loadImageFallback(src: string | Blob, hasAlpha: boolean): Promise<{
100
- data: HTMLImageElement;
100
+ data: HTMLImageElement | null;
101
101
  premultiplyAlpha: boolean;
102
102
  }>;
103
103
  createImageBitmap(blob: Blob, premultiplyAlpha: boolean | null, sx: number | null, sy: number | null, sw: number | null, sh: number | null): Promise<{
@@ -56,7 +56,7 @@ export class ImageTexture extends Texture {
56
56
  };
57
57
  img.onerror = () => {
58
58
  console.warn('Image loading failed, returning fallback object.');
59
- resolve({ data: img, premultiplyAlpha: hasAlpha });
59
+ resolve({ data: null, premultiplyAlpha: hasAlpha });
60
60
  };
61
61
  if (src instanceof Blob) {
62
62
  img.src = URL.createObjectURL(src);
@@ -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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"}
@@ -90,6 +90,10 @@ export declare abstract class Texture extends EventEmitter {
90
90
  */
91
91
  private _dimensions;
92
92
  private _error;
93
+ /**
94
+ * Texture states that are considered transitional and should be skipped during cleanup
95
+ */
96
+ static readonly TRANSITIONAL_TEXTURE_STATES: readonly TextureState[];
93
97
  state: TextureState;
94
98
  readonly renderableOwners: Set<unknown>;
95
99
  readonly renderable: boolean;
@@ -46,6 +46,10 @@ export class Texture extends EventEmitter {
46
46
  */
47
47
  _dimensions = null;
48
48
  _error = null;
49
+ /**
50
+ * Texture states that are considered transitional and should be skipped during cleanup
51
+ */
52
+ static TRANSITIONAL_TEXTURE_STATES = ['fetching', 'fetched', 'loading'];
49
53
  // aggregate state
50
54
  state = 'initial';
51
55
  renderableOwners = new Set();
@@ -134,10 +138,12 @@ export class Texture extends EventEmitter {
134
138
  * cleaned up.
135
139
  */
136
140
  destroy() {
137
- this.removeAllListeners();
138
- this.free();
141
+ // Only free GPU resources if we're in a state where they exist
142
+ if (this.state === 'loaded') {
143
+ this.free();
144
+ }
145
+ // Always free texture data regardless of state
139
146
  this.freeTextureData();
140
- this.renderableOwners.clear();
141
147
  }
142
148
  /**
143
149
  * Free the source texture data for this Texture.