@lightningjs/renderer 0.9.4 → 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 (289) 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 +16 -6
  9. package/dist/src/core/CoreShaderManager.js +20 -20
  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.js.map +1 -1
  29. package/dist/src/core/platform.js +7 -1
  30. package/dist/src/core/platform.js.map +1 -1
  31. package/dist/src/core/renderers/CoreContextTexture.d.ts +3 -2
  32. package/dist/src/core/renderers/CoreContextTexture.js +7 -1
  33. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  34. package/dist/src/core/renderers/CoreRenderer.d.ts +5 -1
  35. package/dist/src/core/renderers/CoreRenderer.js +0 -1
  36. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  37. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +3 -0
  38. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +16 -1
  39. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  40. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +0 -1
  41. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +2 -5
  42. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  43. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +2 -2
  44. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
  45. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +0 -1
  46. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +7 -10
  47. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  48. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +3 -0
  49. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +47 -9
  50. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  51. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +24 -8
  52. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +70 -37
  53. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -1
  54. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +2 -2
  55. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -1
  56. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +2 -2
  57. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -1
  58. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +2 -2
  59. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -1
  60. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +2 -2
  61. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -1
  62. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +2 -2
  63. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -1
  64. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +8 -0
  65. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +103 -0
  66. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -1
  67. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +3 -18
  68. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -1
  69. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +5 -2
  70. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -1
  71. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +4 -36
  72. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -1
  73. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +3 -2
  74. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -1
  75. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +4 -2
  76. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -1
  77. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +2 -1
  78. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -1
  79. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +4 -36
  80. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -1
  81. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +11 -0
  82. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -1
  83. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +5 -2
  84. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  85. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -1
  86. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -1
  87. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -1
  88. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -1
  89. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -1
  90. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +10 -26
  91. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +116 -365
  92. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  93. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -1
  94. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -2
  95. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  96. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +2 -2
  97. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  98. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +2 -0
  99. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  100. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +3 -2
  101. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  102. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  103. package/dist/src/core/textures/ColorTexture.js +1 -1
  104. package/dist/src/core/textures/ImageTexture.d.ts +1 -1
  105. package/dist/src/core/textures/NoiseTexture.d.ts +1 -1
  106. package/dist/src/core/textures/NoiseTexture.js +3 -0
  107. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  108. package/dist/src/core/textures/SubTexture.d.ts +2 -2
  109. package/dist/src/core/textures/SubTexture.js +5 -1
  110. package/dist/src/core/textures/SubTexture.js.map +1 -1
  111. package/dist/src/core/textures/Texture.d.ts +23 -2
  112. package/dist/src/core/textures/Texture.js +32 -3
  113. package/dist/src/core/textures/Texture.js.map +1 -1
  114. package/dist/src/core/utils.d.ts +7 -0
  115. package/dist/src/core/utils.js +12 -10
  116. package/dist/src/core/utils.js.map +1 -1
  117. package/dist/src/main-api/DynamicShaderController.d.ts +3 -9
  118. package/dist/src/main-api/DynamicShaderController.js +18 -17
  119. package/dist/src/main-api/DynamicShaderController.js.map +1 -1
  120. package/dist/src/main-api/INode.d.ts +43 -463
  121. package/dist/src/main-api/INode.js +1 -19
  122. package/dist/src/main-api/INode.js.map +1 -1
  123. package/dist/src/main-api/Inspector.d.ts +10 -10
  124. package/dist/src/main-api/Inspector.js +18 -15
  125. package/dist/src/main-api/Inspector.js.map +1 -1
  126. package/dist/src/main-api/Renderer.d.ts +27 -21
  127. package/dist/src/main-api/Renderer.js +38 -107
  128. package/dist/src/main-api/Renderer.js.map +1 -1
  129. package/dist/src/main-api/ShaderController.d.ts +3 -8
  130. package/dist/src/main-api/ShaderController.js +8 -3
  131. package/dist/src/main-api/ShaderController.js.map +1 -1
  132. package/dist/src/utils.d.ts +1 -0
  133. package/dist/src/utils.js +7 -0
  134. package/dist/src/utils.js.map +1 -1
  135. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  136. package/exports/index.ts +60 -3
  137. package/package.json +8 -7
  138. package/src/core/CoreNode.test.ts +93 -0
  139. package/src/core/CoreNode.ts +675 -187
  140. package/src/core/CoreShaderManager.ts +56 -29
  141. package/src/core/CoreTextNode.ts +41 -9
  142. package/src/core/CoreTextureManager.ts +55 -175
  143. package/src/core/Stage.ts +199 -43
  144. package/src/core/TextureMemoryManager.ts +231 -22
  145. package/src/core/animations/CoreAnimation.ts +193 -68
  146. package/src/core/lib/ImageWorker.ts +79 -52
  147. package/src/core/lib/utils.ts +1 -0
  148. package/src/core/platform.ts +8 -1
  149. package/src/core/renderers/CoreContextTexture.ts +9 -2
  150. package/src/core/renderers/CoreRenderer.ts +5 -2
  151. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +20 -1
  152. package/src/core/renderers/canvas/CanvasCoreTexture.ts +2 -6
  153. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +2 -2
  154. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +7 -11
  155. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +51 -9
  156. package/src/core/renderers/webgl/shaders/DynamicShader.ts +114 -55
  157. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +2 -2
  158. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +2 -2
  159. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +2 -2
  160. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +2 -2
  161. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +2 -2
  162. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +129 -3
  163. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +7 -15
  164. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +5 -2
  165. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +6 -15
  166. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +6 -2
  167. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +10 -2
  168. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +2 -1
  169. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +6 -15
  170. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +20 -0
  171. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +14 -15
  172. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -2
  173. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -1
  174. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +139 -447
  175. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -3
  176. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +2 -2
  177. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +4 -2
  178. package/src/core/text-rendering/renderers/TextRenderer.ts +3 -2
  179. package/src/core/textures/ColorTexture.ts +1 -1
  180. package/src/core/textures/ImageTexture.ts +1 -1
  181. package/src/core/textures/NoiseTexture.ts +4 -1
  182. package/src/core/textures/SubTexture.ts +7 -7
  183. package/src/core/textures/Texture.ts +46 -3
  184. package/src/core/utils.ts +12 -11
  185. package/src/main-api/DynamicShaderController.ts +97 -0
  186. package/src/main-api/INode.ts +56 -479
  187. package/src/main-api/Inspector.ts +37 -39
  188. package/src/main-api/Renderer.ts +543 -0
  189. package/src/main-api/ShaderController.ts +81 -0
  190. package/src/main-api/utils.ts +45 -0
  191. package/src/utils.ts +8 -0
  192. package/dist/exports/core-api.d.ts +0 -74
  193. package/dist/exports/core-api.js +0 -96
  194. package/dist/exports/core-api.js.map +0 -1
  195. package/dist/exports/main-api.d.ts +0 -30
  196. package/dist/exports/main-api.js +0 -45
  197. package/dist/exports/main-api.js.map +0 -1
  198. package/dist/src/core/CoreExtension.d.ts +0 -12
  199. package/dist/src/core/CoreExtension.js +0 -29
  200. package/dist/src/core/CoreExtension.js.map +0 -1
  201. package/dist/src/core/renderers/SpecificNode.d.ts +0 -1
  202. package/dist/src/core/renderers/SpecificNode.js +0 -19
  203. package/dist/src/core/renderers/SpecificNode.js.map +0 -1
  204. package/dist/src/core/renderers/webgl/newShader/effectsMock.d.ts +0 -13
  205. package/dist/src/core/renderers/webgl/newShader/effectsMock.js +0 -62
  206. package/dist/src/core/renderers/webgl/newShader/effectsMock.js.map +0 -1
  207. package/dist/src/main-api/ICoreDriver.d.ts +0 -24
  208. package/dist/src/main-api/ICoreDriver.js +0 -20
  209. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  210. package/dist/src/main-api/RendererMain.d.ts +0 -378
  211. package/dist/src/main-api/RendererMain.js +0 -367
  212. package/dist/src/main-api/RendererMain.js.map +0 -1
  213. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  214. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  215. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  216. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  217. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  218. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  219. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  220. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
  221. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  222. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
  223. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
  224. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  225. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
  226. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
  227. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  228. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  229. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
  230. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  231. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
  232. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
  233. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  234. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
  235. package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
  236. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  237. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  238. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
  239. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  240. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
  241. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
  242. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  243. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
  244. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
  245. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  246. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
  247. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
  248. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  249. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  250. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  251. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  252. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  253. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  254. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  255. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  256. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
  257. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  258. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  259. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
  260. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  261. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
  262. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
  263. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  264. package/dist/src/render-drivers/utils.d.ts +0 -12
  265. package/dist/src/render-drivers/utils.js +0 -74
  266. package/dist/src/render-drivers/utils.js.map +0 -1
  267. package/exports/core-api.ts +0 -102
  268. package/exports/main-api.ts +0 -62
  269. package/src/core/CoreExtension.ts +0 -32
  270. package/src/main-api/ICoreDriver.ts +0 -68
  271. package/src/main-api/RendererMain.ts +0 -685
  272. package/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts +0 -45
  273. package/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts +0 -154
  274. package/src/main-api/texture-usage-trackers/TextureUsageTracker.ts +0 -54
  275. package/src/render-drivers/main/MainCoreDriver.ts +0 -159
  276. package/src/render-drivers/main/MainOnlyNode.ts +0 -553
  277. package/src/render-drivers/main/MainOnlyTextNode.ts +0 -261
  278. package/src/render-drivers/threadx/NodeStruct.ts +0 -320
  279. package/src/render-drivers/threadx/SharedNode.ts +0 -101
  280. package/src/render-drivers/threadx/TextNodeStruct.ts +0 -213
  281. package/src/render-drivers/threadx/ThreadXCoreDriver.ts +0 -291
  282. package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +0 -135
  283. package/src/render-drivers/threadx/ThreadXMainNode.ts +0 -201
  284. package/src/render-drivers/threadx/ThreadXMainTextNode.ts +0 -85
  285. package/src/render-drivers/threadx/ThreadXRendererMessage.ts +0 -112
  286. package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +0 -253
  287. package/src/render-drivers/threadx/worker/ThreadXRendererTextNode.ts +0 -151
  288. package/src/render-drivers/threadx/worker/renderer.ts +0 -156
  289. package/src/render-drivers/utils.ts +0 -102
