@lightningtv/renderer 3.0.0-beta1 → 3.2.3

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 (497) hide show
  1. package/NOTICE +4 -0
  2. package/README.md +22 -28
  3. package/dist/exports/canvas-shaders.js +0 -16
  4. package/dist/exports/canvas-shaders.js.map +1 -1
  5. package/dist/exports/canvas.d.ts +1 -1
  6. package/dist/exports/canvas.js +1 -19
  7. package/dist/exports/canvas.js.map +1 -1
  8. package/dist/exports/index.d.ts +2 -5
  9. package/dist/exports/index.js +1 -23
  10. package/dist/exports/index.js.map +1 -1
  11. package/dist/exports/inspector.js +0 -18
  12. package/dist/exports/inspector.js.map +1 -1
  13. package/dist/exports/utils.d.ts +2 -1
  14. package/dist/exports/utils.js +2 -19
  15. package/dist/exports/utils.js.map +1 -1
  16. package/dist/exports/webgl-shaders.js +0 -16
  17. package/dist/exports/webgl-shaders.js.map +1 -1
  18. package/dist/exports/webgl.d.ts +2 -1
  19. package/dist/exports/webgl.js +2 -19
  20. package/dist/exports/webgl.js.map +1 -1
  21. package/dist/src/common/CommonTypes.d.ts +15 -3
  22. package/dist/src/common/CommonTypes.js +0 -18
  23. package/dist/src/common/CommonTypes.js.map +1 -1
  24. package/dist/src/common/EventEmitter.js +0 -18
  25. package/dist/src/common/EventEmitter.js.map +1 -1
  26. package/dist/src/common/IEventEmitter.js +0 -16
  27. package/dist/src/common/IEventEmitter.js.map +1 -1
  28. package/dist/src/core/Autosizer.d.ts +35 -0
  29. package/dist/src/core/Autosizer.js +178 -0
  30. package/dist/src/core/Autosizer.js.map +1 -0
  31. package/dist/src/core/CoreNode.d.ts +140 -102
  32. package/dist/src/core/CoreNode.js +812 -528
  33. package/dist/src/core/CoreNode.js.map +1 -1
  34. package/dist/src/core/CoreShaderManager.d.ts +3 -3
  35. package/dist/src/core/CoreShaderManager.js +0 -18
  36. package/dist/src/core/CoreShaderManager.js.map +1 -1
  37. package/dist/src/core/CoreTextNode.d.ts +75 -87
  38. package/dist/src/core/CoreTextNode.js +380 -258
  39. package/dist/src/core/CoreTextNode.js.map +1 -1
  40. package/dist/src/core/CoreTextureManager.d.ts +25 -14
  41. package/dist/src/core/CoreTextureManager.js +82 -139
  42. package/dist/src/core/CoreTextureManager.js.map +1 -1
  43. package/dist/src/core/Stage.d.ts +102 -36
  44. package/dist/src/core/Stage.js +424 -191
  45. package/dist/src/core/Stage.js.map +1 -1
  46. package/dist/src/core/TextureError.d.ts +11 -0
  47. package/dist/src/core/TextureError.js +37 -0
  48. package/dist/src/core/TextureError.js.map +1 -0
  49. package/dist/src/core/TextureMemoryManager.d.ts +11 -4
  50. package/dist/src/core/TextureMemoryManager.js +114 -134
  51. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  52. package/dist/src/core/animations/AnimationManager.js +0 -18
  53. package/dist/src/core/animations/AnimationManager.js.map +1 -1
  54. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  55. package/dist/src/core/animations/CoreAnimation.js +8 -24
  56. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  57. package/dist/src/core/animations/CoreAnimationController.d.ts +1 -0
  58. package/dist/src/core/animations/CoreAnimationController.js +11 -22
  59. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  60. package/dist/src/core/lib/ContextSpy.js +0 -18
  61. package/dist/src/core/lib/ContextSpy.js.map +1 -1
  62. package/dist/src/core/lib/ImageWorker.d.ts +2 -2
  63. package/dist/src/core/lib/ImageWorker.js +33 -31
  64. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  65. package/dist/src/core/lib/Matrix3d.d.ts +1 -0
  66. package/dist/src/core/lib/Matrix3d.js +7 -19
  67. package/dist/src/core/lib/Matrix3d.js.map +1 -1
  68. package/dist/src/core/lib/RenderCoords.d.ts +9 -10
  69. package/dist/src/core/lib/RenderCoords.js +27 -55
  70. package/dist/src/core/lib/RenderCoords.js.map +1 -1
  71. package/dist/src/core/lib/WebGlContextWrapper.d.ts +83 -8
  72. package/dist/src/core/lib/WebGlContextWrapper.js +150 -25
  73. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  74. package/dist/src/core/lib/collectionUtils.d.ts +5 -0
  75. package/dist/src/core/lib/collectionUtils.js +82 -0
  76. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  77. package/dist/src/core/lib/colorCache.d.ts +1 -0
  78. package/dist/src/core/lib/colorCache.js +19 -0
  79. package/dist/src/core/lib/colorCache.js.map +1 -0
  80. package/dist/src/core/{renderers/canvas/internal/ColorUtils.js → lib/colorParser.js} +1 -19
  81. package/dist/src/core/lib/colorParser.js.map +1 -0
  82. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  83. package/dist/src/core/lib/textureCompression.js +320 -85
  84. package/dist/src/core/lib/textureCompression.js.map +1 -1
  85. package/dist/src/core/lib/textureSvg.js +0 -18
  86. package/dist/src/core/lib/textureSvg.js.map +1 -1
  87. package/dist/src/core/lib/utils.d.ts +8 -1
  88. package/dist/src/core/lib/utils.js +44 -20
  89. package/dist/src/core/lib/utils.js.map +1 -1
  90. package/dist/src/core/lib/validateImageBitmap.d.ts +2 -1
  91. package/dist/src/core/lib/validateImageBitmap.js +4 -4
  92. package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
  93. package/dist/src/core/platforms/Platform.d.ts +42 -0
  94. package/dist/src/core/platforms/Platform.js +4 -0
  95. package/dist/src/core/platforms/Platform.js.map +1 -0
  96. package/dist/src/core/platforms/web/WebPlatform.d.ts +10 -0
  97. package/dist/src/core/platforms/web/WebPlatform.js +90 -0
  98. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -0
  99. package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
  100. package/dist/src/core/renderers/CoreContextTexture.js +0 -18
  101. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  102. package/dist/src/core/renderers/CoreRenderOp.js +0 -18
  103. package/dist/src/core/renderers/CoreRenderOp.js.map +1 -1
  104. package/dist/src/core/renderers/CoreRenderer.d.ts +15 -3
  105. package/dist/src/core/renderers/CoreRenderer.js +1 -18
  106. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  107. package/dist/src/core/renderers/CoreShaderNode.d.ts +13 -3
  108. package/dist/src/core/renderers/CoreShaderNode.js +25 -2
  109. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  110. package/dist/src/core/renderers/CoreShaderProgram.js +0 -18
  111. package/dist/src/core/renderers/CoreShaderProgram.js.map +1 -1
  112. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +4 -5
  113. package/dist/src/core/renderers/canvas/CanvasRenderer.js +89 -83
  114. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  115. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +3 -21
  116. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
  117. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
  118. package/dist/src/core/renderers/canvas/CanvasTexture.js +18 -31
  119. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  120. package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
  121. package/dist/src/core/renderers/webgl/SdfRenderOp.js +80 -0
  122. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
  123. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +2 -0
  124. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -24
  125. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  126. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +13 -0
  127. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -23
  128. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  129. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +16 -6
  130. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +102 -70
  131. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  132. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +34 -20
  133. package/dist/src/core/renderers/webgl/WebGlRenderer.js +319 -195
  134. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  135. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +2 -3
  136. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +1 -4
  137. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
  138. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +9 -7
  139. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +99 -48
  140. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  141. package/dist/src/core/renderers/webgl/internal/BufferCollection.d.ts +1 -0
  142. package/dist/src/core/renderers/webgl/internal/BufferCollection.js +12 -21
  143. package/dist/src/core/renderers/webgl/internal/BufferCollection.js.map +1 -1
  144. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +0 -18
  145. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  146. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +0 -18
  147. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  148. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js +0 -18
  149. package/dist/src/core/renderers/webgl/internal/WebGlUtils.js.map +1 -1
  150. package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
  151. package/dist/src/core/shaders/canvas/Border.js +67 -41
  152. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  153. package/dist/src/core/shaders/canvas/HolePunch.js +3 -19
  154. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  155. package/dist/src/core/shaders/canvas/LinearGradient.js +7 -21
  156. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  157. package/dist/src/core/shaders/canvas/RadialGradient.js +14 -28
  158. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  159. package/dist/src/core/shaders/canvas/Rounded.js +1 -17
  160. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  161. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
  162. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +44 -22
  163. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  164. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
  165. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +47 -25
  166. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  167. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +9 -21
  168. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  169. package/dist/src/core/shaders/canvas/Shadow.js +0 -16
  170. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
  171. package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
  172. package/dist/src/core/shaders/canvas/utils/render.js +31 -34
  173. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
  174. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +12 -2
  175. package/dist/src/core/shaders/templates/BorderTemplate.js +31 -27
  176. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  177. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  178. package/dist/src/core/shaders/templates/HolePunchTemplate.js +3 -19
  179. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  180. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -16
  181. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +1 -1
  182. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
  183. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -18
  184. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  185. package/dist/src/core/shaders/templates/RoundedTemplate.js +1 -17
  186. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +1 -1
  187. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +1 -1
  188. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -16
  189. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +1 -1
  190. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +4 -2
  191. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +3 -17
  192. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +1 -1
  193. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +1 -1
  194. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -16
  195. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +1 -1
  196. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +1 -1
  197. package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -16
  198. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +1 -1
  199. package/dist/src/core/shaders/{templates/shaderUtils.d.ts → utils.d.ts} +1 -1
  200. package/dist/src/core/shaders/utils.js +25 -0
  201. package/dist/src/core/shaders/utils.js.map +1 -0
  202. package/dist/src/core/shaders/webgl/Border.js +118 -51
  203. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  204. package/dist/src/core/shaders/webgl/Default.js +6 -41
  205. package/dist/src/core/shaders/webgl/Default.js.map +1 -1
  206. package/dist/src/core/shaders/webgl/HolePunch.js +4 -19
  207. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  208. package/dist/src/core/shaders/webgl/LinearGradient.js +73 -34
  209. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  210. package/dist/src/core/shaders/webgl/RadialGradient.js +56 -48
  211. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  212. package/dist/src/core/shaders/webgl/Rounded.js +25 -23
  213. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  214. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +160 -55
  215. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  216. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +168 -58
  217. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  218. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +73 -34
  219. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  220. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  221. package/dist/src/core/shaders/webgl/SdfShader.js +8 -36
  222. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  223. package/dist/src/core/shaders/webgl/Shadow.js +39 -34
  224. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
  225. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
  226. package/dist/src/core/text-rendering/CanvasFontHandler.js +206 -0
  227. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
  228. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
  229. package/dist/src/core/text-rendering/CanvasTextRenderer.js +139 -0
  230. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
  231. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +167 -0
  232. package/dist/src/core/text-rendering/SdfFontHandler.js +371 -0
  233. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
  234. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +18 -0
  235. package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -0
  236. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
  237. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
  238. package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
  239. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  240. package/dist/src/core/text-rendering/TextRenderer.d.ts +384 -0
  241. package/dist/src/core/text-rendering/TextRenderer.js +2 -0
  242. package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
  243. package/dist/src/core/text-rendering/Utils.d.ts +30 -0
  244. package/dist/src/core/text-rendering/Utils.js +66 -0
  245. package/dist/src/core/text-rendering/Utils.js.map +1 -0
  246. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  247. package/dist/src/core/textures/ColorTexture.js +3 -22
  248. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  249. package/dist/src/core/textures/ImageTexture.d.ts +13 -6
  250. package/dist/src/core/textures/ImageTexture.js +57 -66
  251. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  252. package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
  253. package/dist/src/core/textures/NoiseTexture.js +8 -26
  254. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  255. package/dist/src/core/textures/RenderTexture.d.ts +7 -7
  256. package/dist/src/core/textures/RenderTexture.js +12 -30
  257. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  258. package/dist/src/core/textures/SubTexture.d.ts +6 -8
  259. package/dist/src/core/textures/SubTexture.js +19 -55
  260. package/dist/src/core/textures/SubTexture.js.map +1 -1
  261. package/dist/src/core/textures/Texture.d.ts +90 -12
  262. package/dist/src/core/textures/Texture.js +160 -35
  263. package/dist/src/core/textures/Texture.js.map +1 -1
  264. package/dist/src/core/utils.d.ts +2 -1
  265. package/dist/src/core/utils.js +1 -19
  266. package/dist/src/core/utils.js.map +1 -1
  267. package/dist/src/main-api/INode.js.map +1 -1
  268. package/dist/src/main-api/Inspector.d.ts +135 -2
  269. package/dist/src/main-api/Inspector.js +507 -30
  270. package/dist/src/main-api/Inspector.js.map +1 -1
  271. package/dist/src/main-api/Renderer.d.ts +294 -81
  272. package/dist/src/main-api/Renderer.js +225 -96
  273. package/dist/src/main-api/Renderer.js.map +1 -1
  274. package/dist/src/utils.d.ts +19 -6
  275. package/dist/src/utils.js +32 -27
  276. package/dist/src/utils.js.map +1 -1
  277. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  278. package/dist/tsconfig.tsbuildinfo +1 -0
  279. package/exports/canvas-shaders.ts +0 -17
  280. package/exports/canvas.ts +1 -19
  281. package/exports/index.ts +6 -27
  282. package/exports/inspector.ts +0 -19
  283. package/exports/utils.ts +7 -19
  284. package/exports/webgl-shaders.ts +0 -16
  285. package/exports/webgl.ts +3 -20
  286. package/package.json +23 -22
  287. package/src/common/CommonTypes.ts +20 -22
  288. package/src/common/EventEmitter.ts +0 -19
  289. package/src/common/IAnimationController.ts +0 -18
  290. package/src/common/IEventEmitter.ts +0 -17
  291. package/src/core/Autosizer.ts +205 -0
  292. package/src/core/CoreNode.test.ts +376 -45
  293. package/src/core/CoreNode.ts +1015 -656
  294. package/src/core/CoreShaderManager.ts +3 -21
  295. package/src/core/CoreTextNode.ts +457 -314
  296. package/src/core/CoreTextureManager.ts +110 -167
  297. package/src/core/Stage.ts +526 -236
  298. package/src/core/TextureError.ts +46 -0
  299. package/src/core/TextureMemoryManager.ts +150 -167
  300. package/src/core/animations/AnimationManager.ts +0 -19
  301. package/src/core/animations/CoreAnimation.ts +15 -32
  302. package/src/core/animations/CoreAnimationController.ts +13 -23
  303. package/src/core/lib/ContextSpy.ts +0 -19
  304. package/src/core/lib/ImageWorker.ts +45 -32
  305. package/src/core/lib/Matrix3d.ts +7 -20
  306. package/src/core/lib/RenderCoords.ts +36 -67
  307. package/src/core/lib/WebGlContextWrapper.ts +196 -72
  308. package/src/core/lib/collectionUtils.ts +99 -0
  309. package/src/core/lib/colorCache.ts +20 -0
  310. package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +2 -21
  311. package/src/core/lib/textureCompression.ts +433 -93
  312. package/src/core/lib/textureSvg.ts +0 -19
  313. package/src/core/lib/utils.ts +58 -19
  314. package/src/core/lib/validateImageBitmap.ts +17 -6
  315. package/src/core/platforms/Platform.ts +64 -0
  316. package/src/core/platforms/web/WebPlatform.ts +132 -0
  317. package/src/core/renderers/CoreContextTexture.ts +2 -20
  318. package/src/core/renderers/CoreRenderOp.ts +0 -19
  319. package/src/core/renderers/CoreRenderer.ts +16 -23
  320. package/src/core/renderers/CoreShaderNode.ts +37 -6
  321. package/src/core/renderers/CoreShaderProgram.ts +0 -19
  322. package/src/core/renderers/canvas/CanvasRenderer.ts +108 -137
  323. package/src/core/renderers/canvas/CanvasShaderNode.ts +3 -23
  324. package/src/core/renderers/canvas/CanvasTexture.ts +25 -37
  325. package/src/core/renderers/webgl/SdfRenderOp.ts +88 -0
  326. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +18 -34
  327. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -24
  328. package/src/core/renderers/webgl/WebGlCtxTexture.ts +134 -103
  329. package/src/core/renderers/webgl/WebGlRenderer.ts +368 -233
  330. package/src/core/renderers/webgl/WebGlShaderNode.ts +4 -7
  331. package/src/core/renderers/webgl/WebGlShaderProgram.ts +122 -76
  332. package/src/core/renderers/webgl/internal/BufferCollection.ts +15 -23
  333. package/src/core/renderers/webgl/internal/RendererUtils.ts +0 -19
  334. package/src/core/renderers/webgl/internal/ShaderUtils.ts +0 -19
  335. package/src/core/renderers/webgl/internal/WebGlUtils.ts +0 -19
  336. package/src/core/shaders/canvas/Border.ts +91 -50
  337. package/src/core/shaders/canvas/HolePunch.ts +4 -28
  338. package/src/core/shaders/canvas/LinearGradient.ts +10 -25
  339. package/src/core/shaders/canvas/RadialGradient.ts +23 -54
  340. package/src/core/shaders/canvas/Rounded.ts +2 -19
  341. package/src/core/shaders/canvas/RoundedWithBorder.ts +72 -35
  342. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +77 -47
  343. package/src/core/shaders/canvas/RoundedWithShadow.ts +21 -34
  344. package/src/core/shaders/canvas/Shadow.ts +0 -17
  345. package/src/core/shaders/canvas/utils/render.ts +45 -53
  346. package/src/core/shaders/templates/BorderTemplate.ts +42 -29
  347. package/src/core/shaders/templates/HolePunchTemplate.ts +5 -22
  348. package/src/core/shaders/templates/LinearGradientTemplate.ts +0 -17
  349. package/src/core/shaders/templates/RadialGradientTemplate.ts +10 -25
  350. package/src/core/shaders/templates/RoundedTemplate.ts +1 -18
  351. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +1 -18
  352. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +7 -19
  353. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +1 -18
  354. package/src/core/shaders/templates/ShadowTemplate.ts +1 -18
  355. package/src/core/shaders/utils.ts +30 -0
  356. package/src/core/shaders/webgl/Border.ts +118 -55
  357. package/src/core/shaders/webgl/Default.ts +6 -43
  358. package/src/core/shaders/webgl/HolePunch.ts +4 -24
  359. package/src/core/shaders/webgl/LinearGradient.ts +73 -35
  360. package/src/core/shaders/webgl/RadialGradient.ts +58 -51
  361. package/src/core/shaders/webgl/Rounded.ts +25 -45
  362. package/src/core/shaders/webgl/RoundedWithBorder.ts +161 -63
  363. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +169 -68
  364. package/src/core/shaders/webgl/RoundedWithShadow.ts +73 -39
  365. package/src/core/shaders/webgl/SdfShader.ts +8 -41
  366. package/src/core/shaders/webgl/Shadow.ts +39 -35
  367. package/src/core/text-rendering/CanvasFontHandler.ts +285 -0
  368. package/src/core/text-rendering/CanvasTextRenderer.ts +236 -0
  369. package/src/core/text-rendering/SdfFontHandler.ts +566 -0
  370. package/src/core/text-rendering/SdfTextRenderer.ts +406 -0
  371. package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
  372. package/src/core/text-rendering/TextRenderer.ts +426 -0
  373. package/src/core/text-rendering/Utils.ts +80 -0
  374. package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +434 -0
  375. package/src/core/textures/ColorTexture.ts +7 -24
  376. package/src/core/textures/ImageTexture.ts +110 -92
  377. package/src/core/textures/NoiseTexture.ts +14 -31
  378. package/src/core/textures/RenderTexture.ts +18 -35
  379. package/src/core/textures/SubTexture.ts +25 -65
  380. package/src/core/textures/Texture.ts +214 -46
  381. package/src/core/utils.ts +9 -26
  382. package/src/main-api/INode.ts +0 -18
  383. package/src/main-api/Inspector.ts +794 -38
  384. package/src/main-api/Renderer.ts +519 -159
  385. package/src/utils.ts +64 -29
  386. package/dist/src/core/platform.d.ts +0 -10
  387. package/dist/src/core/platform.js +0 -56
  388. package/dist/src/core/platform.js.map +0 -1
  389. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +0 -1
  390. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +0 -217
  391. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +0 -1
  392. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +0 -1
  393. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -36
  394. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -107
  395. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  396. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  397. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  398. package/dist/src/core/text-rendering/TextRenderingUtils.d.ts +0 -12
  399. package/dist/src/core/text-rendering/TextRenderingUtils.js +0 -14
  400. package/dist/src/core/text-rendering/TextRenderingUtils.js.map +0 -1
  401. package/dist/src/core/text-rendering/TextTextureRendererUtils.d.ts +0 -72
  402. package/dist/src/core/text-rendering/TextTextureRendererUtils.js +0 -217
  403. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +0 -1
  404. package/dist/src/core/text-rendering/TrFontManager.d.ts +0 -26
  405. package/dist/src/core/text-rendering/TrFontManager.js +0 -131
  406. package/dist/src/core/text-rendering/TrFontManager.js.map +0 -1
  407. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.d.ts +0 -39
  408. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +0 -125
  409. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +0 -1
  410. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.d.ts +0 -103
  411. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js +0 -21
  412. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.js.map +0 -1
  413. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.d.ts +0 -62
  414. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js +0 -88
  415. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.js.map +0 -1
  416. package/dist/src/core/text-rendering/font-face-types/TrFontFace.d.ts +0 -118
  417. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js +0 -63
  418. package/dist/src/core/text-rendering/font-face-types/TrFontFace.js.map +0 -1
  419. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.d.ts +0 -14
  420. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js +0 -66
  421. package/dist/src/core/text-rendering/font-face-types/WebTrFontFace.js.map +0 -1
  422. package/dist/src/core/text-rendering/font-face-types/utils.d.ts +0 -1
  423. package/dist/src/core/text-rendering/font-face-types/utils.js +0 -38
  424. package/dist/src/core/text-rendering/font-face-types/utils.js.map +0 -1
  425. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.d.ts +0 -59
  426. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -397
  427. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +0 -1
  428. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +0 -126
  429. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +0 -551
  430. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +0 -1
  431. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +0 -91
  432. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +0 -611
  433. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +0 -1
  434. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.d.ts +0 -12
  435. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js +0 -61
  436. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.js.map +0 -1
  437. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.d.ts +0 -33
  438. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js +0 -52
  439. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.js.map +0 -1
  440. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.d.ts +0 -13
  441. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js +0 -32
  442. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.js.map +0 -1
  443. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.d.ts +0 -23
  444. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js +0 -84
  445. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.js.map +0 -1
  446. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.d.ts +0 -4
  447. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js +0 -34
  448. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.js.map +0 -1
  449. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +0 -20
  450. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +0 -308
  451. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +0 -1
  452. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.d.ts +0 -10
  453. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js +0 -40
  454. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.js.map +0 -1
  455. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.d.ts +0 -26
  456. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js +0 -70
  457. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.js.map +0 -1
  458. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.d.ts +0 -16
  459. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js +0 -39
  460. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.js.map +0 -1
  461. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +0 -370
  462. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -178
  463. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +0 -1
  464. package/scripts/please-use-pnpm.js +0 -13
  465. package/src/core/platform.ts +0 -64
  466. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
  467. package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -145
  468. package/src/core/shaders/templates/shaderUtils.ts +0 -47
  469. package/src/core/shaders/webgl/DefaultBatched.ts +0 -129
  470. package/src/core/text-rendering/TextRenderingUtils.ts +0 -36
  471. package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
  472. package/src/core/text-rendering/TrFontManager.ts +0 -183
  473. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
  474. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
  475. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
  476. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
  477. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
  478. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
  479. package/src/core/text-rendering/font-face-types/utils.ts +0 -39
  480. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -509
  481. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -815
  482. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -841
  483. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
  484. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
  485. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
  486. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +0 -32
  487. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
  488. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
  489. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +0 -38
  490. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -408
  491. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
  492. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
  493. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
  494. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
  495. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +0 -40
  496. package/src/core/text-rendering/renderers/TextRenderer.ts +0 -550
  497. /package/dist/src/core/{renderers/canvas/internal/ColorUtils.d.ts → lib/colorParser.d.ts} +0 -0
