@lightningjs/renderer 2.13.1 → 2.13.2

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 (344) hide show
  1. package/COPYING +1 -0
  2. package/LICENSE +202 -202
  3. package/NOTICE +3 -3
  4. package/README.md +147 -147
  5. package/dist/exports/canvas-shaders.d.ts +10 -0
  6. package/dist/exports/canvas-shaders.js +27 -0
  7. package/dist/exports/canvas-shaders.js.map +1 -0
  8. package/dist/exports/webgl-shaders.d.ts +11 -0
  9. package/dist/exports/webgl-shaders.js +28 -0
  10. package/dist/exports/webgl-shaders.js.map +1 -0
  11. package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
  12. package/dist/src/core/renderers/CoreShaderNode.js +107 -0
  13. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  14. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  15. package/dist/src/{main-api/ICoreDriver.js → core/renderers/CoreShaderProgram.js} +1 -1
  16. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  17. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
  18. package/dist/src/core/renderers/canvas/CanvasRenderer.js +212 -0
  19. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  20. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  21. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +60 -0
  22. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  23. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
  24. package/dist/src/core/renderers/canvas/CanvasTexture.js +123 -0
  25. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  26. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
  27. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
  28. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  29. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
  30. package/dist/src/{main-api/texture-usage-trackers/TextureUsageTracker.js → core/renderers/webgl/WebGlCtxSubTexture.js} +18 -8
  31. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  32. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
  33. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +227 -0
  34. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  35. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +36 -0
  36. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +107 -0
  37. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
  38. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +134 -0
  39. package/dist/src/core/renderers/webgl/WebGlRenderer.js +546 -0
  40. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  41. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +221 -0
  42. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +334 -0
  43. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  44. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +35 -0
  45. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +195 -0
  46. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  47. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  48. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  49. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  50. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  51. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  52. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  53. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  54. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  55. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  56. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  57. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  58. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  59. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  60. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  61. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  62. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  63. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  64. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  65. package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
  66. package/dist/src/core/shaders/canvas/Border.js +57 -0
  67. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  68. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  69. package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
  70. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  71. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  72. package/dist/src/core/shaders/canvas/LinearGradient.js +46 -0
  73. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  74. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  75. package/dist/src/core/shaders/canvas/RadialGradient.js +68 -0
  76. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  77. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  78. package/dist/src/core/shaders/canvas/Rounded.js +33 -0
  79. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  80. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
  81. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +35 -0
  82. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  83. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
  84. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +39 -0
  85. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  86. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  87. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +38 -0
  88. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  89. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  90. package/dist/src/core/shaders/canvas/Shadow.js +31 -0
  91. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  92. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  93. package/dist/src/core/shaders/canvas/utils/render.js +84 -0
  94. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  95. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +37 -0
  96. package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
  97. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  98. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  99. package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
  100. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  101. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  102. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
  103. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  104. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
  105. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
  106. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  107. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  108. package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
  109. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  110. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  111. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
  112. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  113. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +6 -0
  114. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
  115. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  116. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  117. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
  118. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  119. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  120. package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
  121. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  122. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  123. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  124. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  125. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  126. package/dist/src/core/shaders/webgl/Border.js +87 -0
  127. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  128. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  129. package/dist/src/core/shaders/webgl/Default.js +86 -0
  130. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  131. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
  132. package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
  133. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
  134. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  135. package/dist/src/core/shaders/webgl/HolePunch.js +64 -0
  136. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  137. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  138. package/dist/src/core/shaders/webgl/LinearGradient.js +75 -0
  139. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  140. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  141. package/dist/src/core/shaders/webgl/RadialGradient.js +73 -0
  142. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  143. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  144. package/dist/src/core/shaders/webgl/Rounded.js +86 -0
  145. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  146. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  147. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +97 -0
  148. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  149. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  150. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +112 -0
  151. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  152. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  153. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
  154. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  155. package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
  156. package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
  157. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  158. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  159. package/dist/src/core/shaders/webgl/Shadow.js +110 -0
  160. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  161. package/dist/src/core/textures/Texture.d.ts +4 -2
  162. package/dist/src/core/textures/Texture.js +18 -6
  163. package/dist/src/core/textures/Texture.js.map +1 -1
  164. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  165. package/exports/canvas.ts +39 -39
  166. package/exports/index.ts +89 -89
  167. package/exports/inspector.ts +24 -24
  168. package/exports/utils.ts +44 -44
  169. package/exports/webgl.ts +38 -38
  170. package/package.json +1 -2
  171. package/scripts/please-use-pnpm.js +13 -13
  172. package/src/common/CommonTypes.ts +146 -146
  173. package/src/common/EventEmitter.ts +77 -77
  174. package/src/common/IAnimationController.ts +92 -92
  175. package/src/common/IEventEmitter.ts +28 -28
  176. package/src/core/CoreNode.test.ts +202 -202
  177. package/src/core/CoreNode.ts +2455 -2455
  178. package/src/core/CoreShaderManager.ts +292 -292
  179. package/src/core/CoreTextNode.ts +455 -455
  180. package/src/core/CoreTextureManager.ts +597 -597
  181. package/src/core/Stage.ts +743 -743
  182. package/src/core/TextureMemoryManager.ts +395 -395
  183. package/src/core/animations/AnimationManager.ts +38 -38
  184. package/src/core/animations/CoreAnimation.ts +340 -340
  185. package/src/core/animations/CoreAnimationController.ts +157 -157
  186. package/src/core/lib/ContextSpy.ts +41 -41
  187. package/src/core/lib/ImageWorker.ts +280 -280
  188. package/src/core/lib/Matrix3d.ts +244 -244
  189. package/src/core/lib/RenderCoords.ts +86 -86
  190. package/src/core/lib/WebGlContextWrapper.ts +1332 -1332
  191. package/src/core/lib/textureCompression.ts +152 -152
  192. package/src/core/lib/textureSvg.ts +78 -78
  193. package/src/core/lib/utils.ts +384 -384
  194. package/src/core/lib/validateImageBitmap.ts +76 -76
  195. package/src/core/platform.ts +63 -63
  196. package/src/core/renderers/CoreContextTexture.ts +43 -43
  197. package/src/core/renderers/CoreRenderOp.ts +22 -22
  198. package/src/core/renderers/CoreRenderer.ts +115 -115
  199. package/src/core/renderers/CoreShader.ts +41 -41
  200. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -375
  201. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -153
  202. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  203. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  204. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  205. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +86 -86
  206. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  207. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +301 -301
  208. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  209. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +815 -815
  210. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  211. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  212. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  213. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  214. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  215. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  216. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  217. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  218. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  219. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  220. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  221. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  222. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  223. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  224. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  225. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  226. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  227. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  228. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  229. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  230. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  231. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  232. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  233. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  234. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  235. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  236. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  237. package/src/core/text-rendering/TrFontManager.ts +183 -183
  238. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  239. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  240. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  241. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  242. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  243. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  244. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  245. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  246. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  247. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  248. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  249. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  250. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  251. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  252. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  253. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  254. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  255. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  256. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  257. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  258. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  259. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  260. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  261. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  262. package/src/core/textures/ColorTexture.ts +102 -102
  263. package/src/core/textures/ImageTexture.ts +399 -399
  264. package/src/core/textures/NoiseTexture.ts +104 -104
  265. package/src/core/textures/RenderTexture.ts +85 -85
  266. package/src/core/textures/SubTexture.ts +205 -205
  267. package/src/core/textures/Texture.ts +353 -337
  268. package/src/core/utils.ts +227 -227
  269. package/src/env.d.ts +7 -7
  270. package/src/main-api/DynamicShaderController.ts +104 -104
  271. package/src/main-api/INode.ts +101 -101
  272. package/src/main-api/Inspector.ts +522 -522
  273. package/src/main-api/Renderer.ts +751 -751
  274. package/src/main-api/ShaderController.ts +80 -80
  275. package/src/main-api/utils.ts +45 -45
  276. package/src/utils.ts +248 -248
  277. package/dist/exports/core-api.d.ts +0 -74
  278. package/dist/exports/core-api.js +0 -96
  279. package/dist/exports/core-api.js.map +0 -1
  280. package/dist/exports/main-api.d.ts +0 -30
  281. package/dist/exports/main-api.js +0 -45
  282. package/dist/exports/main-api.js.map +0 -1
  283. package/dist/src/core/CoreExtension.d.ts +0 -12
  284. package/dist/src/core/CoreExtension.js +0 -29
  285. package/dist/src/core/CoreExtension.js.map +0 -1
  286. package/dist/src/main-api/ICoreDriver.d.ts +0 -24
  287. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  288. package/dist/src/main-api/RendererMain.d.ts +0 -378
  289. package/dist/src/main-api/RendererMain.js +0 -367
  290. package/dist/src/main-api/RendererMain.js.map +0 -1
  291. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  292. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  293. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  294. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  295. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  296. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  297. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  298. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  299. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
  300. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
  301. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  302. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
  303. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
  304. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  305. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  306. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
  307. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  308. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
  309. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
  310. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  311. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
  312. package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
  313. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  314. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  315. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
  316. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  317. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
  318. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
  319. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  320. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
  321. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
  322. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  323. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
  324. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
  325. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  326. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  327. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  328. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  329. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  330. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  331. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  332. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  333. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
  334. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  335. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  336. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
  337. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  338. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
  339. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
  340. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  341. package/dist/src/render-drivers/utils.d.ts +0 -12
  342. package/dist/src/render-drivers/utils.js +0 -74
  343. package/dist/src/render-drivers/utils.js.map +0 -1
  344. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1,115 +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
