@solidtv/renderer 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (424) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +7 -0
  3. package/README.md +137 -0
  4. package/dist/exports/canvas-shaders.d.ts +10 -0
  5. package/dist/exports/canvas-shaders.js +11 -0
  6. package/dist/exports/canvas-shaders.js.map +1 -0
  7. package/dist/exports/canvas.d.ts +26 -0
  8. package/dist/exports/canvas.js +27 -0
  9. package/dist/exports/canvas.js.map +1 -0
  10. package/dist/exports/index.d.ts +50 -0
  11. package/dist/exports/index.js +40 -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 +5 -0
  15. package/dist/exports/inspector.js.map +1 -0
  16. package/dist/exports/utils.d.ts +27 -0
  17. package/dist/exports/utils.js +28 -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 +12 -0
  21. package/dist/exports/webgl-shaders.js.map +1 -0
  22. package/dist/exports/webgl.d.ts +28 -0
  23. package/dist/exports/webgl.js +29 -0
  24. package/dist/exports/webgl.js.map +1 -0
  25. package/dist/src/common/CommonTypes.d.ts +110 -0
  26. package/dist/src/common/CommonTypes.js +2 -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 +48 -0
  30. package/dist/src/common/EventEmitter.js.map +1 -0
  31. package/dist/src/common/IAnimationController.d.ts +58 -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 +2 -0
  36. package/dist/src/common/IEventEmitter.js.map +1 -0
  37. package/dist/src/core/Autosizer.d.ts +35 -0
  38. package/dist/src/core/Autosizer.js +178 -0
  39. package/dist/src/core/Autosizer.js.map +1 -0
  40. package/dist/src/core/CoreNode.d.ts +908 -0
  41. package/dist/src/core/CoreNode.js +1837 -0
  42. package/dist/src/core/CoreNode.js.map +1 -0
  43. package/dist/src/core/CoreShaderManager.d.ts +38 -0
  44. package/dist/src/core/CoreShaderManager.js +123 -0
  45. package/dist/src/core/CoreShaderManager.js.map +1 -0
  46. package/dist/src/core/CoreTextNode.d.ts +91 -0
  47. package/dist/src/core/CoreTextNode.js +440 -0
  48. package/dist/src/core/CoreTextNode.js.map +1 -0
  49. package/dist/src/core/CoreTextureManager.d.ts +264 -0
  50. package/dist/src/core/CoreTextureManager.js +318 -0
  51. package/dist/src/core/CoreTextureManager.js.map +1 -0
  52. package/dist/src/core/Stage.d.ts +238 -0
  53. package/dist/src/core/Stage.js +804 -0
  54. package/dist/src/core/Stage.js.map +1 -0
  55. package/dist/src/core/TextureError.d.ts +11 -0
  56. package/dist/src/core/TextureError.js +37 -0
  57. package/dist/src/core/TextureError.js.map +1 -0
  58. package/dist/src/core/TextureMemoryManager.d.ts +150 -0
  59. package/dist/src/core/TextureMemoryManager.js +239 -0
  60. package/dist/src/core/TextureMemoryManager.js.map +1 -0
  61. package/dist/src/core/animations/AnimationManager.d.ts +33 -0
  62. package/dist/src/core/animations/AnimationManager.js +137 -0
  63. package/dist/src/core/animations/AnimationManager.js.map +1 -0
  64. package/dist/src/core/animations/CoreAnimation.d.ts +12 -0
  65. package/dist/src/core/animations/CoreAnimation.js +107 -0
  66. package/dist/src/core/animations/CoreAnimation.js.map +1 -0
  67. package/dist/src/core/lib/ContextSpy.d.ts +12 -0
  68. package/dist/src/core/lib/ContextSpy.js +20 -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 +202 -0
  72. package/dist/src/core/lib/ImageWorker.js.map +1 -0
  73. package/dist/src/core/lib/Matrix3d.d.ts +74 -0
  74. package/dist/src/core/lib/Matrix3d.js +218 -0
  75. package/dist/src/core/lib/Matrix3d.js.map +1 -0
  76. package/dist/src/core/lib/RenderCoords.d.ts +12 -0
  77. package/dist/src/core/lib/RenderCoords.js +35 -0
  78. package/dist/src/core/lib/RenderCoords.js.map +1 -0
  79. package/dist/src/core/lib/WebGlContextWrapper.d.ts +782 -0
  80. package/dist/src/core/lib/WebGlContextWrapper.js +1143 -0
  81. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -0
  82. package/dist/src/core/lib/collectionUtils.d.ts +5 -0
  83. package/dist/src/core/lib/collectionUtils.js +82 -0
  84. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  85. package/dist/src/core/lib/colorCache.d.ts +1 -0
  86. package/dist/src/core/lib/colorCache.js +19 -0
  87. package/dist/src/core/lib/colorCache.js.map +1 -0
  88. package/dist/src/core/lib/colorParser.d.ts +21 -0
  89. package/dist/src/core/lib/colorParser.js +54 -0
  90. package/dist/src/core/lib/colorParser.js.map +1 -0
  91. package/dist/src/core/lib/textureCompression.d.ts +28 -0
  92. package/dist/src/core/lib/textureCompression.js +363 -0
  93. package/dist/src/core/lib/textureCompression.js.map +1 -0
  94. package/dist/src/core/lib/textureSvg.d.ts +16 -0
  95. package/dist/src/core/lib/textureSvg.js +45 -0
  96. package/dist/src/core/lib/textureSvg.js.map +1 -0
  97. package/dist/src/core/lib/utils.d.ts +66 -0
  98. package/dist/src/core/lib/utils.js +268 -0
  99. package/dist/src/core/lib/utils.js.map +1 -0
  100. package/dist/src/core/lib/validateImageBitmap.d.ts +7 -0
  101. package/dist/src/core/lib/validateImageBitmap.js +68 -0
  102. package/dist/src/core/lib/validateImageBitmap.js.map +1 -0
  103. package/dist/src/core/platforms/Platform.d.ts +42 -0
  104. package/dist/src/core/platforms/Platform.js +4 -0
  105. package/dist/src/core/platforms/Platform.js.map +1 -0
  106. package/dist/src/core/platforms/web/WebPlatform.d.ts +10 -0
  107. package/dist/src/core/platforms/web/WebPlatform.js +90 -0
  108. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
  109. package/dist/src/core/renderers/CoreContextTexture.d.ts +13 -0
  110. package/dist/src/core/renderers/CoreContextTexture.js +16 -0
  111. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -0
  112. package/dist/src/core/renderers/CoreRenderOp.d.ts +3 -0
  113. package/dist/src/core/renderers/CoreRenderOp.js +3 -0
  114. package/dist/src/core/renderers/CoreRenderOp.js.map +1 -0
  115. package/dist/src/core/renderers/CoreRenderer.d.ts +81 -0
  116. package/dist/src/core/renderers/CoreRenderer.js +14 -0
  117. package/dist/src/core/renderers/CoreRenderer.js.map +1 -0
  118. package/dist/src/core/renderers/CoreShaderNode.d.ts +69 -0
  119. package/dist/src/core/renderers/CoreShaderNode.js +130 -0
  120. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -0
  121. package/dist/src/core/renderers/CoreShaderProgram.d.ts +4 -0
  122. package/dist/src/core/renderers/CoreShaderProgram.js +2 -0
  123. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -0
  124. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +36 -0
  125. package/dist/src/core/renderers/canvas/CanvasRenderer.js +221 -0
  126. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -0
  127. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +21 -0
  128. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +42 -0
  129. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -0
  130. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +17 -0
  131. package/dist/src/core/renderers/canvas/CanvasTexture.js +110 -0
  132. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -0
  133. package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +41 -0
  134. package/dist/src/core/renderers/webgl/SdfRenderOp.js +88 -0
  135. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
  136. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +14 -0
  137. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +45 -0
  138. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -0
  139. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +22 -0
  140. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +49 -0
  141. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -0
  142. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +67 -0
  143. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +259 -0
  144. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -0
  145. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +221 -0
  146. package/dist/src/core/renderers/webgl/WebGlRenderer.js +1015 -0
  147. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -0
  148. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +213 -0
  149. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +331 -0
  150. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -0
  151. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +37 -0
  152. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +240 -0
  153. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -0
  154. package/dist/src/core/renderers/webgl/internal/BufferCollection.d.ts +28 -0
  155. package/dist/src/core/renderers/webgl/internal/BufferCollection.js +39 -0
  156. package/dist/src/core/renderers/webgl/internal/BufferCollection.js.map +1 -0
  157. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +55 -0
  158. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +88 -0
  159. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -0
  160. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +74 -0
  161. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +83 -0
  162. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -0
  163. package/dist/src/core/renderers/webgl/internal/WebGlUtils.d.ts +10 -0
  164. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +13 -0
  165. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js.map +1 -0
  166. package/dist/src/core/shaders/canvas/Border.d.ts +15 -0
  167. package/dist/src/core/shaders/canvas/Border.js +83 -0
  168. package/dist/src/core/shaders/canvas/Border.js.map +1 -0
  169. package/dist/src/core/shaders/canvas/HolePunch.d.ts +7 -0
  170. package/dist/src/core/shaders/canvas/HolePunch.js +22 -0
  171. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -0
  172. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +10 -0
  173. package/dist/src/core/shaders/canvas/LinearGradient.js +32 -0
  174. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -0
  175. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +11 -0
  176. package/dist/src/core/shaders/canvas/RadialGradient.js +54 -0
  177. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -0
  178. package/dist/src/core/shaders/canvas/Rounded.d.ts +7 -0
  179. package/dist/src/core/shaders/canvas/Rounded.js +17 -0
  180. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -0
  181. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +10 -0
  182. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +57 -0
  183. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -0
  184. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +7 -0
  185. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +61 -0
  186. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -0
  187. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +7 -0
  188. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +26 -0
  189. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -0
  190. package/dist/src/core/shaders/canvas/Shadow.d.ts +8 -0
  191. package/dist/src/core/shaders/canvas/Shadow.js +15 -0
  192. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -0
  193. package/dist/src/core/shaders/canvas/utils/render.d.ts +5 -0
  194. package/dist/src/core/shaders/canvas/utils/render.js +81 -0
  195. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -0
  196. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +47 -0
  197. package/dist/src/core/shaders/templates/BorderTemplate.js +77 -0
  198. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -0
  199. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +46 -0
  200. package/dist/src/core/shaders/templates/HolePunchTemplate.js +19 -0
  201. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -0
  202. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +23 -0
  203. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +31 -0
  204. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -0
  205. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +33 -0
  206. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +33 -0
  207. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -0
  208. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +29 -0
  209. package/dist/src/core/shaders/templates/RoundedTemplate.js +51 -0
  210. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -0
  211. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +7 -0
  212. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +8 -0
  213. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -0
  214. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +8 -0
  215. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +9 -0
  216. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -0
  217. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +6 -0
  218. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +7 -0
  219. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -0
  220. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +34 -0
  221. package/dist/src/core/shaders/templates/ShadowTemplate.js +50 -0
  222. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -0
  223. package/dist/src/core/shaders/utils.d.ts +5 -0
  224. package/dist/src/core/shaders/utils.js +25 -0
  225. package/dist/src/core/shaders/utils.js.map +1 -0
  226. package/dist/src/core/shaders/webgl/Border.d.ts +3 -0
  227. package/dist/src/core/shaders/webgl/Border.js +153 -0
  228. package/dist/src/core/shaders/webgl/Border.js.map +1 -0
  229. package/dist/src/core/shaders/webgl/Default.d.ts +2 -0
  230. package/dist/src/core/shaders/webgl/Default.js +51 -0
  231. package/dist/src/core/shaders/webgl/Default.js.map +1 -0
  232. package/dist/src/core/shaders/webgl/HolePunch.d.ts +3 -0
  233. package/dist/src/core/shaders/webgl/HolePunch.js +49 -0
  234. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -0
  235. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +3 -0
  236. package/dist/src/core/shaders/webgl/LinearGradient.js +114 -0
  237. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -0
  238. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +3 -0
  239. package/dist/src/core/shaders/webgl/RadialGradient.js +81 -0
  240. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -0
  241. package/dist/src/core/shaders/webgl/Rounded.d.ts +7 -0
  242. package/dist/src/core/shaders/webgl/Rounded.js +88 -0
  243. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -0
  244. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +3 -0
  245. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +202 -0
  246. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -0
  247. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +3 -0
  248. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +223 -0
  249. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -0
  250. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +3 -0
  251. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +123 -0
  252. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -0
  253. package/dist/src/core/shaders/webgl/SdfShader.d.ts +13 -0
  254. package/dist/src/core/shaders/webgl/SdfShader.js +72 -0
  255. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -0
  256. package/dist/src/core/shaders/webgl/Shadow.d.ts +3 -0
  257. package/dist/src/core/shaders/webgl/Shadow.js +115 -0
  258. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -0
  259. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
  260. package/dist/src/core/text-rendering/CanvasFontHandler.js +206 -0
  261. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
  262. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
  263. package/dist/src/core/text-rendering/CanvasTextRenderer.js +139 -0
  264. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
  265. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +167 -0
  266. package/dist/src/core/text-rendering/SdfFontHandler.js +371 -0
  267. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
  268. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
  269. package/dist/src/core/text-rendering/SdfTextRenderer.js +249 -0
  270. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
  271. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
  272. package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
  273. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  274. package/dist/src/core/text-rendering/TextRenderer.d.ts +406 -0
  275. package/dist/src/core/text-rendering/TextRenderer.js +2 -0
  276. package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
  277. package/dist/src/core/text-rendering/Utils.d.ts +30 -0
  278. package/dist/src/core/text-rendering/Utils.js +66 -0
  279. package/dist/src/core/text-rendering/Utils.js.map +1 -0
  280. package/dist/src/core/textures/ColorTexture.d.ts +36 -0
  281. package/dist/src/core/textures/ColorTexture.js +57 -0
  282. package/dist/src/core/textures/ColorTexture.js.map +1 -0
  283. package/dist/src/core/textures/ImageTexture.d.ts +131 -0
  284. package/dist/src/core/textures/ImageTexture.js +211 -0
  285. package/dist/src/core/textures/ImageTexture.js.map +1 -0
  286. package/dist/src/core/textures/NoiseTexture.d.ts +43 -0
  287. package/dist/src/core/textures/NoiseTexture.js +50 -0
  288. package/dist/src/core/textures/NoiseTexture.js.map +1 -0
  289. package/dist/src/core/textures/RenderTexture.d.ts +29 -0
  290. package/dist/src/core/textures/RenderTexture.js +36 -0
  291. package/dist/src/core/textures/RenderTexture.js.map +1 -0
  292. package/dist/src/core/textures/SubTexture.d.ts +61 -0
  293. package/dist/src/core/textures/SubTexture.js +99 -0
  294. package/dist/src/core/textures/SubTexture.js.map +1 -0
  295. package/dist/src/core/textures/Texture.d.ts +275 -0
  296. package/dist/src/core/textures/Texture.js +326 -0
  297. package/dist/src/core/textures/Texture.js.map +1 -0
  298. package/dist/src/core/utils.d.ts +23 -0
  299. package/dist/src/core/utils.js +155 -0
  300. package/dist/src/core/utils.js.map +1 -0
  301. package/dist/src/main-api/INode.d.ts +65 -0
  302. package/dist/src/main-api/INode.js +2 -0
  303. package/dist/src/main-api/INode.js.map +1 -0
  304. package/dist/src/main-api/Inspector.d.ts +154 -0
  305. package/dist/src/main-api/Inspector.js +844 -0
  306. package/dist/src/main-api/Inspector.js.map +1 -0
  307. package/dist/src/main-api/Renderer.d.ts +629 -0
  308. package/dist/src/main-api/Renderer.js +471 -0
  309. package/dist/src/main-api/Renderer.js.map +1 -0
  310. package/dist/src/main-api/utils.d.ts +2 -0
  311. package/dist/src/main-api/utils.js +34 -0
  312. package/dist/src/main-api/utils.js.map +1 -0
  313. package/dist/src/utils.d.ts +123 -0
  314. package/dist/src/utils.js +234 -0
  315. package/dist/src/utils.js.map +1 -0
  316. package/dist/tsconfig.dist.tsbuildinfo +1 -0
  317. package/exports/canvas-shaders.ts +11 -0
  318. package/exports/canvas.ts +27 -0
  319. package/exports/index.ts +69 -0
  320. package/exports/inspector.ts +5 -0
  321. package/exports/utils.ts +32 -0
  322. package/exports/webgl-shaders.ts +12 -0
  323. package/exports/webgl.ts +33 -0
  324. package/package.json +99 -0
  325. package/src/common/CommonTypes.ts +145 -0
  326. package/src/common/EventEmitter.ts +58 -0
  327. package/src/common/IAnimationController.ts +65 -0
  328. package/src/common/IEventEmitter.ts +11 -0
  329. package/src/core/Autosizer.ts +205 -0
  330. package/src/core/CoreNode.test.ts +535 -0
  331. package/src/core/CoreNode.ts +2883 -0
  332. package/src/core/CoreShaderManager.ts +170 -0
  333. package/src/core/CoreTextNode.ts +573 -0
  334. package/src/core/CoreTextureManager.ts +552 -0
  335. package/src/core/Stage.ts +1037 -0
  336. package/src/core/TextureError.ts +46 -0
  337. package/src/core/TextureMemoryManager.ts +378 -0
  338. package/src/core/animations/AnimationManager.ts +178 -0
  339. package/src/core/animations/CoreAnimation.ts +138 -0
  340. package/src/core/lib/ContextSpy.ts +22 -0
  341. package/src/core/lib/ImageWorker.ts +292 -0
  342. package/src/core/lib/Matrix3d.ts +231 -0
  343. package/src/core/lib/RenderCoords.ts +55 -0
  344. package/src/core/lib/WebGlContextWrapper.ts +1448 -0
  345. package/src/core/lib/collectionUtils.ts +99 -0
  346. package/src/core/lib/colorCache.ts +20 -0
  347. package/src/core/lib/colorParser.ts +66 -0
  348. package/src/core/lib/textureCompression.ts +492 -0
  349. package/src/core/lib/textureSvg.ts +59 -0
  350. package/src/core/lib/utils.ts +400 -0
  351. package/src/core/lib/validateImageBitmap.ts +87 -0
  352. package/src/core/platforms/Platform.ts +64 -0
  353. package/src/core/platforms/web/WebPlatform.ts +132 -0
  354. package/src/core/renderers/CoreContextTexture.ts +25 -0
  355. package/src/core/renderers/CoreRenderOp.ts +3 -0
  356. package/src/core/renderers/CoreRenderer.ts +101 -0
  357. package/src/core/renderers/CoreShaderNode.ts +202 -0
  358. package/src/core/renderers/CoreShaderProgram.ts +4 -0
  359. package/src/core/renderers/canvas/CanvasRenderer.ts +274 -0
  360. package/src/core/renderers/canvas/CanvasShaderNode.ts +79 -0
  361. package/src/core/renderers/canvas/CanvasTexture.ts +141 -0
  362. package/src/core/renderers/webgl/SdfRenderOp.ts +103 -0
  363. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +70 -0
  364. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +76 -0
  365. package/src/core/renderers/webgl/WebGlCtxTexture.ts +332 -0
  366. package/src/core/renderers/webgl/WebGlRenderer.ts +1323 -0
  367. package/src/core/renderers/webgl/WebGlShaderNode.ts +423 -0
  368. package/src/core/renderers/webgl/WebGlShaderProgram.ts +346 -0
  369. package/src/core/renderers/webgl/internal/BufferCollection.ts +46 -0
  370. package/src/core/renderers/webgl/internal/RendererUtils.ts +136 -0
  371. package/src/core/renderers/webgl/internal/ShaderUtils.ts +262 -0
  372. package/src/core/renderers/webgl/internal/WebGlUtils.ts +16 -0
  373. package/src/core/shaders/canvas/Border.ts +119 -0
  374. package/src/core/shaders/canvas/HolePunch.ts +38 -0
  375. package/src/core/shaders/canvas/LinearGradient.ts +54 -0
  376. package/src/core/shaders/canvas/RadialGradient.ts +82 -0
  377. package/src/core/shaders/canvas/Rounded.ts +38 -0
  378. package/src/core/shaders/canvas/RoundedWithBorder.ts +105 -0
  379. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +118 -0
  380. package/src/core/shaders/canvas/RoundedWithShadow.ts +56 -0
  381. package/src/core/shaders/canvas/Shadow.ts +35 -0
  382. package/src/core/shaders/canvas/utils/render.ts +143 -0
  383. package/src/core/shaders/templates/BorderTemplate.ts +128 -0
  384. package/src/core/shaders/templates/HolePunchTemplate.ts +65 -0
  385. package/src/core/shaders/templates/LinearGradientTemplate.ts +54 -0
  386. package/src/core/shaders/templates/RadialGradientTemplate.ts +66 -0
  387. package/src/core/shaders/templates/RoundedTemplate.ts +81 -0
  388. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +21 -0
  389. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +23 -0
  390. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +18 -0
  391. package/src/core/shaders/templates/ShadowTemplate.ts +89 -0
  392. package/src/core/shaders/utils.ts +30 -0
  393. package/src/core/shaders/webgl/Border.ts +158 -0
  394. package/src/core/shaders/webgl/Default.ts +52 -0
  395. package/src/core/shaders/webgl/HolePunch.ts +58 -0
  396. package/src/core/shaders/webgl/LinearGradient.ts +119 -0
  397. package/src/core/shaders/webgl/RadialGradient.ts +91 -0
  398. package/src/core/shaders/webgl/Rounded.ts +97 -0
  399. package/src/core/shaders/webgl/RoundedWithBorder.ts +212 -0
  400. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +235 -0
  401. package/src/core/shaders/webgl/RoundedWithShadow.ts +132 -0
  402. package/src/core/shaders/webgl/SdfShader.ts +73 -0
  403. package/src/core/shaders/webgl/Shadow.ts +119 -0
  404. package/src/core/text-rendering/CanvasFontHandler.ts +285 -0
  405. package/src/core/text-rendering/CanvasTextRenderer.ts +236 -0
  406. package/src/core/text-rendering/SdfFontHandler.ts +566 -0
  407. package/src/core/text-rendering/SdfTextRenderer.ts +352 -0
  408. package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
  409. package/src/core/text-rendering/TextRenderer.ts +449 -0
  410. package/src/core/text-rendering/Utils.ts +80 -0
  411. package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +434 -0
  412. package/src/core/textures/ColorTexture.ts +85 -0
  413. package/src/core/textures/ImageTexture.ts +394 -0
  414. package/src/core/textures/NoiseTexture.ts +87 -0
  415. package/src/core/textures/RenderTexture.ts +68 -0
  416. package/src/core/textures/SubTexture.ts +165 -0
  417. package/src/core/textures/Texture.ts +505 -0
  418. package/src/core/utils.ts +210 -0
  419. package/src/env.d.ts +7 -0
  420. package/src/main-api/INode.ts +92 -0
  421. package/src/main-api/Inspector.ts +1267 -0
  422. package/src/main-api/Renderer.ts +1011 -0
  423. package/src/main-api/utils.ts +45 -0
  424. package/src/utils.ts +302 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,629 @@