@@ -1,3 +1,4 @@
1
+ import type { Vec2, Vec3, Vec4 } from '../renderers/webgl/internal/ShaderUtils.js';
1
2
  /**
2
3
  * Optimized WebGL Context Wrapper
3
4
  *
@@ -35,6 +36,7 @@ export declare class WebGlContextWrapper {
35
36
  private boundArrayBuffer;
36
37
  private boundElementArrayBuffer;
37
38
  private curProgram;
39
+ private curUniformLocations;
38
40
  readonly canvas: any;
39
41
  readonly MAX_RENDERBUFFER_SIZE: any;
40
42
  readonly MAX_TEXTURE_SIZE: any;
@@ -51,6 +53,7 @@ export declare class WebGlContextWrapper {
51
53
  readonly TEXTURE_WRAP_S: any;
52
54
  readonly TEXTURE_WRAP_T: any;
53
55
  readonly LINEAR: any;
56
+ readonly LINEAR_MIPMAP_LINEAR: any;
54
57
  readonly CLAMP_TO_EDGE: any;
55
58
  readonly RGB: any;
56
59
  readonly RGBA: any;
@@ -174,7 +177,7 @@ export declare class WebGlContextWrapper {
174
177
  *
175
178
  * @returns
176
179
  */
177
- createTexture(): WebGLTexture | null;
180
+ createTexture(): WebGLTexture;
178
181
  /**
179
182
  * ```
180
183
  * gl.deleteTexture(texture);
@@ -250,14 +253,14 @@ export declare class WebGlContextWrapper {
250
253
  *
251
254
  * @returns
252
255
  */
