@lightningjs/renderer 2.12.1 → 3.0.0-beta1

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 (323) hide show
  1. package/dist/exports/canvas-shaders.d.ts +10 -0
  2. package/dist/exports/canvas-shaders.js +27 -0
  3. package/dist/exports/canvas-shaders.js.map +1 -0
  4. package/dist/exports/canvas.d.ts +7 -1
  5. package/dist/exports/canvas.js +7 -1
  6. package/dist/exports/canvas.js.map +1 -1
  7. package/dist/exports/index.d.ts +15 -8
  8. package/dist/exports/index.js +7 -4
  9. package/dist/exports/index.js.map +1 -1
  10. package/dist/exports/webgl-shaders.d.ts +11 -0
  11. package/dist/exports/webgl-shaders.js +28 -0
  12. package/dist/exports/webgl-shaders.js.map +1 -0
  13. package/dist/exports/webgl.d.ts +9 -1
  14. package/dist/exports/webgl.js +9 -1
  15. package/dist/exports/webgl.js.map +1 -1
  16. package/dist/src/core/CoreNode.d.ts +19 -5
  17. package/dist/src/core/CoreNode.js +117 -24
  18. package/dist/src/core/CoreNode.js.map +1 -1
  19. package/dist/src/core/CoreShaderManager.d.ts +29 -71
  20. package/dist/src/core/CoreShaderManager.js +110 -97
  21. package/dist/src/core/CoreShaderManager.js.map +1 -1
  22. package/dist/src/core/CoreTextNode.js +1 -1
  23. package/dist/src/core/CoreTextNode.js.map +1 -1
  24. package/dist/src/core/CoreTextureManager.d.ts +13 -7
  25. package/dist/src/core/CoreTextureManager.js +92 -105
  26. package/dist/src/core/CoreTextureManager.js.map +1 -1
  27. package/dist/src/core/Stage.d.ts +15 -16
  28. package/dist/src/core/Stage.js +45 -32
  29. package/dist/src/core/Stage.js.map +1 -1
  30. package/dist/src/core/TextureMemoryManager.d.ts +16 -6
  31. package/dist/src/core/TextureMemoryManager.js +75 -17
  32. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  33. package/dist/src/core/animations/CoreAnimation.d.ts +0 -1
  34. package/dist/src/core/animations/CoreAnimation.js +6 -52
  35. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  36. package/dist/src/core/lib/ImageWorker.d.ts +1 -1
  37. package/dist/src/core/lib/ImageWorker.js +13 -11
  38. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  39. package/dist/src/core/lib/WebGlContextWrapper.d.ts +67 -54
  40. package/dist/src/core/lib/WebGlContextWrapper.js +126 -157
  41. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  42. package/dist/src/core/lib/textureCompression.js +0 -1
  43. package/dist/src/core/lib/textureCompression.js.map +1 -1
  44. package/dist/src/core/lib/utils.d.ts +4 -0
  45. package/dist/src/core/lib/utils.js +26 -0
  46. package/dist/src/core/lib/utils.js.map +1 -1
  47. package/dist/src/core/lib/validateImageBitmap.d.ts +6 -0
  48. package/dist/src/core/lib/validateImageBitmap.js +68 -0
  49. package/dist/src/core/lib/validateImageBitmap.js.map +1 -0
  50. package/dist/src/core/platform.js +4 -3
  51. package/dist/src/core/platform.js.map +1 -1
  52. package/dist/src/core/renderers/CoreRenderer.d.ts +11 -21
  53. package/dist/src/core/renderers/CoreRenderer.js +0 -6
  54. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  55. package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
  56. package/dist/src/core/renderers/CoreShaderNode.js +107 -0
  57. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  58. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  59. package/{src/core/renderers/CoreShader.ts → dist/src/core/renderers/CoreShaderProgram.js} +2 -23
  60. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  61. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
  62. package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
  63. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  64. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  65. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
  66. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  67. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
  68. package/dist/src/core/renderers/canvas/CanvasTexture.js +123 -0
  69. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  70. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -13
  71. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +192 -113
  72. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  73. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +2 -0
  74. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +14 -0
  75. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  76. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -12
  77. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  78. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
  79. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
  80. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  81. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
  82. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
  83. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  84. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
  85. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
  86. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  87. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +36 -0
  88. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +107 -0
  89. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
  90. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
  91. package/dist/src/core/renderers/webgl/WebGlRenderer.js +546 -0
  92. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  93. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +221 -0
  94. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
  95. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  96. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
  97. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +195 -0
  98. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  99. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +32 -5
  100. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
  101. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  102. package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
  103. package/dist/src/core/shaders/canvas/Border.js +57 -0
  104. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  105. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  106. package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
  107. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  108. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  109. package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
  110. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  111. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  112. package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
  113. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  114. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  115. package/dist/src/core/shaders/canvas/Rounded.js +33 -0
  116. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  117. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
  118. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
  119. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  120. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
  121. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
  122. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  123. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  124. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
  125. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  126. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  127. package/dist/src/core/shaders/canvas/Shadow.js +31 -0
  128. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  129. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  130. package/dist/src/core/shaders/canvas/utils/render.js +84 -0
  131. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  132. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
  133. package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
  134. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  135. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  136. package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
  137. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  138. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  139. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
  140. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  141. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
  142. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
  143. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  144. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  145. package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
  146. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  147. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  148. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
  149. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  150. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
  151. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
  152. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  153. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  154. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
  155. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  156. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  157. package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
  158. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  159. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  160. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  161. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  162. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  163. package/dist/src/core/shaders/webgl/Border.js +87 -0
  164. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  165. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  166. package/dist/src/core/shaders/webgl/Default.js +86 -0
  167. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  168. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
  169. package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
  170. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
  171. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  172. package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
  173. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  174. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  175. package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
  176. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  177. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  178. package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
  179. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  180. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  181. package/dist/src/core/shaders/webgl/Rounded.js +86 -0
  182. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  183. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  184. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
  185. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  186. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  187. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
  188. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  189. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  190. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
  191. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  192. package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
  193. package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
  194. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  195. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  196. package/dist/src/core/shaders/webgl/Shadow.js +110 -0
  197. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  198. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  199. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  200. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  201. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +6 -0
  202. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  203. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -3
  204. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +34 -30
  205. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  206. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -4
  207. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  208. package/dist/src/core/textures/ImageTexture.js +10 -16
  209. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  210. package/dist/src/core/textures/Texture.d.ts +1 -1
  211. package/dist/src/main-api/INode.d.ts +9 -9
  212. package/dist/src/main-api/Inspector.js +16 -2
  213. package/dist/src/main-api/Inspector.js.map +1 -1
  214. package/dist/src/main-api/Renderer.d.ts +35 -92
  215. package/dist/src/main-api/Renderer.js +11 -57
  216. package/dist/src/main-api/Renderer.js.map +1 -1
  217. package/dist/src/utils.d.ts +6 -0
  218. package/dist/src/utils.js +18 -0
  219. package/dist/src/utils.js.map +1 -1
  220. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  221. package/exports/canvas-shaders.ts +28 -0
  222. package/exports/canvas.ts +7 -1
  223. package/exports/index.ts +17 -17
  224. package/exports/webgl-shaders.ts +28 -0
  225. package/exports/webgl.ts +13 -1
  226. package/package.json +3 -1
  227. package/src/core/CoreNode.test.ts +157 -153
  228. package/src/core/CoreNode.ts +173 -38
  229. package/src/core/CoreShaderManager.ts +127 -226
  230. package/src/core/CoreTextNode.ts +1 -8
  231. package/src/core/CoreTextureManager.ts +127 -126
  232. package/src/core/Stage.ts +62 -44
  233. package/src/core/TextureMemoryManager.ts +108 -27
  234. package/src/core/animations/CoreAnimation.ts +8 -64
  235. package/src/core/lib/ImageWorker.ts +20 -12
  236. package/src/core/lib/WebGlContextWrapper.ts +228 -236
  237. package/src/core/lib/textureCompression.ts +3 -3
  238. package/src/core/lib/utils.ts +51 -0
  239. package/src/core/lib/validateImageBitmap.ts +76 -0
  240. package/src/core/platform.ts +6 -3
  241. package/src/core/renderers/CoreRenderer.ts +19 -27
  242. package/src/core/renderers/CoreShaderNode.ts +171 -0
  243. package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
  244. package/src/core/renderers/canvas/CanvasRenderer.ts +299 -0
  245. package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
  246. package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +1 -1
  247. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +2 -13
  248. package/src/core/renderers/canvas/internal/ColorUtils.ts +16 -0
  249. package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +2 -2
  250. package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +2 -2
  251. package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +12 -14
  252. package/src/core/renderers/webgl/{WebGlCoreRenderOp.ts → WebGlRenderOp.ts} +56 -36
  253. package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +143 -243
  254. package/src/core/renderers/webgl/WebGlShaderNode.ts +433 -0
  255. package/src/core/renderers/webgl/WebGlShaderProgram.ts +310 -0
  256. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -5
  257. package/src/core/shaders/canvas/Border.ts +78 -0
  258. package/src/core/shaders/canvas/HolePunch.ts +62 -0
  259. package/src/core/shaders/canvas/LinearGradient.ts +69 -0
  260. package/src/core/shaders/canvas/RadialGradient.ts +113 -0
  261. package/src/core/shaders/canvas/Rounded.ts +55 -0
  262. package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -0
  263. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -0
  264. package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -0
  265. package/src/core/shaders/canvas/Shadow.ts +52 -0
  266. package/src/core/shaders/canvas/utils/render.ts +151 -0
  267. package/src/core/shaders/templates/BorderTemplate.ts +115 -0
  268. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -0
  269. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -0
  270. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -0
  271. package/src/core/shaders/templates/RoundedTemplate.ts +98 -0
  272. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -0
  273. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -0
  274. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
  275. package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
  276. package/src/core/shaders/templates/shaderUtils.ts +47 -0
  277. package/src/core/shaders/webgl/Border.ts +96 -0
  278. package/src/core/shaders/webgl/Default.ts +89 -0
  279. package/src/core/shaders/webgl/DefaultBatched.ts +129 -0
  280. package/src/core/shaders/webgl/HolePunch.ts +78 -0
  281. package/src/core/shaders/webgl/LinearGradient.ts +81 -0
  282. package/src/core/shaders/webgl/RadialGradient.ts +84 -0
  283. package/src/core/shaders/webgl/Rounded.ts +117 -0
  284. package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -0
  285. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -0
  286. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
  287. package/src/core/shaders/webgl/SdfShader.ts +137 -0
  288. package/src/core/shaders/webgl/Shadow.ts +115 -0
  289. package/src/core/text-rendering/TextTextureRendererUtils.ts +1 -1
  290. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +2 -2
  291. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +12 -5
  292. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +44 -56
  293. package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
  294. package/src/core/textures/ImageTexture.ts +11 -17
  295. package/src/core/textures/Texture.ts +1 -1
  296. package/src/main-api/INode.ts +11 -13
  297. package/src/main-api/Inspector.ts +19 -2
  298. package/src/main-api/Renderer.ts +59 -130
  299. package/src/utils.ts +19 -0
  300. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
  301. package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -362
  302. package/src/core/renderers/webgl/shaders/DefaultShader.ts +0 -93
  303. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -132
  304. package/src/core/renderers/webgl/shaders/DynamicShader.ts +0 -580
  305. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +0 -167
  306. package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -204
  307. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +0 -101
  308. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +0 -87
  309. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +0 -101
  310. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +0 -101
  311. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +0 -101
  312. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +0 -159
  313. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +0 -127
  314. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +0 -148
  315. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +0 -67
  316. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +0 -157
  317. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +0 -171
  318. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +0 -168
  319. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +0 -187
  320. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +0 -110
  321. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +0 -196
  322. package/src/main-api/DynamicShaderController.ts +0 -104
  323. package/src/main-api/ShaderController.ts +0 -80
