@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":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Core Utility Functions
3
+ *
4
+ * @module
5
+ */
6
+ export declare const EPSILON = 0.000001;
7
+ export declare let ARRAY_TYPE: ArrayConstructor | Float32ArrayConstructor;
8
+ export declare const RANDOM: () => number;
9
+ export declare const ANGLE_ORDER = "zyx";
10
+ export type TimingFunction = (t: number) => number;
11
+ export declare const setMatrixArrayType: (type: Float32ArrayConstructor | ArrayConstructor) => void;
12
+ export declare const toRadian: (a: number) => number;
13
+ export declare const equals: (a: number, b: number) => boolean;
14
+ export declare const rand: (min: number, max: number) => number;
15
+ export declare const isPowerOfTwo: (value: number) => boolean | 0;
16
+ export declare const getTimingFunction: (str: string) => TimingFunction;
17
+ /**
18
+ * Convert bytes to string of megabytes with 2 decimal points
19
+ *
20
+ * @param bytes
21
+ * @returns
22
+ */
23
+ export declare function bytesToMb(bytes: number): string;
@@ -0,0 +1,155 @@
1
+ /**
2
+ * Core Utility Functions
3
+ *
4
+ * @module
5
+ */
6
+ export const EPSILON = 0.000001;
7
+ export let ARRAY_TYPE = typeof Float32Array !== 'undefined' ? Float32Array : Array;
8
+ export const RANDOM = Math.random;
9
+ export const ANGLE_ORDER = 'zyx';
10
+ const degree = Math.PI / 180;
11
+ export const setMatrixArrayType = (type) => {
12
+ ARRAY_TYPE = type;
13
+ };
14
+ export const toRadian = (a) => {
15
+ return a * degree;
16
+ };
17
+ export const equals = (a, b) => {
18
+ return Math.abs(a - b) <= EPSILON * Math.max(1.0, Math.abs(a), Math.abs(b));
19
+ };
20
+ export const rand = (min, max) => {
21
+ return Math.floor(Math.random() * (max - min + 1) + min);
22
+ };
23
+ export const isPowerOfTwo = (value) => {
24
+ return value && !(value & (value - 1));
25
+ };
26
+ const getTimingBezier = (a, b, c, d) => {
27
+ const xc = 3.0 * a;
28
+ const xb = 3.0 * (c - a) - xc;
29
+ const xa = 1.0 - xc - xb;
30
+ const yc = 3.0 * b;
31
+ const yb = 3.0 * (d - b) - yc;
32
+ const ya = 1.0 - yc - yb;
33
+ return function (time) {
34
+ if (time >= 1.0) {
35
+ return 1;
36
+ }
37
+ if (time <= 0) {
38
+ return 0;
39
+ }
40
+ let t = 0.5, cbx, cbxd, dx;
41
+ for (let it = 0; it < 20; it++) {
42
+ cbx = t * (t * (t * xa + xb) + xc);
43
+ dx = time - cbx;
44
+ if (dx > -1e-8 && dx < 1e-8) {
45
+ return t * (t * (t * ya + yb) + yc);
46
+ }
47
+ // Cubic bezier derivative.
48
+ cbxd = t * (t * (3 * xa) + 2 * xb) + xc;
49
+ if (cbxd > 1e-10 && cbxd < 1e-10) {
50
+ // Problematic. Fall back to binary search method.
51
+ break;
52
+ }
53
+ t += dx / cbxd;
54
+ }
55
+ // Fallback: binary search method. This is more reliable when there are near-0 slopes.
56
+ let minT = 0;
57
+ let maxT = 1;
58
+ for (let it = 0; it < 20; it++) {
59
+ t = 0.5 * (minT + maxT);
60
+ cbx = t * (t * (t * xa + xb) + xc);
61
+ dx = time - cbx;
62
+ if (dx > -1e-8 && dx < 1e-8) {
63
+ // Solution found!
64
+ return t * (t * (t * ya + yb) + yc);
65
+ }
66
+ if (dx < 0) {
67
+ maxT = t;
68
+ }
69
+ else {
70
+ minT = t;
71
+ }
72
+ }
73
+ return time;
74
+ };
75
+ };
76
+ const timingMapping = {};
77
+ const timingLookup = {
78
+ ease: [0.25, 0.1, 0.25, 1.0],
79
+ 'ease-in': [0.42, 0, 1.0, 1.0],
80
+ 'ease-out': [0, 0, 0.58, 1.0],
81
+ 'ease-in-out': [0.42, 0, 0.58, 1.0],
82
+ 'ease-in-sine': [0.12, 0, 0.39, 0],
83
+ 'ease-out-sine': [0.12, 0, 0.39, 0],
84
+ 'ease-in-out-sine': [0.37, 0, 0.63, 1],
85
+ 'ease-in-cubic': [0.32, 0, 0.67, 0],
86
+ 'ease-out-cubic': [0.33, 1, 0.68, 1],
87
+ 'ease-in-out-cubic': [0.65, 0, 0.35, 1],
88
+ 'ease-in-circ': [0.55, 0, 1, 0.45],
89
+ 'ease-out-circ': [0, 0.55, 0.45, 1],
90
+ 'ease-in-out-circ': [0.85, 0, 0.15, 1],
91
+ 'ease-in-back': [0.36, 0, 0.66, -0.56],
92
+ 'ease-out-back': [0.34, 1.56, 0.64, 1],
93
+ 'ease-in-out-back': [0.68, -0.6, 0.32, 1.6],
94
+ };
95
+ const defaultTiming = (t) => t;
96
+ const parseCubicBezier = (str) => {
97
+ //cubic-bezier(0.84, 0.52, 0.56, 0.6)
98
+ const regex = /-?\d*\.?\d+/g;
99
+ const match = str.match(regex);
100
+ if (match) {
101
+ const [num1, num2, num3, num4] = match;
102
+ const a = parseFloat(num1 || '0.42');
103
+ const b = parseFloat(num2 || '0');
104
+ const c = parseFloat(num3 || '1');
105
+ const d = parseFloat(num4 || '1');
106
+ const timing = getTimingBezier(a, b, c, d);
107
+ timingMapping[str] = timing;
108
+ return timing;
109
+ }
110
+ // parse failed, return linear
111
+ console.warn('Unknown cubic-bezier timing: ' + str);
112
+ return defaultTiming;
113
+ };
114
+ export const getTimingFunction = (str) => {
115
+ if (str === 'linear') {
116
+ return defaultTiming;
117
+ }
118
+ if (timingMapping[str] !== undefined) {
119
+ return timingMapping[str] || defaultTiming;
120
+ }
121
+ if (str === 'step-start') {
122
+ return () => {
123
+ return 1;
124
+ };
125
+ }
126
+ if (str === 'step-end') {
127
+ return (time) => {
128
+ return time === 1 ? 1 : 0;
129
+ };
130
+ }
131
+ const lookup = timingLookup[str];
132
+ if (lookup !== undefined) {
133
+ const [a, b, c, d] = lookup;
134
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
135
+ // @ts-ignore - TS doesn't understand that we've checked for undefined
136
+ const timing = getTimingBezier(a, b, c, d);
137
+ timingMapping[str] = timing;
138
+ return timing;
139
+ }
140
+ if (str.startsWith('cubic-bezier')) {
141
+ return parseCubicBezier(str);
142
+ }
143
+ console.warn('Unknown timing function: ' + str);
144
+ return defaultTiming;
145
+ };
146
+ /**
147
+ * Convert bytes to string of megabytes with 2 decimal points
148
+ *
149
+ * @param bytes
150
+ * @returns
151
+ */
152
+ export function bytesToMb(bytes) {
153
+ return (bytes / 1024 / 1024).toFixed(2);
154
+ }
155
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/core/utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { IAnimationController } from '../common/IAnimationController.js';
2
+ import { CoreNode, type CoreNodeAnimateProps, type CoreNodeProps } from '../core/CoreNode.js';
3
+ import type { CoreTextNode, CoreTextNodeProps } from '../core/CoreTextNode.js';
4
+ import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
5
+ import type { CoreShaderNode } from '../core/renderers/CoreShaderNode.js';
6
+ /**
7
+ * A visual Node in the Renderer scene graph.
8
+ *
9
+ * @remarks
10
+ * A Node is a basic building block of the Renderer scene graph. It can be a
11
+ * container for other Nodes, or it can be a leaf Node that renders a solid
12
+ * color, gradient, image, or specific texture, using a specific shader.
13
+ *
14
+ * For text rendering Nodes, see {@link ITextNode}.
15
+ *
16
+ * ## INode vs CoreNode
17
+ * CoreNode is the name of the class for a Renderer Node and is only directly
18
+ * used internally by the Renderer. INode describes the public API of a
19
+ * Renderer Node including the ability to be tied to a specific Shader.
20
+ *
21
+ * Users of the Renderer API, should generally interact with INode objects
22
+ * instead of CoreNode objects.
23
+ */
24
+ export interface INode<ShaderNode extends CoreShaderNode = CoreShaderNode> extends Omit<CoreNode, 'shader' | 'animate' | 'parent'> {
25
+ shader: ShaderNode;
26
+ animate(props: Partial<INodeAnimateProps<ShaderNode>>, settings: Partial<AnimationSettings>): IAnimationController;
27
+ animateProp(name: string, value: number, settings: Partial<AnimationSettings>): IAnimationController;
28
+ parent: INode | null;
29
+ }
30
+ /**
31
+ * Properties used to animate() a Node
32
+ */
33
+ export interface INodeAnimateProps<ShNode extends CoreShaderNode = CoreShaderNode> extends Omit<CoreNodeAnimateProps, 'shaderProps'> {
34
+ shaderProps: Partial<ShNode['props']>;
35
+ }
36
+ /**
37
+ * Properties used to create a new Node
38
+ */
39
+ export interface INodeProps<ShNode extends CoreShaderNode = CoreShaderNode> extends Omit<CoreNodeProps, 'shader' | 'parent'> {
40
+ shader: ShNode;
41
+ parent: INode | null;
42
+ }
43
+ /**
44
+ * A visual Node in the Renderer scene graph that renders text.
45
+ *
46
+ * @remarks
47
+ * A Text Node is a special type of Node that renders text using a specific
48
+ * text renderer, such as Web/Canvas or Signed Distance Field (SDF) text.
49
+ *
50
+ * For non-text rendering, see {@link INode}.
51
+ *
52
+ * Users of the Renderer API, should generally interact with ITextNode objects
53
+ * instead of CoreTextNode objects.
54
+ */
55
+ export interface ITextNode extends Omit<CoreTextNode, 'animate' | 'parent'> {
56
+ animate(props: Partial<INodeAnimateProps<CoreShaderNode>>, settings: Partial<AnimationSettings>): IAnimationController;
57
+ animateProp(name: string, value: number, settings: Partial<AnimationSettings>): IAnimationController;
58
+ parent: INode | null;
59
+ }
60
+ /**
61
+ * Properties used to create a new Text Node
62
+ */
63
+ export interface ITextNodeProps extends Omit<CoreTextNodeProps, 'parent'> {
64
+ parent: INode | null;
65
+ }
@@ -0,0 +1,2 @@
1
+ import { CoreNode, } from '../core/CoreNode.js';
2
+ //# sourceMappingURL=INode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"INode.js","sourceRoot":"","sources":["../../../src/main-api/INode.ts"],"names":[],"mappings":"AACA,OAAO,EACL,QAAQ,GAGT,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,154 @@
1
+ import { CoreNode, type CoreNodeAnimateProps, type CoreNodeProps } from '../core/CoreNode.js';
2
+ import { type RendererMainSettings } from './Renderer.js';
3
+ import type { AnimationSettings } from '../core/animations/CoreAnimation.js';
4
+ import type { AnimationControllerState } from '../common/IAnimationController.js';
5
+ import { CoreTextNode, type CoreTextNodeProps } from '../core/CoreTextNode.js';
6
+ import type { Texture } from '../core/textures/Texture.js';
7
+ /**
8
+ * Inspector Options
9
+ *
10
+ * Configuration options for the Inspector's performance monitoring features.
11
+ */
12
+ export interface InspectorOptions {
13
+ /**
14
+ * Enable performance monitoring for setter calls
15
+ *
16
+ * @defaultValue true
17
+ */
18
+ enablePerformanceMonitoring: boolean;
19
+ /**
20
+ * Threshold for excessive setter calls before logging a warning
21
+ *
22
+ * @defaultValue 100
23
+ */
24
+ excessiveCallThreshold: number;
25
+ /**
26
+ * Time interval in milliseconds to reset the setter call counters
27
+ *
28
+ * @defaultValue 5000
29
+ */
30
+ resetInterval: number;
31
+ /**
32
+ * Enable animation monitoring and statistics tracking
33
+ *
34
+ * @defaultValue true
35
+ */
36
+ enableAnimationMonitoring: boolean;
37
+ /**
38
+ * Maximum number of animations to keep in history for statistics
39
+ *
40
+ * @defaultValue 1000
41
+ */
42
+ maxAnimationHistory: number;
43
+ /**
44
+ * Automatically print animation statistics every X seconds (0 to disable)
45
+ *
46
+ * @defaultValue 0
47
+ */
48
+ animationStatsInterval: number;
49
+ }
50
+ export declare class Inspector {
51
+ private root;
52
+ private canvas;
53
+ private mutationObserver;
54
+ private resizeObserver;
55
+ private height;
56
+ private width;
57
+ private scaleX;
58
+ private scaleY;
59
+ private textureMetrics;
60
+ private static setterCallCount;
61
+ private static activeAnimations;
62
+ private static animationHistory;
63
+ private performanceSettings;
64
+ private animationStatsTimer;
65
+ constructor(canvas: HTMLCanvasElement, settings: RendererMainSettings);
66
+ /**
67
+ * Track setter calls for performance monitoring
68
+ * Only active when Inspector is loaded
69
+ */
70
+ private trackSetterCall;
71
+ /**
72
+ * Get current performance monitoring statistics
73
+ */
74
+ static getPerformanceStats(): Array<{
75
+ nodeId: number;
76
+ setterName: string;
77
+ count: number;
78
+ timeWindow: number;
79
+ }>;
80
+ /**
81
+ * Clear performance monitoring statistics
82
+ */
83
+ static clearPerformanceStats(): void;
84
+ /**
85
+ * Generate a unique animation ID
86
+ */
87
+ private static generateAnimationId;
88
+ /**
89
+ * Wrap animation controller with monitoring capabilities
90
+ */
91
+ private wrapAnimationController;
92
+ /**
93
+ * Track animation start
94
+ */
95
+ private trackAnimationStart;
96
+ /**
97
+ * Update animation state
98
+ */
99
+ private updateAnimationState;
100
+ /**
101
+ * Track animation end
102
+ */
103
+ private trackAnimationEnd;
104
+ /**
105
+ * Get currently active animations
106
+ */
107
+ static getActiveAnimations(): Array<{
108
+ nodeId: number;
109
+ animationId: string;
110
+ startTime: number;
111
+ duration: number;
112
+ elapsedTime: number;
113
+ props: CoreNodeAnimateProps;
114
+ settings: AnimationSettings;
115
+ state: AnimationControllerState;
116
+ }>;
117
+ /**
118
+ * Get animation statistics
119
+ */
120
+ static getAnimationStats(): {
121
+ totalAnimations: number;
122
+ activeCount: number;
123
+ averageDuration: number;
124
+ };
125
+ /**
126
+ * Clear animation monitoring data
127
+ */
128
+ static clearAnimationStats(): void;
129
+ /**
130
+ * Start the animation stats timer if enabled
131
+ */
132
+ private startAnimationStatsTimer;
133
+ /**
134
+ * Stop the animation stats timer
135
+ */
136
+ private stopAnimationStatsTimer;
137
+ /**
138
+ * Print current animation statistics to console
139
+ */
140
+ private printAnimationStats;
141
+ setRootPosition(): void;
142
+ createDiv(id: number, properties: CoreNodeProps | CoreTextNodeProps): HTMLElement;
143
+ createNodes(node: CoreNode): boolean;
144
+ createNode(node: CoreNode): CoreNode;
145
+ createTextNode(node: CoreTextNode): CoreTextNode;
146
+ createProxy(node: CoreNode | CoreTextNode, div: HTMLElement): CoreNode | CoreTextNode;
147
+ updateTextNodeDimensions(div: HTMLElement, node: CoreTextNode): void;
148
+ updateTextureAttributes(div: HTMLElement, texture: Texture): void;
149
+ destroy(): void;
150
+ destroyNode(id: number): void;
151
+ updateNodeProperty(div: HTMLElement, property: keyof CoreNodeProps | keyof CoreTextNodeProps, value: any, props: CoreNodeProps | CoreTextNodeProps): void;
152
+ updateViewport(width: number, height: number, deviceLogicalPixelRatio: number): void;
153
+ animateNode(div: HTMLElement, props: CoreNodeAnimateProps, settings: AnimationSettings): void;
154
+ }