@lightningjs/renderer 2.9.0-beta1 → 2.9.0-beta3

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 (265) hide show
  1. package/COPYING +1 -0
  2. package/LICENSE +202 -202
  3. package/NOTICE +3 -3
  4. package/README.md +147 -147
  5. package/dist/src/core/CoreNode.d.ts +2 -1
  6. package/dist/src/core/CoreNode.js +54 -43
  7. package/dist/src/core/CoreNode.js.map +1 -1
  8. package/dist/src/core/CoreTextureManager.d.ts +61 -15
  9. package/dist/src/core/CoreTextureManager.js +179 -104
  10. package/dist/src/core/CoreTextureManager.js.map +1 -1
  11. package/dist/src/core/Stage.d.ts +7 -0
  12. package/dist/src/core/Stage.js +33 -1
  13. package/dist/src/core/Stage.js.map +1 -1
  14. package/dist/src/core/TextureMemoryManager.js +2 -5
  15. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  16. package/dist/src/core/lib/ImageWorker.js +31 -28
  17. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  18. package/dist/src/core/lib/WebGlContextWrapper.d.ts +1 -0
  19. package/dist/src/core/lib/WebGlContextWrapper.js +2 -0
  20. package/dist/src/core/lib/WebGlContextWrapper.js.map +1 -1
  21. package/dist/src/core/renderers/CoreContextTexture.d.ts +1 -0
  22. package/dist/src/core/renderers/CoreContextTexture.js +1 -0
  23. package/dist/src/core/renderers/CoreContextTexture.js.map +1 -1
  24. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.d.ts +1 -1
  25. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +20 -7
  26. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  27. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +3 -3
  28. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +8 -10
  29. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  30. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js +3 -1
  31. package/dist/src/core/renderers/webgl/WebGlCoreCtxSubTexture.js.map +1 -1
  32. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +1 -2
  33. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +36 -35
  34. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  35. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.d.ts +0 -1
  36. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +7 -17
  37. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  38. package/dist/src/core/renderers/webgl/internal/RendererUtils.js +5 -3
  39. package/dist/src/core/renderers/webgl/internal/RendererUtils.js.map +1 -1
  40. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  41. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  42. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  43. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  44. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  45. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  46. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  47. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  48. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  49. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  50. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  51. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  52. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  53. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  54. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  55. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  56. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  57. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  58. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js +3 -5
  59. package/dist/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.js.map +1 -1
  60. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js +3 -3
  61. package/dist/src/core/text-rendering/renderers/CanvasTextRenderer.js.map +1 -1
  62. package/dist/src/core/textures/ColorTexture.d.ts +1 -1
  63. package/dist/src/core/textures/ColorTexture.js +2 -1
  64. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  65. package/dist/src/core/textures/ImageTexture.d.ts +8 -1
  66. package/dist/src/core/textures/ImageTexture.js +42 -1
  67. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  68. package/dist/src/core/textures/NoiseTexture.d.ts +1 -1
  69. package/dist/src/core/textures/NoiseTexture.js +2 -1
  70. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  71. package/dist/src/core/textures/RenderTexture.d.ts +1 -1
  72. package/dist/src/core/textures/RenderTexture.js +2 -1
  73. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  74. package/dist/src/core/textures/SubTexture.d.ts +1 -1
  75. package/dist/src/core/textures/SubTexture.js +21 -4
  76. package/dist/src/core/textures/SubTexture.js.map +1 -1
  77. package/dist/src/core/textures/Texture.d.ts +43 -21
  78. package/dist/src/core/textures/Texture.js +105 -33
  79. package/dist/src/core/textures/Texture.js.map +1 -1
  80. package/dist/src/main-api/Inspector.js +1 -1
  81. package/dist/src/main-api/Inspector.js.map +1 -1
  82. package/dist/src/main-api/Renderer.d.ts +18 -0
  83. package/dist/src/main-api/Renderer.js +6 -4
  84. package/dist/src/main-api/Renderer.js.map +1 -1
  85. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  86. package/exports/canvas.ts +39 -39
  87. package/exports/index.ts +89 -89
  88. package/exports/inspector.ts +24 -24
  89. package/exports/utils.ts +44 -44
  90. package/exports/webgl.ts +38 -38
  91. package/package.json +1 -1
  92. package/scripts/please-use-pnpm.js +13 -13
  93. package/src/common/CommonTypes.ts +139 -139
  94. package/src/common/EventEmitter.ts +77 -77
  95. package/src/common/IAnimationController.ts +92 -92
  96. package/src/common/IEventEmitter.ts +28 -28
  97. package/src/core/CoreNode.test.ts +95 -95
  98. package/src/core/CoreNode.ts +2282 -2258
  99. package/src/core/CoreShaderManager.ts +292 -292
  100. package/src/core/CoreTextNode.ts +450 -450
  101. package/src/core/CoreTextureManager.ts +522 -432
  102. package/src/core/Stage.ts +699 -652
  103. package/src/core/TextureMemoryManager.ts +277 -279
  104. package/src/core/animations/AnimationManager.ts +38 -38
  105. package/src/core/animations/CoreAnimation.ts +340 -340
  106. package/src/core/animations/CoreAnimationController.ts +157 -157
  107. package/src/core/lib/ContextSpy.ts +41 -41
  108. package/src/core/lib/ImageWorker.ts +270 -267
  109. package/src/core/lib/Matrix3d.ts +244 -244
  110. package/src/core/lib/RenderCoords.ts +86 -86
  111. package/src/core/lib/WebGlContextWrapper.ts +1322 -1320
  112. package/src/core/lib/textureCompression.ts +152 -152
  113. package/src/core/lib/textureSvg.ts +78 -78
  114. package/src/core/lib/utils.ts +306 -306
  115. package/src/core/platform.ts +61 -61
  116. package/src/core/renderers/CoreContextTexture.ts +43 -42
  117. package/src/core/renderers/CoreRenderOp.ts +22 -22
  118. package/src/core/renderers/CoreRenderer.ts +114 -114
  119. package/src/core/renderers/CoreShader.ts +41 -41
  120. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +364 -349
  121. package/src/core/renderers/canvas/CanvasCoreTexture.ts +150 -143
  122. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  123. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  124. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  125. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -79
  126. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -48
  127. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +298 -297
  128. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  129. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +805 -817
  130. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  131. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  132. package/src/core/renderers/webgl/internal/RendererUtils.ts +5 -3
  133. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  134. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  135. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  136. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  137. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  138. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  139. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  140. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  141. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  142. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  143. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  144. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  145. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  146. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  147. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  148. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  149. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  150. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  151. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  152. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  153. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  154. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  155. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  156. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  157. package/src/core/text-rendering/TrFontManager.ts +183 -183
  158. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +169 -171
  159. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  160. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  161. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  162. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  163. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +89 -89
  164. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -508
  165. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +798 -798
  166. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  167. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  168. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  169. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  170. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  171. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  172. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  173. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  174. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +403 -403
  175. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  176. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  177. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  178. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  179. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  180. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  181. package/src/core/textures/ColorTexture.ts +102 -100
  182. package/src/core/textures/ImageTexture.ts +378 -333
  183. package/src/core/textures/NoiseTexture.ts +104 -101
  184. package/src/core/textures/RenderTexture.ts +85 -83
  185. package/src/core/textures/SubTexture.ts +171 -146
  186. package/src/core/textures/Texture.ts +407 -318
  187. package/src/core/utils.ts +227 -227
  188. package/src/env.d.ts +7 -7
  189. package/src/main-api/DynamicShaderController.ts +104 -104
  190. package/src/main-api/INode.ts +101 -101
  191. package/src/main-api/Inspector.ts +505 -505
  192. package/src/main-api/Renderer.ts +693 -670
  193. package/src/main-api/ShaderController.ts +80 -80
  194. package/src/main-api/utils.ts +45 -45
  195. package/src/utils.ts +248 -248
  196. package/dist/exports/core-api.d.ts +0 -74
  197. package/dist/exports/core-api.js +0 -96
  198. package/dist/exports/core-api.js.map +0 -1
  199. package/dist/exports/main-api.d.ts +0 -30
  200. package/dist/exports/main-api.js +0 -45
  201. package/dist/exports/main-api.js.map +0 -1
  202. package/dist/src/core/CoreExtension.d.ts +0 -12
  203. package/dist/src/core/CoreExtension.js +0 -29
  204. package/dist/src/core/CoreExtension.js.map +0 -1
  205. package/dist/src/main-api/ICoreDriver.d.ts +0 -24
  206. package/dist/src/main-api/ICoreDriver.js +0 -20
  207. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  208. package/dist/src/main-api/RendererMain.d.ts +0 -378
  209. package/dist/src/main-api/RendererMain.js +0 -367
  210. package/dist/src/main-api/RendererMain.js.map +0 -1
  211. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  212. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  213. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  214. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  215. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  216. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  217. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  218. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
  219. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  220. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -21
  221. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -115
  222. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  223. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -101
  224. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -425
  225. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  226. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  227. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -204
  228. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  229. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -93
  230. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -290
  231. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  232. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -40
  233. package/dist/src/render-drivers/threadx/SharedNode.js +0 -61
  234. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  235. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  236. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -203
  237. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  238. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -25
  239. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -232
  240. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  241. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -24
  242. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -113
  243. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  244. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -46
  245. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -160
  246. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  247. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  248. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  249. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  250. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  251. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  252. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  253. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  254. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -184
  255. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  256. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  257. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -109
  258. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  259. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
  260. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -147
  261. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  262. package/dist/src/render-drivers/utils.d.ts +0 -12
  263. package/dist/src/render-drivers/utils.js +0 -74
  264. package/dist/src/render-drivers/utils.js.map +0 -1
  265. package/dist/tsconfig.tsbuildinfo +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"RenderTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/RenderTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AAmBtE,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,KAAK,CAA+B;IAEpB,IAAI,GAAgB,WAAW,CAAC,eAAe,CAAC;IAEhE,YAAY,SAA6B,EAAE,KAA0B;QACnE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAyB;QAEzB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAqB;CAC5C"}
