@lightningjs/renderer 2.14.2 → 2.14.4

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 (310) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/src/core/CoreTextNode.js +2 -2
  5. package/dist/src/core/CoreTextNode.js.map +1 -1
  6. package/dist/src/core/CoreTextureManager.d.ts +4 -3
  7. package/dist/src/core/CoreTextureManager.js +33 -23
  8. package/dist/src/core/CoreTextureManager.js.map +1 -1
  9. package/dist/src/core/Stage.js +7 -2
  10. package/dist/src/core/Stage.js.map +1 -1
  11. package/dist/src/core/TextureMemoryManager.d.ts +1 -1
  12. package/dist/src/core/TextureMemoryManager.js +25 -2
  13. package/dist/src/core/TextureMemoryManager.js.map +1 -1
  14. package/dist/src/core/renderers/CoreContextTexture.d.ts +1 -1
  15. package/dist/src/core/renderers/canvas/CanvasCoreTexture.d.ts +1 -1
  16. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js +7 -6
  17. package/dist/src/core/renderers/canvas/CanvasCoreTexture.js.map +1 -1
  18. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js +3 -0
  19. package/dist/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.js.map +1 -1
  20. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.d.ts +5 -6
  21. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js +30 -18
  22. package/dist/src/core/renderers/webgl/WebGlCoreCtxTexture.js.map +1 -1
  23. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +2 -0
  24. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +1 -0
  25. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  26. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  27. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  28. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  29. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  30. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  31. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  32. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  33. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  34. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  35. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  36. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  37. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  38. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  39. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  40. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  41. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  42. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  43. package/dist/src/core/textures/ImageTexture.d.ts +1 -1
  44. package/dist/src/core/textures/ImageTexture.js +1 -1
  45. package/dist/src/core/textures/ImageTexture.js.map +1 -1
  46. package/dist/src/core/textures/Texture.d.ts +4 -0
  47. package/dist/src/core/textures/Texture.js +9 -3
  48. package/dist/src/core/textures/Texture.js.map +1 -1
  49. package/dist/src/main-api/Renderer.js +1 -1
  50. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  51. package/exports/canvas.ts +39 -39
  52. package/exports/index.ts +89 -89
  53. package/exports/inspector.ts +24 -24
  54. package/exports/utils.ts +44 -44
  55. package/exports/webgl.ts +38 -38
  56. package/package.json +1 -1
  57. package/scripts/please-use-pnpm.js +13 -13
  58. package/src/common/CommonTypes.ts +146 -146
  59. package/src/common/EventEmitter.ts +77 -77
  60. package/src/common/IAnimationController.ts +92 -92
  61. package/src/common/IEventEmitter.ts +28 -28
  62. package/src/core/CoreNode.test.ts +202 -202
  63. package/src/core/CoreNode.ts +2468 -2468
  64. package/src/core/CoreShaderManager.ts +292 -292
  65. package/src/core/CoreTextNode.ts +455 -455
  66. package/src/core/CoreTextureManager.ts +561 -558
  67. package/src/core/Stage.ts +748 -743
  68. package/src/core/TextureMemoryManager.ts +431 -404
  69. package/src/core/animations/AnimationManager.ts +38 -38
  70. package/src/core/animations/CoreAnimation.ts +347 -347
  71. package/src/core/animations/CoreAnimationController.ts +166 -166
  72. package/src/core/lib/ContextSpy.ts +41 -41
  73. package/src/core/lib/ImageWorker.ts +280 -280
  74. package/src/core/lib/Matrix3d.ts +244 -244
  75. package/src/core/lib/RenderCoords.ts +86 -86
  76. package/src/core/lib/WebGlContextWrapper.ts +1332 -1332
  77. package/src/core/lib/textureCompression.ts +152 -152
  78. package/src/core/lib/textureSvg.ts +78 -78
  79. package/src/core/lib/utils.ts +384 -384
  80. package/src/core/lib/validateImageBitmap.ts +76 -76
  81. package/src/core/platform.ts +63 -63
  82. package/src/core/renderers/CoreContextTexture.ts +43 -43
  83. package/src/core/renderers/CoreRenderOp.ts +22 -22
  84. package/src/core/renderers/CoreRenderer.ts +115 -115
  85. package/src/core/renderers/CoreShader.ts +41 -41
  86. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -375
  87. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -153
  88. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  89. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  90. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  91. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +91 -86
  92. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  93. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +313 -301
  94. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  95. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +821 -821
  96. package/src/core/renderers/webgl/WebGlCoreShader.ts +365 -365
  97. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  98. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  99. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  100. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  101. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  102. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  103. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  104. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  105. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  106. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  107. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  108. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  109. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  110. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  111. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  112. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  113. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  114. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  115. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  116. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  117. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  118. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  119. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  120. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  121. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  122. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  123. package/src/core/text-rendering/TrFontManager.ts +183 -183
  124. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  125. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  126. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  127. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  128. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  129. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  130. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  131. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  132. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  133. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  134. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  135. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  136. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  137. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  138. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  139. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  140. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  141. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  142. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  143. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  144. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  145. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  146. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  147. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  148. package/src/core/textures/ColorTexture.ts +102 -102
  149. package/src/core/textures/ImageTexture.ts +400 -399
  150. package/src/core/textures/NoiseTexture.ts +104 -104
  151. package/src/core/textures/RenderTexture.ts +85 -85
  152. package/src/core/textures/SubTexture.ts +205 -205
  153. package/src/core/textures/Texture.ts +376 -367
  154. package/src/core/utils.ts +227 -227
  155. package/src/env.d.ts +7 -7
  156. package/src/main-api/DynamicShaderController.ts +104 -104
  157. package/src/main-api/INode.ts +101 -101
  158. package/src/main-api/Inspector.ts +522 -522
  159. package/src/main-api/Renderer.ts +751 -751
  160. package/src/main-api/ShaderController.ts +80 -80
  161. package/src/main-api/utils.ts +45 -45
  162. package/src/utils.ts +248 -248
  163. package/COPYING +0 -1
  164. package/dist/exports/canvas-shaders.d.ts +0 -10
  165. package/dist/exports/canvas-shaders.js +0 -27
  166. package/dist/exports/canvas-shaders.js.map +0 -1
  167. package/dist/exports/webgl-shaders.d.ts +0 -11
  168. package/dist/exports/webgl-shaders.js +0 -28
  169. package/dist/exports/webgl-shaders.js.map +0 -1
  170. package/dist/src/core/platforms/Platform.d.ts +0 -37
  171. package/dist/src/core/platforms/Platform.js +0 -22
  172. package/dist/src/core/platforms/Platform.js.map +0 -1
  173. package/dist/src/core/platforms/web/WebPlatform.d.ts +0 -9
  174. package/dist/src/core/platforms/web/WebPlatform.js +0 -58
  175. package/dist/src/core/platforms/web/WebPlatform.js.map +0 -1
  176. package/dist/src/core/renderers/CoreShaderNode.d.ts +0 -58
  177. package/dist/src/core/renderers/CoreShaderNode.js +0 -104
  178. package/dist/src/core/renderers/CoreShaderNode.js.map +0 -1
  179. package/dist/src/core/renderers/CoreShaderProgram.d.ts +0 -4
  180. package/dist/src/core/renderers/CoreShaderProgram.js +0 -20
  181. package/dist/src/core/renderers/CoreShaderProgram.js.map +0 -1
  182. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -36
  183. package/dist/src/core/renderers/canvas/CanvasRenderer.js +0 -212
  184. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +0 -1
  185. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +0 -21
  186. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +0 -60
  187. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +0 -1
  188. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +0 -16
  189. package/dist/src/core/renderers/canvas/CanvasTexture.js +0 -124
  190. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +0 -1
  191. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +0 -12
  192. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +0 -55
  193. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +0 -1
  194. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +0 -9
  195. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +0 -38
  196. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +0 -1
  197. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +0 -57
  198. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -227
  199. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +0 -1
  200. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
  201. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -118
  202. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  203. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +0 -135
  204. package/dist/src/core/renderers/webgl/WebGlRenderer.js +0 -571
  205. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +0 -1
  206. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +0 -222
  207. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +0 -334
  208. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +0 -1
  209. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +0 -35
  210. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +0 -201
  211. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +0 -1
  212. package/dist/src/core/shaders/canvas/Border.d.ts +0 -9
  213. package/dist/src/core/shaders/canvas/Border.js +0 -57
  214. package/dist/src/core/shaders/canvas/Border.js.map +0 -1
  215. package/dist/src/core/shaders/canvas/HolePunch.d.ts +0 -7
  216. package/dist/src/core/shaders/canvas/HolePunch.js +0 -38
  217. package/dist/src/core/shaders/canvas/HolePunch.js.map +0 -1
  218. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +0 -10
  219. package/dist/src/core/shaders/canvas/LinearGradient.js +0 -46
  220. package/dist/src/core/shaders/canvas/LinearGradient.js.map +0 -1
  221. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +0 -11
  222. package/dist/src/core/shaders/canvas/RadialGradient.js +0 -68
  223. package/dist/src/core/shaders/canvas/RadialGradient.js.map +0 -1
  224. package/dist/src/core/shaders/canvas/Rounded.d.ts +0 -7
  225. package/dist/src/core/shaders/canvas/Rounded.js +0 -33
  226. package/dist/src/core/shaders/canvas/Rounded.js.map +0 -1
  227. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +0 -7
  228. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +0 -41
  229. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +0 -1
  230. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +0 -8
  231. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +0 -39
  232. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +0 -1
  233. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +0 -7
  234. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +0 -38
  235. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +0 -1
  236. package/dist/src/core/shaders/canvas/Shadow.d.ts +0 -8
  237. package/dist/src/core/shaders/canvas/Shadow.js +0 -31
  238. package/dist/src/core/shaders/canvas/Shadow.js.map +0 -1
  239. package/dist/src/core/shaders/canvas/utils/render.d.ts +0 -5
  240. package/dist/src/core/shaders/canvas/utils/render.js +0 -84
  241. package/dist/src/core/shaders/canvas/utils/render.js.map +0 -1
  242. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +0 -37
  243. package/dist/src/core/shaders/templates/BorderTemplate.js +0 -73
  244. package/dist/src/core/shaders/templates/BorderTemplate.js.map +0 -1
  245. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +0 -46
  246. package/dist/src/core/shaders/templates/HolePunchTemplate.js +0 -35
  247. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +0 -1
  248. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +0 -23
  249. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -47
  250. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +0 -1
  251. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +0 -31
  252. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +0 -49
  253. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +0 -1
  254. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +0 -29
  255. package/dist/src/core/shaders/templates/RoundedTemplate.js +0 -67
  256. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +0 -1
  257. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +0 -7
  258. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -24
  259. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +0 -1
  260. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +0 -6
  261. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +0 -23
  262. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +0 -1
  263. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +0 -6
  264. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -23
  265. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +0 -1
  266. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +0 -34
  267. package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -66
  268. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +0 -1
  269. package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
  270. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  271. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  272. package/dist/src/core/shaders/webgl/Border.d.ts +0 -3
  273. package/dist/src/core/shaders/webgl/Border.js +0 -110
  274. package/dist/src/core/shaders/webgl/Border.js.map +0 -1
  275. package/dist/src/core/shaders/webgl/Default.d.ts +0 -2
  276. package/dist/src/core/shaders/webgl/Default.js +0 -86
  277. package/dist/src/core/shaders/webgl/Default.js.map +0 -1
  278. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +0 -2
  279. package/dist/src/core/shaders/webgl/DefaultBatched.js +0 -104
  280. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +0 -1
  281. package/dist/src/core/shaders/webgl/HolePunch.d.ts +0 -3
  282. package/dist/src/core/shaders/webgl/HolePunch.js +0 -64
  283. package/dist/src/core/shaders/webgl/HolePunch.js.map +0 -1
  284. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +0 -3
  285. package/dist/src/core/shaders/webgl/LinearGradient.js +0 -75
  286. package/dist/src/core/shaders/webgl/LinearGradient.js.map +0 -1
  287. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +0 -3
  288. package/dist/src/core/shaders/webgl/RadialGradient.js +0 -73
  289. package/dist/src/core/shaders/webgl/RadialGradient.js.map +0 -1
  290. package/dist/src/core/shaders/webgl/Rounded.d.ts +0 -7
  291. package/dist/src/core/shaders/webgl/Rounded.js +0 -86
  292. package/dist/src/core/shaders/webgl/Rounded.js.map +0 -1
  293. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +0 -3
  294. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +0 -129
  295. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +0 -1
  296. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +0 -3
  297. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +0 -149
  298. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +0 -1
  299. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +0 -3
  300. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +0 -84
  301. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +0 -1
  302. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -32
  303. package/dist/src/core/shaders/webgl/SdfShader.js +0 -116
  304. package/dist/src/core/shaders/webgl/SdfShader.js.map +0 -1
  305. package/dist/src/core/shaders/webgl/Shadow.d.ts +0 -3
  306. package/dist/src/core/shaders/webgl/Shadow.js +0 -110
  307. package/dist/src/core/shaders/webgl/Shadow.js.map +0 -1
  308. package/dist/src/core/temp.js +0 -77
  309. package/dist/src/core/temp.js.map +0 -1
  310. /package/dist/src/core/{temp.d.ts → renderers/webgl/WebGlCoreShader.destroy.d.ts} +0 -0