253
- createBuffer(): WebGLBuffer | null;
256
+ createBuffer(): WebGLBuffer;
254
257
  /**
255
258
  * ```
256
259
  * gl.createFramebuffer();
257
260
  * ```
258
261
  * @returns
259
262
  */
260
- createFramebuffer(): WebGLFramebuffer | null;
263
+ createFramebuffer(): WebGLFramebuffer;
261
264
  /**
262
265
  * ```
263
266
  * gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
@@ -297,6 +300,21 @@ export declare class WebGlContextWrapper {
297
300
  * @param usage
298
301
  */
299
302
  arrayBufferData(buffer: WebGLBuffer | null, data: ArrayBufferView, usage: GLenum): void;
303
+ /**
304
+ * ```
305
+ * gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // if needed
306
+ * gl.bufferSubData(gl.ARRAY_BUFFER, dstByteOffset, data);
307
+ * ```
308
+ *
309
+ * @remarks
310
+ * **WebGL Combo**: `gl.bindBuffer` is only called when the buffer changes.
311
+ * Used to surgically update a subset of the GPU buffer without reallocating it.
312
+ *
313
+ * @param buffer
314
+ * @param dstByteOffset - Byte offset into the GPU buffer where `data` will be written
315
+ * @param data
316
+ */
317
+ arrayBufferSubData(buffer: WebGLBuffer | null, dstByteOffset: number, data: ArrayBufferView): void;
300
318
  /**
301
319
  * ```
302
320
  * gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
@@ -334,13 +352,13 @@ export declare class WebGlContextWrapper {
334
352
  * @param program
335
353
  * @returns object with numbers
336
354
  */
