@lightningjs/renderer 3.0.0-beta5 → 3.0.0-beta7

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 (370) 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 +15 -16
  6. package/dist/src/core/CoreNode.js +41 -37
  7. package/dist/src/core/CoreNode.js.map +1 -1
  8. package/dist/src/core/CoreTextNode.js +0 -1
  9. package/dist/src/core/CoreTextNode.js.map +1 -1
  10. package/dist/src/core/CoreTextureManager.js +10 -5
  11. package/dist/src/core/CoreTextureManager.js.map +1 -1
  12. package/dist/src/core/Stage.d.ts +16 -0
  13. package/dist/src/core/Stage.js +39 -3
  14. package/dist/src/core/Stage.js.map +1 -1
  15. package/dist/src/core/TextureMemoryManager.js +3 -4
  16. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  17. package/dist/src/core/lib/ImageWorker.js +1 -1
  18. package/dist/src/core/lib/ImageWorker.js.map +1 -1
  19. package/dist/src/core/lib/utils.d.ts +1 -0
  20. package/dist/src/core/lib/utils.js +3 -0
  21. package/dist/src/core/lib/utils.js.map +1 -1
  22. package/dist/src/core/renderers/CoreRenderer.d.ts +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +1 -1
  24. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +1 -1
  25. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +1 -2
  26. package/dist/src/core/renderers/webgl/WebGlRenderer.js +1 -3
  27. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +1 -1
  28. package/dist/src/core/renderers/webgl/internal/ShaderUtils.js +35 -35
  29. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  30. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  31. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  32. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  33. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  34. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  35. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  36. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  37. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  38. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  39. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  40. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  41. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  42. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  43. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  44. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  45. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  46. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  47. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +8 -2
  48. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +1 -1
  49. package/dist/src/core/shaders/webgl/Border.js +86 -63
  50. package/dist/src/core/shaders/webgl/Border.js.map +1 -1
  51. package/dist/src/core/shaders/webgl/Default.js +47 -47
  52. package/dist/src/core/shaders/webgl/DefaultBatched.js +61 -61
  53. package/dist/src/core/shaders/webgl/HolePunch.js +32 -32
  54. package/dist/src/core/shaders/webgl/LinearGradient.js +36 -36
  55. package/dist/src/core/shaders/webgl/RadialGradient.js +33 -33
  56. package/dist/src/core/shaders/webgl/Rounded.js +71 -71
  57. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +104 -72
  58. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +1 -1
  59. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +123 -86
  60. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +1 -1
  61. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +54 -54
  62. package/dist/src/core/shaders/webgl/SdfShader.js +62 -62
  63. package/dist/src/core/shaders/webgl/Shadow.js +83 -83
  64. package/dist/src/core/temp.js +77 -0
  65. package/dist/src/core/temp.js.map +1 -0
  66. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js +3 -1
  67. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js.map +1 -1
  68. package/dist/src/core/textures/ImageTexture.js +5 -0
  69. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  70. package/dist/src/main-api/Inspector.js +1 -1
  71. package/dist/src/main-api/Inspector.js.map +1 -1
  72. package/dist/src/main-api/Renderer.js +3 -4
  73. package/dist/src/main-api/Renderer.js.map +1 -1
  74. package/dist/src/utils.d.ts +1 -6
  75. package/dist/src/utils.js +2 -9
  76. package/dist/src/utils.js.map +1 -1
  77. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  78. package/exports/canvas-shaders.ts +28 -28
  79. package/exports/canvas.ts +45 -45
  80. package/exports/index.ts +90 -90
  81. package/exports/inspector.ts +24 -24
  82. package/exports/utils.ts +44 -44
  83. package/exports/webgl-shaders.ts +28 -28
  84. package/exports/webgl.ts +50 -50
  85. package/package.json +1 -3
  86. package/src/common/CommonTypes.ts +146 -146
  87. package/src/common/EventEmitter.ts +77 -77
  88. package/src/common/IAnimationController.ts +92 -92
  89. package/src/common/IEventEmitter.ts +28 -28
  90. package/src/core/CoreNode.test.ts +202 -203
  91. package/src/core/CoreNode.ts +2495 -2494
  92. package/src/core/CoreShaderManager.ts +188 -188
  93. package/src/core/CoreTextNode.ts +448 -449
  94. package/src/core/CoreTextureManager.ts +607 -601
  95. package/src/core/Stage.ts +797 -754
  96. package/src/core/TextureMemoryManager.ts +394 -395
  97. package/src/core/animations/AnimationManager.ts +38 -38
  98. package/src/core/animations/CoreAnimation.ts +284 -284
  99. package/src/core/animations/CoreAnimationController.ts +157 -157
  100. package/src/core/lib/ContextSpy.ts +41 -41
  101. package/src/core/lib/ImageWorker.ts +286 -280
  102. package/src/core/lib/Matrix3d.ts +244 -244
  103. package/src/core/lib/RenderCoords.ts +71 -71
  104. package/src/core/lib/WebGlContextWrapper.ts +1374 -1374
  105. package/src/core/lib/textureCompression.ts +152 -152
  106. package/src/core/lib/textureSvg.ts +78 -78
  107. package/src/core/lib/utils.ts +390 -386
  108. package/src/core/lib/validateImageBitmap.ts +87 -87
  109. package/src/core/platforms/Platform.ts +77 -77
  110. package/src/core/platforms/web/WebPlatform.ts +84 -84
  111. package/src/core/renderers/CoreContextTexture.ts +43 -43
  112. package/src/core/renderers/CoreRenderOp.ts +22 -22
  113. package/src/core/renderers/CoreRenderer.ts +109 -109
  114. package/src/core/renderers/CoreShaderNode.ts +165 -165
  115. package/src/core/renderers/CoreShaderProgram.ts +23 -23
  116. package/src/core/renderers/canvas/CanvasRenderer.ts +298 -298
  117. package/src/core/renderers/canvas/CanvasShaderNode.ts +99 -99
  118. package/src/core/renderers/canvas/CanvasTexture.ts +156 -156
  119. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +220 -220
  120. package/src/core/renderers/canvas/internal/ColorUtils.ts +85 -85
  121. package/src/core/renderers/webgl/WebGlCtxRenderTexture.ts +86 -86
  122. package/src/core/renderers/webgl/WebGlCtxSubTexture.ts +50 -50
  123. package/src/core/renderers/webgl/WebGlCtxTexture.ts +301 -301
  124. package/src/core/renderers/webgl/WebGlRenderOp.ts +161 -161
  125. package/src/core/renderers/webgl/WebGlRenderer.ts +748 -750
  126. package/src/core/renderers/webgl/WebGlShaderNode.ts +437 -437
  127. package/src/core/renderers/webgl/WebGlShaderProgram.ts +318 -318
  128. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  129. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  130. package/src/core/renderers/webgl/internal/ShaderUtils.ts +281 -281
  131. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  132. package/src/core/shaders/canvas/Border.ts +78 -78
  133. package/src/core/shaders/canvas/HolePunch.ts +62 -62
  134. package/src/core/shaders/canvas/LinearGradient.ts +69 -69
  135. package/src/core/shaders/canvas/RadialGradient.ts +113 -113
  136. package/src/core/shaders/canvas/Rounded.ts +55 -55
  137. package/src/core/shaders/canvas/RoundedWithBorder.ts +72 -68
  138. package/src/core/shaders/canvas/RoundedWithBorderAndShadow.ts +88 -88
  139. package/src/core/shaders/canvas/RoundedWithShadow.ts +69 -69
  140. package/src/core/shaders/canvas/Shadow.ts +52 -52
  141. package/src/core/shaders/canvas/utils/render.ts +151 -151
  142. package/src/core/shaders/templates/BorderTemplate.ts +115 -115
  143. package/src/core/shaders/templates/HolePunchTemplate.ts +82 -82
  144. package/src/core/shaders/templates/LinearGradientTemplate.ts +71 -71
  145. package/src/core/shaders/templates/RadialGradientTemplate.ts +81 -81
  146. package/src/core/shaders/templates/RoundedTemplate.ts +98 -98
  147. package/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.ts +38 -38
  148. package/src/core/shaders/templates/RoundedWithBorderTemplate.ts +35 -35
  149. package/src/core/shaders/templates/RoundedWithShadowTemplate.ts +35 -35
  150. package/src/core/shaders/templates/ShadowTemplate.ts +106 -106
  151. package/src/core/shaders/templates/shaderUtils.ts +47 -47
  152. package/src/core/shaders/webgl/Border.ts +116 -96
  153. package/src/core/shaders/webgl/Default.ts +89 -89
  154. package/src/core/shaders/webgl/DefaultBatched.ts +129 -129
  155. package/src/core/shaders/webgl/HolePunch.ts +78 -78
  156. package/src/core/shaders/webgl/LinearGradient.ts +81 -81
  157. package/src/core/shaders/webgl/RadialGradient.ts +84 -84
  158. package/src/core/shaders/webgl/Rounded.ts +117 -117
  159. package/src/core/shaders/webgl/RoundedWithBorder.ts +144 -114
  160. package/src/core/shaders/webgl/RoundedWithBorderAndShadow.ts +166 -133
  161. package/src/core/shaders/webgl/RoundedWithShadow.ts +98 -98
  162. package/src/core/shaders/webgl/SdfShader.ts +134 -134
  163. package/src/core/shaders/webgl/Shadow.ts +115 -115
  164. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  165. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  166. package/src/core/text-rendering/TrFontManager.ts +183 -183
  167. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  168. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  169. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  170. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  171. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  172. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  173. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  174. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +514 -514
  175. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +863 -863
  176. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +849 -846
  177. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  178. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  179. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  180. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  181. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  182. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  183. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  184. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +497 -497
  185. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  186. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  187. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  188. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  189. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  190. package/src/core/text-rendering/renderers/TextRenderer.ts +567 -567
  191. package/src/core/textures/ColorTexture.ts +102 -102
  192. package/src/core/textures/ImageTexture.ts +417 -410
  193. package/src/core/textures/NoiseTexture.ts +104 -104
  194. package/src/core/textures/RenderTexture.ts +85 -85
  195. package/src/core/textures/SubTexture.ts +205 -205
  196. package/src/core/textures/Texture.ts +358 -358
  197. package/src/core/utils.ts +227 -227
  198. package/src/env.d.ts +7 -7
  199. package/src/main-api/INode.ts +100 -100
  200. package/src/main-api/Inspector.ts +522 -522
  201. package/src/main-api/Renderer.ts +673 -675
  202. package/src/main-api/utils.ts +45 -45
  203. package/src/utils.ts +267 -267
  204. package/dist/exports/core-api.d.ts +0 -74
  205. package/dist/exports/core-api.js +0 -96
  206. package/dist/exports/core-api.js.map +0 -1
  207. package/dist/exports/main-api.d.ts +0 -30
  208. package/dist/exports/main-api.js +0 -45
  209. package/dist/exports/main-api.js.map +0 -1
  210. package/dist/src/core/CoreExtension.d.ts +0 -12
  211. package/dist/src/core/CoreExtension.js +0 -29
  212. package/dist/src/core/CoreExtension.js.map +0 -1
  213. package/dist/src/core/CoreStuff.js +0 -138
  214. package/dist/src/core/CoreStuff.js.map +0 -1
  215. package/dist/src/core/CoreTexturizer.d.ts +0 -14
  216. package/dist/src/core/CoreTexturizer.js +0 -47
  217. package/dist/src/core/CoreTexturizer.js.map +0 -1
  218. package/dist/src/core/LngNode.d.ts +0 -736
  219. package/dist/src/core/LngNode.js +0 -1174
  220. package/dist/src/core/LngNode.js.map +0 -1
  221. package/dist/src/core/Matrix2DContext.d.ts +0 -15
  222. package/dist/src/core/Matrix2DContext.js +0 -45
  223. package/dist/src/core/Matrix2DContext.js.map +0 -1
  224. package/dist/src/core/ShaderNode.d.ts +0 -10
  225. package/dist/src/core/ShaderNode.js +0 -30
  226. package/dist/src/core/ShaderNode.js.map +0 -1
  227. package/dist/src/core/TextNode.d.ts +0 -103
  228. package/dist/src/core/TextNode.js +0 -331
  229. package/dist/src/core/TextNode.js.map +0 -1
  230. package/dist/src/core/lib/Coords.d.ts +0 -14
  231. package/dist/src/core/lib/Coords.js +0 -55
  232. package/dist/src/core/lib/Coords.js.map +0 -1
  233. package/dist/src/core/lib/glm/common.d.ts +0 -162
  234. package/dist/src/core/lib/glm/common.js +0 -81
  235. package/dist/src/core/lib/glm/common.js.map +0 -1
  236. package/dist/src/core/lib/glm/index.d.ts +0 -11
  237. package/dist/src/core/lib/glm/index.js +0 -30
  238. package/dist/src/core/lib/glm/index.js.map +0 -1
  239. package/dist/src/core/lib/glm/mat2.d.ts +0 -219
  240. package/dist/src/core/lib/glm/mat2.js +0 -396
  241. package/dist/src/core/lib/glm/mat2.js.map +0 -1
  242. package/dist/src/core/lib/glm/mat2d.d.ts +0 -237
  243. package/dist/src/core/lib/glm/mat2d.js +0 -442
  244. package/dist/src/core/lib/glm/mat2d.js.map +0 -1
  245. package/dist/src/core/lib/glm/mat3.d.ts +0 -283
  246. package/dist/src/core/lib/glm/mat3.js +0 -680
  247. package/dist/src/core/lib/glm/mat3.js.map +0 -1
  248. package/dist/src/core/lib/glm/mat4.d.ts +0 -550
  249. package/dist/src/core/lib/glm/mat4.js +0 -1802
  250. package/dist/src/core/lib/glm/mat4.js.map +0 -1
  251. package/dist/src/core/lib/glm/quat.d.ts +0 -363
  252. package/dist/src/core/lib/glm/quat.js +0 -693
  253. package/dist/src/core/lib/glm/quat.js.map +0 -1
  254. package/dist/src/core/lib/glm/quat2.d.ts +0 -356
  255. package/dist/src/core/lib/glm/quat2.js +0 -754
  256. package/dist/src/core/lib/glm/quat2.js.map +0 -1
  257. package/dist/src/core/lib/glm/vec2.d.ts +0 -365
  258. package/dist/src/core/lib/glm/vec2.js +0 -569
  259. package/dist/src/core/lib/glm/vec2.js.map +0 -1
  260. package/dist/src/core/lib/glm/vec3.d.ts +0 -406
  261. package/dist/src/core/lib/glm/vec3.js +0 -720
  262. package/dist/src/core/lib/glm/vec3.js.map +0 -1
  263. package/dist/src/core/lib/glm/vec4.d.ts +0 -330
  264. package/dist/src/core/lib/glm/vec4.js +0 -608
  265. package/dist/src/core/lib/glm/vec4.js.map +0 -1
  266. package/dist/src/core/renderers/CoreShaderManager.d.ts +0 -19
  267. package/dist/src/core/renderers/CoreShaderManager.js +0 -33
  268. package/dist/src/core/renderers/CoreShaderManager.js.map +0 -1
  269. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.d.ts +0 -27
  270. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js +0 -82
  271. package/dist/src/core/renderers/webgl/WebGlCoreShaderManager.js.map +0 -1
  272. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.d.ts +0 -11
  273. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js +0 -34
  274. package/dist/src/core/renderers/webgl/WebGlCoreShaderProgram.js.map +0 -1
  275. package/dist/src/core/scene/Scene.d.ts +0 -59
  276. package/dist/src/core/scene/Scene.js +0 -106
  277. package/dist/src/core/scene/Scene.js.map +0 -1
  278. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
  279. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
  280. package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
  281. package/dist/src/main-api/ICoreDriver.d.ts +0 -27
  282. package/dist/src/main-api/ICoreDriver.js +0 -20
  283. package/dist/src/main-api/ICoreDriver.js.map +0 -1
  284. package/dist/src/main-api/IRenderDriver.d.ts +0 -20
  285. package/dist/src/main-api/IRenderDriver.js +0 -20
  286. package/dist/src/main-api/IRenderDriver.js.map +0 -1
  287. package/dist/src/main-api/IShaderController.d.ts +0 -14
  288. package/dist/src/main-api/IShaderController.js +0 -30
  289. package/dist/src/main-api/IShaderController.js.map +0 -1
  290. package/dist/src/main-api/IShaderNode.d.ts +0 -17
  291. package/dist/src/main-api/IShaderNode.js +0 -19
  292. package/dist/src/main-api/IShaderNode.js.map +0 -1
  293. package/dist/src/main-api/RendererMain.d.ts +0 -375
  294. package/dist/src/main-api/RendererMain.js +0 -365
  295. package/dist/src/main-api/RendererMain.js.map +0 -1
  296. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.d.ts +0 -9
  297. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js +0 -38
  298. package/dist/src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js.map +0 -1
  299. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.d.ts +0 -56
  300. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js +0 -101
  301. package/dist/src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.js.map +0 -1
  302. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.d.ts +0 -32
  303. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js +0 -28
  304. package/dist/src/main-api/texture-usage-trackers/TextureUsageTracker.js.map +0 -1
  305. package/dist/src/render-drivers/main/MainCoreDriver.d.ts +0 -24
  306. package/dist/src/render-drivers/main/MainCoreDriver.js +0 -118
  307. package/dist/src/render-drivers/main/MainCoreDriver.js.map +0 -1
  308. package/dist/src/render-drivers/main/MainOnlyNode.d.ts +0 -99
  309. package/dist/src/render-drivers/main/MainOnlyNode.js +0 -396
  310. package/dist/src/render-drivers/main/MainOnlyNode.js.map +0 -1
  311. package/dist/src/render-drivers/main/MainOnlyShaderController.d.ts +0 -6
  312. package/dist/src/render-drivers/main/MainOnlyShaderController.js +0 -15
  313. package/dist/src/render-drivers/main/MainOnlyShaderController.js.map +0 -1
  314. package/dist/src/render-drivers/main/MainOnlyShaderNode.d.ts +0 -7
  315. package/dist/src/render-drivers/main/MainOnlyShaderNode.js +0 -34
  316. package/dist/src/render-drivers/main/MainOnlyShaderNode.js.map +0 -1
  317. package/dist/src/render-drivers/main/MainOnlyTextNode.d.ts +0 -47
  318. package/dist/src/render-drivers/main/MainOnlyTextNode.js +0 -205
  319. package/dist/src/render-drivers/main/MainOnlyTextNode.js.map +0 -1
  320. package/dist/src/render-drivers/main/MainRenderDriver.d.ts +0 -17
  321. package/dist/src/render-drivers/main/MainRenderDriver.js +0 -88
  322. package/dist/src/render-drivers/main/MainRenderDriver.js.map +0 -1
  323. package/dist/src/render-drivers/threadx/NodeStruct.d.ts +0 -90
  324. package/dist/src/render-drivers/threadx/NodeStruct.js +0 -281
  325. package/dist/src/render-drivers/threadx/NodeStruct.js.map +0 -1
  326. package/dist/src/render-drivers/threadx/SharedNode.d.ts +0 -39
  327. package/dist/src/render-drivers/threadx/SharedNode.js +0 -60
  328. package/dist/src/render-drivers/threadx/SharedNode.js.map +0 -1
  329. package/dist/src/render-drivers/threadx/TextNodeStruct.d.ts +0 -44
  330. package/dist/src/render-drivers/threadx/TextNodeStruct.js +0 -201
  331. package/dist/src/render-drivers/threadx/TextNodeStruct.js.map +0 -1
  332. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.d.ts +0 -28
  333. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js +0 -234
  334. package/dist/src/render-drivers/threadx/ThreadXCoreDriver.js.map +0 -1
  335. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +0 -20
  336. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +0 -84
  337. package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +0 -1
  338. package/dist/src/render-drivers/threadx/ThreadXMainNode.d.ts +0 -44
  339. package/dist/src/render-drivers/threadx/ThreadXMainNode.js +0 -154
  340. package/dist/src/render-drivers/threadx/ThreadXMainNode.js.map +0 -1
  341. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.d.ts +0 -6
  342. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js +0 -16
  343. package/dist/src/render-drivers/threadx/ThreadXMainShaderController.js.map +0 -1
  344. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.d.ts +0 -7
  345. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js +0 -15
  346. package/dist/src/render-drivers/threadx/ThreadXMainShaderNode.js.map +0 -1
  347. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.d.ts +0 -28
  348. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js +0 -55
  349. package/dist/src/render-drivers/threadx/ThreadXMainTextNode.js.map +0 -1
  350. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.d.ts +0 -21
  351. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js +0 -198
  352. package/dist/src/render-drivers/threadx/ThreadXRenderDriver.js.map +0 -1
  353. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.d.ts +0 -70
  354. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js +0 -32
  355. package/dist/src/render-drivers/threadx/ThreadXRendererMessage.js.map +0 -1
  356. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.d.ts +0 -19
  357. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +0 -177
  358. package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +0 -1
  359. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.d.ts +0 -27
  360. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js +0 -108
  361. package/dist/src/render-drivers/threadx/worker/ThreadXRendererTextNode.js.map +0 -1
  362. package/dist/src/render-drivers/threadx/worker/renderer.d.ts +0 -1
  363. package/dist/src/render-drivers/threadx/worker/renderer.js +0 -145
  364. package/dist/src/render-drivers/threadx/worker/renderer.js.map +0 -1
  365. package/dist/src/render-drivers/utils.d.ts +0 -12
  366. package/dist/src/render-drivers/utils.js +0 -69
  367. package/dist/src/render-drivers/utils.js.map +0 -1
  368. package/scripts/please-use-pnpm.js +0 -13
  369. package/src/core/platform.ts +0 -64
  370. /package/dist/src/core/{CoreStuff.d.ts → temp.d.ts} +0 -0
