@lightningtv/renderer 2.16.1

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 (582) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +3 -0
  3. package/README.md +147 -0
  4. package/dist/exports/canvas-shaders.d.ts +10 -0
  5. package/dist/exports/canvas-shaders.js +27 -0
  6. package/dist/exports/canvas-shaders.js.map +1 -0
  7. package/dist/exports/canvas.d.ts +20 -0
  8. package/dist/exports/canvas.js +39 -0
  9. package/dist/exports/canvas.js.map +1 -0
  10. package/dist/exports/index.d.ts +45 -0
  11. package/dist/exports/index.js +58 -0
  12. package/dist/exports/index.js.map +1 -0
  13. package/dist/exports/inspector.d.ts +4 -0
  14. package/dist/exports/inspector.js +23 -0
  15. package/dist/exports/inspector.js.map +1 -0
  16. package/dist/exports/utils.d.ts +26 -0
  17. package/dist/exports/utils.js +45 -0
  18. package/dist/exports/utils.js.map +1 -0
  19. package/dist/exports/webgl-shaders.d.ts +11 -0
  20. package/dist/exports/webgl-shaders.js +28 -0
  21. package/dist/exports/webgl-shaders.js.map +1 -0
  22. package/dist/exports/webgl.d.ts +19 -0
  23. package/dist/exports/webgl.js +38 -0
  24. package/dist/exports/webgl.js.map +1 -0
  25. package/dist/src/common/CommonTypes.d.ts +97 -0
  26. package/dist/src/common/CommonTypes.js +20 -0
  27. package/dist/src/common/CommonTypes.js.map +1 -0
  28. package/dist/src/common/EventEmitter.d.ts +12 -0
  29. package/dist/src/common/EventEmitter.js +66 -0
  30. package/dist/src/common/EventEmitter.js.map +1 -0
  31. package/dist/src/common/IAnimationController.d.ts +66 -0
  32. package/dist/src/common/IAnimationController.js +2 -0
  33. package/dist/src/common/IAnimationController.js.map +1 -0
  34. package/dist/src/common/IEventEmitter.d.ts +8 -0
  35. package/dist/src/common/IEventEmitter.js +18 -0
  36. package/dist/src/common/IEventEmitter.js.map +1 -0
  37. package/dist/src/core/CoreNode.d.ts +865 -0
  38. package/dist/src/core/CoreNode.js +1532 -0
  39. package/dist/src/core/CoreNode.js.map +1 -0
  40. package/dist/src/core/CoreShaderManager.d.ts +82 -0
  41. package/dist/src/core/CoreShaderManager.js +128 -0
  42. package/dist/src/core/CoreShaderManager.js.map +1 -0
  43. package/dist/src/core/CoreTextNode.d.ts +103 -0
  44. package/dist/src/core/CoreTextNode.js +331 -0
  45. package/dist/src/core/CoreTextNode.js.map +1 -0
  46. package/dist/src/core/CoreTextureManager.d.ts +249 -0
  47. package/dist/src/core/CoreTextureManager.js +362 -0
  48. package/dist/src/core/CoreTextureManager.js.map +1 -0
  49. package/dist/src/core/Stage.d.ts +210 -0
  50. package/dist/src/core/Stage.js +636 -0
  51. package/dist/src/core/Stage.js.map +1 -0
  52. package/dist/src/core/TextureMemoryManager.d.ts +149 -0
  53. package/dist/src/core/TextureMemoryManager.js +271 -0
  54. package/dist/src/core/TextureMemoryManager.js.map +1 -0
  55. package/dist/src/core/animations/AnimationManager.d.ts +7 -0
  56. package/dist/src/core/animations/AnimationManager.js +34 -0
  57. package/dist/src/core/animations/AnimationManager.js.map +1 -0
  58. package/dist/src/core/animations/CoreAnimation.d.ts +38 -0
  59. package/dist/src/core/animations/CoreAnimation.js +261 -0
  60. package/dist/src/core/animations/CoreAnimation.js.map +1 -0
  61. package/dist/src/core/animations/CoreAnimationController.d.ts +27 -0
  62. package/dist/src/core/animations/CoreAnimationController.js +133 -0
  63. package/dist/src/core/animations/CoreAnimationController.js.map +1 -0
  64. package/dist/src/core/animations/SimpleAnimation.d.ts +28 -0
  65. package/dist/src/core/animations/SimpleAnimation.js +96 -0
  66. package/dist/src/core/animations/SimpleAnimation.js.map +1 -0
  67. package/dist/src/core/lib/ContextSpy.d.ts +12 -0
  68. package/dist/src/core/lib/ContextSpy.js +38 -0
  69. package/dist/src/core/lib/ContextSpy.js.map +1 -0
  70. package/dist/src/core/lib/ImageWorker.d.ts +16 -0
  71. package/dist/src/core/lib/ImageWorker.js +201 -0
  72. package/dist/src/core/lib/ImageWorker.js.map +1 -0
  73. package/dist/src/core/lib/Matrix3d.d.ts +73 -0
  74. package/dist/src/core/lib/Matrix3d.js +230 -0
  75. package/dist/src/core/lib/Matrix3d.js.map +1 -0
  76. package/dist/src/core/lib/RenderCoords.d.ts +13 -0
  77. package/dist/src/core/lib/RenderCoords.js +63 -0
  78. package/dist/src/core/lib/RenderCoords.js.map +1 -0
  79. package/dist/src/core/lib/WebGlContextWrapper.d.ts +694 -0
  80. package/dist/src/core/lib/WebGlContextWrapper.js +1049 -0
  81. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -0
  82. package/dist/src/core/lib/textureCompression.d.ts +16 -0
  83. package/dist/src/core/lib/textureCompression.js +129 -0
  84. package/dist/src/core/lib/textureCompression.js.map +1 -0
  85. package/dist/src/core/lib/textureSvg.d.ts +16 -0
  86. package/dist/src/core/lib/textureSvg.js +63 -0
  87. package/dist/src/core/lib/textureSvg.js.map +1 -0
  88. package/dist/src/core/lib/utils.d.ts +60 -0
  89. package/dist/src/core/lib/utils.js +267 -0
  90. package/dist/src/core/lib/utils.js.map +1 -0
  91. package/dist/src/core/lib/validateImageBitmap.d.ts +6 -0
  92. package/dist/src/core/lib/validateImageBitmap.js +68 -0
  93. package/dist/src/core/lib/validateImageBitmap.js.map +1 -0
  94. package/dist/src/core/platform.d.ts +10 -0
  95. package/dist/src/core/platform.js +81 -0
  96. package/dist/src/core/platform.js.map +1 -0
  97. package/dist/src/core/platforms/Platform.d.ts +37 -0
  98. package/dist/src/core/platforms/Platform.js +22 -0
  99. package/dist/src/core/platforms/Platform.js.map +1 -0
  100. package/dist/src/core/platforms/web/WebPlatform.d.ts +9 -0
  101. package/dist/src/core/platforms/web/WebPlatform.js +58 -0
  102. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
  103. package/dist/src/core/renderers/CoreContextTexture.d.ts +12 -0
  104. package/dist/src/core/renderers/CoreContextTexture.js +34 -0
  105. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -0
  106. package/dist/src/core/renderers/CoreRenderOp.d.ts +3 -0
  107. package/dist/src/core/renderers/CoreRenderOp.js +21 -0
  108. package/dist/src/core/renderers/CoreRenderOp.js.map +1 -0
  109. package/dist/src/core/renderers/CoreRenderer.d.ts +78 -0
  110. package/dist/src/core/renderers/CoreRenderer.js +37 -0
  111. package/dist/src/core/renderers/CoreRenderer.js.map +1 -0
  112. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  113. package/dist/src/core/renderers/CoreShader.js +28 -0
  114. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  115. package/dist/src/core/renderers/CoreShaderNode.d.ts +59 -0
  116. package/dist/src/core/renderers/CoreShaderNode.js +113 -0
  117. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  118. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  119. package/dist/src/core/renderers/CoreShaderProgram.js +20 -0
  120. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  121. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  122. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  123. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  124. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +16 -0
  125. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +124 -0
  126. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  127. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +37 -0
  128. package/dist/src/core/renderers/canvas/CanvasRenderer.js +215 -0
  129. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  130. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  131. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +57 -0
  132. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  133. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +16 -0
  134. package/dist/src/core/renderers/canvas/CanvasTexture.js +124 -0
  135. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  136. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +14 -0
  137. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +138 -0
  138. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -0
  139. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +19 -0
  140. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +58 -0
  141. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -0
  142. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  143. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js +43 -0
  144. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  145. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  146. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  147. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  148. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  149. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  150. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  151. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +56 -0
  152. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +239 -0
  153. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  154. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  155. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  156. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  157. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  158. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +616 -0
  159. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  160. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +83 -0
  161. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +233 -0
  162. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  163. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +12 -0
  164. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +55 -0
  165. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  166. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +9 -0
  167. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +38 -0
  168. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  169. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +57 -0
  170. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +224 -0
  171. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  172. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +44 -0
  173. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +118 -0
  174. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -0
  175. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +136 -0
  176. package/dist/src/core/renderers/webgl/WebGlRenderer.js +573 -0
  177. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  178. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +222 -0
  179. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +331 -0
  180. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  181. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +37 -0
  182. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +219 -0
  183. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  184. package/dist/src/core/renderers/webgl/internal/BufferCollection.d.ts +27 -0
  185. package/dist/src/core/renderers/webgl/internal/BufferCollection.js +48 -0
  186. package/dist/src/core/renderers/webgl/internal/BufferCollection.js.map +1 -0
  187. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +55 -0
  188. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +106 -0
  189. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -0
  190. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +47 -0
  191. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +51 -0
  192. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -0
  193. package/dist/src/core/renderers/webgl/internal/WebGlUtils.d.ts +10 -0
  194. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +31 -0
  195. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js.map +1 -0
  196. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  197. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +87 -0
  198. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  199. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  200. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +119 -0
  201. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  202. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  203. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +413 -0
  204. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  205. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  206. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +131 -0
  207. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  208. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  209. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +160 -0
  210. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  211. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  212. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  213. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  214. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  215. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  216. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  217. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  218. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  219. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  220. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  221. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  222. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  223. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  224. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  225. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  226. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  227. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  228. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  229. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  230. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  231. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  232. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  233. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  234. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  235. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  236. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  237. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  238. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  239. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  240. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  241. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  242. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +129 -0
  243. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  244. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +39 -0
  245. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +116 -0
  246. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  247. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  248. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  249. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  250. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  251. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  252. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  253. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  254. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  255. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  256. package/dist/src/core/shaders/canvas/Border.d.ts +9 -0
  257. package/dist/src/core/shaders/canvas/Border.js +57 -0
  258. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  259. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  260. package/dist/src/core/shaders/canvas/HolePunch.js +38 -0
  261. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  262. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  263. package/dist/src/core/shaders/canvas/LinearGradient.js +48 -0
  264. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  265. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  266. package/dist/src/core/shaders/canvas/RadialGradient.js +70 -0
  267. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  268. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  269. package/dist/src/core/shaders/canvas/Rounded.js +33 -0
  270. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  271. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +7 -0
  272. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +43 -0
  273. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  274. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +8 -0
  275. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +41 -0
  276. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  277. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  278. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +40 -0
  279. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  280. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  281. package/dist/src/core/shaders/canvas/Shadow.js +31 -0
  282. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  283. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  284. package/dist/src/core/shaders/canvas/utils/render.js +84 -0
  285. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  286. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +38 -0
  287. package/dist/src/core/shaders/templates/BorderTemplate.js +73 -0
  288. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  289. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  290. package/dist/src/core/shaders/templates/HolePunchTemplate.js +35 -0
  291. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  292. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  293. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +47 -0
  294. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  295. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +31 -0
  296. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +49 -0
  297. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  298. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  299. package/dist/src/core/shaders/templates/RoundedTemplate.js +67 -0
  300. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  301. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  302. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +24 -0
  303. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  304. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +9 -0
  305. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +23 -0
  306. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  307. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  308. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +23 -0
  309. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  310. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  311. package/dist/src/core/shaders/templates/ShadowTemplate.js +66 -0
  312. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  313. package/dist/src/core/shaders/templates/shaderUtils.d.ts +5 -0
  314. package/dist/src/core/shaders/templates/shaderUtils.js +41 -0
  315. package/dist/src/core/shaders/templates/shaderUtils.js.map +1 -0
  316. package/dist/src/core/shaders/utils.d.ts +5 -0
  317. package/dist/src/core/shaders/utils.js +41 -0
  318. package/dist/src/core/shaders/utils.js.map +1 -0
  319. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  320. package/dist/src/core/shaders/webgl/Border.js +110 -0
  321. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  322. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  323. package/dist/src/core/shaders/webgl/Default.js +86 -0
  324. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  325. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +2 -0
  326. package/dist/src/core/shaders/webgl/DefaultBatched.js +104 -0
  327. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +1 -0
  328. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  329. package/dist/src/core/shaders/webgl/HolePunch.js +65 -0
  330. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  331. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  332. package/dist/src/core/shaders/webgl/LinearGradient.js +76 -0
  333. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  334. package/dist/src/core/shaders/webgl/Magnifier.d.ts +46 -0
  335. package/dist/src/core/shaders/webgl/Magnifier.js +107 -0
  336. package/dist/src/core/shaders/webgl/Magnifier.js.map +1 -0
  337. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  338. package/dist/src/core/shaders/webgl/RadialGradient.js +74 -0
  339. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  340. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  341. package/dist/src/core/shaders/webgl/Rounded.js +86 -0
  342. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  343. package/dist/src/core/shaders/webgl/RoundedWithBorder copy.d.ts +3 -0
  344. package/dist/src/core/shaders/webgl/RoundedWithBorder copy.js +218 -0
  345. package/dist/src/core/shaders/webgl/RoundedWithBorder copy.js.map +1 -0
  346. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  347. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +140 -0
  348. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  349. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  350. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +162 -0
  351. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  352. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  353. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +84 -0
  354. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  355. package/dist/src/core/shaders/webgl/SdfShader.d.ts +32 -0
  356. package/dist/src/core/shaders/webgl/SdfShader.js +116 -0
  357. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  358. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  359. package/dist/src/core/shaders/webgl/Shadow.js +110 -0
  360. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  361. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +12 -0
  362. package/dist/src/core/text-rendering/TextRenderingUtils.js +14 -0
  363. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +1 -0
  364. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +72 -0
  365. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +217 -0
  366. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -0
  367. package/dist/src/core/text-rendering/TrFontManager.d.ts +26 -0
  368. package/dist/src/core/text-rendering/TrFontManager.js +131 -0
  369. package/dist/src/core/text-rendering/TrFontManager.js.map +1 -0
  370. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +39 -0
  371. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +125 -0
  372. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -0
  373. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +103 -0
  374. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +21 -0
  375. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +1 -0
  376. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +62 -0
  377. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +88 -0
  378. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +1 -0
  379. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +118 -0
  380. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +63 -0
  381. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +1 -0
  382. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +14 -0
  383. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +66 -0
  384. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +1 -0
  385. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +1 -0
  386. package/dist/src/core/text-rendering/font-face-types/utils.js +38 -0
  387. package/dist/src/core/text-rendering/font-face-types/utils.js.map +1 -0
  388. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +59 -0
  389. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +397 -0
  390. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -0
  391. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +120 -0
  392. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +551 -0
  393. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -0
  394. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +92 -0
  395. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +607 -0
  396. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -0
  397. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +12 -0
  398. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +61 -0
  399. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +1 -0
  400. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +33 -0
  401. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +52 -0
  402. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +1 -0
  403. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +13 -0
  404. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +32 -0
  405. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +1 -0
  406. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +23 -0
  407. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +84 -0
  408. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +1 -0
  409. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +4 -0
  410. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +34 -0
  411. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +1 -0
  412. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +20 -0
  413. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +308 -0
  414. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -0
  415. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +10 -0
  416. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +40 -0
  417. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +1 -0
  418. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +26 -0
  419. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +70 -0
  420. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +1 -0
  421. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +16 -0
  422. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +39 -0
  423. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +1 -0
  424. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +373 -0
  425. package/dist/src/core/text-rendering/renderers/TextRenderer.js +178 -0
  426. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -0
  427. package/dist/src/core/textures/ColorTexture.d.ts +36 -0
  428. package/dist/src/core/textures/ColorTexture.js +76 -0
  429. package/dist/src/core/textures/ColorTexture.js.map +1 -0
  430. package/dist/src/core/textures/ImageTexture.d.ts +124 -0
  431. package/dist/src/core/textures/ImageTexture.js +240 -0
  432. package/dist/src/core/textures/ImageTexture.js.map +1 -0
  433. package/dist/src/core/textures/NoiseTexture.d.ts +43 -0
  434. package/dist/src/core/textures/NoiseTexture.js +68 -0
  435. package/dist/src/core/textures/NoiseTexture.js.map +1 -0
  436. package/dist/src/core/textures/RenderTexture.d.ts +29 -0
  437. package/dist/src/core/textures/RenderTexture.js +54 -0
  438. package/dist/src/core/textures/RenderTexture.js.map +1 -0
  439. package/dist/src/core/textures/SubTexture.d.ts +63 -0
  440. package/dist/src/core/textures/SubTexture.js +135 -0
  441. package/dist/src/core/textures/SubTexture.js.map +1 -0
  442. package/dist/src/core/textures/Texture.d.ts +211 -0
  443. package/dist/src/core/textures/Texture.js +232 -0
  444. package/dist/src/core/textures/Texture.js.map +1 -0
  445. package/dist/src/core/utils.d.ts +22 -0
  446. package/dist/src/core/utils.js +173 -0
  447. package/dist/src/core/utils.js.map +1 -0
  448. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  449. package/dist/src/main-api/DynamicShaderController.js +58 -0
  450. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  451. package/dist/src/main-api/INode.d.ts +63 -0
  452. package/dist/src/main-api/INode.js +2 -0
  453. package/dist/src/main-api/INode.js.map +1 -0
  454. package/dist/src/main-api/Inspector.d.ts +21 -0
  455. package/dist/src/main-api/Inspector.js +376 -0
  456. package/dist/src/main-api/Inspector.js.map +1 -0
  457. package/dist/src/main-api/Renderer.d.ts +543 -0
  458. package/dist/src/main-api/Renderer.js +431 -0
  459. package/dist/src/main-api/Renderer.js.map +1 -0
  460. package/dist/src/main-api/ShaderController.d.ts +31 -0
  461. package/dist/src/main-api/ShaderController.js +37 -0
  462. package/dist/src/main-api/ShaderController.js.map +1 -0
  463. package/dist/src/main-api/utils.d.ts +2 -0
  464. package/dist/src/main-api/utils.js +34 -0
  465. package/dist/src/main-api/utils.js.map +1 -0
  466. package/dist/src/utils.d.ts +104 -0
  467. package/dist/src/utils.js +211 -0
  468. package/dist/src/utils.js.map +1 -0
  469. package/dist/tsconfig.dist.tsbuildinfo +1 -0
  470. package/dist/tsconfig.tsbuildinfo +1 -0
  471. package/exports/canvas.ts +39 -0
  472. package/exports/index.ts +89 -0
  473. package/exports/inspector.ts +24 -0
  474. package/exports/utils.ts +44 -0
  475. package/exports/webgl.ts +38 -0
  476. package/package.json +91 -0
  477. package/scripts/please-use-pnpm.js +13 -0
  478. package/src/common/CommonTypes.ts +146 -0
  479. package/src/common/EventEmitter.ts +77 -0
  480. package/src/common/IAnimationController.ts +92 -0
  481. package/src/common/IEventEmitter.ts +28 -0
  482. package/src/core/CoreNode.test.ts +202 -0
  483. package/src/core/CoreNode.ts +2487 -0
  484. package/src/core/CoreShaderManager.ts +292 -0
  485. package/src/core/CoreTextNode.ts +455 -0
  486. package/src/core/CoreTextureManager.ts +561 -0
  487. package/src/core/Stage.ts +826 -0
  488. package/src/core/TextureMemoryManager.ts +414 -0
  489. package/src/core/animations/AnimationManager.ts +38 -0
  490. package/src/core/animations/CoreAnimation.ts +347 -0
  491. package/src/core/animations/CoreAnimationController.ts +166 -0
  492. package/src/core/lib/ContextSpy.ts +41 -0
  493. package/src/core/lib/ImageWorker.ts +280 -0
  494. package/src/core/lib/Matrix3d.ts +244 -0
  495. package/src/core/lib/RenderCoords.ts +86 -0
  496. package/src/core/lib/WebGlContextWrapper.ts +1332 -0
  497. package/src/core/lib/textureCompression.ts +152 -0
  498. package/src/core/lib/textureSvg.ts +78 -0
  499. package/src/core/lib/utils.ts +388 -0
  500. package/src/core/lib/validateImageBitmap.ts +76 -0
  501. package/src/core/platform.ts +100 -0
  502. package/src/core/renderers/CoreContextTexture.ts +43 -0
  503. package/src/core/renderers/CoreRenderOp.ts +22 -0
  504. package/src/core/renderers/CoreRenderer.ts +115 -0
  505. package/src/core/renderers/CoreShader.ts +41 -0
  506. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -0
  507. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -0
  508. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -0
  509. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -0
  510. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -0
  511. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +91 -0
  512. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -0
  513. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +313 -0
  514. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -0
  515. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +821 -0
  516. package/src/core/renderers/webgl/WebGlCoreShader.ts +365 -0
  517. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -0
  518. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -0
  519. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -0
  520. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -0
  521. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -0
  522. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -0
  523. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -0
  524. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -0
  525. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -0
  526. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -0
  527. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -0
  528. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -0
  529. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -0
  530. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -0
  531. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -0
  532. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -0
  533. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -0
  534. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -0
  535. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -0
  536. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -0
  537. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -0
  538. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -0
  539. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -0
  540. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -0
  541. package/src/core/text-rendering/TextRenderingUtils.ts +36 -0
  542. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -0
  543. package/src/core/text-rendering/TrFontManager.ts +183 -0
  544. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -0
  545. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -0
  546. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -0
  547. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -0
  548. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -0
  549. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -0
  550. package/src/core/text-rendering/font-face-types/utils.ts +39 -0
  551. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -0
  552. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -0
  553. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -0
  554. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -0
  555. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -0
  556. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -0
  557. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -0
  558. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -0
  559. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -0
  560. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -0
  561. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -0
  562. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -0
  563. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -0
  564. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -0
  565. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -0
  566. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -0
  567. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -0
  568. package/src/core/textures/ColorTexture.ts +102 -0
  569. package/src/core/textures/ImageTexture.ts +400 -0
  570. package/src/core/textures/NoiseTexture.ts +104 -0
  571. package/src/core/textures/RenderTexture.ts +85 -0
  572. package/src/core/textures/SubTexture.ts +205 -0
  573. package/src/core/textures/Texture.ts +376 -0
  574. package/src/core/utils.ts +227 -0
  575. package/src/env.d.ts +7 -0
  576. package/src/main-api/DynamicShaderController.ts +104 -0
  577. package/src/main-api/INode.ts +101 -0
  578. package/src/main-api/Inspector.ts +522 -0
  579. package/src/main-api/Renderer.ts +807 -0
  580. package/src/main-api/ShaderController.ts +80 -0
  581. package/src/main-api/utils.ts +45 -0
  582. package/src/utils.ts +248 -0
