@lightningjs/renderer 3.0.0-beta9 → 3.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) 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/Autosizer.d.ts +35 -0
  18. package/dist/src/core/Autosizer.js +196 -0
  19. package/dist/src/core/Autosizer.js.map +1 -0
  20. package/dist/src/core/CoreNode.d.ts +107 -59
  21. package/dist/src/core/CoreNode.js +524 -282
  22. package/dist/src/core/CoreNode.js.map +1 -1
  23. package/dist/src/core/CoreTextNode.d.ts +73 -88
  24. package/dist/src/core/CoreTextNode.js +383 -236
  25. package/dist/src/core/CoreTextNode.js.map +1 -1
  26. package/dist/src/core/CoreTextureManager.d.ts +19 -17
  27. package/dist/src/core/CoreTextureManager.js +52 -120
  28. package/dist/src/core/CoreTextureManager.js.map +1 -1
  29. package/dist/src/core/Stage.d.ts +63 -9
  30. package/dist/src/core/Stage.js +233 -133
  31. package/dist/src/core/Stage.js.map +1 -1
  32. package/dist/src/core/TextureError.d.ts +11 -0
  33. package/dist/src/core/TextureError.js +37 -0
  34. package/dist/src/core/TextureError.js.map +1 -0
  35. package/dist/src/core/TextureMemoryManager.d.ts +2 -4
  36. package/dist/src/core/TextureMemoryManager.js +80 -113
  37. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  38. package/dist/src/core/animations/CoreAnimation.d.ts +3 -3
  39. package/dist/src/core/animations/CoreAnimation.js +3 -3
  40. package/dist/src/core/animations/CoreAnimation.js.map +1 -1
  41. package/dist/src/core/animations/CoreAnimationController.d.ts +1 -1
  42. package/dist/src/core/animations/CoreAnimationController.js +4 -2
  43. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  44. package/dist/src/core/lib/ImageWorker.js +1 -1
  45. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  46. package/dist/src/core/lib/WebGlContextWrapper.d.ts +69 -97
  47. package/dist/src/core/lib/WebGlContextWrapper.js +192 -152
  48. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  49. package/dist/src/core/lib/collectionUtils.d.ts +4 -0
  50. package/dist/src/core/lib/collectionUtils.js +72 -0
  51. package/dist/src/core/lib/collectionUtils.js.map +1 -0
  52. package/dist/src/core/lib/colorCache.d.ts +1 -0
  53. package/dist/src/core/lib/colorCache.js +19 -0
  54. package/dist/src/core/lib/colorCache.js.map +1 -0
  55. package/dist/src/core/lib/colorParser.d.ts +21 -0
  56. package/dist/src/core/lib/colorParser.js +72 -0
  57. package/dist/src/core/lib/colorParser.js.map +1 -0
  58. package/dist/src/core/lib/textureCompression.d.ts +14 -2
  59. package/dist/src/core/lib/textureCompression.js +311 -67
  60. package/dist/src/core/lib/textureCompression.js.map +1 -1
  61. package/dist/src/core/lib/utils.d.ts +6 -6
  62. package/dist/src/core/lib/utils.js +21 -65
  63. package/dist/src/core/lib/utils.js.map +1 -1
  64. package/dist/src/core/lib/validateImageBitmap.d.ts +1 -2
  65. package/dist/src/core/lib/validateImageBitmap.js +4 -4
  66. package/dist/src/core/lib/validateImageBitmap.js.map +1 -1
  67. package/dist/src/core/platform.d.ts +10 -0
  68. package/dist/src/core/platform.js +84 -0
  69. package/dist/src/core/platform.js.map +1 -0
  70. package/dist/src/core/platforms/GlContextWrapper.d.ts +136 -0
  71. package/{src/core/text-rendering/TextRenderingUtils.ts → dist/src/core/platforms/GlContextWrapper.js} +32 -36
  72. package/dist/src/core/platforms/GlContextWrapper.js.map +1 -0
  73. package/dist/src/core/platforms/Platform.d.ts +78 -12
  74. package/dist/src/core/platforms/Platform.js +18 -0
  75. package/dist/src/core/platforms/Platform.js.map +1 -1
  76. package/dist/src/core/platforms/web/WebGlContextWrapper.d.ts +776 -0
  77. package/dist/src/core/platforms/web/WebGlContextWrapper.js +1208 -0
  78. package/dist/src/core/platforms/web/WebGlContextWrapper.js.map +1 -0
  79. package/dist/src/core/platforms/web/WebPlatform.d.ts +17 -2
  80. package/dist/src/core/platforms/web/WebPlatform.js +158 -13
  81. package/dist/src/core/platforms/web/WebPlatform.js.map +1 -1
  82. package/dist/src/core/platforms/web/WebPlatformChrome50.d.ts +19 -0
  83. package/dist/src/core/platforms/web/WebPlatformChrome50.js +54 -0
  84. package/dist/src/core/platforms/web/WebPlatformChrome50.js.map +1 -0
  85. package/dist/src/core/platforms/web/WebPlatformLegacy.d.ts +20 -0
  86. package/dist/src/core/platforms/web/WebPlatformLegacy.js +105 -0
  87. package/dist/src/core/platforms/web/WebPlatformLegacy.js.map +1 -0
  88. package/dist/src/core/platforms/web/WebPlatformNext.d.ts +21 -0
  89. package/dist/src/core/platforms/web/WebPlatformNext.js +52 -0
  90. package/dist/src/core/platforms/web/WebPlatformNext.js.map +1 -0
  91. package/dist/src/core/platforms/web/lib/ImageWorker.d.ts +21 -0
  92. package/dist/src/core/platforms/web/lib/ImageWorker.js +136 -0
  93. package/dist/src/core/platforms/web/lib/ImageWorker.js.map +1 -0
  94. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.d.ts +6 -0
  95. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js +92 -0
  96. package/dist/src/core/platforms/web/lib/ImageWorkerDefault.js.map +1 -0
  97. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.d.ts +1 -0
  98. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js +63 -0
  99. package/dist/src/core/platforms/web/lib/ImageWorkerLegacy.js.map +1 -0
  100. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.d.ts +7 -0
  101. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js +75 -0
  102. package/dist/src/core/platforms/web/lib/ImageWorkerNoOptions.js.map +1 -0
  103. package/dist/src/core/platforms/web/lib/createImageBitmap.d.ts +1 -0
  104. package/dist/src/core/platforms/web/lib/createImageBitmap.js +27 -0
  105. package/dist/src/core/platforms/web/lib/createImageBitmap.js.map +1 -0
  106. package/dist/src/core/platforms/web/lib/textureCompression.d.ts +26 -0
  107. package/dist/src/core/platforms/web/lib/textureCompression.js +301 -0
  108. package/dist/src/core/platforms/web/lib/textureCompression.js.map +1 -0
  109. package/dist/src/core/platforms/web/lib/textureSvg.d.ts +7 -0
  110. package/dist/src/core/platforms/web/lib/textureSvg.js +51 -0
  111. package/dist/src/core/platforms/web/lib/textureSvg.js.map +1 -0
  112. package/dist/src/core/platforms/web/lib/utils.d.ts +5 -0
  113. package/dist/src/core/platforms/web/lib/utils.js +86 -0
  114. package/dist/src/core/platforms/web/lib/utils.js.map +1 -0
  115. package/dist/src/core/renderers/CoreContextTexture.d.ts +2 -1
  116. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  117. package/dist/src/core/renderers/CoreRenderer.d.ts +4 -40
  118. package/dist/src/core/renderers/CoreRenderer.js +3 -4
  119. package/dist/src/core/renderers/CoreRenderer.js.map +1 -1
  120. package/dist/src/core/renderers/CoreShader.d.ts +9 -0
  121. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts → dist/src/core/renderers/CoreShader.js} +28 -32
  122. package/dist/src/core/renderers/CoreShader.js.map +1 -0
  123. package/dist/src/core/renderers/CoreShaderNode.d.ts +10 -0
  124. package/dist/src/core/renderers/CoreShaderNode.js +19 -2
  125. package/dist/src/core/renderers/CoreShaderNode.js.map +1 -1
  126. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +33 -0
  127. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +250 -0
  128. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -0
  129. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +17 -0
  130. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +125 -0
  131. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -0
  132. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +5 -6
  133. package/dist/src/core/renderers/canvas/CanvasRenderer.js +67 -91
  134. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +1 -1
  135. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +1 -2
  136. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +5 -4
  137. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +1 -1
  138. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +3 -2
  139. package/dist/src/core/renderers/canvas/CanvasTexture.js +17 -13
  140. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +1 -1
  141. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.d.ts +13 -0
  142. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js +113 -192
  143. package/dist/src/core/renderers/canvas/internal/C2DShaderUtils.js.map +1 -1
  144. package/dist/src/core/renderers/canvas/internal/ColorUtils.d.ts +0 -2
  145. package/dist/src/core/renderers/canvas/internal/ColorUtils.js +0 -14
  146. package/dist/src/core/renderers/canvas/internal/ColorUtils.js.map +1 -1
  147. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.d.ts +10 -0
  148. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts → dist/src/core/renderers/canvas/shaders/UnsupportedShader.js} +43 -40
  149. package/dist/src/core/renderers/canvas/shaders/UnsupportedShader.js.map +1 -0
  150. package/dist/src/core/renderers/webgl/SdfRenderOp.d.ts +33 -0
  151. package/dist/src/core/renderers/webgl/SdfRenderOp.js +98 -0
  152. package/dist/src/core/renderers/webgl/SdfRenderOp.js.map +1 -0
  153. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.d.ts +12 -0
  154. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +58 -0
  155. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -0
  156. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.d.ts +9 -0
  157. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +38 -0
  158. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -0
  159. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +69 -0
  160. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +272 -0
  161. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -0
  162. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.d.ts +34 -0
  163. package/dist/src/core/renderers/webgl/{WebGlRenderOp.js → WebGlCoreRenderOp.js} +43 -47
  164. package/dist/src/core/renderers/webgl/WebGlCoreRenderOp.js.map +1 -0
  165. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +133 -0
  166. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +649 -0
  167. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -0
  168. package/dist/src/core/renderers/webgl/WebGlCoreShader.d.ts +78 -0
  169. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.d.ts +1 -0
  170. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +2 -0
  171. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +1 -0
  172. package/dist/src/core/renderers/webgl/WebGlCoreShader.js +202 -0
  173. package/dist/src/core/renderers/webgl/WebGlCoreShader.js.map +1 -0
  174. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +4 -2
  175. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +14 -6
  176. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +1 -1
  177. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +15 -2
  178. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +34 -5
  179. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +1 -1
  180. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +19 -9
  181. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +101 -49
  182. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +1 -1
  183. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +11 -23
  184. package/dist/src/core/renderers/webgl/WebGlRenderer.js +124 -133
  185. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  186. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +4 -6
  187. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +3 -3
  188. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +1 -1
  189. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +7 -7
  190. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +60 -38
  191. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +1 -1
  192. package/dist/src/core/renderers/webgl/internal/RendererUtils.d.ts +4 -4
  193. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +1 -2
  194. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  195. package/dist/src/core/renderers/webgl/internal/ShaderUtils.d.ts +3 -3
  196. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +38 -37
  197. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js.map +1 -1
  198. package/dist/src/core/renderers/webgl/shaders/DefaultShader.d.ts +9 -0
  199. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +84 -0
  200. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js.map +1 -0
  201. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.d.ts +10 -0
  202. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +108 -0
  203. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js.map +1 -0
  204. package/dist/src/core/renderers/webgl/shaders/DynamicShader.d.ts +29 -0
  205. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +408 -0
  206. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js.map +1 -0
  207. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.d.ts +28 -0
  208. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +126 -0
  209. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js.map +1 -0
  210. package/dist/src/core/renderers/webgl/shaders/SdfShader.d.ts +47 -0
  211. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +148 -0
  212. package/dist/src/core/renderers/webgl/shaders/SdfShader.js.map +1 -0
  213. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.d.ts +31 -0
  214. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +71 -0
  215. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js.map +1 -0
  216. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.d.ts +30 -0
  217. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +58 -0
  218. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js.map +1 -0
  219. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.d.ts +31 -0
  220. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +71 -0
  221. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js.map +1 -0
  222. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.d.ts +31 -0
  223. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +71 -0
  224. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js.map +1 -0
  225. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.d.ts +31 -0
  226. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +71 -0
  227. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js.map +1 -0
  228. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.d.ts +9 -0
  229. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js +136 -0
  230. package/dist/src/core/renderers/webgl/shaders/effects/EffectUtils.js.map +1 -0
  231. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.d.ts +36 -0
  232. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +85 -0
  233. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js.map +1 -0
  234. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.d.ts +45 -0
  235. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +104 -0
  236. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js.map +1 -0
  237. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.d.ts +22 -0
  238. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +45 -0
  239. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js.map +1 -0
  240. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.d.ts +58 -0
  241. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +80 -0
  242. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js.map +1 -0
  243. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.d.ts +34 -0
  244. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +113 -0
  245. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js.map +1 -0
  246. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.d.ts +40 -0
  247. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +126 -0
  248. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js.map +1 -0
  249. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.d.ts +61 -0
  250. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +127 -0
  251. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js.map +1 -0
  252. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.d.ts +40 -0
  253. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +71 -0
  254. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js.map +1 -0
  255. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.d.ts +115 -0
  256. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js +61 -0
  257. package/dist/src/core/renderers/webgl/shaders/effects/ShaderEffect.js.map +1 -0
  258. package/dist/src/core/shaders/canvas/Border.d.ts +8 -2
  259. package/dist/src/core/shaders/canvas/Border.js +64 -25
  260. package/dist/src/core/shaders/canvas/Border.js.map +1 -1
  261. package/dist/src/core/shaders/canvas/HolePunch.js +4 -3
  262. package/dist/src/core/shaders/canvas/HolePunch.js.map +1 -1
  263. package/dist/src/core/shaders/canvas/LinearGradient.js +7 -5
  264. package/dist/src/core/shaders/canvas/LinearGradient.js.map +1 -1
  265. package/dist/src/core/shaders/canvas/RadialGradient.js +12 -10
  266. package/dist/src/core/shaders/canvas/RadialGradient.js.map +1 -1
  267. package/dist/src/core/shaders/canvas/Rounded.js +3 -3
  268. package/dist/src/core/shaders/canvas/Rounded.js.map +1 -1
  269. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +6 -3
  270. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +41 -11
  271. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  272. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +2 -3
  273. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +46 -9
  274. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +1 -1
  275. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +6 -5
  276. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +1 -1
  277. package/dist/src/core/shaders/canvas/Shadow.js +4 -2
  278. package/dist/src/core/shaders/canvas/Shadow.js.map +1 -1
  279. package/dist/src/core/shaders/canvas/utils/render.d.ts +1 -1
  280. package/dist/src/core/shaders/canvas/utils/render.js +31 -18
  281. package/dist/src/core/shaders/canvas/utils/render.js.map +1 -1
  282. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +11 -1
  283. package/dist/src/core/shaders/templates/BorderTemplate.js +30 -10
  284. package/dist/src/core/shaders/templates/BorderTemplate.js.map +1 -1
  285. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +2 -2
  286. package/dist/src/core/shaders/templates/HolePunchTemplate.js +2 -2
  287. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +1 -1
  288. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +8 -6
  289. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +2 -2
  290. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +1 -1
  291. package/dist/src/core/shaders/webgl/Border.js +138 -84
  292. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  293. package/dist/src/core/shaders/webgl/Default.js +46 -47
  294. package/dist/src/core/shaders/webgl/Default.js.map +1 -1
  295. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  296. package/dist/src/core/shaders/webgl/HolePunch.js +34 -34
  297. package/dist/src/core/shaders/webgl/HolePunch.js.map +1 -1
  298. package/dist/src/core/shaders/webgl/LinearGradient.js +60 -36
  299. package/dist/src/core/shaders/webgl/LinearGradient.js.map +1 -1
  300. package/dist/src/core/shaders/webgl/RadialGradient.js +60 -37
  301. package/dist/src/core/shaders/webgl/RadialGradient.js.map +1 -1
  302. package/dist/src/core/shaders/webgl/Rounded.js +74 -72
  303. package/dist/src/core/shaders/webgl/Rounded.js.map +1 -1
  304. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +172 -113
  305. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  306. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +191 -132
  307. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  308. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +57 -55
  309. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +1 -1
  310. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -2
  311. package/dist/src/core/shaders/webgl/SdfShader.js +56 -66
  312. package/dist/src/core/shaders/webgl/SdfShader.js.map +1 -1
  313. package/dist/src/core/shaders/webgl/Shadow.js +89 -83
  314. package/dist/src/core/shaders/webgl/Shadow.js.map +1 -1
  315. package/dist/src/core/text-rendering/CanvasFontHandler.d.ts +59 -0
  316. package/dist/src/core/text-rendering/CanvasFontHandler.js +224 -0
  317. package/dist/src/core/text-rendering/CanvasFontHandler.js.map +1 -0
  318. package/dist/src/core/text-rendering/CanvasTextRenderer.d.ts +17 -0
  319. package/dist/src/core/text-rendering/CanvasTextRenderer.js +157 -0
  320. package/dist/src/core/text-rendering/CanvasTextRenderer.js.map +1 -0
  321. package/dist/src/core/text-rendering/SdfFontHandler.d.ts +182 -0
  322. package/dist/src/core/text-rendering/SdfFontHandler.js +379 -0
  323. package/dist/src/core/text-rendering/SdfFontHandler.js.map +1 -0
  324. package/dist/src/core/text-rendering/SdfTextRenderer.d.ts +17 -0
  325. package/dist/src/core/text-rendering/SdfTextRenderer.js +301 -0
  326. package/dist/src/core/text-rendering/SdfTextRenderer.js.map +1 -0
  327. package/dist/src/core/text-rendering/TextLayoutEngine.d.ts +18 -0
  328. package/dist/src/core/text-rendering/TextLayoutEngine.js +380 -0
  329. package/dist/src/core/text-rendering/TextLayoutEngine.js.map +1 -0
  330. package/dist/src/core/text-rendering/TextRenderer.d.ts +383 -0
  331. package/{src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts → dist/src/core/text-rendering/TextRenderer.js} +20 -38
  332. package/dist/src/core/text-rendering/TextRenderer.js.map +1 -0
  333. package/dist/src/core/text-rendering/TextTextureRendererUtils.js.map +1 -1
  334. package/dist/src/core/text-rendering/Utils.d.ts +30 -0
  335. package/dist/src/core/text-rendering/Utils.js +84 -0
  336. package/dist/src/core/text-rendering/Utils.js.map +1 -0
  337. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +2 -2
  338. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  339. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +0 -5
  340. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  341. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.d.ts +1 -7
  342. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js +2 -50
  343. package/dist/src/core/text-rendering/renderers/LightningTextTextureRenderer.js.map +1 -1
  344. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.d.ts +3 -2
  345. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +87 -46
  346. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  347. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.d.ts +1 -1
  348. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js +8 -66
  349. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.js.map +1 -1
  350. package/dist/src/core/text-rendering/renderers/TextRenderer.d.ts +4 -14
  351. package/dist/src/core/text-rendering/renderers/TextRenderer.js +0 -3
  352. package/dist/src/core/text-rendering/renderers/TextRenderer.js.map +1 -1
  353. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  354. package/dist/src/core/textures/ColorTexture.js +3 -4
  355. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  356. package/dist/src/core/textures/ImageTexture.d.ts +33 -14
  357. package/dist/src/core/textures/ImageTexture.js +46 -125
  358. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  359. package/dist/src/core/textures/NoiseTexture.d.ts +3 -3
  360. package/dist/src/core/textures/NoiseTexture.js +8 -8
  361. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  362. package/dist/src/core/textures/RenderTexture.d.ts +7 -7
  363. package/dist/src/core/textures/RenderTexture.js +12 -12
  364. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  365. package/dist/src/core/textures/SubTexture.d.ts +6 -8
  366. package/dist/src/core/textures/SubTexture.js +22 -40
  367. package/dist/src/core/textures/SubTexture.js.map +1 -1
  368. package/dist/src/core/textures/Texture.d.ts +74 -15
  369. package/dist/src/core/textures/Texture.js +131 -19
  370. package/dist/src/core/textures/Texture.js.map +1 -1
  371. package/dist/src/core/utils.d.ts +2 -1
  372. package/dist/src/core/utils.js +1 -1
  373. package/dist/src/core/utils.js.map +1 -1
  374. package/dist/src/main-api/DynamicShaderController.d.ts +29 -0
  375. package/dist/src/main-api/DynamicShaderController.js +58 -0
  376. package/dist/src/main-api/DynamicShaderController.js.map +1 -0
  377. package/dist/src/main-api/Inspector.d.ts +129 -1
  378. package/dist/src/main-api/Inspector.js +462 -23
  379. package/dist/src/main-api/Inspector.js.map +1 -1
  380. package/dist/src/main-api/Renderer.d.ts +223 -41
  381. package/dist/src/main-api/Renderer.js +107 -62
  382. package/dist/src/main-api/Renderer.js.map +1 -1
  383. package/dist/src/main-api/ShaderController.d.ts +31 -0
  384. package/dist/src/main-api/ShaderController.js +37 -0
  385. package/dist/src/main-api/ShaderController.js.map +1 -0
  386. package/dist/src/utils.d.ts +0 -2
  387. package/dist/src/utils.js +0 -36
  388. package/dist/src/utils.js.map +1 -1
  389. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  390. package/exports/canvas-shaders.ts +28 -28
  391. package/exports/canvas.ts +45 -45
  392. package/exports/index.ts +90 -90
  393. package/exports/inspector.ts +24 -24
  394. package/exports/platform.ts +31 -0
  395. package/exports/utils.ts +50 -50
  396. package/exports/webgl-shaders.ts +28 -28
  397. package/exports/webgl.ts +52 -50
  398. package/package.json +16 -15
  399. package/src/common/CommonTypes.ts +163 -146
  400. package/src/common/EventEmitter.ts +77 -77
  401. package/src/common/IAnimationController.ts +92 -92
  402. package/src/common/IEventEmitter.ts +28 -28
  403. package/src/core/Autosizer.ts +224 -0
  404. package/src/core/CoreNode.test.ts +365 -202
  405. package/src/core/CoreNode.ts +2785 -2489
  406. package/src/core/CoreShaderManager.ts +188 -188
  407. package/src/core/CoreTextNode.test.ts +311 -0
  408. package/src/core/CoreTextNode.ts +607 -451
  409. package/src/core/CoreTextureManager.ts +484 -548
  410. package/src/core/Stage.ts +927 -800
  411. package/src/core/TextureError.ts +46 -0
  412. package/src/core/TextureMemoryManager.ts +418 -462
  413. package/src/core/animations/AnimationManager.ts +38 -38
  414. package/src/core/animations/CoreAnimation.ts +290 -291
  415. package/src/core/animations/CoreAnimationController.ts +169 -166
  416. package/src/core/lib/ContextSpy.ts +41 -41
  417. package/src/core/lib/Matrix3d.ts +244 -244
  418. package/src/core/lib/RenderCoords.ts +71 -71
  419. package/src/core/lib/collectionUtils.ts +83 -0
  420. package/src/core/lib/colorCache.ts +20 -0
  421. package/src/core/{renderers/canvas/internal/ColorUtils.ts → lib/colorParser.ts} +85 -85
  422. package/src/core/lib/utils.ts +337 -390
  423. package/src/core/platforms/GlContextWrapper.ts +291 -0
  424. package/src/core/platforms/Platform.ts +176 -77
  425. package/src/core/{lib → platforms/web}/WebGlContextWrapper.ts +1547 -1368
  426. package/src/core/platforms/web/WebPlatform.ts +306 -84
  427. package/src/core/platforms/web/WebPlatformChrome50.ts +63 -0
  428. package/src/core/platforms/web/WebPlatformLegacy.ts +150 -0
  429. package/src/core/platforms/web/WebPlatformNext.ts +57 -0
  430. package/src/core/platforms/web/lib/ImageWorker.ts +192 -0
  431. package/src/core/platforms/web/lib/ImageWorkerDefault.ts +117 -0
  432. package/src/core/platforms/web/lib/ImageWorkerLegacy.ts +87 -0
  433. package/src/core/platforms/web/lib/ImageWorkerNoOptions.ts +99 -0
  434. package/src/core/platforms/web/lib/createImageBitmap.ts +40 -0
  435. package/src/core/platforms/web/lib/textureCompression.ts +391 -0
  436. package/src/core/{lib → platforms/web/lib}/textureSvg.ts +66 -78
  437. package/src/core/platforms/web/lib/utils.ts +105 -0
  438. package/src/core/renderers/CoreContextTexture.ts +44 -43
  439. package/src/core/renderers/CoreRenderOp.ts +22 -22
  440. package/src/core/renderers/CoreRenderer.ts +71 -110
  441. package/src/core/renderers/CoreShaderNode.ts +202 -175
  442. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  443. package/src/core/renderers/canvas/CanvasRenderer.ts +258 -302
  444. package/src/core/renderers/canvas/CanvasShaderNode.ts +95 -96
  445. package/src/core/renderers/canvas/CanvasTexture.ts +160 -156
  446. package/src/core/renderers/webgl/SdfRenderOp.ts +106 -0
  447. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +89 -86
  448. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +95 -50
  449. package/src/core/renderers/webgl/WebGlCtxTexture.test.ts +113 -0
  450. package/src/core/renderers/webgl/WebGlCtxTexture.ts +350 -298
  451. package/src/core/renderers/webgl/WebGlRenderer.ts +727 -747
  452. package/src/core/renderers/webgl/WebGlShaderNode.ts +430 -435
  453. package/src/core/renderers/webgl/WebGlShaderProgram.ts +364 -341
  454. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  455. package/src/core/renderers/webgl/internal/RendererUtils.ts +150 -155
  456. package/src/core/renderers/webgl/internal/ShaderUtils.ts +283 -281
  457. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  458. package/src/core/shaders/canvas/Border.ts +132 -78
  459. package/src/core/shaders/canvas/HolePunch.ts +56 -62
  460. package/src/core/shaders/canvas/LinearGradient.ts +73 -71
  461. package/src/core/shaders/canvas/RadialGradient.ts +96 -99
  462. package/src/core/shaders/canvas/Rounded.ts +55 -55
  463. package/src/core/shaders/canvas/RoundedWithBorder.ts +122 -74
  464. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +136 -90
  465. package/src/core/shaders/canvas/RoundedWithShadow.ts +71 -70
  466. package/src/core/shaders/canvas/Shadow.ts +54 -52
  467. package/src/core/shaders/canvas/utils/render.ts +160 -151
  468. package/src/core/shaders/templates/BorderTemplate.ts +145 -115
  469. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  470. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  471. package/src/core/shaders/templates/RadialGradientTemplate.ts +83 -81
  472. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  473. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  474. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  475. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  476. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  477. package/src/core/shaders/utils.ts +46 -46
  478. package/src/core/shaders/webgl/Border.ts +169 -116
  479. package/src/core/shaders/webgl/Default.ts +88 -89
  480. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  481. package/src/core/shaders/webgl/HolePunch.ts +75 -75
  482. package/src/core/shaders/webgl/LinearGradient.ts +106 -82
  483. package/src/core/shaders/webgl/RadialGradient.ts +108 -85
  484. package/src/core/shaders/webgl/Rounded.ts +115 -117
  485. package/src/core/shaders/webgl/RoundedWithBorder.ts +210 -155
  486. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +234 -175
  487. package/src/core/shaders/webgl/RoundedWithShadow.ts +96 -98
  488. package/src/core/shaders/webgl/SdfShader.ts +122 -134
  489. package/src/core/shaders/webgl/Shadow.ts +121 -115
  490. package/src/core/text-rendering/CanvasFontHandler.ts +304 -0
  491. package/src/core/text-rendering/CanvasTextRenderer.ts +255 -0
  492. package/src/core/text-rendering/SdfFontHandler.ts +581 -0
  493. package/src/core/text-rendering/SdfTextRenderer.ts +403 -0
  494. package/src/core/text-rendering/TextLayoutEngine.ts +672 -0
  495. package/src/core/text-rendering/TextRenderer.ts +444 -0
  496. package/src/core/text-rendering/Utils.ts +99 -0
  497. package/src/core/text-rendering/tests/TextLayoutEngine.test.ts +453 -0
  498. package/src/core/textures/ColorTexture.ts +104 -102
  499. package/src/core/textures/ImageTexture.ts +292 -418
  500. package/src/core/textures/NoiseTexture.ts +106 -104
  501. package/src/core/textures/RenderTexture.ts +87 -85
  502. package/src/core/textures/SubTexture.ts +184 -205
  503. package/src/core/textures/Texture.ts +524 -381
  504. package/src/core/utils.ts +229 -227
  505. package/src/env.d.ts +7 -7
  506. package/src/main-api/INode.ts +100 -100
  507. package/src/main-api/Inspector.ts +1278 -569
  508. package/src/main-api/Renderer.ts +1030 -818
  509. package/src/main-api/utils.ts +45 -45
  510. package/src/utils.ts +220 -267
  511. package/COPYING +0 -1
  512. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
  513. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  514. package/src/core/lib/ImageWorker.ts +0 -286
  515. package/src/core/lib/textureCompression.ts +0 -152
  516. package/src/core/lib/validateImageBitmap.ts +0 -87
  517. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +0 -220
  518. package/src/core/renderers/webgl/WebGlRenderOp.ts +0 -161
  519. package/src/core/text-rendering/TextTextureRendererUtils.ts +0 -263
  520. package/src/core/text-rendering/TrFontManager.ts +0 -183
  521. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +0 -176
  522. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +0 -139
  523. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +0 -173
  524. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +0 -171
  525. package/src/core/text-rendering/font-face-types/TrFontFace.ts +0 -187
  526. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +0 -94
  527. package/src/core/text-rendering/font-face-types/utils.ts +0 -39
  528. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +0 -514
  529. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +0 -863
  530. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +0 -793
  531. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +0 -48
  532. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +0 -66
  533. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +0 -52
  534. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +0 -117
  535. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +0 -133
  536. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +0 -497
  537. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +0 -49
  538. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +0 -52
  539. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +0 -205
  540. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +0 -93
  541. package/src/core/text-rendering/renderers/TextRenderer.ts +0 -567
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/core/lib/utils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { Platform } from '../platforms/Platform.js';
2
1
  export interface CreateImageBitmapSupport {
3
2
  basic: boolean;
4
3
  options: boolean;
5
4
  full: boolean;
6
5
  }