@@ -19,7 +19,7 @@
19
19
  import { startLoop, getTimeStamp } from './platform.js';
20
20
  import { assertTruthy, setPremultiplyMode } from '../utils.js';
21
21
  import { AnimationManager } from './animations/AnimationManager.js';
22
- import { CoreNode, CoreNodeRenderState, } from './CoreNode.js';
22
+ import { UpdateType, CoreNode, CoreNodeRenderState, } from './CoreNode.js';
23
23
  import { CoreTextureManager } from './CoreTextureManager.js';
24
24
  import { TrFontManager } from './text-rendering/TrFontManager.js';
25
25
  import { CoreShaderManager } from './CoreShaderManager.js';
@@ -32,7 +32,6 @@ import { CoreTextNode } from './CoreTextNode.js';
32
32
  import { santizeCustomDataMap } from '../main-api/utils.js';
33
33
  import { createBound, createPreloadBounds } from './lib/utils.js';
34
34
  import { ColorTexture } from './textures/ColorTexture.js';
35
- const bufferMemory = 2e6;
36
35
  const autoStart = true;
37
36
  export class Stage {
38
37
  options;
@@ -46,11 +45,13 @@ export class Stage {
46
45
  renderer;
47
46
  root;
48
47
  boundsMargin;
49
- defShaderCtr;
48
+ defShaderNode = null;
50
49
  strictBound;
51
50
  preloadBound;
52
51
  strictBounds;
53
52
  defaultTexture = null;
53
+ pixelRatio;
54
+ bufferMemory = 2e6;
54
55
  /**
55
56
  * Renderer Event Bus for the Stage to emit events onto
56
57
  *
@@ -64,6 +65,7 @@ export class Stage {
64
65
  deltaTime = 0;
65
66
  lastFrameTime = 0;
66
67
  currentFrameTime = 0;
68
+ clrColor = 0x00000000;
67
69
  fpsNumFrames = 0;
68
70
  fpsElapsedTime = 0;
69
71
  numQuadsRendered = 0;
@@ -77,16 +79,18 @@ export class Stage {
77
79
  */
78
80
  constructor(options) {
79
81
  this.options = options;
80
- const { canvas, clearColor, appWidth, appHeight, boundsMargin, enableContextSpy, forceWebGL2, numImageWorkers, textureMemory, renderEngine, fontEngines, } = options;
82
+ const { canvas, clearColor, appWidth, appHeight, boundsMargin, enableContextSpy, forceWebGL2, numImageWorkers, textureMemory, renderEngine, fontEngines, createImageBitmapSupport, } = options;
81
83
  this.eventBus = options.eventBus;
82
- this.txManager = new CoreTextureManager(this, numImageWorkers);
84
+ this.txManager = new CoreTextureManager(this, {
85
+ numImageWorkers,
86
+ createImageBitmapSupport,
87
+ });
83
88
  // Wait for the Texture Manager to initialize
84
89
  // once it does, request a render
85
90
  this.txManager.on('initialized', () => {
86
91
  this.requestRender();
87
92
  });
88
93
  this.txMemManager = new TextureMemoryManager(this, textureMemory);
89
- this.shManager = new CoreShaderManager();
90
94
  this.animationManager = new AnimationManager();
91
95
  this.contextSpy = enableContextSpy ? new ContextSpy() : null;
92
96
  this.strictBounds = options.strictBounds;
@@ -100,22 +104,19 @@ export class Stage {
100
104
  // precalculate our viewport bounds
101
105
  this.strictBound = createBound(0, 0, appWidth, appHeight);
102
106
  this.preloadBound = createPreloadBounds(this.strictBound, bm);
103
- const rendererOptions = {
107
+ this.clrColor = clearColor;
108
+ this.pixelRatio =
109
+ options.devicePhysicalPixelRatio * options.deviceLogicalPixelRatio;
110
+ this.renderer = new renderEngine({
104
111
  stage: this,
105
112
  canvas,
106
- pixelRatio: options.devicePhysicalPixelRatio * options.deviceLogicalPixelRatio,
107
- clearColor: clearColor ?? 0xff000000,
108
- bufferMemory,
109
- txManager: this.txManager,
110
- txMemManager: this.txMemManager,
111
- shManager: this.shManager,
112
113
  contextSpy: this.contextSpy,
113
114
  forceWebGL2,
114
- };
115
- this.renderer = new renderEngine(rendererOptions);
115
+ });
116
+ this.shManager = new CoreShaderManager(this);
117
+ this.defShaderNode = this.renderer.getDefaultShaderNode();
116
118
  const renderMode = this.renderer.mode || 'webgl';
117
119
  this.createDefaultTexture();
118
- this.defShaderCtr = this.renderer.getDefShaderCtr();
119
120
  setPremultiplyMode(renderMode);
120
121
  // Must do this after renderer is created
121
122
  this.txManager.renderer = this.renderer;
@@ -150,6 +151,7 @@ export class Stage {
150
151
  height: appHeight,
151
152
  alpha: 1,
152
153
  autosize: false,
154
+ boundsMargin: null,
153
155
  clipping: false,
154
156
  color: 0x00000000,
155
157
  colorTop: 0x00000000,
@@ -174,7 +176,7 @@ export class Stage {
174
176
  parent: null,
175
177
  texture: null,
176
178
  textureOptions: {},
177
- shader: this.defShaderCtr,
179
+ shader: this.defShaderNode,
178
180
  rtt: false,
179
181
  src: null,
180
182
  scale: 1,
@@ -188,6 +190,7 @@ export class Stage {
188
190
  }
189
191
  }
190
192
  setClearColor(color) {
193
+ this.clearColor = color;
191
194
  this.renderer.updateClearColor(color);
192
195
  this.renderRequested = true;
193
196
  }
@@ -211,6 +214,7 @@ export class Stage {
211
214
  * Create default PixelTexture
212
215
  */
213
216
  createDefaultTexture() {
217
+ console.log('Creating default texture');
214
218
  this.defaultTexture = this.txManager.createTexture('ColorTexture', {
215
219
  color: 0xffffffff,
216
220
  });
@@ -260,8 +264,12 @@ export class Stage {
260
264
  // Reset render operations and clear the canvas
261
265
  renderer.reset();
262
266
  // Check if we need to cleanup textures
263
- if (this.txMemManager.criticalCleanupRequested) {
264
- this.txMemManager.cleanup();
267
+ if (this.txMemManager.criticalCleanupRequested === true) {
268
+ this.txMemManager.cleanup(false);
269
+ if (this.txMemManager.criticalCleanupRequested === true) {
270
+ // If we still need to cleanup, request another but aggressive cleanup
271
+ this.txMemManager.cleanup(true);
272
+ }
265
273
  }
266
274
  // If we have RTT nodes draw them first
267
275
  // So we can use them as textures in the main scene
@@ -427,16 +435,6 @@ export class Stage {
427
435
  // the covariant state argument in the setter method map
428
436
  return resolvedTextRenderer;
429
437
  }
430
- /**
431
- * Create a shader controller instance
432
- *
433
- * @param type
434
- * @param props
435
- * @returns
436
- */
437
- createShaderCtr(type, props) {
438
- return this.shManager.loadShader(type, props);
439
- }
440
438
  createNode(props) {
441
439
  const resolvedProps = this.resolveNodeDefaults(props);
442
440
  return new CoreNode(this, resolvedProps);
@@ -472,6 +470,12 @@ export class Stage {
472
470
  }
473
471
  return new CoreTextNode(this, resolvedProps, resolvedTextRenderer);
474
472
  }
473
+ setBoundsMargin(value) {
474
+ this.boundsMargin = Array.isArray(value)
475
+ ? value
476
+ : [value, value, value, value];
477
+ this.root.setUpdateType(UpdateType.RenderBounds);
478
+ }
475
479
  /**
476
480
  * Resolves the default property values for a Node
477
481
  *
@@ -500,6 +504,7 @@ export class Stage {
500
504
  height: props.height ?? 0,
501
505
  alpha: props.alpha ?? 1,
502
506
  autosize: props.autosize ?? false,
507
+ boundsMargin: props.boundsMargin ?? null,
503
508
  clipping: props.clipping ?? false,
504
509
  color,
505
510
  colorTop: props.colorTop ?? color,
@@ -515,7 +520,7 @@ export class Stage {
515
520
  parent: props.parent ?? null,
516
521
  texture: props.texture ?? null,
517
522
  textureOptions: props.textureOptions ?? {},
518
- shader: props.shader ?? this.defShaderCtr,
523
+ shader: props.shader ?? this.defShaderNode,
519
524
  // Since setting the `src` will trigger a texture load, we need to set it after
520
525
  // we set the texture. Otherwise, problems happen.
521
526
  src: props.src ?? null,
@@ -546,8 +551,16 @@ export class Stage {
546
551
  * @remarks
547
552
  * This method is used to cleanup orphaned textures that are no longer in use.
548
553
  */
549
- cleanup() {
550
- this.txMemManager.cleanup();
554
+ cleanup(aggressive) {
555
+ this.txMemManager.cleanup(aggressive);
556
+ }
557
+ set clearColor(value) {
558
+ this.renderer.updateClearColor(value);
559
+ this.renderRequested = true;
560
+ this.clrColor = value;
561
+ }
562
+ get clearColor() {
563
+ return this.clrColor;
551
564
  }
552
565
  }
553
566
  //# sourceMappingURL=Stage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Stage.js","sourceRoot":"","sources":["../../../src/core/Stage.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { Stage } from './Stage.js';
2
- import type { Texture } from './textures/Texture.js';
2
+ import { type Texture } from './textures/Texture.js';
3
3
  export interface TextureMemoryManagerSettings {
4
4
  /**
5
5
  * Critical Threshold (in bytes)
@@ -29,13 +29,13 @@ export interface TextureMemoryManagerSettings {
29
29
  */
30
30
  targetThresholdLevel: number;
31
31
  /**
32
- * Interval between Texture Cleanups (in milliseconds)
32
+ * Interval between non-aggressive Texture Cleanups (in milliseconds)
33
33
  *
34
34
  * @remarks
35
- * Texture Memory Manager will perform a Texture Cleanup no more
36
- * frequently than this interval generally when the scene becomes idle.
35
+ * Texture Memory Manager will perform a non aggressive Texture Cleanup no more
36
+ * frequently than this interval when the scene becomes idle.
37
37
  *
38
- * @defaultValue `30,000` (30 seconds)
38
+ * @defaultValue `5,000` (5 seconds)
39
39
  */
40
40
  cleanupInterval: number;
41
41
  /**
@@ -54,6 +54,12 @@ export interface TextureMemoryManagerSettings {
54
54
  * @defaultValue `25e6` (25 MB)
55
55
  */
56
56
  baselineMemoryAllocation: number;
57
+ /**
58
+ * Do not exceed critical threshold
59
+ *
60
+ * @defaultValue `false`
61
+ */
62
+ doNotExceedCriticalThreshold: boolean;
57
63
  }
58
64
  export interface MemoryInfo {
59
65
  criticalThreshold: number;
@@ -91,6 +97,7 @@ export declare class TextureMemoryManager {
91
97
  private lastCleanupTime;
92
98
  private baselineMemoryAllocation;
93
99
  criticalCleanupRequested: boolean;
100
+ doNotExceedCriticalThreshold: boolean;
94
101
  /**
95
102
  * The current frame time in milliseconds
96
103
  *
@@ -121,7 +128,10 @@ export declare class TextureMemoryManager {
121
128
  */
122
129
  setTextureMemUse(texture: Texture, byteSize: number): void;
123
130
  checkCleanup(): boolean;
124
- cleanup(): void;
131
+ checkCriticalCleanup(): boolean;
132
+ cleanupQuick(critical: boolean): void;
133
+ cleanupDeep(critical: boolean): void;
134
+ cleanup(aggressive?: boolean): void;
125
135
  /**
126
136
  * Get the current texture memory usage information
127
137
  *
@@ -18,6 +18,7 @@
18
18
  */
19
19
  import { isProductionEnvironment } from '../utils.js';
20
20
  import { getTimeStamp } from './platform.js';
21
+ import { TextureType } from './textures/Texture.js';
21
22
  import { bytesToMb } from './utils.js';
22
23
  /**
23
24
  * LRU (Least Recently Used) style memory manager for textures
@@ -46,6 +47,7 @@ export class TextureMemoryManager {
46
47
  lastCleanupTime = 0;
47
48
  baselineMemoryAllocation;
48
49
  criticalCleanupRequested = false;
50
+ doNotExceedCriticalThreshold;
49
51
  /**
50
52
  * The current frame time in milliseconds
51
53
  *
@@ -57,13 +59,14 @@ export class TextureMemoryManager {
57
59
  frameTime = 0;
58
60
  constructor(stage, settings) {
59
61
  this.stage = stage;
60
- const { criticalThreshold } = settings;
62
+ const { criticalThreshold, doNotExceedCriticalThreshold } = settings;
63
+ this.doNotExceedCriticalThreshold = doNotExceedCriticalThreshold || false;
61
64
  this.criticalThreshold = Math.round(criticalThreshold);
62
65
  const targetFraction = Math.max(0, Math.min(1, settings.targetThresholdLevel));
63
- this.targetThreshold = Math.round(criticalThreshold * targetFraction);
64
66
  this.cleanupInterval = settings.cleanupInterval;
65
67
  this.debugLogging = settings.debugLogging;
66
68
  this.baselineMemoryAllocation = Math.round(settings.baselineMemoryAllocation);
69
+ this.targetThreshold = Math.max(Math.round(criticalThreshold * targetFraction), this.baselineMemoryAllocation);
67
70
  this.memUsed = Math.round(settings.baselineMemoryAllocation);
68
71
  if (settings.debugLogging) {
69
72
  let lastMemUse = 0;
@@ -135,28 +138,21 @@ export class TextureMemoryManager {
135
138
  (this.memUsed > this.targetThreshold &&
136
139
  this.frameTime - this.lastCleanupTime >= this.cleanupInterval));
137
140
  }
138
- cleanup() {
139
- const critical = this.criticalCleanupRequested;
140
- this.lastCleanupTime = this.frameTime;
141
- this.criticalCleanupRequested = false;
142
- if (critical === true) {
143
- this.stage.queueFrameEvent('criticalCleanup', {
144
- memUsed: this.memUsed,
145
- criticalThreshold: this.criticalThreshold,
146
- });
147
- }
148
- if (this.debugLogging) {
149
- console.log(`[TextureMemoryManager] Cleaning up textures. Critical: ${critical}`);
150
- }
141
+ checkCriticalCleanup() {
142
+ return this.memUsed > this.criticalThreshold;
143
+ }
144
+ cleanupQuick(critical) {
151
145
  // Free non-renderable textures until we reach the target threshold
152
146
  const memTarget = this.targetThreshold;
153
147
  const txManager = this.stage.txManager;
154
148
  const timestamp = getTimeStamp();
155
149
  while (this.memUsed >= memTarget &&
156
150
  this.orphanedTextures.length > 0 &&
157
- // if it a non-critical cleanup, we will only cleanup for 10ms
158
151
  (critical || getTimeStamp() - timestamp < 10)) {
159
152
  const texture = this.orphanedTextures.shift();
153
+ if (texture === undefined) {
154
+ continue;
155
+ }
160
156
  if (texture.renderable === true) {
161
157
  // If the texture is renderable, we can't free it up
162
158
  continue;
@@ -164,6 +160,65 @@ export class TextureMemoryManager {
164
160
  texture.free();
165
161
  txManager.removeTextureFromCache(texture);
166
162
  }
163
+ }
164
+ cleanupDeep(critical) {
165
+ // Free non-renderable textures until we reach the target threshold
166
+ const memTarget = critical ? this.criticalThreshold : this.targetThreshold;
167
+ const txManager = this.stage.txManager;
168
+ // sort by renderability
169
+ const filteredAndSortedTextures = [];
170
+ const textures = [...this.loadedTextures.keys()];
171
+ for (let i = 0; i < textures.length; i++) {
172
+ const texture = textures[i];
173
+ if (texture === undefined) {
174
+ continue;
175
+ }
176
+ if (texture.type === TextureType.image ||
177
+ texture.type === TextureType.noise ||
178
+ texture.type === TextureType.renderToTexture) {
179
+ if (texture.renderable === true) {
180
+ filteredAndSortedTextures.push(texture);
181
+ }
182
+ else {
183
+ filteredAndSortedTextures.unshift(texture);
184
+ }
185
+ }
186
+ }
187
+ while (this.memUsed >= memTarget && filteredAndSortedTextures.length > 0) {
188
+ const texture = filteredAndSortedTextures.shift();
189
+ if (texture === undefined) {
190
+ continue;
191
+ }
192
+ if (texture.preventCleanup === true) {
193
+ continue;
194
+ }
195
+ if (texture.renderable === true) {
196
+ break;
197
+ }
198
+ texture.free();
199
+ this.removeFromOrphanedTextures(texture);
200
+ txManager.removeTextureFromCache(texture);
201
+ txManager.removeTextureFromQueue(texture);
202
+ }
203
+ }
204
+ cleanup(aggressive = false) {
205
+ const critical = this.criticalCleanupRequested;
206
+ this.lastCleanupTime = this.frameTime;
207
+ if (critical === true) {
208
+ this.stage.queueFrameEvent('criticalCleanup', {
209
+ memUsed: this.memUsed,
210
+ criticalThreshold: this.criticalThreshold,
211
+ });
212
+ }
213
+ if (this.debugLogging === true) {
214
+ console.log(`[TextureMemoryManager] Cleaning up textures. Critical: ${critical}. Aggressive: ${aggressive}`);
215
+ }
216
+ // try a quick cleanup first
217
+ this.cleanupQuick(critical);
218
+ // if we're still above the target threshold, do a deep cleanup
219
+ if (aggressive === true && this.memUsed >= this.criticalThreshold) {
220
+ this.cleanupDeep(critical);
221
+ }
167
222
  if (this.memUsed >= this.criticalThreshold) {
168
223
  this.stage.queueFrameEvent('criticalCleanupFailed', {
169
224
  memUsed: this.memUsed,
@@ -173,6 +228,9 @@ export class TextureMemoryManager {
173
228
  console.warn(`[TextureMemoryManager] Memory usage above critical threshold after cleanup: ${this.memUsed}`);
174
229
  }
175
230
  }
231
+ else {
232
+ this.criticalCleanupRequested = false;
233
+ }
176
234
  }
177
235
  /**
178
236
  * Get the current texture memory usage information
@@ -186,7 +244,7 @@ export class TextureMemoryManager {
186
244
  const renderableMemUsed = [...this.loadedTextures.keys()].reduce((acc, texture) => {
187
245
  renderableTexturesLoaded += texture.renderable ? 1 : 0;
188
246
  return (acc + (texture.renderable ? this.loadedTextures.get(texture) : 0));
189
- }, 0);
247
+ }, this.baselineMemoryAllocation);
190
248
  return {
191
249
  criticalThreshold: this.criticalThreshold,
192
250
  targetThreshold: this.targetThreshold,
@@ -1 +1 @@
1
- {"version":3,"file":"TextureMemoryManager.js","sourceRoot":"","sources":["../../../src/core/TextureMemoryManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TextureMemoryManager.js","sourceRoot":"","sources":["../../../src/core/TextureMemoryManager.ts"],"names":[],"mappings":"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"}
@@ -23,7 +23,6 @@ export declare class CoreAnimation extends EventEmitter {
23
23
  private delay;
24
24
  private timingFunction;
25
25
  propValuesMap: PropValuesMap;
26
- dynPropValuesMap: PropValuesMap | undefined;
27
26
  constructor(node: CoreNode, props: Partial<CoreNodeAnimateProps>, settings: Partial<AnimationSettings>);
28
27
  reset(): void;
29
28
  private restoreValues;
@@ -29,7 +29,6 @@ export class CoreAnimation extends EventEmitter {
29
29
  delay = 0;
30
30
  timingFunction;
31
31
  propValuesMap = {};
32
- dynPropValuesMap = undefined;
33
32
  constructor(node, props, settings) {
34
33
  super();
35
34
  this.node = node;
@@ -44,34 +43,19 @@ export class CoreAnimation extends EventEmitter {
44
43
  target: props[key],
45
44
  };
46
45
  }
47
- else if (node.shader.type !== 'DynamicShader') {
46
+ else if (key === 'shaderProps' && node.shader !== null) {
48
47
  this.propValuesMap['shaderProps'] = {};
49
48
  for (const key in props.shaderProps) {
49
+ let start = node.shader.props[key];
50
+ if (Array.isArray(start) === true) {
51
+ start = start[0];
52
+ }
50
53
  this.propValuesMap['shaderProps'][key] = {
51
- start: node.shader.props[key],
54
+ start,
52
55
  target: props.shaderProps[key],
53
56
  };
54
57
  }
55
58
  }
56
- else {
57
- const shaderPropKeys = Object.keys(props.shaderProps);
58
- const spLength = shaderPropKeys.length;
59
- this.dynPropValuesMap = {};
60
- for (let j = 0; j < spLength; j++) {
61
- const effectName = shaderPropKeys[j];
62
- const effect = props.shaderProps[effectName];
63
- this.dynPropValuesMap[effectName] = {};
64
- const effectProps = Object.entries(effect);
65
- const eLength = effectProps.length;
66
- for (let k = 0; k < eLength; k++) {
67
- const [key, value] = effectProps[k];
68
- this.dynPropValuesMap[effectName][key] = {
69
- start: node.shader.props[effectName][key],
70
- target: value,
71
- };
72
- }
73
- }
74
- }
75
59
  }
76
60
  const easing = settings.easing || 'linear';
77
61
  const delay = settings.delay ?? 0;
@@ -109,16 +93,6 @@ export class CoreAnimation extends EventEmitter {
109
93
  if (this.propValuesMap['shaderProps'] !== undefined) {
110
94
  this.restoreValues(this.node.shader.props, this.propValuesMap['shaderProps']);
111
95
  }
112
- if (this.dynPropValuesMap !== undefined) {
113
- const dynEntries = Object.keys(this.dynPropValuesMap);
114
- const dynEntriesL = dynEntries.length;
115
- if (dynEntriesL > 0) {
116
- for (let i = 0; i < dynEntriesL; i++) {
117
- const key = dynEntries[i];
118
- this.restoreValues(this.node.shader.props[key], this.dynPropValuesMap[key]);
119
- }
120
- }
121
- }
122
96
  }
123
97
  reverseValues(valueMap) {
124
98
  const entries = Object.entries(valueMap);
@@ -139,16 +113,6 @@ export class CoreAnimation extends EventEmitter {
139
113
  if (this.propValuesMap['shaderProps'] !== undefined) {
140
114
  this.reverseValues(this.propValuesMap['shaderProps']);
141
115
  }
142
- if (this.dynPropValuesMap !== undefined) {
143
- const dynEntries = Object.keys(this.dynPropValuesMap);
144
- const dynEntriesL = dynEntries.length;
145
- if (dynEntriesL > 0) {
146
- for (let i = 0; i < dynEntriesL; i++) {
147
- const key = dynEntries[i];
148
- this.reverseValues(this.dynPropValuesMap[key]);
149
- }
150
- }
151
- }
152
116
  // restore stop method if we are not looping
153
117
  if (!this.settings.loop) {
154
118
  this.settings.stopMethod = false;
@@ -235,16 +199,6 @@ export class CoreAnimation extends EventEmitter {
235
199
  if (this.propValuesMap['shaderProps'] !== undefined) {
236
200
  this.updateValues(this.node.shader.props, this.propValuesMap['shaderProps'], easing);
237
201
  }
238
- if (this.dynPropValuesMap !== undefined) {
239
- const dynEntries = Object.keys(this.dynPropValuesMap);
240
- const dynEntriesL = dynEntries.length;
241
- if (dynEntriesL > 0) {
242
- for (let i = 0; i < dynEntriesL; i++) {
243
- const key = dynEntries[i];
244
- this.updateValues(this.node.shader.props[key], this.dynPropValuesMap[key], easing);
245
- }
246
- }
247
- }
248
202
  if (this.progress < 1) {
249
203
  this.emit('tick', { progress: this.progress });
250
204
  }