@lightningjs/renderer 2.13.5 → 2.14.1

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 (291) hide show
  1. package/LICENSE +202 -202
  2. package/NOTICE +3 -3
  3. package/README.md +147 -147
  4. package/dist/src/core/CoreTextureManager.d.ts +3 -8
  5. package/dist/src/core/CoreTextureManager.js +34 -63
  6. package/dist/src/core/CoreTextureManager.js.map +1 -1
  7. package/dist/src/core/animations/CoreAnimationController.js +4 -3
  8. package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
  9. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js +5 -2
  10. package/dist/src/core/renderers/webgl/WebGlCoreRenderer.js.map +1 -1
  11. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js +2 -0
  12. package/dist/src/core/renderers/webgl/WebGlCoreShader.destroy.js.map +1 -0
  13. package/dist/src/core/renderers/webgl/shaders/DefaultShader.js +45 -45
  14. package/dist/src/core/renderers/webgl/shaders/DefaultShaderBatched.js +61 -61
  15. package/dist/src/core/renderers/webgl/shaders/DynamicShader.js +93 -93
  16. package/dist/src/core/renderers/webgl/shaders/RoundedRectangle.js +63 -63
  17. package/dist/src/core/renderers/webgl/shaders/SdfShader.js +62 -62
  18. package/dist/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.js +15 -15
  19. package/dist/src/core/renderers/webgl/shaders/effects/BorderEffect.js +6 -6
  20. package/dist/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.js +15 -15
  21. package/dist/src/core/renderers/webgl/shaders/effects/BorderRightEffect.js +15 -15
  22. package/dist/src/core/renderers/webgl/shaders/effects/BorderTopEffect.js +15 -15
  23. package/dist/src/core/renderers/webgl/shaders/effects/FadeOutEffect.js +42 -42
  24. package/dist/src/core/renderers/webgl/shaders/effects/GlitchEffect.js +44 -44
  25. package/dist/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.js +3 -3
  26. package/dist/src/core/renderers/webgl/shaders/effects/HolePunchEffect.js +22 -22
  27. package/dist/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.js +28 -28
  28. package/dist/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.js +10 -10
  29. package/dist/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.js +37 -37
  30. package/dist/src/core/renderers/webgl/shaders/effects/RadiusEffect.js +19 -19
  31. package/dist/tsconfig.dist.tsbuildinfo +1 -1
  32. package/exports/canvas.ts +39 -39
  33. package/exports/index.ts +89 -89
  34. package/exports/inspector.ts +24 -24
  35. package/exports/utils.ts +44 -44
  36. package/exports/webgl.ts +38 -38
  37. package/package.json +1 -1
  38. package/scripts/please-use-pnpm.js +13 -13
  39. package/src/common/CommonTypes.ts +146 -146
  40. package/src/common/EventEmitter.ts +77 -77
  41. package/src/common/IAnimationController.ts +92 -92
  42. package/src/common/IEventEmitter.ts +28 -28
  43. package/src/core/CoreNode.test.ts +202 -202
  44. package/src/core/CoreNode.ts +2462 -2462
  45. package/src/core/CoreShaderManager.ts +292 -292
  46. package/src/core/CoreTextNode.ts +455 -455
  47. package/src/core/CoreTextureManager.ts +558 -604
  48. package/src/core/Stage.ts +743 -743
  49. package/src/core/TextureMemoryManager.ts +404 -404
  50. package/src/core/animations/AnimationManager.ts +38 -38
  51. package/src/core/animations/CoreAnimation.ts +347 -347
  52. package/src/core/animations/CoreAnimationController.ts +166 -164
  53. package/src/core/lib/ContextSpy.ts +41 -41
  54. package/src/core/lib/ImageWorker.ts +280 -280
  55. package/src/core/lib/Matrix3d.ts +244 -244
  56. package/src/core/lib/RenderCoords.ts +86 -86
  57. package/src/core/lib/WebGlContextWrapper.ts +1332 -1332
  58. package/src/core/lib/textureCompression.ts +152 -152
  59. package/src/core/lib/textureSvg.ts +78 -78
  60. package/src/core/lib/utils.ts +384 -384
  61. package/src/core/lib/validateImageBitmap.ts +76 -76
  62. package/src/core/platform.ts +63 -63
  63. package/src/core/renderers/CoreContextTexture.ts +43 -43
  64. package/src/core/renderers/CoreRenderOp.ts +22 -22
  65. package/src/core/renderers/CoreRenderer.ts +115 -115
  66. package/src/core/renderers/CoreShader.ts +41 -41
  67. package/src/core/renderers/canvas/CanvasCoreRenderer.ts +375 -375
  68. package/src/core/renderers/canvas/CanvasCoreTexture.ts +153 -153
  69. package/src/core/renderers/canvas/internal/C2DShaderUtils.ts +231 -231
  70. package/src/core/renderers/canvas/internal/ColorUtils.ts +69 -69
  71. package/src/core/renderers/canvas/shaders/UnsupportedShader.ts +48 -48
  72. package/src/core/renderers/webgl/WebGlCoreCtxRenderTexture.ts +86 -86
  73. package/src/core/renderers/webgl/WebGlCoreCtxSubTexture.ts +50 -50
  74. package/src/core/renderers/webgl/WebGlCoreCtxTexture.ts +301 -301
  75. package/src/core/renderers/webgl/WebGlCoreRenderOp.ts +125 -125
  76. package/src/core/renderers/webgl/WebGlCoreRenderer.ts +821 -815
  77. package/src/core/renderers/webgl/WebGlCoreShader.ts +362 -362
  78. package/src/core/renderers/webgl/internal/BufferCollection.ts +54 -54
  79. package/src/core/renderers/webgl/internal/RendererUtils.ts +155 -155
  80. package/src/core/renderers/webgl/internal/ShaderUtils.ts +143 -143
  81. package/src/core/renderers/webgl/internal/WebGlUtils.ts +35 -35
  82. package/src/core/renderers/webgl/shaders/DefaultShader.ts +93 -93
  83. package/src/core/renderers/webgl/shaders/DefaultShaderBatched.ts +132 -132
  84. package/src/core/renderers/webgl/shaders/DynamicShader.ts +580 -580
  85. package/src/core/renderers/webgl/shaders/RoundedRectangle.ts +167 -167
  86. package/src/core/renderers/webgl/shaders/SdfShader.ts +204 -204
  87. package/src/core/renderers/webgl/shaders/effects/BorderBottomEffect.ts +101 -101
  88. package/src/core/renderers/webgl/shaders/effects/BorderEffect.ts +87 -87
  89. package/src/core/renderers/webgl/shaders/effects/BorderLeftEffect.ts +101 -101
  90. package/src/core/renderers/webgl/shaders/effects/BorderRightEffect.ts +101 -101
  91. package/src/core/renderers/webgl/shaders/effects/BorderTopEffect.ts +101 -101
  92. package/src/core/renderers/webgl/shaders/effects/EffectUtils.ts +159 -159
  93. package/src/core/renderers/webgl/shaders/effects/FadeOutEffect.ts +127 -127
  94. package/src/core/renderers/webgl/shaders/effects/GlitchEffect.ts +148 -148
  95. package/src/core/renderers/webgl/shaders/effects/GrayscaleEffect.ts +67 -67
  96. package/src/core/renderers/webgl/shaders/effects/HolePunchEffect.ts +157 -157
  97. package/src/core/renderers/webgl/shaders/effects/LinearGradientEffect.ts +171 -171
  98. package/src/core/renderers/webgl/shaders/effects/RadialGradientEffect.ts +168 -168
  99. package/src/core/renderers/webgl/shaders/effects/RadialProgressEffect.ts +187 -187
  100. package/src/core/renderers/webgl/shaders/effects/RadiusEffect.ts +110 -110
  101. package/src/core/renderers/webgl/shaders/effects/ShaderEffect.ts +196 -196
  102. package/src/core/text-rendering/TextRenderingUtils.ts +36 -36
  103. package/src/core/text-rendering/TextTextureRendererUtils.ts +263 -263
  104. package/src/core/text-rendering/TrFontManager.ts +183 -183
  105. package/src/core/text-rendering/font-face-types/SdfTrFontFace/SdfTrFontFace.ts +176 -176
  106. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/FontShaper.ts +139 -139
  107. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.test.ts +173 -173
  108. package/src/core/text-rendering/font-face-types/SdfTrFontFace/internal/SdfFontShaper.ts +171 -171
  109. package/src/core/text-rendering/font-face-types/TrFontFace.ts +187 -187
  110. package/src/core/text-rendering/font-face-types/WebTrFontFace.ts +94 -94
  111. package/src/core/text-rendering/font-face-types/utils.ts +39 -39
  112. package/src/core/text-rendering/renderers/CanvasTextRenderer.ts +509 -509
  113. package/src/core/text-rendering/renderers/LightningTextTextureRenderer.ts +808 -808
  114. package/src/core/text-rendering/renderers/SdfTextRenderer/SdfTextRenderer.ts +853 -853
  115. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.test.ts +48 -48
  116. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/PeekableGenerator.ts +66 -66
  117. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/SpecialCodepoints.ts +52 -52
  118. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/constants.ts +32 -32
  119. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getStartConditions.ts +117 -117
  120. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.test.ts +133 -133
  121. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/getUnicodeCodepoints.ts +38 -38
  122. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText.ts +408 -408
  123. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.test.ts +49 -49
  124. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/measureText.ts +52 -52
  125. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.test.ts +205 -205
  126. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/setRenderWindow.ts +93 -93
  127. package/src/core/text-rendering/renderers/SdfTextRenderer/internal/util.ts +40 -40
  128. package/src/core/text-rendering/renderers/TextRenderer.ts +557 -557
  129. package/src/core/textures/ColorTexture.ts +102 -102
  130. package/src/core/textures/ImageTexture.ts +399 -399
  131. package/src/core/textures/NoiseTexture.ts +104 -104
  132. package/src/core/textures/RenderTexture.ts +85 -85
  133. package/src/core/textures/SubTexture.ts +205 -205
  134. package/src/core/textures/Texture.ts +367 -367
  135. package/src/core/utils.ts +227 -227
  136. package/src/env.d.ts +7 -7
  137. package/src/main-api/DynamicShaderController.ts +104 -104
  138. package/src/main-api/INode.ts +101 -101
  139. package/src/main-api/Inspector.ts +522 -522
  140. package/src/main-api/Renderer.ts +751 -751
  141. package/src/main-api/ShaderController.ts +80 -80
  142. package/src/main-api/utils.ts +45 -45
  143. package/src/utils.ts +248 -248
  144. package/COPYING +0 -1
  145. package/dist/exports/canvas-shaders.d.ts +0 -10
  146. package/dist/exports/canvas-shaders.js +0 -27
  147. package/dist/exports/canvas-shaders.js.map +0 -1
  148. package/dist/exports/webgl-shaders.d.ts +0 -11
  149. package/dist/exports/webgl-shaders.js +0 -28
  150. package/dist/exports/webgl-shaders.js.map +0 -1
  151. package/dist/src/core/platforms/Platform.d.ts +0 -37
  152. package/dist/src/core/platforms/Platform.js +0 -22
  153. package/dist/src/core/platforms/Platform.js.map +0 -1
  154. package/dist/src/core/platforms/web/WebPlatform.d.ts +0 -9
  155. package/dist/src/core/platforms/web/WebPlatform.js +0 -58
  156. package/dist/src/core/platforms/web/WebPlatform.js.map +0 -1
  157. package/dist/src/core/renderers/CoreShaderNode.d.ts +0 -58
  158. package/dist/src/core/renderers/CoreShaderNode.js +0 -104
  159. package/dist/src/core/renderers/CoreShaderNode.js.map +0 -1
  160. package/dist/src/core/renderers/CoreShaderProgram.d.ts +0 -4
  161. package/dist/src/core/renderers/CoreShaderProgram.js +0 -20
  162. package/dist/src/core/renderers/CoreShaderProgram.js.map +0 -1
  163. package/dist/src/core/renderers/canvas/CanvasRenderer.d.ts +0 -36
  164. package/dist/src/core/renderers/canvas/CanvasRenderer.js +0 -212
  165. package/dist/src/core/renderers/canvas/CanvasRenderer.js.map +0 -1
  166. package/dist/src/core/renderers/canvas/CanvasShaderNode.d.ts +0 -21
  167. package/dist/src/core/renderers/canvas/CanvasShaderNode.js +0 -60
  168. package/dist/src/core/renderers/canvas/CanvasShaderNode.js.map +0 -1
  169. package/dist/src/core/renderers/canvas/CanvasTexture.d.ts +0 -16
  170. package/dist/src/core/renderers/canvas/CanvasTexture.js +0 -124
  171. package/dist/src/core/renderers/canvas/CanvasTexture.js.map +0 -1
  172. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.d.ts +0 -12
  173. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js +0 -55
  174. package/dist/src/core/renderers/webgl/WebGlCtxRenderTexture.js.map +0 -1
  175. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.d.ts +0 -9
  176. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js +0 -38
  177. package/dist/src/core/renderers/webgl/WebGlCtxSubTexture.js.map +0 -1
  178. package/dist/src/core/renderers/webgl/WebGlCtxTexture.d.ts +0 -57
  179. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js +0 -227
  180. package/dist/src/core/renderers/webgl/WebGlCtxTexture.js.map +0 -1
  181. package/dist/src/core/renderers/webgl/WebGlRenderOp.d.ts +0 -44
  182. package/dist/src/core/renderers/webgl/WebGlRenderOp.js +0 -118
  183. package/dist/src/core/renderers/webgl/WebGlRenderOp.js.map +0 -1
  184. package/dist/src/core/renderers/webgl/WebGlRenderer.d.ts +0 -135
  185. package/dist/src/core/renderers/webgl/WebGlRenderer.js +0 -571
  186. package/dist/src/core/renderers/webgl/WebGlRenderer.js.map +0 -1
  187. package/dist/src/core/renderers/webgl/WebGlShaderNode.d.ts +0 -222
  188. package/dist/src/core/renderers/webgl/WebGlShaderNode.js +0 -334
  189. package/dist/src/core/renderers/webgl/WebGlShaderNode.js.map +0 -1
  190. package/dist/src/core/renderers/webgl/WebGlShaderProgram.d.ts +0 -35
  191. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js +0 -201
  192. package/dist/src/core/renderers/webgl/WebGlShaderProgram.js.map +0 -1
  193. package/dist/src/core/shaders/canvas/Border.d.ts +0 -9
  194. package/dist/src/core/shaders/canvas/Border.js +0 -57
  195. package/dist/src/core/shaders/canvas/Border.js.map +0 -1
  196. package/dist/src/core/shaders/canvas/HolePunch.d.ts +0 -7
  197. package/dist/src/core/shaders/canvas/HolePunch.js +0 -38
  198. package/dist/src/core/shaders/canvas/HolePunch.js.map +0 -1
  199. package/dist/src/core/shaders/canvas/LinearGradient.d.ts +0 -10
  200. package/dist/src/core/shaders/canvas/LinearGradient.js +0 -46
  201. package/dist/src/core/shaders/canvas/LinearGradient.js.map +0 -1
  202. package/dist/src/core/shaders/canvas/RadialGradient.d.ts +0 -11
  203. package/dist/src/core/shaders/canvas/RadialGradient.js +0 -68
  204. package/dist/src/core/shaders/canvas/RadialGradient.js.map +0 -1
  205. package/dist/src/core/shaders/canvas/Rounded.d.ts +0 -7
  206. package/dist/src/core/shaders/canvas/Rounded.js +0 -33
  207. package/dist/src/core/shaders/canvas/Rounded.js.map +0 -1
  208. package/dist/src/core/shaders/canvas/RoundedWithBorder.d.ts +0 -7
  209. package/dist/src/core/shaders/canvas/RoundedWithBorder.js +0 -41
  210. package/dist/src/core/shaders/canvas/RoundedWithBorder.js.map +0 -1
  211. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.d.ts +0 -8
  212. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js +0 -39
  213. package/dist/src/core/shaders/canvas/RoundedWithBorderAndShadow.js.map +0 -1
  214. package/dist/src/core/shaders/canvas/RoundedWithShadow.d.ts +0 -7
  215. package/dist/src/core/shaders/canvas/RoundedWithShadow.js +0 -38
  216. package/dist/src/core/shaders/canvas/RoundedWithShadow.js.map +0 -1
  217. package/dist/src/core/shaders/canvas/Shadow.d.ts +0 -8
  218. package/dist/src/core/shaders/canvas/Shadow.js +0 -31
  219. package/dist/src/core/shaders/canvas/Shadow.js.map +0 -1
  220. package/dist/src/core/shaders/canvas/utils/render.d.ts +0 -5
  221. package/dist/src/core/shaders/canvas/utils/render.js +0 -84
  222. package/dist/src/core/shaders/canvas/utils/render.js.map +0 -1
  223. package/dist/src/core/shaders/templates/BorderTemplate.d.ts +0 -37
  224. package/dist/src/core/shaders/templates/BorderTemplate.js +0 -73
  225. package/dist/src/core/shaders/templates/BorderTemplate.js.map +0 -1
  226. package/dist/src/core/shaders/templates/HolePunchTemplate.d.ts +0 -46
  227. package/dist/src/core/shaders/templates/HolePunchTemplate.js +0 -35
  228. package/dist/src/core/shaders/templates/HolePunchTemplate.js.map +0 -1
  229. package/dist/src/core/shaders/templates/LinearGradientTemplate.d.ts +0 -23
  230. package/dist/src/core/shaders/templates/LinearGradientTemplate.js +0 -47
  231. package/dist/src/core/shaders/templates/LinearGradientTemplate.js.map +0 -1
  232. package/dist/src/core/shaders/templates/RadialGradientTemplate.d.ts +0 -31
  233. package/dist/src/core/shaders/templates/RadialGradientTemplate.js +0 -49
  234. package/dist/src/core/shaders/templates/RadialGradientTemplate.js.map +0 -1
  235. package/dist/src/core/shaders/templates/RoundedTemplate.d.ts +0 -29
  236. package/dist/src/core/shaders/templates/RoundedTemplate.js +0 -67
  237. package/dist/src/core/shaders/templates/RoundedTemplate.js.map +0 -1
  238. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.d.ts +0 -7
  239. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js +0 -24
  240. package/dist/src/core/shaders/templates/RoundedWithBorderAndShadowTemplate.js.map +0 -1
  241. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.d.ts +0 -6
  242. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js +0 -23
  243. package/dist/src/core/shaders/templates/RoundedWithBorderTemplate.js.map +0 -1
  244. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.d.ts +0 -6
  245. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js +0 -23
  246. package/dist/src/core/shaders/templates/RoundedWithShadowTemplate.js.map +0 -1
  247. package/dist/src/core/shaders/templates/ShadowTemplate.d.ts +0 -34
  248. package/dist/src/core/shaders/templates/ShadowTemplate.js +0 -66
  249. package/dist/src/core/shaders/templates/ShadowTemplate.js.map +0 -1
  250. package/dist/src/core/shaders/templates/shaderUtils.d.ts +0 -5
  251. package/dist/src/core/shaders/templates/shaderUtils.js +0 -41
  252. package/dist/src/core/shaders/templates/shaderUtils.js.map +0 -1
  253. package/dist/src/core/shaders/webgl/Border.d.ts +0 -3
  254. package/dist/src/core/shaders/webgl/Border.js +0 -110
  255. package/dist/src/core/shaders/webgl/Border.js.map +0 -1
  256. package/dist/src/core/shaders/webgl/Default.d.ts +0 -2
  257. package/dist/src/core/shaders/webgl/Default.js +0 -86
  258. package/dist/src/core/shaders/webgl/Default.js.map +0 -1
  259. package/dist/src/core/shaders/webgl/DefaultBatched.d.ts +0 -2
  260. package/dist/src/core/shaders/webgl/DefaultBatched.js +0 -104
  261. package/dist/src/core/shaders/webgl/DefaultBatched.js.map +0 -1
  262. package/dist/src/core/shaders/webgl/HolePunch.d.ts +0 -3
  263. package/dist/src/core/shaders/webgl/HolePunch.js +0 -64
  264. package/dist/src/core/shaders/webgl/HolePunch.js.map +0 -1
  265. package/dist/src/core/shaders/webgl/LinearGradient.d.ts +0 -3
  266. package/dist/src/core/shaders/webgl/LinearGradient.js +0 -75
  267. package/dist/src/core/shaders/webgl/LinearGradient.js.map +0 -1
  268. package/dist/src/core/shaders/webgl/RadialGradient.d.ts +0 -3
  269. package/dist/src/core/shaders/webgl/RadialGradient.js +0 -73
  270. package/dist/src/core/shaders/webgl/RadialGradient.js.map +0 -1
  271. package/dist/src/core/shaders/webgl/Rounded.d.ts +0 -7
  272. package/dist/src/core/shaders/webgl/Rounded.js +0 -86
  273. package/dist/src/core/shaders/webgl/Rounded.js.map +0 -1
  274. package/dist/src/core/shaders/webgl/RoundedWithBorder.d.ts +0 -3
  275. package/dist/src/core/shaders/webgl/RoundedWithBorder.js +0 -129
  276. package/dist/src/core/shaders/webgl/RoundedWithBorder.js.map +0 -1
  277. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.d.ts +0 -3
  278. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js +0 -149
  279. package/dist/src/core/shaders/webgl/RoundedWithBorderAndShadow.js.map +0 -1
  280. package/dist/src/core/shaders/webgl/RoundedWithShadow.d.ts +0 -3
  281. package/dist/src/core/shaders/webgl/RoundedWithShadow.js +0 -84
  282. package/dist/src/core/shaders/webgl/RoundedWithShadow.js.map +0 -1
  283. package/dist/src/core/shaders/webgl/SdfShader.d.ts +0 -32
  284. package/dist/src/core/shaders/webgl/SdfShader.js +0 -116
  285. package/dist/src/core/shaders/webgl/SdfShader.js.map +0 -1
  286. package/dist/src/core/shaders/webgl/Shadow.d.ts +0 -3
  287. package/dist/src/core/shaders/webgl/Shadow.js +0 -110
  288. package/dist/src/core/shaders/webgl/Shadow.js.map +0 -1
  289. package/dist/src/core/temp.js +0 -77
  290. package/dist/src/core/temp.js.map +0 -1
  291. /package/dist/src/core/{temp.d.ts → renderers/webgl/WebGlCoreShader.destroy.d.ts} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"DefaultBatched.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/DefaultBatched.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAsBH,MAAM,CAAC,MAAM,cAAc,GAAoB;IAC7C,uBAAuB,EAAE,IAAI;IAE7B,0DAA0D;IAC1D,oCAAoC;IACpC,SAAS;IACT,iFAAiF;IACjF,QAAQ;IACR,uBAAuB;IACvB,6HAA6H;IAC7H,SAAS;IACT,MAAM;IACN,gCAAgC;IAChC,4BAA4B;IAC5B,qCAAqC;IACrC,QAAQ;IACR,+DAA+D;IAC/D,oDAAoD;IACpD,IAAI;IAEJ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCP;IACD,QAAQ,CAAC,QAAQ;QACf,MAAM,YAAY,GAChB,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,8BAA8B,CAAC;QAC5D,OAAO;sBACW,YAAY;;;;;;;;;;;;;;;kDAegB,YAAY;UACpD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,IAAI,EAAE,CAAC;aACrC,GAAG,CACF,CAAC,GAAG,EAAE,EAAE,CAAC;YACT,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,GAAG;wCACb,GAAG;;SAElC,CACE;aACA,IAAI,CAAC,EAAE,CAAC;;;;;;;KAOd,CAAC;IACJ,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type HolePunchProps } from '../templates/HolePunchTemplate.js';