@@ -1,365 +0,0 @@
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 { ManualCountTextureUsageTracker, } from './texture-usage-trackers/ManualCountTextureUsageTracker.js';
20
- import { FinalizationRegistryTextureUsageTracker } from './texture-usage-trackers/FinalizationRegistryTextureUsageTracker.js';
21
- import { EventEmitter } from '../common/EventEmitter.js';
22
- import { Inspector } from './Inspector.js';
23
- import { santizeCustomDataMap } from '../render-drivers/utils.js';
24
- import { isProductionEnvironment } from '../utils.js';
25
- /**
26
- * The Renderer Main API
27
- *
28
- * @remarks
29
- * This is the primary class used to configure and operate the Renderer.
30
- *
31
- * It is used to create and destroy Nodes, as well as Texture and Shader
32
- * references.
33
- *
34
- * Example:
35
- * ```ts
36
- * import { RendererMain, MainCoreDriver } from '@lightningjs/renderer';
37
- *
38
- * // Initialize the Renderer
39
- * const renderer = new RendererMain(
40
- * {
41
- * appWidth: 1920,
42
- * appHeight: 1080
43
- * },
44
- * 'app',
45
- * new MainCoreDriver(),
46
- * );
47
- * ```
48
- */
49
- export class RendererMain extends EventEmitter {
50
- root = null;
51
- driver;
52
- canvas;
53
- settings;
54
- inspector = null;
55
- nodes = new Map();
56
- nextTextureId = 1;
57
- /**
58
- * Texture Usage Tracker for Usage Based Texture Garbage Collection
59
- *
60
- * @remarks
61
- * For internal use only. DO NOT ACCESS.
62
- */
63
- textureTracker;
64
- /**
65
- * Constructs a new Renderer instance
66
- *
67
- * @param settings Renderer settings
68
- * @param target Element ID or HTMLElement to insert the canvas into
69
- * @param driver Core Driver to use
70
- */
71
- constructor(settings, target, driver) {
72
- super();
73
- const resolvedSettings = {
74
- appWidth: settings.appWidth || 1920,
75
- appHeight: settings.appHeight || 1080,
76
- txMemByteThreshold: settings.txMemByteThreshold || 124e6,
77
- boundsMargin: settings.boundsMargin || 0,
78
- deviceLogicalPixelRatio: settings.deviceLogicalPixelRatio || 1,
79
- devicePhysicalPixelRatio: settings.devicePhysicalPixelRatio || window.devicePixelRatio,
80
- clearColor: settings.clearColor ?? 0x00000000,
81
- coreExtensionModule: settings.coreExtensionModule || null,
82
- experimental_FinalizationRegistryTextureUsageTracker: settings.experimental_FinalizationRegistryTextureUsageTracker ?? false,
83
- textureCleanupOptions: settings.textureCleanupOptions || {},
84
- fpsUpdateInterval: settings.fpsUpdateInterval || 0,
85
- numImageWorkers: settings.numImageWorkers !== undefined ? settings.numImageWorkers : 2,
86
- enableContextSpy: settings.enableContextSpy ?? false,
87
- enableInspector: settings.enableInspector ?? false,
88
- };
89
- this.settings = resolvedSettings;
90
- const { appWidth, appHeight, deviceLogicalPixelRatio, devicePhysicalPixelRatio, enableInspector, } = resolvedSettings;
91
- const releaseCallback = (textureId) => {
92
- this.driver.releaseTexture(textureId);
93
- };
94
- const useFinalizationRegistryTracker = resolvedSettings.experimental_FinalizationRegistryTextureUsageTracker &&
95
- typeof FinalizationRegistry === 'function';
96
- this.textureTracker = useFinalizationRegistryTracker
97
- ? new FinalizationRegistryTextureUsageTracker(releaseCallback)
98
- : new ManualCountTextureUsageTracker(releaseCallback, this.settings.textureCleanupOptions);
99
- const deviceLogicalWidth = appWidth * deviceLogicalPixelRatio;
100
- const deviceLogicalHeight = appHeight * deviceLogicalPixelRatio;
101
- this.driver = driver;
102
- const canvas = document.createElement('canvas');
103
- this.canvas = canvas;
104
- canvas.width = deviceLogicalWidth * devicePhysicalPixelRatio;
105
- canvas.height = deviceLogicalHeight * devicePhysicalPixelRatio;
106
- canvas.style.width = `${deviceLogicalWidth}px`;
107
- canvas.style.height = `${deviceLogicalHeight}px`;
108
- let targetEl;
109
- if (typeof target === 'string') {
110
- targetEl = document.getElementById(target);
111
- }
112
- else {
113
- targetEl = target;
114
- }
115
- if (!targetEl) {
116
- throw new Error('Could not find target element');
117
- }
118
- // Hook up the driver's callbacks
119
- driver.onCreateNode = (node) => {
120
- this.nodes.set(node.id, node);
121
- };
122
- driver.onBeforeDestroyNode = (node) => {
123
- this.nodes.delete(node.id);
124
- };
125
- driver.onFpsUpdate = (fpsData) => {
126
- this.emit('fpsUpdate', fpsData);
127
- };
128
- driver.onFrameTick = (frameTickData) => {
129
- this.emit('frameTick', frameTickData);
130
- };
131
- driver.onIdle = () => {
132
- this.emit('idle');
133
- };
134
- targetEl.appendChild(canvas);
135
- if (enableInspector && !isProductionEnvironment()) {
136
- this.inspector = new Inspector(canvas, resolvedSettings);
137
- }
138
- }
139
- /**
140
- * Initialize the renderer
141
- *
142
- * @remarks
143
- * This method must be called and resolved asyncronously before any other
144
- * methods are called.
145
- */
146
- async init() {
147
- await this.driver.init(this, this.settings, this.canvas);
148
- // eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
149
- this.root = this.driver.getRootNode();
150
- }
151
- /**
152
- * Create a new scene graph node
153
- *
154
- * @remarks
155
- * A node is the main graphical building block of the Renderer scene graph. It
156
- * can be a container for other nodes, or it can be a leaf node that renders a
157
- * solid color, gradient, image, or specific texture, using a specific shader.
158
- *
159
- * To create a text node, see {@link createTextNode}.
160
- *
161
- * See {@link INode} for more details.
162
- *
163
- * @param props
164
- * @returns
165
- */
166
- createNode(props) {
167
- if (this.inspector) {
168
- return this.inspector.createNode(this.driver, this.resolveNodeDefaults(props));
169
- }
170
- return this.driver.createNode(this.resolveNodeDefaults(props));
171
- }
172
- /**
173
- * Create a new scene graph text node
174
- *
175
- * @remarks
176
- * A text node is the second graphical building block of the Renderer scene
177
- * graph. It renders text using a specific text renderer that is automatically
178
- * chosen based on the font requested and what type of fonts are installed
179
- * into an app via a CoreExtension.
180
- *
181
- * See {@link ITextNode} for more details.
182
- *
183
- * @param props
184
- * @returns
185
- */
186
- createTextNode(props) {
187
- const fontSize = props.fontSize ?? 16;
188
- const data = {
189
- ...this.resolveNodeDefaults(props),
190
- text: props.text ?? '',
191
- textRendererOverride: props.textRendererOverride ?? null,
192
- fontSize,
193
- fontFamily: props.fontFamily ?? 'sans-serif',
194
- fontStyle: props.fontStyle ?? 'normal',
195
- fontWeight: props.fontWeight ?? 'normal',
196
- fontStretch: props.fontStretch ?? 'normal',
197
- textAlign: props.textAlign ?? 'left',
198
- contain: props.contain ?? 'none',
199
- scrollable: props.scrollable ?? false,
200
- scrollY: props.scrollY ?? 0,
201
- offsetY: props.offsetY ?? 0,
202
- letterSpacing: props.letterSpacing ?? 0,
203
- lineHeight: props.lineHeight ?? fontSize,
204
- maxLines: props.maxLines ?? 0,
205
- textBaseline: props.textBaseline ?? 'alphabetic',
206
- verticalAlign: props.verticalAlign ?? 'top',
207
- overflowSuffix: props.overflowSuffix ?? '...',
208
- debug: props.debug ?? {},
209
- };
210
- if (this.inspector) {
211
- return this.inspector.createTextNode(this.driver, data);
212
- }
213
- return this.driver.createTextNode(data);
214
- }
215
- /**
216
- * Resolves the default property values for a Node
217
- *
218
- * @remarks
219
- * This method is used internally by the RendererMain to resolve the default
220
- * property values for a Node. It is exposed publicly so that it can be used
221
- * by Core Driver implementations.
222
- *
223
- * @param props
224
- * @returns
225
- */
226
- resolveNodeDefaults(props) {
227
- const color = props.color ?? 0xffffffff;
228
- const colorTl = props.colorTl ?? props.colorTop ?? props.colorLeft ?? color;
229
- const colorTr = props.colorTr ?? props.colorTop ?? props.colorRight ?? color;
230
- const colorBl = props.colorBl ?? props.colorBottom ?? props.colorLeft ?? color;
231
- const colorBr = props.colorBr ?? props.colorBottom ?? props.colorRight ?? color;
232
- const data = santizeCustomDataMap(props.data ?? {});
233
- return {
234
- x: props.x ?? 0,
235
- y: props.y ?? 0,
236
- width: props.width ?? 0,
237
- height: props.height ?? 0,
238
- alpha: props.alpha ?? 1,
239
- autosize: props.autosize ?? false,
240
- clipping: props.clipping ?? false,
241
- color,
242
- colorTop: props.colorTop ?? color,
243
- colorBottom: props.colorBottom ?? color,
244
- colorLeft: props.colorLeft ?? color,
245
- colorRight: props.colorRight ?? color,
246
- colorBl,
247
- colorBr,
248
- colorTl,
249
- colorTr,
250
- zIndex: props.zIndex ?? 0,
251
- zIndexLocked: props.zIndexLocked ?? 0,
252
- parent: props.parent ?? null,
253
- texture: props.texture ?? null,
254
- shader: props.shader ?? null,
255
- // Since setting the `src` will trigger a texture load, we need to set it after
256
- // we set the texture. Otherwise, problems happen.
257
- src: props.src ?? '',
258
- scale: props.scale ?? null,
259
- scaleX: props.scaleX ?? props.scale ?? 1,
260
- scaleY: props.scaleY ?? props.scale ?? 1,
261
- mount: props.mount ?? 0,
262
- mountX: props.mountX ?? props.mount ?? 0,
263
- mountY: props.mountY ?? props.mount ?? 0,
264
- pivot: props.pivot ?? 0.5,
265
- pivotX: props.pivotX ?? props.pivot ?? 0.5,
266
- pivotY: props.pivotY ?? props.pivot ?? 0.5,
267
- rotation: props.rotation ?? 0,
268
- data: data,
269
- };
270
- }
271
- /**
272
- * Destroy a node
273
- *
274
- * @remarks
275
- * This method destroys a node but does not destroy its children.
276
- *
277
- * @param node
278
- * @returns
279
- */
280
- destroyNode(node) {
281
- if (this.inspector) {
282
- this.inspector.destroyNode(node);
283
- }
284
- return this.driver.destroyNode(node);
285
- }
286
- /**
287
- * Create a new texture reference
288
- *
289
- * @remarks
290
- * This method creates a new reference to a texture. The texture is not
291
- * loaded until it is used on a node.
292
- *
293
- * It can be assigned to a node's `texture` property, or it can be used
294
- * when creating a SubTexture.
295
- *
296
- * @param textureType
297
- * @param props
298
- * @param options
299
- * @returns
300
- */
301
- createTexture(textureType, props, options) {
302
- const id = this.nextTextureId++;
303
- const desc = {
304
- descType: 'texture',
305
- txType: textureType,
306
- props,
307
- options: {
308
- ...options,
309
- // This ID is used to identify the texture in the CoreTextureManager's
310
- // ID Texture Map cache.
311
- id,
312
- },
313
- };
314
- this.textureTracker.registerTexture(desc);
315
- return desc;
316
- }
317
- /**
318
- * Create a new shader reference
319
- *
320
- * @remarks
321
- * This method creates a new reference to a shader. The shader is not
322
- * loaded until it is used on a Node.
323
- *
324
- * It can be assigned to a Node's `shader` property.
325
- *
326
- * @param shaderType
327
- * @param props
328
- * @returns
329
- */
330
- createShader(shaderType, props) {
331
- return this.driver.createShaderController({
332
- descType: 'shader',
333
- shType: shaderType,
334
- props: props,
335
- });
336
- }
337
- /**
338
- * Get a Node by its ID
339
- *
340
- * @param id
341
- * @returns
342
- */
343
- getNodeById(id) {
344
- return this.nodes.get(id) || null;
345
- }
346
- toggleFreeze() {
347
- throw new Error('Not implemented');
348
- }
349
- advanceFrame() {
350
- throw new Error('Not implemented');
351
- }
352
- /**
353
- * Re-render the current frame without advancing any running animations.
354
- *
355
- * @remarks
356
- * Any state changes will be reflected in the re-rendered frame. Useful for
357
- * debugging.
358
- *
359
- * May not do anything if the render loop is running on a separate worker.
360
- */
361
- rerender() {
362
- throw new Error('Not implemented');
363
- }
364
- }
365
- //# sourceMappingURL=RendererMain.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RendererMain.js","sourceRoot":"","sources":["../../../src/main-api/RendererMain.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import type { TextureRef } from '../RendererMain.js';
2
- import { TextureUsageTracker } from './TextureUsageTracker.js';
3
- export declare class FinalizationRegistryTextureUsageTracker extends TextureUsageTracker {
4
- private registry;
5
- constructor(releaseCallback: (textureDescId: number) => void);
6
- registerTexture(texture: TextureRef): void;
7
- incrementTextureRefCount(): void;
8
- decrementTextureRefCount(): void;
9
- }
@@ -1,38 +0,0 @@
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 { assertTruthy } from '../../utils.js';
20
- import { TextureUsageTracker } from './TextureUsageTracker.js';
21
- export class FinalizationRegistryTextureUsageTracker extends TextureUsageTracker {
22
- registry;
23
- constructor(releaseCallback) {
24
- super(releaseCallback);
25
- this.registry = new FinalizationRegistry(releaseCallback);
26
- }
27
- registerTexture(texture) {
28
- assertTruthy(texture.options?.id, 'Texture must have an ID to be registered');
29
- this.registry.register(texture, texture.options?.id);
30
- }
31
- incrementTextureRefCount() {
32
- // No-op for FinalizationRegistry
33
- }
34
- decrementTextureRefCount() {
35
- // No-op for FinalizationRegistry
36
- }
37
- }
38
- //# sourceMappingURL=FinalizationRegistryTextureUsageTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"FinalizationRegistryTextureUsageTracker.js","sourceRoot":"","sources":["../../../../src/main-api/texture-usage-trackers/FinalizationRegistryTextureUsageTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAE/D,MAAM,OAAO,uCAAwC,SAAQ,mBAAmB;IACtE,QAAQ,CAA+B;IAE/C,YAAY,eAAgD;QAC1D,KAAK,CAAC,eAAe,CAAC,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC5D,CAAC;IAEQ,eAAe,CAAC,OAAmB;QAC1C,YAAY,CACV,OAAO,CAAC,OAAO,EAAE,EAAE,EACnB,0CAA0C,CAC3C,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IACQ,wBAAwB;QAC/B,iCAAiC;IACnC,CAAC;IACQ,wBAAwB;QAC/B,iCAAiC;IACnC,CAAC;CACF"}
@@ -1,56 +0,0 @@
1
- import type { TextureRef } from '../RendererMain.js';
2
- import { TextureUsageTracker } from './TextureUsageTracker.js';
3
- interface TextureRefInfo {
4
- /**
5
- * Texture Reference ID
6
- */
7
- id: number;
8
- /**
9
- * The number of references to this texture that are currently assigned to
10
- * Nodes.
11
- */
12
- nodeRefCount: number;
13
- /**
14
- * The last time the texture reference count was updated.
15
- *
16
- * @remarks
17
- * This is used to determine when a texture is no longer referenced by any
18
- * Nodes and can be removed from the GPU.
19
- */
20
- lastUpdate: number;
21
- }
22
- export interface ManualCountTextureUsageTrackerOptions {
23
- /**
24
- * The interval at which to check if textures that are no longer referenced
25
- * by any Nodes can be released from the Core Space Texture Usage Cache.
26
- *
27
- * @remarks
28
- * Only valid when the {@link ManualCountTextureUsageTracker} is used.
29
- *
30
- * @defaultValue 10000 (10 seconds)
31
- */
32
- textureCleanupIntervalMs?: number;
33
- /**
34
- * The age at which a texture is considered to be no longer referenced by any
35
- * Nodes and can be released from the Core Space Texture Usage Cache.
36
- *
37
- * @remarks
38
- * Only valid when the {@link ManualCountTextureUsageTracker} is used.
39
- *
40
- * @defaultValue 60000 (1 minute)
41
- */
42
- textureCleanupAgeThreadholdMs?: number;
43
- }
44
- /**
45
- * Usage-based Texture Garbage Collection Registry
46
- */
47
- export declare class ManualCountTextureUsageTracker extends TextureUsageTracker {
48
- textureMap: Map<number, TextureRefInfo>;
49
- zeroReferenceTextureSet: Set<TextureRefInfo>;
50
- options: Required<ManualCountTextureUsageTrackerOptions>;
51
- constructor(releaseCallback: (textureDescId: number) => void, options: ManualCountTextureUsageTrackerOptions);
52
- registerTexture(texture: TextureRef): void;
53
- incrementTextureRefCount(texture: TextureRef): void;
54
- decrementTextureRefCount(texture: TextureRef): void;
55
- }
56
- export {};
@@ -1,101 +0,0 @@
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 { assertTruthy } from '../../utils.js';
20
- import { TextureUsageTracker } from './TextureUsageTracker.js';
21
- /**
22
- * Usage-based Texture Garbage Collection Registry
23
- */
24
- export class ManualCountTextureUsageTracker extends TextureUsageTracker {
25
- textureMap = new Map();
26
- zeroReferenceTextureSet = new Set();
27
- options;
28
- constructor(releaseCallback, options) {
29
- super(releaseCallback);
30
- this.options = {
31
- textureCleanupIntervalMs: options.textureCleanupIntervalMs ?? 10000,
32
- textureCleanupAgeThreadholdMs: options.textureCleanupAgeThreadholdMs ?? 60000,
33
- };
34
- // Periodically check for textures that are no longer referenced by any
35
- // Nodes and notify RendererMain to release them.
36
- setInterval(() => {
37
- const now = Date.now();
38
- const thresholdMs = this.options.textureCleanupAgeThreadholdMs;
39
- for (const textureRefInfo of this.zeroReferenceTextureSet) {
40
- if (now - textureRefInfo.lastUpdate > thresholdMs) {
41
- this.releaseCallback(textureRefInfo.id);
42
- this.textureMap.delete(textureRefInfo.id);
43
- this.zeroReferenceTextureSet.delete(textureRefInfo);
44
- }
45
- }
46
- }, this.options.textureCleanupIntervalMs);
47
- }
48
- registerTexture(texture) {
49
- const textureId = texture.options?.id;
50
- assertTruthy(textureId, 'Texture must have an id to be registered');
51
- if (!this.textureMap.has(textureId)) {
52
- const textureRefInfo = {
53
- id: textureId,
54
- nodeRefCount: 0,
55
- lastUpdate: Date.now(),
56
- };
57
- this.textureMap.set(textureId, textureRefInfo);
58
- this.zeroReferenceTextureSet.add(textureRefInfo);
59
- }
60
- }
61
- incrementTextureRefCount(texture) {
62
- const textureId = texture.options?.id;
63
- assertTruthy(textureId, 'Texture must have an id to be registered');
64
- let textureRefInfo = this.textureMap.get(textureId);
65
- if (!textureRefInfo) {
66
- // Texture has not been registered yet, so register it now.
67
- // This may happen if the TextureRef was cleaned up from the registry
68
- // but was still alive in memory and eventually re-used.
69
- this.registerTexture(texture);
70
- textureRefInfo = this.textureMap.get(textureId);
71
- }
72
- assertTruthy(textureRefInfo, 'Texture must have been registered');
73
- if (texture.txType === 'SubTexture') {
74
- // If this is a SubTexture, then increment the reference count of the
75
- // parent texture as well.
76
- this.incrementTextureRefCount(texture.props.texture);
77
- }
78
- textureRefInfo.nodeRefCount++;
79
- textureRefInfo.lastUpdate = Date.now();
80
- if (this.zeroReferenceTextureSet.has(textureRefInfo)) {
81
- this.zeroReferenceTextureSet.delete(textureRefInfo);
82
- }
83
- }
84
- decrementTextureRefCount(texture) {
85
- const textureId = texture.options?.id;
86
- assertTruthy(textureId, 'Texture must have an id to be registered');
87
- const textureRefInfo = this.textureMap.get(textureId);
88
- assertTruthy(textureRefInfo, 'Texture must have been registered');
89
- textureRefInfo.nodeRefCount--;
90
- textureRefInfo.lastUpdate = Date.now();
91
- if (textureRefInfo.nodeRefCount === 0) {
92
- this.zeroReferenceTextureSet.add(textureRefInfo);
93
- }
94
- if (texture.txType === 'SubTexture') {
95
- // If this is a SubTexture, then decrement the reference count of the
96
- // parent texture as well.
97
- this.decrementTextureRefCount(texture.props.texture);
98
- }
99
- }
100
- }
101
- //# sourceMappingURL=ManualCountTextureUsageTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ManualCountTextureUsageTracker.js","sourceRoot":"","sources":["../../../../src/main-api/texture-usage-trackers/ManualCountTextureUsageTracker.ts"],"names":[],"mappings":"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"}
@@ -1,32 +0,0 @@
1
- import type { TextureRef } from '../RendererMain.js';
2
- /**
3
- * Texture Usage Tracker for Usage Based Texture Garbage Collection
4
- */
5
- export declare abstract class TextureUsageTracker {
6
- protected releaseCallback: (textureDescId: number) => void;
7
- constructor(releaseCallback: (textureDescId: number) => void);
8
- /**
9
- * Register a texture with the tracker.
10
- *
11
- * @param texture
12
- */
13
- abstract registerTexture(texture: TextureRef): void;
14
- /**
15
- * Increment the reference count for a texture.
16
- *
17
- * @remarks
18
- * This should be called anytime a Node sets a new texture.
19
- *
20
- * @param texture
21
- */
22
- abstract incrementTextureRefCount(texture: TextureRef): void;
23
- /**
24
- * Decrement the Node reference count for a texture.
25
- *
26
- * @remarks
27
- * This should be called anytime a Node removes a texture.
28
- *
29
- * @param texture
30
- */
31
- abstract decrementTextureRefCount(texture: TextureRef): void;
32
- }
@@ -1,28 +0,0 @@
1
- /*
2
- * If not stated otherwise in this file or this component's LICENSE file the
3
- * following copyright and licenses apply:
4
- *
5
- * Copyright 2023 Comcast Cable Communications Management, LLC.
6
- *
7
- * Licensed under the Apache License, Version 2.0 (the License);
8
- * you may not use this file except in compliance with the License.
9
- * You may obtain a copy of the License at
10
- *
11
- * http://www.apache.org/licenses/LICENSE-2.0
12
- *
13
- * Unless required by applicable law or agreed to in writing, software
14
- * distributed under the License is distributed on an "AS IS" BASIS,
15
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- * See the License for the specific language governing permissions and
17
- * limitations under the License.
18
- */
19
- /**
20
- * Texture Usage Tracker for Usage Based Texture Garbage Collection
21
- */
22
- export class TextureUsageTracker {
23
- releaseCallback;
24
- constructor(releaseCallback) {
25
- this.releaseCallback = releaseCallback;
26
- }
27
- }
28
- //# sourceMappingURL=TextureUsageTracker.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"TextureUsageTracker.js","sourceRoot":"","sources":["../../../../src/main-api/texture-usage-trackers/TextureUsageTracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH;;GAEG;AACH,MAAM,OAAgB,mBAAmB;IACjB;IAAtB,YAAsB,eAAgD;QAAhD,oBAAe,GAAf,eAAe,CAAiC;IAAG,CAAC;CA4B3E"}