@lightningjs/renderer 2.10.0 → 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 (327) 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 +4 -1
  17. package/dist/src/core/CoreTextureManager.js +14 -3
  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.js +1 -1
  29. package/dist/src/core/Stage.js.map +1 -1
  30. package/dist/src/core/TextNode.d.ts +103 -0
  31. package/dist/src/core/TextNode.js +331 -0
  32. package/dist/src/core/TextNode.js.map +1 -0
  33. package/dist/src/core/TextureMemoryManager.d.ts +30 -0
  34. package/dist/src/core/TextureMemoryManager.js +58 -38
  35. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  36. package/dist/src/core/lib/Coords.d.ts +14 -0
  37. package/dist/src/core/lib/Coords.js +55 -0
  38. package/dist/src/core/lib/Coords.js.map +1 -0
  39. package/dist/src/core/lib/glm/common.d.ts +162 -0
  40. package/dist/src/core/lib/glm/common.js +81 -0
  41. package/dist/src/core/lib/glm/common.js.map +1 -0
  42. package/dist/src/core/lib/glm/index.d.ts +11 -0
  43. package/dist/src/core/lib/glm/index.js +30 -0
  44. package/dist/src/core/lib/glm/index.js.map +1 -0
  45. package/dist/src/core/lib/glm/mat2.d.ts +219 -0
  46. package/dist/src/core/lib/glm/mat2.js +396 -0
  47. package/dist/src/core/lib/glm/mat2.js.map +1 -0
  48. package/dist/src/core/lib/glm/mat2d.d.ts +237 -0
  49. package/dist/src/core/lib/glm/mat2d.js +442 -0
  50. package/dist/src/core/lib/glm/mat2d.js.map +1 -0
  51. package/dist/src/core/lib/glm/mat3.d.ts +283 -0
  52. package/dist/src/core/lib/glm/mat3.js +680 -0
  53. package/dist/src/core/lib/glm/mat3.js.map +1 -0
  54. package/dist/src/core/lib/glm/mat4.d.ts +550 -0
  55. package/dist/src/core/lib/glm/mat4.js +1802 -0
  56. package/dist/src/core/lib/glm/mat4.js.map +1 -0
  57. package/dist/src/core/lib/glm/quat.d.ts +363 -0
  58. package/dist/src/core/lib/glm/quat.js +693 -0
  59. package/dist/src/core/lib/glm/quat.js.map +1 -0
  60. package/dist/src/core/lib/glm/quat2.d.ts +356 -0
  61. package/dist/src/core/lib/glm/quat2.js +754 -0
  62. package/dist/src/core/lib/glm/quat2.js.map +1 -0
  63. package/dist/src/core/lib/glm/vec2.d.ts +365 -0
  64. package/dist/src/core/lib/glm/vec2.js +569 -0
  65. package/dist/src/core/lib/glm/vec2.js.map +1 -0
  66. package/dist/src/core/lib/glm/vec3.d.ts +406 -0
  67. package/dist/src/core/lib/glm/vec3.js +720 -0
  68. package/dist/src/core/lib/glm/vec3.js.map +1 -0
  69. package/dist/src/core/lib/glm/vec4.d.ts +330 -0
  70. package/dist/src/core/lib/glm/vec4.js +608 -0
  71. package/dist/src/core/lib/glm/vec4.js.map +1 -0
  72. package/dist/src/core/lib/textureSvg.js +1 -1
  73. package/dist/src/core/lib/textureSvg.js.map +1 -1
  74. package/dist/src/core/renderers/CoreShaderManager.d.ts +19 -0
  75. package/dist/src/core/renderers/CoreShaderManager.js +33 -0
  76. package/dist/src/core/renderers/CoreShaderManager.js.map +1 -0
  77. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js +4 -2
  78. package/dist/src/core/renderers/canvas/CanvasCoreRenderer.js.map +1 -1
  79. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +4 -4
  80. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  81. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +9 -12
  82. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  83. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +27 -0
  84. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +82 -0
  85. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +1 -0
  86. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +11 -0
  87. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +34 -0
  88. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +1 -0
  89. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  90. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  91. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  92. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  93. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  94. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  95. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  96. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  97. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  98. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  99. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  100. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  101. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  102. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  103. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  104. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  105. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  106. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  107. package/dist/src/core/scene/Scene.d.ts +59 -0
  108. package/dist/src/core/scene/Scene.js +106 -0
  109. package/dist/src/core/scene/Scene.js.map +1 -0
  110. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +20 -0
  111. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +55 -0
  112. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +1 -0
  113. package/dist/src/core/textures/ColorTexture.js +1 -1
  114. package/dist/src/core/textures/ColorTexture.js.map +1 -1
  115. package/dist/src/core/textures/ImageTexture.js +3 -3
  116. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  117. package/dist/src/core/textures/NoiseTexture.js +1 -1
  118. package/dist/src/core/textures/NoiseTexture.js.map +1 -1
  119. package/dist/src/core/textures/RenderTexture.js +1 -1
  120. package/dist/src/core/textures/RenderTexture.js.map +1 -1
  121. package/dist/src/core/textures/SubTexture.d.ts +4 -0
  122. package/dist/src/core/textures/SubTexture.js +54 -16
  123. package/dist/src/core/textures/SubTexture.js.map +1 -1
  124. package/dist/src/core/textures/Texture.d.ts +2 -34
  125. package/dist/src/core/textures/Texture.js +13 -69
  126. package/dist/src/core/textures/Texture.js.map +1 -1
  127. package/dist/src/main-api/ICoreDriver.d.ts +27 -0
  128. package/dist/src/main-api/ICoreDriver.js +20 -0
  129. package/dist/src/main-api/ICoreDriver.js.map +1 -0
  130. package/dist/src/main-api/IRenderDriver.d.ts +20 -0
  131. package/dist/src/main-api/IRenderDriver.js +20 -0
  132. package/dist/src/main-api/IRenderDriver.js.map +1 -0
  133. package/dist/src/main-api/IShaderController.d.ts +14 -0
  134. package/dist/src/main-api/IShaderController.js +30 -0
  135. package/dist/src/main-api/IShaderController.js.map +1 -0
  136. package/dist/src/main-api/IShaderNode.d.ts +17 -0
  137. package/dist/src/main-api/IShaderNode.js +19 -0
  138. package/dist/src/main-api/IShaderNode.js.map +1 -0
  139. package/dist/src/main-api/Renderer.js +1 -0
  140. package/dist/src/main-api/Renderer.js.map +1 -1
  141. package/dist/src/main-api/RendererMain.d.ts +375 -0
  142. package/dist/src/main-api/RendererMain.js +365 -0
  143. package/dist/src/main-api/RendererMain.js.map +1 -0
  144. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +9 -0
  145. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +38 -0
  146. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +1 -0
  147. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +56 -0
  148. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +101 -0
  149. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +1 -0
  150. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +32 -0
  151. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +28 -0
  152. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +1 -0
  153. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +24 -0
  154. package/dist/src/render-drivers/main/MainCoreDriver.js +118 -0
  155. package/dist/src/render-drivers/main/MainCoreDriver.js.map +1 -0
  156. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +99 -0
  157. package/dist/src/render-drivers/main/MainOnlyNode.js +396 -0
  158. package/dist/src/render-drivers/main/MainOnlyNode.js.map +1 -0
  159. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +6 -0
  160. package/dist/src/render-drivers/main/MainOnlyShaderController.js +15 -0
  161. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +1 -0
  162. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +7 -0
  163. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +34 -0
  164. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +1 -0
  165. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +47 -0
  166. package/dist/src/render-drivers/main/MainOnlyTextNode.js +205 -0
  167. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +1 -0
  168. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +17 -0
  169. package/dist/src/render-drivers/main/MainRenderDriver.js +88 -0
  170. package/dist/src/render-drivers/main/MainRenderDriver.js.map +1 -0
  171. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +90 -0
  172. package/dist/src/render-drivers/threadx/NodeStruct.js +281 -0
  173. package/dist/src/render-drivers/threadx/NodeStruct.js.map +1 -0
  174. package/dist/src/render-drivers/threadx/SharedNode.d.ts +39 -0
  175. package/dist/src/render-drivers/threadx/SharedNode.js +60 -0
  176. package/dist/src/render-drivers/threadx/SharedNode.js.map +1 -0
  177. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +44 -0
  178. package/dist/src/render-drivers/threadx/TextNodeStruct.js +201 -0
  179. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +1 -0
  180. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +28 -0
  181. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +234 -0
  182. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +1 -0
  183. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +20 -0
  184. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +84 -0
  185. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -0
  186. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +44 -0
  187. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +154 -0
  188. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +1 -0
  189. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +6 -0
  190. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +16 -0
  191. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +1 -0
  192. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +7 -0
  193. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +15 -0
  194. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +1 -0
  195. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +28 -0
  196. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +55 -0
  197. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +1 -0
  198. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +21 -0
  199. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +198 -0
  200. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +1 -0
  201. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +70 -0
  202. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +32 -0
  203. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +1 -0
  204. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +19 -0
  205. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +177 -0
  206. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -0
  207. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +27 -0
  208. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +108 -0
  209. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +1 -0
  210. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +1 -0
  211. package/dist/src/render-drivers/threadx/worker/renderer.js +145 -0
  212. package/dist/src/render-drivers/threadx/worker/renderer.js.map +1 -0
  213. package/dist/src/render-drivers/utils.d.ts +12 -0
  214. package/dist/src/render-drivers/utils.js +69 -0
  215. package/dist/src/render-drivers/utils.js.map +1 -0
  216. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  217. package/exports/canvas.ts +39 -39
  218. package/exports/index.ts +89 -89
  219. package/exports/inspector.ts +24 -24
  220. package/exports/utils.ts +44 -44
  221. package/exports/webgl.ts +38 -38
  222. package/package.json +2 -1
  223. package/scripts/please-use-pnpm.js +13 -13
  224. package/src/common/CommonTypes.ts +139 -139
  225. package/src/common/EventEmitter.ts +77 -77
  226. package/src/common/IAnimationController.ts +92 -92
  227. package/src/common/IEventEmitter.ts +28 -28
  228. package/src/core/CoreNode.test.ts +199 -199
  229. package/src/core/CoreNode.ts +2335 -2335
  230. package/src/core/CoreShaderManager.ts +292 -292
  231. package/src/core/CoreTextNode.ts +455 -455
  232. package/src/core/CoreTextureManager.ts +561 -545
  233. package/src/core/Stage.ts +700 -700
  234. package/src/core/TextureMemoryManager.ts +292 -277
  235. package/src/core/animations/AnimationManager.ts +38 -38
  236. package/src/core/animations/CoreAnimation.ts +340 -340
  237. package/src/core/animations/CoreAnimationController.ts +157 -157
  238. package/src/core/lib/ContextSpy.ts +41 -41
  239. package/src/core/lib/ImageWorker.ts +270 -270
  240. package/src/core/lib/Matrix3d.ts +244 -244
  241. package/src/core/lib/RenderCoords.ts +86 -86
  242. package/src/core/lib/WebGlContextWrapper.ts +1322 -1322
  243. package/src/core/lib/textureCompression.ts +152 -152
  244. package/src/core/lib/textureSvg.ts +78 -78
  245. package/src/core/lib/utils.ts +310 -310
  246. package/src/core/platform.ts +61 -61
  247. package/src/core/renderers/CoreContextTexture.ts +43 -43
  248. package/src/core/renderers/CoreRenderOp.ts +22 -22
  249. package/src/core/renderers/CoreRenderer.ts +114 -114
  250. package/src/core/renderers/CoreShader.ts +41 -41
  251. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +371 -369
  252. package/src/core/renderers/canvas/CanvasCoreTexture.ts +150 -150
  253. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  254. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  255. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  256. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +79 -79
  257. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  258. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +295 -298
  259. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  260. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +805 -805
  261. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  262. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  263. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  264. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  265. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  266. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  267. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  268. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  269. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  270. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  271. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  272. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  273. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  274. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  275. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  276. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  277. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  278. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  279. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  280. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  281. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  282. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  283. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  284. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  285. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  286. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  287. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  288. package/src/core/text-rendering/TrFontManager.ts +183 -183
  289. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  290. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  291. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  292. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  293. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  294. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  295. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  296. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  297. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  298. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  299. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  300. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  301. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  302. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  303. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  304. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  305. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  306. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  307. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  308. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  309. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  310. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  311. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  312. package/src/core/textures/ColorTexture.ts +102 -102
  313. package/src/core/textures/ImageTexture.ts +379 -379
  314. package/src/core/textures/NoiseTexture.ts +104 -104
  315. package/src/core/textures/RenderTexture.ts +85 -85
  316. package/src/core/textures/SubTexture.ts +225 -179
  317. package/src/core/textures/Texture.ts +347 -435
  318. package/src/core/utils.ts +227 -227
  319. package/src/env.d.ts +7 -7
  320. package/src/main-api/DynamicShaderController.ts +104 -104
  321. package/src/main-api/INode.ts +101 -101
  322. package/src/main-api/Inspector.ts +505 -505
  323. package/src/main-api/Renderer.ts +698 -694
  324. package/src/main-api/ShaderController.ts +80 -80
  325. package/src/main-api/utils.ts +45 -45
  326. package/src/utils.ts +248 -248
  327. package/COPYING +0 -1
