@lightningjs/renderer 2.13.1 → 3.0.0-beta2

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 (440) 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 +10 -5
  17. package/dist/src/core/CoreNode.js +34 -13
  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/CoreStuff.d.ts +1 -0
  23. package/dist/src/core/CoreStuff.js +138 -0
  24. package/dist/src/core/CoreStuff.js.map +1 -0
  25. package/dist/src/core/CoreTextNode.js +1 -8
  26. package/dist/src/core/CoreTextNode.js.map +1 -1
  27. package/dist/src/core/CoreTexturizer.d.ts +14 -0
  28. package/dist/src/core/CoreTexturizer.js +47 -0
  29. package/dist/src/core/CoreTexturizer.js.map +1 -0
  30. package/dist/src/core/LngNode.d.ts +736 -0
  31. package/dist/src/core/LngNode.js +1174 -0
  32. package/dist/src/core/LngNode.js.map +1 -0
  33. package/dist/src/core/Matrix2DContext.d.ts +15 -0
  34. package/dist/src/core/Matrix2DContext.js +45 -0
  35. package/dist/src/core/Matrix2DContext.js.map +1 -0
  36. package/dist/src/core/ShaderNode.d.ts +10 -0
  37. package/dist/src/core/ShaderNode.js +30 -0
  38. package/dist/src/core/ShaderNode.js.map +1 -0
  39. package/dist/src/core/Stage.d.ts +11 -14
  40. package/dist/src/core/Stage.js +24 -29
  41. package/dist/src/core/Stage.js.map +1 -1
  42. package/dist/src/core/TextNode.d.ts +103 -0
  43. package/dist/src/core/TextNode.js +331 -0
  44. package/dist/src/core/TextNode.js.map +1 -0
  45. package/dist/src/core/animations/CoreAnimation.d.ts +0 -1
  46. package/dist/src/core/animations/CoreAnimation.js +6 -52
  47. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  48. package/dist/src/core/lib/Coords.d.ts +14 -0
  49. package/dist/src/core/lib/Coords.js +55 -0
  50. package/dist/src/core/lib/Coords.js.map +1 -0
  51. package/dist/src/core/lib/RenderCoords.d.ts +9 -10
  52. package/dist/src/core/lib/RenderCoords.js +43 -55
  53. package/dist/src/core/lib/RenderCoords.js.map +1 -1
  54. package/dist/src/core/lib/WebGlContextWrapper.d.ts +89 -54
  55. package/dist/src/core/lib/WebGlContextWrapper.js +153 -157
  56. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  57. package/dist/src/core/lib/glm/common.d.ts +162 -0
  58. package/dist/src/core/lib/glm/common.js +81 -0
  59. package/dist/src/core/lib/glm/common.js.map +1 -0
  60. package/dist/src/core/lib/glm/index.d.ts +11 -0
  61. package/{src/core/renderers/CoreShader.ts → dist/src/core/lib/glm/index.js} +12 -23
  62. package/dist/src/core/lib/glm/index.js.map +1 -0
  63. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  64. package/dist/src/core/lib/glm/mat2.js +396 -0
  65. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  66. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  67. package/dist/src/core/lib/glm/mat2d.js +442 -0
  68. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  69. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  70. package/dist/src/core/lib/glm/mat3.js +680 -0
  71. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  72. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  73. package/dist/src/core/lib/glm/mat4.js +1802 -0
  74. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  75. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  76. package/dist/src/core/lib/glm/quat.js +693 -0
  77. package/dist/src/core/lib/glm/quat.js.map +1 -0
  78. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  79. package/dist/src/core/lib/glm/quat2.js +754 -0
  80. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  81. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  82. package/dist/src/core/lib/glm/vec2.js +569 -0
  83. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  84. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  85. package/dist/src/core/lib/glm/vec3.js +720 -0
  86. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  87. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  88. package/dist/src/core/lib/glm/vec4.js +608 -0
  89. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  90. package/dist/src/core/lib/textureCompression.js +0 -1
  91. package/dist/src/core/lib/textureCompression.js.map +1 -1
  92. package/dist/src/core/lib/utils.d.ts +2 -1
  93. package/dist/src/core/lib/utils.js.map +1 -1
  94. package/dist/src/core/platform.js +1 -0
  95. package/dist/src/core/platform.js.map +1 -1
  96. package/dist/src/core/renderers/CoreRenderer.d.ts +11 -21
  97. package/dist/src/core/renderers/CoreRenderer.js +0 -6
  98. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  99. package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
  100. package/dist/src/core/renderers/CoreShaderManager.js +33 -0
  101. package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
  102. package/dist/src/core/renderers/CoreShaderNode.d.ts +58 -0
  103. package/dist/src/core/renderers/CoreShaderNode.js +104 -0
  104. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  105. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  106. package/dist/src/core/renderers/CoreShaderProgram.js +20 -0
  107. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  108. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
  109. package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
  110. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  111. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  112. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
  113. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  114. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
  115. package/dist/src/core/renderers/canvas/CanvasTexture.js +124 -0
  116. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  117. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -13
  118. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +192 -113
  119. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  120. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +2 -0
  121. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +14 -0
  122. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  123. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
  124. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
  125. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
  126. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
  127. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
  128. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
  129. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
  130. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
  131. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  132. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
  133. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
  134. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  135. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
  136. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
  137. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  138. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +44 -0
  139. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +118 -0
  140. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
  141. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
  142. package/dist/src/core/renderers/webgl/WebGlRenderer.js +547 -0
  143. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  144. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +222 -0
  145. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
  146. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  147. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
  148. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +201 -0
  149. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  150. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +32 -5
  151. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +50 -0
  152. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  153. package/dist/src/core/scene/Scene.d.ts +59 -0
  154. package/dist/src/core/scene/Scene.js +106 -0
  155. package/dist/src/core/scene/Scene.js.map +1 -0
  156. package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
  157. package/dist/src/core/shaders/canvas/Border.js +57 -0
  158. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  159. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  160. package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
  161. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  162. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  163. package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
  164. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  165. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  166. package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
  167. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  168. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  169. package/dist/src/core/shaders/canvas/Rounded.js +33 -0
  170. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  171. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
  172. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
  173. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  174. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
  175. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
  176. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  177. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  178. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
  179. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  180. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  181. package/dist/src/core/shaders/canvas/Shadow.js +31 -0
  182. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  183. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  184. package/dist/src/core/shaders/canvas/utils/render.js +84 -0
  185. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  186. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
  187. package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
  188. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  189. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  190. package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
  191. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  192. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  193. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
  194. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  195. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
  196. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
  197. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  198. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  199. package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
  200. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  201. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  202. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
  203. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  204. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
  205. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
  206. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  207. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  208. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
  209. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  210. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  211. package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
  212. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  213. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  214. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  215. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  216. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  217. package/dist/src/core/shaders/webgl/Border.js +87 -0
  218. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  219. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  220. package/dist/src/core/shaders/webgl/Default.js +86 -0
  221. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  222. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
  223. package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
  224. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
  225. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  226. package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
  227. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  228. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  229. package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
  230. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  231. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  232. package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
  233. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  234. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  235. package/dist/src/core/shaders/webgl/Rounded.js +86 -0
  236. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  237. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  238. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
  239. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  240. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  241. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
  242. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  243. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  244. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
  245. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  246. package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
  247. package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
  248. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  249. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  250. package/dist/src/core/shaders/webgl/Shadow.js +110 -0
  251. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  252. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  253. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  254. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  255. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +6 -0
  256. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  257. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +2 -3
  258. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +34 -31
  259. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  260. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  261. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  262. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  263. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +1 -4
  264. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  265. package/dist/src/core/textures/Texture.d.ts +1 -1
  266. package/dist/src/main-api/ICoreDriver.d.ts +4 -1
  267. package/dist/src/main-api/INode.d.ts +9 -9
  268. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  269. package/dist/src/main-api/IRenderDriver.js +20 -0
  270. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  271. package/dist/src/main-api/IShaderController.d.ts +14 -0
  272. package/dist/src/main-api/IShaderController.js +30 -0
  273. package/dist/src/main-api/IShaderController.js.map +1 -0
  274. package/dist/src/main-api/IShaderNode.d.ts +17 -0
  275. package/dist/src/main-api/IShaderNode.js +19 -0
  276. package/dist/src/main-api/IShaderNode.js.map +1 -0
  277. package/dist/src/main-api/Renderer.d.ts +8 -91
  278. package/dist/src/main-api/Renderer.js +3 -54
  279. package/dist/src/main-api/Renderer.js.map +1 -1
  280. package/dist/src/main-api/RendererMain.d.ts +2 -5
  281. package/dist/src/main-api/RendererMain.js +4 -6
  282. package/dist/src/main-api/RendererMain.js.map +1 -1
  283. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -1
  284. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +4 -1
  285. package/dist/src/render-drivers/main/MainCoreDriver.js +4 -1
  286. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -1
  287. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +6 -8
  288. package/dist/src/render-drivers/main/MainOnlyNode.js +1 -30
  289. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -1
  290. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  291. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  292. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  293. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
  294. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
  295. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
  296. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +1 -1
  297. package/dist/src/render-drivers/main/MainOnlyTextNode.js +3 -2
  298. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -1
  299. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  300. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  301. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  302. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -3
  303. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -9
  304. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -1
  305. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -1
  306. package/dist/src/render-drivers/threadx/SharedNode.js +0 -1
  307. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -1
  308. package/dist/src/render-drivers/threadx/TextNodeStruct.js +1 -3
  309. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -1
  310. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +4 -1
  311. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +4 -2
  312. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -1
  313. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +4 -8
  314. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +24 -53
  315. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -1
  316. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +5 -7
  317. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +2 -8
  318. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -1
  319. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  320. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
  321. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  322. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
  323. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
  324. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
  325. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -1
  326. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  327. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  328. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  329. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -7
  330. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
  331. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -1
  332. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -1
  333. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -2
  334. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -1
  335. package/dist/src/render-drivers/utils.js +1 -6
  336. package/dist/src/render-drivers/utils.js.map +1 -1
  337. package/dist/src/utils.d.ts +6 -0
  338. package/dist/src/utils.js +18 -0
  339. package/dist/src/utils.js.map +1 -1
  340. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  341. package/exports/canvas-shaders.ts +28 -0
  342. package/exports/canvas.ts +7 -1
  343. package/exports/index.ts +17 -17
  344. package/exports/webgl-shaders.ts +28 -0
  345. package/exports/webgl.ts +13 -1
  346. package/package.json +3 -1
  347. package/src/core/CoreNode.test.ts +3 -2
  348. package/src/core/CoreNode.ts +50 -19
  349. package/src/core/CoreShaderManager.ts +127 -226
  350. package/src/core/CoreTextNode.ts +1 -17
  351. package/src/core/Stage.ts +36 -41
  352. package/src/core/animations/CoreAnimation.ts +8 -64
  353. package/src/core/lib/RenderCoords.ts +52 -67
  354. package/src/core/lib/WebGlContextWrapper.ts +278 -236
  355. package/src/core/lib/textureCompression.ts +3 -3
  356. package/src/core/lib/utils.ts +3 -1
  357. package/src/core/platform.ts +1 -0
  358. package/src/core/renderers/CoreRenderer.ts +19 -27
  359. package/src/core/renderers/CoreShaderNode.ts +167 -0
  360. package/src/core/renderers/{canvas/shaders/UnsupportedShader.ts → CoreShaderProgram.ts} +3 -28
  361. package/src/core/renderers/canvas/CanvasRenderer.ts +298 -0
  362. package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -0
  363. package/src/core/renderers/canvas/{CanvasCoreTexture.ts → CanvasTexture.ts} +6 -3
  364. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +2 -13
  365. package/src/core/renderers/canvas/internal/ColorUtils.ts +16 -0
  366. package/src/core/renderers/webgl/{WebGlCoreCtxRenderTexture.ts → WebGlCtxRenderTexture.ts} +2 -2
  367. package/src/core/renderers/webgl/{WebGlCoreCtxSubTexture.ts → WebGlCtxSubTexture.ts} +2 -2
  368. package/src/core/renderers/webgl/{WebGlCoreCtxTexture.ts → WebGlCtxTexture.ts} +1 -1
  369. package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -0
  370. package/src/core/renderers/webgl/{WebGlCoreRenderer.ts → WebGlRenderer.ts} +155 -250
  371. package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -0
  372. package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -0
  373. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -5
  374. package/src/core/shaders/canvas/Border.ts +78 -0
  375. package/src/core/shaders/canvas/HolePunch.ts +62 -0
  376. package/src/core/shaders/canvas/LinearGradient.ts +69 -0
  377. package/src/core/shaders/canvas/RadialGradient.ts +113 -0
  378. package/src/core/shaders/canvas/Rounded.ts +55 -0
  379. package/src/core/shaders/canvas/RoundedWithBorder.ts +68 -0
  380. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -0
  381. package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -0
  382. package/src/core/shaders/canvas/Shadow.ts +52 -0
  383. package/src/core/shaders/canvas/utils/render.ts +151 -0
  384. package/src/core/shaders/templates/BorderTemplate.ts +115 -0
  385. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -0
  386. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -0
  387. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -0
  388. package/src/core/shaders/templates/RoundedTemplate.ts +98 -0
  389. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -0
  390. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -0
  391. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -0
  392. package/src/core/shaders/templates/ShadowTemplate.ts +106 -0
  393. package/src/core/shaders/templates/shaderUtils.ts +47 -0
  394. package/src/core/shaders/webgl/Border.ts +96 -0
  395. package/src/core/shaders/webgl/Default.ts +89 -0
  396. package/src/core/shaders/webgl/DefaultBatched.ts +129 -0
  397. package/src/core/shaders/webgl/HolePunch.ts +78 -0
  398. package/src/core/shaders/webgl/LinearGradient.ts +81 -0
  399. package/src/core/shaders/webgl/RadialGradient.ts +84 -0
  400. package/src/core/shaders/webgl/Rounded.ts +117 -0
  401. package/src/core/shaders/webgl/RoundedWithBorder.ts +114 -0
  402. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +133 -0
  403. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -0
  404. package/src/core/shaders/webgl/SdfShader.ts +134 -0
  405. package/src/core/shaders/webgl/Shadow.ts +115 -0
  406. package/src/core/text-rendering/TextTextureRendererUtils.ts +1 -1
  407. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +2 -2
  408. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +12 -5
  409. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +44 -57
  410. package/src/core/text-rendering/renderers/TextRenderer.ts +2 -9
  411. package/src/core/textures/Texture.ts +1 -1
  412. package/src/main-api/INode.ts +11 -13
  413. package/src/main-api/Renderer.ts +25 -127
  414. package/src/utils.ts +19 -0
  415. package/dist/tsconfig.tsbuildinfo +0 -1
  416. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +0 -375
  417. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +0 -125
  418. package/src/core/renderers/webgl/WebGlCoreShader.ts +0 -362
  419. package/src/core/renderers/webgl/shaders/DefaultShader.ts +0 -93
  420. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +0 -132
  421. package/src/core/renderers/webgl/shaders/DynamicShader.ts +0 -580
  422. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +0 -167
  423. package/src/core/renderers/webgl/shaders/SdfShader.ts +0 -204
  424. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +0 -101
  425. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +0 -87
  426. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +0 -101
  427. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +0 -101
  428. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +0 -101
  429. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +0 -159
  430. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +0 -127
  431. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +0 -148
  432. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +0 -67
  433. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +0 -157
  434. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +0 -171
  435. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +0 -168
  436. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +0 -187
  437. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +0 -110
  438. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +0 -196
  439. package/src/main-api/DynamicShaderController.ts +0 -104
  440. package/src/main-api/ShaderController.ts +0 -80