package/exports/utils.ts CHANGED
@@ -1,44 +1,44 @@
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
- * Auxiliary Utilities
21
- *
22
- * @remarks
23
- * This module exports the a set of utilities that may be optionally used by
24
- * developers using the Lightning 3 Renderer.
25
- *
26
- * You can import the exports from this module like so:
27
- * ```ts
28
- * import { assertTruthy } from '@lightning/renderer';
29
- * ```
30
- *
31
- * @internalRemarks
32
- * Exports in here should be chosen wisely, as they will be exposed to
33
- * directly developers.
34
- *
35
- * They should be general utilities that are NOT directly coupled to the
36
- * Lightning Renderer, and not specific to any particular platform.
37
- *
38
- * @packageDocumentation
39
- *
40
- * @module Utils
41
- */
42
- export { assertTruthy, mergeColorAlpha, deg2Rad } from '../src/utils.js';
43
- export { getNormalizedRgbaComponents } from '../src/core/lib/utils.js';
44
- export { EventEmitter } from '../src/common/EventEmitter.js';
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
+ * Auxiliary Utilities
21
+ *
22
+ * @remarks
23
+ * This module exports the a set of utilities that may be optionally used by
24
+ * developers using the Lightning 3 Renderer.
25
+ *
26
+ * You can import the exports from this module like so:
27
+ * ```ts
28
+ * import { assertTruthy } from '@lightning/renderer';
29
+ * ```
30
+ *
31
+ * @internalRemarks
32
+ * Exports in here should be chosen wisely, as they will be exposed to
33
+ * directly developers.
34
+ *
35
+ * They should be general utilities that are NOT directly coupled to the
36
+ * Lightning Renderer, and not specific to any particular platform.
37
+ *
38
+ * @packageDocumentation
39
+ *
40
+ * @module Utils
41
+ */
42
+ export { assertTruthy, mergeColorAlpha, deg2Rad } from '../src/utils.js';
43
+ export { getNormalizedRgbaComponents } from '../src/core/lib/utils.js';
44
+ export { EventEmitter } from '../src/common/EventEmitter.js';
package/exports/webgl.ts CHANGED
@@ -1,38 +1,38 @@
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
- * SDF Font renderer
21
- *
22
- * @remarks
23
- * This module exports the SDF Font renderer for the Lightning 3 Renderer.
24
- * The SDF Font renderer is used to render text using Single-Channel Signed
25
- * Distance Field (SSDF) fonts or Multi-Channel Signed Distance Field (MSDF)
26
- * fonts. The SDF font renderer is used to render text in a way that is
27
- * optimized for GPU rendering.
28
- *
29
- * You can import the exports from this module like so:
30
- * ```ts
31
- * import { SdfTextRenderer } from '@lightning/renderer';
32
- * ```
33
- *
34
- * @packageDocumentation
35
- */
36
-
37
- export { SdfTextRenderer } from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
38
- export { WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlCoreRenderer.js';
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
+ * SDF Font renderer
21
+ *
22
+ * @remarks
23
+ * This module exports the SDF Font renderer for the Lightning 3 Renderer.
24
+ * The SDF Font renderer is used to render text using Single-Channel Signed
25
+ * Distance Field (SSDF) fonts or Multi-Channel Signed Distance Field (MSDF)
26
+ * fonts. The SDF font renderer is used to render text in a way that is
27
+ * optimized for GPU rendering.
28
+ *
29
+ * You can import the exports from this module like so:
30
+ * ```ts
31
+ * import { SdfTextRenderer } from '@lightning/renderer';
32
+ * ```
33
+ *
34
+ * @packageDocumentation
35
+ */
36
+
37
+ export { SdfTextRenderer } from '../src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.js';
38
+ export { WebGlCoreRenderer } from '../src/core/renderers/webgl/WebGlCoreRenderer.js';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lightningjs/renderer",
3
- "version": "2.14.2",
3
+ "version": "2.14.4",
4
4
  "description": "Lightning 3 Renderer",
5
5
  "type": "module",
6
6
  "main": "./dist/exports/index.js",
@@ -1,13 +1,13 @@
1
- if (
2
- process.cwd() === process.env.INIT_CWD &&
3
- !process.env.npm_execpath.includes('pnpm')
4
- ) {
5
- console.log('\x1b[31m');
6
- console.log('=============================================\n');
7
- console.log(' Please use PNPM as a package manager');
8
- console.log(' See: https://pnpm.io/ for more info');
9
- console.log('\n=============================================');
10
- console.log('\x1b[0m');
11
-
12
- process.exit(1);
13
- }
1
+ if (
2
+ process.cwd() === process.env.INIT_CWD &&
3
+ !process.env.npm_execpath.includes('pnpm')
4
+ ) {
5
+ console.log('\x1b[31m');
6
+ console.log('=============================================\n');
7
+ console.log(' Please use PNPM as a package manager');
8
+ console.log(' See: https://pnpm.io/ for more info');
9
+ console.log('\n=============================================');
10
+ console.log('\x1b[0m');
11
+
12
+ process.exit(1);
13
+ }
@@ -1,146 +1,146 @@
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
- import type { CoreNodeRenderState } from '../core/CoreNode.js';
21
-
22
- /**
23
- * Types shared between Main Space and Core Space
24
- *
25
- * @remarks
26
- *
27
- * @module
28
- */
29
-
30
- /**
31
- * Represents a width and height.
32
- */
33
- export interface Dimensions {
34
- width: number;
35
- height: number;
36
- }
37
-
38
- /**
39
- * Payload for when text is loaded
40
- */
41
- export type NodeTextLoadedPayload = {
42
- type: 'text';
43
- dimensions: Dimensions;
44
- };
45
-
46
- /**
47
- * Payload for when texture is loaded
48
- */
49
- export type NodeTextureLoadedPayload = {
50
- type: 'texture';
51
- dimensions: Dimensions;
52
- };
53
-
54
- /**
55
- * Combined type for all loaded payloads
56
- */
57
- export type NodeLoadedPayload =
58
- | NodeTextLoadedPayload
59
- | NodeTextureLoadedPayload;
60
-
61
- /**
62
- * Payload for when text failed to load
63
- */
64
- export type NodeTextFailedPayload = {
65
- type: 'text';
66
- error: Error;
67
- };
68
-
69
- /**
70
- * Payload for when texture failed to load
71
- */
72
- export type NodeTextureFailedPayload = {
73
- type: 'texture';
74
- error: Error;
75
- };
76
-
77
- /**
78
- * Payload for when texture failed to load
79
- */
80
- export type NodeTextureFreedPayload = {
81
- type: 'texture';
82
- };
83
-
84
- /**
85
- * Combined type for all failed payloads
86
- */
87
- export type NodeFailedPayload =
88
- | NodeTextFailedPayload
89
- | NodeTextureFailedPayload;
90
-
91
- /**
92
- * Event handler for when the texture/text of a node has loaded
93
- */
94
- export type NodeLoadedEventHandler = (
95
- target: any,
96
- payload: NodeLoadedPayload,
97
- ) => void;
98
-
99
- /**
100
- * Event handler for when the texture/text of a node has failed to load
101
- */
102
- export type NodeFailedEventHandler = (
103
- target: any,
104
- payload: NodeFailedPayload,
105
- ) => void;
106
-
107
- export type NodeRenderStatePayload = {
108
- type: 'renderState';
109
- payload: CoreNodeRenderState;
110
- };
111
-
112
- export type NodeRenderStateEventHandler = (
113
- target: any,
114
- payload: NodeRenderStatePayload,
115
- ) => void;
116
-
117
- /**
118
- * Event payload for when an FpsUpdate event is emitted by either the Stage or
119
- * MainRenderer
120
- */
121
- export interface FpsUpdatePayload {
122
- fps: number;
123
- contextSpyData: Record<string, number> | null;
124
- }
125
-
126
- /**
127
- * Event payload for when a frame tick event is emitted by the Stage
128
- */
129
- export interface FrameTickPayload {
130
- time: number;
131
- delta: number;
132
- }
133
-
134
- /**
135
- * Event payload for when a an animtion tick event is emitted
136
- */
137
- export interface AnimationTickPayload {
138
- progress: number;
139
- }
140
-
141
- /**
142
- * Event payload for when an QuadsUpdate event is emitted by the Stage
143
- */
144
- export interface QuadsUpdatePayload {
145
- quads: number;
146
- }
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
+ import type { CoreNodeRenderState } from '../core/CoreNode.js';
21
+
22
+ /**
23
+ * Types shared between Main Space and Core Space
24
+ *
25
+ * @remarks
26
+ *
27
+ * @module
28
+ */
29
+
30
+ /**
31
+ * Represents a width and height.
32
+ */
33
+ export interface Dimensions {
34
+ width: number;
35
+ height: number;
36
+ }
37
+
38
+ /**
39
+ * Payload for when text is loaded
40
+ */
41
+ export type NodeTextLoadedPayload = {
42
+ type: 'text';
43
+ dimensions: Dimensions;
44
+ };
45
+
46
+ /**
47
+ * Payload for when texture is loaded
48
+ */
49
+ export type NodeTextureLoadedPayload = {
50
+ type: 'texture';
51
+ dimensions: Dimensions;
52
+ };
53
+
54
+ /**
55
+ * Combined type for all loaded payloads
56
+ */
57
+ export type NodeLoadedPayload =
58
+ | NodeTextLoadedPayload
59
+ | NodeTextureLoadedPayload;
60
+
61
+ /**
62
+ * Payload for when text failed to load
63
+ */
64
+ export type NodeTextFailedPayload = {
65
+ type: 'text';
66
+ error: Error;
67
+ };
68
+
69
+ /**
70
+ * Payload for when texture failed to load
71
+ */
72
+ export type NodeTextureFailedPayload = {
73
+ type: 'texture';
74
+ error: Error;
75
+ };
76
+
77
+ /**
78
+ * Payload for when texture failed to load
79
+ */
80
+ export type NodeTextureFreedPayload = {
81
+ type: 'texture';
82
+ };
83
+
84
+ /**
85
+ * Combined type for all failed payloads
86
+ */
87
+ export type NodeFailedPayload =
88
+ | NodeTextFailedPayload
89
+ | NodeTextureFailedPayload;
90
+
91
+ /**
92
+ * Event handler for when the texture/text of a node has loaded
93
+ */
94
+ export type NodeLoadedEventHandler = (
95
+ target: any,
96
+ payload: NodeLoadedPayload,
97
+ ) => void;
98
+
99
+ /**
100
+ * Event handler for when the texture/text of a node has failed to load
101
+ */
102
+ export type NodeFailedEventHandler = (
103
+ target: any,
104
+ payload: NodeFailedPayload,
105
+ ) => void;
106
+
107
+ export type NodeRenderStatePayload = {
108
+ type: 'renderState';
109
+ payload: CoreNodeRenderState;
110
+ };
111
+
112
+ export type NodeRenderStateEventHandler = (
113
+ target: any,
114
+ payload: NodeRenderStatePayload,
115
+ ) => void;
116
+
117
+ /**
118
+ * Event payload for when an FpsUpdate event is emitted by either the Stage or
119
+ * MainRenderer
120
+ */
121
+ export interface FpsUpdatePayload {
122
+ fps: number;
123
+ contextSpyData: Record<string, number> | null;
124
+ }
125
+
126
+ /**
127
+ * Event payload for when a frame tick event is emitted by the Stage
128
+ */
129
+ export interface FrameTickPayload {
130
+ time: number;
131
+ delta: number;
132
+ }
133
+
134
+ /**
135
+ * Event payload for when a an animtion tick event is emitted
136
+ */
137
+ export interface AnimationTickPayload {
138
+ progress: number;
139
+ }
140
+
141
+ /**
142
+ * Event payload for when an QuadsUpdate event is emitted by the Stage
143
+ */
144
+ export interface QuadsUpdatePayload {
145
+ quads: number;
146
+ }
@@ -1,77 +1,77 @@
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
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
21
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
22
- /* eslint-disable @typescript-eslint/no-unsafe-call */
23
- /* eslint-disable @typescript-eslint/no-explicit-any */
24
- import type { IEventEmitter } from './IEventEmitter.js';
25
-
26
- /**
27
- * EventEmitter base class
28
- */
29
- export class EventEmitter implements IEventEmitter {
30
- private eventListeners: { [eventName: string]: any } = {};
31
-
32
- on(event: string, listener: (target: any, data: any) => void): void {
33
- let listeners = this.eventListeners[event];
34
- if (!listeners) {
35
- listeners = [];
36
- }
37
- listeners.push(listener);
38
- this.eventListeners[event] = listeners;
39
- }
40
-
41
- off(event: string, listener?: (target: any, data: any) => void): void {
42
- const listeners = this.eventListeners[event];
43
- if (!listeners) {
44
- return;
45
- }
46
- if (!listener) {
47
- delete this.eventListeners[event];
48
- return;
49
- }
50
- const index = listeners.indexOf(listener);
51
- if (index >= 0) {
52
- listeners.splice(index, 1);
53
- }
54
- }
55
-
56
- once(event: string, listener: (target: any, data: any) => void): void {
57
- const onceListener = (target: any, data: any) => {
58
- this.off(event, onceListener);
59
- listener(target, data);
60
- };
61
- this.on(event, onceListener);
62
- }
63
-
64
- emit(event: string, data?: any): void {
65
- const listeners = this.eventListeners[event];
66
- if (!listeners) {
67
- return;
68
- }
69
- [...listeners].forEach((listener) => {
70
- listener(this, data);
71
- });
72
- }
73
-
74
- removeAllListeners() {
75
- this.eventListeners = {};
76
- }
77
- }
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
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
21
+ /* eslint-disable @typescript-eslint/no-unsafe-assignment */
22
+ /* eslint-disable @typescript-eslint/no-unsafe-call */
23
+ /* eslint-disable @typescript-eslint/no-explicit-any */
24
+ import type { IEventEmitter } from './IEventEmitter.js';
25
+
26
+ /**
27
+ * EventEmitter base class
28
+ */
29
+ export class EventEmitter implements IEventEmitter {
30
+ private eventListeners: { [eventName: string]: any } = {};
31
+
32
+ on(event: string, listener: (target: any, data: any) => void): void {
33
+ let listeners = this.eventListeners[event];
34
+ if (!listeners) {
35
+ listeners = [];
36
+ }
37
+ listeners.push(listener);
38
+ this.eventListeners[event] = listeners;
39
+ }
40
+
41
+ off(event: string, listener?: (target: any, data: any) => void): void {
42
+ const listeners = this.eventListeners[event];
43
+ if (!listeners) {
44
+ return;
45
+ }
46
+ if (!listener) {
47
+ delete this.eventListeners[event];
48
+ return;
49
+ }
50
+ const index = listeners.indexOf(listener);
51
+ if (index >= 0) {
52
+ listeners.splice(index, 1);
53
+ }
54
+ }
55
+
56
+ once(event: string, listener: (target: any, data: any) => void): void {
57
+ const onceListener = (target: any, data: any) => {
58
+ this.off(event, onceListener);
59
+ listener(target, data);
60
+ };
61
+ this.on(event, onceListener);
62
+ }
63
+
64
+ emit(event: string, data?: any): void {
65
+ const listeners = this.eventListeners[event];
66
+ if (!listeners) {
67
+ return;
68
+ }
69
+ [...listeners].forEach((listener) => {
70
+ listener(this, data);
71
+ });
72
+ }
73
+
74
+ removeAllListeners() {
75
+ this.eventListeners = {};
76
+ }
77
+ }