@@ -0,0 +1,138 @@
1
+ export {};
2
+ /*interface InstanceMap {
3
+ renderer: CoreRenderer;
4
+ effect: CoreEffect;
5
+ program: new () => void;
6
+ }
7
+
8
+ type WebGlInstanceMap = InstanceMap & {
9
+ renderer: WebGlCoreRenderer;
10
+ effect: WebGlEffect;
11
+ };
12
+
13
+ interface AdvEffectProp {
14
+ default: any;
15
+ isColor?: boolean;
16
+ validator?: (value: any) => any;
17
+ }
18
+
19
+ interface EffectProps {
20
+ [key: string]: any | AdvEffectProp;
21
+ }
22
+
23
+ type EffectDescriptor<Effect, Props> = Effect & {
24
+ props?: Props;
25
+ };
26
+
27
+ type InferEffectProps<T> = {
28
+ [K in keyof T]: T[K] extends AdvEffectProp ? T[K]['default'] : T[K];
29
+ };
30
+
31
+ interface CoreEffect {
32
+ props?: EffectProps;
33
+ update?: (ctx: unknown) => void;
34
+ }
35
+
36
+ type WebGlEffect = CoreEffect & {
37
+ fragment: string;
38
+ update?: (glw: WebGLRenderingContext) => void;
39
+ };
40
+
41
+ type StageOptions<Renderer extends InstanceMap> = {
42
+ renderEngine?: new () => Renderer['renderer'];
43
+ };
44
+
45
+ class Stage<RendererMap extends InstanceMap> {
46
+ fxManager: CoreFxManager<RendererMap>;
47
+ constructor(options: StageOptions<RendererMap>) {
48
+ this.fxManager = new CoreFxManager();
49
+ const renderer = new options.renderEngine();
50
+ }
51
+
52
+ createShader<Effect extends RendererMap['effect'], Props>(
53
+ effect: EffectDescriptor<Effect, Props>,
54
+ props?: InferEffectProps<Props>
55
+ ): EffectNode<Effect, Props> {
56
+ return this.fxManager.createShader(effect, props);
57
+ }
58
+ }
59
+
60
+ class CoreRenderer {
61
+ mode = 'core';
62
+ }
63
+
64
+ class WebGlCoreRenderer extends CoreRenderer {
65
+ override mode = 'webgl';
66
+ }
67
+
68
+ class CanvasCoreRenderer extends CoreRenderer {
69
+ override mode = 'canvas';
70
+ }
71
+
72
+ class CoreFxManager<RendererMap extends InstanceMap> {
73
+ fxCache: Map<string, RendererMap['effect']> = new Map();
74
+
75
+ resolveProps(defaultProps?: EffectProps, props?: EffectProps) {
76
+ if(defaultProps !== undefined) {
77
+ props = props ?? {}
78
+ const keys = Object.keys(defaultProps);
79
+ const l = keys.length;
80
+ for(let i = 0; i < l; i++) {
81
+ if(props[keys[i]] === undefined) {
82
+ props[keys[i]] = defaultProps[keys[i]].default || defaultProps[keys[i]]
83
+ }
84
+ }
85
+ }
86
+ }
87
+
88
+ createShader<Effect extends RendererMap['effect'], Props>(
89
+ effect: EffectDescriptor<Effect, Props>,
90
+ props?: InferEffectProps<Props>
91
+ ): EffectNode<Effect, Props> {
92
+
93
+ // const f = JSON.stringify(effect);
94
+ // if (this.fxCache.has(f)) {
95
+ // console.log('already has this effect');
96
+ // } else {
97
+ // console.log('create new effect program');
98
+ // this.fxCache.set(f, effect);
99
+ // }
100
+
101
+ return new EffectNode<Effect, Props>(effect, WebGlCoreRenderer, props);
102
+ }
103
+ }
104
+
105
+ class EffectNode<Effect extends CoreEffect, Props extends EffectProps> {
106
+ #data: Record<string, any> | undefined = undefined;
107
+ constructor(
108
+ readonly type: Effect,
109
+ readonly program: new () => void,
110
+ props?: InferEffectProps<Props>
111
+ ) {
112
+ this.#data = props;
113
+ }
114
+ }
115
+
116
+ const stage = new Stage<WebGlInstanceMap>({
117
+ renderEngine: CanvasCoreRenderer,
118
+ });
119
+
120
+ stage.createShader(
121
+ {
122
+ props: {
123
+ radius: 10,
124
+ },
125
+ fragment: '',
126
+ },
127
+ {
128
+ radius: 30,
129
+ }
130
+ );
131
+
132
+ stage.createShader({
133
+ props: {
134
+ radius: 10,
135
+ },
136
+ fragment: '',
137
+ });*/
138
+ //# sourceMappingURL=CoreStuff.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CoreStuff.js","sourceRoot":"","sources":["../../../src/core/CoreStuff.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuIK"}
@@ -7,6 +7,7 @@ import { SubTexture } from './textures/SubTexture.js';
7
7
  import { RenderTexture } from './textures/RenderTexture.js';