2
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
3
- export declare const HolePunch: WebGlShaderType<HolePunchProps>;
@@ -1,64 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { calcFactoredRadiusArray } from '../../lib/utils.js';
18
- import { HolePunchTemplate, } from '../templates/HolePunchTemplate.js';
19
- export const HolePunch = {
20
- props: HolePunchTemplate.props,
21
- update() {
22
- this.uniform2f('u_pos', this.props.x, this.props.y);
23
- //precalculate to halfSize once instead of for every pixel
24
- this.uniform2f('u_size', this.props.width * 0.5, this.props.height * 0.5);
25
- this.uniform4fa('u_radius', calcFactoredRadiusArray(this.props.radius, this.props.width, this.props.height));
26
- },
27
- getCacheMarkers(props) {
28
- return `radiusArray:${Array.isArray(props.radius)}`;
29
- },
30
- fragment: `
31
- # ifdef GL_FRAGMENT_PRECISION_HIGH
32
- precision highp float;
33
- # else
34
- precision mediump float;
35
- # endif
36
-
37
- uniform float u_alpha;
38
- uniform float u_pixelRatio;
39
- uniform vec2 u_dimensions;
40
- uniform sampler2D u_texture;
41
-
42
- uniform vec2 u_size;
43
- uniform vec2 u_pos;
44
-
45
- uniform vec4 u_radius;
46
-
47
- uniform vec4 u_color;
48
- varying vec4 v_color;
49
- varying vec2 v_textureCoords;
50
-
51
- void main() {
52
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
53
- vec2 p = (v_textureCoords.xy * u_dimensions.xy - u_pos) - u_size;
54
- vec4 r = u_radius;
55
- r.xy = (p.x > 0.0) ? r.yz : r.xw;
56
- r.x = (p.y > 0.0) ? r.y : r.x;
57
- p = abs(p) - u_size + r.x;
58
- float dist = min(max(p.x, p.y), 0.0) + length(max(p, 0.0)) - r.x + 2.0;
59
- float roundedAlpha = 1.0 - smoothstep(0.0, u_pixelRatio, dist);
60
- gl_FragColor = mix(color, vec4(0.0), min(color.a, roundedAlpha));
61
- }
62
- `,
63
- };
64
- //# sourceMappingURL=HolePunch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"HolePunch.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/HolePunch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,iBAAiB,GAElB,MAAM,mCAAmC,CAAC;AAI3C,MAAM,CAAC,MAAM,SAAS,GAAoC;IACxD,KAAK,EAAE,iBAAiB,CAAC,KAAK;IAC9B,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC,EAAE,IAAI,CAAC,KAAM,CAAC,CAAC,CAAC,CAAC;QACtD,0DAA0D;QAC1D,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,KAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAE5E,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CACrB,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,KAAM,CAAC,KAAK,EACjB,IAAI,CAAC,KAAM,CAAC,MAAM,CACnB,CACF,CAAC;IACJ,CAAC;IACD,eAAe,CAAC,KAAqB;QACnC,OAAO,eAAe,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,CAAC;IACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCT;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type LinearGradientProps } from '../templates/LinearGradientTemplate.js';
2
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
3
- export declare const LinearGradient: WebGlShaderType<LinearGradientProps>;
@@ -1,75 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { getNormalizedRgbaComponents } from '../../lib/utils.js';
18
- import { LinearGradientTemplate, } from '../templates/LinearGradientTemplate.js';
19
- import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
20
- export const LinearGradient = {
21
- props: LinearGradientTemplate.props,
22
- update() {
23
- this.uniform1f('u_angle', this.props.angle - (Math.PI / 180) * 90);
24
- this.uniform1fv('u_stops', new Float32Array(this.props.stops));
25
- const colors = [];
26
- for (let i = 0; i < this.props.colors.length; i++) {
27
- const norm = getNormalizedRgbaComponents(this.props.colors[i]);
28
- colors.push(norm[0], norm[1], norm[2], norm[3]);
29
- }
30
- this.uniform4fv('u_colors', new Float32Array(colors));
31
- },
32
- getCacheMarkers(props) {
33
- return `colors:${props.colors.length}`;
34
- },
35
- fragment(renderer, props) {
36
- return `
37
- # ifdef GL_FRAGMENT_PRECISION_HIGH
38
- precision highp float;
39
- # else
40
- precision mediump float;
41
- # endif
42
-
43
- #define PI 3.14159265359
44
-
45
- uniform float u_alpha;
46
- uniform vec2 u_dimensions;
47
-
48
- uniform sampler2D u_texture;
49
-
50
- uniform float u_angle;
51
- uniform float u_stops[${props.stops.length}];
52
- uniform vec4 u_colors[${props.colors.length}];
53
-
54
- varying vec4 v_color;
55
- varying vec2 v_textureCoords;
56
-
57
- vec2 calcPoint(float d, float angle) {
58
- return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
59
- }
60
-
61
- void main() {
62
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
63
- float a = u_angle;
64
- float lineDist = abs(u_dimensions.x * cos(a)) + abs(u_dimensions.y * sin(a));
65
- vec2 f = calcPoint(lineDist * 0.5, a);
66
- vec2 t = calcPoint(lineDist * 0.5, a + PI);
67
- vec2 gradVec = t - f;
68
- float dist = dot(v_textureCoords.xy * u_dimensions - f, gradVec) / dot(gradVec, gradVec);
69
- ${genGradientColors(props.stops.length)}
70
- gl_FragColor = mix(color, colorOut, clamp(colorOut.a, 0.0, 1.0));
71
- }
72
- `;
73
- },
74
- };
75
- //# sourceMappingURL=LinearGradient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"LinearGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/LinearGradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIlF,MAAM,CAAC,MAAM,cAAc,GAAyC;IAClE,KAAK,EAAE,sBAAsB,CAAC,KAAK;IACnC,MAAM;QACJ,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;QACpE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,eAAe,CAAC,KAA0B;QACxC,OAAO,UAAU,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IACD,QAAQ,CAAC,QAAuB,EAAE,KAA0B;QAC1D,OAAO;;;;;;;;;;;;;;;4BAeiB,KAAK,CAAC,KAAK,CAAC,MAAM;4BAClB,KAAK,CAAC,MAAM,CAAC,MAAM;;;;;;;;;;;;;;;;;QAiBvC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;;;GAG1C,CAAC;IACF,CAAC;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import { type RadialGradientProps } from '../templates/RadialGradientTemplate.js';
2
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
3
- export declare const RadialGradient: WebGlShaderType<RadialGradientProps>;
@@ -1,73 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { getNormalizedRgbaComponents } from '../../lib/utils.js';
18
- import { RadialGradientTemplate, } from '../templates/RadialGradientTemplate.js';
19
- import { genGradientColors } from '../../renderers/webgl/internal/ShaderUtils.js';
20
- export const RadialGradient = {
21
- props: RadialGradientTemplate.props,
22
- update(node) {
23
- this.uniform2f('u_projection', this.props.pivot[0] * node.width, this.props.pivot[1] * node.height);
24
- this.uniform2f('u_size', this.props.width * 0.5, this.props.height * 0.5);
25
- this.uniform1fv('u_stops', new Float32Array(this.props.stops));
26
- const colors = [];
27
- for (let i = 0; i < this.props.colors.length; i++) {
28
- const norm = getNormalizedRgbaComponents(this.props.colors[i]);
29
- colors.push(norm[0], norm[1], norm[2], norm[3]);
30
- }
31
- this.uniform4fv('u_colors', new Float32Array(colors));
32
- },
33
- getCacheMarkers(props) {
34
- return `colors:${props.colors.length}`;
35
- },
36
- fragment(renderer, props) {
37
- return `
38
- # ifdef GL_FRAGMENT_PRECISION_HIGH
39
- precision highp float;
40
- # else
41
- precision mediump float;
42
- # endif
43
-
44
- #define PI 3.14159265359
45
-
46
- uniform float u_alpha;
47
- uniform vec2 u_dimensions;
48
-
49
- uniform sampler2D u_texture;
50
-
51
- uniform vec2 u_projection;
52
- uniform vec2 u_size;
53
- uniform float u_stops[${props.stops.length}];
54
- uniform vec4 u_colors[${props.colors.length}];
55
-
56
- varying vec4 v_color;
57
- varying vec2 v_textureCoords;
58
-
59
- vec2 calcPoint(float d, float angle) {
60
- return d * vec2(cos(angle), sin(angle)) + (u_dimensions * 0.5);
61
- }
62
-
63
- void main() {
64
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
65
- vec2 point = v_textureCoords.xy * u_dimensions;
66
- float dist = length((point - u_projection) / u_size);
67
- ${genGradientColors(props.stops.length)}
68
- gl_FragColor = mix(color, colorOut, clamp(colorOut.a, 0.0, 1.0));
69
- }
70
- `;
71
- },
72
- };
73
- //# sourceMappingURL=RadialGradient.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RadialGradient.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RadialGradient.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,2BAA2B,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EACL,sBAAsB,GAEvB,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+CAA+C,CAAC;AAIlF,MAAM,CAAC,MAAM,cAAc,GAAyC;IAClE,KAAK,EAAE,sBAAsB,CAAC,KAAK;IACnC,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,SAAS,CACZ,cAAc,EACd,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EACjC,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,CACnC,CAAC;QACF,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAM,CAAC,KAAK,GAAG,GAAG,EAAE,IAAI,CAAC,KAAM,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,KAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChE,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACnD,MAAM,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC,KAAM,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;QAClD,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC;IACxD,CAAC;IACD,eAAe,CAAC,KAA0B;QACxC,OAAO,UAAU,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;IACzC,CAAC;IACD,QAAQ,CAAC,QAAuB,EAAE,KAA0B;QAC1D,OAAO;;;;;;;;;;;;;;;;4BAgBiB,KAAK,CAAC,KAAK,CAAC,MAAM;4BAClB,KAAK,CAAC,MAAM,CAAC,MAAM;;;;;;;;;;;;;QAavC,iBAAiB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC;;;GAG1C,CAAC;IACF,CAAC;CACF,CAAC"}
@@ -1,7 +0,0 @@
1
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
2
- import { type RoundedProps } from '../templates/RoundedTemplate.js';
3
- /**
4
- * Similar to the {@link DefaultShader} but cuts out 4 rounded rectangle corners
5
- * as defined by the specified corner {@link RoundedProps.radius}
6
- */
7
- export declare const Rounded: WebGlShaderType<RoundedProps>;
@@ -1,86 +0,0 @@
1
- import { calcFactoredRadiusArray } from '../../lib/utils.js';
2
- import { RoundedTemplate, } from '../templates/RoundedTemplate.js';
3
- /**
4
- * Similar to the {@link DefaultShader} but cuts out 4 rounded rectangle corners
5
- * as defined by the specified corner {@link RoundedProps.radius}
6
- */
7
- export const Rounded = {
8
- props: RoundedTemplate.props,
9
- update(node) {
10
- this.uniform4fa('u_radius', calcFactoredRadiusArray(this.props.radius, node.width, node.height));
11
- },
12
- vertex: `
13
- # ifdef GL_FRAGMENT_PRECISION_HIGH
14
- precision highp float;
15
- # else
16
- precision mediump float;
17
- # endif
18
-
19
- attribute vec2 a_position;
20
- attribute vec2 a_textureCoords;
21
- attribute vec4 a_color;
22
- attribute vec2 a_nodeCoords;
23
-
24
- uniform vec2 u_resolution;
25
- uniform float u_pixelRatio;
26
- uniform vec2 u_dimensions;
27
-
28
- varying vec4 v_color;
29
- varying vec2 v_textureCoords;
30
- varying vec2 v_nodeCoords;
31
-
32
- void main() {
33
- vec2 normalized = a_position * u_pixelRatio;
34
- vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
35
-
36
- v_color = a_color;
37
- v_nodeCoords = a_nodeCoords;
38
- v_textureCoords = a_textureCoords;
39
-
40
- gl_Position = vec4(normalized.x * screenSpace.x - 1.0, normalized.y * -abs(screenSpace.y) + 1.0, 0.0, 1.0);
41
- gl_Position.y = -sign(screenSpace.y) * gl_Position.y;
42
- }
43
- `,
44
- fragment: `
45
- # ifdef GL_FRAGMENT_PRECISION_HIGH
46
- precision highp float;
47
- # else
48
- precision mediump float;
49
- # endif
50
-
51
- //renderer applies these uniforms automatically
52
- uniform vec2 u_resolution;
53
- uniform vec2 u_dimensions;
54
- uniform float u_alpha;
55
- uniform sampler2D u_texture;
56
-
57
- //custom uniforms
58
- uniform vec4 u_radius;
59
-
60
- varying vec4 v_color;
61
- varying vec2 v_textureCoords;
62
- varying vec2 v_nodeCoords;
63
-
64
- float roundedBox(vec2 p, vec2 s, vec4 r) {
65
- r.xy = (p.x > 0.0) ? r.yz : r.xw;
66
- r.x = (p.y > 0.0) ? r.y : r.x;
67
- vec2 q = abs(p) - s + r.x;
68
- return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - r.x;
69
- }
70
-
71
- void main() {
72
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
73
- vec2 halfDimensions = (u_dimensions * 0.5);
74
-
75
- vec2 boxUv = v_nodeCoords.xy * u_dimensions - halfDimensions;
76
- float boxDist = roundedBox(boxUv, halfDimensions, u_radius);
77
-
78
- float roundedAlpha = 1.0 - smoothstep(0.0, 1.0, boxDist);
79
-
80
- vec4 resColor = vec4(0.0);
81
- resColor = mix(resColor, color, roundedAlpha);
82
- gl_FragColor = resColor * u_alpha;
83
- }
84
- `,
85
- };
86
- //# sourceMappingURL=Rounded.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Rounded.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/Rounded.ts"],"names":[],"mappings":"AAmBA,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EACL,eAAe,GAEhB,MAAM,iCAAiC,CAAC;AAIzC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAkC;IACpD,KAAK,EAAE,eAAe,CAAC,KAAK;IAC5B,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CACrB,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA+BT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCT;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
2
- import { type RoundedWithBorderProps } from '../templates/RoundedWithBorderTemplate.js';
3
- export declare const RoundedWithBorder: WebGlShaderType<RoundedWithBorderProps>;
@@ -1,129 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { calcFactoredRadiusArray } from '../../lib/utils.js';
18
- import { RoundedWithBorderTemplate, } from '../templates/RoundedWithBorderTemplate.js';
19
- export const RoundedWithBorder = {
20
- props: RoundedWithBorderTemplate.props,
21
- update(node) {
22
- this.uniformRGBA('u_borderColor', this.props['border-color']);
23
- this.uniform4fa('u_borderWidth', this.props['border-width']);
24
- this.uniform4fa('u_radius', calcFactoredRadiusArray(this.props.radius, node.width, node.height));
25
- },
26
- vertex: `
27
- # ifdef GL_FRAGMENT_PRECISION_HIGH
28
- precision highp float;
29
- # else
30
- precision mediump float;
31
- # endif
32
-
33
- attribute vec2 a_position;
34
- attribute vec2 a_textureCoords;
35
- attribute vec4 a_color;
36
- attribute vec2 a_nodeCoords;
37
-
38
- uniform vec2 u_resolution;
39
- uniform float u_pixelRatio;
40
- uniform vec2 u_dimensions;
41
-
42
- uniform vec4 u_radius;
43
- uniform vec4 u_borderWidth;
44
-
45
- varying vec4 v_color;
46
- varying vec2 v_textureCoords;
47
- varying vec2 v_nodeCoords;
48
-
49
- varying vec4 v_innerRadius;
50
- varying vec2 v_innerSize;
51
- varying vec2 v_halfDimensions;
52
-
53
- void main() {
54
- vec2 normalized = a_position * u_pixelRatio;
55
- vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
56
-
57
- v_color = a_color;
58
- v_nodeCoords = a_nodeCoords;
59
- v_textureCoords = a_textureCoords;
60
-
61
- v_halfDimensions = u_dimensions * 0.5;
62
-
63
- v_innerRadius = vec4(
64
- max(0.0, u_radius.x - max(u_borderWidth.x, u_borderWidth.w) - 0.5),
65
- max(0.0, u_radius.y - max(u_borderWidth.x, u_borderWidth.y) - 0.5),
66
- max(0.0, u_radius.z - max(u_borderWidth.z, u_borderWidth.y) - 0.5),
67
- max(0.0, u_radius.w - max(u_borderWidth.z, u_borderWidth.w) - 0.5)
68
- );
69
-
70
- v_innerSize = (vec2(u_dimensions.x - (u_borderWidth[3] + u_borderWidth[1]) + 1.0, u_dimensions.y - (u_borderWidth[0] + u_borderWidth[2])) - 2.0) * 0.5;
71
-
72
- gl_Position = vec4(normalized.x * screenSpace.x - 1.0, normalized.y * -abs(screenSpace.y) + 1.0, 0.0, 1.0);
73
- gl_Position.y = -sign(screenSpace.y) * gl_Position.y;
74
- }
75
- `,
76
- fragment: `
77
- # ifdef GL_FRAGMENT_PRECISION_HIGH
78
- precision highp float;
79
- # else
80
- precision mediump float;
81
- # endif
82
-
83
- uniform vec2 u_resolution;
84
- uniform float u_pixelRatio;
85
- uniform float u_alpha;
86
- uniform vec2 u_dimensions;
87
- uniform sampler2D u_texture;
88
-
89
- uniform vec4 u_radius;
90
-
91
- uniform vec4 u_borderWidth;
92
- uniform vec4 u_borderColor;
93
-
94
- varying vec4 v_color;
95
- varying vec2 v_textureCoords;
96
- varying vec2 v_nodeCoords;
97
-
98
- varying vec2 v_halfDimensions;
99
- varying vec4 v_innerRadius;
100
- varying vec2 v_innerSize;
101
-
102
- float roundedBox(vec2 p, vec2 s, vec4 r) {
103
- r.xy = (p.x > 0.0) ? r.yz : r.xw;
104
- r.x = (p.y > 0.0) ? r.y : r.x;
105
- vec2 q = abs(p) - s + r.x;
106
- return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - r.x;
107
- }
108
-
109
- void main() {
110
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
111
-
112
- vec2 boxUv = v_nodeCoords.xy * u_dimensions - v_halfDimensions;
113
- float outerDist = roundedBox(boxUv, v_halfDimensions, u_radius);
114
-
115
- float outerAlpha = 1.0 - smoothstep(0.0, 1.0, outerDist);
116
-
117
- boxUv.x += u_borderWidth.y > u_borderWidth.w ? (u_borderWidth.y - u_borderWidth.w) * 0.5 : -(u_borderWidth.w - u_borderWidth.y) * 0.5;
118
- boxUv.y += u_borderWidth.z > u_borderWidth.x ? ((u_borderWidth.z - u_borderWidth.x) * 0.5 + 0.5) : -(u_borderWidth.x - u_borderWidth.z) * 0.5;
119
-
120
- float innerDist = roundedBox(boxUv, v_innerSize, v_innerRadius);
121
- float innerAlpha = 1.0 - smoothstep(0.0, 1.0, innerDist);
122
-
123
- vec4 resColor = mix(u_borderColor, color, innerAlpha);
124
- resColor = mix(vec4(0.0), resColor, outerAlpha);
125
- gl_FragColor = resColor * u_alpha;
126
- }
127
- `,
128
- };
129
- //# sourceMappingURL=RoundedWithBorder.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundedWithBorder.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RoundedWithBorder.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,yBAAyB,GAE1B,MAAM,2CAA2C,CAAC;AAEnD,MAAM,CAAC,MAAM,iBAAiB,GAA4C;IACxE,KAAK,EAAE,yBAAyB,CAAC,KAAK;IACtC,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAS,CAAC,CAAC;QAEtE,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CACrB,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDP;IACD,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmDT;CACF,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
2
- import { type RoundedWithBorderAndShadowProps } from '../templates/RoundedWithBorderAndShadowTemplate.js';
3
- export declare const RoundedWithBorderAndShadow: WebGlShaderType<RoundedWithBorderAndShadowProps>;
@@ -1,149 +0,0 @@
1
- /*
2
- * Copyright 2023 Comcast Cable Communications Management, LLC
3
- * Licensed under the Apache License, Version 2.0 (the "License");
4
- * you may not use this file except in compliance with the License.
5
- * You may obtain a copy of the License at
6
- *
7
- * http://www.apache.org/licenses/LICENSE-2.0
8
- *
9
- * Unless required by applicable law or agreed to in writing, software
10
- * distributed under the License is distributed on an "AS IS" BASIS,
11
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
- * See the License for the specific language governing permissions and
13
- * limitations under the License.
14
- *
15
- * SPDX-License-Identifier: Apache-2.0
16
- */
17
- import { calcFactoredRadiusArray } from '../../lib/utils.js';
18
- import { RoundedWithBorderAndShadowTemplate, } from '../templates/RoundedWithBorderAndShadowTemplate.js';
19
- export const RoundedWithBorderAndShadow = {
20
- props: RoundedWithBorderAndShadowTemplate.props,
21
- update(node) {
22
- this.uniformRGBA('u_borderColor', this.props['border-color']);
23
- this.uniform4fa('u_borderWidth', this.props['border-width']);
24
- this.uniformRGBA('u_shadowColor', this.props['shadow-color']);
25
- this.uniform4fa('u_shadow', this.props['shadow-projection']);
26
- this.uniform4fa('u_radius', calcFactoredRadiusArray(this.props.radius, node.width, node.height));
27
- },
28
- vertex: `
29
- # ifdef GL_FRAGMENT_PRECISION_HIGH
30
- precision highp float;
31
- # else
32
- precision mediump float;
33
- # endif
34
-
35
- attribute vec2 a_position;
36
- attribute vec2 a_textureCoords;
37
- attribute vec4 a_color;
38
- attribute vec2 a_nodeCoords;
39
-
40
- uniform vec2 u_resolution;
41
- uniform float u_pixelRatio;
42
- uniform float u_rtt;
43
- uniform vec2 u_dimensions;
44
-
45
- uniform vec4 u_shadow;
46
- uniform vec4 u_radius;
47
- uniform vec4 u_borderWidth;
48
-
49
- varying vec4 v_color;
50
- varying vec2 v_textureCoords;
51
- varying vec2 v_nodeCoords;
52
-
53
- varying vec4 v_innerRadius;
54
- varying vec2 v_innerSize;
55
- varying vec2 v_halfDimensions;
56
-
57
- void main() {
58
- vec2 screenSpace = vec2(2.0 / u_resolution.x, -2.0 / u_resolution.y);
59
- vec2 outerEdge = clamp(a_nodeCoords * 2.0 - vec2(1.0), -1.0, 1.0);
60
-
61
- vec2 shadowEdge = outerEdge * ((u_shadow.w * 2.0)+ u_shadow.z) + u_shadow.xy;
62
- vec2 normVertexPos = a_position * u_pixelRatio;
63
-
64
- vec2 vertexPos = (a_position + outerEdge + shadowEdge) * u_pixelRatio;
65
- gl_Position = vec4(vertexPos.x * screenSpace.x - 1.0, -sign(screenSpace.y) * (vertexPos.y * -abs(screenSpace.y)) + 1.0, 0.0, 1.0);
66
-
67
- v_halfDimensions = u_dimensions * 0.5;
68
-
69
- v_innerRadius = vec4(
70
- max(0.0, u_radius.x - max(u_borderWidth.x, u_borderWidth.w) - 0.5),
71
- max(0.0, u_radius.y - max(u_borderWidth.x, u_borderWidth.y) - 0.5),
72
- max(0.0, u_radius.z - max(u_borderWidth.z, u_borderWidth.y) - 0.5),
73
- max(0.0, u_radius.w - max(u_borderWidth.z, u_borderWidth.w) - 0.5)
74
- );
75
-
76
- v_innerSize = (vec2(u_dimensions.x - (u_borderWidth[3] + u_borderWidth[1]) - 1.0, u_dimensions.y - (u_borderWidth[0] + u_borderWidth[2])) - 2.0) * 0.5;
77
-
78
- v_color = a_color;
79
- v_nodeCoords = a_nodeCoords + (screenSpace + shadowEdge) / (u_dimensions);
80
- v_textureCoords = a_textureCoords + (screenSpace + shadowEdge) / (u_dimensions);
81
- }
82
- `,
83
- fragment: `
84
- # ifdef GL_FRAGMENT_PRECISION_HIGH
85
- precision highp float;
86
- # else
87
- precision mediump float;
88
- # endif
89
-
90
- uniform vec2 u_resolution;
91
- uniform float u_pixelRatio;
92
- uniform float u_alpha;
93
- uniform vec2 u_dimensions;
94
- uniform sampler2D u_texture;
95
- uniform float u_rtt;
96
-
97
- uniform vec4 u_radius;
98
- uniform vec4 u_borderWidth;
99
- uniform vec4 u_borderColor;
100
- uniform vec4 u_shadowColor;
101
- uniform vec4 u_shadow;
102
-
103
- varying vec4 v_color;
104
- varying vec2 v_textureCoords;
105
- varying vec2 v_nodeCoords;
106
-
107
- varying vec2 v_halfDimensions;
108
- varying vec4 v_innerRadius;
109
- varying vec2 v_innerSize;
110
-
111
- float roundedBox(vec2 p, vec2 s, vec4 r) {
112
- r.xy = (p.x > 0.0) ? r.yz : r.xw;
113
- r.x = (p.y > 0.0) ? r.y : r.x;
114
- vec2 q = abs(p) - s + r.x;
115
- return (min(max(q.x, q.y), 0.0) + length(max(q, 0.0))) - r.x;
116
- }
117
-
118
- float shadowBox(vec2 p, vec2 s, vec4 r) {
119
- r.xy = (p.x > 0.0) ? r.yz : r.xw;
120
- r.x = (p.y > 0.0) ? r.y : r.x;
121
- vec2 q = abs(p) - s + r.x;
122
- float dist = min(max(q.x, q.y), 0.0) + length(max(q, 0.0)) - r.x;
123
- return 1.0 - smoothstep(-u_shadow.w, u_shadow.w + u_shadow.z, dist);
124
- }
125
-
126
- void main() {
127
- vec4 color = texture2D(u_texture, v_textureCoords) * v_color;
128
-
129
- vec2 boxUv = v_nodeCoords.xy * u_dimensions - v_halfDimensions;
130
- float outerDist = roundedBox(boxUv, v_halfDimensions - 1.0, u_radius);
131
-
132
- float outerAlpha = 1.0 - smoothstep(0.0, 1.0, outerDist);
133
-
134
- boxUv.x += u_borderWidth.y > u_borderWidth.w ? (u_borderWidth.y - u_borderWidth.w) * 0.5 : -(u_borderWidth.w - u_borderWidth.y) * 0.5;
135
- boxUv.y += u_borderWidth.z > u_borderWidth.x ? ((u_borderWidth.z - u_borderWidth.x) * 0.5 + 0.5) : -(u_borderWidth.x - u_borderWidth.z) * 0.5;
136
-
137
- float innerDist = roundedBox(boxUv, v_innerSize, v_innerRadius);
138
- float innerAlpha = 1.0 - smoothstep(0.0, 1.0, innerDist);
139
-
140
- float shadowAlpha = shadowBox(boxUv - u_shadow.xy, v_halfDimensions + u_shadow.w, u_radius + u_shadow.z);
141
-
142
- vec4 shadow = mix(vec4(0.0), u_shadowColor, shadowAlpha);
143
- vec4 resColor = mix(u_borderColor, color, innerAlpha);
144
- resColor = mix(shadow, resColor, outerAlpha);
145
- gl_FragColor = resColor * u_alpha;
146
- }
147
- `,
148
- };
149
- //# sourceMappingURL=RoundedWithBorderAndShadow.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"RoundedWithBorderAndShadow.js","sourceRoot":"","sources":["../../../../../src/core/shaders/webgl/RoundedWithBorderAndShadow.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAG7D,OAAO,EACL,kCAAkC,GAEnC,MAAM,oDAAoD,CAAC;AAE5D,MAAM,CAAC,MAAM,0BAA0B,GACrC;IACE,KAAK,EAAE,kCAAkC,CAAC,KAAK;IAC/C,MAAM,CAAC,IAAc;QACnB,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAS,CAAC,CAAC;QAEtE,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE,IAAI,CAAC,KAAM,CAAC,cAAc,CAAC,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC,KAAM,CAAC,mBAAmB,CAAC,CAAC,CAAC;QAE9D,IAAI,CAAC,UAAU,CACb,UAAU,EACV,uBAAuB,CACrB,IAAI,CAAC,KAAM,CAAC,MAAc,EAC1B,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,MAAM,CACZ,CACF,CAAC;IACJ,CAAC;IACD,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDT;IACC,QAAQ,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEX;CACA,CAAC"}
@@ -1,3 +0,0 @@
1
- import type { WebGlShaderType } from '../../renderers/webgl/WebGlShaderNode.js';
2
- import { type RoundedWithShadowProps } from '../templates/RoundedWithShadowTemplate.js';
3
- export declare const RoundedWithShadow: WebGlShaderType<RoundedWithShadowProps>;