@lightningjs/renderer 0.9.3 → 1.0.0-rc.0

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 (295) hide show
  1. package/README.md +0 -82
  2. package/dist/exports/index.d.ts +40 -3
  3. package/dist/exports/index.js +35 -3
  4. package/dist/exports/index.js.map +1 -1
  5. package/dist/src/core/CoreNode.d.ts +462 -46
  6. package/dist/src/core/CoreNode.js +171 -103
  7. package/dist/src/core/CoreNode.js.map +1 -1
  8. package/dist/src/core/CoreShaderManager.d.ts +19 -8
  9. package/dist/src/core/CoreShaderManager.js +21 -21
  10. package/dist/src/core/CoreShaderManager.js.map +1 -1
  11. package/dist/src/core/CoreTextNode.d.ts +30 -4
  12. package/dist/src/core/CoreTextNode.js +24 -1
  13. package/dist/src/core/CoreTextNode.js.map +1 -1
  14. package/dist/src/core/CoreTextureManager.d.ts +31 -82
  15. package/dist/src/core/CoreTextureManager.js +39 -126
  16. package/dist/src/core/CoreTextureManager.js.map +1 -1
  17. package/dist/src/core/Stage.d.ts +67 -9
  18. package/dist/src/core/Stage.js +174 -30
  19. package/dist/src/core/Stage.js.map +1 -1
  20. package/dist/src/core/TextureMemoryManager.d.ts +97 -8
  21. package/dist/src/core/TextureMemoryManager.js +142 -19
  22. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  23. package/dist/src/core/animations/CoreAnimation.d.ts +14 -6
  24. package/dist/src/core/animations/CoreAnimation.js +136 -44
  25. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  26. package/dist/src/core/lib/ImageWorker.js +59 -52
  27. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  28. package/dist/src/core/lib/utils.d.ts +1 -0
  29. package/dist/src/core/lib/utils.js +3 -2
  30. package/dist/src/core/lib/utils.js.map +1 -1
  31. package/dist/src/core/platform.js +7 -1
  32. package/dist/src/core/platform.js.map +1 -1
  33. package/dist/src/core/renderers/CoreContextTexture.d.ts +3 -2
  34. package/dist/src/core/renderers/CoreContextTexture.js +7 -1
  35. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  36. package/dist/src/core/renderers/CoreRenderer.d.ts +5 -1
  37. package/dist/src/core/renderers/CoreRenderer.js +0 -1
  38. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  39. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +3 -0
  40. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +16 -1
  41. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  42. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -1
  43. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +2 -5
  44. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +2 -2
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -1
  48. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -10
  49. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +3 -0
  51. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +47 -9
  52. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  53. package/dist/src/core/renderers/webgl/newShader/abcMock.js +2 -0
  54. package/dist/src/core/renderers/webgl/newShader/abcMock.js.map +1 -0
  55. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +24 -8
  56. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +70 -37
  57. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  58. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +2 -2
  59. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -1
  60. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +2 -2
  61. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -1
  62. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +2 -2
  63. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -1
  64. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +2 -2
  65. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -1
  66. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +2 -2
  67. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -1
  68. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +8 -0
  69. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +103 -0
  70. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -1
  71. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +3 -18
  72. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -1
  73. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +5 -2
  74. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -1
  75. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +4 -36
  76. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -1
  77. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +3 -2
  78. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
  79. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +4 -2
  80. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
  81. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +2 -1
  82. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -1
  83. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +4 -36
  84. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -1
  85. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +11 -0
  86. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -1
  87. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +5 -2
  88. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  89. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -1
  90. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -1
  91. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
  92. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -1
  93. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  94. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +10 -26
  95. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +116 -365
  96. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  97. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -1
  98. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -2
  99. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  100. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +2 -2
  101. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  102. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -0
  103. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  104. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +3 -2
  105. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  106. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  107. package/dist/src/core/textures/ColorTexture.js +1 -1
  108. package/dist/src/core/textures/ImageTexture.d.ts +1 -1
  109. package/dist/src/core/textures/NoiseTexture.d.ts +1 -1
  110. package/dist/src/core/textures/NoiseTexture.js +3 -0
  111. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  112. package/dist/src/core/textures/SubTexture.d.ts +2 -2
  113. package/dist/src/core/textures/SubTexture.js +5 -1
  114. package/dist/src/core/textures/SubTexture.js.map +1 -1
  115. package/dist/src/core/textures/Texture.d.ts +23 -2
  116. package/dist/src/core/textures/Texture.js +32 -3
  117. package/dist/src/core/textures/Texture.js.map +1 -1
  118. package/dist/src/core/utils.d.ts +7 -0
  119. package/dist/src/core/utils.js +12 -10
  120. package/dist/src/core/utils.js.map +1 -1
  121. package/dist/src/effectsMock.d.ts +13 -0
  122. package/dist/src/effectsMock.js +62 -0
  123. package/dist/src/effectsMock.js.map +1 -0
  124. package/dist/src/main-api/DynamicShaderController.d.ts +28 -0
  125. package/dist/src/main-api/DynamicShaderController.js +55 -0
  126. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  127. package/dist/src/main-api/INode.d.ts +43 -463
  128. package/dist/src/main-api/INode.js +1 -19
  129. package/dist/src/main-api/INode.js.map +1 -1
  130. package/dist/src/main-api/Inspector.d.ts +10 -10
  131. package/dist/src/main-api/Inspector.js +18 -15
  132. package/dist/src/main-api/Inspector.js.map +1 -1
  133. package/dist/src/main-api/Renderer.d.ts +28 -24
  134. package/dist/src/main-api/Renderer.js +22 -103
  135. package/dist/src/main-api/Renderer.js.map +1 -1
  136. package/dist/src/main-api/ShaderController.d.ts +31 -0
  137. package/dist/src/main-api/ShaderController.js +37 -0
  138. package/dist/src/main-api/ShaderController.js.map +1 -0
  139. package/dist/src/test.js +4 -0
  140. package/dist/src/test.js.map +1 -0
  141. package/dist/src/utils.d.ts +1 -0
  142. package/dist/src/utils.js +7 -0
  143. package/dist/src/utils.js.map +1 -1
  144. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  145. package/exports/index.ts +60 -3
  146. package/package.json +8 -7
  147. package/src/core/CoreNode.test.ts +93 -0
  148. package/src/core/CoreNode.ts +675 -187
  149. package/src/core/CoreShaderManager.ts +63 -31
  150. package/src/core/CoreTextNode.ts +41 -9
  151. package/src/core/CoreTextureManager.ts +55 -175
  152. package/src/core/Stage.ts +199 -43
  153. package/src/core/TextureMemoryManager.ts +231 -22
  154. package/src/core/animations/CoreAnimation.ts +193 -68
  155. package/src/core/lib/ImageWorker.ts +79 -52
  156. package/src/core/lib/utils.ts +5 -2
  157. package/src/core/platform.ts +8 -1
  158. package/src/core/renderers/CoreContextTexture.ts +9 -2
  159. package/src/core/renderers/CoreRenderer.ts +5 -2
  160. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +20 -1
  161. package/src/core/renderers/canvas/CanvasCoreTexture.ts +2 -6
  162. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +2 -2
  163. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +7 -11
  164. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +51 -9
  165. package/src/core/renderers/webgl/shaders/DynamicShader.ts +114 -55
  166. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +2 -2
  167. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +2 -2
  168. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +2 -2
  169. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +2 -2
  170. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +2 -2
  171. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +129 -3
  172. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +7 -15
  173. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +5 -2
  174. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +6 -15
  175. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +6 -2
  176. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +10 -2
  177. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +2 -1
  178. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +6 -15
  179. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +20 -0
  180. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +14 -15
  181. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -2
  182. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -1
  183. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +139 -447
  184. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -3
  185. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +2 -2
  186. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +4 -2
  187. package/src/core/text-rendering/renderers/TextRenderer.ts +3 -2
  188. package/src/core/textures/ColorTexture.ts +1 -1
  189. package/src/core/textures/ImageTexture.ts +1 -1
  190. package/src/core/textures/NoiseTexture.ts +4 -1
  191. package/src/core/textures/SubTexture.ts +7 -7
  192. package/src/core/textures/Texture.ts +46 -3
  193. package/src/core/utils.ts +12 -11
  194. package/src/main-api/DynamicShaderController.ts +97 -0
  195. package/src/main-api/INode.ts +56 -479
  196. package/src/main-api/Inspector.ts +37 -39
  197. package/src/main-api/Renderer.ts +543 -0
  198. package/src/main-api/ShaderController.ts +81 -0
  199. package/src/main-api/utils.ts +45 -0
  200. package/src/utils.ts +8 -0
  201. package/dist/exports/core-api.d.ts +0 -74
  202. package/dist/exports/core-api.js +0 -96
  203. package/dist/exports/core-api.js.map +0 -1
  204. package/dist/exports/main-api.d.ts +0 -30
  205. package/dist/exports/main-api.js +0 -45
  206. package/dist/exports/main-api.js.map +0 -1
  207. package/dist/src/core/CoreExtension.d.ts +0 -12
  208. package/dist/src/core/CoreExtension.js +0 -29
  209. package/dist/src/core/CoreExtension.js.map +0 -1
  210. package/dist/src/core/renderers/webgl/newShader/effectsMock.js +0 -36
  211. package/dist/src/core/renderers/webgl/newShader/effectsMock.js.map +0 -1
  212. package/dist/src/main-api/ICoreDriver.d.ts +0 -24
  213. package/dist/src/main-api/ICoreDriver.js +0 -20
  214. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  215. package/dist/src/main-api/RendererMain.d.ts +0 -378
  216. package/dist/src/main-api/RendererMain.js +0 -367
  217. package/dist/src/main-api/RendererMain.js.map +0 -1
  218. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  219. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  220. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  221. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  222. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  223. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  224. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  225. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
  226. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  227. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
  228. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
  229. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  230. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
  231. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
  232. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  233. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  234. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
  235. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  236. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
  237. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
  238. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  239. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
  240. package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
  241. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  242. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  243. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
  244. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  245. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
  246. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
  247. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  248. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
  249. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
  250. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  251. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
  252. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
  253. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  254. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  255. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  256. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  257. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  258. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  259. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  260. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  261. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
  262. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  263. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  264. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
  265. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  266. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
  267. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  268. package/dist/src/render-drivers/utils.d.ts +0 -12
  269. package/dist/src/render-drivers/utils.js +0 -74
  270. package/dist/src/render-drivers/utils.js.map +0 -1
  271. package/exports/core-api.ts +0 -102
  272. package/exports/main-api.ts +0 -60
  273. package/src/core/CoreExtension.ts +0 -32
  274. package/src/main-api/ICoreDriver.ts +0 -68
  275. package/src/main-api/RendererMain.ts +0 -685
  276. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +0 -45
  277. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +0 -154
  278. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +0 -54
  279. package/src/render-drivers/main/MainCoreDriver.ts +0 -159
  280. package/src/render-drivers/main/MainOnlyNode.ts +0 -553
  281. package/src/render-drivers/main/MainOnlyTextNode.ts +0 -261
  282. package/src/render-drivers/threadx/NodeStruct.ts +0 -320
  283. package/src/render-drivers/threadx/SharedNode.ts +0 -101
  284. package/src/render-drivers/threadx/TextNodeStruct.ts +0 -213
  285. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +0 -291
  286. package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +0 -135
  287. package/src/render-drivers/threadx/ThreadXMainNode.ts +0 -201
  288. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +0 -85
  289. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +0 -112
  290. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +0 -253
  291. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +0 -151
  292. package/src/render-drivers/threadx/worker/renderer.ts +0 -156
  293. package/src/render-drivers/utils.ts +0 -102
  294. /package/dist/src/core/renderers/webgl/newShader/{effectsMock.d.ts → abcMock.d.ts} +0 -0
  295. /package/dist/src/{render-drivers/threadx/worker/renderer.d.ts → test.d.ts} +0 -0