- import { assertTruthy } from '../../utils.js';
20
- import { MainOnlyNode, getNewId } from './MainOnlyNode.js';
21
- import { Stage, } from '../../core/Stage.js';
22
- import { MainOnlyTextNode } from './MainOnlyTextNode.js';
23
- import { loadCoreExtension } from '../utils.js';
24
- export class MainCoreDriver {
25
- root = null;
26
- stage = null;
27
- rendererMain = null;
28
- async init(rendererMain, rendererSettings, canvas) {
29
- this.stage = new Stage({
30
- rootId: getNewId(),
31
- appWidth: rendererSettings.appWidth,
32
- appHeight: rendererSettings.appHeight,
33
- txMemByteThreshold: rendererSettings.txMemByteThreshold,
34
- boundsMargin: rendererSettings.boundsMargin,
35
- deviceLogicalPixelRatio: rendererSettings.deviceLogicalPixelRatio,
36
- devicePhysicalPixelRatio: rendererSettings.devicePhysicalPixelRatio,
37
- clearColor: rendererSettings.clearColor,
38
- canvas,
39
- fpsUpdateInterval: rendererSettings.fpsUpdateInterval,
40
- enableContextSpy: rendererSettings.enableContextSpy,
41
- numImageWorkers: rendererSettings.numImageWorkers,
42
- renderMode: rendererSettings.renderMode,
43
- debug: {
44
- monitorTextureCache: false,
45
- },
46
- });
47
- this.rendererMain = rendererMain;
48
- assertTruthy(this.stage.root);
49
- const node = new MainOnlyNode(rendererMain.resolveNodeDefaults({}), this.rendererMain, this.stage, this.stage.root);
50
- this.root = node;
51
- node.once('beforeDestroy', this.onBeforeDestroyNode.bind(this, node));
52
- this.onCreateNode(node);
53
- // Load the Core Extension Module if one was specified.
54
- if (rendererSettings.coreExtensionModule) {
55
- await loadCoreExtension(rendererSettings.coreExtensionModule, this.stage);
56
- }
57
- // Forward fpsUpdate events from the stage to RendererMain
58
- this.stage.on('fpsUpdate', ((stage, fpsData) => {
59
- this.onFpsUpdate(fpsData);
60
- }));
61
- this.stage.on('frameTick', ((stage, frameTickData) => {
62
- this.onFrameTick(frameTickData);
63
- }));
64
- this.stage.on('idle', () => {
65
- this.onIdle();
66
- });
67
- }
68
- createNode(props) {
69
- assertTruthy(this.rendererMain);
70
- assertTruthy(this.stage);
71
- const node = new MainOnlyNode(props, this.rendererMain, this.stage);
72
- node.once('beforeDestroy', this.onBeforeDestroyNode.bind(this, node));
73
- this.onCreateNode(node);
74
- return node;
75
- }
76
- createTextNode(props) {
77
- assertTruthy(this.rendererMain);
78
- assertTruthy(this.stage);
79
- const node = new MainOnlyTextNode(props, this.rendererMain, this.stage);
80
- node.once('beforeDestroy', this.onBeforeDestroyNode.bind(this, node));
81
- this.onCreateNode(node);
82
- return node;
83
- }
84
- // TODO: Remove?
85
- destroyNode(node) {
86
- node.destroy();
87
- }
88
- releaseTexture(id) {
89
- const { stage } = this;
90
- assertTruthy(stage);
91
- stage.txManager.removeTextureIdFromCache(id);
92
- }
93
- getRootNode() {
94
- assertTruthy(this.root);
95
- return this.root;
96
- }
97
- //#region Event Methods
98
- // The implementations for these event methods are provided by RendererMain
99
- onCreateNode(node) {
100
- throw new Error('Method not implemented.');
101
- }
102
- onBeforeDestroyNode(node) {
103
- throw new Error('Method not implemented.');
104
- }
105
- onFpsUpdate(fpsData) {
106
- throw new Error('Method not implemented.');
107
- }
108
- onFrameTick(frameTickData) {
109
- throw new Error('Method not implemented.');
110
- }
111
- onIdle() {
112
- throw new Error('Method not implemented.');
113
- }
114
- }
115
- //# sourceMappingURL=MainCoreDriver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MainCoreDriver.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainCoreDriver.ts"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
1
- import type { CustomDataMap, INode, INodeAnimatableProps, INodeWritableProps } from '../../main-api/INode.js';
2
- import type { Stage } from '../../core/Stage.js';
3
- import type { IAnimationController } from '../../common/IAnimationController.js';
4
- import { CoreNode } from '../../core/CoreNode.js';
5
- import type { RendererMain, ShaderRef, TextureRef } from '../../main-api/RendererMain.js';
6
- import type { AnimationSettings } from '../../core/animations/CoreAnimation.js';
7
- import { EventEmitter } from '../../common/EventEmitter.js';
8
- export declare function getNewId(): number;
9
- export declare class MainOnlyNode extends EventEmitter implements INode {
10
- private rendererMain;
11
- private stage;
12
- readonly id: number;
13
- protected coreNode: CoreNode;
14
- protected _children: MainOnlyNode[];
15
- protected _src: string;
16
- protected _parent: MainOnlyNode | null;
17
- protected _texture: TextureRef | null;
18
- protected _shader: ShaderRef | null;
19
- protected _data: CustomDataMap | undefined;
20
- constructor(props: INodeWritableProps, rendererMain: RendererMain, stage: Stage, coreNode?: CoreNode);
21
- get x(): number;
22
- set x(value: number);
23
- get y(): number;
24
- set y(value: number);
25
- get width(): number;
26
- set width(value: number);
27
- get height(): number;
28
- set height(value: number);
29
- get alpha(): number;
30
- set alpha(value: number);
31
- get autosize(): boolean;
32
- set autosize(value: boolean);
33
- get clipping(): boolean;
34
- set clipping(value: boolean);
35
- get color(): number;
36
- set color(value: number);
37
- get colorTop(): number;
38
- set colorTop(value: number);
39
- get colorBottom(): number;
40
- set colorBottom(value: number);
41
- get colorLeft(): number;
42
- set colorLeft(value: number);
43
- get colorRight(): number;
44
- set colorRight(value: number);
45
- get colorTl(): number;
46
- set colorTl(value: number);
47
- get colorTr(): number;
48
- set colorTr(value: number);
49
- get colorBl(): number;
50
- set colorBl(value: number);
51
- get colorBr(): number;
52
- set colorBr(value: number);
53
- get scale(): number | null;
54
- set scale(value: number | null);
55
- get scaleX(): number;
56
- set scaleX(value: number);
57
- get scaleY(): number;
58
- set scaleY(value: number);
59
- get mount(): number;
60
- set mount(value: number);
61
- get mountX(): number;
62
- set mountX(value: number);
63
- get mountY(): number;
64
- set mountY(value: number);
65
- get pivot(): number;
66
- set pivot(value: number);
67
- get pivotX(): number;
68
- set pivotX(value: number);
69
- get pivotY(): number;
70
- set pivotY(value: number);
71
- get rotation(): number;
72
- set rotation(value: number);
73
- get parent(): MainOnlyNode | null;
74
- set parent(newParent: MainOnlyNode | null);
75
- get children(): MainOnlyNode[];
76
- get zIndex(): number;
77
- set zIndex(value: number);
78
- get zIndexLocked(): number;
79
- set zIndexLocked(value: number);
80
- get src(): string;
81
- set src(imageUrl: string);
82
- get texture(): TextureRef | null;
83
- set texture(texture: TextureRef | null);
84
- get rtt(): boolean;
85
- set rtt(value: boolean);
86
- get parentHasRenderTexture(): boolean;
87
- private onTextureLoaded;
88
- private onTextureFailed;
89
- private onTextureFreed;
90
- private onOutOfBounds;
91
- private onInBounds;
92
- private onOutOfViewport;
93
- private onInViewport;
94
- get shader(): ShaderRef | null;
95
- set shader(shader: ShaderRef | null);
96
- get data(): CustomDataMap | undefined;
97
- set data(d: CustomDataMap);
98
- destroy(): void;
99
- flush(): void;
100
- animate(props: Partial<INodeAnimatableProps>, settings: Partial<AnimationSettings>): IAnimationController;
101
- }
@@ -1,425 +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
- import { assertTruthy } from '../../utils.js';
20
- import { CoreAnimation } from '../../core/animations/CoreAnimation.js';
21
- import { CoreAnimationController } from '../../core/animations/CoreAnimationController.js';
22
- import { CoreNode } from '../../core/CoreNode.js';
23
- import { EventEmitter } from '../../common/EventEmitter.js';
24
- import { santizeCustomDataMap } from '../utils.js';
25
- let nextId = 1;
26
- export function getNewId() {
27
- return nextId++;
28
- }
29
- export class MainOnlyNode extends EventEmitter {
30
- rendererMain;
31
- stage;
32
- id;
33
- coreNode;
34
- // Prop stores
35
- _children = [];
36
- _src = '';
37
- _parent = null;
38
- _texture = null;
39
- _shader = null;
40
- _data = {};
41
- constructor(props, rendererMain, stage, coreNode) {
42
- super();
43
- this.rendererMain = rendererMain;
44
- this.stage = stage;
45
- this.id = coreNode?.id ?? getNewId();
46
- this.coreNode =
47
- coreNode ||
48
- new CoreNode(this.stage, {
49
- id: this.id,
50
- x: props.x,
51
- y: props.y,
52
- width: props.width,
53
- height: props.height,
54
- alpha: props.alpha,
55
- autosize: props.autosize,
56
- clipping: props.clipping,
57
- color: props.color,
58
- colorTop: props.colorTop,
59
- colorBottom: props.colorBottom,
60
- colorLeft: props.colorLeft,
61
- colorRight: props.colorRight,
62
- colorTl: props.colorTl,
63
- colorTr: props.colorTr,
64
- colorBl: props.colorBl,
65
- colorBr: props.colorBr,
66
- zIndex: props.zIndex,
67
- zIndexLocked: props.zIndexLocked,
68
- scaleX: props.scaleX,
69
- scaleY: props.scaleY,
70
- mountX: props.mountX,
71
- mountY: props.mountY,
72
- mount: props.mount,
73
- pivot: props.pivot,
74
- pivotX: props.pivotX,
75
- pivotY: props.pivotY,
76
- rotation: props.rotation,
77
- parent: null,
78
- shader: null,
79
- shaderProps: null,
80
- texture: null,
81
- textureOptions: null,
82
- rtt: props.rtt,
83
- });
84
- // Forward loaded/failed events
85
- this.coreNode.on('loaded', this.onTextureLoaded);
86
- this.coreNode.on('failed', this.onTextureFailed);
87
- this.coreNode.on('freed', this.onTextureFreed);
88
- this.coreNode.on('outOfBounds', this.onOutOfBounds);
89
- this.coreNode.on('inBounds', this.onInBounds);
90
- this.coreNode.on('outOfViewport', this.onOutOfViewport);
91
- this.coreNode.on('inViewport', this.onInViewport);
92
- // Assign properties to this object
93
- this.parent = props.parent;
94
- this.shader = props.shader;
95
- this.texture = props.texture;
96
- this.src = props.src;
97
- this.rtt = props.rtt;
98
- this._data = props.data;
99
- }
100
- get x() {
101
- return this.coreNode.x;
102
- }
103
- set x(value) {
104
- this.coreNode.x = value;
105
- }
106
- get y() {
107
- return this.coreNode.y;
108
- }
109
- set y(value) {
110
- this.coreNode.y = value;
111
- }
112
- get width() {
113
- return this.coreNode.width;
114
- }
115
- set width(value) {
116
- if (value !== this.coreNode.width && this.coreNode.rtt) {
117
- this.texture = this.rendererMain.createTexture('RenderTexture', {
118
- width: this.width,
119
- height: this.height,
120
- }, { preload: true, flipY: true });
121
- }
122
- this.coreNode.width = value;
123
- }
124
- get height() {
125
- return this.coreNode.height;
126
- }
127
- set height(value) {
128
- if (value !== this.coreNode.height && this.coreNode.rtt) {
129
- this.texture = this.rendererMain.createTexture('RenderTexture', {
130
- width: this.width,
131
- height: this.height,
132
- }, { preload: true, flipY: true });
133
- }
134
- this.coreNode.height = value;
135
- }
136
- get alpha() {
137
- return this.coreNode.alpha;
138
- }
139
- set alpha(value) {
140
- this.coreNode.alpha = value;
141
- }
142
- get autosize() {
143
- return this.coreNode.autosize;
144
- }
145
- set autosize(value) {
146
- this.coreNode.autosize = value;
147
- }
148
- get clipping() {
149
- return this.coreNode.clipping;
150
- }
151
- set clipping(value) {
152
- this.coreNode.clipping = value;
153
- }
154
- get color() {
155
- return this.coreNode.color;
156
- }
157
- set color(value) {
158
- this.coreNode.color = value;
159
- }
160
- get colorTop() {
161
- return this.coreNode.colorTop;
162
- }
163
- set colorTop(value) {
164
- this.coreNode.colorTop = value;
165
- }
166
- get colorBottom() {
167
- return this.coreNode.colorBottom;
168
- }
169
- set colorBottom(value) {
170
- this.coreNode.colorBottom = value;
171
- }
172
- get colorLeft() {
173
- return this.coreNode.colorLeft;
174
- }
175
- set colorLeft(value) {
176
- this.coreNode.colorLeft = value;
177
- }
178
- get colorRight() {
179
- return this.coreNode.colorRight;
180
- }
181
- set colorRight(value) {
182
- this.coreNode.colorRight = value;
183
- }
184
- get colorTl() {
185
- return this.coreNode.colorTl;
186
- }
187
- set colorTl(value) {
188
- this.coreNode.colorTl = value;
189
- }
190
- get colorTr() {
191
- return this.coreNode.colorTr;
192
- }
193
- set colorTr(value) {
194
- this.coreNode.colorTr = value;
195
- }
196
- get colorBl() {
197
- return this.coreNode.colorBl;
198
- }
199
- set colorBl(value) {
200
- this.coreNode.colorBl = value;
201
- }
202
- get colorBr() {
203
- return this.coreNode.colorBr;
204
- }
205
- set colorBr(value) {
206
- this.coreNode.colorBr = value;
207
- }
208
- get scale() {
209
- if (this.scaleX !== this.scaleY) {
210
- return null;
211
- }
212
- return this.coreNode.scaleX;
213
- }
214
- set scale(value) {
215
- // We ignore `null` when it's set.
216
- if (value === null) {
217
- return;
218
- }
219
- this.coreNode.scaleX = value;
220
- this.coreNode.scaleY = value;
221
- }
222
- get scaleX() {
223
- return this.coreNode.scaleX;
224
- }
225
- set scaleX(value) {
226
- this.coreNode.scaleX = value;
227
- }
228
- get scaleY() {
229
- return this.coreNode.scaleY;
230
- }
231
- set scaleY(value) {
232
- this.coreNode.scaleY = value;
233
- }
234
- get mount() {
235
- return this.coreNode.mount;
236
- }
237
- set mount(value) {
238
- this.coreNode.mount = value;
239
- }
240
- get mountX() {
241
- return this.coreNode.mountX;
242
- }
243
- set mountX(value) {
244
- this.coreNode.mountX = value;
245
- }
246
- get mountY() {
247
- return this.coreNode.mountY;
248
- }
249
- set mountY(value) {
250
- this.coreNode.mountY = value;
251
- }
252
- get pivot() {
253
- return this.coreNode.pivot;
254
- }
255
- set pivot(value) {
256
- this.coreNode.pivot = value;
257
- }
258
- get pivotX() {
259
- return this.coreNode.pivotX;
260
- }
261
- set pivotX(value) {
262
- this.coreNode.pivotX = value;
263
- }
264
- get pivotY() {
265
- return this.coreNode.pivotY;
266
- }
267
- set pivotY(value) {
268
- this.coreNode.pivotY = value;
269
- }
270
- get rotation() {
271
- return this.coreNode.rotation;
272
- }
273
- set rotation(value) {
274
- this.coreNode.rotation = value;
275
- }
276
- get parent() {
277
- return this._parent;
278
- }
279
- set parent(newParent) {
280
- const oldParent = this._parent;
281
- this._parent = newParent;
282
- this.coreNode.parent = newParent?.coreNode ?? null;
283
- if (oldParent) {
284
- const index = oldParent.children.indexOf(this);
285
- assertTruthy(index !== -1, "MainOnlyNode.parent: Node not found in old parent's children!");
286
- oldParent.children.splice(index, 1);
287
- }
288
- if (newParent) {
289
- newParent.children.push(this);
290
- }
291
- }
292
- get children() {
293
- return this._children;
294
- }
295
- get zIndex() {
296
- return this.coreNode.zIndex;
297
- }
298
- set zIndex(value) {
299
- this.coreNode.zIndex = value;
300
- }
301
- get zIndexLocked() {
302
- return this.coreNode.zIndexLocked;
303
- }
304
- set zIndexLocked(value) {
305
- this.coreNode.zIndexLocked = value;
306
- }
307
- get src() {
308
- return this._src;
309
- }
310
- set src(imageUrl) {
311
- if (this._src === imageUrl) {
312
- return;
313
- }
314
- this._src = imageUrl;
315
- if (!imageUrl) {
316
- this.texture = null;
317
- return;
318
- }
319
- this.texture = this.rendererMain.createTexture('ImageTexture', {
320
- src: imageUrl,
321
- });
322
- }
323
- //#region Texture
324
- get texture() {
325
- return this._texture;
326
- }
327
- set texture(texture) {
328
- if (this._texture === texture) {
329
- return;
330
- }
331
- if (this._texture) {
332
- this.rendererMain.textureTracker.decrementTextureRefCount(this._texture);
333
- }
334
- if (texture) {
335
- this.rendererMain.textureTracker.incrementTextureRefCount(texture);
336
- }
337
- this._texture = texture;
338
- if (texture) {
339
- this.coreNode.loadTexture(texture.txType, texture.props, texture.options);
340
- }
341
- else {
342
- this.coreNode.unloadTexture();
343
- }
344
- }
345
- get rtt() {
346
- return this.coreNode.rtt;
347
- }
348
- set rtt(value) {
349
- if (value) {
350
- this.texture = this.rendererMain.createTexture('RenderTexture', {
351
- width: this.width,
352
- height: this.height,
353
- }, { preload: true, flipY: true });
354
- }
355
- this.coreNode.rtt = value;
356
- }
357
- get parentHasRenderTexture() {
358
- return this.coreNode.parentHasRenderTexture;
359
- }
360
- onTextureLoaded = (target, payload) => {
361
- this.emit('loaded', payload);
362
- };
363
- onTextureFailed = (target, payload) => {
364
- this.emit('failed', payload);
365
- };
366
- onTextureFreed = (target, payload) => {
367
- this.emit('freed', payload);
368
- };
369
- onOutOfBounds = (target, payload) => {
370
- this.emit('outOfBounds', payload);
371
- };
372
- onInBounds = (target, payload) => {
373
- this.emit('inBounds', payload);
374
- };
375
- onOutOfViewport = (target, payload) => {
376
- this.emit('outOfViewport', payload);
377
- };
378
- onInViewport = (target, payload) => {
379
- this.emit('inViewport', payload);
380
- };
381
- //#endregion Texture
382
- get shader() {
383
- return this._shader;
384
- }
385
- set shader(shader) {
386
- if (this._shader === shader) {
387
- return;
388
- }
389
- this._shader = shader;
390
- if (shader) {
391
- this.coreNode.loadShader(shader.shType, shader.props);
392
- }
393
- }
394
- get data() {
395
- return this._data;
396
- }
397
- set data(d) {
398
- this._data = santizeCustomDataMap(d);
399
- }
400
- destroy() {
401
- this.emit('beforeDestroy', {});
402
- //use while loop since setting parent to null removes it from array
403
- let child = this.children[0];
404
- while (child) {
405
- child.destroy();
406
- child = this.children[0];
407
- }
408
- this.coreNode.destroy();
409
- this.parent = null;
410
- this.texture = null;
411
- this.emit('afterDestroy', {});
412
- this.removeAllListeners();
413
- }
414
- flush() {
415
- // No-op
416
- }
417
- animate(props, settings) {
418
- const animation = new CoreAnimation(this.coreNode, props, settings);
419
- // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment, @typescript-eslint/no-unsafe-call
420
- const controller = new CoreAnimationController(this.stage.animationManager, animation);
421
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return
422
- return controller;
423
- }
424
- }
425
- //# sourceMappingURL=MainOnlyNode.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"MainOnlyNode.js","sourceRoot":"","sources":["../../../../src/render-drivers/main/MainOnlyNode.ts"],"names":[],"mappings":"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"}