@lightningjs/renderer 2.9.2 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (329) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/exports/core-api.d.ts +74 -0
  5. package/dist/exports/core-api.js +96 -0
  6. package/dist/exports/core-api.js.map +1 -0
  7. package/dist/exports/main-api.d.ts +30 -0
  8. package/dist/exports/main-api.js +45 -0
  9. package/dist/exports/main-api.js.map +1 -0
  10. package/dist/src/core/CoreExtension.d.ts +12 -0
  11. package/dist/src/core/CoreExtension.js +29 -0
  12. package/dist/src/core/CoreExtension.js.map +1 -0
  13. package/dist/src/core/CoreStuff.d.ts +1 -0
  14. package/dist/src/core/CoreStuff.js +138 -0
  15. package/dist/src/core/CoreStuff.js.map +1 -0
  16. package/dist/src/core/CoreTextureManager.d.ts +5 -2
  17. package/dist/src/core/CoreTextureManager.js +20 -11
  18. package/dist/src/core/CoreTextureManager.js.map +1 -1
  19. package/dist/src/core/LngNode.d.ts +736 -0
  20. package/dist/src/core/LngNode.js +1174 -0
  21. package/dist/src/core/LngNode.js.map +1 -0
  22. package/dist/src/core/Matrix2DContext.d.ts +15 -0
  23. package/dist/src/core/Matrix2DContext.js +45 -0
  24. package/dist/src/core/Matrix2DContext.js.map +1 -0
  25. package/dist/src/core/ShaderNode.d.ts +10 -0
  26. package/dist/src/core/ShaderNode.js +30 -0
  27. package/dist/src/core/ShaderNode.js.map +1 -0
  28. package/dist/src/core/Stage.d.ts +1 -1
  29. package/dist/src/core/Stage.js +2 -2
  30. package/dist/src/core/Stage.js.map +1 -1
  31. package/dist/src/core/TextNode.d.ts +103 -0
  32. package/dist/src/core/TextNode.js +331 -0
  33. package/dist/src/core/TextNode.js.map +1 -0
  34. package/dist/src/core/TextureMemoryManager.d.ts +30 -0
  35. package/dist/src/core/TextureMemoryManager.js +58 -38
  36. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  37. package/dist/src/core/lib/Coords.d.ts +14 -0
  38. package/dist/src/core/lib/Coords.js +55 -0
  39. package/dist/src/core/lib/Coords.js.map +1 -0
  40. package/dist/src/core/lib/glm/common.d.ts +162 -0
  41. package/dist/src/core/lib/glm/common.js +81 -0
  42. package/dist/src/core/lib/glm/common.js.map +1 -0
  43. package/dist/src/core/lib/glm/index.d.ts +11 -0
  44. package/dist/src/core/lib/glm/index.js +30 -0
  45. package/dist/src/core/lib/glm/index.js.map +1 -0
  46. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  47. package/dist/src/core/lib/glm/mat2.js +396 -0
  48. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  49. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  50. package/dist/src/core/lib/glm/mat2d.js +442 -0
  51. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  52. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  53. package/dist/src/core/lib/glm/mat3.js +680 -0
  54. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  55. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  56. package/dist/src/core/lib/glm/mat4.js +1802 -0
  57. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  58. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  59. package/dist/src/core/lib/glm/quat.js +693 -0
  60. package/dist/src/core/lib/glm/quat.js.map +1 -0
  61. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  62. package/dist/src/core/lib/glm/quat2.js +754 -0
  63. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  64. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  65. package/dist/src/core/lib/glm/vec2.js +569 -0
  66. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  67. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  68. package/dist/src/core/lib/glm/vec3.js +720 -0
  69. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  70. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  71. package/dist/src/core/lib/glm/vec4.js +608 -0
  72. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  73. package/dist/src/core/lib/textureSvg.js +1 -1
  74. package/dist/src/core/lib/textureSvg.js.map +1 -1
  75. package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
  76. package/dist/src/core/renderers/CoreShaderManager.js +33 -0
  77. package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
  78. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +4 -2
  79. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  80. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +4 -4
  81. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  82. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +9 -12
  83. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  84. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
  85. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
  86. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
  87. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
  88. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
  89. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
  90. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  91. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  92. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  93. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  94. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  95. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  96. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  97. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  98. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  99. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  100. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  101. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  102. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  103. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  104. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  105. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  106. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  107. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  108. package/dist/src/core/scene/Scene.d.ts +59 -0
  109. package/dist/src/core/scene/Scene.js +106 -0
  110. package/dist/src/core/scene/Scene.js.map +1 -0
  111. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  112. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  113. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  114. package/dist/src/core/textures/ColorTexture.js +1 -1
  115. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  116. package/dist/src/core/textures/ImageTexture.js +3 -3
  117. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  118. package/dist/src/core/textures/NoiseTexture.js +1 -1
  119. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  120. package/dist/src/core/textures/RenderTexture.js +1 -1
  121. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  122. package/dist/src/core/textures/SubTexture.d.ts +4 -0
  123. package/dist/src/core/textures/SubTexture.js +54 -16
  124. package/dist/src/core/textures/SubTexture.js.map +1 -1
  125. package/dist/src/core/textures/Texture.d.ts +2 -34
  126. package/dist/src/core/textures/Texture.js +13 -69
  127. package/dist/src/core/textures/Texture.js.map +1 -1
  128. package/dist/src/main-api/ICoreDriver.d.ts +27 -0
  129. package/dist/src/main-api/ICoreDriver.js +20 -0
  130. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  131. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  132. package/dist/src/main-api/IRenderDriver.js +20 -0
  133. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  134. package/dist/src/main-api/IShaderController.d.ts +14 -0
  135. package/dist/src/main-api/IShaderController.js +30 -0
  136. package/dist/src/main-api/IShaderController.js.map +1 -0
  137. package/dist/src/main-api/IShaderNode.d.ts +17 -0
  138. package/dist/src/main-api/IShaderNode.js +19 -0
  139. package/dist/src/main-api/IShaderNode.js.map +1 -0
  140. package/dist/src/main-api/Renderer.d.ts +6 -5
  141. package/dist/src/main-api/Renderer.js +3 -2
  142. package/dist/src/main-api/Renderer.js.map +1 -1
  143. package/dist/src/main-api/RendererMain.d.ts +375 -0
  144. package/dist/src/main-api/RendererMain.js +365 -0
  145. package/dist/src/main-api/RendererMain.js.map +1 -0
  146. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  147. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  148. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  149. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  150. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  151. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  152. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  153. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  154. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  155. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
  156. package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
  157. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  158. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
  159. package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
  160. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  161. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  162. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  163. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  164. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
  165. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
  166. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
  167. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  168. package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
  169. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  170. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  171. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  172. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  173. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
  174. package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
  175. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  176. package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
  177. package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
  178. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  179. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  180. package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
  181. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  182. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
  183. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
  184. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  185. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
  186. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
  187. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  188. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
  189. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
  190. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  191. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  192. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
  193. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  194. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
  195. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
  196. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
  197. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  198. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  199. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  200. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  201. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  202. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  203. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  204. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  205. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  206. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  207. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
  208. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  209. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  210. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
  211. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  212. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
  213. package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
  214. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  215. package/dist/src/render-drivers/utils.d.ts +12 -0
  216. package/dist/src/render-drivers/utils.js +69 -0
  217. package/dist/src/render-drivers/utils.js.map +1 -0
  218. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  219. package/exports/canvas.ts +39 -39
  220. package/exports/index.ts +89 -89
  221. package/exports/inspector.ts +24 -24
  222. package/exports/utils.ts +44 -44
  223. package/exports/webgl.ts +38 -38
  224. package/package.json +2 -1
  225. package/scripts/please-use-pnpm.js +13 -13
  226. package/src/common/CommonTypes.ts +139 -139
  227. package/src/common/EventEmitter.ts +77 -77
  228. package/src/common/IAnimationController.ts +92 -92
  229. package/src/common/IEventEmitter.ts +28 -28
  230. package/src/core/CoreNode.test.ts +199 -199
  231. package/src/core/CoreNode.ts +2335 -2335
  232. package/src/core/CoreShaderManager.ts +292 -292
  233. package/src/core/CoreTextNode.ts +455 -455
  234. package/src/core/CoreTextureManager.ts +561 -548
  235. package/src/core/Stage.ts +700 -700
  236. package/src/core/TextureMemoryManager.ts +292 -277
  237. package/src/core/animations/AnimationManager.ts +38 -38
  238. package/src/core/animations/CoreAnimation.ts +340 -340
  239. package/src/core/animations/CoreAnimationController.ts +157 -157
  240. package/src/core/lib/ContextSpy.ts +41 -41
  241. package/src/core/lib/ImageWorker.ts +270 -270
  242. package/src/core/lib/Matrix3d.ts +244 -244
  243. package/src/core/lib/RenderCoords.ts +86 -86
  244. package/src/core/lib/WebGlContextWrapper.ts +1322 -1322
  245. package/src/core/lib/textureCompression.ts +152 -152
  246. package/src/core/lib/textureSvg.ts +78 -78
  247. package/src/core/lib/utils.ts +310 -310
  248. package/src/core/platform.ts +61 -61
  249. package/src/core/renderers/CoreContextTexture.ts +43 -43
  250. package/src/core/renderers/CoreRenderOp.ts +22 -22
  251. package/src/core/renderers/CoreRenderer.ts +114 -114
  252. package/src/core/renderers/CoreShader.ts +41 -41
  253. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +371 -369
  254. package/src/core/renderers/canvas/CanvasCoreTexture.ts +150 -150
  255. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  256. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  257. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  258. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -79
  259. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  260. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +295 -298
  261. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  262. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +805 -805
  263. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  264. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  265. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  266. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  267. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  268. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  269. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  270. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  271. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  272. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  273. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  274. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  275. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  276. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  277. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  278. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  279. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  280. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  281. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  282. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  283. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  284. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  285. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  286. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  287. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  288. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  289. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  290. package/src/core/text-rendering/TrFontManager.ts +183 -183
  291. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  292. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  293. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  294. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  295. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  296. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  297. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  298. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  299. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  300. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  301. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  302. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  303. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  304. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  305. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  306. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  307. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  308. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  309. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  310. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  311. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  312. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  313. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  314. package/src/core/textures/ColorTexture.ts +102 -102
  315. package/src/core/textures/ImageTexture.ts +379 -379
  316. package/src/core/textures/NoiseTexture.ts +104 -104
  317. package/src/core/textures/RenderTexture.ts +85 -85
  318. package/src/core/textures/SubTexture.ts +225 -179
  319. package/src/core/textures/Texture.ts +347 -435
  320. package/src/core/utils.ts +227 -227
  321. package/src/env.d.ts +7 -7
  322. package/src/main-api/DynamicShaderController.ts +104 -104
  323. package/src/main-api/INode.ts +101 -101
  324. package/src/main-api/Inspector.ts +505 -505
  325. package/src/main-api/Renderer.ts +698 -693
  326. package/src/main-api/ShaderController.ts +80 -80
  327. package/src/main-api/utils.ts +45 -45
  328. package/src/utils.ts +248 -248
  329. package/COPYING +0 -1