337
- getUniformLocations(program: WebGLProgram): Record<string, number>;
355
+ getUniformLocations(program: WebGLProgram): Record<string, WebGLUniformLocation>;
338
356
  /**
339
357
  * Returns object with Attribute names as key and numbers as location values
340
358
  * @param program
341
359
  * @returns object with numbers
342
360
  */
343
- getAttributeLocations(program: WebGLProgram): Record<string, number>;
361
+ getAttributeLocations(program: WebGLProgram): string[];
344
362
  /**
345
363
  * ```
346
364
  * gl.useProgram(program);
@@ -349,7 +367,7 @@ export declare class WebGlContextWrapper {
349
367
  * @param program
350
368
  * @returns
351
369
  */
352
- useProgram(program: WebGLProgram | null): void;
370
+ useProgram(program: WebGLProgram | null, uniformLocations: Record<string, WebGLUniformLocation>): void;
353
371
  /**
354
372
  * Sets the value of a single float uniform variable.
355
373
  *
@@ -386,6 +404,13 @@ export declare class WebGlContextWrapper {
386
404
  * @param v1 - The second component of the vector.
387
405
  */
388
406
  uniform2f(location: string, v0: number, v1: number): void;
407
+ /**
408
+ * Sets the value of a vec3 uniform variable.
409
+ *
410
+ * @param location - The location of the uniform variable.
411
+ * @param v - array of 4 numbers.
412
+ */
413
+ uniform2fa(location: string, value: Vec2): void;
389
414
  /**
390
415
  * Sets the value of a vec2 array uniform variable.
391
416
  *
@@ -417,6 +442,13 @@ export declare class WebGlContextWrapper {
417
442
  * @param v2 - The third component of the vector.
418
443
  */
