@lightningjs/renderer 3.0.0-beta9 → 3.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 (566) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +230 -147
  4. package/dist/exports/canvas.d.ts +1 -1
  5. package/dist/exports/canvas.js +1 -1
  6. package/dist/exports/canvas.js.map +1 -1
  7. package/dist/exports/index.d.ts +5 -6
  8. package/dist/exports/index.js +3 -5
  9. package/dist/exports/index.js.map +1 -1
  10. package/dist/exports/platform.d.ts +7 -0
  11. package/dist/exports/platform.js +27 -0
  12. package/dist/exports/platform.js.map +1 -0
  13. package/dist/exports/webgl.d.ts +2 -1
  14. package/dist/exports/webgl.js +2 -1
  15. package/dist/exports/webgl.js.map +1 -1
  16. package/dist/src/common/CommonTypes.d.ts +15 -3
  17. package/dist/src/core/AutosizeManager.d.ts +29 -0
  18. package/dist/src/core/AutosizeManager.js +169 -0
  19. package/dist/src/core/AutosizeManager.js.map +1 -0
  20. package/dist/src/core/Autosizer.d.ts +35 -0
  21. package/dist/src/core/Autosizer.js +196 -0
  22. package/dist/src/core/Autosizer.js.map +1 -0
  23. package/dist/src/core/CoreNode.d.ts +106 -58
  24. package/dist/src/core/CoreNode.js +524 -282
  25. package/dist/src/core/CoreNode.js.map +1 -1
  26. package/dist/src/core/CoreTextNode.d.ts +73 -88
  27. package/dist/src/core/CoreTextNode.js +375 -236
  28. package/dist/src/core/CoreTextNode.js.map +1 -1
  29. package/dist/src/core/CoreTextureManager.d.ts +19 -17
  30. package/dist/src/core/CoreTextureManager.js +52 -120
  31. package/dist/src/core/CoreTextureManager.js.map +1 -1
  32. package/dist/src/core/Stage.d.ts +63 -9
  33. package/dist/src/core/Stage.js +233 -133
  34. package/dist/src/core/Stage.js.map +1 -1
  35. package/dist/src/core/TextureError.d.ts +11 -0
  36. package/dist/src/core/TextureError.js +37 -0
  37. package/dist/src/core/TextureError.js.map +1 -0
  38. package/dist/src/core/TextureMemoryManager.d.ts +2 -4
  39. package/dist/src/core/TextureMemoryManager.js +80 -113
  40. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  41. package/dist/src/core/animations/Animation.d.ts +21 -0
  42. package/dist/src/core/animations/Animation.js +194 -0
  43. package/dist/src/core/animations/Animation.js.map +1 -0
  44. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  45. package/dist/src/core/animations/CoreAnimation.js +3 -3
  46. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  47. package/dist/src/core/animations/CoreAnimationController.d.ts +1 -1
  48. package/dist/src/core/animations/CoreAnimationController.js +4 -2
  49. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  50. package/dist/src/core/animations/Playback.d.ts +64 -0
  51. package/dist/src/core/animations/Playback.js +169 -0
  52. package/dist/src/core/animations/Playback.js.map +1 -0
  53. package/dist/src/core/animations/Transition.d.ts +27 -0
  54. package/dist/src/core/animations/Transition.js +52 -0
  55. package/dist/src/core/animations/Transition.js.map +1 -0
  56. package/dist/src/core/animations/utils.d.ts +2 -0
  57. package/dist/src/core/animations/utils.js +136 -0
  58. package/dist/src/core/animations/utils.js.map +1 -0
  59. package/dist/src/core/lib/ImageWorker.d.ts +2 -2
  60. package/dist/src/core/lib/ImageWorker.js +30 -11
  61. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  62. package/dist/src/core/lib/WebGlContextWrapper.d.ts +22 -1
  63. package/dist/src/core/lib/WebGlContextWrapper.js +49 -3
  64. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  65. package/dist/src/core/lib/collectionUtils.d.ts +4 -0
  66. package/dist/src/core/lib/collectionUtils.js +72 -0
  67. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  68. package/dist/src/core/lib/colorCache.d.ts +1 -0
  69. package/dist/src/core/lib/colorCache.js +19 -0
  70. package/dist/src/core/lib/colorCache.js.map +1 -0
  71. package/dist/src/core/lib/colorParser.d.ts +21 -0
  72. package/dist/src/core/lib/colorParser.js +72 -0
  73. package/dist/src/core/lib/colorParser.js.map +1 -0
  74. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  75. package/dist/src/core/lib/textureCompression.js +320 -67
  76. package/dist/src/core/lib/textureCompression.js.map +1 -1
  77. package/dist/src/core/lib/utils.d.ts +6 -6
  78. package/dist/src/core/lib/utils.js +21 -65
  79. package/dist/src/core/lib/utils.js.map +1 -1
  80. package/dist/src/core/platform.d.ts +10 -0
  81. package/dist/src/core/platform.js +81 -0
  82. package/dist/src/core/platform.js.map +1 -0
  83. package/dist/src/core/platforms/GlContextWrapper.d.ts +136 -0
  84. package/{src/core/text-rendering/TextRenderingUtils.ts → dist/src/core/platforms/GlContextWrapper.js} +32 -36
  85. package/dist/src/core/platforms/GlContextWrapper.js.map +1 -0
  86. package/dist/src/core/platforms/Platform.d.ts +78 -12
  87. package/dist/src/core/platforms/Platform.js +18 -0
  88. package/dist/src/core/platforms/Platform.js.map +1 -1
  89. package/dist/src/core/platforms/web/WebGlContextWrapper.d.ts +776 -0
  90. package/dist/src/core/platforms/web/WebGlContextWrapper.js +1208 -0
  91. package/dist/src/core/platforms/web/WebGlContextWrapper.js.map +1 -0
  92. package/dist/src/core/platforms/web/WebPlatform.d.ts +17 -2
  93. package/dist/src/core/platforms/web/WebPlatform.js +158 -13
  94. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  95. package/dist/src/core/platforms/web/WebPlatformChrome50.d.ts +19 -0
  96. package/dist/src/core/platforms/web/WebPlatformChrome50.js +54 -0
  97. package/dist/src/core/platforms/web/WebPlatformChrome50.js.map +1 -0
  98. package/dist/src/core/platforms/web/WebPlatformLegacy.d.ts +20 -0
  99. package/dist/src/core/platforms/web/WebPlatformLegacy.js +105 -0
  100. package/dist/src/core/platforms/web/WebPlatformLegacy.js.map +1 -0
  101. package/dist/src/core/platforms/web/WebPlatformNext.d.ts +21 -0
  102. package/dist/src/core/platforms/web/WebPlatformNext.js +52 -0
  103. package/dist/src/core/platforms/web/WebPlatformNext.js.map +1 -0
  104. package/dist/src/core/platforms/web/lib/ImageWorker.d.ts +21 -0
  105. package/dist/src/core/platforms/web/lib/ImageWorker.js +136 -0
  106. package/dist/src/core/platforms/web/lib/ImageWorker.js.map +1 -0
  107. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.d.ts +6 -0
  108. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js +92 -0
  109. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js.map +1 -0
  110. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.d.ts +1 -0
  111. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js +63 -0
  112. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js.map +1 -0
  113. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.d.ts +7 -0
  114. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js +75 -0
  115. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js.map +1 -0
  116. package/dist/src/core/platforms/web/lib/createImageBitmap.d.ts +1 -0
  117. package/dist/src/core/platforms/web/lib/createImageBitmap.js +27 -0
  118. package/dist/src/core/platforms/web/lib/createImageBitmap.js.map +1 -0
  119. package/dist/src/core/platforms/web/lib/textureCompression.d.ts +26 -0
  120. package/dist/src/core/platforms/web/lib/textureCompression.js +301 -0
  121. package/dist/src/core/platforms/web/lib/textureCompression.js.map +1 -0
  122. package/dist/src/core/platforms/web/lib/textureSvg.d.ts +7 -0
  123. package/dist/src/core/platforms/web/lib/textureSvg.js +51 -0
  124. package/dist/src/core/platforms/web/lib/textureSvg.js.map +1 -0
  125. package/dist/src/core/platforms/web/lib/utils.d.ts +5 -0
  126. package/dist/src/core/platforms/web/lib/utils.js +86 -0
  127. package/dist/src/core/platforms/web/lib/utils.js.map +1 -0
  128. package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
  129. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  130. package/dist/src/core/renderers/CoreRenderer.d.ts +4 -40
  131. package/dist/src/core/renderers/CoreRenderer.js +3 -4
  132. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  133. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  134. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts → dist/src/core/renderers/CoreShader.js} +28 -32
  135. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  136. package/dist/src/core/renderers/CoreShaderNode.d.ts +10 -0
  137. package/dist/src/core/renderers/CoreShaderNode.js +19 -2
  138. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  139. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  140. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  141. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  142. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  143. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
  144. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  145. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +5 -6
  146. package/dist/src/core/renderers/canvas/CanvasRenderer.js +67 -91
  147. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  148. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +1 -2
  149. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +5 -4
  150. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
  151. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
  152. package/dist/src/core/renderers/canvas/CanvasTexture.js +17 -13
  153. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  154. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
  155. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
  156. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  157. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
  158. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
  159. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  160. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  161. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts → dist/src/core/renderers/canvas/shaders/UnsupportedShader.js} +43 -40
  162. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  163. package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
  164. package/dist/src/core/renderers/webgl/SdfRenderOp.js +98 -0
  165. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
  166. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  167. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  168. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  169. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  170. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  171. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  172. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
  173. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
  174. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  175. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  176. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js +114 -0
  177. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  178. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  179. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +649 -0
  180. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  181. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
  182. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
  183. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  184. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +4 -2
  185. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -6
  186. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  187. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +15 -2
  188. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
  189. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  190. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +19 -9
  191. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +101 -49
  192. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  193. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +3 -2
  194. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +14 -5
  195. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
  196. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +11 -23
  197. package/dist/src/core/renderers/webgl/WebGlRenderer.js +122 -133
  198. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  199. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +4 -6
  200. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +3 -3
  201. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
  202. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +7 -7
  203. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +56 -37
  204. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  205. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -4
  206. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  207. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -3
  208. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +38 -37
  209. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  210. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  211. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
  212. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  213. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  214. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
  215. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  216. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  217. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
  218. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  219. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  220. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
  221. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  222. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  223. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
  224. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  225. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  226. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  227. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  228. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  229. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  230. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  231. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  232. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  233. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  234. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  235. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  236. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  237. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  238. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  239. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  240. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  241. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  242. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  243. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  244. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  245. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  246. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  247. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  248. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  249. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  250. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  251. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  252. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  253. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  254. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  255. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +35 -0
  256. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +134 -0
  257. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  258. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
  259. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +143 -0
  260. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  261. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  262. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  263. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  264. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  265. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  266. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  267. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  268. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  269. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  270. package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
  271. package/dist/src/core/shaders/canvas/Border.js +64 -25
  272. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  273. package/dist/src/core/shaders/canvas/HolePunch.js +4 -3
  274. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  275. package/dist/src/core/shaders/canvas/LinearGradient.js +7 -5
  276. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  277. package/dist/src/core/shaders/canvas/RadialGradient.js +12 -10
  278. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  279. package/dist/src/core/shaders/canvas/Rounded.js +3 -3
  280. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  281. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
  282. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +41 -11
  283. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  284. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
  285. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +46 -9
  286. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  287. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +6 -5
  288. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  289. package/dist/src/core/shaders/canvas/Shadow.js +4 -2
  290. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
  291. package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
  292. package/dist/src/core/shaders/canvas/utils/render.js +31 -18
  293. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
  294. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +11 -1
  295. package/dist/src/core/shaders/templates/BorderTemplate.js +30 -10
  296. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  297. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  298. package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
  299. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  300. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
  301. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
  302. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  303. package/dist/src/core/shaders/webgl/Border.js +138 -84
  304. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  305. package/dist/src/core/shaders/webgl/Default.js +46 -47
  306. package/dist/src/core/shaders/webgl/Default.js.map +1 -1
  307. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  308. package/dist/src/core/shaders/webgl/HolePunch.js +34 -34
  309. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  310. package/dist/src/core/shaders/webgl/LinearGradient.js +60 -36
  311. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  312. package/dist/src/core/shaders/webgl/RadialGradient.js +60 -37
  313. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  314. package/dist/src/core/shaders/webgl/Rounded.js +74 -72
  315. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  316. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +172 -113
  317. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  318. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +191 -132
  319. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  320. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +57 -55
  321. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  322. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  323. package/dist/src/core/shaders/webgl/SdfShader.js +56 -66
  324. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  325. package/dist/src/core/shaders/webgl/SdfShadowShader.d.ts +9 -0
  326. package/dist/src/core/shaders/webgl/SdfShadowShader.js +100 -0
  327. package/dist/src/core/shaders/webgl/SdfShadowShader.js.map +1 -0
  328. package/dist/src/core/shaders/webgl/Shadow.js +89 -83
  329. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
  330. package/dist/src/core/text-rendering/CanvasFont.d.ts +14 -0
  331. package/dist/src/core/text-rendering/CanvasFont.js +111 -0
  332. package/dist/src/core/text-rendering/CanvasFont.js.map +1 -0
  333. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
  334. package/dist/src/core/text-rendering/CanvasFontHandler.js +224 -0
  335. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
  336. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
  337. package/dist/src/core/text-rendering/CanvasTextRenderer.js +157 -0
  338. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
  339. package/dist/src/core/text-rendering/CoreFont.d.ts +33 -0
  340. package/dist/src/core/text-rendering/CoreFont.js +48 -0
  341. package/dist/src/core/text-rendering/CoreFont.js.map +1 -0
  342. package/dist/src/core/text-rendering/FontManager.d.ts +11 -0
  343. package/dist/src/core/text-rendering/FontManager.js +42 -0
  344. package/dist/src/core/text-rendering/FontManager.js.map +1 -0
  345. package/dist/src/core/text-rendering/SdfFont.d.ts +29 -0
  346. package/dist/src/core/text-rendering/SdfFont.js +142 -0
  347. package/dist/src/core/text-rendering/SdfFont.js.map +1 -0
  348. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +182 -0
  349. package/dist/src/core/text-rendering/SdfFontHandler.js +381 -0
  350. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
  351. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
  352. package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -0
  353. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
  354. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
  355. package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
  356. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  357. package/dist/src/core/text-rendering/TextRenderer.d.ts +383 -0
  358. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts → dist/src/core/text-rendering/TextRenderer.js} +20 -38
  359. package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
  360. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  361. package/dist/src/core/text-rendering/Utils.d.ts +30 -0
  362. package/dist/src/core/text-rendering/Utils.js +84 -0
  363. package/dist/src/core/text-rendering/Utils.js.map +1 -0
  364. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  365. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  366. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -5
  367. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  368. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -7
  369. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +2 -50
  370. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  371. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
  372. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +87 -46
  373. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  374. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
  375. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +8 -66
  376. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  377. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -14
  378. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -3
  379. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  380. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  381. package/dist/src/core/textures/ColorTexture.js +3 -4
  382. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  383. package/dist/src/core/textures/ImageTexture.d.ts +33 -14
  384. package/dist/src/core/textures/ImageTexture.js +46 -125
  385. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  386. package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
  387. package/dist/src/core/textures/NoiseTexture.js +8 -8
  388. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  389. package/dist/src/core/textures/RenderTexture.d.ts +7 -7
  390. package/dist/src/core/textures/RenderTexture.js +12 -12
  391. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  392. package/dist/src/core/textures/SubTexture.d.ts +6 -8
  393. package/dist/src/core/textures/SubTexture.js +22 -40
  394. package/dist/src/core/textures/SubTexture.js.map +1 -1
  395. package/dist/src/core/textures/Texture.d.ts +74 -15
  396. package/dist/src/core/textures/Texture.js +131 -19
  397. package/dist/src/core/textures/Texture.js.map +1 -1
  398. package/dist/src/core/utils.d.ts +2 -1
  399. package/dist/src/core/utils.js +1 -1
  400. package/dist/src/core/utils.js.map +1 -1
  401. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  402. package/dist/src/main-api/DynamicShaderController.js +58 -0
  403. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  404. package/dist/src/main-api/Inspector.d.ts +129 -1
  405. package/dist/src/main-api/Inspector.js +462 -23
  406. package/dist/src/main-api/Inspector.js.map +1 -1
  407. package/dist/src/main-api/Renderer.d.ts +223 -41
  408. package/dist/src/main-api/Renderer.js +107 -62
  409. package/dist/src/main-api/Renderer.js.map +1 -1
  410. package/dist/src/main-api/ShaderController.d.ts +31 -0
  411. package/dist/src/main-api/ShaderController.js +37 -0
  412. package/dist/src/main-api/ShaderController.js.map +1 -0
  413. package/dist/src/utils.d.ts +0 -2
  414. package/dist/src/utils.js +0 -36
  415. package/dist/src/utils.js.map +1 -1
  416. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  417. package/dist/tsconfig.tsbuildinfo +1 -0
  418. package/exports/canvas-shaders.ts +28 -28
  419. package/exports/canvas.ts +45 -45
  420. package/exports/index.ts +90 -90
  421. package/exports/inspector.ts +24 -24
  422. package/exports/platform.ts +31 -0
  423. package/exports/utils.ts +50 -50
  424. package/exports/webgl-shaders.ts +28 -28
  425. package/exports/webgl.ts +52 -50
  426. package/package.json +16 -15
  427. package/src/common/CommonTypes.ts +163 -146
  428. package/src/common/EventEmitter.ts +77 -77
  429. package/src/common/IAnimationController.ts +92 -92
  430. package/src/common/IEventEmitter.ts +28 -28
  431. package/src/core/Autosizer.ts +224 -0
  432. package/src/core/CoreNode.test.ts +365 -202
  433. package/src/core/CoreNode.ts +2785 -2489
  434. package/src/core/CoreShaderManager.ts +188 -188
  435. package/src/core/CoreTextNode.test.ts +311 -0
  436. package/src/core/CoreTextNode.ts +598 -451
  437. package/src/core/CoreTextureManager.ts +484 -548
  438. package/src/core/Stage.ts +927 -800
  439. package/src/core/TextureError.ts +46 -0
  440. package/src/core/TextureMemoryManager.ts +418 -462
  441. package/src/core/animations/AnimationManager.ts +38 -38
  442. package/src/core/animations/CoreAnimation.ts +290 -291
  443. package/src/core/animations/CoreAnimationController.ts +169 -166
  444. package/src/core/lib/ContextSpy.ts +41 -41
  445. package/src/core/lib/Matrix3d.ts +244 -244
  446. package/src/core/lib/RenderCoords.ts +71 -71
  447. package/src/core/lib/collectionUtils.ts +83 -0
  448. package/src/core/lib/colorCache.ts +20 -0
  449. package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -85
  450. package/src/core/lib/utils.ts +337 -390
  451. package/src/core/platforms/GlContextWrapper.ts +291 -0
  452. package/src/core/platforms/Platform.ts +176 -77
  453. package/src/core/{lib → platforms/web}/WebGlContextWrapper.ts +1547 -1368
  454. package/src/core/platforms/web/WebPlatform.ts +306 -84
  455. package/src/core/platforms/web/WebPlatformChrome50.ts +63 -0
  456. package/src/core/platforms/web/WebPlatformLegacy.ts +150 -0
  457. package/src/core/platforms/web/WebPlatformNext.ts +57 -0
  458. package/src/core/platforms/web/lib/ImageWorker.ts +192 -0
  459. package/src/core/platforms/web/lib/ImageWorkerDefault.ts +117 -0
  460. package/src/core/platforms/web/lib/ImageWorkerLegacy.ts +87 -0
  461. package/src/core/platforms/web/lib/ImageWorkerNoOptions.ts +99 -0
  462. package/src/core/platforms/web/lib/createImageBitmap.ts +40 -0
  463. package/src/core/platforms/web/lib/textureCompression.ts +391 -0
  464. package/src/core/{lib → platforms/web/lib}/textureSvg.ts +66 -78
  465. package/src/core/platforms/web/lib/utils.ts +105 -0
  466. package/src/core/renderers/CoreContextTexture.ts +44 -43
  467. package/src/core/renderers/CoreRenderOp.ts +22 -22
  468. package/src/core/renderers/CoreRenderer.ts +71 -110
  469. package/src/core/renderers/CoreShaderNode.ts +202 -175
  470. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  471. package/src/core/renderers/canvas/CanvasRenderer.ts +258 -302
  472. package/src/core/renderers/canvas/CanvasShaderNode.ts +95 -96
  473. package/src/core/renderers/canvas/CanvasTexture.ts +160 -156
  474. package/src/core/renderers/webgl/SdfRenderOp.ts +106 -0
  475. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +89 -86
  476. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +95 -50
  477. package/src/core/renderers/webgl/WebGlCtxTexture.ts +350 -298
  478. package/src/core/renderers/webgl/WebGlRenderer.ts +726 -747
  479. package/src/core/renderers/webgl/WebGlShaderNode.ts +430 -435
  480. package/src/core/renderers/webgl/WebGlShaderProgram.ts +362 -341
  481. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  482. package/src/core/renderers/webgl/internal/RendererUtils.ts +151 -155
  483. package/src/core/renderers/webgl/internal/ShaderUtils.ts +283 -281
  484. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  485. package/src/core/shaders/canvas/Border.ts +132 -78
  486. package/src/core/shaders/canvas/HolePunch.ts +56 -62
  487. package/src/core/shaders/canvas/LinearGradient.ts +73 -71
  488. package/src/core/shaders/canvas/RadialGradient.ts +96 -99
  489. package/src/core/shaders/canvas/Rounded.ts +55 -55
  490. package/src/core/shaders/canvas/RoundedWithBorder.ts +122 -74
  491. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +136 -90
  492. package/src/core/shaders/canvas/RoundedWithShadow.ts +71 -70
  493. package/src/core/shaders/canvas/Shadow.ts +54 -52
  494. package/src/core/shaders/canvas/utils/render.ts +160 -151
  495. package/src/core/shaders/templates/BorderTemplate.ts +145 -115
  496. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  497. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  498. package/src/core/shaders/templates/RadialGradientTemplate.ts +83 -81
  499. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  500. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  501. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  502. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  503. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  504. package/src/core/shaders/utils.ts +46 -46
  505. package/src/core/shaders/webgl/Border.ts +169 -116
  506. package/src/core/shaders/webgl/Default.ts +88 -89
  507. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  508. package/src/core/shaders/webgl/HolePunch.ts +75 -75
  509. package/src/core/shaders/webgl/LinearGradient.ts +106 -82
  510. package/src/core/shaders/webgl/RadialGradient.ts +108 -85
  511. package/src/core/shaders/webgl/Rounded.ts +115 -117
  512. package/src/core/shaders/webgl/RoundedWithBorder.ts +210 -155
  513. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +234 -175
  514. package/src/core/shaders/webgl/RoundedWithShadow.ts +96 -98
  515. package/src/core/shaders/webgl/SdfShader.ts +122 -134
  516. package/src/core/shaders/webgl/Shadow.ts +121 -115
  517. package/src/core/text-rendering/CanvasFontHandler.ts +304 -0
  518. package/src/core/text-rendering/CanvasTextRenderer.ts +255 -0
  519. package/src/core/text-rendering/SdfFontHandler.ts +584 -0
  520. package/src/core/text-rendering/SdfTextRenderer.ts +403 -0
  521. package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
  522. package/src/core/text-rendering/TextRenderer.ts +444 -0
  523. package/src/core/text-rendering/Utils.ts +99 -0
  524. package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +453 -0
  525. package/src/core/textures/ColorTexture.ts +104 -102
  526. package/src/core/textures/ImageTexture.ts +292 -418
  527. package/src/core/textures/NoiseTexture.ts +106 -104
  528. package/src/core/textures/RenderTexture.ts +87 -85
  529. package/src/core/textures/SubTexture.ts +184 -205
  530. package/src/core/textures/Texture.ts +524 -381
  531. package/src/core/utils.ts +229 -227
  532. package/src/env.d.ts +7 -7
  533. package/src/main-api/INode.ts +100 -100
  534. package/src/main-api/Inspector.ts +1278 -569
  535. package/src/main-api/Renderer.ts +1030 -818
  536. package/src/main-api/utils.ts +45 -45
  537. package/src/utils.ts +220 -267
  538. package/COPYING +0 -1
  539. package/src/core/lib/ImageWorker.ts +0 -286
  540. package/src/core/lib/textureCompression.ts +0 -152
  541. package/src/core/lib/validateImageBitmap.ts +0 -87
  542. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
  543. package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -161
  544. package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
  545. package/src/core/text-rendering/TrFontManager.ts +0 -183
  546. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
  547. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
  548. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
  549. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
  550. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
  551. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
  552. package/src/core/text-rendering/font-face-types/utils.ts +0 -39
  553. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -514
  554. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -863
  555. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -793
  556. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
  557. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
  558. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
  559. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
  560. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
  561. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -497
  562. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
  563. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
  564. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
  565. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
  566. package/src/core/text-rendering/renderers/TextRenderer.ts +0 -567