1
+ {"version":3,"file":"RenderTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/RenderTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AAmBtE,MAAM,OAAO,aAAc,SAAQ,OAAO;IACxC,KAAK,CAA+B;IAEpB,IAAI,GAAgB,WAAW,CAAC,eAAe,CAAC;IAEhE,YAAY,SAA6B,EAAE,KAA0B;QACnE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;IAC1B,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IAC3B,CAAC;IAED,IAAI,MAAM,CAAC,KAAa;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,KAAK,CAAC;IAC5B,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO;YACL,IAAI,EAAE,IAAI;YACV,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAyB;QAEzB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAqB;CAC5C"}
@@ -51,7 +51,7 @@ export declare class SubTexture extends Texture {
51
51
  private onParentTxLoaded;
52
52
  private onParentTxFailed;
53
53
  onChangeIsRenderable(isRenderable: boolean): void;
54
- getTextureData(): Promise<TextureData>;
54
+ getTextureSource(): Promise<TextureData>;
55
55
  static makeCacheKey(props: SubTextureProps): string | false;
56
56
  static resolveDefaults(props: SubTextureProps): Required<SubTextureProps>;
57
57
  static z$__type__Props: SubTextureProps;
@@ -16,6 +16,8 @@
16
16
  * See the License for the specific language governing permissions and
17
17
  * limitations under the License.
18
18
  */
19
+ import { assertTruthy } from '../../utils.js';
20
+ import { ImageTexture } from './ImageTexture.js';
19
21
  import { Texture, TextureType, } from './Texture.js';
20
22
  /**
21
23
  * A Texture that is a sub-region of another Texture.
@@ -34,7 +36,14 @@ export class SubTexture extends Texture {
34
36
  constructor(txManager, props) {
35
37
  super(txManager);
36
38
  this.props = SubTexture.resolveDefaults(props || {});
37
- this.parentTexture = this.props.texture;
39
+ assertTruthy(this.props.texture, 'SubTexture requires a parent texture');
40
+ assertTruthy(this.props.texture instanceof ImageTexture, 'SubTexture requires an ImageTexture parent');
41
+ // Resolve parent texture from cache or fallback to provided texture
42
+ this.parentTexture = txManager.resolveParentTexture(this.props.texture);
43
+ if (this.parentTexture.state === 'freed') {
44
+ this.txManager.loadTexture(this.parentTexture);
45
+ }
46
+ this.parentTexture.setRenderableOwner(this, true);
38
47
  // If parent texture is already loaded / failed, trigger loaded event manually
39
48
  // so that users get a consistent event experience.
40
49
  // We do this in a microtask to allow listeners to be attached in the same
@@ -54,19 +63,27 @@ export class SubTexture extends Texture {
54
63
  onParentTxLoaded = () => {
55
64
  // We ignore the parent's passed dimensions, and simply use the SubTexture's
56
65
  // configured dimensions (because that's all that matters here)
57
- this.setState('loaded', {
66
+ this.setSourceState('loaded', {
58
67
  width: this.props.width,
59
68
  height: this.props.height,
60
69
  });
70
+ // If the parent already has a ctxTexture, we can set the core ctx state
71
+ if (this.parentTexture.ctxTexture !== undefined) {
72
+ this.setCoreCtxState('loaded', {
73
+ width: this.props.width,
74
+ height: this.props.height,
75
+ });
76
+ }
61
77
  };
62
78
  onParentTxFailed = (target, error) => {
63
- this.setState('failed', error);
79
+ this.setSourceState('failed', error);
64
80
  };
65
81
  onChangeIsRenderable(isRenderable) {
66
82
  // Propagate the renderable owner change to the parent texture
67
83
  this.parentTexture.setRenderableOwner(this, isRenderable);
68
84
  }
69
- async getTextureData() {
85
+ async getTextureSource() {
86
+ // Check if parent texture is loaded
70
87
  return {
71
88
  data: this.props,
72
89
  };
@@ -1 +1 @@
1
- {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EACL,OAAO,EACP,WAAW,GAIZ,MAAM,cAAc,CAAC;AAwCtB;;;;;;;;;GASG;AACH,MAAM,OAAO,UAAW,SAAQ,OAAO;IACrC,KAAK,CAA4B;IACjC,aAAa,CAAU;IAEP,IAAI,GAAgB,WAAW,CAAC,UAAU,CAAC;IAE3D,YAAY,SAA6B,EAAE,KAAsB;QAC/D,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,UAAU,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;QAExC,8EAA8E;QAC9E,mDAAmD;QACnD,0EAA0E;QAC1E,+CAA+C;QAC/C,cAAc,CAAC,GAAG,EAAE;YAClB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;YACpC,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,UAAW,CAAC,CAAC;YACxD,CAAC;iBAAM,IAAI,QAAQ,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACvC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,CAAC,KAAM,CAAC,CAAC;YACnD,CAAC;YACD,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC7C,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,gBAAgB,GAA8B,GAAG,EAAE;QACzD,4EAA4E;QAC5E,+DAA+D;QAC/D,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;SAC1B,CAAC,CAAC;IACL,CAAC,CAAC;IAEM,gBAAgB,GAA8B,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;QACtE,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC;IAEO,oBAAoB,CAAC,YAAqB;QACjD,8DAA8D;QAC9D,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC5D,CAAC;IAEQ,KAAK,CAAC,cAAc;QAC3B,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,KAAK;SACjB,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,MAAM,CAAU,YAAY,CAAC,KAAsB;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAsB;QAEtB,OAAO;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;YACf,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,CAAC;YACf,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,CAAC;YACvB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,CAAC;SAC1B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAkB;CACzC"}
1
+ {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"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"}
@@ -76,11 +76,7 @@ export interface TextureStateEventMap {
76
76
  loaded: TextureLoadedEventHandler;
77
77
  failed: TextureFailedEventHandler;
78
78
  }
79
- /**
80
- * Like the built-in Parameters<> type but skips the first parameter (which is
81
- * `target` currently)
82
- */
83
- type ParametersSkipTarget<T extends (...args: any) => any> = T extends (target: any, ...args: infer P) => any ? P : never;
79
+ export type UpdateType = 'source' | 'coreCtx';
84
80
  /**
85
81
  * Represents a source of texture data for a CoreContextTexture.
86
82
  *
@@ -101,12 +97,16 @@ export declare abstract class Texture extends EventEmitter {
101
97
  */
102
98
  readonly dimensions: Readonly<Dimensions> | null;
103
99
  readonly error: Error | null;
104
- readonly state: TextureState;
100
+ state: TextureState;
101
+ private sourceState;
102
+ private coreCtxState;
105
103
  readonly renderableOwners: Set<unknown>;
106
104
  readonly renderable: boolean;
107
105
  readonly lastRenderableChangeTime = 0;
108
106
  type: TextureType;
109
107
  preventCleanup: boolean;
108
+ ctxTexture: CoreContextTexture | undefined;
109
+ textureData: TextureData | null;
110
110
  constructor(txManager: CoreTextureManager);
111
111
  /**
112
112
  * Add/remove an owner to/from the Texture based on its renderability.
@@ -134,28 +134,42 @@ export declare abstract class Texture extends EventEmitter {
134
134
  */
135
135
  onChangeIsRenderable?(isRenderable: boolean): void;
136
136
  /**
137
- * Get the CoreContextTexture for this Texture
137
+ * Load the core context texture for this Texture.
138
+ * The ctxTexture is created by the renderer and lives on the GPU.
139
+ *
140
+ * @returns
141
+ */
142
+ loadCtxTexture(): CoreContextTexture;
143
+ /**
144
+ * Free the core context texture for this Texture.
145
+ *
146
+ * @remarks
147
+ * The ctxTexture is created by the renderer and lives on the GPU.
148
+ */
149
+ free(): void;
150
+ private setState;
151
+ /**
152
+ * Set the source state of the texture
138
153
  *
139
154
  * @remarks
140
- * Each Texture has a corresponding CoreContextTexture that is used to
141
- * manage the texture's native data depending on the renderer's mode
142
- * (WebGL, Canvas, etc).
155
+ * The source of the texture can either be generated by the texture itself or
156
+ * loaded from an external source.
143
157
  *
144
- * The Texture and CoreContextTexture are always linked together in a 1:1
145
- * relationship.
158
+ * @param state State of the texture
159
+ * @param errorOrDimensions Error or dimensions of the texture
146
160
  */
147
- get ctxTexture(): CoreContextTexture;
161
+ setSourceState(state: TextureState, errorOrDimensions?: Error | Dimensions): void;
148
162
  /**
149
- * Set the state of the texture
163
+ * Set the core context state of the texture
150
164
  *
151
- * @remark
152
- * Intended for internal-use only but declared public so that it can be set
153
- * by it's associated {@link CoreContextTexture}
165
+ * @remarks
166
+ * The core context state of the texture is the state of the texture on the GPU.
154
167
  *
155
- * @param state
156
- * @param args
168
+ * @param state State of the texture
169
+ * @param errorOrDimensions Error or dimensions of the texture
157
170
  */
158
- setState<State extends TextureState>(state: State, ...args: ParametersSkipTarget<TextureStateEventMap[State]>): void;
171
+ setCoreCtxState(state: TextureState, errorOrDimensions?: Error | Dimensions): void;
172
+ private updateState;
159
173
  /**
160
174
  * Get the texture data for this texture.
161
175
  *
@@ -166,7 +180,15 @@ export declare abstract class Texture extends EventEmitter {
166
180
  * @returns
167
181
  * The texture data for this texture.
168
182
  */
169
- abstract getTextureData(): Promise<TextureData>;
183
+ getTextureData(): Promise<TextureData>;
184
+ /**
185
+ * Get the texture source for this texture.
186
+ *
187
+ * @remarks
188
+ * This method is called by the CoreContextTexture when the texture is loaded.
189
+ * The texture source is then used to populate the CoreContextTexture.
190
+ */
191
+ abstract getTextureSource(): Promise<TextureData>;
170
192
  /**
171
193
  * Make a cache key for this texture.
172
194
  *
@@ -46,12 +46,19 @@ export class Texture extends EventEmitter {
46
46
  */
47
47
  dimensions = null;
48
48
  error = null;
49
+ // aggregate state
49
50
  state = 'freed';
51
+ // texture source state
52
+ sourceState = 'freed';
53
+ // texture (gpu) state
54
+ coreCtxState = 'freed';
50
55
  renderableOwners = new Set();
51
56
  renderable = false;
52
57
  lastRenderableChangeTime = 0;
53
58
  type = TextureType.generic;
54
59
  preventCleanup = false;
60
+ ctxTexture;
61
+ textureData = null;
55
62
  constructor(txManager) {
56
63
  super();
57
64
  this.txManager = txManager;
@@ -76,7 +83,6 @@ export class Texture extends EventEmitter {
76
83
  this.renderableOwners.add(owner);
77
84
  const newSize = this.renderableOwners.size;
78
85
  if (newSize > oldSize && newSize === 1) {
79
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
80
86
  this.renderable = true;
81
87
  this.lastRenderableChangeTime = this.txManager.frameTime;
82
88
  this.onChangeIsRenderable?.(true);
@@ -86,7 +92,6 @@ export class Texture extends EventEmitter {
86
92
  this.renderableOwners.delete(owner);
87
93
  const newSize = this.renderableOwners.size;
88
94
  if (newSize < oldSize && newSize === 0) {
89
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
90
95
  this.renderable = false;
91
96
  this.lastRenderableChangeTime = this.txManager.frameTime;
92
97
  this.onChangeIsRenderable?.(false);
@@ -94,47 +99,114 @@ export class Texture extends EventEmitter {
94
99
  }
95
100
  }
96
101
  /**
97
- * Get the CoreContextTexture for this Texture
102
+ * Load the core context texture for this Texture.
103
+ * The ctxTexture is created by the renderer and lives on the GPU.
104
+ *
105
+ * @returns
106
+ */
107
+ loadCtxTexture() {
108
+ if (this.ctxTexture === undefined) {
109
+ this.ctxTexture = this.txManager.renderer.createCtxTexture(this);
110
+ }
111
+ return this.ctxTexture;
112
+ }
113
+ /**
114
+ * Free the core context texture for this Texture.
115
+ *
116
+ * @remarks
117
+ * The ctxTexture is created by the renderer and lives on the GPU.
118
+ */
119
+ free() {
120
+ this.ctxTexture?.free();
121
+ if (this.textureData !== null) {
122
+ this.textureData = null;
123
+ }
124
+ }
125
+ setState(state, type, errorOrDimensions) {
126
+ const stateObj = type === 'source' ? 'sourceState' : 'coreCtxState';
127
+ if (this[stateObj] === state) {
128
+ return;
129
+ }
130
+ this[stateObj] = state;
131
+ if (state === 'loaded') {
132
+ this.dimensions = errorOrDimensions;
133
+ }
134
+ else if (state === 'failed') {
135
+ this.error = errorOrDimensions;
136
+ }
137
+ this.updateState();
138
+ }
139
+ /**
140
+ * Set the source state of the texture
141
+ *
142
+ * @remarks
143
+ * The source of the texture can either be generated by the texture itself or
144
+ * loaded from an external source.
145
+ *
146
+ * @param state State of the texture
147
+ * @param errorOrDimensions Error or dimensions of the texture
148
+ */
149
+ setSourceState(state, errorOrDimensions) {
150
+ this.setState(state, 'source', errorOrDimensions);
151
+ }
152
+ /**
153
+ * Set the core context state of the texture
98
154
  *
99
155
  * @remarks
100
- * Each Texture has a corresponding CoreContextTexture that is used to
101
- * manage the texture's native data depending on the renderer's mode
102
- * (WebGL, Canvas, etc).
156
+ * The core context state of the texture is the state of the texture on the GPU.
103
157
  *
104
- * The Texture and CoreContextTexture are always linked together in a 1:1
105
- * relationship.
158
+ * @param state State of the texture
159
+ * @param errorOrDimensions Error or dimensions of the texture
106
160
  */
107
- get ctxTexture() {
108
- // The first time this is called, create the ctxTexture
109
- const ctxTexture = this.txManager.renderer.createCtxTexture(this);
110
- // And replace this getter with the value for future calls
111
- Object.defineProperty(this, 'ctxTexture', { value: ctxTexture });
112
- return ctxTexture;
161
+ setCoreCtxState(state, errorOrDimensions) {
162
+ this.setState(state, 'coreCtx', errorOrDimensions);
163
+ }
164
+ updateState() {
165
+ const ctxState = this.coreCtxState;
166
+ const sourceState = this.sourceState;
167
+ let newState = 'freed';
168
+ let payload = null;
169
+ if (sourceState === 'failed' || ctxState === 'failed') {
170
+ newState = 'failed';
171
+ payload = this.error; // Error set by the source
172
+ }
173
+ else if (sourceState === 'loading' || ctxState === 'loading') {
174
+ newState = 'loading';
175
+ }
176
+ else if (sourceState === 'loaded' && ctxState === 'loaded') {
177
+ newState = 'loaded';
178
+ payload = this.dimensions; // Dimensions set by the source
179
+ }
180
+ else if ((sourceState === 'loaded' && ctxState === 'freed') ||
181
+ (ctxState === 'loaded' && sourceState === 'freed')) {
182
+ // If one is loaded and the other is freed, then we are in a loading state
183
+ newState = 'loading';
184
+ }
185
+ else {
186
+ newState = 'freed';
187
+ }
188
+ if (this.state === newState) {
189
+ return;
190
+ }
191
+ // emit the new state
192
+ this.state = newState;
193
+ this.emit(newState, payload);
113
194
  }
114
195
  /**
115
- * Set the state of the texture
196
+ * Get the texture data for this texture.
116
197
  *
117
- * @remark
118
- * Intended for internal-use only but declared public so that it can be set
119
- * by it's associated {@link CoreContextTexture}
198
+ * @remarks
199
+ * This method is called by the CoreContextTexture when the texture is loaded.
200
+ * The texture data is then used to populate the CoreContextTexture.
120
201
  *
121
- * @param state
122
- * @param args
202
+ * @returns
203
+ * The texture data for this texture.
123
204
  */
124
- setState(state, ...args) {
125
- if (this.state !== state) {
126
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
127
- this.state = state;
128
- if (state === 'loaded') {
129
- const loadedArgs = args;
130
- this.dimensions = loadedArgs[0];
131
- }
132
- else if (state === 'failed') {
133
- const failedArgs = args;
134
- this.error = failedArgs[0];
135
- }
136
- this.emit(state, ...args);
205
+ async getTextureData() {
206
+ if (this.textureData === null) {
207
+ this.textureData = await this.getTextureSource();
137
208
  }
209
+ return this.textureData;
138
210
  }
139
211
  /**
140
212
  * Make a cache key for this texture.
@@ -1 +1 @@
1
- {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Texture.js","sourceRoot":"","sources":["../../../../src/core/textures/Texture.ts"],"names":[],"mappings":"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"}
@@ -102,6 +102,7 @@ const knownProperties = new Set([
102
102
  // ...gradientColorPropertyMap,
103
103
  'src',
104
104
  'parent',
105
+ 'data',
105
106
  ]);
106
107
  export class Inspector {
107
108
  root = null;
@@ -218,7 +219,6 @@ export class Inspector {
218
219
  originalDestroy.call(node);
219
220
  },
220
221
  });
221
- // eslint-disable-next-line @typescript-eslint/unbound-method
222
222
  const originalAnimate = node.animate;
223
223
  Object.defineProperty(node, 'animate', {
224
224
  value: (props, settings) => {
@@ -1 +1 @@
1
- {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Inspector.js","sourceRoot":"","sources":["../../../src/main-api/Inspector.ts"],"names":[],"mappings":"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"}
@@ -216,6 +216,24 @@ export interface RendererMainSettings {
216
216
  * @defaultValue `true`
217
217
  */
218
218
  strictBounds?: boolean;
219
+ /**
220
+ * Texture Processing Limit
221
+ *
222
+ * @remarks
223
+ * The maximum number of textures to process in a single frame. This is used to
224
+ * prevent the renderer from processing too many textures in a single frame.
225
+ *
226
+ * @defaultValue `0`
227
+ */
228
+ textureProcessingLimit?: number;
229
+ /**
230
+ * Canvas object to use for rendering
231
+ *
232
+ * @remarks
233
+ * This is used to render the scene graph. If not provided, a new canvas
234
+ * element will be created and appended to the target element.
235
+ */
236
+ canvas?: HTMLCanvasElement;
219
237
  }
220
238
  /**
221
239
  * The Renderer Main API
@@ -107,12 +107,13 @@ export class RendererMain extends EventEmitter {
107
107
  quadBufferSize: settings.quadBufferSize ?? 4 * 1024 * 1024,
108
108
  fontEngines: settings.fontEngines,
109
109
  strictBounds: settings.strictBounds ?? true,
110
+ textureProcessingLimit: settings.textureProcessingLimit || 0,
111
+ canvas: settings.canvas || document.createElement('canvas'),
110
112
  };
111
113
  this.settings = resolvedSettings;
112
- const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, } = resolvedSettings;
114
+ const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, inspector, canvas, } = resolvedSettings;
113
115
  const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
114
116
  const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
115
- const canvas = document.createElement('canvas');
116
117
  this.canvas = canvas;
117
118
  canvas.width = deviceLogicalWidth * devicePhysicalPixelRatio;
118
119
  canvas.height = deviceLogicalHeight * devicePhysicalPixelRatio;
@@ -138,6 +139,7 @@ export class RendererMain extends EventEmitter {
138
139
  fontEngines: this.settings.fontEngines,
139
140
  inspector: this.settings.inspector !== null,
140
141
  strictBounds: this.settings.strictBounds,
142
+ textureProcessingLimit: this.settings.textureProcessingLimit,
141
143
  });
142
144
  // Extract the root node
143
145
  this.root = this.stage.root;
@@ -234,7 +236,7 @@ export class RendererMain extends EventEmitter {
234
236
  * @returns
235
237
  */
236
238
  createTexture(textureType, props) {
237
- return this.stage.txManager.loadTexture(textureType, props);
239
+ return this.stage.txManager.createTexture(textureType, props);
238
240
  }
239
241
  /**
240
242
  * Create a new shader controller for a shader type
@@ -350,7 +352,7 @@ export class RendererMain extends EventEmitter {
350
352
  * May not do anything if the render loop is running on a separate worker.
351
353
  */
352
354
  rerender() {
353
- throw new Error('Not implemented');
355
+ this.stage.requestRender();
354
356
  }
355
357
  /**
356
358
  * Sets the clear color for the stage.
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.js","sourceRoot":"","sources":["../../../src/main-api/Renderer.ts"],"names":[],"mappings":"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"}