419
444
  uniform3f(location: string, v0: number, v1: number, v2: number): void;
445
+ /**
446
+ * Sets the value of a vec3 uniform variable.
447
+ *
448
+ * @param location - The location of the uniform variable.
449
+ * @param v - array of 4 numbers.
450
+ */
451
+ uniform3fa(location: string, value: Vec3): void;
420
452
  /**
421
453
  * Sets the value of a vec3 array uniform variable.
422
454
  *
@@ -450,6 +482,13 @@ export declare class WebGlContextWrapper {
450
482
  * @param v3 - The fourth component of the vector.
451
483
  */
452
484
  uniform4f(location: string, v0: number, v1: number, v2: number, v3: number): void;
485
+ /**
486
+ * Sets the value of a vec4 uniform variable.
487
+ *
488
+ * @param location - The location of the uniform variable.
489
+ * @param v - array of 4 numbers.
490
+ */
491
+ uniform4fa(location: string, value: Vec4): void;
453
492
  /**
454
493
  * Sets the value of a vec4 array uniform variable.
455
494
  *
@@ -514,6 +553,16 @@ export declare class WebGlContextWrapper {
514
553
  * @param offset
515
554
  */
516
555
  drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
556
+ /**
557
+ * ```
558
+ * gl.drawArrays(mode, first, count);
559
+ * ```
560
+ *
561
+ * @param mode
562
+ * @param first
563
+ * @param count
564
+ */
565
+ drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
517
566
  /**
518
567
  * ```
519
568
  * gl.drawArrays(mode, first, count);
@@ -538,7 +587,7 @@ export declare class WebGlContextWrapper {
538
587
  *
539
588
  * @returns
540
589
  */
541
- createVertexArray(): WebGLVertexArrayObject | null | undefined;
590
+ createVertexArray(): WebGLVertexArrayObject | undefined;
542
591
  /**
543
592
  * ```
544
593
  * gl.bindVertexArray(vertexArray);
@@ -650,7 +699,7 @@ export declare class WebGlContextWrapper {
650
699
  *
651
700
  * @returns
652
701
  */
653
- createProgram(): WebGLProgram | null;
702
+ createProgram(): WebGLProgram;
654
703
  /**
655
704
  * ```
656
705
  * gl.getProgramParameter(program, pname);
@@ -687,6 +736,32 @@ export declare class WebGlContextWrapper {
687
736
  * @param shader
688
737
  */
689
738
  deleteShader(shader: WebGLShader): void;