@@ -1,261 +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
- ITextNode,
22
- ITextNodeWritableProps,
23
- } from '../../main-api/INode.js';
24
- import type { Stage } from '../../core/Stage.js';
25
- import type { RendererMain } from '../../main-api/RendererMain.js';
26
- import { MainOnlyNode, getNewId } from './MainOnlyNode.js';
27
- import { CoreTextNode } from '../../core/CoreTextNode.js';
28
-
29
- export class MainOnlyTextNode extends MainOnlyNode implements ITextNode {
30
- protected declare coreNode: CoreTextNode;
31
-
32
- constructor(
33
- props: ITextNodeWritableProps,
34
- rendererMain: RendererMain,
35
- stage: Stage,
36
- ) {
37
- super(
38
- props,
39
- rendererMain,
40
- stage,
41
- new CoreTextNode(stage, {
42
- id: getNewId(),
43
- x: props.x,
44
- y: props.y,
45
- width: props.width,
46
- height: props.height,
47
- alpha: props.alpha,
48
- autosize: props.autosize,
49
- clipping: props.clipping,
50
- color: props.color,
51
- colorTop: props.colorTop,
52
- colorBottom: props.colorBottom,
53
- colorLeft: props.colorLeft,
54
- colorRight: props.colorRight,
55
- colorTl: props.colorTl,
56
- colorTr: props.colorTr,
57
- colorBl: props.colorBl,
58
- colorBr: props.colorBr,
59
- zIndex: props.zIndex,
60
- zIndexLocked: props.zIndexLocked,
61
- scaleX: props.scaleX,
62
- scaleY: props.scaleY,
63
- mountX: props.mountX,
64
- mountY: props.mountY,
65
- mount: props.mount,
66
- pivot: props.pivot,
67
- pivotX: props.pivotX,
68
- pivotY: props.pivotY,
69
- rotation: props.rotation,
70
-
71
- // Text properties
72
- text: props.text,
73
- fontSize: props.fontSize,
74
- fontFamily: props.fontFamily,
75
- fontWeight: props.fontWeight,
76
- fontStretch: props.fontStretch,
77
- fontStyle: props.fontStyle,
78
- contain: props.contain,
79
- scrollable: props.scrollable,
80
- letterSpacing: props.letterSpacing,
81
- textAlign: props.textAlign,
82
- scrollY: props.scrollY,
83
- offsetY: props.offsetY,
84
- textRendererOverride: props.textRendererOverride,
85
- lineHeight: props.lineHeight,
86
- maxLines: props.maxLines,
87
- textBaseline: props.textBaseline,
88
- verticalAlign: props.verticalAlign,
89
- overflowSuffix: props.overflowSuffix,
90
- debug: props.debug,
91
- // These properties will get set appropriately in the base MainOnlyNode class
92
- parent: null,
93
- texture: null,
94
- textureOptions: null,
95
- shader: null,
96
- shaderProps: null,
97
- rtt: false,
98
- }),
99
- );
100
- }
101
-
102
- get text(): string {
103
- return this.coreNode.text;
104
- }
105
-
106
- set text(value: string) {
107
- this.coreNode.text = value;
108
- }
109
-
110
- get textRendererOverride(): ITextNode['textRendererOverride'] {
111
- return this.coreNode.textRendererOverride;
112
- }
113
-
114
- set textRendererOverride(value: ITextNode['textRendererOverride']) {
115
- this.coreNode.textRendererOverride = value;
116
- }
117
-
118
- get fontSize(): number {
119
- return this.coreNode.fontSize;
120
- }
121
-
122
- set fontSize(value: number) {
123
- this.coreNode.fontSize = value;
124
- }
125
-
126
- get fontFamily(): ITextNode['fontFamily'] {
127
- return this.coreNode.fontFamily;
128
- }
129
-
130
- set fontFamily(value: ITextNode['fontFamily']) {
131
- this.coreNode.fontFamily = value;
132
- }
133
-
134
- get fontWeight(): ITextNode['fontWeight'] {
135
- return this.coreNode.fontWeight;
136
- }
137
-
138
- set fontWeight(value: ITextNode['fontWeight']) {
139
- this.coreNode.fontWeight = value;
140
- }
141
-
142
- get fontStretch(): ITextNode['fontStretch'] {
143
- return this.coreNode.fontStretch;
144
- }
145
-
146
- set fontStretch(value: ITextNode['fontStretch']) {
147
- this.coreNode.fontStretch = value;
148
- }
149
-
150
- get fontStyle(): ITextNode['fontStyle'] {
151
- return this.coreNode.fontStyle;
152
- }
153
-
154
- set fontStyle(value: ITextNode['fontStyle']) {
155
- this.coreNode.fontStyle = value;
156
- }
157
-
158
- get textAlign(): ITextNode['textAlign'] {
159
- return this.coreNode.textAlign;
160
- }
161
-
162
- set textAlign(value: ITextNode['textAlign']) {
163
- this.coreNode.textAlign = value;
164
- }
165
-
166
- get contain(): ITextNode['contain'] {
167
- return this.coreNode.contain;
168
- }
169
-
170
- set contain(value: ITextNode['contain']) {
171
- this.coreNode.contain = value;
172
- }
173
-
174
- get scrollable(): ITextNode['scrollable'] {
175
- return this.coreNode.scrollable;
176
- }
177
-
178
- set scrollable(value: ITextNode['scrollable']) {
179
- this.coreNode.scrollable = value;
180
- }
181
-
182
- get scrollY(): ITextNode['scrollY'] {
183
- return this.coreNode.scrollY;
184
- }
185
-
186
- set scrollY(value: ITextNode['scrollY']) {
187
- this.coreNode.scrollY = value;
188
- }
189
-
190
- get offsetY(): ITextNode['offsetY'] {
191
- return this.coreNode.offsetY;
192
- }
193
-
194
- set offsetY(value: ITextNode['offsetY']) {
195
- this.coreNode.offsetY = value;
196
- }
197
-
198
- get letterSpacing(): ITextNode['letterSpacing'] {
199
- return this.coreNode.letterSpacing;
200
- }
201
-
202
- set letterSpacing(value: ITextNode['letterSpacing']) {
203
- this.coreNode.letterSpacing = value;
204
- }
205
-
206
- get lineHeight(): ITextNode['lineHeight'] {
207
- return this.coreNode.lineHeight;
208
- }
209
-
210
- set lineHeight(value: ITextNode['lineHeight']) {
211
- this.coreNode.lineHeight = value;
212
- }
213
-
214
- get maxLines(): ITextNode['maxLines'] {
215
- return this.coreNode.maxLines;
216
- }
217
-
218
- set maxLines(value: ITextNode['maxLines']) {
219
- if (value) {
220
- this.coreNode.maxLines = value;
221
- }
222
- }
223
-
224
- get textBaseline(): ITextNode['textBaseline'] {
225
- return this.coreNode.textBaseline;
226
- }
227
-
228
- set textBaseline(value: ITextNode['textBaseline']) {
229
- if (value) {
230
- this.coreNode.textBaseline = value;
231
- }
232
- }
233
-
234
- get verticalAlign(): ITextNode['verticalAlign'] {
235
- return this.coreNode.verticalAlign;
236
- }
237
-
238
- set verticalAlign(value: ITextNode['verticalAlign']) {
239
- if (value) {
240
- this.coreNode.verticalAlign = value;
241
- }
242
- }
243
-
244
- get overflowSuffix(): ITextNode['overflowSuffix'] {
245
- return this.coreNode.overflowSuffix;
246
- }
247
-
248
- set overflowSuffix(value: ITextNode['overflowSuffix']) {
249
- if (value) {
250
- this.coreNode.overflowSuffix = value;
251
- }
252
- }
253
-
254
- get debug(): ITextNode['debug'] {
255
- return this.coreNode.debug;
256
- }
257
-
258
- set debug(value: ITextNode['debug']) {
259
- this.coreNode.debug = value;
260
- }
261
- }
@@ -1,320 +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 { BufferStruct, structProp, genTypeId } from '@lightningjs/threadx';
21
-
22
- export interface NodeStructWritableProps {
23
- x: number;
24
- y: number;
25
- width: number;
26
- height: number;
27
- alpha: number;
28
- autosize: boolean;
29
- clipping: boolean;
30
- color: number;
31
- colorTop: number;
32
- colorBottom: number;
33
- colorLeft: number;
34
- colorRight: number;
35
- colorTl: number;
36
- colorTr: number;
37
- colorBr: number;
38
- colorBl: number;
39
- parentId: number;
40
- zIndex: number;
41
- zIndexLocked: number;
42
- scaleX: number;
43
- scaleY: number;
44
- mount: number;
45
- mountX: number;
46
- mountY: number;
47
- pivot: number;
48
- pivotX: number;
49
- pivotY: number;
50
- rotation: number;
51
- rtt: boolean;
52
- }
53
-
54
- export class NodeStruct
55
- extends BufferStruct
56
- implements NodeStructWritableProps
57
- {
58
- static override readonly typeId = genTypeId('NODE');
59
-
60
- @structProp('number')
61
- get x(): number {
62
- return 0;
63
- }
64
-
65
- set x(value: number) {
66
- // Decorator will handle this
67
- }
68
-
69
- @structProp('number')
70
- get y(): number {
71
- return 0;
72
- }
73
-
74
- set y(value: number) {
75
- // Decorator will handle this
76
- }
77
-
78
- @structProp('number')
79
- get width(): number {
80
- return 0;
81
- }
82
-
83
- set width(value: number) {
84
- // Decorator will handle this
85
- }
86
-
87
- @structProp('number')
88
- get height(): number {
89
- return 0;
90
- }
91
-
92
- set height(value: number) {
93
- // Decorator will handle this
94
- }
95
-
96
- @structProp('number')
97
- get alpha(): number {
98
- return 1;
99
- }
100
-
101
- set alpha(value: number) {
102
- // Decorator will handle this
103
- }
104
-
105
- @structProp('boolean')
106
- get autosize(): boolean {
107
- return false;
108
- }
109
-
110
- set autosize(value: boolean) {
111
- // Decorator will handle this
112
- }
113
-
114
- @structProp('boolean')
115
- get clipping(): boolean {
116
- return false;
117
- }
118
-
119
- set clipping(value: boolean) {
120
- // Decorator will handle this
121
- }
122
-
123
- @structProp('number')
124
- get color(): number {
125
- return 0;
126
- }
127
-
128
- set color(value: number) {
129
- // Decorator will handle this
130
- }
131
-
132
- @structProp('number')
133
- get colorTop(): number {
134
- return 0;
135
- }
136
-
137
- set colorTop(value: number) {
138
- // Decorator will handle this
139
- }
140
-
141
- @structProp('number')
142
- get colorBottom(): number {
143
- return 0;
144
- }
145
-
146
- set colorBottom(value: number) {
147
- // Decorator will handle this
148
- }
149
-
150
- @structProp('number')
151
- get colorLeft(): number {
152
- return 0;
153
- }
154
-
155
- set colorLeft(value: number) {
156
- // Decorator will handle this
157
- }
158
-
159
- @structProp('number')
160
- get colorRight(): number {
161
- return 0;
162
- }
163
-
164
- set colorRight(value: number) {
165
- // Decorator will handle this
166
- }
167
-
168
- @structProp('number')
169
- get colorTl(): number {
170
- return 0;
171
- }
172
-
173
- set colorTl(value: number) {
174
- // Decorator will handle this
175
- }
176
-
177
- @structProp('number')
178
- get colorTr(): number {
179
- return 0;
180
- }
181
-
182
- set colorTr(value: number) {
183
- // Decorator will handle this
184
- }
185
-
186
- @structProp('number')
187
- get colorBl(): number {
188
- return 0;
189
- }
190
-
191
- set colorBl(value: number) {
192
- // Decorator will handle this
193
- }
194
-
195
- @structProp('number')
196
- get colorBr(): number {
197
- return 0;
198
- }
199
-
200
- set colorBr(value: number) {
201
- // Decorator will handle this
202
- }
203
-
204
- @structProp('number')
205
- get scaleX(): number {
206
- return 1;
207
- }
208
-
209
- set scaleX(value: number) {
210
- // Decorator will handle this
211
- }
212
-
213
- @structProp('number')
214
- get scaleY(): number {
215
- return 1;
216
- }
217
-
218
- set scaleY(value: number) {
219
- // Decorator will handle this
220
- }
221
-
222
- @structProp('number')
223
- get mount(): number {
224
- return 0;
225
- }
226
-
227
- set mount(value: number) {
228
- // Decorator will handle this
229
- }
230
-
231
- @structProp('number')
232
- get mountX(): number {
233
- return 0;
234
- }
235
-
236
- set mountX(value: number) {
237
- // Decorator will handle this
238
- }
239
-
240
- @structProp('number')
241
- get mountY(): number {
242
- return 0;
243
- }
244
-
245
- set mountY(value: number) {
246
- // Decorator will handle this
247
- }
248
-
249
- @structProp('number')
250
- get pivot(): number {
251
- return 0.5;
252
- }
253
-
254
- set pivot(value: number) {
255
- // Decorator will handle this
256
- }
257
-
258
- @structProp('number')
259
- get pivotX(): number {
260
- return 0.5;
261
- }
262
-
263
- set pivotX(value: number) {
264
- // Decorator will handle this
265
- }
266
-
267
- @structProp('number')
268
- get pivotY(): number {
269
- return 0.5;
270
- }
271
-
272
- set pivotY(value: number) {
273
- // Decorator will handle this
274
- }
275
-
276
- @structProp('number')
277
- get rotation(): number {
278
- return 0;
279
- }
280
-
281
- set rotation(value: number) {
282
- // Decorator will handle this
283
- }
284
-
285
- @structProp('number')
286
- get parentId(): number {
287
- return 0;
288
- }
289
-
290
- set parentId(value: number) {
291
- // Decorator will handle this
292
- }
293
-
294
- @structProp('number')
295
- get zIndex(): number {
296
- return 0;
297
- }
298
-
299
- set zIndex(value: number) {
300
- // Decorator will handle this
301
- }
302
-
303
- @structProp('number')
304
- get zIndexLocked(): number {
305
- return 0;
306
- }
307
-
308
- set zIndexLocked(value: number) {
309
- // Decorator will handle this
310
- }
311
-
312
- @structProp('boolean')
313
- get rtt(): boolean {
314
- return false;
315
- }
316
-
317
- set rtt(value: boolean) {
318
- // Decorator will handle this
319
- }
320
- }
@@ -1,101 +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 { NodeStruct, NodeStructWritableProps } from './NodeStruct.js';
21
- import { SharedObject } from '@lightningjs/threadx';
22
-
23
- export class SharedNode extends SharedObject {
24
- declare z$__type__Props: NodeStructWritableProps &
25
- SharedObject['z$__type__Props'];
26
-
27
- /**
28
- * Must have lock on sharedNode before calling constructor!
29
- *
30
- * @param sharedNodeStruct
31
- */
32
- constructor(
33
- sharedNodeStruct: NodeStruct,
34
- extendedCurProps?: Record<string, unknown>,
35
- ) {
36
- super(sharedNodeStruct, {
37
- ...extendedCurProps,
38
- x: sharedNodeStruct.x,
39
- y: sharedNodeStruct.y,
40
- width: sharedNodeStruct.width,
41
- height: sharedNodeStruct.height,
42
- alpha: sharedNodeStruct.alpha,
43
- autosize: sharedNodeStruct.autosize,
44
- clipping: sharedNodeStruct.clipping,
45
- color: sharedNodeStruct.color,
46
- colorTop: sharedNodeStruct.colorTop,
47
- colorBottom: sharedNodeStruct.colorBottom,
48
- colorLeft: sharedNodeStruct.colorLeft,
49
- colorRight: sharedNodeStruct.colorRight,
50
- colorTl: sharedNodeStruct.colorTl,
51
- colorTr: sharedNodeStruct.colorTr,
52
- colorBl: sharedNodeStruct.colorBl,
53
- colorBr: sharedNodeStruct.colorBr,
54
- parentId: sharedNodeStruct.parentId,
55
- zIndex: sharedNodeStruct.zIndex,
56
- zIndexLocked: sharedNodeStruct.zIndexLocked,
57
- scaleX: sharedNodeStruct.scaleX,
58
- scaleY: sharedNodeStruct.scaleY,
59
- mount: sharedNodeStruct.mount,
60
- mountX: sharedNodeStruct.mountX,
61
- mountY: sharedNodeStruct.mountY,
62
- pivot: sharedNodeStruct.pivot,
63
- pivotX: sharedNodeStruct.pivotX,
64
- pivotY: sharedNodeStruct.pivotY,
65
- rotation: sharedNodeStruct.rotation,
66
- rtt: sharedNodeStruct.rtt,
67
- } satisfies NodeStructWritableProps);
68
- }
69
-
70
- // Declare getters and setters for all properties that are automatically
71
- // generated on this class.
72
- declare x: number;
73
- declare y: number;
74
- declare width: number;
75
- declare height: number;
76
- declare alpha: number;
77
- declare autosize: boolean;
78
- declare clipping: boolean;
79
- declare color: number;
80
- declare colorTop: number;
81
- declare colorBottom: number;
82
- declare colorLeft: number;
83
- declare colorRight: number;
84
- declare colorTl: number;
85
- declare colorTr: number;
86
- declare colorBl: number;
87
- declare colorBr: number;
88
- declare scaleX: number;
89
- declare scaleY: number;
90
- declare mountX: number;
91
- declare mountY: number;
92
- declare mount: number;
93
- declare pivot: number;
94
- declare pivotX: number;
95
- declare pivotY: number;
96
- declare rotation: number;
97
- protected declare parentId: number;
98
- declare zIndex: number;
99
- declare zIndexLocked: number;
100
- declare rtt: boolean;
101
- }