8
8
  import type { Texture } from './textures/Texture.js';
9
9
  import { EventEmitter } from '../common/EventEmitter.js';
10
+ import type { Stage } from './Stage.js';
10
11
  /**
11
12
  * Augmentable map of texture class types
12
13
  *
@@ -142,6 +143,7 @@ export declare class CoreTextureManager extends EventEmitter {
142
143
  private priorityQueue;
143
144
  private uploadTextureQueue;
144
145
  private initialized;
146
+ private stage;
145
147
  imageWorkerManager: ImageWorkerManager | null;
146
148
  hasCreateImageBitmap: boolean;
147
149
  imageBitmapSupported: {
@@ -168,7 +170,7 @@ export declare class CoreTextureManager extends EventEmitter {
168
170
  * Set by stage via `updateFrameTime` method.
169
171
  */
170
172
  frameTime: number;
171
- constructor(numImageWorkers: number);
173
+ constructor(stage: Stage, numImageWorkers: number);
172
174
  private validateCreateImageBitmap;
173
175
  registerTextureType<Type extends keyof TextureMap>(textureType: Type, textureClass: TextureMap[Type]): void;
174
176
  /**
@@ -188,6 +190,7 @@ export declare class CoreTextureManager extends EventEmitter {
188
190
  * @param props - The properties to use for the texture
189
191
  */
