@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
@@ -39,6 +39,8 @@ export class Texture extends EventEmitter {
39
39
  error = null;
40
40
  state = 'freed';
41
41
  renderableOwners = new Set();
42
+ renderable = false;
43
+ lastRenderableChangeTime = 0;
42
44
  constructor(txManager) {
43
45
  super();
44
46
  this.txManager = txManager;
@@ -58,18 +60,45 @@ export class Texture extends EventEmitter {
58
60
  * @param renderable
59
61
  */
60
62
  setRenderableOwner(owner, renderable) {
63
+ const oldSize = this.renderableOwners.size;
61
64
  if (renderable) {
62
65
  this.renderableOwners.add(owner);
66
+ const newSize = this.renderableOwners.size;
67
+ if (newSize > oldSize && newSize === 1) {
68
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
69
+ this.renderable = true;
70
+ this.lastRenderableChangeTime = this.txManager.frameTime;
71
+ this.onChangeIsRenderable?.(true);
72
+ }
63
73
  }
64
74
  else {
65
75
  this.renderableOwners.delete(owner);
76
+ const newSize = this.renderableOwners.size;
77
+ if (newSize < oldSize && newSize === 0) {
78
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
79
+ this.renderable = false;
80
+ this.lastRenderableChangeTime = this.txManager.frameTime;
81
+ this.onChangeIsRenderable?.(false);
82
+ }
66
83
  }
67
84
  }
68
85
  /**
69
- * Returns true if the texture is assigned to any Nodes that are renderable.
86
+ * Get the CoreContextTexture for this Texture
87
+ *
88
+ * @remarks
89
+ * Each Texture has a corresponding CoreContextTexture that is used to
90
+ * manage the texture's native data depending on the renderer's mode
91
+ * (WebGL, Canvas, etc).
92
+ *
93
+ * The Texture and CoreContextTexture are always linked together in a 1:1
94
+ * relationship.
70
95
  */
71
- get renderable() {
72
- return this.renderableOwners.size > 0;
96
+ get ctxTexture() {
97
+ // The first time this is called, create the ctxTexture
98
+ const ctxTexture = this.txManager.renderer.createCtxTexture(this);
99
+ // And replace this getter with the value for future calls
100
+ Object.defineProperty(this, 'ctxTexture', { value: ctxTexture });
101
+ return ctxTexture;
73
102
  }
74
103
  /**
75
104
  * Set the state of the texture
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAoG5D;;;;;;;;GAQG;AACH,MAAM,OAAgB,OAAQ,SAAQ,YAAY;IAgB1B;IAftB;;;;;;OAMG;IACM,UAAU,GAAgC,IAAI,CAAC;IAE/C,KAAK,GAAiB,IAAI,CAAC;IAE3B,KAAK,GAAiB,OAAO,CAAC;IAE9B,gBAAgB,GAAG,IAAI,GAAG,EAAW,CAAC;IAE/C,YAAsB,SAA6B;QACjD,KAAK,EAAE,CAAC;QADY,cAAS,GAAT,SAAS,CAAoB;IAEnD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,KAAc,EAAE,UAAmB;QACpD,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAClC;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;SACrC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC,IAAI,GAAG,CAAC,CAAC;IACxC,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CACN,KAAY,EACZ,GAAG,IAAuD;QAE1D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACxB,4EAA4E;YAC3E,IAAI,CAAC,KAAsB,GAAG,KAAK,CAAC;YACrC,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACtB,MAAM,UAAU,GAAG,IAElB,CAAC;gBACD,IAAI,CAAC,UAAyB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,UAAU,GAAG,IAElB,CAAC;gBACD,IAAI,CAAC,KAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAcD;;;;;;;;;;;;;OAaG;IACH,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CAAC,KAAc;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe;IACpB,6DAA6D;IAC7D,KAAc;QAEd,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAKH,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAqG5D;;;;;;;;GAQG;AACH,MAAM,OAAgB,OAAQ,SAAQ,YAAY;IAoB1B;IAnBtB;;;;;;OAMG;IACM,UAAU,GAAgC,IAAI,CAAC;IAE/C,KAAK,GAAiB,IAAI,CAAC;IAE3B,KAAK,GAAiB,OAAO,CAAC;IAE9B,gBAAgB,GAAG,IAAI,GAAG,EAAW,CAAC;IAEtC,UAAU,GAAY,KAAK,CAAC;IAE5B,wBAAwB,GAAG,CAAC,CAAC;IAEtC,YAAsB,SAA6B;QACjD,KAAK,EAAE,CAAC;QADY,cAAS,GAAT,SAAS,CAAoB;IAEnD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,kBAAkB,CAAC,KAAc,EAAE,UAAmB;QACpD,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAC3C,IAAI,UAAU,EAAE;YACd,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC3C,IAAI,OAAO,GAAG,OAAO,IAAI,OAAO,KAAK,CAAC,EAAE;gBACtC,4EAA4E;gBAC3E,IAAI,CAAC,UAAsB,GAAG,IAAI,CAAC;gBACnC,IAAI,CAAC,wBAAmC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACrE,IAAI,CAAC,oBAAoB,EAAE,CAAC,IAAI,CAAC,CAAC;aACnC;SACF;aAAM;YACL,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,OAAO,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAC3C,IAAI,OAAO,GAAG,OAAO,IAAI,OAAO,KAAK,CAAC,EAAE;gBACtC,4EAA4E;gBAC3E,IAAI,CAAC,UAAsB,GAAG,KAAK,CAAC;gBACpC,IAAI,CAAC,wBAAmC,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;gBACrE,IAAI,CAAC,oBAAoB,EAAE,CAAC,KAAK,CAAC,CAAC;aACpC;SACF;IACH,CAAC;IAaD;;;;;;;;;;OAUG;IACH,IAAI,UAAU;QACZ,uDAAuD;QACvD,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;QAClE,0DAA0D;QAC1D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;QACjE,OAAO,UAAU,CAAC;IACpB,CAAC;IAED;;;;;;;;;OASG;IACH,QAAQ,CACN,KAAY,EACZ,GAAG,IAAuD;QAE1D,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACxB,4EAA4E;YAC3E,IAAI,CAAC,KAAsB,GAAG,KAAK,CAAC;YACrC,IAAI,KAAK,KAAK,QAAQ,EAAE;gBACtB,MAAM,UAAU,GAAG,IAElB,CAAC;gBACD,IAAI,CAAC,UAAyB,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACjD;iBAAM,IAAI,KAAK,KAAK,QAAQ,EAAE;gBAC7B,MAAM,UAAU,GAAG,IAElB,CAAC;gBACD,IAAI,CAAC,KAAe,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;aACvC;YACD,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,IAAI,CAAC,CAAC;SAC3B;IACH,CAAC;IAcD;;;;;;;;;;;;;OAaG;IACH,6DAA6D;IAC7D,MAAM,CAAC,YAAY,CAAC,KAAc;QAChC,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;;;;;;;OAUG;IACH,MAAM,CAAC,eAAe;IACpB,6DAA6D;IAC7D,KAAc;QAEd,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
@@ -13,3 +13,10 @@ export declare const equals: (a: number, b: number) => boolean;
13
13
  export declare const rand: (min: number, max: number) => number;
14
14
  export declare const isPowerOfTwo: (value: number) => boolean | 0;
15
15
  export declare const getTimingFunction: (str: string) => (time: number) => number | undefined;
16
+ /**
17
+ * Convert bytes to string of megabytes with 2 decimal points
18
+ *
19
+ * @param bytes
20
+ * @returns
21
+ */
22
+ export declare function bytesToMb(bytes: number): string;
@@ -145,10 +145,11 @@ export const getTimingFunction = (str) => {
145
145
  return time === 1 ? 1 : 0;
146
146
  };
147
147
  }
148
- if (timingLookup[str] !== undefined) {
148
+ const lookup = timingLookup[str];
149
+ if (lookup !== undefined) {
150
+ const [a, b, c, d] = lookup;
149
151
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
150
152
  // @ts-ignore - TS doesn't understand that we've checked for undefined
151
- const [a, b, c, d] = timingLookup[str];
152
153
  // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
153
154
  const timing = getTimingBezier(a, b, c, d);
154
155
  timingMapping[str] = timing;
@@ -160,12 +161,13 @@ export const getTimingFunction = (str) => {
160
161
  console.warn('Unknown timing function: ' + str);
161
162
  return defaultTiming;
162
163
  };
163
- if (!Math.hypot)
164
- Math.hypot = (...args) => {
165
- let y = 0, i = args.length;
166
- while (i--) {
167
- y += args[i] * args[i];
168
- }
169
- return Math.sqrt(y);
170
- };
164
+ /**
165
+ * Convert bytes to string of megabytes with 2 decimal points
166
+ *
167
+ * @param bytes
168
+ * @returns
169
+ */
170
+ export function bytesToMb(bytes) {
171
+ return (bytes / 1024 / 1024).toFixed(2);
172
+ }
171
173
  //# sourceMappingURL=utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ShaderMap } from "./core/CoreShaderManager.js";
2
+ /**
3
+ * Shader Controller Base Interface
4
+ *
5
+ * @remarks
6
+ * Used directly this interface is like an `any` type for Shader Controllers.
7
+ * But it is also used as a base for more specific Shader Controller interfaces.
8
+ */
9
+ export interface AnyShaderController {
10
+ type: keyof ShaderMap;
11
+ shader: any;
12
+ props: any;
13
+ }
@@ -0,0 +1,62 @@
1
+ function createEffect(name, type, props) {
2
+ return {
3
+ name,
4
+ type,
5
+ props
6
+ };
7
+ }
8
+ const renderer = {};
9
+ // RoundedRectangle Shader
10
+ const node2 = renderer.createNode({
11
+ shader: renderer.createShader('RoundedRectangle', {
12
+ radius: 100
13
+ })
14
+ });
15
+ node2.shader.props.radius = 200;
16
+ node2.animate({
17
+ shaderProps: {
18
+ radius: 200
19
+ }
20
+ });
21
+ // Dynamic Shader
22
+ class Effect {
23
+ props;
24
+ constructor(props) {
25
+ this.props = props;
26
+ }
27
+ }
28
+ class SomeEffect extends Effect {
29
+ constructor(props) {
30
+ super(props);
31
+ }
32
+ }
33
+ class SomeEffect2 extends Effect {
34
+ constructor(props) {
35
+ super(props);
36
+ }
37
+ }
38
+ const node = renderer.createNode({
39
+ shader: renderer.createDynamicShader([
40
+ createEffect('e1', 'SomeEffect', { color: 0xff0000 }),
41
+ createEffect('e2', 'SomeEffect2', { color2: 0xff0000 }),
42
+ ])
43
+ });
44
+ node.animate({
45
+ x: 12,
46
+ shaderProps: {
47
+ e1: {
48
+ color: 0x00ff00
49
+ },
50
+ e2: {
51
+ color2: 0x00ff00
52
+ },
53
+ }
54
+ });
55
+ node.shader.props.e1.color = 0x00ff00;
56
+ // Default Shader
57
+ const node3 = renderer.createNode({
58
+ x: 0,
59
+ y: 0
60
+ });
61
+ export {};
62
+ //# sourceMappingURL=effectsMock.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"effectsMock.js","sourceRoot":"","sources":["../../src/effectsMock.ts"],"names":[],"mappings":"AAaA,SAAS,YAAY,CAAoD,IAAU,EAAE,IAAU,EAAE,KAA8D;IAC7J,OAAO;QACL,IAAI;QACJ,IAAI;QACJ,KAAK;KACN,CAAC;AACJ,CAAC;AA0JD,MAAM,QAAQ,GAAa,EAAc,CAAC;AAuB1C,0BAA0B;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,CAAC;IAChC,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,kBAAkB,EAAE;QAChD,MAAM,EAAE,GAAG;KACZ,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC;AAEhC,KAAK,CAAC,OAAO,CAAC;IACZ,WAAW,EAAE;QACX,MAAM,EAAE,GAAG;KACZ;CACF,CAAC,CAAC;AAiBH,iBAAiB;AACjB,MAAM,MAAM;IACV,KAAK,CAAU;IAEf,YAAY,KAA8B;QACxC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED,MAAM,UAAW,SAAQ,MAAM;IAK7B,YAAY,KAA0B;QACpC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAED,MAAM,WAAY,SAAQ,MAAM;IAK9B,YAAY,KAA2B;QACrC,KAAK,CAAC,KAAK,CAAC,CAAC;IACf,CAAC;CACF;AAgBD,MAAM,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;IAC/B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;QACnC,YAAY,CAAC,IAAI,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;QACrD,YAAY,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC;KACxD,CAAC;CACH,CAAC,CAAA;AAGF,IAAI,CAAC,OAAO,CAAC;IACX,CAAC,EAAE,EAAE;IACL,WAAW,EAAE;QACX,EAAE,EAAE;YACF,KAAK,EAAE,QAAQ;SAChB;QACD,EAAE,EAAE;YACF,MAAM,EAAE,QAAQ;SACjB;KACF;CACF,CAAC,CAAC;AAEH,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,GAAG,QAAQ,CAAC;AAuBtC,iBAAiB;AACjB,MAAM,KAAK,GAAU,QAAQ,CAAC,UAAU,CAAC;IACvC,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ import type { CoreShaderManager, EffectMap, ShaderMap } from '../core/CoreShaderManager.js';
2
+ import type { ExtractProps } from '../core/CoreTextureManager.js';
3
+ import type { EffectDesc } from '../core/renderers/webgl/shaders/DynamicShader.js';
4
+ import type { BaseShaderController } from './ShaderController.js';
5
+ type MapEffectProps<Effects extends [...{
6
+ name: string;
7
+ type: keyof EffectMap;
8
+ }[]]> = {
9
+ [K in Effects[number] as K['name']]: ExtractProps<EffectMap[K['type']]>;
10
+ };
11
+ export type DynamicEffects<T extends [...{
12
+ name: string;
13
+ type: keyof EffectMap;
14
+ }[]]> = {
15
+ [K in keyof T]: EffectDesc<T[K]>;
16
+ };
17
+ export declare class DynamicShaderController<Effects extends [...{
18
+ name: string;
19
+ type: keyof EffectMap;
20
+ }[]]> implements BaseShaderController {
21
+ readonly shader: InstanceType<ShaderMap['DynamicShader']>;
22
+ private resolvedProps;
23
+ props: MapEffectProps<Effects>;
24
+ type: 'DynamicShader';
25
+ constructor(shader: InstanceType<ShaderMap['DynamicShader']>, props: ExtractProps<ShaderMap['DynamicShader']>, shManager: CoreShaderManager);
26
+ getResolvedProps(): import("../core/renderers/webgl/shaders/DynamicShader.js").DynamicShaderProps;
27
+ }
28
+ export {};
@@ -0,0 +1,55 @@
1
+ export class DynamicShaderController {
2
+ shader;
3
+ resolvedProps;
4
+ props;
5
+ type;
6
+ constructor(shader, props, shManager) {
7
+ this.shader = shader;
8
+ this.type = 'DynamicShader';
9
+ this.resolvedProps = props;
10
+ const effectConstructors = shManager.getRegisteredEffects();
11
+ const definedProps = {};
12
+ const effects = props.effects;
13
+ const effectsLength = effects.length;
14
+ for (let i = 0; i < effectsLength; i++) {
15
+ const { name: effectName, props: effectProps, type: effectType, } = effects[i];
16
+ const definedEffectProps = {};
17
+ const propEntries = Object.keys(effectProps);
18
+ const propEntriesLength = propEntries.length;
19
+ for (let j = 0; j < propEntriesLength; j++) {
20
+ const propName = propEntries[j];
21
+ Object.defineProperty(definedEffectProps, propName, {
22
+ get: () => {
23
+ return this.resolvedProps.effects[i].props[propName].value;
24
+ },
25
+ set: (value) => {
26
+ const target = this.resolvedProps.effects[i].props[propName];
27
+ target.value = value;
28
+ if (target.hasValidator) {
29
+ value = target.validatedValue = effectConstructors[effectType]
30
+ .uniforms[propName]?.validator(value, effectProps);
31
+ }
32
+ if (target.hasProgramValueUpdater) {
33
+ effectConstructors[effectType].uniforms[propName]
34
+ ?.updateProgramValue(target);
35
+ }
36
+ else {
37
+ target.programValue = value;
38
+ }
39
+ shManager.renderer.stage.requestRender();
40
+ },
41
+ });
42
+ }
43
+ Object.defineProperty(definedProps, effectName, {
44
+ get: () => {
45
+ return definedEffectProps;
46
+ },
47
+ });
48
+ }
49
+ this.props = definedProps;
50
+ }
51
+ getResolvedProps() {
52
+ return this.resolvedProps;
53
+ }
54
+ }
55
+ //# sourceMappingURL=DynamicShaderController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DynamicShaderController.js","sourceRoot":"","sources":["../../../src/main-api/DynamicShaderController.ts"],"names":[],"mappings":"AAsBA,MAAM,OAAO,uBAAuB;IASvB;IALH,aAAa,CAA2C;IAChE,KAAK,CAA0B;IAC/B,IAAI,CAAkB;IAEtB,YACW,MAAgD,EACzD,KAA+C,EAC/C,SAA4B;QAFnB,WAAM,GAAN,MAAM,CAA0C;QAIzD,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC3B,MAAM,kBAAkB,GAAG,SAAS,CAAC,oBAAoB,EAAE,CAAC;QAC5D,MAAM,YAAY,GAAG,EAAE,CAAC;QAExB,MAAM,OAAO,GAAG,KAAK,CAAC,OAAQ,CAAC;QAC/B,MAAM,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;QAErC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,aAAa,EAAE,CAAC,EAAE,EAAE;YACtC,MAAM,EACJ,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,WAAW,EAClB,IAAI,EAAE,UAAU,GACjB,GAAG,OAAO,CAAC,CAAC,CAAE,CAAC;YAChB,MAAM,kBAAkB,GAAG,EAAE,CAAC;YAC9B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC7C,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAM,CAAC;YAC7C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;gBAC1C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAE,CAAC;gBACjC,MAAM,CAAC,cAAc,CAAC,kBAAkB,EAAE,QAAQ,EAAE;oBAClD,GAAG,EAAE,GAAG,EAAE;wBACR,OACE,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAAC,QAAQ,CAI/C,CAAC,KAAK,CAAC;oBACV,CAAC;oBACD,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE;wBACb,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAQ,CAAC,CAAC,CAAE,CAAC,KAAK,CAClD,QAAQ,CACc,CAAC;wBACzB,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;wBACrB,IAAI,MAAM,CAAC,YAAY,EAAE;4BACvB,KAAK,GAAG,MAAM,CAAC,cAAc,GAAG,kBAAkB,CAAC,UAAU,CAAE;iCAC5D,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAU,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;yBACvD;wBACD,IAAI,MAAM,CAAC,sBAAsB,EAAE;4BACjC,kBAAkB,CAAC,UAAU,CAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;gCAChD,EAAE,kBAAmB,CAAC,MAA8B,CAAC,CAAC;yBACzD;6BAAM;4BACL,MAAM,CAAC,YAAY,GAAG,KAAK,CAAC;yBAC7B;wBACD,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,aAAa,EAAE,CAAC;oBAC3C,CAAC;iBACF,CAAC,CAAC;aACJ;YAED,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,UAAU,EAAE;gBAC9C,GAAG,EAAE,GAAG,EAAE;oBACR,OAAO,kBAAkB,CAAC;gBAC5B,CAAC;aACF,CAAC,CAAC;SACJ;QAED,IAAI,CAAC,KAAK,GAAG,YAAuC,CAAC;IACvD,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;CACF"}