@@ -0,0 +1,59 @@
1
+ import type { CoreNode } from '../CoreNode.js';
2
+ export type NodeTypes = Node;
3
+ export declare class Scene {
4
+ /**
5
+ * Root node of the scene
6
+ *
7
+ * @type {Node}
8
+ * @memberof Scene
9
+ */
10
+ root: CoreNode;
11
+ constructor(root: CoreNode);
12
+ /**
13
+ * Get all nodes of a specific type
14
+ * @param type
15
+ * @returns
16
+ */
17
+ getNodeByType(type: string): Node[];
18
+ /**
19
+ * Find a node by id
20
+ * @param id
21
+ * @returns
22
+ */
23
+ getNodeById(id: string): Node | null;
24
+ /**
25
+ * Create a new node
26
+ * @param parent
27
+ * @returns
28
+ */
29
+ /**
30
+ * create a new RectangleNode
31
+ * @param w
32
+ * @param h
33
+ * @param parent
34
+ * @returns
35
+ */
36
+ /**
37
+ * Create a new CircleNode
38
+ * @param r
39
+ * @param parent
40
+ * @returns
41
+ */
42
+ /**
43
+ * Create a new TextNode
44
+ * @param text
45
+ * @param parent
46
+ * @returns
47
+ */
48
+ /**
49
+ * Setup and attaching Node
50
+ * @param node
51
+ * @param parent
52
+ * @returns
53
+ */
54
+ /**
55
+ * Update the scene
56
+ * @param delta
57
+ */
58
+ update(delta: number): void;
59
+ }
@@ -0,0 +1,106 @@
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
+ export class Scene {
20
+ /**
21
+ * Root node of the scene
22
+ *
23
+ * @type {Node}
24
+ * @memberof Scene
25
+ */
26
+ root;
27
+ constructor(root) {
28
+ this.root = root;
29
+ }
30
+ /**
31
+ * Get all nodes of a specific type
32
+ * @param type
33
+ * @returns
34
+ */
35
+ getNodeByType(type) {
36
+ return [];
37
+ }
38
+ /**
39
+ * Find a node by id
40
+ * @param id
41
+ * @returns
42
+ */
43
+ getNodeById(id) {
44
+ return null;
45
+ }
46
+ /**
47
+ * Create a new node
48
+ * @param parent
49
+ * @returns
50
+ */
51
+ // public createNode(settings: Partial<INodeWritableProps> = {}): NodeTypes {
52
+ // return createNode(settings);
53
+ // }
54
+ /**
55
+ * create a new RectangleNode
56
+ * @param w
57
+ * @param h
58
+ * @param parent
59
+ * @returns
60
+ */
61
+ // public rectangle(w: number, h: number, parent: NodeTypes | null = null) {
62
+ // // TODO: Fix this
63
+ // // return this.create(new RectangleNode(w, h), parent);
64
+ // }
65
+ /**
66
+ * Create a new CircleNode
67
+ * @param r
68
+ * @param parent
69
+ * @returns
70
+ */
71
+ // public circle(r: number, parent: NodeTypes | null = null) {
72
+ // // TODO: Fix this
73
+ // // return this.create(new CircleNode(r), parent);
74
+ // }
75
+ /**
76
+ * Create a new TextNode
77
+ * @param text
78
+ * @param parent
79
+ * @returns
80
+ */
81
+ // public text(text = '', parent: NodeTypes | null = null) {
82
+ // // TODO: Fix this
83
+ // // return this.create(new TextNode(text), parent);
84
+ // }
85
+ /**
86
+ * Setup and attaching Node
87
+ * @param node
88
+ * @param parent
89
+ * @returns
90
+ */
91
+ // private create(node: NodeTypes, parent: NodeTypes | null = null): NodeTypes {
92
+ // if (!parent) {
93
+ // parent = this.root;
94
+ // }
95
+ // node.parent = parent;
96
+ // return node;
97
+ // }
98
+ /**
99
+ * Update the scene
100
+ * @param delta
101
+ */
102
+ update(delta) {
103
+ this.root.update(delta);
104
+ }
105
+ }
106
+ //# sourceMappingURL=Scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Scene.js","sourceRoot":"","sources":["../../../../src/core/scene/Scene.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH,MAAM,OAAO,KAAK;IAChB;;;;;OAKG;IACI,IAAI,CAAW;IAEtB,YAAY,IAAc;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACI,aAAa,CAAC,IAAY;QAC/B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,EAAU;QAC3B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;OAIG;IACH,6EAA6E;IAC7E,iCAAiC;IACjC,IAAI;IAEJ;;;;;;OAMG;IACH,4EAA4E;IAC5E,sBAAsB;IACtB,4DAA4D;IAC5D,IAAI;IAEJ;;;;;OAKG;IACH,8DAA8D;IAC9D,sBAAsB;IACtB,sDAAsD;IACtD,IAAI;IAEJ;;;;;OAKG;IACH,4DAA4D;IAC5D,sBAAsB;IACtB,uDAAuD;IACvD,IAAI;IAEJ;;;;;OAKG;IACH,gFAAgF;IAChF,mBAAmB;IACnB,0BAA0B;IAC1B,MAAM;IAEN,0BAA0B;IAC1B,iBAAiB;IACjB,IAAI;IAEJ;;;OAGG;IACI,MAAM,CAAC,KAAa;QACzB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;CACF"}
@@ -0,0 +1,20 @@
1
+ import { type Bound } from '../../../../lib/utils.js';
2
+ import type { TrProps } from '../../TextRenderer.js';
3
+ /**
4
+ * Create a render window from the given parameters.
5
+ *
6
+ * @remarks
7
+ * The render window is a rectangle that defines the area of the text that
8
+ * should be rendered. It is used to skip rendering parts of the text that
9
+ * are outside of the render window. The render window is relative to the
10
+ * text's top left corner of the overrall text.
11
+ *
12
+ * @param x The x coordinate of the text element's top left corner relative to the screen.
13
+ * @param y The y coordinate of the text element's top left corner relative to the screen.
14
+ * @param scrollY The amount of pixels to scroll the text vertically.
15
+ * @param lineHeight The height of a single line of text.
16
+ * @param numExtraLines The number of extra lines to render above and below the visible window.
17
+ * @param visibleWindow The visible window of the text element relative to the screen
18
+ * @returns
19
+ */
20
+ export declare function makeRenderWindow(x: TrProps['x'], y: TrProps['y'], scrollY: TrProps['scrollY'], lineHeight: number, numExtraLines: number, visibleWindow: Bound): Bound;
@@ -0,0 +1,55 @@
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
+ import { isBoundPositive } from '../../../../lib/utils.js';
20
+ /**
21
+ * Create a render window from the given parameters.
22
+ *
23
+ * @remarks
24
+ * The render window is a rectangle that defines the area of the text that
25
+ * should be rendered. It is used to skip rendering parts of the text that
26
+ * are outside of the render window. The render window is relative to the
27
+ * text's top left corner of the overrall text.
28
+ *
29
+ * @param x The x coordinate of the text element's top left corner relative to the screen.
30
+ * @param y The y coordinate of the text element's top left corner relative to the screen.
31
+ * @param scrollY The amount of pixels to scroll the text vertically.
32
+ * @param lineHeight The height of a single line of text.
33
+ * @param numExtraLines The number of extra lines to render above and below the visible window.
34
+ * @param visibleWindow The visible window of the text element relative to the screen
35
+ * @returns
36
+ */
37
+ export function makeRenderWindow(x, y, scrollY, lineHeight, numExtraLines, visibleWindow) {
38
+ const bufferMargin = lineHeight * numExtraLines;
39
+ const x1 = visibleWindow.x1 - x;
40
+ const y1 = visibleWindow.y1 - y;
41
+ return isBoundPositive(visibleWindow)
42
+ ? {
43
+ x1: x1,
44
+ y1: y1 + scrollY - bufferMargin,
45
+ x2: x1 + (visibleWindow.x2 - visibleWindow.x1),
46
+ y2: y1 + scrollY + (visibleWindow.y2 - visibleWindow.y1) + bufferMargin,
47
+ }
48
+ : {
49
+ x1: 0,
50
+ y1: 0,
51
+ x2: 0,
52
+ y2: 0,
53
+ };
54
+ }
55
+ //# sourceMappingURL=makeRenderWindow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"makeRenderWindow.js","sourceRoot":"","sources":["../../../../../../../src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,eAAe,EAAc,MAAM,0BAA0B,CAAC;AAGvE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,gBAAgB,CAC9B,CAAe,EACf,CAAe,EACf,OAA2B,EAC3B,UAAkB,EAClB,aAAqB,EACrB,aAAoB;IAEpB,MAAM,YAAY,GAAG,UAAU,GAAG,aAAa,CAAC;IAChD,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,MAAM,EAAE,GAAG,aAAa,CAAC,EAAE,GAAG,CAAC,CAAC;IAChC,OAAO,eAAe,CAAC,aAAa,CAAC;QACnC,CAAC,CAAC;YACE,EAAE,EAAE,EAAE;YACN,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,YAAY;YAC/B,EAAE,EAAE,EAAE,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC;YAC9C,EAAE,EAAE,EAAE,GAAG,OAAO,GAAG,CAAC,aAAa,CAAC,EAAE,GAAG,aAAa,CAAC,EAAE,CAAC,GAAG,YAAY;SACxE;QACH,CAAC,CAAC;YACE,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;YACL,EAAE,EAAE,CAAC;SACN,CAAC;AACR,CAAC"}
@@ -56,7 +56,7 @@ export class ColorTexture extends Texture {
56
56
  pixelData[2] = this.color & 0xff; // Blue
57
57
  pixelData[3] = (this.color >>> 24) & 0xff; // Alpha
58
58
  }