190
192
  createTexture<Type extends keyof TextureMap>(textureType: Type, props: ExtractProps<TextureMap[Type]>): InstanceType<TextureMap[Type]>;
193
+ orphanTexture(texture: Texture): void;
191
194
  /**
192
195
  * Override loadTexture to use the batched approach.
193
196
  *
@@ -41,6 +41,7 @@ export class CoreTextureManager extends EventEmitter {
41
41
  priorityQueue = [];
42
42
  uploadTextureQueue = [];
43
43
  initialized = false;
44
+ stage;
44
45
  imageWorkerManager = null;
45
46
  hasCreateImageBitmap = !!self.createImageBitmap;
46
47
  imageBitmapSupported = {
@@ -67,8 +68,9 @@ export class CoreTextureManager extends EventEmitter {
67
68
  * Set by stage via `updateFrameTime` method.
68
69
  */
69
70
  frameTime = 0;
70
- constructor(numImageWorkers) {
71
+ constructor(stage, numImageWorkers) {
71
72
  super();
73
+ this.stage = stage;
72
74
  this.validateCreateImageBitmap()
73
75
  .then((result) => {
74
76
  this.hasCreateImageBitmap =
@@ -214,6 +216,9 @@ export class CoreTextureManager extends EventEmitter {
214
216
  }
215
217
  return texture;
216
218
  }
219
+ orphanTexture(texture) {
220
+ this.stage.txMemManager.addToOrphanedTextures(texture);
221
+ }
217
222
  /**
218
223
  * Override loadTexture to use the batched approach.
219
224
  *
@@ -221,11 +226,11 @@ export class CoreTextureManager extends EventEmitter {
221
226
  * @param immediate - Whether to prioritize the texture for immediate loading
222
227
  */
223
228
  loadTexture(texture, priority) {
229
+ this.stage.txMemManager.removeFromOrphanedTextures(texture);
224
230
  if (texture.state === 'loaded' || texture.state === 'loading') {
225
231
  return;
226
232
  }
227
- texture.setSourceState('loading');
228
- texture.setCoreCtxState('loading');
233
+ texture.setState('loading');
229
234
  // if we're not initialized, just queue the texture into the priority queue
230
235
  if (this.initialized === false) {
231
236
  this.priorityQueue.push(texture);
@@ -270,6 +275,9 @@ export class CoreTextureManager extends EventEmitter {
270
275
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
271
276
  const texture = this.priorityQueue.shift();
272
277
  texture.getTextureData().then(() => {
278
+ if (texture.state === 'failed') {
279
+ return;
280
+ }
273
281
  this.uploadTexture(texture);
274
282
  });
275
283
  }
@@ -286,6 +294,9 @@ export class CoreTextureManager extends EventEmitter {
286
294
  const texture = this.downloadTextureSourceQueue.shift();
287
295
  queueMicrotask(() => {
288
296
  texture.getTextureData().then(() => {
297
+ if (texture.state === 'failed') {
298
+ return;
299
+ }
289
300
  this.enqueueUploadTexture(texture);
290
301
  });
291
302
  });
@@ -1 +1 @@
1
- {"version":3,"file":"CoreTextureManager.js","sourceRoot":"","sources":["../../../src/core/CoreTextureManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"CoreTextureManager.js","sourceRoot":"","sources":["../../../src/core/CoreTextureManager.ts"],"names":[],"mappings":"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"}