package/src/core/Stage.ts CHANGED
@@ -27,7 +27,7 @@ import {
27
27
  } from './CoreNode.js';
28
28
  import { CoreTextureManager } from './CoreTextureManager.js';
29
29
  import { TrFontManager } from './text-rendering/TrFontManager.js';
30
- import { CoreShaderManager, type ShaderMap } from './CoreShaderManager.js';
30
+ import { CoreShaderManager } from './CoreShaderManager.js';
31
31
  import {
32
32
  TextRenderer,
33
33
  type TextRendererMap,
@@ -45,15 +45,14 @@ import {
45
45
  TextureMemoryManager,
46
46
  type TextureMemoryManagerSettings,
47
47
  } from './TextureMemoryManager.js';
48
- import type { CoreRendererOptions } from './renderers/CoreRenderer.js';
49
48
  import { CoreRenderer } from './renderers/CoreRenderer.js';
50
- import type { WebGlCoreRenderer } from './renderers/webgl/WebGlCoreRenderer.js';
51
- import type { CanvasCoreRenderer } from './renderers/canvas/CanvasCoreRenderer.js';
52
- import type { BaseShaderController } from '../main-api/ShaderController.js';
49
+ import type { WebGlRenderer } from './renderers/webgl/WebGlRenderer.js';
50
+ import type { CanvasRenderer } from './renderers/canvas/CanvasRenderer.js';
53
51
  import { CoreTextNode, type CoreTextNodeProps } from './CoreTextNode.js';
54
52
  import { santizeCustomDataMap } from '../main-api/utils.js';
55
53
  import type { SdfTextRenderer } from './text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
56
54
  import type { CanvasTextRenderer } from './text-rendering/renderers/CanvasTextRenderer.js';
55
+ import type { CoreShaderNode } from './renderers/CoreShaderNode.js';
57
56
  import { createBound, createPreloadBounds, type Bound } from './lib/utils.js';
58
57
  import type { Texture } from './textures/Texture.js';
59
58
  import { ColorTexture } from './textures/ColorTexture.js';
@@ -71,7 +70,7 @@ export interface StageOptions {
71
70
  enableContextSpy: boolean;
72
71
  forceWebGL2: boolean;
73
72
  numImageWorkers: number;
74
- renderEngine: typeof WebGlCoreRenderer | typeof CanvasCoreRenderer;
73
+ renderEngine: typeof WebGlRenderer | typeof CanvasRenderer;
75
74
  eventBus: EventEmitter;
76
75
  quadBufferSize: number;
77
76
  fontEngines: (typeof CanvasTextRenderer | typeof SdfTextRenderer)[];
@@ -91,7 +90,6 @@ export type StageFrameTickHandler = (
91
90
  frameTickData: FrameTickPayload,
92
91
  ) => void;
93
92
 
94
- const bufferMemory = 2e6;
95
93
  const autoStart = true;
96
94
 
97
95
  export class Stage {
@@ -105,12 +103,13 @@ export class Stage {
105
103
  public readonly renderer: CoreRenderer;
106
104
  public readonly root: CoreNode;
107
105
  public boundsMargin: [number, number, number, number];
108
- public readonly defShaderCtr: BaseShaderController;
106
+ public readonly defShaderNode: CoreShaderNode | null = null;
109
107
  public readonly strictBound: Bound;
110
108
  public readonly preloadBound: Bound;
111
109
  public readonly strictBounds: boolean;
112
110
  public readonly defaultTexture: Texture | null = null;
113
-
111
+ public readonly pixelRatio: number;
112
+ public readonly bufferMemory: number = 2e6;
114
113
  /**
115
114
  * Renderer Event Bus for the Stage to emit events onto
116
115
  *
@@ -125,6 +124,7 @@ export class Stage {
125
124
  deltaTime = 0;
126
125
  lastFrameTime = 0;
127
126
  currentFrameTime = 0;
127
+ private clrColor = 0x00000000;
128
128
  private fpsNumFrames = 0;
129
129
  private fpsElapsedTime = 0;
130
130
  private numQuadsRendered = 0;
@@ -168,7 +168,7 @@ export class Stage {
168
168
  });
169
169
 
170
170
  this.txMemManager = new TextureMemoryManager(this, textureMemory);
171
- this.shManager = new CoreShaderManager();
171
+
172
172
  this.animationManager = new AnimationManager();
173
173
  this.contextSpy = enableContextSpy ? new ContextSpy() : null;
174
174
  this.strictBounds = options.strictBounds;
@@ -185,25 +185,25 @@ export class Stage {
185
185
  this.strictBound = createBound(0, 0, appWidth, appHeight);
186
186
  this.preloadBound = createPreloadBounds(this.strictBound, bm);
187
187
 
188
- const rendererOptions: CoreRendererOptions = {
188
+ this.clrColor = clearColor;
189
+
190
+ this.pixelRatio =
191
+ options.devicePhysicalPixelRatio * options.deviceLogicalPixelRatio;
192
+
193
+ this.renderer = new renderEngine({
189
194
  stage: this,
190
195
  canvas,
191
- pixelRatio:
192
- options.devicePhysicalPixelRatio * options.deviceLogicalPixelRatio,
193
- clearColor: clearColor ?? 0xff000000,
194
- bufferMemory,
195
- txManager: this.txManager,
196
- txMemManager: this.txMemManager,
197
- shManager: this.shManager,
198
196
  contextSpy: this.contextSpy,
199
197
  forceWebGL2,
200
- };
198
+ });
199
+
200
+ this.shManager = new CoreShaderManager(this);
201
+
202
+ this.defShaderNode = this.renderer.getDefaultShaderNode();
201
203
 
202
- this.renderer = new renderEngine(rendererOptions);
203
204
  const renderMode = this.renderer.mode || 'webgl';
204
205
 
205
206
  this.createDefaultTexture();
206
- this.defShaderCtr = this.renderer.getDefShaderCtr();
207
207
  setPremultiplyMode(renderMode);
208
208
 
209
209
  // Must do this after renderer is created
@@ -271,7 +271,7 @@ export class Stage {
271
271
  parent: null,
272
272
  texture: null,
273
273
  textureOptions: {},
274
- shader: this.defShaderCtr,
274
+ shader: this.defShaderNode,
275
275
  rtt: false,
276
276
  src: null,
277
277
  scale: 1,
@@ -288,6 +288,7 @@ export class Stage {
288
288
  }
289
289
 
290
290
  setClearColor(color: number) {
291
+ this.clearColor = color;
291
292
  this.renderer.updateClearColor(color);
292
293
  this.renderRequested = true;
293
294
  }
@@ -589,20 +590,6 @@ export class Stage {
589
590
  return resolvedTextRenderer as unknown as TextRenderer;
590
591
  }
591
592
 
592
- /**
593
- * Create a shader controller instance
594
- *
595
- * @param type
596
- * @param props
597
- * @returns
598
- */
599
- createShaderCtr(
600
- type: keyof ShaderMap,
601
- props: Record<string, unknown>,
602
- ): BaseShaderController {
603
- return this.shManager.loadShader(type, props);
604
- }
605
-
606
593
  createNode(props: Partial<CoreNodeProps>) {
607
594
  const resolvedProps = this.resolveNodeDefaults(props);
608
595
  return new CoreNode(this, resolvedProps);
@@ -610,8 +597,7 @@ export class Stage {
610
597
 
611
598
  createTextNode(props: Partial<CoreTextNodeProps>) {
612
599
  const fontSize = props.fontSize ?? 16;
613
- const resolvedProps = {
614
- ...this.resolveNodeDefaults(props),
600
+ const resolvedProps = Object.assign(this.resolveNodeDefaults(props), {
615
601
  text: props.text ?? '',
616
602
  textRendererOverride: props.textRendererOverride ?? null,
617
603
  fontSize,
@@ -631,8 +617,7 @@ export class Stage {
631
617
  verticalAlign: props.verticalAlign ?? 'middle',
632
618
  overflowSuffix: props.overflowSuffix ?? '...',
633
619
  debug: props.debug ?? {},
634
- shaderProps: null,
635
- };
620
+ });
636
621
 
637
622
  const resolvedTextRenderer = this.resolveTextRenderer(
638
623
  resolvedProps,
@@ -705,7 +690,7 @@ export class Stage {
705
690
  parent: props.parent ?? null,
706
691
  texture: props.texture ?? null,
707
692
  textureOptions: props.textureOptions ?? {},
708
- shader: props.shader ?? this.defShaderCtr,
693
+ shader: props.shader ?? this.defShaderNode,
709
694
  // Since setting the `src` will trigger a texture load, we need to set it after
710
695
  // we set the texture. Otherwise, problems happen.
711
696
  src: props.src ?? null,
@@ -740,4 +725,14 @@ export class Stage {
740
725
  cleanup(aggressive: boolean) {
741
726
  this.txMemManager.cleanup(aggressive);
742
727
  }
728
+
729
+ set clearColor(value: number) {
730
+ this.renderer.updateClearColor(value);
731
+ this.renderRequested = true;
732
+ this.clrColor = value;
733
+ }
734
+
735
+ get clearColor() {
736
+ return this.clrColor;
737
+ }
743
738
  }
@@ -46,7 +46,6 @@ export class CoreAnimation extends EventEmitter {
46
46
  private timingFunction: (t: number) => number | undefined;
47
47
 
48
48
  propValuesMap: PropValuesMap = {};
49
- dynPropValuesMap: PropValuesMap | undefined = undefined;
50
49
 
51
50
  constructor(
52
51
  private node: CoreNode,
@@ -67,33 +66,18 @@ export class CoreAnimation extends EventEmitter {
67
66
  key as keyof Omit<CoreNodeAnimateProps, 'shaderProps'>
68
67
  ] as number,
69
68
  };
70
- } else if (node.shader.type !== 'DynamicShader') {
69
+ } else if (key === 'shaderProps' && node.shader !== null) {
71
70
  this.propValuesMap['shaderProps'] = {};
72
71
  for (const key in props.shaderProps) {
72
+ let start = node.shader.props![key];
73
+ if (Array.isArray(start) === true) {
74
+ start = start[0];
75
+ }
73
76
  this.propValuesMap['shaderProps'][key] = {
74
- start: node.shader.props[key] as number,
77
+ start,
75
78
  target: props.shaderProps[key] as number,
76
79
  };
77
80
  }
78
- } else {
79
- const shaderPropKeys = Object.keys(props.shaderProps!);
80
- const spLength = shaderPropKeys.length;
81
- this.dynPropValuesMap = {};
82
- for (let j = 0; j < spLength; j++) {
83
- const effectName = shaderPropKeys[j]!;
84
- const effect = props.shaderProps![effectName]!;
85
- this.dynPropValuesMap[effectName] = {};
86
- const effectProps = Object.entries(effect);
87
- const eLength = effectProps.length;
88
-
89
- for (let k = 0; k < eLength; k++) {
90
- const [key, value] = effectProps[k]!;
91
- this.dynPropValuesMap[effectName]![key] = {
92
- start: node.shader.props[effectName][key],
93
- target: value,
94
- };
95
- }
96
- }
97
81
  }
98
82
  }
99
83
 
@@ -142,24 +126,10 @@ export class CoreAnimation extends EventEmitter {
142
126
  }
143
127
  if (this.propValuesMap['shaderProps'] !== undefined) {
144
128
  this.restoreValues(
145
- this.node.shader.props as Record<string, number>,
129
+ this.node.shader!.props as Record<string, number>,
146
130
  this.propValuesMap['shaderProps'],
147
131
  );
148
132
  }
149
-
150
- if (this.dynPropValuesMap !== undefined) {
151
- const dynEntries = Object.keys(this.dynPropValuesMap);
152
- const dynEntriesL = dynEntries.length;
153
- if (dynEntriesL > 0) {
154
- for (let i = 0; i < dynEntriesL; i++) {
155
- const key = dynEntries[i]!;
156
- this.restoreValues(
157
- this.node.shader.props[key],
158
- this.dynPropValuesMap[key]!,
159
- );
160
- }
161
- }
162
- }
163
133
  }
164
134
 
165
135
  private reverseValues(valueMap: Record<string, PropValues>) {
@@ -185,17 +155,6 @@ export class CoreAnimation extends EventEmitter {
185
155
  this.reverseValues(this.propValuesMap['shaderProps']);
186
156
  }
187
157
 
188
- if (this.dynPropValuesMap !== undefined) {
189
- const dynEntries = Object.keys(this.dynPropValuesMap);
190
- const dynEntriesL = dynEntries.length;
191
- if (dynEntriesL > 0) {
192
- for (let i = 0; i < dynEntriesL; i++) {
193
- const key = dynEntries[i]!;
194
- this.reverseValues(this.dynPropValuesMap[key]!);
195
- }
196
- }
197
- }
198
-
199
158
  // restore stop method if we are not looping
200
159
  if (!this.settings.loop) {
201
160
  this.settings.stopMethod = false;
@@ -308,27 +267,12 @@ export class CoreAnimation extends EventEmitter {
308
267
  }
309
268
  if (this.propValuesMap['shaderProps'] !== undefined) {
310
269
  this.updateValues(
311
- this.node.shader.props as Record<string, number>,
270
+ this.node.shader!.props as Record<string, number>,
312
271
  this.propValuesMap['shaderProps'],
313
272
  easing,
314
273
  );
315
274
  }
316
275
 
317
- if (this.dynPropValuesMap !== undefined) {
318
- const dynEntries = Object.keys(this.dynPropValuesMap);
319
- const dynEntriesL = dynEntries.length;
320
- if (dynEntriesL > 0) {
321
- for (let i = 0; i < dynEntriesL; i++) {
322
- const key = dynEntries[i]!;
323
- this.updateValues(
324
- this.node.shader.props[key],
325
- this.dynPropValuesMap[key]!,
326
- easing,
327
- );
328
- }
329
- }
330
- }
331
-
332
276
  if (this.progress < 1) {
333
277
  this.emit('tick', { progress: this.progress });
334
278
  }
@@ -1,33 +1,50 @@
1
- const rx1 = 0;
2
- const rx2 = 2;
3
- const rx3 = 4;
4
- const rx4 = 6;
5
- const ry1 = 1;
6
- const ry2 = 3;
7
- const ry3 = 5;
8
- const ry4 = 7;
9
-
1
+ /*
2
+ * Copyright 2023 Comcast Cable Communications Management, LLC
3
+ * Licensed under the Apache License, Version 2.0 (the "License");
4
+ * you may not use this file except in compliance with the License.
5
+ * You may obtain a copy of the License at
6
+ *
7
+ * http://www.apache.org/licenses/LICENSE-2.0
8
+ *
9
+ * Unless required by applicable law or agreed to in writing, software
10
+ * distributed under the License is distributed on an "AS IS" BASIS,
11
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ * See the License for the specific language governing permissions and
13
+ * limitations under the License.
14
+ *
15
+ * SPDX-License-Identifier: Apache-2.0
16
+ */
10
17
  export class RenderCoords {
11
- public data: Float32Array;
18
+ public x1: number;
19
+ public y1: number;
20
+ public x2: number;
21
+ public y2: number;
22
+ public x3: number;
23
+ public y3: number;
24
+ public x4: number;
25
+ public y4: number;
26
+
12
27
  constructor(
13
- entries?:
14
- | [number, number, number, number, number, number, number, number]
15
- | Float32Array,
28
+ x1: number,
29
+ y1: number,
30
+ x2: number,
31
+ y2: number,
32
+ x3: number,
33
+ y3: number,
34
+ x4: number,
35
+ y4: number,
16
36
  ) {
17
- this.data = new Float32Array(8);
18
- if (entries) {
19
- this.data[rx1] = entries[rx1];
20
- this.data[rx2] = entries[rx2];
21
- this.data[rx3] = entries[rx3];
22
- this.data[rx4] = entries[rx4];
23
- this.data[ry1] = entries[ry1];
24
- this.data[ry2] = entries[ry2];
25
- this.data[ry3] = entries[ry3];
26
- this.data[ry4] = entries[ry4];
27
- }
37
+ this.x1 = x1;
38
+ this.y1 = y1;
39
+ this.x2 = x2;
40
+ this.y2 = y2;
41
+ this.x3 = x3;
42
+ this.y3 = y3;
43
+ this.x4 = x4;
44
+ this.y4 = y4;
28
45
  }
29
46
 
30
- public static translate(
47
+ static translate(
31
48
  x1: number,
32
49
  y1: number,
33
50
  x2: number,
@@ -38,49 +55,17 @@ export class RenderCoords {
38
55
  y4: number,
39
56
  out?: RenderCoords,
40
57
  ): RenderCoords {
41
- if (!out) {
42
- out = new RenderCoords();
58
+ if (out === undefined) {
59
+ return new RenderCoords(x1, y1, x2, y2, x3, y3, x4, y4);
43
60
  }
44
- out.data[rx1] = x1;
45
- out.data[rx2] = x2;
46
- out.data[rx3] = x3;
47
- out.data[rx4] = x4;
48
- out.data[ry1] = y1;
49
- out.data[ry2] = y2;
50
- out.data[ry3] = y3;
51
- out.data[ry4] = y4;
61
+ out.x1 = x1;
62
+ out.y1 = y1;
63
+ out.x2 = x2;
64
+ out.y2 = y2;
65
+ out.x3 = x3;
66
+ out.y3 = y3;
67
+ out.x4 = x4;
68
+ out.y4 = y4;
52
69
  return out;
53
70
  }
54
-
55
- get x1(): number {
56
- return this.data[rx1]!;
57
- }
58
-
59
- get x2(): number {
60
- return this.data[rx2]!;
61
- }
62
-
63
- get x3(): number {
64
- return this.data[rx3]!;
65
- }
66
-
67
- get x4(): number {
68
- return this.data[rx4]!;
69
- }
70
-
71
- get y1(): number {
72
- return this.data[ry1]!;
73
- }
74
-
75
- get y2(): number {
76
- return this.data[ry2]!;
77
- }
78
-
79
- get y3(): number {
80
- return this.data[ry3]!;
81
- }
82
-
83
- get y4(): number {
84
- return this.data[ry4]!;
85
- }
86
71
  }