7
- export declare function validateCreateImageBitmap(platform: Platform): Promise<CreateImageBitmapSupport>;
6
+ export declare function validateCreateImageBitmap(): Promise<CreateImageBitmapSupport>;
@@ -1,4 +1,4 @@
1
- export async function validateCreateImageBitmap(platform) {
1
+ export async function validateCreateImageBitmap() {
2
2
  // Test if createImageBitmap is supported using a simple 1x1 PNG image
3
3
  // prettier-ignore
4
4
  const pngBinaryData = new Uint8Array([
@@ -39,13 +39,13 @@ export async function validateCreateImageBitmap(platform) {
39
39
  };
40
40
  // Test basic createImageBitmap support
41
41
  const blob = new Blob([pngBinaryData], { type: 'image/png' });
42
- const bitmap = await platform.createImageBitmap(blob);
42
+ const bitmap = await createImageBitmap(blob);
43
43
  bitmap.close?.();
44
44
  support.basic = true;
45
45
  // Test createImageBitmap with options support
46
46
  try {
47
47
  const options = { premultiplyAlpha: 'none' };
48
- const bitmapWithOptions = await platform.createImageBitmap(blob, options);
48
+ const bitmapWithOptions = await createImageBitmap(blob, options);
49
49
  bitmapWithOptions.close?.();
50
50
  support.options = true;
51
51
  }
@@ -54,7 +54,7 @@ export async function validateCreateImageBitmap(platform) {
54
54
  }
55
55
  // Test createImageBitmap with full options support
56
56
  try {
57
- const bitmapWithFullOptions = await platform.createImageBitmap(blob, 0, 0, 1, 1, {
57
+ const bitmapWithFullOptions = await createImageBitmap(blob, 0, 0, 1, 1, {
58
58
  premultiplyAlpha: 'none',
59
59
  });
60
60
  bitmapWithFullOptions.close?.();
@@ -1 +1 @@
1
- {"version":3,"file":"validateImageBitmap.js","sourceRoot":"","sources":["../../../../src/core/lib/validateImageBitmap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validateImageBitmap.js","sourceRoot":"","sources":["../../../../src/core/lib/validateImageBitmap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Stage } from './Stage.js';
2
+ /**
3
+ * Platform render loop initiator
4
+ */
5
+ export declare const startLoop: (stage: Stage) => void;
6
+ /**
7
+ * Return unix timestamp
8
+ * @return {number}
9
+ */
10
+ export declare const getTimeStamp: () => number;
@@ -0,0 +1,84 @@
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2023 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ /**
20
+ * Platform render loop initiator
21
+ */
22
+ export const startLoop = (stage) => {
23
+ let isIdle = false;
24
+ let lastFrameTime = 0;
25
+ const runLoop = (currentTime = 0) => {
26
+ const targetFrameTime = stage.targetFrameTime;
27
+ // Check if we should throttle this frame
28
+ if (targetFrameTime > 0 && currentTime - lastFrameTime < targetFrameTime) {
29
+ // Too early for next frame, schedule with setTimeout for precise timing
30
+ const delay = targetFrameTime - (currentTime - lastFrameTime);
31
+ setTimeout(() => requestAnimationFrame(runLoop), delay);
32
+ return;
33
+ }
34
+ lastFrameTime = currentTime;
35
+ stage.updateFrameTime();
36
+ stage.updateAnimations();
37
+ if (!stage.hasSceneUpdates()) {
38
+ // We still need to calculate the fps else it looks like the app is frozen
39
+ stage.calculateFps();
40
+ if (targetFrameTime > 0) {
41
+ // Use setTimeout for throttled idle frames
42
+ setTimeout(() => requestAnimationFrame(runLoop), Math.max(targetFrameTime, 16.666666666666668));
43
+ }
44
+ else {
45
+ // Use standard idle timeout when not throttling
46
+ setTimeout(() => requestAnimationFrame(runLoop), 16.666666666666668);
47
+ }
48
+ if (isIdle === false) {
49
+ stage.eventBus.emit('idle');
50
+ isIdle = true;
51
+ }
52
+ if (stage.txMemManager.checkCleanup() === true) {
53
+ stage.txMemManager.cleanup();
54
+ }
55
+ stage.flushFrameEvents();
56
+ return;
57
+ }
58
+ if (isIdle === true) {
59
+ stage.eventBus.emit('active');
60
+ isIdle = false;
61
+ }
62
+ stage.drawFrame();
63
+ stage.flushFrameEvents();
64
+ // Schedule next frame
65
+ if (targetFrameTime > 0) {
66
+ // Use setTimeout + rAF combination for precise FPS control
67
+ const nextFrameDelay = Math.max(0, targetFrameTime - (performance.now() - currentTime));
68
+ setTimeout(() => requestAnimationFrame(runLoop), nextFrameDelay);
69
+ }
70
+ else {
71
+ // Use standard rAF when not throttling
72
+ requestAnimationFrame(runLoop);
73
+ }
74
+ };
75
+ requestAnimationFrame(runLoop);
76
+ };
77
+ /**
78
+ * Return unix timestamp
79
+ * @return {number}
80
+ */
81
+ export const getTimeStamp = () => {
82
+ return performance ? performance.now() : Date.now();
83
+ };
84
+ //# sourceMappingURL=platform.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/core/platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAY,EAAE,EAAE;IACxC,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,IAAI,aAAa,GAAG,CAAC,CAAC;IAEtB,MAAM,OAAO,GAAG,CAAC,cAAsB,CAAC,EAAE,EAAE;QAC1C,MAAM,eAAe,GAAG,KAAK,CAAC,eAAe,CAAC;QAE9C,yCAAyC;QACzC,IAAI,eAAe,GAAG,CAAC,IAAI,WAAW,GAAG,aAAa,GAAG,eAAe,EAAE,CAAC;YACzE,wEAAwE;YACxE,MAAM,KAAK,GAAG,eAAe,GAAG,CAAC,WAAW,GAAG,aAAa,CAAC,CAAC;YAC9D,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,KAAK,CAAC,CAAC;YACxD,OAAO;QACT,CAAC;QAED,aAAa,GAAG,WAAW,CAAC;QAE5B,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,CAAC;YAC7B,0EAA0E;YAC1E,KAAK,CAAC,YAAY,EAAE,CAAC;YAErB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;gBACxB,2CAA2C;gBAC3C,UAAU,CACR,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EACpC,IAAI,CAAC,GAAG,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAC9C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,gDAAgD;gBAChD,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,kBAAkB,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;gBACrB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBAC5B,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;YAED,IAAI,KAAK,CAAC,YAAY,CAAC,YAAY,EAAE,KAAK,IAAI,EAAE,CAAC;gBAC/C,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YAC/B,CAAC;YAED,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACzB,OAAO;QACT,CAAC;QAED,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YACpB,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,GAAG,KAAK,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,SAAS,EAAE,CAAC;QAClB,KAAK,CAAC,gBAAgB,EAAE,CAAC;QAEzB,sBAAsB;QACtB,IAAI,eAAe,GAAG,CAAC,EAAE,CAAC;YACxB,2DAA2D;YAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,GAAG,CAC7B,CAAC,EACD,eAAe,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,CACpD,CAAC;YACF,UAAU,CAAC,GAAG,EAAE,CAAC,qBAAqB,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;QACnE,CAAC;aAAM,CAAC;YACN,uCAAuC;YACvC,qBAAqB,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC;IAEF,qBAAqB,CAAC,OAAO,CAAC,CAAC;AACjC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACtD,CAAC,CAAC"}
@@ -0,0 +1,136 @@
1
+ import type { Vec2, Vec3, Vec4 } from '../renderers/webgl/internal/ShaderUtils.js';
2
+ import type { CompressedData } from '../textures/Texture.js';
3
+ /**
4
+ * Abstract GL Context Wrapper
5
+ *
6
+ * @remarks
7
+ * This abstract class defines the interface for rendering context wrappers.
8
+ * Implementations should provide optimized state management and caching
9
+ * to avoid redundant API calls when the state is already set to the desired value.
10
+ *
11
+ * The interface is designed to be compatible with WebGL-like rendering contexts
12
+ * but can be adapted for other rendering backends (Canvas2D, WebGPU, Native, etc.).
13
+ */
14
+ export declare abstract class GlContextWrapper {
15
+ abstract readonly canvas: HTMLCanvasElement | OffscreenCanvas;
16
+ abstract readonly MAX_RENDERBUFFER_SIZE: number;
17
+ abstract readonly MAX_TEXTURE_SIZE: number;
18
+ abstract readonly MAX_VIEWPORT_DIMS: number;
19
+ abstract readonly MAX_VERTEX_TEXTURE_IMAGE_UNITS: number;
20
+ abstract readonly MAX_TEXTURE_IMAGE_UNITS: number;
21
+ abstract readonly MAX_COMBINED_TEXTURE_IMAGE_UNITS: number;
22
+ abstract readonly MAX_VERTEX_ATTRIBS: number;
23
+ abstract readonly MAX_VARYING_VECTORS: number;
24
+ abstract readonly MAX_VERTEX_UNIFORM_VECTORS: number;
25
+ abstract readonly MAX_FRAGMENT_UNIFORM_VECTORS: number;
26
+ abstract readonly TEXTURE_MAG_FILTER: number;
27
+ abstract readonly TEXTURE_MIN_FILTER: number;
28
+ abstract readonly TEXTURE_WRAP_S: number;
29
+ abstract readonly TEXTURE_WRAP_T: number;
30
+ abstract readonly LINEAR: number;
31
+ abstract readonly LINEAR_MIPMAP_LINEAR: number;
32
+ abstract readonly CLAMP_TO_EDGE: number;
33
+ abstract readonly RGB: number;
34
+ abstract readonly RGBA: number;
35
+ abstract readonly UNSIGNED_BYTE: number;
36
+ abstract readonly UNPACK_PREMULTIPLY_ALPHA_WEBGL: number;
37
+ abstract readonly UNPACK_FLIP_Y_WEBGL: number;
38
+ abstract readonly FLOAT: number;
39
+ abstract readonly TRIANGLES: number;
40
+ abstract readonly UNSIGNED_SHORT: number;
41
+ abstract readonly ONE: number;
42
+ abstract readonly ONE_MINUS_SRC_ALPHA: number;
43
+ abstract readonly VERTEX_SHADER: number;
44
+ abstract readonly FRAGMENT_SHADER: number;
45
+ abstract readonly STATIC_DRAW: number;
46
+ abstract readonly COMPILE_STATUS: number;
47
+ abstract readonly LINK_STATUS: number;
48
+ abstract readonly DYNAMIC_DRAW: number;
49
+ abstract readonly COLOR_ATTACHMENT0: number;
50
+ abstract readonly INVALID_ENUM: number;
51
+ abstract readonly INVALID_OPERATION: number;
52
+ abstract activeTexture(textureUnit: number): void;
53
+ abstract bindTexture(texture: any | null): void;
54
+ abstract texParameteri(pname: number, param: number): void;
55
+ abstract texImage2D(level: GLint, internalformat: GLint, width: GLsizei, height: GLsizei, border: GLint, format: GLenum, type: GLenum, pixels: ArrayBufferView | null): void;
56
+ abstract texImage2D(level: GLint, internalformat: GLint, format: GLenum, type: GLenum, source: TexImageSource | Uint8Array): void;
57
+ abstract compressedTexImage2D(level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, border: GLint, data?: ArrayBufferView): void;
58
+ abstract pixelStorei(pname: GLenum, param: GLint | GLboolean): void;
59
+ abstract generateMipmap(): void;
60
+ abstract createTexture(): any;
61
+ abstract deleteTexture(texture: any | null): void;
62
+ abstract viewport(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
63
+ abstract clearColor(red: GLclampf, green: GLclampf, blue: GLclampf, alpha: GLclampf): void;
64
+ abstract clear(): void;
65
+ abstract setScissorTest(enable: boolean): void;
66
+ abstract scissor(x: GLint, y: GLint, width: GLsizei, height: GLsizei): void;
67
+ abstract setBlend(blend: boolean): void;
68
+ abstract blendFunc(src: GLenum, dst: GLenum): void;
69
+ abstract createBuffer(): any;
70
+ abstract arrayBufferData(buffer: any | null, data: ArrayBufferView, usage: GLenum): void;
71
+ abstract elementArrayBufferData(buffer: any | null, data: ArrayBufferView, usage: GLenum): void;
72
+ abstract vertexAttribPointer(buffer: any, index: GLuint, size: GLint, type: GLenum, normalized: GLboolean, stride: GLsizei, offset: GLintptr): void;
73
+ abstract deleteBuffer(buffer: any): void;
74
+ abstract createFramebuffer(): any;
75
+ abstract deleteFramebuffer(framebuffer: any | null): void;
76
+ abstract bindFramebuffer(framebuffer: any | null): void;
77
+ abstract framebufferTexture2D(attachment: GLenum, texture: any | null, level: GLint): void;
78
+ abstract createShader(type: number): any;
79
+ abstract compileShader(shader: any): void;
80
+ abstract attachShader(program: any, shader: any): void;
81
+ abstract linkProgram(program: any): void;
82
+ abstract deleteProgram(shader: any): void;
83
+ abstract getShaderParameter(shader: any, pname: GLenum): any;
84
+ abstract getShaderInfoLog(shader: any): string | null;
85
+ abstract createProgram(): any;
86
+ abstract getProgramParameter(program: any, pname: GLenum): any;
87
+ abstract getProgramInfoLog(program: any): string | null;
88
+ abstract shaderSource(shader: any, source: string): void;
89
+ abstract deleteShader(shader: any): void;
90
+ abstract useProgram(program: any | null, uniformLocations: Record<string, any>): void;
91
+ abstract getUniformLocations(program: any): Record<string, any>;
92
+ abstract getAttributeLocations(program: any): string[];
93
+ abstract getAttribLocation(program: any, name: string): number;
94
+ abstract getUniformLocation(program: any, name: string): any;
95
+ abstract enableVertexAttribArray(index: number): void;
96
+ abstract disableVertexAttribArray(index: number): void;
97
+ abstract uniform1f(location: string, v0: number): void;
98
+ abstract uniform1fv(location: string, value: Float32Array): void;
99
+ abstract uniform1i(location: string, v0: number): void;
100
+ abstract uniform1iv(location: string, value: Int32Array): void;
101
+ abstract uniform2f(location: string, v0: number, v1: number): void;
102
+ abstract uniform2fa(location: string, value: Vec2): void;
103
+ abstract uniform2fv(location: string, value: Float32Array): void;
104
+ abstract uniform2i(location: string, v0: number, v1: number): void;
105
+ abstract uniform2iv(location: string, value: Int32Array): void;
106
+ abstract uniform3f(location: string, v0: number, v1: number, v2: number): void;
107
+ abstract uniform3fa(location: string, value: Vec3): void;
108
+ abstract uniform3fv(location: string, value: Float32Array): void;
109
+ abstract uniform3i(location: string, v0: number, v1: number, v2: number): void;
110
+ abstract uniform3iv(location: string, value: Int32Array): void;
111
+ abstract uniform4f(location: string, v0: number, v1: number, v2: number, v3: number): void;
112
+ abstract uniform4fa(location: string, value: Vec4): void;
113
+ abstract uniform4fv(location: string, value: Float32Array): void;
114
+ abstract uniform4i(location: string, v0: number, v1: number, v2: number, v3: number): void;
115
+ abstract uniform4iv(location: string, value: Int32Array): void;
116
+ abstract uniformMatrix2fv(location: string, value: Float32Array): void;
117
+ abstract uniformMatrix3fv(location: string, value: Float32Array): void;
118
+ abstract uniformMatrix4fv(location: string, value: Float32Array): void;
119
+ abstract createVertexArray(): any;
120
+ abstract bindVertexArray(vertexArray: any | null): void;
121
+ abstract deleteVertexArray(vertexArray: any): void;
122
+ abstract drawElements(mode: GLenum, count: GLsizei, type: GLenum, offset: GLintptr): void;
123
+ abstract drawArrays(mode: GLenum, first: GLint, count: GLsizei): void;
124
+ abstract getParameter(pname: GLenum): any;
125
+ abstract getExtension(name: string): any;
126
+ abstract getError(): number;
127
+ abstract checkError(operation: string): {
128
+ error: number;
129
+ errorName: string;
130
+ message: string;
131
+ } | null;
132
+ abstract uploadKTX(glw: GlContextWrapper, texture: WebGLTexture, data: CompressedData): void;
133
+ abstract uploadPVR(glw: GlContextWrapper, texture: WebGLTexture, data: CompressedData): void;
134
+ abstract uploadASTC(glw: GlContextWrapper, texture: WebGLTexture, data: CompressedData): void;
135
+ abstract isWebGl2(): boolean;
136
+ }
@@ -1,36 +1,32 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2024 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- import type { NormalizedFontMetrics } from './font-face-types/TrFontFace.js';
20
-
21
- /**
22
- * Calculate the default line height given normalized font metrics
23
- *
24
- * @remarks
25
- * This method may be used for both the WebTrFontFace and SdfTrFontFace font types.
26
- *
27
- * @param metrics
28
- * @param fontSize
29
- * @returns
30
- */
31
- export function calcDefaultLineHeight(
32
- metrics: NormalizedFontMetrics,
33
- fontSize: number,
34
- ): number {
35
- return fontSize * (metrics.ascender - metrics.descender + metrics.lineGap);
36
- }
1
+ /*
2
+ * If not stated otherwise in this file or this component's LICENSE file the
3
+ * following copyright and licenses apply:
4
+ *
5
+ * Copyright 2026 Comcast Cable Communications Management, LLC.
6
+ *
7
+ * Licensed under the Apache License, Version 2.0 (the License);
8
+ * you may not use this file except in compliance with the License.
9
+ * You may obtain a copy of the License at
10
+ *
11
+ * http://www.apache.org/licenses/LICENSE-2.0
12
+ *
13
+ * Unless required by applicable law or agreed to in writing, software
14
+ * distributed under the License is distributed on an "AS IS" BASIS,
15
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
+ * See the License for the specific language governing permissions and
17
+ * limitations under the License.
18
+ */
19
+ /**
20
+ * Abstract GL Context Wrapper
21
+ *
22
+ * @remarks
23
+ * This abstract class defines the interface for rendering context wrappers.
24
+ * Implementations should provide optimized state management and caching
25
+ * to avoid redundant API calls when the state is already set to the desired value.
26
+ *
27
+ * The interface is designed to be compatible with WebGL-like rendering contexts
28
+ * but can be adapted for other rendering backends (Canvas2D, WebGPU, Native, etc.).
29
+ */
30
+ export class GlContextWrapper {
31
+ }
32
+ //# sourceMappingURL=GlContextWrapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GlContextWrapper.js","sourceRoot":"","sources":["../../../../src/core/platforms/GlContextWrapper.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAYH;;;;;;;;;;GAUG;AACH,MAAM,OAAgB,gBAAgB;CA0PrC"}
@@ -1,10 +1,39 @@
1
1
  import { type Stage } from '../Stage.js';
2
+ import type { ImageResponse } from '../textures/ImageTexture.js';
3
+ import type { GlContextWrapper } from './GlContextWrapper.js';
4
+ /**
5
+ * Settings for the Platform
6
+ */
7
+ export interface PlatformSettings {
8
+ /**
9
+ * Number of image workers to spawn for parallel image processing
10
+ * @default 2
11
+ */
12
+ numImageWorkers?: number;
13
+ /**
14
+ * Whether to force the use of WebGL2 (if supported by the platform) or WebGL1. By default, the platform will use WebGL2 if it is available, and fall back to WebGL1 if it is not.
15
+ * @default false
16
+ */
17
+ forceWebGL2?: boolean;
18
+ /**
19
+ * Optional provided canvas element to use for rendering. If not provided, the platform will create its own canvas element.
20
+ */
21
+ canvas?: HTMLCanvasElement | null;
22
+ }
2
23
  export declare abstract class Platform {
24
+ readonly settings: Required<PlatformSettings>;
25
+ glw: GlContextWrapper | null;
26
+ canvas: HTMLCanvasElement | null;
27
+ constructor(settings?: PlatformSettings);
3
28
  /**
4
29
  * Creates a new canvas element.
5
30
  * @returns The created HTMLCanvasElement.
6
31
  */
7
32
  abstract createCanvas(): HTMLCanvasElement;
33
+ /**
34
+ * Create new rendering context (only for WebGL, Canvas does not require a context)
35
+ */
36
+ abstract createContext(): GlContextWrapper;
8
37
  /**
9
38
  * Get a DOM element by ID
10
39
  * @returns The DOM element (or null)
@@ -16,22 +45,59 @@ export declare abstract class Platform {
16
45
  */
17
46
  abstract startLoop(stage: Stage): void;
18
47
  /**
19
- * Abstracted createImageBitmap method.
20
- * @param blob - The image source to create the ImageBitmap from.
21
- * @param sxOrOptions - The source rectangle x coordinate or ImageBitmapOptions.
22
- * @param sy - The source rectangle y coordinate.
23
- * @param sw - The source rectangle width.
24
- * @param sh - The source rectangle height.
25
- * @param options - The ImageBitmapOptions.
26
- * @returns A promise that resolves with the created ImageBitmap.
48
+ * Fetches a resource from the network.
49
+ * @param url - The URL of the resource to fetch.
50
+ * @returns A promise that resolves with the response.
27
51
  */
28
- abstract createImageBitmap(blob: ImageBitmapSource): Promise<ImageBitmap>;
29
- abstract createImageBitmap(blob: ImageBitmapSource, options: ImageBitmapOptions): Promise<ImageBitmap>;
30
- abstract createImageBitmap(blob: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number): Promise<ImageBitmap>;
31
- abstract createImageBitmap(blob: ImageBitmapSource, sx: number, sy: number, sw: number, sh: number, options: ImageBitmapOptions): Promise<ImageBitmap>;
52
+ abstract fetch(url: string): Promise<unknown>;
53
+ /**
54
+ * Loads an image from a UR and returns it as an ImageBitmap or HTMLImageElement.
55
+ * @param src - The source URL or Blob of the image to load.
56
+ * @param premultiplyAlpha - Whether to premultiply alpha (if supported by the platform).
57
+ * @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
58
+ * @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
59
+ * @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
60
+ * @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
61
+ * @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
62
+ */
63
+ abstract loadImage(src: string, premultiplyAlpha: boolean | null, sx?: number | null, sy?: number | null, sw?: number | null, sh?: number | null): Promise<ImageResponse>;
64
+ /**
65
+ * Create an image out of a Blob
66
+ *
67
+ * @param blob - The Blob to create an image from
68
+ * @param premultiplyAlpha - Whether to premultiply alpha (if supported by the platform).
69
+ * @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
70
+ * @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
71
+ * @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
72
+ * @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
73
+ * @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
74
+ */
75
+ abstract createImage(blob: Blob, premultiplyAlpha: boolean | null, sx?: number | null, sy?: number | null, sw?: number | null, sh?: number | null): Promise<ImageResponse>;
76
+ /**
77
+ * Loads an SVG image from a URL and returns it as an ImageBitmap or HTMLImageElement.
78
+ * @param src - The source URL of the SVG image to load.
79
+ * @param width - The width to render the SVG image.
80
+ * @param height - The height to render the SVG image.
81
+ * @param sx - The x coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
82
+ * @param sy - The y coordinate of the top left corner of the sub-rectangle of the source image to draw into the destination context.
83
+ * @param sw - The width of the sub-rectangle of the source image to draw into the destination context.
84
+ * @param sh - The height of the sub-rectangle of the source image to draw into the destination context.
85
+ */
86
+ abstract loadSvg(src: string, width: number | null, height: number | null, sx?: number | null, sy?: number | null, sw?: number | null, sh?: number | null): Promise<ImageResponse>;
87
+ /**
88
+ * Loads a compressed texture from a URL and returns it as an ImageBitmap or HTMLImageElement.
89
+ * @param src - The source URL of the compressed texture to load.
90
+ * @returns A promise that resolves with an object containing the loaded image and whether alpha was premultiplied.
91
+ */
92
+ abstract loadCompressedTexture(src: string): Promise<ImageResponse>;
32
93
  /**
33
94
  * Retrieves the current timestamp.
34
95
  * @returns The current timestamp.
35
96
  */
36
97
  abstract getTimeStamp(): number;
98
+ /**
99
+ * Adds a FontFace to the platforms FontFaceSet
100
+ * @param font - The FontFace to add
101
+ */
102
+ abstract addFont(font: FontFace): void;
37
103
  }
@@ -18,5 +18,23 @@
18
18
  */
19
19
  import {} from '../Stage.js';
20
20
  export class Platform {
21
+ settings;
22
+ glw = null;
23
+ canvas = null;
24
+ constructor(settings = {}) {
25
+ // Apply default settings
26
+ this.settings = {
27
+ numImageWorkers: settings.numImageWorkers ?? 2,
28
+ forceWebGL2: settings.forceWebGL2 ?? false,
29
+ canvas: settings.canvas ?? null,
30
+ };
31
+ // If a canvas was provided in the settings, use it. Otherwise, create a new one.
32
+ if (this.settings.canvas !== null) {
33
+ this.canvas = this.settings.canvas;
34
+ }
35
+ else {
36
+ this.canvas = this.createCanvas();
37
+ }
38
+ }
21
39
  }
22
40
  //# sourceMappingURL=Platform.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../../src/core/platforms/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAc,MAAM,aAAa,CAAC;AAEzC,MAAM,OAAgB,QAAQ;CAuD7B"}
1
+ {"version":3,"file":"Platform.js","sourceRoot":"","sources":["../../../../src/core/platforms/Platform.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAc,MAAM,aAAa,CAAC;AA2BzC,MAAM,OAAgB,QAAQ;IACZ,QAAQ,CAA6B;IAE9C,GAAG,GAA4B,IAAI,CAAC;IACpC,MAAM,GAA6B,IAAI,CAAC;IAE/C,YAAY,WAA6B,EAAE;QACzC,yBAAyB;QACzB,IAAI,CAAC,QAAQ,GAAG;YACd,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,CAAC;YAC9C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,KAAK;YAC1C,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,IAAI;SAChC,CAAC;QAEF,iFAAiF;QACjF,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,CAAC;IACH,CAAC;CA6GF"}