@@ -0,0 +1,865 @@
1
+ import type { TextureOptions } from './CoreTextureManager.js';
2
+ import type { CoreRenderer } from './renderers/CoreRenderer.js';
3
+ import type { Stage } from './Stage.js';
4
+ import { type Texture } from './textures/Texture.js';
5
+ import type { Dimensions } from '../common/CommonTypes.js';
6
+ import { EventEmitter } from '../common/EventEmitter.js';
7
+ import { type Bound, type RectWithValid } from './lib/utils.js';
8
+ import { Matrix3d } from './lib/Matrix3d.js';
9
+ import { RenderCoords } from './lib/RenderCoords.js';
10
+ import type { AnimationSettings } from './animations/CoreAnimation.js';
11
+ import type { IAnimationController } from '../common/IAnimationController.js';
12
+ import type { BaseShaderController } from '../main-api/ShaderController.js';
13
+ export declare enum CoreNodeRenderState {
14
+ Init = 0,
15
+ OutOfBounds = 2,
16
+ InBounds = 4,
17
+ InViewport = 8
18
+ }
19
+ export declare enum UpdateType {
20
+ /**
21
+ * Child updates
22
+ */
23
+ Children = 1,
24
+ /**
25
+ * Scale/Rotate transform update
26
+ *
27
+ * @remarks
28
+ * CoreNode Properties Updated:
29
+ * - `scaleRotateTransform`
30
+ */
31
+ ScaleRotate = 2,
32
+ /**
33
+ * Translate transform update (x/y/width/height/pivot/mount)
34
+ *
35
+ * @remarks
36
+ * CoreNode Properties Updated:
37
+ * - `localTransform`
38
+ */
39
+ Local = 4,
40
+ /**
41
+ * Global Transform update
42
+ *
43
+ * @remarks
44
+ * CoreNode Properties Updated:
45
+ * - `globalTransform`
46
+ * - `renderCoords`
47
+ * - `renderBound`
48
+ */
49
+ Global = 8,
50
+ /**
51
+ * Clipping rect update
52
+ *
53
+ * @remarks
54
+ * CoreNode Properties Updated:
55
+ * - `clippingRect`
56
+ */
57
+ Clipping = 16,
58
+ /**
59
+ * Calculated ZIndex update
60
+ *
61
+ * @remarks
62
+ * CoreNode Properties Updated:
63
+ * - `calcZIndex`
64
+ */
65
+ CalculatedZIndex = 32,
66
+ /**
67
+ * Z-Index Sorted Children update
68
+ *
69
+ * @remarks
70
+ * CoreNode Properties Updated:
71
+ * - `children` (sorts children by their `calcZIndex`)
72
+ */
73
+ ZIndexSortedChildren = 64,
74
+ /**
75
+ * Premultiplied Colors update
76
+ *
77
+ * @remarks
78
+ * CoreNode Properties Updated:
79
+ * - `premultipliedColorTl`
80
+ * - `premultipliedColorTr`
81
+ * - `premultipliedColorBl`
82
+ * - `premultipliedColorBr`
83
+ */
84
+ PremultipliedColors = 128,
85
+ /**
86
+ * World Alpha update
87
+ *
88
+ * @remarks
89
+ * CoreNode Properties Updated:
90
+ * - `worldAlpha` = `parent.worldAlpha` * `alpha`
91
+ */
92
+ WorldAlpha = 256,
93
+ /**
94
+ * Render State update
95
+ *
96
+ * @remarks
97
+ * CoreNode Properties Updated:
98
+ * - `renderState`
99
+ */
100
+ RenderState = 512,
101
+ /**
102
+ * Is Renderable update
103
+ *
104
+ * @remarks
105
+ * CoreNode Properties Updated:
106
+ * - `isRenderable`
107
+ */
108
+ IsRenderable = 1024,
109
+ /**
110
+ * Render Texture update
111
+ */
112
+ RenderTexture = 2048,
113
+ /**
114
+ * Track if parent has render texture
115
+ */
116
+ ParentRenderTexture = 4096,
117
+ /**
118
+ * Render Bounds update
119
+ */
120
+ RenderBounds = 8192,
121
+ /**
122
+ * None
123
+ */
124
+ None = 0,
125
+ /**
126
+ * All
127
+ */
128
+ All = 14335
129
+ }
130
+ /**
131
+ * A custom data map which can be stored on an CoreNode
132
+ *
133
+ * @remarks
134
+ * This is a map of key-value pairs that can be stored on an INode. It is used
135
+ * to store custom data that can be used by the application.
136
+ * The data stored can only be of type string, number or boolean.
137
+ */
138
+ export type CustomDataMap = {
139
+ [key: string]: string | number | boolean | undefined;
140
+ };
141
+ /**
142
+ * Writable properties of a Node.
143
+ */
144
+ export interface CoreNodeProps {
145
+ /**
146
+ * The x coordinate of the Node's Mount Point.
147
+ *
148
+ * @remarks
149
+ * See {@link mountX} and {@link mountY} for more information about setting
150
+ * the Mount Point.
151
+ *
152
+ * @default `0`
153
+ */
154
+ x: number;
155
+ /**
156
+ * The y coordinate of the Node's Mount Point.
157
+ *
158
+ * @remarks
159
+ * See {@link mountX} and {@link mountY} for more information about setting
160
+ * the Mount Point.
161
+ *
162
+ * @default `0`
163
+ */
164
+ y: number;
165
+ /**
166
+ * The width of the Node.
167
+ *
168
+ * @default `0`
169
+ */
170
+ width: number;
171
+ /**
172
+ * The height of the Node.
173
+ *
174
+ * @default `0`
175
+ */
176
+ height: number;
177
+ /**
178
+ * The alpha opacity of the Node.
179
+ *
180
+ * @remarks
181
+ * The alpha value is a number between 0 and 1, where 0 is fully transparent
182
+ * and 1 is fully opaque.
183
+ *
184
+ * @default `1`
185
+ */
186
+ alpha: number;
187
+ /**
188
+ * Autosize mode
189
+ *
190
+ * @remarks
191
+ * When enabled, when a texture is loaded into the Node, the Node will
192
+ * automatically resize to the dimensions of the texture.
193
+ *
194
+ * Text Nodes are always autosized based on their text content regardless
195
+ * of this mode setting.
196
+ *
197
+ * @default `false`
198
+ */
199
+ autosize: boolean;
200
+ /**
201
+ * Margin around the Node's bounds for preloading
202
+ *
203
+ * @default `null`
204
+ */
205
+ boundsMargin: number | [number, number, number, number] | null;
206
+ /**
207
+ * Clipping Mode
208
+ *
209
+ * @remarks
210
+ * Enable Clipping Mode when you want to prevent the drawing of a Node and
211
+ * its descendants from overflowing outside of the Node's x/y/width/height
212
+ * bounds.
213
+ *
214
+ * For WebGL, clipping is implemented using the high-performance WebGL
215
+ * operation scissor. As a consequence, clipping does not work for
216
+ * non-rectangular areas. So, if the element is rotated
217
+ * (by itself or by any of its ancestors), clipping will not work as intended.
218
+ *
219
+ * TODO: Add support for non-rectangular clipping either automatically or
220
+ * via Render-To-Texture.
221
+ *
222
+ * @default `false`
223
+ */
224
+ clipping: boolean;
225
+ /**
226
+ * The color of the Node.
227
+ *
228
+ * @remarks
229
+ * The color value is a number in the format 0xRRGGBBAA, where RR is the red
230
+ * component, GG is the green component, BB is the blue component, and AA is
231
+ * the alpha component.
232
+ *
233
+ * Gradient colors may be set by setting the different color sub-properties:
234
+ * {@link colorTop}, {@link colorBottom}, {@link colorLeft}, {@link colorRight},
235
+ * {@link colorTl}, {@link colorTr}, {@link colorBr}, {@link colorBl} accordingly.
236
+ *
237
+ * @default `0xffffffff` (opaque white)
238
+ */
239
+ color: number;
240
+ /**
241
+ * The color of the top edge of the Node for gradient rendering.
242
+ *
243
+ * @remarks
244
+ * See {@link color} for more information about color values and gradient
245
+ * rendering.
246
+ */
247
+ colorTop: number;
248
+ /**
249
+ * The color of the bottom edge of the Node for gradient rendering.
250
+ *
251
+ * @remarks
252
+ * See {@link color} for more information about color values and gradient
253
+ * rendering.
254
+ */
255
+ colorBottom: number;
256
+ /**
257
+ * The color of the left edge of the Node for gradient rendering.
258
+ *
259
+ * @remarks
260
+ * See {@link color} for more information about color values and gradient
261
+ * rendering.
262
+ */
263
+ colorLeft: number;
264
+ /**
265
+ * The color of the right edge of the Node for gradient rendering.
266
+ *
267
+ * @remarks
268
+ * See {@link color} for more information about color values and gradient
269
+ * rendering.
270
+ */
271
+ colorRight: number;
272
+ /**
273
+ * The color of the top-left corner of the Node for gradient rendering.
274
+ *
275
+ * @remarks
276
+ * See {@link color} for more information about color values and gradient
277
+ * rendering.
278
+ */
279
+ colorTl: number;
280
+ /**
281
+ * The color of the top-right corner of the Node for gradient rendering.
282
+ *
283
+ * @remarks
284
+ * See {@link color} for more information about color values and gradient
285
+ * rendering.
286
+ */
287
+ colorTr: number;
288
+ /**
289
+ * The color of the bottom-right corner of the Node for gradient rendering.
290
+ *
291
+ * @remarks
292
+ * See {@link color} for more information about color values and gradient
293
+ * rendering.
294
+ */
295
+ colorBr: number;
296
+ /**
297
+ * The color of the bottom-left corner of the Node for gradient rendering.
298
+ *
299
+ * @remarks
300
+ * See {@link color} for more information about color values and gradient
301
+ * rendering.
302
+ */
303
+ colorBl: number;
304
+ /**
305
+ * The Node's parent Node.
306
+ *
307
+ * @remarks
308
+ * The value `null` indicates that the Node has no parent. This may either be
309
+ * because the Node is the root Node of the scene graph, or because the Node
310
+ * has been removed from the scene graph.
311
+ *
312
+ * In order to make sure that a Node can be rendered on the screen, it must
313
+ * be added to the scene graph by setting it's parent property to a Node that
314
+ * is already in the scene graph such as the root Node.
315
+ *
316
+ * @default `null`
317
+ */
318
+ parent: CoreNode | null;
319
+ /**
320
+ * The Node's z-index.
321
+ *
322
+ * @remarks
323
+ * TBD
324
+ */
325
+ zIndex: number;
326
+ /**
327
+ * The Node's Texture.
328
+ *
329
+ * @remarks
330
+ * The `texture` defines a rasterized image that is contained within the
331
+ * {@link width} and {@link height} dimensions of the Node. If null, the
332
+ * Node will use an opaque white {@link ColorTexture} when being drawn, which
333
+ * essentially enables colors (including gradients) to be drawn.
334
+ *
335
+ * If set, by default, the texture will be drawn, as is, stretched to the
336
+ * dimensions of the Node. This behavior can be modified by setting the TBD
337
+ * and TBD properties.
338
+ *
339
+ * To create a Texture in order to set it on this property, call
340
+ * {@link RendererMain.createTexture}.
341
+ *
342
+ * If the {@link src} is set on a Node, the Node will use the
343
+ * {@link ImageTexture} by default and the Node will simply load the image at
344
+ * the specified URL.
345
+ *
346
+ * Note: If this is a Text Node, the Texture will be managed by the Node's
347
+ * {@link TextRenderer} and should not be set explicitly.
348
+ */
349
+ texture: Texture | null;
350
+ /**
351
+ * [Deprecated]: Prevents the texture from being cleaned up when the Node is removed
352
+ *
353
+ * @remarks
354
+ * Please use the `preventCleanup` property on {@link TextureOptions} instead.
355
+ *
356
+ * @default false
357
+ */
358
+ preventCleanup: boolean;
359
+ /**
360
+ * Options to associate with the Node's Texture
361
+ */
362
+ textureOptions: TextureOptions;
363
+ /**
364
+ * The Node's shader
365
+ *
366
+ * @remarks
367
+ * The `shader` defines a {@link Shader} used to draw the Node. By default,
368
+ * the Default Shader is used which simply draws the defined {@link texture}
369
+ * or {@link color}(s) within the Node without any special effects.
370
+ *
371
+ * To create a Shader in order to set it on this property, call
372
+ * {@link RendererMain.createShader}.
373
+ *
374
+ * Note: If this is a Text Node, the Shader will be managed by the Node's
375
+ * {@link TextRenderer} and should not be set explicitly.
376
+ */
377
+ shader: BaseShaderController;
378
+ /**
379
+ * Image URL
380
+ *
381
+ * @remarks
382
+ * When set, the Node's {@link texture} is automatically set to an
383
+ * {@link ImageTexture} using the source image URL provided (with all other
384
+ * settings being defaults)
385
+ */
386
+ src: string | null;
387
+ zIndexLocked: number;
388
+ /**
389
+ * Scale to render the Node at
390
+ *
391
+ * @remarks
392
+ * The scale value multiplies the provided {@link width} and {@link height}
393
+ * of the Node around the Node's Pivot Point (defined by the {@link pivot}
394
+ * props).
395
+ *
396
+ * Behind the scenes, setting this property sets both the {@link scaleX} and
397
+ * {@link scaleY} props to the same value.
398
+ *
399
+ * NOTE: When the scaleX and scaleY props are explicitly set to different values,
400
+ * this property returns `null`. Setting `null` on this property will have no
401
+ * effect.
402
+ *
403
+ * @default 1.0
404
+ */
405
+ scale: number | null;
406
+ /**
407
+ * Scale to render the Node at (X-Axis)
408
+ *
409
+ * @remarks
410
+ * The scaleX value multiplies the provided {@link width} of the Node around
411
+ * the Node's Pivot Point (defined by the {@link pivot} props).
412
+ *
413
+ * @default 1.0
414
+ */
415
+ scaleX: number;
416
+ /**
417
+ * Scale to render the Node at (Y-Axis)
418
+ *
419
+ * @remarks
420
+ * The scaleY value multiplies the provided {@link height} of the Node around
421
+ * the Node's Pivot Point (defined by the {@link pivot} props).
422
+ *
423
+ * @default 1.0
424
+ */
425
+ scaleY: number;
426
+ /**
427
+ * Combined position of the Node's Mount Point
428
+ *
429
+ * @remarks
430
+ * The value can be any number between `0.0` and `1.0`:
431
+ * - `0.0` defines the Mount Point at the top-left corner of the Node.
432
+ * - `0.5` defines it at the center of the Node.
433
+ * - `1.0` defines it at the bottom-right corner of the node.
434
+ *
435
+ * Use the {@link mountX} and {@link mountY} props seperately for more control
436
+ * of the Mount Point.
437
+ *
438
+ * When assigned, the same value is also passed to both the {@link mountX} and
439
+ * {@link mountY} props.
440
+ *
441
+ * @default 0 (top-left)
442
+ */
443
+ mount: number;
444
+ /**
445
+ * X position of the Node's Mount Point
446
+ *
447
+ * @remarks
448
+ * The value can be any number between `0.0` and `1.0`:
449
+ * - `0.0` defines the Mount Point's X position as the left-most edge of the
450
+ * Node
451
+ * - `0.5` defines it as the horizontal center of the Node
452
+ * - `1.0` defines it as the right-most edge of the Node.
453
+ *
454
+ * The combination of {@link mountX} and {@link mountY} define the Mount Point
455
+ *
456
+ * @default 0 (left-most edge)
457
+ */
458
+ mountX: number;
459
+ /**
460
+ * Y position of the Node's Mount Point
461
+ *
462
+ * @remarks
463
+ * The value can be any number between `0.0` and `1.0`:
464
+ * - `0.0` defines the Mount Point's Y position as the top-most edge of the
465
+ * Node
466
+ * - `0.5` defines it as the vertical center of the Node
467
+ * - `1.0` defines it as the bottom-most edge of the Node.
468
+ *
469
+ * The combination of {@link mountX} and {@link mountY} define the Mount Point
470
+ *
471
+ * @default 0 (top-most edge)
472
+ */
473
+ mountY: number;
474
+ /**
475
+ * Combined position of the Node's Pivot Point
476
+ *
477
+ * @remarks
478
+ * The value can be any number between `0.0` and `1.0`:
479
+ * - `0.0` defines the Pivot Point at the top-left corner of the Node.
480
+ * - `0.5` defines it at the center of the Node.
481
+ * - `1.0` defines it at the bottom-right corner of the node.
482
+ *
483
+ * Use the {@link pivotX} and {@link pivotY} props seperately for more control
484
+ * of the Pivot Point.
485
+ *
486
+ * When assigned, the same value is also passed to both the {@link pivotX} and
487
+ * {@link pivotY} props.
488
+ *
489
+ * @default 0.5 (center)
490
+ */
491
+ pivot: number;
492
+ /**
493
+ * X position of the Node's Pivot Point
494
+ *
495
+ * @remarks
496
+ * The value can be any number between `0.0` and `1.0`:
497
+ * - `0.0` defines the Pivot Point's X position as the left-most edge of the
498
+ * Node
499
+ * - `0.5` defines it as the horizontal center of the Node
500
+ * - `1.0` defines it as the right-most edge of the Node.
501
+ *
502
+ * The combination of {@link pivotX} and {@link pivotY} define the Pivot Point
503
+ *
504
+ * @default 0.5 (centered on x-axis)
505
+ */
506
+ pivotX: number;
507
+ /**
508
+ * Y position of the Node's Pivot Point
509
+ *
510
+ * @remarks
511
+ * The value can be any number between `0.0` and `1.0`:
512
+ * - `0.0` defines the Pivot Point's Y position as the top-most edge of the
513
+ * Node
514
+ * - `0.5` defines it as the vertical center of the Node
515
+ * - `1.0` defines it as the bottom-most edge of the Node.
516
+ *
517
+ * The combination of {@link pivotX} and {@link pivotY} define the Pivot Point
518
+ *
519
+ * @default 0.5 (centered on y-axis)
520
+ */
521
+ pivotY: number;
522
+ /**
523
+ * Rotation of the Node (in Radians)
524
+ *
525
+ * @remarks
526
+ * Sets the amount to rotate the Node by around it's Pivot Point (defined by
527
+ * the {@link pivot} props). Positive values rotate the Node clockwise, while
528
+ * negative values rotate it counter-clockwise.
529
+ *
530
+ * Example values:
531
+ * - `-Math.PI / 2`: 90 degree rotation counter-clockwise
532
+ * - `0`: No rotation
533
+ * - `Math.PI / 2`: 90 degree rotation clockwise
534
+ * - `Math.PI`: 180 degree rotation clockwise
535
+ * - `3 * Math.PI / 2`: 270 degree rotation clockwise
536
+ * - `2 * Math.PI`: 360 rotation clockwise
537
+ */
538
+ rotation: number;
539
+ /**
540
+ * Whether the Node is rendered to a texture
541
+ *
542
+ * @remarks
543
+ * TBD
544
+ *
545
+ * @default false
546
+ */
547
+ rtt: boolean;
548
+ /**
549
+ * Node data element for custom data storage (optional)
550
+ *
551
+ * @remarks
552
+ * This property is used to store custom data on the Node as a key/value data store.
553
+ * Data values are limited to string, numbers, booleans. Strings will be truncated
554
+ * to a 2048 character limit for performance reasons.
555
+ *
556
+ * This is not a data storage mechanism for large amounts of data please use a
557
+ * dedicated data storage mechanism for that.
558
+ *
559
+ * The custom data will be reflected in the inspector as part of `data-*` attributes
560
+ *
561
+ * @default `undefined`
562
+ */
563
+ data?: CustomDataMap;
564
+ /**
565
+ * Image Type to explicitly set the image type that is being loaded
566
+ *
567
+ * @remarks
568
+ * This property must be used with a `src` that points at an image. In some cases
569
+ * the extension doesn't provide a reliable representation of the image type. In such
570
+ * cases set the ImageType explicitly.
571
+ *
572
+ * `regular` is used for normal images such as png, jpg, etc
573
+ * `compressed` is used for ETC1/ETC2 compressed images with a PVR or KTX container
574
+ * `svg` is used for scalable vector graphics
575
+ *
576
+ * @default `undefined`
577
+ */
578
+ imageType?: 'regular' | 'compressed' | 'svg' | null;
579
+ /**
580
+ * She width of the rectangle from which the Image Texture will be extracted.
581
+ * This value can be negative. If not provided, the image's source natural
582
+ * width will be used.
583
+ */
584
+ srcWidth?: number;
585
+ /**
586
+ * The height of the rectangle from which the Image Texture will be extracted.
587
+ * This value can be negative. If not provided, the image's source natural
588
+ * height will be used.
589
+ */
590
+ srcHeight?: number;
591
+ /**
592
+ * The x coordinate of the reference point of the rectangle from which the Texture
593
+ * will be extracted. `width` and `height` are provided. And only works when
594
+ * createImageBitmap is available. Only works when createImageBitmap is supported on the browser.
595
+ */
596
+ srcX?: number;
597
+ /**
598
+ * The y coordinate of the reference point of the rectangle from which the Texture
599
+ * will be extracted. Only used when source `srcWidth` width and `srcHeight` height
600
+ * are provided. Only works when createImageBitmap is supported on the browser.
601
+ */
602
+ srcY?: number;
603
+ /**
604
+ * By enabling Strict bounds the renderer will not process & render child nodes of a node that is out of the visible area
605
+ *
606
+ * @remarks
607
+ * When enabled out of bound nodes, i.e. nodes that are out of the visible area, will
608
+ * **NOT** have their children processed and renderer anymore. This means the children of a out of bound
609
+ * node will not receive update processing such as positioning updates and will not be drawn on screen.
610
+ * As such the rest of the branch of the update tree that sits below this node will not be processed anymore
611
+ *
612
+ * This is a big performance gain but may be disabled in cases where the width of the parent node is
613
+ * unknown and the render must process the child nodes regardless of the viewport status of the parent node
614
+ *
615
+ * @default false
616
+ */
617
+ strictBounds: boolean;
618
+ /**
619
+ * Mark the node as interactive so we can perform hit tests on it
620
+ * when pointer events are registered.
621
+ * @default false
622
+ */
623
+ interactive?: boolean;
624
+ }
625
+ /**
626
+ * Grab all the number properties of type T
627
+ */
628
+ type NumberProps<T> = {
629
+ [Key in keyof T as NonNullable<T[Key]> extends number ? Key : never]: number;
630
+ };
631
+ /**
632
+ * Properties of a Node used by the animate() function
633
+ */
634
+ export interface CoreNodeAnimateProps extends NumberProps<CoreNodeProps> {
635
+ /**
636
+ * Shader properties to animate
637
+ */
638
+ shaderProps: Record<string, number>;
639
+ }
640
+ /**
641
+ * A visual Node in the Renderer scene graph.
642
+ *
643
+ * @remarks
644
+ * CoreNode is an internally used class that represents a Renderer Node in the
645
+ * scene graph. See INode.ts for the public APIs exposed to Renderer users
646
+ * that include generic types for Shaders.
647
+ */
648
+ export declare class CoreNode extends EventEmitter {
649
+ readonly stage: Stage;
650
+ readonly children: CoreNode[];
651
+ protected _id: number;
652
+ readonly props: CoreNodeProps;
653
+ updateType: UpdateType;
654
+ childUpdateType: UpdateType;
655
+ globalTransform?: Matrix3d;
656
+ scaleRotateTransform?: Matrix3d;
657
+ localTransform?: Matrix3d;
658
+ sceneGlobalTransform?: Matrix3d;
659
+ renderCoords?: RenderCoords;
660
+ sceneRenderCoords?: RenderCoords;
661
+ renderBound?: Bound;
662
+ strictBound?: Bound;
663
+ preloadBound?: Bound;
664
+ clippingRect: RectWithValid;
665
+ isRenderable: boolean;
666
+ renderState: CoreNodeRenderState;
667
+ worldAlpha: number;
668
+ premultipliedColorTl: number;
669
+ premultipliedColorTr: number;
670
+ premultipliedColorBl: number;
671
+ premultipliedColorBr: number;
672
+ calcZIndex: number;
673
+ hasRTTupdates: boolean;
674
+ parentHasRenderTexture: boolean;
675
+ rttParent: CoreNode | null;
676
+ destroyed: boolean;
677
+ constructor(stage: Stage, props: CoreNodeProps);
678
+ loadTexture(): void;
679
+ unloadTexture(): void;
680
+ autosizeNode(dimensions: Dimensions): void;
681
+ private onTextureLoaded;
682
+ private onTextureFailed;
683
+ private onTextureFreed;
684
+ /**
685
+ * Change types types is used to determine the scope of the changes being applied
686
+ *
687
+ * @remarks
688
+ * See {@link UpdateType} for more information on each type
689
+ *
690
+ * @param type
691
+ */
692
+ setUpdateType(type: UpdateType): void;
693
+ sortChildren(): void;
694
+ updateScaleRotateTransform(): void;
695
+ updateLocalTransform(): void;
696
+ /**
697
+ * @todo: test for correct calculation flag
698
+ * @param delta
699
+ */
700
+ update(delta: number, parentClippingRect: RectWithValid): void;
701
+ private findParentRTTNode;
702
+ private getRTTParentRenderState;
703
+ private notifyChildrenRTTOfUpdate;
704
+ private notifyParentRTTOfUpdate;
705
+ checkRenderBounds(): CoreNodeRenderState;
706
+ updateBoundingRect(): void;
707
+ createRenderBounds(): void;
708
+ updateRenderState(renderState: CoreNodeRenderState): void;
709
+ /**
710
+ * Updates the `isRenderable` property based on various conditions.
711
+ */
712
+ updateIsRenderable(): void;
713
+ /**
714
+ * Checks if the node is renderable based on world alpha, dimensions and out of bounds status.
715
+ */
716
+ checkBasicRenderability(): boolean;
717
+ /**
718
+ * Sets the renderable state and triggers changes if necessary.
719
+ * @param isRenderable - The new renderable state
720
+ */
721
+ setRenderable(isRenderable: boolean): void;
722
+ /**
723
+ * Changes the renderable state of the node.
724
+ */
725
+ updateTextureOwnership(isRenderable: boolean): void;
726
+ /**
727
+ * Checks if the node is out of the viewport bounds.
728
+ */
729
+ isOutOfBounds(): boolean;
730
+ /**
731
+ * Checks if the node has dimensions (width/height)
732
+ */
733
+ hasDimensions(): boolean;
734
+ /**
735
+ * Checks if the node has any color properties set.
736
+ */
737
+ hasColorProperties(): boolean;
738
+ hasShader(): boolean;
739
+ calculateRenderCoords(): void;
740
+ /**
741
+ * This function calculates the clipping rectangle for a node.
742
+ *
743
+ * The function then checks if the node is rotated. If the node requires clipping and is not rotated, a new clipping rectangle is created based on the node's global transform and dimensions.
744
+ * If a parent clipping rectangle exists, it is intersected with the node's clipping rectangle (if it exists), or replaces the node's clipping rectangle.
745
+ *
746
+ * Finally, the node's parentClippingRect and clippingRect properties are updated.
747
+ */
748
+ calculateClippingRect(parentClippingRect: RectWithValid): void;
749
+ calculateZIndex(): void;
750
+ /**
751
+ * Destroy the node and cleanup all resources
752
+ */
753
+ destroy(): void;
754
+ renderQuads(renderer: CoreRenderer): void;
755
+ get id(): number;
756
+ get data(): CustomDataMap | undefined;
757
+ set data(d: CustomDataMap | undefined);
758
+ get x(): number;
759
+ set x(value: number);
760
+ get absX(): number;
761
+ get absY(): number;
762
+ get y(): number;
763
+ set y(value: number);
764
+ get width(): number;
765
+ set width(value: number);
766
+ get height(): number;
767
+ set height(value: number);
768
+ get scale(): number;
769
+ set scale(value: number);
770
+ get scaleX(): number;
771
+ set scaleX(value: number);
772
+ get scaleY(): number;
773
+ set scaleY(value: number);
774
+ get mount(): number;
775
+ set mount(value: number);
776
+ get mountX(): number;
777
+ set mountX(value: number);
778
+ get mountY(): number;
779
+ set mountY(value: number);
780
+ get pivot(): number;
781
+ set pivot(value: number);
782
+ get pivotX(): number;
783
+ set pivotX(value: number);
784
+ get pivotY(): number;
785
+ set pivotY(value: number);
786
+ get rotation(): number;
787
+ set rotation(value: number);
788
+ get alpha(): number;
789
+ set alpha(value: number);
790
+ get autosize(): boolean;
791
+ set autosize(value: boolean);
792
+ get boundsMargin(): number | [number, number, number, number] | null;
793
+ set boundsMargin(value: number | [number, number, number, number] | null);
794
+ get clipping(): boolean;
795
+ set clipping(value: boolean);
796
+ get color(): number;
797
+ set color(value: number);
798
+ get colorTop(): number;
799
+ set colorTop(value: number);
800
+ get colorBottom(): number;
801
+ set colorBottom(value: number);
802
+ get colorLeft(): number;
803
+ set colorLeft(value: number);
804
+ get colorRight(): number;
805
+ set colorRight(value: number);
806
+ get colorTl(): number;
807
+ set colorTl(value: number);
808
+ get colorTr(): number;
809
+ set colorTr(value: number);
810
+ get colorBl(): number;
811
+ set colorBl(value: number);
812
+ get colorBr(): number;
813
+ set colorBr(value: number);
814
+ get zIndexLocked(): number;
815
+ set zIndexLocked(value: number);
816
+ get zIndex(): number;
817
+ set zIndex(value: number);
818
+ get parent(): CoreNode | null;
819
+ set parent(newParent: CoreNode | null);
820
+ get preventCleanup(): boolean;
821
+ set preventCleanup(value: boolean);
822
+ get rtt(): boolean;
823
+ set rtt(value: boolean);
824
+ private initRenderTexture;
825
+ private cleanupRenderTexture;
826
+ private markChildrenWithRTT;
827
+ private applyRTTInheritance;
828
+ private clearRTTInheritance;
829
+ get shader(): BaseShaderController;
830
+ set shader(value: BaseShaderController);
831
+ get src(): string | null;
832
+ set src(imageUrl: string | null);
833
+ set imageType(type: 'regular' | 'compressed' | 'svg' | null);
834
+ get imageType(): 'regular' | 'compressed' | 'svg' | null;
835
+ get srcHeight(): number | undefined;
836
+ set srcHeight(value: number);
837
+ get srcWidth(): number | undefined;
838
+ set srcWidth(value: number);
839
+ get srcX(): number | undefined;
840
+ set srcX(value: number);
841
+ get srcY(): number | undefined;
842
+ set srcY(value: number);
843
+ /**
844
+ * Returns the framebuffer dimensions of the node.
845
+ * If the node has a render texture, the dimensions are the same as the node's dimensions.
846
+ * If the node does not have a render texture, the dimensions are inherited from the parent.
847
+ * If the node parent has a render texture and the node is a render texture, the nodes dimensions are used.
848
+ */
849
+ get framebufferDimensions(): Dimensions;
850
+ /**
851
+ * Returns the parent render texture node if it exists.
852
+ */
853
+ get parentRenderTexture(): CoreNode | null;
854
+ get texture(): Texture | null;
855
+ set texture(value: Texture | null);
856
+ set textureOptions(value: TextureOptions);
857
+ get textureOptions(): TextureOptions;
858
+ get strictBounds(): boolean;
859
+ set strictBounds(v: boolean);
860
+ set interactive(value: boolean | undefined);
861
+ get interactive(): boolean | undefined;
862
+ animate(props: Partial<CoreNodeAnimateProps>, settings: Partial<AnimationSettings>): IAnimationController;
863
+ flush(): void;
864
+ }
865
+ export {};