739
+ /**
740
+ * ```
741
+ * gl.deleteBuffer(buffer);
742
+ * ```
743
+ *
744
+ * @param buffer - The buffer to delete
745
+ */
746
+ deleteBuffer(buffer: WebGLBuffer): void;
747
+ /**
748
+ * ```
749
+ * gl.deleteVertexArray(vertexArray);
750
+ * ```
751
+ *
752
+ * @param vertexArray - The vertex array object to delete
753
+ */
754
+ deleteVertexArray(vertexArray: WebGLVertexArrayObject): void;
755
+ /**
756
+ * Check for WebGL errors and return error information
757
+ * @param operation Description of the operation for error reporting
758
+ * @returns Object with error information or null if no error
759
+ */
760
+ checkError(operation: string): {
761
+ error: number;
762
+ errorName: string;
763
+ message: string;
764
+ } | null;
690
765
  }
691
766
  type IsUniformMethod<MethodName, MethodType> = MethodName extends `uniform${string}` ? MethodType extends (location: WebGLUniformLocation | null, ...args: any[]) => void ? true : false : false;
692
767
  export type UniformMethodMap = {
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable @typescript-eslint/no-unsafe-return */
2
2
  /* eslint-disable @typescript-eslint/no-explicit-any */
3
3
  /* eslint-disable @typescript-eslint/no-unsafe-argument */
4
- import { assertTruthy } from '../../utils.js';
4
+ import { assertTruthy, isProductionEnvironment } from '../../utils.js';
5
5
  import { isWebGl2 } from '../renderers/webgl/internal/WebGlUtils.js';
6
6
  /**
7
7
  * Optimized WebGL Context Wrapper
@@ -41,6 +41,7 @@ export class WebGlContextWrapper {
41
41
  boundArrayBuffer;
42
42
  boundElementArrayBuffer;
43
43
  curProgram;
44
+ curUniformLocations = {};
44
45
  //#endregion Cached WebGL State
45
46
  //#region Canvas
46
47
  canvas;
@@ -61,6 +62,7 @@ export class WebGlContextWrapper {
61
62
  TEXTURE_WRAP_S;
62
63
  TEXTURE_WRAP_T;
63
64
  LINEAR;
65
+ LINEAR_MIPMAP_LINEAR;
64
66
  CLAMP_TO_EDGE;
65
67
  RGB;
66
68
  RGBA;
@@ -133,6 +135,7 @@ export class WebGlContextWrapper {
133
135
  this.TEXTURE_WRAP_S = gl.TEXTURE_WRAP_S;
134
136
  this.TEXTURE_WRAP_T = gl.TEXTURE_WRAP_T;
135
137
  this.LINEAR = gl.LINEAR;
138
+ this.LINEAR_MIPMAP_LINEAR = gl.LINEAR_MIPMAP_LINEAR;
136
139
  this.CLAMP_TO_EDGE = gl.CLAMP_TO_EDGE;
137
140
  this.RGB = gl.RGB;
138
141
  this.RGBA = gl.RGBA;
@@ -472,6 +475,27 @@ export class WebGlContextWrapper {
472
475
  }
473
476
  this.gl.bufferData(this.gl.ARRAY_BUFFER, data, usage);
474
477
  }
478
+ /**
479
+ * ```
480
+ * gl.bindBuffer(gl.ARRAY_BUFFER, buffer); // if needed
481
+ * gl.bufferSubData(gl.ARRAY_BUFFER, dstByteOffset, data);
482
+ * ```
483
+ *
484
+ * @remarks
485
+ * **WebGL Combo**: `gl.bindBuffer` is only called when the buffer changes.
486
+ * Used to surgically update a subset of the GPU buffer without reallocating it.
487
+ *
488
+ * @param buffer
489
+ * @param dstByteOffset - Byte offset into the GPU buffer where `data` will be written
490
+ * @param data
491
+ */
492
+ arrayBufferSubData(buffer, dstByteOffset, data) {
493
+ if (this.boundArrayBuffer !== buffer) {
494
+ this.gl.bindBuffer(this.gl.ARRAY_BUFFER, buffer);
495
+ this.boundArrayBuffer = buffer;
496
+ }
497
+ this.gl.bufferSubData(this.gl.ARRAY_BUFFER, dstByteOffset, data);
498
+ }
475
499
  /**
476
500
  * ```
477
501
  * gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buffer);
@@ -526,8 +550,10 @@ export class WebGlContextWrapper {
526
550
  const length = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
527
551
  const result = {};
528
552
  for (let i = 0; i < length; i++) {
529
- const { name } = gl.getActiveUniform(program, i);
530
- result[name] = i;
553
+ const info = gl.getActiveUniform(program, i);
554
+ //remove bracket + value from uniform name;
555
+ let name = info.name.replace(/\[.*?\]/g, '');
556
+ result[name] = gl.getUniformLocation(program, name);
531
557
  }
532
558
  return result;
533
559
  }
@@ -539,10 +565,10 @@ export class WebGlContextWrapper {
539
565
  getAttributeLocations(program) {
540
566
  const gl = this.gl;
541
567
  const length = gl.getProgramParameter(program, gl.ACTIVE_ATTRIBUTES);
542
- const result = {};
568
+ const result = [];
543
569
  for (let i = 0; i < length; i++) {
544
570
  const { name } = gl.getActiveAttrib(program, i);
545
- result[name] = i;
571
+ result[gl.getAttribLocation(program, name)] = name;
546
572
  }
547
573
  return result;
548
574
  }
@@ -554,12 +580,13 @@ export class WebGlContextWrapper {
554
580
  * @param program
555
581
  * @returns
556
582
  */
557
- useProgram(program) {
583
+ useProgram(program, uniformLocations) {
558
584
  if (this.curProgram === program) {
559
585
  return;
560
586
  }
561
587
  this.gl.useProgram(program);
562
588
  this.curProgram = program;
589
+ this.curUniformLocations = uniformLocations;
563
590
  }
564
591
  /**
565
592
  * Sets the value of a single float uniform variable.
@@ -568,7 +595,7 @@ export class WebGlContextWrapper {
568
595
  * @param v0 - The value to set.
569
596
  */
570
597
  uniform1f(location, v0) {
571
- this.gl.uniform1f(this.gl.getUniformLocation(this.curProgram, location), v0);
598
+ this.gl.uniform1f(this.curUniformLocations[location] || null, v0);
572
599
  }
573
600
  /**
574
601
  * Sets the value of a float array uniform variable.
@@ -577,7 +604,7 @@ export class WebGlContextWrapper {
577
604
  * @param value - The array of values to set.
578
605
  */
579
606
  uniform1fv(location, value) {
580
- this.gl.uniform1fv(this.gl.getUniformLocation(this.curProgram, location), value);
607
+ this.gl.uniform1fv(this.curUniformLocations[location] || null, value);
581
608
  }
582
609
  /**
583
610
  * Sets the value of a single integer uniform variable.
@@ -586,7 +613,7 @@ export class WebGlContextWrapper {
586
613
  * @param v0 - The value to set.
587
614
  */
588
615
  uniform1i(location, v0) {
589
- this.gl.uniform1i(this.gl.getUniformLocation(this.curProgram, location), v0);
616
+ this.gl.uniform1i(this.curUniformLocations[location] || null, v0);
590
617
  }
591
618
  /**
592
619
  * Sets the value of an integer array uniform variable.
@@ -595,7 +622,7 @@ export class WebGlContextWrapper {
595
622
  * @param value - The array of values to set.
596
623
  */
597
624
  uniform1iv(location, value) {
598
- this.gl.uniform1iv(this.gl.getUniformLocation(this.curProgram, location), value);
625
+ this.gl.uniform1iv(this.curUniformLocations[location] || null, value);
599
626
  }
600
627
  /**
601
628
  * Sets the value of a vec2 uniform variable.
@@ -605,7 +632,16 @@ export class WebGlContextWrapper {
605
632
  * @param v1 - The second component of the vector.
606
633
  */
607
634
  uniform2f(location, v0, v1) {
608
- this.gl.uniform2f(this.gl.getUniformLocation(this.curProgram, location), v0, v1);
635
+ this.gl.uniform2f(this.curUniformLocations[location] || null, v0, v1);
636
+ }
637
+ /**
638
+ * Sets the value of a vec3 uniform variable.
639
+ *
640
+ * @param location - The location of the uniform variable.
641
+ * @param v - array of 4 numbers.
642
+ */
643
+ uniform2fa(location, value) {
644
+ this.gl.uniform2f(this.curUniformLocations[location] || null, value[0], value[1]);
609
645
  }
610
646
  /**
611
647
  * Sets the value of a vec2 array uniform variable.
@@ -614,7 +650,7 @@ export class WebGlContextWrapper {
614
650
  * @param value - The array of vec2 values to set.
615
651
  */
616
652
  uniform2fv(location, value) {
617
- this.gl.uniform2fv(this.gl.getUniformLocation(this.curProgram, location), value);
653
+ this.gl.uniform2fv(this.curUniformLocations[location] || null, value);
618
654
  }
619
655
  /**
620
656
  * Sets the value of a ivec2 uniform variable.
@@ -624,7 +660,7 @@ export class WebGlContextWrapper {
624
660
  * @param v1 - The second component of the vector.
625
661
  */
626
662
  uniform2i(location, v0, v1) {
627
- this.gl.uniform2i(this.gl.getUniformLocation(this.curProgram, location), v0, v1);
663
+ this.gl.uniform2i(this.curUniformLocations[location] || null, v0, v1);
628
664
  }
629
665
  /**
630
666
  * Sets the value of an ivec2 array uniform variable.
@@ -633,7 +669,7 @@ export class WebGlContextWrapper {
633
669
  * @param value - The array of ivec2 values to set.
634
670
  */
635
671
  uniform2iv(location, value) {
636
- this.gl.uniform2iv(this.gl.getUniformLocation(this.curProgram, location), value);
672
+ this.gl.uniform2iv(this.curUniformLocations[location] || null, value);
637
673
  }
638
674
  /**
639
675
  * Sets the value of a vec3 uniform variable.
@@ -644,7 +680,16 @@ export class WebGlContextWrapper {
644
680
  * @param v2 - The third component of the vector.
645
681
  */
646
682
  uniform3f(location, v0, v1, v2) {
647
- this.gl.uniform3f(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2);
683
+ this.gl.uniform3f(this.curUniformLocations[location] || null, v0, v1, v2);
684
+ }
685
+ /**
686
+ * Sets the value of a vec3 uniform variable.
687
+ *
688
+ * @param location - The location of the uniform variable.
689
+ * @param v - array of 4 numbers.
690
+ */
691
+ uniform3fa(location, value) {
692
+ this.gl.uniform3f(this.curUniformLocations[location] || null, value[0], value[1], value[2]);
648
693
  }
649
694
  /**
650
695
  * Sets the value of a vec3 array uniform variable.
@@ -653,7 +698,7 @@ export class WebGlContextWrapper {
653
698
  * @param value - The array of vec3 values to set.
654
699
  */
655
700
  uniform3fv(location, value) {
656
- this.gl.uniform3fv(this.gl.getUniformLocation(this.curProgram, location), value);
701
+ this.gl.uniform3fv(this.curUniformLocations[location] || null, value);
657
702
  }
658
703
  /**
659
704
  * Sets the value of a ivec3 uniform variable.
@@ -664,7 +709,7 @@ export class WebGlContextWrapper {
664
709
  * @param v2 - The third component of the vector.
665
710
  */
666
711
  uniform3i(location, v0, v1, v2) {
667
- this.gl.uniform3i(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2);
712
+ this.gl.uniform3i(this.curUniformLocations[location] || null, v0, v1, v2);
668
713
  }
669
714
  /**
670
715
  * Sets the value of an ivec3 array uniform variable.
@@ -673,7 +718,7 @@ export class WebGlContextWrapper {
673
718
  * @param value - The array of ivec3 values to set.
674
719
  */
675
720
  uniform3iv(location, value) {
676
- this.gl.uniform3iv(this.gl.getUniformLocation(this.curProgram, location), value);
721
+ this.gl.uniform3iv(this.curUniformLocations[location] || null, value);
677
722
  }
678
723
  /**
679
724
  * Sets the value of a vec4 uniform variable.
@@ -685,7 +730,16 @@ export class WebGlContextWrapper {
685
730
  * @param v3 - The fourth component of the vector.
686
731
  */
687
732
  uniform4f(location, v0, v1, v2, v3) {
688
- this.gl.uniform4f(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2, v3);
733
+ this.gl.uniform4f(this.curUniformLocations[location] || null, v0, v1, v2, v3);
734
+ }
735
+ /**
736
+ * Sets the value of a vec4 uniform variable.
737
+ *
738
+ * @param location - The location of the uniform variable.
739
+ * @param v - array of 4 numbers.
740
+ */
741
+ uniform4fa(location, value) {
742
+ this.gl.uniform4f(this.curUniformLocations[location] || null, value[0], value[1], value[2], value[3]);
689
743
  }
690
744
  /**
691
745
  * Sets the value of a vec4 array uniform variable.
@@ -694,7 +748,7 @@ export class WebGlContextWrapper {
694
748
  * @param value - The array of vec4 values to set.
695
749
  */
696
750
  uniform4fv(location, value) {
697
- this.gl.uniform4fv(this.gl.getUniformLocation(this.curProgram, location), value);
751
+ this.gl.uniform4fv(this.curUniformLocations[location] || null, value);
698
752
  }
699
753
  /**
700
754
  * Sets the value of a ivec4 uniform variable.
@@ -706,7 +760,7 @@ export class WebGlContextWrapper {
706
760
  * @param v3 - The fourth component of the vector.
707
761
  */
708
762
  uniform4i(location, v0, v1, v2, v3) {
709
- this.gl.uniform4i(this.gl.getUniformLocation(this.curProgram, location), v0, v1, v2, v3);
763
+ this.gl.uniform4i(this.curUniformLocations[location] || null, v0, v1, v2, v3);
710
764
  }
711
765
  /**
712
766
  * Sets the value of an ivec4 array uniform variable.
@@ -715,7 +769,7 @@ export class WebGlContextWrapper {
715
769
  * @param value - The array of ivec4 values to set.
716
770
  */
717
771
  uniform4iv(location, value) {
718
- this.gl.uniform4iv(this.gl.getUniformLocation(this.curProgram, location), value);
772
+ this.gl.uniform4iv(this.curUniformLocations[location] || null, value);
719
773
  }
720
774
  /**
721
775
  * Sets the value of a mat2 uniform variable.
@@ -725,7 +779,7 @@ export class WebGlContextWrapper {
725
779
  * @param value - The array of mat2 values to set.
726
780
  */
727
781
  uniformMatrix2fv(location, value) {
728
- this.gl.uniformMatrix2fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
782
+ this.gl.uniformMatrix2fv(this.curUniformLocations[location] || null, false, value);
729
783
  }
730
784
  /**
731
785
  * Sets the value of a mat2 uniform variable.
@@ -733,7 +787,7 @@ export class WebGlContextWrapper {
733
787
  * @param value - The array of mat2 values to set.
734
788
  */
735
789
  uniformMatrix3fv(location, value) {
736
- this.gl.uniformMatrix3fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
790
+ this.gl.uniformMatrix3fv(this.curUniformLocations[location] || null, false, value);
737
791
  }
738
792
  /**
739
793
  * Sets the value of a mat4 uniform variable.
@@ -741,7 +795,7 @@ export class WebGlContextWrapper {
741
795
  * @param value - The array of mat4 values to set.
742
796
  */
743
797
  uniformMatrix4fv(location, value) {
744
- this.gl.uniformMatrix4fv(this.gl.getUniformLocation(this.curProgram, location), false, value);
798
+ this.gl.uniformMatrix4fv(this.curUniformLocations[location] || null, false, value);
745
799
  }
746
800
  /**
747
801
  * ```
@@ -767,6 +821,18 @@ export class WebGlContextWrapper {
767
821
  drawElements(mode, count, type, offset) {
768
822
  this.gl.drawElements(mode, count, type, offset);
769
823
  }
824
+ /**
825
+ * ```
826
+ * gl.drawArrays(mode, first, count);
827
+ * ```
828
+ *
829
+ * @param mode
830
+ * @param first
831
+ * @param count
832
+ */
833
+ drawArrays(mode, first, count) {
834
+ this.gl.drawArrays(mode, first, count);
835
+ }
770
836
  /**
771
837
  * ```
772
838
  * gl.drawArrays(mode, first, count);
@@ -985,6 +1051,65 @@ export class WebGlContextWrapper {
985
1051
  deleteShader(shader) {
986
1052
  this.gl.deleteShader(shader);
987
1053
  }
1054
+ /**
1055
+ * ```
1056
+ * gl.deleteBuffer(buffer);
1057
+ * ```
1058
+ *
1059
+ * @param buffer - The buffer to delete
1060
+ */
1061
+ deleteBuffer(buffer) {
1062
+ const { gl } = this;
1063
+ gl.deleteBuffer(buffer);
1064
+ // Reset bound buffers if they match the deleted buffer
1065
+ if (this.boundArrayBuffer === buffer) {
1066
+ this.boundArrayBuffer = null;
1067
+ }
1068
+ }
1069
+ /**
1070
+ * ```
1071
+ * gl.deleteVertexArray(vertexArray);
1072
+ * ```
1073
+ *
1074
+ * @param vertexArray - The vertex array object to delete
1075
+ */
1076
+ deleteVertexArray(vertexArray) {
1077
+ if (this.isWebGl2()) {
1078
+ this.gl.deleteVertexArray(vertexArray);
1079
+ }
1080
+ }
1081
+ /**
1082
+ * Check for WebGL errors and return error information
1083
+ * @param operation Description of the operation for error reporting
1084
+ * @returns Object with error information or null if no error
1085
+ */
1086
+ checkError(operation) {
1087
+ const error = this.getError();
1088
+ if (error !== 0) {
1089
+ // 0 is GL_NO_ERROR
1090
+ let errorName = 'UNKNOWN_ERROR';
1091
+ switch (error) {
1092
+ case this.INVALID_ENUM:
1093
+ errorName = 'INVALID_ENUM';
1094
+ break;
1095
+ case 0x0501: // GL_INVALID_VALUE
1096
+ errorName = 'INVALID_VALUE';
1097
+ break;
1098
+ case this.INVALID_OPERATION:
1099
+ errorName = 'INVALID_OPERATION';
1100
+ break;
1101
+ case 0x0505: // GL_OUT_OF_MEMORY
1102
+ errorName = 'OUT_OF_MEMORY';
1103
+ break;
1104
+ case 0x9242: // GL_CONTEXT_LOST_WEBGL
1105
+ errorName = 'CONTEXT_LOST_WEBGL';
1106
+ break;
1107
+ }
1108
+ const message = `WebGL ${errorName} (0x${error.toString(16)}) during ${operation}`;
1109
+ return { error, errorName, message };
1110
+ }
1111
+ return null;
1112
+ }
988
1113
  }
989
1114
  /**
990
1115
  * Compare two arrays for equality.
@@ -1 +1 @@
1
- {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WebGlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/lib/WebGlContextWrapper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import type { CoreNode } from '../CoreNode.js';
2
+ export declare const bucketSortByZIndex: (nodes: CoreNode[], min: number) => void;
3
+ export declare const incrementalRepositionByZIndex: (changedNodes: CoreNode[], nodes: CoreNode[]) => void;
4
+ export declare const findChildIndexById: (node: CoreNode, children: CoreNode[]) => number;
5
+ export declare const removeChild: (node: CoreNode, children: CoreNode[]) => void;