@@ -0,0 +1,776 @@
1
+ import type { Vec2, Vec3, Vec4 } from '../../renderers/webgl/internal/ShaderUtils.js';
2
+ import { GlContextWrapper } from '../GlContextWrapper.js';
3
+ import type { CompressedData } from '../../textures/Texture.js';
4
+ /**
5
+ * Optimized WebGL Context Wrapper
6
+ *
7
+ * @remarks
8
+ * This class contains the subset of the WebGLRenderingContext & WebGL2RenderingContext
9
+ * API that is used by the renderer. Select high volume WebGL methods include
10
+ * caching optimizations to avoid making WebGL calls if the state is already set
11
+ * to the desired value.
12
+ *
13
+ * While most methods contained are direct passthroughs to the WebGL context,
14
+ * some methods combine multiple WebGL calls into one for convenience, modify
15
+ * arguments to be more convenient, or are replaced by more specific methods.
16
+ *
17
+ * Not all methods are optimized. Only methods that are called frequently
18
+ * and/or have a high cost are optimized.
19
+ *
20
+ * A subset of GLenum constants are also exposed as properties on this class
21
+ * for convenience.
22
+ */
23
+ export declare class WebGlContextWrapper extends GlContextWrapper {
24
+ private gl;
25
+ private activeTextureUnit;
26
+ private texture2dUnits;
27
+ private texture2dParams;
28
+ private scissorEnabled;
29
+ private scissorX;
30
+ private scissorY;
31
+ private scissorWidth;
32
+ private scissorHeight;
33
+ private blendEnabled;
34
+ private blendSrcRgb;
35
+ private blendDstRgb;
36
+ private blendSrcAlpha;
37
+ private blendDstAlpha;
38
+ private boundArrayBuffer;
39
+ private boundElementArrayBuffer;
40
+ private curProgram;
41
+ private curUniformLocations;
42
+ readonly canvas: any;
43
+ readonly MAX_RENDERBUFFER_SIZE: any;
44
+ readonly MAX_TEXTURE_SIZE: any;
45
+ readonly MAX_VIEWPORT_DIMS: any;
46
+ readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: any;
47
+ readonly MAX_TEXTURE_IMAGE_UNITS: any;
48
+ readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: any;
49
+ readonly MAX_VERTEX_ATTRIBS: any;
50
+ readonly MAX_VARYING_VECTORS: any;
51
+ readonly MAX_VERTEX_UNIFORM_VECTORS: any;
52
+ readonly MAX_FRAGMENT_UNIFORM_VECTORS: any;
53
+ readonly TEXTURE_MAG_FILTER: any;
54
+ readonly TEXTURE_MIN_FILTER: any;
55
+ readonly TEXTURE_WRAP_S: any;
56
+ readonly TEXTURE_WRAP_T: any;
57
+ readonly LINEAR: any;
58
+ readonly LINEAR_MIPMAP_LINEAR: any;
59
+ readonly CLAMP_TO_EDGE: any;
60
+ readonly RGB: any;
61
+ readonly RGBA: any;
62
+ readonly UNSIGNED_BYTE: any;
63
+ readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: any;
64
+ readonly UNPACK_FLIP_Y_WEBGL: any;
65
+ readonly FLOAT: any;
66
+ readonly TRIANGLES: any;
67
+ readonly UNSIGNED_SHORT: any;
68
+ readonly ONE: any;
69
+ readonly ONE_MINUS_SRC_ALPHA: any;
70
+ readonly VERTEX_SHADER: any;
71
+ readonly FRAGMENT_SHADER: any;
72
+ readonly STATIC_DRAW: any;
73
+ readonly COMPILE_STATUS: any;
74
+ readonly LINK_STATUS: any;
75
+ readonly DYNAMIC_DRAW: any;
76
+ readonly COLOR_ATTACHMENT0: any;
77
+ readonly INVALID_ENUM: number;
78
+ readonly INVALID_OPERATION: number;
79
+ constructor(gl: WebGLRenderingContext | WebGL2RenderingContext);
80
+ /**
81
+ * Returns true if the WebGL context is WebGL2
82
+ *
83
+ * @returns
84
+ */
85
+ isWebGl2(): boolean;
86
+ /**
87
+ * ```
88
+ * gl.activeTexture(textureUnit + gl.TEXTURE0);
89
+ * ```
90
+ *
91
+ * @remarks
92
+ * **WebGL Difference**: `textureUnit` is based from 0, not `gl.TEXTURE0`.
93
+ *
94
+ * @param textureUnit
95
+ */
96
+ activeTexture(textureUnit: number): void;
97
+ /**
98
+ * ```
99
+ * gl.bindTexture(gl.TEXTURE_2D, texture);
100
+ * ```
101
+ * @remarks
102
+ * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
103
+ *
104
+ * @param texture
105
+ */
106
+ bindTexture(texture: WebGLTexture | null): void;
107
+ private _getActiveTexture;
108
+ /**
109
+ * ```
110
+ * gl.texParameteri(gl.TEXTURE_2D, pname, param);
111
+ * ```
112
+ * @remarks
113
+ * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
114
+ *
115
+ * @param pname
116
+ * @param param
117
+ * @returns
118
+ */
119
+ texParameteri(pname: number, param: number): void;
120
+ /**
121
+ * ```
122
+ * gl.texImage2D(
123
+ * gl.TEXTURE_2D,
124
+ * level,
125
+ * internalFormat,
126
+ * width,
127
+ * height,
128
+ * border,
129
+ * format,
130
+ * type,
131
+ * pixels,
132
+ * );
133
+ * ```
134
+ * @remarks
135
+ * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
136
+ *
137
+ * @param level
138
+ * @param internalFormat
139
+ * @param width
140
+ * @param height
141
+ * @param border
142
+ * @param format
143
+ * @param type
144
+ * @param pixels
145
+ */
146
+ texImage2D(level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
147
+ texImage2D(level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource | Uint8Array): void;
148
+ /**
149
+ * ```
150
+ * gl.compressedTexImage2D(gl.TEXTURE_2D, level, internalFormat, width, height, border, data);
151
+ * ```
152
+ *
153
+ * @remarks
154
+ * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
155
+ */
156
+ compressedTexImage2D(level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data?: ArrayBufferView): void;
157
+ /**
158
+ * ```
159
+ * gl.pixelStorei(pname, param);
160
+ * ```
161
+ *
162
+ * @param pname
163
+ * @param param
164
+ */
165
+ pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
166
+ /**
167
+ * ```
168
+ * gl.generateMipmap(gl.TEXTURE_2D);
169
+ * ```
170
+ *
171
+ * @remarks
172
+ * **WebGL Difference**: Bind target is always `gl.TEXTURE_2D`
173
+ */
174
+ generateMipmap(): void;
175
+ /**
176
+ * ```
177
+ * gl.createTexture();
178
+ * ```
179
+ *
180
+ * @returns
181
+ */
182
+ createTexture(): WebGLTexture | null;
183
+ /**
184
+ * ```
185
+ * gl.deleteTexture(texture);
186
+ * ```
187
+ *
188
+ * @param texture
189
+ */
190
+ deleteTexture(texture: WebGLTexture | null): void;
191
+ /**
192
+ * ```
193
+ * gl.deleteFramebuffer(framebuffer);
194
+ *
195
+ * @param framebuffer
196
+ */
197
+ deleteFramebuffer(framebuffer: WebGLFramebuffer | null): void;
198
+ /**
199
+ * ```
200
+ * gl.viewport(x, y, width, height);
201
+ * ```
202
+ */
203
+ viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
204
+ /**
205
+ * ```
206
+ * gl.clearColor(red, green, blue, alpha);
207
+ * ```
208
+ *
209
+ * @param red
210
+ * @param green
211
+ * @param blue
212
+ * @param alpha
213
+ */
214
+ clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
215
+ /**
216
+ * ```
217
+ * gl["enable"|"disable"](gl.SCISSOR_TEST);
218
+ * ```
219
+ * @param enable
220
+ */
221
+ setScissorTest(enable: boolean): void;
222
+ /**
223
+ * ```
224
+ * gl.scissor(x, y, width, height);
225
+ * ```
226
+ *
227
+ * @param x
228
+ * @param y
229
+ * @param width
230
+ * @param height
231
+ */
232
+ scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
233
+ /**
234
+ * ```
235
+ * gl["enable"|"disable"](gl.BLEND);
236
+ * ```
237
+ *
238
+ * @param blend
239
+ * @returns
240
+ */
241
+ setBlend(blend: boolean): void;
242
+ /**
243
+ * ```
244
+ * gl.blendFunc(src, dst);
245
+ * ```
246
+ *
247
+ * @param src
248
+ * @param dst
249
+ */
250
+ blendFunc(src: GLenum, dst: GLenum): void;
251
+ /**
252
+ * ```
253
+ * gl.createBuffer();
254
+ * ```
255
+ *
256
+ * @returns
257
+ */
258
+ createBuffer(): WebGLBuffer | null;
259
+ /**
260
+ * ```
261
+ * gl.createFramebuffer();
262
+ * ```
263
+ * @returns
264
+ */
265
+ createFramebuffer(): WebGLFramebuffer | null;
266
+ /**
267
+ * ```
268
+ * gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
269
+ * ```
270
+ *
271
+ * @param framebuffer
272
+ */
273
+ bindFramebuffer(framebuffer: WebGLFramebuffer | null): void;
274
+ /**
275
+ * ```
276
+ * gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
277
+ * ```
278
+ * @remarks
279
+ * **WebGL Difference**: Bind target is always `gl.FRAMEBUFFER` and textarget is always `gl.TEXTURE_2D`
280
+ */
281
+ framebufferTexture2D(attachment: GLenum, texture: WebGLTexture | null, level: GLint): void;
282
+ /**
283
+ * ```
284
+ * gl.clear(gl.COLOR_BUFFER_BIT);
285
+ * ```
286
+ *
287
+ * @remarks
288
+ * **WebGL Difference**: Clear mask is always `gl.COLOR_BUFFER_BIT`
289
+ */
290
+ clear(): void;
291
+ /**
292
+ * ```
293
+ * gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
294
+ * gl.bufferData(gl.ARRAY_BUFFER, data, usage);
295
+ * ```
296
+ *
297
+ * @remarks
298
+ * **WebGL Combo**: `gl.bindBuffer` and `gl.bufferData` are combined into one function.
299
+ *
300
+ * @param buffer
301
+ * @param data
302
+ * @param usage
303
+ */
304
+ arrayBufferData(buffer: WebGLBuffer | null, data: ArrayBufferView, usage: GLenum): void;
305
+ /**
306
+ * ```
307
+ * gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
308
+ * gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, data, usage);
309
+ * ```
310
+ * @remarks
311
+ * **WebGL Combo**: `gl.bindBuffer` and `gl.bufferData` are combined into one function.
312
+ *
313
+ * @param buffer
314
+ * @param data
315
+ * @param usage
316
+ */
317
+ elementArrayBufferData(buffer: WebGLBuffer | null, data: ArrayBufferView, usage: GLenum): void;
318
+ /**
319
+ * ```
320
+ * gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
321
+ * gl.vertexAttribPointer(index, size, type, normalized, stride, offset);
322
+ * ```
323
+ *
324
+ * @remarks
325
+ * **WebGL Combo**: `gl.bindBuffer` and `gl.vertexAttribPointer` are combined into one function.
326
+ *
327
+ * @param buffer
328
+ * @param index
329
+ * @param size
330
+ * @param type
331
+ * @param normalized
332
+ * @param stride
333
+ * @param offset
334
+ */
335
+ vertexAttribPointer(buffer: WebGLBuffer, index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
336
+ /**
337
+ * Returns object with Attribute names as key and numbers as location values
338
+ *
339
+ * @param program
340
+ * @returns object with numbers
341
+ */
342
+ getUniformLocations(program: WebGLProgram): Record<string, WebGLUniformLocation>;
343
+ /**
344
+ * Returns object with Attribute names as key and numbers as location values
345
+ * @param program
346
+ * @returns object with numbers
347
+ */
348
+ getAttributeLocations(program: WebGLProgram): string[];
349
+ /**
350
+ * ```
351
+ * gl.useProgram(program);
352
+ * ```
353
+ *
354
+ * @param program
355
+ * @returns
356
+ */
357
+ useProgram(program: WebGLProgram | null, uniformLocations: Record<string, WebGLUniformLocation>): void;
358
+ /**
359
+ * Sets the value of a single float uniform variable.
360
+ *
361
+ * @param location - The location of the uniform variable.
362
+ * @param v0 - The value to set.
363
+ */
364
+ uniform1f(location: string, v0: number): void;
365
+ /**
366
+ * Sets the value of a float array uniform variable.
367
+ *
368
+ * @param location - The location of the uniform variable.
369
+ * @param value - The array of values to set.
370
+ */
371
+ uniform1fv(location: string, value: Float32Array): void;
372
+ /**
373
+ * Sets the value of a single integer uniform variable.
374
+ *
375
+ * @param location - The location of the uniform variable.
376
+ * @param v0 - The value to set.
377
+ */
378
+ uniform1i(location: string, v0: number): void;
379
+ /**
380
+ * Sets the value of an integer array uniform variable.
381
+ *
382
+ * @param location - The location of the uniform variable.
383
+ * @param value - The array of values to set.
384
+ */
385
+ uniform1iv(location: string, value: Int32Array): void;
386
+ /**
387
+ * Sets the value of a vec2 uniform variable.
388
+ *
389
+ * @param location - The location of the uniform variable.
390
+ * @param v0 - The first component of the vector.
391
+ * @param v1 - The second component of the vector.
392
+ */
393
+ uniform2f(location: string, v0: number, v1: number): void;
394
+ /**
395
+ * Sets the value of a vec3 uniform variable.
396
+ *
397
+ * @param location - The location of the uniform variable.
398
+ * @param v - array of 4 numbers.
399
+ */
400
+ uniform2fa(location: string, value: Vec2): void;
401
+ /**
402
+ * Sets the value of a vec2 array uniform variable.
403
+ *
404
+ * @param location - The location of the uniform variable.
405
+ * @param value - The array of vec2 values to set.
406
+ */
407
+ uniform2fv(location: string, value: Float32Array): void;
408
+ /**
409
+ * Sets the value of a ivec2 uniform variable.
410
+ *
411
+ * @param location - The location of the uniform variable.
412
+ * @param v0 - The first component of the vector.
413
+ * @param v1 - The second component of the vector.
414
+ */
415
+ uniform2i(location: string, v0: number, v1: number): void;
416
+ /**
417
+ * Sets the value of an ivec2 array uniform variable.
418
+ *
419
+ * @param location - The location of the uniform variable.
420
+ * @param value - The array of ivec2 values to set.
421
+ */
422
+ uniform2iv(location: string, value: Int32Array): void;
423
+ /**
424
+ * Sets the value of a vec3 uniform variable.
425
+ *
426
+ * @param location - The location of the uniform variable.
427
+ * @param v0 - The first component of the vector.
428
+ * @param v1 - The second component of the vector.
429
+ * @param v2 - The third component of the vector.
430
+ */
431
+ uniform3f(location: string, v0: number, v1: number, v2: number): void;
432
+ /**
433
+ * Sets the value of a vec3 uniform variable.
434
+ *
435
+ * @param location - The location of the uniform variable.
436
+ * @param v - array of 4 numbers.
437
+ */
438
+ uniform3fa(location: string, value: Vec3): void;
439
+ /**
440
+ * Sets the value of a vec3 array uniform variable.
441
+ *
442
+ * @param location - The location of the uniform variable.
443
+ * @param value - The array of vec3 values to set.
444
+ */
445
+ uniform3fv(location: string, value: Float32Array): void;
446
+ /**
447
+ * Sets the value of a ivec3 uniform variable.
448
+ *
449
+ * @param location - The location of the uniform variable.
450
+ * @param v0 - The first component of the vector.
451
+ * @param v1 - The second component of the vector.
452
+ * @param v2 - The third component of the vector.
453
+ */
454
+ uniform3i(location: string, v0: number, v1: number, v2: number): void;
455
+ /**
456
+ * Sets the value of an ivec3 array uniform variable.
457
+ *
458
+ * @param location - The location of the uniform variable.
459
+ * @param value - The array of ivec3 values to set.
460
+ */
461
+ uniform3iv(location: string, value: Int32Array): void;
462
+ /**
463
+ * Sets the value of a vec4 uniform variable.
464
+ *
465
+ * @param location - The location of the uniform variable.
466
+ * @param v0 - The first component of the vector.
467
+ * @param v1 - The second component of the vector.
468
+ * @param v2 - The third component of the vector.
469
+ * @param v3 - The fourth component of the vector.
470
+ */
471
+ uniform4f(location: string, v0: number, v1: number, v2: number, v3: number): void;
472
+ /**
473
+ * Sets the value of a vec4 uniform variable.
474
+ *
475
+ * @param location - The location of the uniform variable.
476
+ * @param v - array of 4 numbers.
477
+ */
478
+ uniform4fa(location: string, value: Vec4): void;
479
+ /**
480
+ * Sets the value of a vec4 array uniform variable.
481
+ *
482
+ * @param location - The location of the uniform variable.
483
+ * @param value - The array of vec4 values to set.
484
+ */
485
+ uniform4fv(location: string, value: Float32Array): void;
486
+ /**
487
+ * Sets the value of a ivec4 uniform variable.
488
+ *
489
+ * @param location - The location of the uniform variable.
490
+ * @param v0 - The first component of the vector.
491
+ * @param v1 - The second component of the vector.
492
+ * @param v2 - The third component of the vector.
493
+ * @param v3 - The fourth component of the vector.
494
+ */
495
+ uniform4i(location: string, v0: number, v1: number, v2: number, v3: number): void;
496
+ /**
497
+ * Sets the value of an ivec4 array uniform variable.
498
+ *
499
+ * @param location - The location of the uniform variable.
500
+ * @param value - The array of ivec4 values to set.
501
+ */
502
+ uniform4iv(location: string, value: Int32Array): void;
503
+ /**
504
+ * Sets the value of a mat2 uniform variable.
505
+ *
506
+ * @param location - The location of the uniform variable.
507
+ * @param transpose - Whether to transpose the matrix.
508
+ * @param value - The array of mat2 values to set.
509
+ */
510
+ uniformMatrix2fv(location: string, value: Float32Array): void;
511
+ /**
512
+ * Sets the value of a mat2 uniform variable.
513
+ * @param location - The location of the uniform variable.
514
+ * @param value - The array of mat2 values to set.
515
+ */
516
+ uniformMatrix3fv(location: string, value: Float32Array): void;
517
+ /**
518
+ * Sets the value of a mat4 uniform variable.
519
+ * @param location - The location of the uniform variable.
520
+ * @param value - The array of mat4 values to set.
521
+ */
522
+ uniformMatrix4fv(location: string, value: Float32Array): void;
523
+ /**
524
+ * ```
525
+ * gl.getParameter(pname);
526
+ * ```
527
+ *
528
+ * @param pname
529
+ * @returns
530
+ */
531
+ getParameter(pname: GLenum): any;
532
+ /**
533
+ * ```
534
+ * gl.drawElements(mode, count, type, offset);
535
+ * ```
536
+ *
537
+ * @param mode
538
+ * @param count
539
+ * @param type
540
+ * @param offset
541
+ */
542
+ drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
543
+ /**
544
+ * ```
545
+ * gl.drawArrays(mode, first, count);
546
+ * ```
547
+ *
548
+ * @param mode
549
+ * @param first
550
+ * @param count
551
+ */
552
+ drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
553
+ /**
554
+ * ```
555
+ * gl.drawArrays(mode, first, count);
556
+ * ```
557
+ *
558
+ * @param name
559
+ * @returns
560
+ */
561
+ getExtension(name: string): any;
562
+ /**
563
+ * ```
564
+ * gl.getError(type);
565
+ * ```
566
+ *
567
+ * @returns
568
+ */
569
+ getError(): number;
570
+ /**
571
+ * ```
572
+ * gl.createVertexArray();
573
+ * ```
574
+ *
575
+ * @returns
576
+ */
577
+ createVertexArray(): WebGLVertexArrayObject | null | undefined;
578
+ /**
579
+ * ```
580
+ * gl.bindVertexArray(vertexArray);
581
+ * ```
582
+ *
583
+ * @param vertexArray
584
+ */
585
+ bindVertexArray(vertexArray: WebGLVertexArrayObject | null): void;
586
+ /**
587
+ * ```
588
+ * gl.getAttribLocation(program, name);
589
+ * ```
590
+ *
591
+ * @param program
592
+ * @param name
593
+ * @returns
594
+ */
595
+ getAttribLocation(program: WebGLProgram, name: string): number;
596
+ /**
597
+ * ```
598
+ * gl.getUniformLocation(program, name);
599
+ * ```
600
+ *
601
+ * @param program
602
+ * @param name
603
+ * @returns
604
+ */
605
+ getUniformLocation(program: WebGLProgram, name: string): WebGLUniformLocation | null;
606
+ /**
607
+ * ```
608
+ * gl.enableVertexAttribArray(index);
609
+ * ```
610
+ *
611
+ * @param index
612
+ */
613
+ enableVertexAttribArray(index: number): void;
614
+ /**
615
+ * ```
616
+ * gl.disableVertexAttribArray(index);
617
+ * ```
618
+ *
619
+ * @param index
620
+ */
621
+ disableVertexAttribArray(index: number): void;
622
+ /**
623
+ * ```
624
+ * gl.createShader(type);
625
+ * ```
626
+ *
627
+ * @param type
628
+ * @returns
629
+ */
630
+ createShader(type: number): WebGLShader | null;
631
+ /**
632
+ * ```
633
+ * gl.compileShader(shader);
634
+ * ```
635
+ *
636
+ * @param shader
637
+ * @returns
638
+ */
639
+ compileShader(shader: WebGLShader): void;
640
+ /**
641
+ * ```
642
+ * gl.attachShader(program, shader);
643
+ * ```
644
+ *
645
+ * @param program
646
+ * @param shader
647
+ */
648
+ attachShader(program: WebGLProgram, shader: WebGLShader): void;
649
+ /**
650
+ * ```
651
+ * gl.linkProgram(program);
652
+ * ```
653
+ *
654
+ * @param program
655
+ */
656
+ linkProgram(program: WebGLProgram): void;
657
+ /**
658
+ * ```
659
+ * gl.deleteProgram(shader);
660
+ * ```
661
+ *
662
+ * @param shader
663
+ */
664
+ deleteProgram(shader: WebGLProgram): void;
665
+ /**
666
+ * ```
667
+ * gl.getShaderParameter(shader, pname);
668
+ * ```
669
+ *
670
+ * @param shader
671
+ * @param pname
672
+ */
673
+ getShaderParameter(shader: WebGLShader, pname: GLenum): any;
674
+ /**
675
+ * ```
676
+ * gl.getShaderInfoLog(shader);
677
+ * ```
678
+ *
679
+ * @param shader
680
+ */
681
+ getShaderInfoLog(shader: WebGLShader): string | null;
682
+ /**
683
+ * ```
684
+ * gl.createProgram();
685
+ * ```
686
+ *
687
+ * @returns
688
+ */
689
+ createProgram(): WebGLProgram | null;
690
+ /**
691
+ * ```
692
+ * gl.getProgramParameter(program, pname);
693
+ * ```
694
+ *
695
+ * @param program
696
+ * @param pname
697
+ * @returns
698
+ */
699
+ getProgramParameter(program: WebGLProgram, pname: GLenum): any;
700
+ /**
701
+ * ```
702
+ * gl.getProgramInfoLog(program);
703
+ * ```
704
+ *
705
+ * @param program
706
+ * @returns
707
+ */
708
+ getProgramInfoLog(program: WebGLProgram): string | null;
709
+ /**
710
+ * ```
711
+ * gl.shaderSource(shader, source);
712
+ * ```
713
+ *
714
+ * @param shader
715
+ * @param source
716
+ */
717
+ shaderSource(shader: WebGLShader, source: string): void;
718
+ /**
719
+ * ```
720
+ * gl.deleteShader(shader);
721
+ * ```
722
+ *
723
+ * @param shader
724
+ */
725
+ deleteShader(shader: WebGLShader): void;
726
+ /**
727
+ * ```
728
+ * gl.deleteBuffer(buffer);
729
+ * ```
730
+ *
731
+ * @param buffer - The buffer to delete
732
+ */
733
+ deleteBuffer(buffer: WebGLBuffer): void;
734
+ /**
735
+ * ```
736
+ * gl.deleteVertexArray(vertexArray);
737
+ * ```
738
+ *
739
+ * @param vertexArray - The vertex array object to delete
740
+ */
741
+ deleteVertexArray(vertexArray: WebGLVertexArrayObject): void;
742
+ /**
743
+ * Check for WebGL errors and return error information
744
+ * @param operation Description of the operation for error reporting
745
+ * @returns Object with error information or null if no error
746
+ */
747
+ checkError(operation: string): {
748
+ error: number;
749
+ errorName: string;
750
+ message: string;
751
+ } | null;
752
+ /**
753
+ *
754
+ * Compressed Textures support
755
+ */
756
+ uploadKTX(texture: WebGLTexture, data: CompressedData): void;
757
+ uploadPVR(texture: WebGLTexture, data: CompressedData): void;
758
+ uploadASTC(texture: WebGLTexture, data: CompressedData): void;
759
+ }
760
+ type IsUniformMethod<MethodName, MethodType> = MethodName extends `uniform${string}` ? MethodType extends (location: WebGLUniformLocation | null, ...args: any[]) => void ? true : false : false;
761
+ export type UniformMethodMap = {
762
+ [Key in keyof WebGLRenderingContext as IsUniformMethod<Key, WebGLRenderingContext[Key]> extends true ? Key : never]: WebGLRenderingContext[Key] extends (location: WebGLUniformLocation | null, ...args: infer T) => void ? T : never;
763
+ };
764
+ /**
765
+ * Compare two arrays for equality.
766
+ *
767
+ * @remarks
768
+ * This function will not try to compare nested arrays or Float32Arrays and
769
+ * instead will always return false when they are encountered.
770
+ *
771
+ * @param a
772
+ * @param b
773
+ * @returns
774
+ */
775
+ export declare function compareArrays<T>(a: T[], b: T[]): boolean;
776
+ export {};