59
- this.setSourceState('loaded', { width: 1, height: 1 });
59
+ this.setState('fetched', { width: 1, height: 1 });
60
60
  return {
61
61
  data: pixelData,
62
62
  premultiplyAlpha: true,
@@ -1 +1 @@
1
- {"version":3,"file":"ColorTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ColorTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AActE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,KAAK,CAA8B;IAEnC,YAAY,SAA6B,EAAE,KAAyB;QAClE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,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;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM;YAChD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;YACjD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO;YACzC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;QACrD,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAEvD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,gBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
1
+ {"version":3,"file":"ColorTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ColorTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AActE;;;;;;;;;;;GAWG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,KAAK,CAA8B;IAEnC,YAAY,SAA6B,EAAE,KAAyB;QAClE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzD,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;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;QAEpC,IAAI,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;YAC9B,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YACnB,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM;YAChD,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;YACjD,SAAS,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO;YACzC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC,QAAQ;QACrD,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;QAElD,OAAO;YACL,IAAI,EAAE,SAAS;YACf,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,gBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC;IAC/C,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,UAAU;SACjC,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
@@ -113,13 +113,13 @@ export class ImageTexture extends Texture {
113
113
  resp = await this.determineImageTypeAndLoadImage();
114
114
  }
115
115
  catch (e) {
116
- this.setSourceState('failed', e);
116
+ this.setState('failed', e);
117
117
  return {
118
118
  data: null,
119
119
  };
120
120
  }
121
121
  if (resp.data === null) {
122
- this.setSourceState('failed', Error('ImageTexture: No image data'));
122
+ this.setState('failed', Error('ImageTexture: No image data'));
123
123
  return {
124
124
  data: null,
125
125
  };
@@ -136,7 +136,7 @@ export class ImageTexture extends Texture {
136
136
  height = resp.data?.height ?? (this.props.height || 0);
137
137
  }
138
138
  // we're loaded!
139
- this.setSourceState('loaded', {
139
+ this.setState('fetched', {
140
140
  width,
141
141
  height,
142
142
  });
@@ -1 +1 @@
1
- {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AACtE,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACtE,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAgF3D;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IAChC,KAAK,CAA8B;IAE1B,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,YAAY,SAA6B,EAAE,KAAwB;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,eAAe,CAAC,QAAgB;QAC9B,OAAO,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,GAAW,EAAE,QAAiB;QACpD,MAAM,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;QAExB,IAAI,aAAa,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YACjC,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAChC,CAAC;QAED,OAAO,IAAI,OAAO,CAChB,CAAC,OAAO,EAAE,EAAE;YACV,GAAG,CAAC,MAAM,GAAG,GAAG,EAAE;gBAChB,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,GAAG,CAAC,OAAO,GAAG,GAAG,EAAE;gBACjB,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;gBACjE,OAAO,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,CAAC;YACrD,CAAC,CAAC;YAEF,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC;QAChB,CAAC,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,iBAAiB,CACrB,IAAU,EACV,gBAAgC,EAChC,EAAiB,EACjB,EAAiB,EACjB,EAAiB,EACjB,EAAiB;QAKjB,MAAM,eAAe,GAAG,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC5E,MAAM,oBAAoB,GAAG,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC;QAEjE,IACE,oBAAoB,CAAC,IAAI,KAAK,IAAI;YAClC,EAAE,KAAK,IAAI;YACX,EAAE,KAAK,IAAI;YACX,EAAE,KAAK,IAAI;YACX,EAAE,KAAK,IAAI,EACX,CAAC;YACD,8BAA8B;YAC9B,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;gBAC3D,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAC1D,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,MAAM;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;QAC7D,CAAC;aAAM,IAAI,oBAAoB,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YACjD,kDAAkD;YAClD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,IAAI,EAAE;gBAC3C,gBAAgB,EAAE,eAAe,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,MAAM;gBAC1D,oBAAoB,EAAE,MAAM;gBAC5B,gBAAgB,EAAE,MAAM;aACzB,CAAC,CAAC;YACH,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;QAC7D,CAAC;aAAM,CAAC;YACN,kDAAkD;YAClD,0EAA0E;YAC1E,OAAO;gBACL,IAAI,EAAE,MAAM,iBAAiB,CAAC,IAAI,CAAC;gBACnC,gBAAgB,EAAE,eAAe;aAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,GAAW;QACzB,MAAM,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QAExD,IAAI,IAAI,CAAC,SAAS,CAAC,oBAAoB,KAAK,IAAI,EAAE,CAAC;YACjD,IACE,aAAa,CAAC,GAAG,CAAC,KAAK,KAAK;gBAC5B,IAAI,CAAC,SAAS,CAAC,SAAS,KAAK,IAAI;gBACjC,IAAI,CAAC,SAAS,CAAC,kBAAkB,KAAK,IAAI,EAC1C,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,QAAQ,CAC/C,GAAG,EACH,gBAAgB,EAChB,EAAE,EACF,EAAE,EACF,EAAE,EACF,EAAE,CACH,CAAC;YACJ,CAAC;YAED,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;YAClE,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;QACxE,CAAC;QAED,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,EAAE,gBAAgB,IAAI,IAAI,CAAC,CAAC;IAC/D,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,IAAI,CAAC,8BAA8B,EAAE,CAAC;QACrD,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAU,CAAC,CAAC;YACpC,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAC9D,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,EAAE,MAAM,CAAC;QAClB,sDAAsD;QACtD,2CAA2C;QAC3C,IAAI,IAAI,CAAC,IAAI,YAAY,UAAU,EAAE,CAAC;YACpC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC;YAC9B,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;YACpD,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;QACzD,CAAC;QAED,gBAAgB;QAChB,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE;YACvB,KAAK;YACL,MAAM;SACP,CAAC,CAAC;QAEH,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAAI,IAAI;SACtD,CAAC;IACJ,CAAC;IAED,8BAA8B;QAC5B,MAAM,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACnD,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,OAAO;gBACL,IAAI,EAAE,IAAI;aACX,CAAC;QACJ,CAAC;QAED,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,IAAI,GAAG,YAAY,SAAS,EAAE,CAAC;gBAC7B,OAAO;oBACL,IAAI,EAAE,GAAG;oBACT,gBAAgB;iBACjB,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,IAAI,EAAE,GAAG,EAAE;gBACX,gBAAgB;aACjB,CAAC;QACJ,CAAC;QAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;QAC9C,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACrC,CAAC;QAED,IAAI,IAAI,KAAK,KAAK,EAAE,CAAC;YACnB,OAAO,OAAO,CACZ,WAAW,EACX,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,CACd,CAAC;QACJ,CAAC;QAED,IAAI,UAAU,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC7B,OAAO,OAAO,CACZ,WAAW,EACX,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,EACjB,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,EAAE,CACd,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAC1B,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,4BAA4B,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC;YAC/C,OAAO,qBAAqB,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;QAED,UAAU;QACV,OAAO,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;IACrC,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,+CAA+C;QAC/C,MAAM,GAAG,GAAG,aAAa,CAAC,GAAG,IAAI,aAAa,CAAC,GAAG,CAAC;QACnD,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,KAAK,CAAC;QACf,CAAC;QAED,6DAA6D;QAC7D,IAAI,cAAc,GAAG,EAAE,CAAC;QACxB,IAAI,aAAa,CAAC,EAAE,KAAK,IAAI,IAAI,aAAa,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC;YAC3D,cAAc,IAAI,GAAG,CAAC;YACtB,cAAc,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;YACzC,cAAc,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;YACzC,cAAc,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;YACzC,cAAc,IAAI,aAAa,CAAC,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;QAED,OAAO,gBAAgB,GAAG,IACxB,aAAa,CAAC,gBAAgB,IAAI,MACpC,GAAG,cAAc,EAAE,CAAC;IACtB,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,EAAE;YACpB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB,IAAI,IAAI,EAAE,QAAQ;YAC1D,GAAG,EAAE,KAAK,CAAC,GAAG,IAAI,IAAI;YACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;YACxB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,IAAI;YAC1B,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;YAC5B,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;YACpB,EAAE,EAAE,KAAK,CAAC,EAAE,IAAI,IAAI;SACrB,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
@@ -44,7 +44,7 @@ export class NoiseTexture extends Texture {
44
44
  pixelData8[i + 2] = v;
45
45
  pixelData8[i + 3] = 255;
46
46
  }
47
- this.setSourceState('loaded');
47
+ this.setState('fetched');
48
48
  return {
49
49
  data: new ImageData(pixelData8, width, height),
50
50
  };
@@ -1 +1 @@
1
- {"version":3,"file":"NoiseTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/NoiseTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AA0BtE;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,KAAK,CAA8B;IAEnB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,YAAY,SAA6B,EAAE,KAAwB;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YAC1C,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAE9B,OAAO;YACL,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,gBAAgB,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
1
+ {"version":3,"file":"NoiseTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/NoiseTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAE,WAAW,EAAoB,MAAM,cAAc,CAAC;AA0BtE;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,OAAO;IACvC,KAAK,CAA8B;IAEnB,IAAI,GAAgB,WAAW,CAAC,KAAK,CAAC;IAEtD,YAAY,SAA6B,EAAE,KAAwB;QACjE,KAAK,CAAC,SAAS,CAAC,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAEQ,KAAK,CAAC,gBAAgB;QAC7B,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC;QACrC,MAAM,IAAI,GAAG,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC;YAC1C,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YAClB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;YACtB,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzB,OAAO;YACL,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,EAAE,KAAK,EAAE,MAAM,CAAC;SAC/C,CAAC;IACJ,CAAC;IAED,MAAM,CAAU,YAAY,CAAC,KAAwB;QACnD,IAAI,KAAK,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,aAAa,GAAG,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC1D,OAAO,gBAAgB,aAAa,CAAC,KAAK,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;IAChG,CAAC;IAED,MAAM,CAAU,eAAe,CAC7B,KAAwB;QAExB,OAAO;YACL,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,GAAG;YACzB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,GAAG;YAC3B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,CAAC;SAC5B,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,eAAe,CAAoB;CAC3C"}
@@ -37,7 +37,7 @@ export class RenderTexture extends Texture {
37
37
  this.props.height = value;
38
38
  }
39
39
  async getTextureSource() {
40
- this.setSourceState('loaded');
40
+ this.setState('fetched');
41
41
  return {
42
42
  data: null,
43
43
  premultiplyAlpha: null,
@@ -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,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"}
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,QAAQ,CAAC,SAAS,CAAC,CAAC;QAEzB,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"}
@@ -50,7 +50,11 @@ export declare class SubTexture extends Texture {
50
50
  constructor(txManager: CoreTextureManager, props: SubTextureProps);
51
51
  private onParentTxLoaded;
52
52
  private onParentTxFailed;
53
+ private onParentTxFetched;
54
+ private onParentTxFetching;
55
+ private onParentTxLoading;
53
56
  private onParentTxFreed;
57
+ private forwardParentTxState;
54
58
  onChangeIsRenderable(isRenderable: boolean): void;
55
59
  getTextureSource(): Promise<TextureData>;
56
60
  static makeCacheKey(props: SubTextureProps): string | false;
@@ -40,10 +40,9 @@ export class SubTexture extends Texture {
40
40
  assertTruthy(this.props.texture instanceof ImageTexture, 'SubTexture requires an ImageTexture parent');
41
41
  // Resolve parent texture from cache or fallback to provided texture
42
42
  this.parentTexture = txManager.resolveParentTexture(this.props.texture);
43
- if (this.parentTexture.state === 'freed') {
44
- this.txManager.loadTexture(this.parentTexture);
43
+ if (this.renderableOwners.size > 0) {
44
+ this.parentTexture.setRenderableOwner(this, true);
45
45
  }
46
- this.parentTexture.setRenderableOwner(this, true);
47
46
  // If parent texture is already loaded / failed, trigger loaded event manually
48
47
  // so that users get a consistent event experience.
49
48
  // We do this in a microtask to allow listeners to be attached in the same
@@ -53,12 +52,24 @@ export class SubTexture extends Texture {
53
52
  if (parentTx.state === 'loaded') {
54
53
  this.onParentTxLoaded(parentTx, parentTx.dimensions);
55
54
  }
55
+ else if (parentTx.state === 'fetching') {
56
+ this.onParentTxFetching();
57
+ }
58
+ else if (parentTx.state === 'fetched') {
59
+ this.onParentTxFetched();
60
+ }
61
+ else if (parentTx.state === 'loading') {
62
+ this.onParentTxLoading();
63
+ }
56
64
  else if (parentTx.state === 'failed') {
57
65
  this.onParentTxFailed(parentTx, parentTx.error);
58
66
  }
59
67
  else if (parentTx.state === 'freed') {
60
68
  this.onParentTxFreed();
61
69
  }
70
+ parentTx.on('fetched', this.onParentTxFetched);
71
+ parentTx.on('loading', this.onParentTxLoading);
72
+ parentTx.on('fetching', this.onParentTxFetching);
62
73
  parentTx.on('loaded', this.onParentTxLoaded);
63
74
  parentTx.on('failed', this.onParentTxFailed);
64
75
  parentTx.on('freed', this.onParentTxFreed);
@@ -67,33 +78,60 @@ export class SubTexture extends Texture {
67
78
  onParentTxLoaded = () => {
68
79
  // We ignore the parent's passed dimensions, and simply use the SubTexture's
69
80
  // configured dimensions (because that's all that matters here)
70
- this.setSourceState('loaded', {
81
+ this.forwardParentTxState('loaded', {
71
82
  width: this.props.width,
72
83
  height: this.props.height,
73
84
  });
74
- // If the parent already has a ctxTexture, we can set the core ctx state
75
- if (this.parentTexture.ctxTexture !== undefined) {
76
- this.setCoreCtxState('loaded', {
77
- width: this.props.width,
78
- height: this.props.height,
79
- });
80
- }
85
+ // free our source, if any
86
+ this.freeTextureData();
81
87
  };
82
88
  onParentTxFailed = (target, error) => {
83
- this.setSourceState('failed', error);
89
+ this.forwardParentTxState('failed', error);
90
+ this.free();
91
+ };
92
+ onParentTxFetched = () => {
93
+ this.forwardParentTxState('fetched', {
94
+ width: this.props.width,
95
+ height: this.props.height,
96
+ });
97
+ };
98
+ onParentTxFetching = () => {
99
+ this.forwardParentTxState('fetching');
100
+ };
101
+ onParentTxLoading = () => {
102
+ this.forwardParentTxState('loading');
84
103
  };
85
104
  onParentTxFreed = () => {
86
- this.setSourceState('freed');
105
+ this.forwardParentTxState('freed');
106
+ this.free();
87
107
  };
108
+ forwardParentTxState(state, errorOrDimensions) {
109
+ this.setState(state, errorOrDimensions);
110
+ }
88
111
  onChangeIsRenderable(isRenderable) {
89
112
  // Propagate the renderable owner change to the parent texture
90
113
  this.parentTexture.setRenderableOwner(this, isRenderable);
91
114
  }
92
115
  async getTextureSource() {
93
116
  // Check if parent texture is loaded
94
- return {
95
- data: this.props,
96
- };
117
+ return new Promise((resolve, reject) => {
118
+ if (this.parentTexture.state === 'loaded') {
119
+ resolve({
120
+ data: this.props,
121
+ });
122
+ }
123
+ this.parentTexture.once('loaded', (target, data) => {
124
+ resolve({
125
+ data: this.props,
126
+ });
127
+ });
128
+ this.parentTexture.once('failed', (target, error) => {
129
+ reject(error);
130
+ });
131
+ this.parentTexture.once('freed', () => {
132
+ reject(new Error('Parent texture was freed'));
133
+ });
134
+ });
97
135
  }
98
136
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
99
137
  static makeCacheKey(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SubTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/SubTexture.ts"],"names":[],"mappings":"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"}
@@ -61,7 +61,7 @@ export interface TextureData {
61
61
  */
62
62
  premultiplyAlpha?: boolean | null;
63
63
  }
64
- export type TextureState = 'initial' | 'freed' | 'loading' | 'loaded' | 'failed';
64
+ export type TextureState = 'initial' | 'fetching' | 'fetched' | 'loading' | 'loaded' | 'failed' | 'freed';
65
65
  export declare enum TextureType {
66
66
  'generic' = 0,
67
67
  'color' = 1,
@@ -70,13 +70,6 @@ export declare enum TextureType {
70
70
  'renderToTexture' = 4,
71
71
  'subTexture' = 5
72
72
  }
73
- export interface TextureStateEventMap {
74
- freed: TextureFreedEventHandler;
75
- loading: TextureLoadingEventHandler;
76
- loaded: TextureLoadedEventHandler;
77
- failed: TextureFailedEventHandler;
78
- }
79
- export type UpdateType = 'source' | 'coreCtx';
80
73
  /**
81
74
  * Represents a source of texture data for a CoreContextTexture.
82
75
  *
@@ -98,11 +91,8 @@ export declare abstract class Texture extends EventEmitter {
98
91
  readonly dimensions: Readonly<Dimensions> | null;
99
92
  readonly error: Error | null;
100
93
  state: TextureState;
101
- private sourceState;
102
- private coreCtxState;
103
94
  readonly renderableOwners: Set<unknown>;
104
95
  readonly renderable: boolean;
105
- readonly lastRenderableChangeTime = 0;
106
96
  type: TextureType;
107
97
  preventCleanup: boolean;
108
98
  ctxTexture: CoreContextTexture | undefined;
@@ -156,29 +146,7 @@ export declare abstract class Texture extends EventEmitter {
156
146
  * e.g. ImageData that is downloaded from a URL.
157
147
  */
158
148
  freeTextureData(): void;
159
- private setState;
160
- /**
161
- * Set the source state of the texture
162
- *
163
- * @remarks
164
- * The source of the texture can either be generated by the texture itself or
165
- * loaded from an external source.
166
- *
167
- * @param state State of the texture
168
- * @param errorOrDimensions Error or dimensions of the texture
169
- */
170
- setSourceState(state: TextureState, errorOrDimensions?: Error | Dimensions): void;
171
- /**
172
- * Set the core context state of the texture
173
- *
174
- * @remarks
175
- * The core context state of the texture is the state of the texture on the GPU.
176
- *
177
- * @param state State of the texture
178
- * @param errorOrDimensions Error or dimensions of the texture
179
- */
180
- setCoreCtxState(state: TextureState, errorOrDimensions?: Error | Dimensions): void;
181
- private updateState;
149
+ setState(state: TextureState, errorOrDimensions?: Error | Dimensions): void;
182
150
  /**
183
151
  * Get the texture data for this texture.
184
152
  *