1
+ import type { ExtractProps, TextureMap } from '../core/CoreTextureManager.js';
2
+ import { EventEmitter } from '../common/EventEmitter.js';
3
+ import { Stage, type StageOptions } from '../core/Stage.js';
4
+ import { CoreNode } from '../core/CoreNode.js';
5
+ import type { INode, INodeProps, ITextNode, ITextNodeProps } from './INode.js';
6
+ import type { TextureMemoryManagerSettings } from '../core/TextureMemoryManager.js';
7
+ import type { TextRenderer } from '../core/text-rendering/TextRenderer.js';
8
+ import type { CanvasRenderer } from '../core/renderers/canvas/CanvasRenderer.js';
9
+ import type { WebGlRenderer } from '../core/renderers/webgl/WebGlRenderer.js';
10
+ import type { Inspector, InspectorOptions } from './Inspector.js';
11
+ import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
12
+ import type { ExtractShaderProps, OptionalShaderProps, ShaderMap } from '../core/CoreShaderManager.js';
13
+ import { Platform } from '../core/platforms/Platform.js';
14
+ /**
15
+ * FPS Update Event Data
16
+ *
17
+ * @category Events
18
+ * @example
19
+ * ```typescript
20
+ * renderer.on('fpsUpdate', (data) => {
21
+ * console.log(`Current FPS: ${data.fps}`);
22
+ * if (data.contextSpyData) {
23
+ * console.log('WebGL calls:', data.contextSpyData);
24
+ * }
25
+ * });
26
+ * ```
27
+ */
28
+ export interface RendererMainFpsUpdateEvent {
29
+ /** Current frames per second */
30
+ fps: number;
31
+ /** Context spy data (if enabled) - contains WebGL call statistics */
32
+ contextSpyData?: unknown;
33
+ }
34
+ /**
35
+ * Frame Tick Event Data
36
+ *
37
+ * @category Events
38
+ * @example
39
+ * ```typescript
40
+ * renderer.on('frameTick', (data) => {
41
+ * console.log(`Frame time: ${data.time}ms, delta: ${data.delta}ms`);
42
+ * });
43
+ * ```
44
+ */
45
+ export interface RendererMainFrameTickEvent {
46
+ /** Current timestamp */
47
+ time: number;
48
+ /** Time delta since last frame */
49
+ delta: number;
50
+ }
51
+ /**
52
+ * Render Update Event Data
53
+ *
54
+ * @category Events
55
+ * @example
56
+ * ```typescript
57
+ * renderer.on('renderUpdate', (data) => {
58
+ * console.log(`Rendered quads: ${data.quads}, renderOps: ${data.renderOps}`);
59
+ * });
60
+ * ```
61
+ */
62
+ export interface RendererMainRenderUpdateEvent {
63
+ /** Number of rendered quads */
64
+ quads: number;
65
+ /** Number of render operations */
66
+ renderOps: number;
67
+ }
68
+ /**
69
+ * Idle Event Data
70
+ *
71
+ * @category Events
72
+ * @remarks
73
+ * This event is emitted when the renderer has no scene updates to process.
74
+ * The event has no payload - use this for performance optimizations during idle periods.
75
+ *
76
+ * @example
77
+ * ```typescript
78
+ * renderer.on('idle', () => {
79
+ * // Renderer is idle - perfect time for cleanup, analytics, etc.
80
+ * console.log('Renderer is idle - no scene changes');
81
+ *
82
+ * // Example: Perform background tasks
83
+ * performBackgroundCleanup();
84
+ * sendAnalytics();
85
+ * });
86
+ * ```
87
+ */
88
+ export interface RendererMainIdleEvent {
89
+ /** This event has no payload - listen without parameters */
90
+ readonly __eventHasNoPayload?: never;
91
+ }
92
+ /**
93
+ * Critical Cleanup Event Data
94
+ *
95
+ * @category Events
96
+ * @example
97
+ * ```typescript
98
+ * renderer.on('criticalCleanup', (data) => {
99
+ * console.log(`Memory cleanup triggered!`);
100
+ * console.log(`Memory used: ${data.memUsed} bytes`);
101
+ * console.log(`Critical threshold: ${data.criticalThreshold} bytes`);
102
+ * });
103
+ * ```
104
+ */
105
+ export interface RendererMainCriticalCleanupEvent {
106
+ /** Memory used before cleanup (bytes) */
107
+ memUsed: number;
108
+ /** Critical threshold (bytes) */
109
+ criticalThreshold: number;
110
+ }
111
+ /**
112
+ * Critical Cleanup Failed Event Data
113
+ *
114
+ * @category Events
115
+ * @example
116
+ * ```typescript
117
+ * renderer.on('criticalCleanupFailed', (data) => {
118
+ * console.warn(`Memory cleanup failed!`);
119
+ * console.log(`Memory still used: ${data.memUsed} bytes`);
120
+ * console.log(`Critical threshold: ${data.criticalThreshold} bytes`);
121
+ * // Consider reducing texture usage or forcing cleanup
122
+ * });
123
+ * ```
124
+ */
125
+ export interface RendererMainCriticalCleanupFailedEvent {
126
+ /** Memory used after cleanup (bytes) */
127
+ memUsed: number;
128
+ /** Critical threshold (bytes) */
129
+ criticalThreshold: number;
130
+ }
131
+ /**
132
+ * Settings for the Renderer that can be updated during runtime.
133
+ */
134
+ export interface RendererRuntimeSettings {
135
+ /**
136
+ * Authored logical pixel width of the application
137
+ *
138
+ * @defaultValue `1920`
139
+ */
140
+ appWidth: number;
141
+ /**
142
+ * Authored logical pixel height of the application
143
+ *
144
+ * @defaultValue `1080`
145
+ */
146
+ appHeight: number;
147
+ /**
148
+ * Texture Memory Manager Settings
149
+ */
150
+ textureMemory: Partial<TextureMemoryManagerSettings>;
151
+ /**
152
+ * Bounds margin to extend the boundary in which a Node is added as Quad.
153
+ */
154
+ boundsMargin: number | [number, number, number, number];
155
+ /**
156
+ * Factor to convert app-authored logical coorindates to device logical coordinates
157
+ *
158
+ * @remarks
159
+ * This value allows auto-scaling to support larger/small resolutions than the
160
+ * app was authored for.
161
+ *
162
+ * If the app was authored for 1920x1080 and this value is 2, the app's canvas
163
+ * will be rendered at 3840x2160 logical pixels.
164
+ *
165
+ * Likewise, if the app was authored for 1920x1080 and this value is 0.66667,
166
+ * the app's canvas will be rendered at 1280x720 logical pixels.
167
+ *
168
+ * @defaultValue `1`
169
+ */
170
+ deviceLogicalPixelRatio: number;
171
+ /**
172
+ * Factor to convert device logical coordinates to device physical coordinates
173
+ *
174
+ * @remarks
175
+ * This value allows auto-scaling to support devices with different pixel densities.
176
+ *
177
+ * This controls the number of physical pixels that are used to render each logical
178
+ * pixel. For example, if the device has a pixel density of 2, each logical pixel
179
+ * will be rendered using 2x2 physical pixels.
180
+ *
181
+ * By default, it will be set to `window.devicePixelRatio` which is the pixel
182
+ * density of the device the app is running on reported by the browser.
183
+ *
184
+ * @defaultValue `window.devicePixelRatio`
185
+ */
186
+ devicePhysicalPixelRatio: number;
187
+ /**
188
+ * RGBA encoded number of the background to use
189
+ *
190
+ * @defaultValue `0x00000000`
191
+ */
192
+ clearColor: number;
193
+ /**
194
+ * Interval in milliseconds to receive FPS updates
195
+ *
196
+ * @remarks
197
+ * If set to `0`, FPS updates will be disabled.
198
+ *
199
+ * @defaultValue `0` (disabled)
200
+ */
201
+ fpsUpdateInterval: number;
202
+ /**
203
+ * Clears the render buffer on reset
204
+ *
205
+ * @remarks
206
+ * If false, the renderer will not clear the buffer before rendering a new frame.
207
+ * This is useful if you want to preserve the previous frame.
208
+ *
209
+ * @defaultValue `true`
210
+ */
211
+ enableClear: boolean;
212
+ /**
213
+ * DOM Inspector
214
+ *
215
+ * @remarks
216
+ * The inspector will replicate the state of the Nodes created
217
+ * in the renderer and allow inspection of the state of the nodes.
218
+ *
219
+ */
220
+ inspector: typeof Inspector | false;
221
+ /**
222
+ * Inspector Options
223
+ *
224
+ * @remarks
225
+ * Configuration options for the Inspector's performance monitoring features.
226
+ * Only used when inspector is enabled.
227
+ */
228
+ inspectorOptions?: Partial<InspectorOptions>;
229
+ /**
230
+ * Texture Processing Limit (in milliseconds)
231
+ *
232
+ * @remarks
233
+ * The maximum amount of time the renderer is allowed to process textures in a
234
+ * single frame. If the processing time exceeds this limit, the renderer will
235
+ * skip processing the remaining textures and continue rendering the frame.
236
+ *
237
+ * @defaultValue `10`
238
+ */
239
+ textureProcessingTimeLimit: number;
240
+ /**
241
+ * Target FPS for the global render loop
242
+ *
243
+ * @remarks
244
+ * Controls the maximum frame rate of the entire rendering system.
245
+ * When set to 0, no throttling is applied (use display refresh rate).
246
+ * When set to a positive number, the global requestAnimationFrame loop
247
+ * will be throttled to this target FPS, affecting all animations and rendering.
248
+ *
249
+ * This provides global performance control for the entire application,
250
+ * useful for managing performance on lower-end devices.
251
+ *
252
+ * @defaultValue `0` (no throttling, use display refresh rate)
253
+ */
254
+ targetFPS: number;
255
+ }
256
+ /**
257
+ * Configuration settings for {@link RendererMain}
258
+ */
259
+ export type RendererMainSettings = RendererRuntimeSettings & {
260
+ /**
261
+ * Include context call (i.e. WebGL) information in FPS updates
262
+ *
263
+ * @remarks
264
+ * When enabled the number of calls to each context method over the
265
+ * `fpsUpdateInterval` will be included in the FPS update payload's
266
+ * `contextSpyData` property.
267
+ *
268
+ * Enabling the context spy has a serious impact on performance so only use it
269
+ * when you need to extract context call information.
270
+ *
271
+ * @defaultValue `false` (disabled)
272
+ */
273
+ enableContextSpy: boolean;
274
+ /**
275
+ * Number or Image Workers to use
276
+ *
277
+ * @remarks
278
+ * On devices with multiple cores, this can be used to improve image loading
279
+ * as well as reduce the impact of image loading on the main thread.
280
+ * Set to 0 to disable image workers.
281
+ *
282
+ * @defaultValue `2`
283
+ */
284
+ numImageWorkers: number;
285
+ /**
286
+ * Renderer Engine
287
+ *
288
+ * @remarks
289
+ * The renderer engine to use. Spawns a WebGL or Canvas renderer.
290
+ * WebGL is more performant and supports more features. Canvas is
291
+ * supported on most platforms.
292
+ *
293
+ * Note: When using CanvasCoreRenderer you can only use
294
+ * CanvasTextRenderer. The WebGLCoreRenderer supports
295
+ * both CanvasTextRenderer and SdfTextRenderer for Text Rendering.
296
+ *
297
+ */
298
+ renderEngine: typeof CanvasRenderer | typeof WebGlRenderer;
299
+ /**
300
+ * Quad buffer size in bytes
301
+ *
302
+ * @defaultValue 4 * 1024 * 1024
303
+ */
304
+ quadBufferSize: number;
305
+ /**
306
+ * Font Engines
307
+ *
308
+ * @remarks
309
+ * The font engines to use for text rendering. CanvasTextRenderer is supported
310
+ * on all platforms. SdfTextRenderer is a more performant renderer.
311
+ * When using `renderEngine=CanvasCoreRenderer` you can only use `CanvasTextRenderer`.
312
+ * The `renderEngine=WebGLCoreRenderer` supports both `CanvasTextRenderer` and `SdfTextRenderer`.
313
+ *
314
+ * This setting is used to enable tree shaking of unused font engines. Please
315
+ * import your font engine(s) as follows:
316
+ * ```
317
+ * import { CanvasTextRenderer } from '@lightning/renderer/canvas';
318
+ * import { SdfTextRenderer } from '@lightning/renderer/webgl';
319
+ * ```
320
+ *
321
+ * If both CanvasTextRenderer and SdfTextRenderer are provided, the first renderer
322
+ * provided will be asked first if it can render the font. If it cannot render the
323
+ * font, the next renderer will be asked. If no renderer can render the font, the
324
+ * text will not be rendered.
325
+ *
326
+ * **Note** that if you have fonts available in both engines the second font engine
327
+ * will not be used. This is because the first font engine will always be asked first.
328
+ *
329
+ * @defaultValue '[]'
330
+ *
331
+ *
332
+ */
333
+ fontEngines: TextRenderer[];
334
+ /**
335
+ * Force WebGL2
336
+ *
337
+ * @remarks
338
+ * Force the renderer to use WebGL2. This can be used to force the renderer to
339
+ * use WebGL2 even if the browser supports WebGL1.
340
+ *
341
+ * @defaultValue `false`
342
+ */
343
+ forceWebGL2: boolean;
344
+ /**
345
+ * Canvas object to use for rendering
346
+ *
347
+ * @remarks
348
+ * This is used to render the scene graph. If not provided, a new canvas
349
+ * element will be created and appended to the target element.
350
+ */
351
+ canvas: HTMLCanvasElement;
352
+ /**
353
+ * createImageBitmap support for the runtime
354
+ *
355
+ * @remarks
356
+ * This is used to determine if and which version of the createImageBitmap API
357
+ * is supported by the runtime. This is used to determine if the renderer can
358
+ * use createImageBitmap to load images.
359
+ *
360
+ * Options supported
361
+ * - Auto - Automatically determine the supported version
362
+ * - Basic - Supports createImageBitmap(image)
363
+ * - Options - Supports createImageBitmap(image, options)
364
+ * - Full - Supports createImageBitmap(image, sx, sy, sw, sh, options)
365
+ *
366
+ * Note with auto detection, the renderer will attempt to use the most advanced
367
+ * version of the API available. If the API is not available, the renderer will
368
+ * fall back to the next available version.
369
+ *
370
+ * This will affect startup performance as the renderer will need to determine
371
+ * the supported version of the API.
372
+ *
373
+ * @defaultValue `full`
374
+ */
375
+ createImageBitmapSupport: 'auto' | 'basic' | 'options' | 'full';
376
+ /**
377
+ * Provide an alternative platform abstraction layer
378
+ *
379
+ * @remarks
380
+ * By default the Lightning 3 renderer will load a webplatform, assuming it runs
381
+ * inside a web browsr. However for special cases there might be a need to provide
382
+ * an abstracted platform layer to run on non-web or non-standard JS engines
383
+ *
384
+ * @defaultValue `null`
385
+ */
386
+ platform: typeof Platform | null;
387
+ /**
388
+ * Number of times to retry loading a failed texture
389
+ *
390
+ * @remarks
391
+ * When a texture fails to load, Lightning will retry up to this many times
392
+ * before permanently giving up. Each retry will clear the texture ownership
393
+ * and then re-establish it to trigger a new load attempt.
394
+ *
395
+ * Set to null to disable retries. Set to 0 to always try once and never retry.
396
+ * This is typically only used on ImageTexture instances.
397
+ *
398
+ */
399
+ maxRetryCount?: number;
400
+ };
401
+ /**
402
+ * The Renderer Main API
403
+ *
404
+ * @remarks
405
+ * This is the primary class used to configure and operate the Renderer.
406
+ *
407
+ * It is used to create and destroy Nodes, as well as Texture and Shader
408
+ * references.
409
+ *
410
+ * Example:
411
+ * ```ts
412
+ * import { RendererMain, MainCoreDriver } from '@lightningjs/renderer';
413
+ *
414
+ * // Initialize the Renderer
415
+ * const renderer = new RendererMain(
416
+ * {
417
+ * appWidth: 1920,
418
+ * appHeight: 1080
419
+ * },
420
+ * 'app',
421
+ * new MainCoreDriver(),
422
+ * );
423
+ * ```
424
+ *
425
+ * ## Event Handling
426
+ *
427
+ * Listen to events using the standard EventEmitter API:
428
+ * ```typescript
429
+ * renderer.on('fpsUpdate', (data: RendererMainFpsUpdateEvent) => {
430
+ * console.log(`FPS: ${data.fps}`);
431
+ * });
432
+ *
433
+ * renderer.on('idle', (data: RendererMainIdleEvent) => {
434
+ * // Renderer is idle - no scene changes
435
+ * });
436
+ * ```
437
+ *
438
+ * @see {@link RendererMainFpsUpdateEvent}
439
+ * @see {@link RendererMainFrameTickEvent}
440
+ * @see {@link RendererMainRenderUpdateEvent}
441
+ * @see {@link RendererMainIdleEvent}
442
+ * @see {@link RendererMainCriticalCleanupEvent}
443
+ * @see {@link RendererMainCriticalCleanupFailedEvent}
444
+ *
445
+ * @fires RendererMain#fpsUpdate
446
+ * @fires RendererMain#frameTick
447
+ * @fires RendererMain#renderUpdate
448
+ * @fires RendererMain#idle
449
+ * @fires RendererMain#criticalCleanup
450
+ * @fires RendererMain#criticalCleanupFailed
451
+ */
452
+ export declare class RendererMain extends EventEmitter {
453
+ readonly root: INode;
454
+ readonly canvas: HTMLCanvasElement;
455
+ readonly stage: Stage;
456
+ private inspector;
457
+ /**
458
+ * Constructs a new Renderer instance
459
+ *
460
+ * @param settings Renderer settings
461
+ * @param target Element ID or HTMLElement to insert the canvas into
462
+ * @param driver Core Driver to use
463
+ */
464
+ constructor(settings: Partial<RendererMainSettings>, target?: string | HTMLElement);
465
+ /**
466
+ * Resolves the Texture Memory Manager values
467
+ *
468
+ * @param props
469
+ * @returns
470
+ */
471
+ private resolveTxSettings;
472
+ /**
473
+ * Create a new scene graph node
474
+ *
475
+ * @remarks
476
+ * A node is the main graphical building block of the Renderer scene graph. It
477
+ * can be a container for other nodes, or it can be a leaf node that renders a
478
+ * solid color, gradient, image, or specific texture, using a specific shader.
479
+ *
480
+ * To create a text node, see {@link createTextNode}.
481
+ *
482
+ * See {@link CoreNode} for more details.
483
+ *
484
+ * @param props
485
+ * @returns
486
+ */
487
+ createNode<ShNode extends CoreShaderNode<any>>(props: Partial<INodeProps<ShNode>>): INode<ShNode>;
488
+ /**
489
+ * Create a new scene graph text node
490
+ *
491
+ * @remarks
492
+ * A text node is the second graphical building block of the Renderer scene
493
+ * graph. It renders text using a specific text renderer that is automatically
494
+ * chosen based on the font requested and what type of fonts are installed
495
+ * into an app.
496
+ *
497
+ * See {@link ITextNode} for more details.
498
+ *
499
+ * @param props
500
+ * @returns
501
+ */
502
+ createTextNode(props: Partial<ITextNodeProps>): ITextNode;
503
+ /**
504
+ * Destroy a node
505
+ *
506
+ * @remarks
507
+ * This method destroys a node
508
+ *
509
+ * @param node
510
+ * @returns
511
+ */
512
+ destroyNode(node: INode): void;
513
+ /**
514
+ * Create a new texture reference
515
+ *
516
+ * @remarks
517
+ * This method creates a new reference to a texture. The texture is not
518
+ * loaded until it is used on a node.
519
+ *
520
+ * It can be assigned to a node's `texture` property, or it can be used
521
+ * when creating a SubTexture.
522
+ *
523
+ * @param textureType
524
+ * @param props
525
+ * @param options
526
+ * @returns
527
+ */
528
+ createTexture<TxType extends keyof TextureMap>(textureType: TxType, props: ExtractProps<TextureMap[TxType]>): InstanceType<TextureMap[TxType]>;
529
+ /**
530
+ * Create a new shader controller for a shader type
531
+ *
532
+ * @remarks
533
+ * This method creates a new Shader Controller for a specific shader type.
534
+ *
535
+ * If the shader has not been loaded yet, it will be loaded. Otherwise, the
536
+ * existing shader will be reused.
537
+ *
538
+ * It can be assigned to a Node's `shader` property.
539
+ *
540
+ * @param shaderType
541
+ * @param props
542
+ * @returns
543
+ */
544
+ createShader<ShType extends keyof ShaderMap>(shType: ShType, props?: OptionalShaderProps<ShType>): CoreShaderNode<NonNullable<ExtractShaderProps<ShType>>>;
545
+ /**
546
+ * Get a Node by its ID
547
+ *
548
+ * @param id
549
+ * @returns
550
+ */
551
+ getNodeById(id: number): CoreNode | null;
552
+ toggleFreeze(): void;
553
+ advanceFrame(): void;
554
+ getBufferInfo(): import("../core/renderers/CoreRenderer.js").BufferInfo | null;
555
+ /**
556
+ * Re-render the current frame without advancing any running animations.
557
+ *
558
+ * @remarks
559
+ * Any state changes will be reflected in the re-rendered frame. Useful for
560
+ * debugging.
561
+ *
562
+ * May not do anything if the render loop is running on a separate worker.
563
+ */
564
+ rerender(): void;
565
+ /**
566
+ * Cleanup textures that are not being used
567
+ *
568
+ * @param aggressive - If true, will cleanup all textures, regardless of render status
569
+ *
570
+ * @remarks
571
+ * This can be used to free up GFX memory used by textures that are no longer
572
+ * being displayed.
573
+ *
574
+ * This routine is also called automatically when the memory used by textures
575
+ * exceeds the critical threshold on frame generation **OR** when the renderer
576
+ * is idle and the memory used by textures exceeds the target threshold.
577
+ *
578
+ * **NOTE**: This is a heavy operation and should be used sparingly.
579
+ * **NOTE2**: This will not cleanup textures that are currently being displayed.
580
+ * **NOTE3**: This will not cleanup textures that are marked as `preventCleanup`.
581
+ * **NOTE4**: This has nothing to do with the garbage collection of JavaScript.
582
+ */
583
+ cleanup(): void;
584
+ /**
585
+ * Sets the clear color for the stage.
586
+ *
587
+ * @param color - The color to set as the clear color.
588
+ */
589
+ setClearColor(color: number): void;
590
+ /**
591
+ * Set options for the renderer
592
+ *
593
+ * @param options
594
+ */
595
+ setOptions(options: Partial<RendererRuntimeSettings>): void;
596
+ private updateAppDimensions;
597
+ get settings(): Readonly<StageOptions>;
598
+ /**
599
+ * Gets the target FPS for the global render loop
600
+ *
601
+ * @returns The current target FPS (0 means no throttling)
602
+ *
603
+ * @remarks
604
+ * This controls the maximum frame rate of the entire rendering system.
605
+ * When 0, the system runs at display refresh rate.
606
+ */
607
+ get targetFPS(): number;
608
+ /**
609
+ * Sets the target FPS for the global render loop
610
+ *
611
+ * @param fps - The target FPS to set for the global render loop.
612
+ * Set to 0 or a negative value to disable throttling.
613
+ *
614
+ * @remarks
615
+ * This setting affects the entire rendering system immediately.
616
+ * All animations, rendering, and frame updates will be throttled
617
+ * to this target FPS. Provides global performance control.
618
+ *
619
+ * @example
620
+ * ```typescript
621
+ * // Set global target to 30fps for better performance
622
+ * renderer.targetFPS = 30;
623
+ *
624
+ * // Disable global throttling (use display refresh rate)
625
+ * renderer.targetFPS = 0;
626
+ * ```
627
+ */
628
+ set targetFPS(fps: number);
629
+ }