@@ -1,553 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
-
20
- import type {
21
- CustomDataMap,
22
- INode,
23
- INodeAnimatableProps,
24
- INodeWritableProps,
25
- } from '../../main-api/INode.js';
26
- import type { Stage } from '../../core/Stage.js';
27
- import { assertTruthy } from '../../utils.js';
28
- import type { IAnimationController } from '../../common/IAnimationController.js';
29
- import { CoreAnimation } from '../../core/animations/CoreAnimation.js';
30
- import { CoreAnimationController } from '../../core/animations/CoreAnimationController.js';
31
- import { CoreNode } from '../../core/CoreNode.js';
32
- import type {
33
- RendererMain,
34
- ShaderRef,
35
- TextureRef,
36
- } from '../../main-api/RendererMain.js';
37
- import type { AnimationSettings } from '../../core/animations/CoreAnimation.js';
38
- import { EventEmitter } from '../../common/EventEmitter.js';
39
- import type {
40
- NodeLoadedEventHandler,
41
- NodeFailedEventHandler,
42
- NodeRenderStateEventHandler,
43
- } from '../../common/CommonTypes.js';
44
- import { santizeCustomDataMap } from '../utils.js';
45
-
46
- let nextId = 1;
47
-
48
- export function getNewId(): number {
49
- return nextId++;
50
- }
51
-
52
- export class MainOnlyNode extends EventEmitter implements INode {
53
- readonly id;
54
- protected coreNode: CoreNode;
55
-
56
- // Prop stores
57
- protected _children: MainOnlyNode[] = [];
58
- protected _src = '';
59
- protected _parent: MainOnlyNode | null = null;
60
- protected _texture: TextureRef | null = null;
61
- protected _shader: ShaderRef | null = null;
62
- protected _data: CustomDataMap | undefined = {};
63
-
64
- constructor(
65
- props: INodeWritableProps,
66
- private rendererMain: RendererMain,
67
- private stage: Stage,
68
- coreNode?: CoreNode,
69
- ) {
70
- super();
71
- this.id = coreNode?.id ?? getNewId();
72
- this.coreNode =
73
- coreNode ||
74
- new CoreNode(this.stage, {
75
- id: this.id,
76
- x: props.x,
77
- y: props.y,
78
- width: props.width,
79
- height: props.height,
80
- alpha: props.alpha,
81
- autosize: props.autosize,
82
- clipping: props.clipping,
83
- color: props.color,
84
- colorTop: props.colorTop,
85
- colorBottom: props.colorBottom,
86
- colorLeft: props.colorLeft,
87
- colorRight: props.colorRight,
88
- colorTl: props.colorTl,
89
- colorTr: props.colorTr,
90
- colorBl: props.colorBl,
91
- colorBr: props.colorBr,
92
- zIndex: props.zIndex,
93
- zIndexLocked: props.zIndexLocked,
94
- scaleX: props.scaleX,
95
- scaleY: props.scaleY,
96
- mountX: props.mountX,
97
- mountY: props.mountY,
98
- mount: props.mount,
99
- pivot: props.pivot,
100
- pivotX: props.pivotX,
101
- pivotY: props.pivotY,
102
- rotation: props.rotation,
103
- parent: null,
104
- shader: null,
105
- shaderProps: null,
106
- texture: null,
107
- textureOptions: null,
108
- rtt: props.rtt,
109
- });
110
- // Forward loaded/failed events
111
- this.coreNode.on('loaded', this.onTextureLoaded);
112
- this.coreNode.on('failed', this.onTextureFailed);
113
- this.coreNode.on('freed', this.onTextureFreed);
114
-
115
- this.coreNode.on('outOfBounds', this.onOutOfBounds);
116
- this.coreNode.on('inBounds', this.onInBounds);
117
- this.coreNode.on('outOfViewport', this.onOutOfViewport);
118
- this.coreNode.on('inViewport', this.onInViewport);
119
-
120
- // Assign properties to this object
121
- this.parent = props.parent as MainOnlyNode;
122
- this.shader = props.shader;
123
- this.texture = props.texture;
124
- this.src = props.src;
125
- this.rtt = props.rtt;
126
- this._data = props.data;
127
- }
128
-
129
- get x(): number {
130
- return this.coreNode.x;
131
- }
132
-
133
- set x(value: number) {
134
- this.coreNode.x = value;
135
- }
136
-
137
- get y(): number {
138
- return this.coreNode.y;
139
- }
140
-
141
- set y(value: number) {
142
- this.coreNode.y = value;
143
- }
144
-
145
- get width(): number {
146
- return this.coreNode.width;
147
- }
148
-
149
- set width(value: number) {
150
- if (value !== this.coreNode.width && this.coreNode.rtt) {
151
- this.texture = this.rendererMain.createTexture(
152
- 'RenderTexture',
153
- {
154
- width: this.width,
155
- height: this.height,
156
- },
157
- { preload: true, flipY: true },
158
- );
159
- }
160
- this.coreNode.width = value;
161
- }
162
-
163
- get height(): number {
164
- return this.coreNode.height;
165
- }
166
-
167
- set height(value: number) {
168
- if (value !== this.coreNode.height && this.coreNode.rtt) {
169
- this.texture = this.rendererMain.createTexture(
170
- 'RenderTexture',
171
- {
172
- width: this.width,
173
- height: this.height,
174
- },
175
- { preload: true, flipY: true },
176
- );
177
- }
178
- this.coreNode.height = value;
179
- }
180
-
181
- get alpha(): number {
182
- return this.coreNode.alpha;
183
- }
184
-
185
- set alpha(value: number) {
186
- this.coreNode.alpha = value;
187
- }
188
-
189
- get autosize(): boolean {
190
- return this.coreNode.autosize;
191
- }
192
-
193
- set autosize(value: boolean) {
194
- this.coreNode.autosize = value;
195
- }
196
-
197
- get clipping(): boolean {
198
- return this.coreNode.clipping;
199
- }
200
-
201
- set clipping(value: boolean) {
202
- this.coreNode.clipping = value;
203
- }
204
-
205
- get color(): number {
206
- return this.coreNode.color;
207
- }
208
-
209
- set color(value: number) {
210
- this.coreNode.color = value;
211
- }
212
-
213
- get colorTop(): number {
214
- return this.coreNode.colorTop;
215
- }
216
-
217
- set colorTop(value: number) {
218
- this.coreNode.colorTop = value;
219
- }
220
-
221
- get colorBottom(): number {
222
- return this.coreNode.colorBottom;
223
- }
224
-
225
- set colorBottom(value: number) {
226
- this.coreNode.colorBottom = value;
227
- }
228
-
229
- get colorLeft(): number {
230
- return this.coreNode.colorLeft;
231
- }
232
-
233
- set colorLeft(value: number) {
234
- this.coreNode.colorLeft = value;
235
- }
236
-
237
- get colorRight(): number {
238
- return this.coreNode.colorRight;
239
- }
240
-
241
- set colorRight(value: number) {
242
- this.coreNode.colorRight = value;
243
- }
244
-
245
- get colorTl(): number {
246
- return this.coreNode.colorTl;
247
- }
248
-
249
- set colorTl(value: number) {
250
- this.coreNode.colorTl = value;
251
- }
252
-
253
- get colorTr(): number {
254
- return this.coreNode.colorTr;
255
- }
256
-
257
- set colorTr(value: number) {
258
- this.coreNode.colorTr = value;
259
- }
260
-
261
- get colorBl(): number {
262
- return this.coreNode.colorBl;
263
- }
264
-
265
- set colorBl(value: number) {
266
- this.coreNode.colorBl = value;
267
- }
268
-
269
- get colorBr(): number {
270
- return this.coreNode.colorBr;
271
- }
272
-
273
- set colorBr(value: number) {
274
- this.coreNode.colorBr = value;
275
- }
276
-
277
- get scale(): number | null {
278
- if (this.scaleX !== this.scaleY) {
279
- return null;
280
- }
281
- return this.coreNode.scaleX;
282
- }
283
-
284
- set scale(value: number | null) {
285
- // We ignore `null` when it's set.
286
- if (value === null) {
287
- return;
288
- }
289
- this.coreNode.scaleX = value;
290
- this.coreNode.scaleY = value;
291
- }
292
-
293
- get scaleX(): number {
294
- return this.coreNode.scaleX;
295
- }
296
-
297
- set scaleX(value: number) {
298
- this.coreNode.scaleX = value;
299
- }
300
-
301
- get scaleY(): number {
302
- return this.coreNode.scaleY;
303
- }
304
-
305
- set scaleY(value: number) {
306
- this.coreNode.scaleY = value;
307
- }
308
-
309
- get mount(): number {
310
- return this.coreNode.mount;
311
- }
312
-
313
- set mount(value: number) {
314
- this.coreNode.mount = value;
315
- }
316
-
317
- get mountX(): number {
318
- return this.coreNode.mountX;
319
- }
320
-
321
- set mountX(value: number) {
322
- this.coreNode.mountX = value;
323
- }
324
-
325
- get mountY(): number {
326
- return this.coreNode.mountY;
327
- }
328
-
329
- set mountY(value: number) {
330
- this.coreNode.mountY = value;
331
- }
332
-
333
- get pivot(): number {
334
- return this.coreNode.pivot;
335
- }
336
-
337
- set pivot(value: number) {
338
- this.coreNode.pivot = value;
339
- }
340
-
341
- get pivotX(): number {
342
- return this.coreNode.pivotX;
343
- }
344
-
345
- set pivotX(value: number) {
346
- this.coreNode.pivotX = value;
347
- }
348
-
349
- get pivotY(): number {
350
- return this.coreNode.pivotY;
351
- }
352
-
353
- set pivotY(value: number) {
354
- this.coreNode.pivotY = value;
355
- }
356
-
357
- get rotation(): number {
358
- return this.coreNode.rotation;
359
- }
360
-
361
- set rotation(value: number) {
362
- this.coreNode.rotation = value;
363
- }
364
-
365
- get parent(): MainOnlyNode | null {
366
- return this._parent;
367
- }
368
-
369
- set parent(newParent: MainOnlyNode | null) {
370
- const oldParent = this._parent;
371
- this._parent = newParent;
372
- this.coreNode.parent = newParent?.coreNode ?? null;
373
- if (oldParent) {
374
- const index = oldParent.children.indexOf(this);
375
- assertTruthy(
376
- index !== -1,
377
- "MainOnlyNode.parent: Node not found in old parent's children!",
378
- );
379
- oldParent.children.splice(index, 1);
380
- }
381
- if (newParent) {
382
- newParent.children.push(this);
383
- }
384
- }
385
-
386
- get children(): MainOnlyNode[] {
387
- return this._children;
388
- }
389
-
390
- get zIndex(): number {
391
- return this.coreNode.zIndex;
392
- }
393
-
394
- set zIndex(value: number) {
395
- this.coreNode.zIndex = value;
396
- }
397
-
398
- get zIndexLocked(): number {
399
- return this.coreNode.zIndexLocked;
400
- }
401
-
402
- set zIndexLocked(value: number) {
403
- this.coreNode.zIndexLocked = value;
404
- }
405
-
406
- get src(): string {
407
- return this._src;
408
- }
409
-
410
- set src(imageUrl: string) {
411
- if (this._src === imageUrl) {
412
- return;
413
- }
414
- this._src = imageUrl;
415
- if (!imageUrl) {
416
- this.texture = null;
417
- return;
418
- }
419
- this.texture = this.rendererMain.createTexture('ImageTexture', {
420
- src: imageUrl,
421
- });
422
- }
423
-
424
- //#region Texture
425
- get texture(): TextureRef | null {
426
- return this._texture;
427
- }
428
-
429
- set texture(texture: TextureRef | null) {
430
- if (this._texture === texture) {
431
- return;
432
- }
433
- if (this._texture) {
434
- this.rendererMain.textureTracker.decrementTextureRefCount(this._texture);
435
- }
436
- if (texture) {
437
- this.rendererMain.textureTracker.incrementTextureRefCount(texture);
438
- }
439
- this._texture = texture;
440
- if (texture) {
441
- this.coreNode.loadTexture(texture.txType, texture.props, texture.options);
442
- } else {
443
- this.coreNode.unloadTexture();
444
- }
445
- }
446
-
447
- get rtt(): boolean {
448
- return this.coreNode.rtt;
449
- }
450
-
451
- set rtt(value: boolean) {
452
- if (value) {
453
- this.texture = this.rendererMain.createTexture(
454
- 'RenderTexture',
455
- {
456
- width: this.width,
457
- height: this.height,
458
- },
459
- { preload: true, flipY: true },
460
- );
461
- }
462
- this.coreNode.rtt = value;
463
- }
464
-
465
- get parentHasRenderTexture(): boolean {
466
- return this.coreNode.parentHasRenderTexture;
467
- }
468
-
469
- private onTextureLoaded: NodeLoadedEventHandler = (target, payload) => {
470
- this.emit('loaded', payload);
471
- };
472
-
473
- private onTextureFailed: NodeFailedEventHandler = (target, payload) => {
474
- this.emit('failed', payload);
475
- };
476
-
477
- private onTextureFreed: NodeLoadedEventHandler = (target, payload) => {
478
- this.emit('freed', payload);
479
- };
480
-
481
- private onOutOfBounds: NodeRenderStateEventHandler = (target, payload) => {
482
- this.emit('outOfBounds', payload);
483
- };
484
-
485
- private onInBounds: NodeRenderStateEventHandler = (target, payload) => {
486
- this.emit('inBounds', payload);
487
- };
488
-
489
- private onOutOfViewport: NodeRenderStateEventHandler = (target, payload) => {
490
- this.emit('outOfViewport', payload);
491
- };
492
-
493
- private onInViewport: NodeRenderStateEventHandler = (target, payload) => {
494
- this.emit('inViewport', payload);
495
- };
496
- //#endregion Texture
497
-
498
- get shader(): ShaderRef | null {
499
- return this._shader;
500
- }
501
-
502
- set shader(shader: ShaderRef | null) {
503
- if (this._shader === shader) {
504
- return;
505
- }
506
- this._shader = shader;
507
- if (shader) {
508
- this.coreNode.loadShader(shader.shType, shader.props);
509
- }
510
- }
511
-
512
- get data(): CustomDataMap | undefined {
513
- return this._data;
514
- }
515
-
516
- set data(d: CustomDataMap) {
517
- this._data = santizeCustomDataMap(d);
518
- }
519
-
520
- destroy(): void {
521
- this.emit('beforeDestroy', {});
522
-
523
- //use while loop since setting parent to null removes it from array
524
- let child = this.children[0];
525
- while (child) {
526
- child.destroy();
527
- child = this.children[0];
528
- }
529
- this.coreNode.destroy();
530
- this.parent = null;
531
- this.texture = null;
532
- this.emit('afterDestroy', {});
533
- this.removeAllListeners();
534
- }
535
-
536
- flush(): void {
537
- // No-op
538
- }
539
-
540
- animate(
541
- props: Partial<INodeAnimatableProps>,
542
- settings: Partial<AnimationSettings>,
543
- ): IAnimationController {
544
- const animation = new CoreAnimation(this.coreNode, props, settings);
545
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
546
- const controller = new CoreAnimationController(
547
- this.stage.animationManager,
548
- animation,
549
- );
550
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
551
- return controller;
552
- }
553
- }