shaders 2.2.44 → 2.2.46

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 (399) hide show
  1. package/LICENSE +17 -6
  2. package/README.md +4 -60
  3. package/dist/core/{AngularBlur-CuwAjUOA.js → AngularBlur-CQYutWxj.js} +6 -2
  4. package/dist/core/{Beam-CbG4MkLo.js → Beam-CZo-XeQ-.js} +4 -4
  5. package/dist/core/{Blob-Ck1tVOL_.js → Blob-D3PIrwWv.js} +7 -7
  6. package/dist/core/{BrightnessContrast-CaErceqR.js → BrightnessContrast-SC7HYw9z.js} +2 -2
  7. package/dist/core/{Bulge-BVcWo6On.js → Bulge-CbZA25NX.js} +3 -3
  8. package/dist/core/{CRTScreen-CcAYeqoI.js → CRTScreen-DV5Y2GRA.js} +34 -6
  9. package/dist/core/{Checkerboard-D_hGvoO7.js → Checkerboard-DBcVaYQv.js} +6 -9
  10. package/dist/core/{ChromaFlow-DizYQSgf.js → ChromaFlow-DcqnZ1wf.js} +5 -4
  11. package/dist/core/{ChromaticAberration-Bk_DMYJm.js → ChromaticAberration-Dgf83J6w.js} +4 -3
  12. package/dist/core/{Circle-BlVzkeyl.js → Circle-BWd84W7f.js} +2 -2
  13. package/dist/core/{CursorTrail-CxXWV7KH.js → CursorTrail-BKfdORYc.js} +5 -4
  14. package/dist/core/{Dither-C1KyBYuE.js → Dither-DWoCLL0e.js} +1 -1
  15. package/dist/core/{DotGrid-ll8XCA0p.js → DotGrid-BZVfqUZO.js} +2 -2
  16. package/dist/core/{Duotone-d2gQJr4M.js → Duotone-sjvdZBlx.js} +1 -1
  17. package/dist/core/{FilmGrain-3h6TIe1T.js → FilmGrain-Cr3qP38A.js} +1 -1
  18. package/dist/core/{FloatingParticles-D95-rj4h.js → FloatingParticles-CPsVFZJl.js} +5 -5
  19. package/dist/core/{GlassTiles-DqT67iqr.js → GlassTiles-C6LLjlnB.js} +9 -7
  20. package/dist/core/{Glow-BYNKuw0E.js → Glow-C2avDr73.js} +3 -3
  21. package/dist/core/{Godrays-DCk1c8sQ.js → Godrays-RVh5ylQ-.js} +8 -6
  22. package/dist/core/{GridDistortion-D-iiGELF.js → GridDistortion-fimECOse.js} +12 -23
  23. package/dist/core/{Halftone-CV0aFuRG.js → Halftone-Cb5yrPnj.js} +1 -1
  24. package/dist/core/{LinearBlur-CTXjolzL.js → LinearBlur-CfMT259a.js} +2 -1
  25. package/dist/core/{LinearGradient-CZo6e7r8.js → LinearGradient-Cn7w-umQ.js} +6 -2
  26. package/dist/core/{Liquify-BbfDBMNZ.js → Liquify-BCkIt0A1.js} +1 -18
  27. package/dist/core/{Perspective-CSP2Hb16.js → Perspective-CJOFHxEC.js} +1 -1
  28. package/dist/core/{Pixelate-BAoi-CSx.js → Pixelate-BhNAxBsT.js} +7 -3
  29. package/dist/core/{PolarCoordinates-BwN9HhFK.js → PolarCoordinates-DLs3K__1.js} +3 -3
  30. package/dist/core/{ProgressiveBlur-RuAm_BKx.js → ProgressiveBlur-BIZSnUjp.js} +5 -2
  31. package/dist/core/{RadialGradient-BfFuRbIl.js → RadialGradient-sQgXXXQk.js} +1 -1
  32. package/dist/core/{RectangularCoordinates-CiW3J4UT.js → RectangularCoordinates-CyarkXn0.js} +2 -2
  33. package/dist/core/{Ripples-DKBIp3Qq.js → Ripples-Djjw66Bn.js} +3 -3
  34. package/dist/core/{Saturation-DVVlpikK.js → Saturation-DLHW_GP6.js} +1 -1
  35. package/dist/core/{Sharpness-cw57bW0s.js → Sharpness-DkGuV_dy.js} +1 -1
  36. package/dist/core/{Shatter-COjV2jLy.js → Shatter-DVgj2Ea3.js} +3 -2
  37. package/dist/core/{SimplexNoise-Ce79jgYM.js → SimplexNoise-BXtLTcAr.js} +1 -1
  38. package/dist/core/{SineWave-Cv2gOU8a.js → SineWave-BxqFasFh.js} +3 -3
  39. package/dist/core/{Spherize-R-s4pX9t.js → Spherize-DIJ4c_EG.js} +4 -4
  40. package/dist/core/{Spiral-W4dALX1z.js → Spiral-BBtmU1Fv.js} +3 -3
  41. package/dist/core/{Strands-DtN5POfO.js → Strands-D6UOhX0L.js} +5 -5
  42. package/dist/core/{Stretch-BzvP_hdu.js → Stretch-DLpz8Ofm.js} +2 -2
  43. package/dist/core/{Stripes-BbNFX05u.js → Stripes-Bre3Z2m_.js} +5 -5
  44. package/dist/core/{TiltShift-B6gbm7Z8.js → TiltShift-BPpXBzBg.js} +6 -4
  45. package/dist/core/{Tint-CpnitsHw.js → Tint-BazvezVn.js} +1 -1
  46. package/dist/core/{Tritone-DzvSKVfR.js → Tritone-w0h2ebDB.js} +1 -1
  47. package/dist/core/{Twirl-BXH4uAd6.js → Twirl-dmfYS2Eo.js} +7 -5
  48. package/dist/core/{Vibrance-ByN9bRgU.js → Vibrance-BpWyAK9W.js} +1 -1
  49. package/dist/core/{WaveDistortion-BA1PyqYH.js → WaveDistortion-hWdvaZmT.js} +6 -4
  50. package/dist/core/{ZoomBlur-CIkkDBIo.js → ZoomBlur-DCI4uHOL.js} +5 -2
  51. package/dist/core/index.js +0 -25
  52. package/dist/core/registry.js +48 -48
  53. package/dist/core/renderer.d.ts +0 -1
  54. package/dist/core/renderer.d.ts.map +1 -1
  55. package/dist/core/shaders/AngularBlur/index.d.ts.map +1 -1
  56. package/dist/core/shaders/AngularBlur/index.js +1 -1
  57. package/dist/core/shaders/Beam/index.js +1 -1
  58. package/dist/core/shaders/Blob/index.js +1 -1
  59. package/dist/core/shaders/BrightnessContrast/index.js +1 -1
  60. package/dist/core/shaders/Bulge/index.js +1 -1
  61. package/dist/core/shaders/CRTScreen/index.d.ts +14 -0
  62. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  63. package/dist/core/shaders/CRTScreen/index.js +1 -1
  64. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  65. package/dist/core/shaders/Checkerboard/index.js +1 -1
  66. package/dist/core/shaders/ChromaFlow/index.d.ts +1 -1
  67. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  68. package/dist/core/shaders/ChromaFlow/index.js +1 -1
  69. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  70. package/dist/core/shaders/ChromaticAberration/index.js +1 -1
  71. package/dist/core/shaders/Circle/index.js +1 -1
  72. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  73. package/dist/core/shaders/CursorTrail/index.js +1 -1
  74. package/dist/core/shaders/Dither/index.js +1 -1
  75. package/dist/core/shaders/DotGrid/index.js +1 -1
  76. package/dist/core/shaders/Duotone/index.js +1 -1
  77. package/dist/core/shaders/FilmGrain/index.js +1 -1
  78. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  79. package/dist/core/shaders/GlassTiles/index.d.ts +1 -1
  80. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  81. package/dist/core/shaders/GlassTiles/index.js +1 -1
  82. package/dist/core/shaders/Glow/index.js +1 -1
  83. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  84. package/dist/core/shaders/Godrays/index.js +1 -1
  85. package/dist/core/shaders/GridDistortion/index.d.ts +0 -7
  86. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  87. package/dist/core/shaders/GridDistortion/index.js +1 -1
  88. package/dist/core/shaders/Halftone/index.js +1 -1
  89. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  90. package/dist/core/shaders/LinearBlur/index.js +1 -1
  91. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  92. package/dist/core/shaders/LinearGradient/index.js +1 -1
  93. package/dist/core/shaders/Liquify/index.d.ts +0 -7
  94. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  95. package/dist/core/shaders/Liquify/index.js +1 -1
  96. package/dist/core/shaders/Perspective/index.js +1 -1
  97. package/dist/core/shaders/Pixelate/index.d.ts +1 -1
  98. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  99. package/dist/core/shaders/Pixelate/index.js +1 -1
  100. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  101. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  102. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  103. package/dist/core/shaders/RadialGradient/index.js +1 -1
  104. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  105. package/dist/core/shaders/Ripples/index.js +1 -1
  106. package/dist/core/shaders/Saturation/index.js +1 -1
  107. package/dist/core/shaders/Sharpness/index.js +1 -1
  108. package/dist/core/shaders/Shatter/index.d.ts.map +1 -1
  109. package/dist/core/shaders/Shatter/index.js +1 -1
  110. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  111. package/dist/core/shaders/SineWave/index.js +1 -1
  112. package/dist/core/shaders/Spherize/index.js +1 -1
  113. package/dist/core/shaders/Spiral/index.js +1 -1
  114. package/dist/core/shaders/Strands/index.d.ts +1 -1
  115. package/dist/core/shaders/Strands/index.js +1 -1
  116. package/dist/core/shaders/Stretch/index.js +1 -1
  117. package/dist/core/shaders/Stripes/index.d.ts +1 -1
  118. package/dist/core/shaders/Stripes/index.js +1 -1
  119. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  120. package/dist/core/shaders/TiltShift/index.js +1 -1
  121. package/dist/core/shaders/Tint/index.js +1 -1
  122. package/dist/core/shaders/Tritone/index.js +1 -1
  123. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  124. package/dist/core/shaders/Twirl/index.js +1 -1
  125. package/dist/core/shaders/Vibrance/index.js +1 -1
  126. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  127. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  128. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  129. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  130. package/dist/core/telemetry/collector.d.ts.map +1 -1
  131. package/dist/core/telemetry/environmentCollector.d.ts.map +1 -1
  132. package/dist/core/telemetry/index.d.ts +1 -1
  133. package/dist/core/telemetry/index.d.ts.map +1 -1
  134. package/dist/core/telemetry/index.js +28 -23
  135. package/dist/core/telemetry/types.d.ts +2 -8
  136. package/dist/core/telemetry/types.d.ts.map +1 -1
  137. package/dist/react/AngularBlur.js +7 -7
  138. package/dist/react/Ascii.js +7 -7
  139. package/dist/react/Beam.js +7 -7
  140. package/dist/react/Blob.js +7 -7
  141. package/dist/react/Blur.js +7 -7
  142. package/dist/react/BrightnessContrast.js +7 -7
  143. package/dist/react/Bulge.js +7 -7
  144. package/dist/react/CRTScreen.js +7 -7
  145. package/dist/react/ChannelBlur.js +7 -7
  146. package/dist/react/Checkerboard.js +7 -7
  147. package/dist/react/ChromaFlow.js +7 -7
  148. package/dist/react/ChromaticAberration.js +7 -7
  149. package/dist/react/Circle.js +7 -7
  150. package/dist/react/CursorTrail.js +7 -7
  151. package/dist/react/DiffuseBlur.js +7 -7
  152. package/dist/react/Dither.js +7 -7
  153. package/dist/react/DotGrid.js +7 -7
  154. package/dist/react/Duotone.js +7 -7
  155. package/dist/react/FilmGrain.js +7 -7
  156. package/dist/react/FloatingParticles.js +7 -7
  157. package/dist/react/GlassTiles.js +7 -7
  158. package/dist/react/Glow.js +7 -7
  159. package/dist/react/Godrays.js +7 -7
  160. package/dist/react/Grayscale.js +7 -7
  161. package/dist/react/Grid.js +7 -7
  162. package/dist/react/GridDistortion.js +7 -7
  163. package/dist/react/Group.js +7 -7
  164. package/dist/react/Halftone.js +7 -7
  165. package/dist/react/HueShift.js +7 -7
  166. package/dist/react/ImageTexture.js +7 -7
  167. package/dist/react/Invert.js +7 -7
  168. package/dist/react/LinearBlur.js +7 -7
  169. package/dist/react/LinearGradient.js +7 -7
  170. package/dist/react/Liquify.js +7 -7
  171. package/dist/react/Perspective.js +7 -7
  172. package/dist/react/Pixelate.js +7 -7
  173. package/dist/react/PolarCoordinates.js +7 -7
  174. package/dist/react/Posterize.js +7 -7
  175. package/dist/react/ProgressiveBlur.js +7 -7
  176. package/dist/react/RadialGradient.js +7 -7
  177. package/dist/react/RectangularCoordinates.js +7 -7
  178. package/dist/react/Ripples.js +7 -7
  179. package/dist/react/Saturation.js +7 -7
  180. package/dist/react/Shader.js +33 -21
  181. package/dist/react/Sharpness.js +7 -7
  182. package/dist/react/Shatter.js +7 -7
  183. package/dist/react/SimplexNoise.js +7 -7
  184. package/dist/react/SineWave.js +7 -7
  185. package/dist/react/SolidColor.js +7 -7
  186. package/dist/react/Spherize.js +7 -7
  187. package/dist/react/Spiral.js +7 -7
  188. package/dist/react/Strands.js +7 -7
  189. package/dist/react/Stretch.js +7 -7
  190. package/dist/react/Stripes.js +7 -7
  191. package/dist/react/Swirl.js +7 -7
  192. package/dist/react/TiltShift.js +7 -7
  193. package/dist/react/Tint.js +7 -7
  194. package/dist/react/Tritone.js +7 -7
  195. package/dist/react/Twirl.js +7 -7
  196. package/dist/react/Vibrance.js +7 -7
  197. package/dist/react/WaveDistortion.js +7 -7
  198. package/dist/react/WebcamTexture.js +7 -7
  199. package/dist/react/ZoomBlur.js +7 -7
  200. package/dist/react/components/AngularBlur.d.ts +2 -2
  201. package/dist/react/components/AngularBlur.d.ts.map +1 -1
  202. package/dist/react/components/Ascii.d.ts +2 -2
  203. package/dist/react/components/Ascii.d.ts.map +1 -1
  204. package/dist/react/components/Beam.d.ts +2 -2
  205. package/dist/react/components/Beam.d.ts.map +1 -1
  206. package/dist/react/components/Blob.d.ts +2 -2
  207. package/dist/react/components/Blob.d.ts.map +1 -1
  208. package/dist/react/components/Blur.d.ts +2 -2
  209. package/dist/react/components/Blur.d.ts.map +1 -1
  210. package/dist/react/components/BrightnessContrast.d.ts +2 -2
  211. package/dist/react/components/BrightnessContrast.d.ts.map +1 -1
  212. package/dist/react/components/Bulge.d.ts +2 -2
  213. package/dist/react/components/Bulge.d.ts.map +1 -1
  214. package/dist/react/components/CRTScreen.d.ts +2 -2
  215. package/dist/react/components/CRTScreen.d.ts.map +1 -1
  216. package/dist/react/components/ChannelBlur.d.ts +2 -2
  217. package/dist/react/components/ChannelBlur.d.ts.map +1 -1
  218. package/dist/react/components/Checkerboard.d.ts +2 -2
  219. package/dist/react/components/Checkerboard.d.ts.map +1 -1
  220. package/dist/react/components/ChromaFlow.d.ts +2 -2
  221. package/dist/react/components/ChromaFlow.d.ts.map +1 -1
  222. package/dist/react/components/ChromaticAberration.d.ts +2 -2
  223. package/dist/react/components/ChromaticAberration.d.ts.map +1 -1
  224. package/dist/react/components/Circle.d.ts +2 -2
  225. package/dist/react/components/Circle.d.ts.map +1 -1
  226. package/dist/react/components/CursorTrail.d.ts +2 -2
  227. package/dist/react/components/CursorTrail.d.ts.map +1 -1
  228. package/dist/react/components/DiffuseBlur.d.ts +2 -2
  229. package/dist/react/components/DiffuseBlur.d.ts.map +1 -1
  230. package/dist/react/components/Dither.d.ts +2 -2
  231. package/dist/react/components/Dither.d.ts.map +1 -1
  232. package/dist/react/components/DotGrid.d.ts +2 -2
  233. package/dist/react/components/DotGrid.d.ts.map +1 -1
  234. package/dist/react/components/Duotone.d.ts +2 -2
  235. package/dist/react/components/Duotone.d.ts.map +1 -1
  236. package/dist/react/components/FilmGrain.d.ts +2 -2
  237. package/dist/react/components/FilmGrain.d.ts.map +1 -1
  238. package/dist/react/components/FloatingParticles.d.ts +2 -2
  239. package/dist/react/components/FloatingParticles.d.ts.map +1 -1
  240. package/dist/react/components/GlassTiles.d.ts +2 -2
  241. package/dist/react/components/GlassTiles.d.ts.map +1 -1
  242. package/dist/react/components/Glow.d.ts +2 -2
  243. package/dist/react/components/Glow.d.ts.map +1 -1
  244. package/dist/react/components/Godrays.d.ts +2 -2
  245. package/dist/react/components/Godrays.d.ts.map +1 -1
  246. package/dist/react/components/Grayscale.d.ts +2 -2
  247. package/dist/react/components/Grayscale.d.ts.map +1 -1
  248. package/dist/react/components/Grid.d.ts +2 -2
  249. package/dist/react/components/Grid.d.ts.map +1 -1
  250. package/dist/react/components/GridDistortion.d.ts +2 -2
  251. package/dist/react/components/GridDistortion.d.ts.map +1 -1
  252. package/dist/react/components/Group.d.ts +2 -2
  253. package/dist/react/components/Group.d.ts.map +1 -1
  254. package/dist/react/components/Halftone.d.ts +2 -2
  255. package/dist/react/components/Halftone.d.ts.map +1 -1
  256. package/dist/react/components/HueShift.d.ts +2 -2
  257. package/dist/react/components/HueShift.d.ts.map +1 -1
  258. package/dist/react/components/ImageTexture.d.ts +2 -2
  259. package/dist/react/components/ImageTexture.d.ts.map +1 -1
  260. package/dist/react/components/Invert.d.ts +2 -2
  261. package/dist/react/components/Invert.d.ts.map +1 -1
  262. package/dist/react/components/LinearBlur.d.ts +2 -2
  263. package/dist/react/components/LinearBlur.d.ts.map +1 -1
  264. package/dist/react/components/LinearGradient.d.ts +2 -2
  265. package/dist/react/components/LinearGradient.d.ts.map +1 -1
  266. package/dist/react/components/Liquify.d.ts +2 -2
  267. package/dist/react/components/Liquify.d.ts.map +1 -1
  268. package/dist/react/components/Perspective.d.ts +2 -2
  269. package/dist/react/components/Perspective.d.ts.map +1 -1
  270. package/dist/react/components/Pixelate.d.ts +2 -2
  271. package/dist/react/components/Pixelate.d.ts.map +1 -1
  272. package/dist/react/components/PolarCoordinates.d.ts +2 -2
  273. package/dist/react/components/PolarCoordinates.d.ts.map +1 -1
  274. package/dist/react/components/Posterize.d.ts +2 -2
  275. package/dist/react/components/Posterize.d.ts.map +1 -1
  276. package/dist/react/components/ProgressiveBlur.d.ts +2 -2
  277. package/dist/react/components/ProgressiveBlur.d.ts.map +1 -1
  278. package/dist/react/components/RadialGradient.d.ts +2 -2
  279. package/dist/react/components/RadialGradient.d.ts.map +1 -1
  280. package/dist/react/components/RectangularCoordinates.d.ts +2 -2
  281. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -1
  282. package/dist/react/components/Ripples.d.ts +2 -2
  283. package/dist/react/components/Ripples.d.ts.map +1 -1
  284. package/dist/react/components/Saturation.d.ts +2 -2
  285. package/dist/react/components/Saturation.d.ts.map +1 -1
  286. package/dist/react/components/Sharpness.d.ts +2 -2
  287. package/dist/react/components/Sharpness.d.ts.map +1 -1
  288. package/dist/react/components/Shatter.d.ts +2 -2
  289. package/dist/react/components/Shatter.d.ts.map +1 -1
  290. package/dist/react/components/SimplexNoise.d.ts +2 -2
  291. package/dist/react/components/SimplexNoise.d.ts.map +1 -1
  292. package/dist/react/components/SineWave.d.ts +2 -2
  293. package/dist/react/components/SineWave.d.ts.map +1 -1
  294. package/dist/react/components/SolidColor.d.ts +2 -2
  295. package/dist/react/components/SolidColor.d.ts.map +1 -1
  296. package/dist/react/components/Spherize.d.ts +2 -2
  297. package/dist/react/components/Spherize.d.ts.map +1 -1
  298. package/dist/react/components/Spiral.d.ts +2 -2
  299. package/dist/react/components/Spiral.d.ts.map +1 -1
  300. package/dist/react/components/Strands.d.ts +2 -2
  301. package/dist/react/components/Strands.d.ts.map +1 -1
  302. package/dist/react/components/Stretch.d.ts +2 -2
  303. package/dist/react/components/Stretch.d.ts.map +1 -1
  304. package/dist/react/components/Stripes.d.ts +2 -2
  305. package/dist/react/components/Stripes.d.ts.map +1 -1
  306. package/dist/react/components/Swirl.d.ts +2 -2
  307. package/dist/react/components/Swirl.d.ts.map +1 -1
  308. package/dist/react/components/TiltShift.d.ts +2 -2
  309. package/dist/react/components/TiltShift.d.ts.map +1 -1
  310. package/dist/react/components/Tint.d.ts +2 -2
  311. package/dist/react/components/Tint.d.ts.map +1 -1
  312. package/dist/react/components/Tritone.d.ts +2 -2
  313. package/dist/react/components/Tritone.d.ts.map +1 -1
  314. package/dist/react/components/Twirl.d.ts +2 -2
  315. package/dist/react/components/Twirl.d.ts.map +1 -1
  316. package/dist/react/components/Vibrance.d.ts +2 -2
  317. package/dist/react/components/Vibrance.d.ts.map +1 -1
  318. package/dist/react/components/WaveDistortion.d.ts +2 -2
  319. package/dist/react/components/WaveDistortion.d.ts.map +1 -1
  320. package/dist/react/components/WebcamTexture.d.ts +2 -2
  321. package/dist/react/components/WebcamTexture.d.ts.map +1 -1
  322. package/dist/react/components/ZoomBlur.d.ts +2 -2
  323. package/dist/react/components/ZoomBlur.d.ts.map +1 -1
  324. package/dist/react/engine/Shader.d.ts +9 -9
  325. package/dist/react/engine/Shader.d.ts.map +1 -1
  326. package/dist/react/engine/component.template.d.ts +2 -2
  327. package/dist/react/engine/component.template.d.ts.map +1 -1
  328. package/dist/registry.js +228 -228
  329. package/dist/solid/engine/Shader.d.ts +1 -1
  330. package/dist/solid/engine/Shader.d.ts.map +1 -1
  331. package/dist/solid/engine/Shader.js +24 -7
  332. package/dist/svelte/engine/Shader.svelte.d.ts +1 -1
  333. package/dist/svelte/index.js +22 -9
  334. package/dist/vue/AngularBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  335. package/dist/vue/Ascii.vue_vue_type_script_setup_true_lang.js +8 -8
  336. package/dist/vue/Beam.vue_vue_type_script_setup_true_lang.js +8 -8
  337. package/dist/vue/Blob.vue_vue_type_script_setup_true_lang.js +8 -8
  338. package/dist/vue/Blur.vue_vue_type_script_setup_true_lang.js +8 -8
  339. package/dist/vue/BrightnessContrast.vue_vue_type_script_setup_true_lang.js +8 -8
  340. package/dist/vue/Bulge.vue_vue_type_script_setup_true_lang.js +8 -8
  341. package/dist/vue/CRTScreen.vue_vue_type_script_setup_true_lang.js +11 -9
  342. package/dist/vue/ChannelBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  343. package/dist/vue/Checkerboard.vue_vue_type_script_setup_true_lang.js +8 -8
  344. package/dist/vue/ChromaFlow.vue_vue_type_script_setup_true_lang.js +8 -8
  345. package/dist/vue/ChromaticAberration.vue_vue_type_script_setup_true_lang.js +8 -8
  346. package/dist/vue/Circle.vue_vue_type_script_setup_true_lang.js +8 -8
  347. package/dist/vue/CursorTrail.vue_vue_type_script_setup_true_lang.js +8 -8
  348. package/dist/vue/DiffuseBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  349. package/dist/vue/Dither.vue_vue_type_script_setup_true_lang.js +8 -8
  350. package/dist/vue/DotGrid.vue_vue_type_script_setup_true_lang.js +8 -8
  351. package/dist/vue/Duotone.vue_vue_type_script_setup_true_lang.js +8 -8
  352. package/dist/vue/FilmGrain.vue_vue_type_script_setup_true_lang.js +8 -8
  353. package/dist/vue/FloatingParticles.vue_vue_type_script_setup_true_lang.js +8 -8
  354. package/dist/vue/GlassTiles.vue_vue_type_script_setup_true_lang.js +8 -8
  355. package/dist/vue/Glow.vue_vue_type_script_setup_true_lang.js +8 -8
  356. package/dist/vue/Godrays.vue_vue_type_script_setup_true_lang.js +8 -8
  357. package/dist/vue/Grayscale.vue_vue_type_script_setup_true_lang.js +8 -8
  358. package/dist/vue/Grid.vue_vue_type_script_setup_true_lang.js +8 -8
  359. package/dist/vue/GridDistortion.vue_vue_type_script_setup_true_lang.js +8 -9
  360. package/dist/vue/Group.vue_vue_type_script_setup_true_lang.js +8 -8
  361. package/dist/vue/Halftone.vue_vue_type_script_setup_true_lang.js +8 -8
  362. package/dist/vue/HueShift.vue_vue_type_script_setup_true_lang.js +8 -8
  363. package/dist/vue/ImageTexture.vue_vue_type_script_setup_true_lang.js +8 -8
  364. package/dist/vue/Invert.vue_vue_type_script_setup_true_lang.js +8 -8
  365. package/dist/vue/LinearBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  366. package/dist/vue/LinearGradient.vue_vue_type_script_setup_true_lang.js +8 -8
  367. package/dist/vue/Liquify.vue_vue_type_script_setup_true_lang.js +8 -9
  368. package/dist/vue/Perspective.vue_vue_type_script_setup_true_lang.js +8 -8
  369. package/dist/vue/Pixelate.vue_vue_type_script_setup_true_lang.js +8 -8
  370. package/dist/vue/PolarCoordinates.vue_vue_type_script_setup_true_lang.js +8 -8
  371. package/dist/vue/Posterize.vue_vue_type_script_setup_true_lang.js +8 -8
  372. package/dist/vue/ProgressiveBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  373. package/dist/vue/RadialGradient.vue_vue_type_script_setup_true_lang.js +8 -8
  374. package/dist/vue/RectangularCoordinates.vue_vue_type_script_setup_true_lang.js +8 -8
  375. package/dist/vue/Ripples.vue_vue_type_script_setup_true_lang.js +8 -8
  376. package/dist/vue/Saturation.vue_vue_type_script_setup_true_lang.js +8 -8
  377. package/dist/vue/Shader.vue_vue_type_script_setup_true_lang.js +27 -14
  378. package/dist/vue/Sharpness.vue_vue_type_script_setup_true_lang.js +8 -8
  379. package/dist/vue/Shatter.vue_vue_type_script_setup_true_lang.js +8 -8
  380. package/dist/vue/SimplexNoise.vue_vue_type_script_setup_true_lang.js +8 -8
  381. package/dist/vue/SineWave.vue_vue_type_script_setup_true_lang.js +8 -8
  382. package/dist/vue/SolidColor.vue_vue_type_script_setup_true_lang.js +8 -8
  383. package/dist/vue/Spherize.vue_vue_type_script_setup_true_lang.js +8 -8
  384. package/dist/vue/Spiral.vue_vue_type_script_setup_true_lang.js +8 -8
  385. package/dist/vue/Strands.vue_vue_type_script_setup_true_lang.js +8 -8
  386. package/dist/vue/Stretch.vue_vue_type_script_setup_true_lang.js +8 -8
  387. package/dist/vue/Stripes.vue_vue_type_script_setup_true_lang.js +8 -8
  388. package/dist/vue/Swirl.vue_vue_type_script_setup_true_lang.js +8 -8
  389. package/dist/vue/TiltShift.vue_vue_type_script_setup_true_lang.js +8 -8
  390. package/dist/vue/Tint.vue_vue_type_script_setup_true_lang.js +8 -8
  391. package/dist/vue/Tritone.vue_vue_type_script_setup_true_lang.js +8 -8
  392. package/dist/vue/Twirl.vue_vue_type_script_setup_true_lang.js +8 -8
  393. package/dist/vue/Vibrance.vue_vue_type_script_setup_true_lang.js +8 -8
  394. package/dist/vue/WaveDistortion.vue_vue_type_script_setup_true_lang.js +8 -8
  395. package/dist/vue/WebcamTexture.vue_vue_type_script_setup_true_lang.js +8 -8
  396. package/dist/vue/ZoomBlur.vue_vue_type_script_setup_true_lang.js +8 -8
  397. package/dist/vue/engine/Shader.vue.d.ts +4 -4
  398. package/dist/vue/engine/Shader.vue.d.ts.map +1 -1
  399. package/package.json +3 -4
package/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
- Shader Effects License Agreement (v1.1)
1
+ Shader Effects License Agreement (v1.2)
2
2
 
3
- Effective Date: October 14, 2025
3
+ Effective Date: January 19, 2026
4
4
  Licensor: Shader Effects, Inc., a Delaware C-Corporation (“Shader Effects,” “we,” “us,” or “our”)
5
5
  Product: Shaders (including all npm packages, components, presets, generated code, and the design platform at shaders.com)
6
6
 
@@ -38,12 +38,23 @@ Use Shaders technology in SaaS products, design tools, or developer frameworks w
38
38
 
39
39
  Official open-source projects may use Shaders without a license key only for their promotional or documentation websites, provided Shaders is not a core or monetized part of the project.
40
40
 
41
- 4. Telemetry and License Verification
41
+ 4. Telemetry and Privacy
42
42
 
43
- Shaders may automatically transmit limited, anonymous usage data to Shader Effects servers for the purposes of performance tracking, reliability improvement, and license compliance.
44
- This data does not include personal information, but may include information such as the domain name, environment type (development or production), and version identifiers to verify that a valid license is in use.
43
+ Shaders may automatically collect and transmit limited, anonymous performance and usage data to Shader Effects' servers for the purposes of improving performance, reliability, and understanding how the library is used in production environments.
45
44
 
46
- By using Shaders, you consent to this limited data collection solely for these operational purposes.
45
+ Data Collected:
46
+ - Performance metrics (frame rate, render times, component usage)
47
+ - Domain name where Shaders is deployed (e.g., "example.com", without URL paths)
48
+ - Browser family (e.g., Chrome, Firefox, Safari)
49
+ - Device type (mobile, tablet, or desktop)
50
+ - Renderer type (WebGPU or WebGL)
51
+
52
+ This data does not include personal information, IP addresses, user identifiers, or any data that can identify individual end users. Telemetry is sampled at a low rate (typically 1-5% of sessions) and respects Do Not Track browser settings.
53
+
54
+ Opt-Out:
55
+ You may disable telemetry collection entirely by setting the `disableTelemetry` prop on the Shader component or by configuring your environment to respect user privacy preferences. Even when enabled, telemetry will not collect data from users with Do Not Track enabled in their browser.
56
+
57
+ By using Shaders, you acknowledge and consent to this limited data collection solely for these operational purposes.
47
58
 
48
59
  5. Right to Promote Usage
49
60
 
package/README.md CHANGED
@@ -1,73 +1,17 @@
1
1
  # Shaders
2
2
 
3
- ## Shader magic for modern frontends
4
-
5
3
  <img alt="image" src="https://shaders.com/og.png" />
6
4
 
7
5
  <p align="center">
8
6
  <a href="https://www.npmjs.com/package/shaders" rel="noopener noreferrer nofollow" ><img src="https://img.shields.io/npm/v/shaders?color=0368FF&label=version" alt="npm version"></a>
9
7
  <a href="https://www.npmjs.com/package/shaders" rel="noopener noreferrer nofollow" ><img src="https://img.shields.io/npm/dm/shaders?color=8D30FF&label=npm" alt="npm downloads per month"></a>
10
8
  <a target="_blank" rel="noopener noreferrer nofollow" href="https://www.jsdelivr.com/package/npm/shaders"><img alt="jsDelivr hits (npm)" src="https://img.shields.io/jsdelivr/npm/hm/shaders?logo=jsdeliver&color=FF4FBA"></a>
11
- <a href="https://img.shields.io/twitter/follow/npm_i_shaders" target="_blank"><img alt="X (formerly Twitter) Follow" src="https://img.shields.io/twitter/follow/npm_i_shaders"></a>
9
+ <a href="https://twitter.com/intent/user?screen_name=npm_i_shaders" target="_blank"><img alt="X (formerly Twitter) Follow" src="https://img.shields.io/twitter/follow/npm_i_shaders"></a>
12
10
  </p>
13
11
 
14
- ## Getting Started
15
-
16
- Shaders is available as component libraries for Vue, React & Svelte. No matter which framework you use, you always install `npm install shaders` and then import components from the framework-specific directory, such as `shaders/vue`.
17
-
18
- ```bash
19
- # Install
20
- npm install shaders
21
- ```
22
-
23
- <details>
24
- <summary>Usage (Vue)</summary>
25
-
26
- ```html
27
- <script>
28
- import { Shader, LinearGradient } from "shaders/vue"
29
- </script>
30
-
31
- <template>
32
- <Shader>
33
- <LinearGradient/>
34
- </Shader>
35
- </template>
36
- ```
37
-
38
- </details>
39
-
40
- <details>
41
- <summary>Usage (React)</summary>
42
-
43
- ```html
44
- <script>
45
- import { Shader, LinearGradient } from "shaders/react"
46
- </script>
47
-
48
- <template>
49
- <Shader>
50
- <LinearGradient/>
51
- </Shader>
52
- </template>
53
- ```
54
-
55
- </details>
56
-
57
- <details>
58
- <summary>Usage (Svelte)</summary>
59
-
60
- ```svelte
61
- <script>
62
- import { Shader, LinearGradient } from "shaders/svelte"
63
- </script>
64
-
65
- <Shader>
66
- <LinearGradient/>
67
- </Shader>
68
- ```
12
+ ## Shader Magic for Modern Frontends
69
13
 
70
- </details>
14
+ Shaders is the component system for creative WebGPU effects in the browser. It's available as component libraries for Vue / Nuxt, React / Next, Svelte & Solid.
71
15
 
72
16
  **Learn more and try the Design Editor at https://shaders.com**
73
17
 
@@ -75,6 +19,6 @@ npm install shaders
75
19
 
76
20
  Shaders © Shader Effects, Inc.
77
21
 
78
- Licensed under the Shader Effects License Agreement (v1.1).
22
+ Licensed under the [Shader Effects License Agreement](./LICENSE).
79
23
  You may use Shaders freely for non-production or educational use.
80
24
  A valid paid license is required for production deployment.
@@ -1,5 +1,5 @@
1
1
  import { s as transformPosition } from "./transformations-YbhRK-rd.js";
2
- import { Fn, convertToTexture, cos, float, screenUV, sin, vec2, vec4 } from "three/tsl";
2
+ import { Fn, convertToTexture, cos, float, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "AngularBlur",
5
5
  category: "Blurs",
@@ -39,8 +39,10 @@ const componentDefinition = {
39
39
  });
40
40
  const center = vec2(uniforms.center.uniform.x, uniforms.center.uniform.y.oneMinus());
41
41
  const angle = uniforms.intensity.uniform.mul(.005);
42
+ const aspect = viewportSize.x.div(viewportSize.y);
42
43
  return Fn(() => {
43
44
  const initialCoord = screenUV.sub(center);
45
+ const aspectCorrectedCoord = vec2(initialCoord.x.mul(aspect), initialCoord.y);
44
46
  const total = vec4(0).toVar();
45
47
  const totalWeight = float(0).toVar();
46
48
  const angleStep = angle.div(float(31));
@@ -50,7 +52,9 @@ const componentDefinition = {
50
52
  const currentAngle = angleStep.mul(float(i));
51
53
  const cosAngle = cos(currentAngle);
52
54
  const sinAngle = sin(currentAngle);
53
- const sampleCoord = vec2(initialCoord.x.mul(cosAngle).sub(initialCoord.y.mul(sinAngle)), initialCoord.x.mul(sinAngle).add(initialCoord.y.mul(cosAngle))).add(center);
55
+ const rotatedX = aspectCorrectedCoord.x.mul(cosAngle).sub(aspectCorrectedCoord.y.mul(sinAngle));
56
+ const rotatedY = aspectCorrectedCoord.x.mul(sinAngle).add(aspectCorrectedCoord.y.mul(cosAngle));
57
+ const sampleCoord = vec2(rotatedX.div(aspect), rotatedY).add(center);
54
58
  const sample = childTexture.sample(sampleCoord).mul(weight);
55
59
  total.assign(total.add(sample));
56
60
  totalWeight.assign(totalWeight.add(weight));
@@ -37,7 +37,7 @@ const componentDefinition = {
37
37
  type: "range",
38
38
  min: 0,
39
39
  max: 2,
40
- step: .01,
40
+ step: .1,
41
41
  label: "Start Thickness"
42
42
  }
43
43
  },
@@ -48,7 +48,7 @@ const componentDefinition = {
48
48
  type: "range",
49
49
  min: 0,
50
50
  max: 2,
51
- step: .01,
51
+ step: .1,
52
52
  label: "End Thickness"
53
53
  }
54
54
  },
@@ -59,7 +59,7 @@ const componentDefinition = {
59
59
  type: "range",
60
60
  min: 0,
61
61
  max: 50,
62
- step: .01,
62
+ step: .1,
63
63
  label: "Start Softness"
64
64
  }
65
65
  },
@@ -70,7 +70,7 @@ const componentDefinition = {
70
70
  type: "range",
71
71
  min: 0,
72
72
  max: 20,
73
- step: .01,
73
+ step: .1,
74
74
  label: "End Softness"
75
75
  }
76
76
  },
@@ -32,7 +32,7 @@ const componentDefinition = {
32
32
  type: "range",
33
33
  min: 0,
34
34
  max: 1,
35
- step: .01,
35
+ step: .1,
36
36
  label: "Size"
37
37
  }
38
38
  },
@@ -43,7 +43,7 @@ const componentDefinition = {
43
43
  type: "range",
44
44
  min: 0,
45
45
  max: 1,
46
- step: .01,
46
+ step: .1,
47
47
  label: "Deformation"
48
48
  }
49
49
  },
@@ -54,7 +54,7 @@ const componentDefinition = {
54
54
  type: "range",
55
55
  min: 0,
56
56
  max: 1,
57
- step: .01,
57
+ step: .1,
58
58
  label: "Softness"
59
59
  }
60
60
  },
@@ -65,7 +65,7 @@ const componentDefinition = {
65
65
  type: "range",
66
66
  min: 0,
67
67
  max: 1,
68
- step: .01,
68
+ step: .1,
69
69
  label: "Highlight Intensity"
70
70
  }
71
71
  },
@@ -76,7 +76,7 @@ const componentDefinition = {
76
76
  type: "range",
77
77
  min: -1,
78
78
  max: 1,
79
- step: .01,
79
+ step: .1,
80
80
  label: "Highlight X"
81
81
  }
82
82
  },
@@ -87,7 +87,7 @@ const componentDefinition = {
87
87
  type: "range",
88
88
  min: -1,
89
89
  max: 1,
90
- step: .01,
90
+ step: .1,
91
91
  label: "Highlight Y"
92
92
  }
93
93
  },
@@ -98,7 +98,7 @@ const componentDefinition = {
98
98
  type: "range",
99
99
  min: -1,
100
100
  max: 1,
101
- step: .01,
101
+ step: .1,
102
102
  label: "Highlight Z"
103
103
  }
104
104
  },
@@ -12,7 +12,7 @@ const componentDefinition = {
12
12
  type: "range",
13
13
  min: -1,
14
14
  max: 1,
15
- step: .01,
15
+ step: .1,
16
16
  label: "Brightness"
17
17
  }
18
18
  },
@@ -23,7 +23,7 @@ const componentDefinition = {
23
23
  type: "range",
24
24
  min: -1,
25
25
  max: 1,
26
- step: .01,
26
+ step: .1,
27
27
  label: "Contrast"
28
28
  },
29
29
  transform: (value) => value + 1
@@ -27,7 +27,7 @@ const componentDefinition = {
27
27
  type: "range",
28
28
  min: -1,
29
29
  max: 1,
30
- step: .01,
30
+ step: .1,
31
31
  label: "Strength"
32
32
  }
33
33
  },
@@ -38,7 +38,7 @@ const componentDefinition = {
38
38
  type: "range",
39
39
  min: 0,
40
40
  max: 5,
41
- step: .01,
41
+ step: .1,
42
42
  label: "Radius"
43
43
  }
44
44
  },
@@ -49,7 +49,7 @@ const componentDefinition = {
49
49
  type: "range",
50
50
  min: 0,
51
51
  max: 1,
52
- step: .01,
52
+ step: .1,
53
53
  label: "Falloff"
54
54
  }
55
55
  },
@@ -1,4 +1,4 @@
1
- import { convertToTexture, float, fract, length, screenUV, sin, smoothstep, vec2, vec3, vec4 } from "three/tsl";
1
+ import { convertToTexture, float, fract, length, mix, screenUV, sin, smoothstep, vec2, vec3, vec4, viewportSize } from "three/tsl";
2
2
  const componentDefinition = {
3
3
  name: "CRTScreen",
4
4
  category: "Stylize",
@@ -35,7 +35,7 @@ const componentDefinition = {
35
35
  type: "range",
36
36
  min: 0,
37
37
  max: 1,
38
- step: .01,
38
+ step: .1,
39
39
  label: "Scanline Intensity"
40
40
  }
41
41
  },
@@ -57,7 +57,7 @@ const componentDefinition = {
57
57
  type: "range",
58
58
  min: .5,
59
59
  max: 2,
60
- step: .01,
60
+ step: .1,
61
61
  label: "Brightness"
62
62
  }
63
63
  },
@@ -68,9 +68,31 @@ const componentDefinition = {
68
68
  type: "range",
69
69
  min: .5,
70
70
  max: 2,
71
- step: .01,
71
+ step: .1,
72
72
  label: "Contrast"
73
73
  }
74
+ },
75
+ vignetteIntensity: {
76
+ default: 1,
77
+ description: "Strength of corner darkening effect (0 = off)",
78
+ ui: {
79
+ type: "range",
80
+ min: 0,
81
+ max: 1,
82
+ step: .1,
83
+ label: "Vignette Intensity"
84
+ }
85
+ },
86
+ vignetteRadius: {
87
+ default: .5,
88
+ description: "How far the vignette extends inward (0 = edges only, 1 = reaches center)",
89
+ ui: {
90
+ type: "range",
91
+ min: 0,
92
+ max: 1,
93
+ step: .1,
94
+ label: "Vignette Radius"
95
+ }
74
96
  }
75
97
  },
76
98
  fragmentNode: ({ uniforms, childNode, onCleanup }) => {
@@ -102,8 +124,14 @@ const componentDefinition = {
102
124
  const greenMask = sin(pixelPhase.x.mul(float(6.28318)).add(float(2.09))).mul(float(.1)).add(float(.95));
103
125
  const blueMask = sin(pixelPhase.x.mul(float(6.28318)).add(float(4.18))).mul(float(.1)).add(float(.95));
104
126
  const phosphorColor = vec3(scanlinedColor.r.mul(redMask), scanlinedColor.g.mul(greenMask), scanlinedColor.b.mul(blueMask));
105
- const vignetteDistance = length(screenUV.sub(vec2(.5, .5)));
106
- const vignette = smoothstep(float(.8), float(.3), vignetteDistance);
127
+ const aspect = viewportSize.x.div(viewportSize.y);
128
+ const centeredUV = screenUV.sub(vec2(.5, .5));
129
+ const vignetteDistance = length(vec2(centeredUV.x.mul(aspect), centeredUV.y));
130
+ const vignetteRadiusProp = uniforms.vignetteRadius.uniform;
131
+ const vignetteIntensity = uniforms.vignetteIntensity.uniform;
132
+ const innerEdge = float(1).sub(vignetteRadiusProp.mul(float(.9)));
133
+ const vignetteValue = smoothstep(innerEdge.add(float(.5)), innerEdge, vignetteDistance);
134
+ const vignette = mix(float(1), vignetteValue, vignetteIntensity);
107
135
  return vec4(phosphorColor.mul(vignette), float(1));
108
136
  }
109
137
  };
@@ -42,7 +42,7 @@ const componentDefinition = {
42
42
  type: "range",
43
43
  min: 0,
44
44
  max: 1,
45
- step: .01,
45
+ step: .1,
46
46
  label: "Softness"
47
47
  }
48
48
  },
@@ -66,14 +66,11 @@ const componentDefinition = {
66
66
  const gridUV = correctedUV.mul(cells);
67
67
  const gridCoords = floor(gridUV);
68
68
  const checkerValue = mod(gridCoords.x.add(gridCoords.y), 2);
69
- let blendFactor = checkerValue;
70
- if (softness) {
71
- const cellUV = fract(gridUV);
72
- const distToEdge = min(min(cellUV.x, float(1).sub(cellUV.x)), min(cellUV.y, float(1).sub(cellUV.y)));
73
- const softRange = softness.mul(.5);
74
- const edgeBlend = smoothstep(float(0), softRange, distToEdge);
75
- blendFactor = checkerValue.mul(edgeBlend).add(float(.5).mul(float(1).sub(edgeBlend)));
76
- }
69
+ const cellUV = fract(gridUV);
70
+ const distToEdge = min(min(cellUV.x, float(1).sub(cellUV.x)), min(cellUV.y, float(1).sub(cellUV.y)));
71
+ const softRange = softness.mul(.5).add(1e-4);
72
+ const edgeBlend = smoothstep(float(0), softRange, distToEdge);
73
+ const blendFactor = checkerValue.mul(edgeBlend).add(float(.5).mul(float(1).sub(edgeBlend)));
77
74
  return mixColors(uniforms.colorA.uniform, uniforms.colorB.uniform, blendFactor, uniforms.colorSpace.uniform);
78
75
  }
79
76
  };
@@ -63,13 +63,13 @@ const componentDefinition = {
63
63
  }
64
64
  },
65
65
  radius: {
66
- default: 2,
66
+ default: 1.5,
67
67
  description: "Radius of the liquid effect",
68
68
  ui: {
69
69
  type: "range",
70
70
  min: 0,
71
71
  max: 3,
72
- step: .01,
72
+ step: .1,
73
73
  label: "Radius"
74
74
  }
75
75
  },
@@ -85,7 +85,7 @@ const componentDefinition = {
85
85
  }
86
86
  }
87
87
  },
88
- fragmentNode: ({ uniforms, onBeforeRender, onCleanup }) => {
88
+ fragmentNode: ({ uniforms, onBeforeRender, onCleanup, dimensions }) => {
89
89
  const GRID_SIZE = 128;
90
90
  const displacementData = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
91
91
  const liquidData = new Float32Array(GRID_SIZE * GRID_SIZE * 2);
@@ -112,6 +112,7 @@ const componentDefinition = {
112
112
  const currentTime = Date.now();
113
113
  const dt = Math.min((currentTime - lastTime) / 1e3, .016);
114
114
  lastTime = currentTime;
115
+ const aspect = dimensions.width / dimensions.height;
115
116
  const velX = dt > 0 ? (pointer.x - prevX) / dt : 0;
116
117
  const velY = dt > 0 ? (pointer.y - prevY) / dt : 0;
117
118
  mouseVelX.value = mouseVelX.value * .85 + velX * .15;
@@ -153,7 +154,7 @@ const componentDefinition = {
153
154
  const idx = (i * GRID_SIZE + j) * 2;
154
155
  const cellX = (j + .5) / GRID_SIZE;
155
156
  const cellY = (i + .5) / GRID_SIZE;
156
- const dx = cellX - pointer.x;
157
+ const dx = (cellX - pointer.x) / aspect;
157
158
  const dy = cellY - pointer.y;
158
159
  const dist = Math.sqrt(dx * dx + dy * dy);
159
160
  const speed = Math.sqrt(mouseVelX.value * mouseVelX.value + mouseVelY.value * mouseVelY.value);
@@ -1,5 +1,5 @@
1
1
  import { n as transformAngle } from "./transformations-YbhRK-rd.js";
2
- import { convertToTexture, cos, radians, screenUV, sin, vec2, vec4 } from "three/tsl";
2
+ import { convertToTexture, cos, radians, screenUV, sin, vec2, vec4, viewportSize } from "three/tsl";
3
3
  const componentDefinition = {
4
4
  name: "ChromaticAberration",
5
5
  category: "Stylize",
@@ -14,7 +14,7 @@ const componentDefinition = {
14
14
  type: "range",
15
15
  min: 0,
16
16
  max: 1,
17
- step: .01,
17
+ step: .1,
18
18
  label: "Strength"
19
19
  }
20
20
  },
@@ -71,7 +71,8 @@ const componentDefinition = {
71
71
  if (childTexture?.renderTarget?.dispose) childTexture.renderTarget.dispose();
72
72
  });
73
73
  const angleRad = radians(uniforms.angle.uniform);
74
- const direction = vec2(cos(angleRad), sin(angleRad));
74
+ const aspect = viewportSize.x.div(viewportSize.y);
75
+ const direction = vec2(cos(angleRad).div(aspect), sin(angleRad));
75
76
  const scaledStrength = uniforms.strength.uniform.mul(.1);
76
77
  const redUV = screenUV.add(direction.mul(scaledStrength).mul(uniforms.redOffset.uniform));
77
78
  const greenUV = screenUV.add(direction.mul(scaledStrength).mul(uniforms.greenOffset.uniform));
@@ -21,7 +21,7 @@ const componentDefinition = {
21
21
  type: "range",
22
22
  min: 0,
23
23
  max: 2,
24
- step: .01,
24
+ step: .1,
25
25
  label: "Radius"
26
26
  }
27
27
  },
@@ -32,7 +32,7 @@ const componentDefinition = {
32
32
  type: "range",
33
33
  min: 0,
34
34
  max: 1,
35
- step: .01,
35
+ step: .1,
36
36
  label: "Softness"
37
37
  }
38
38
  },
@@ -32,7 +32,7 @@ const componentDefinition = {
32
32
  type: "range",
33
33
  min: .5,
34
34
  max: 2,
35
- step: .01,
35
+ step: .1,
36
36
  label: "Radius"
37
37
  }
38
38
  },
@@ -54,7 +54,7 @@ const componentDefinition = {
54
54
  type: "range",
55
55
  min: 0,
56
56
  max: 1,
57
- step: .01,
57
+ step: .1,
58
58
  label: "Shrink Amount"
59
59
  }
60
60
  },
@@ -69,7 +69,7 @@ const componentDefinition = {
69
69
  }
70
70
  }
71
71
  },
72
- fragmentNode: ({ uniforms, onBeforeRender, onCleanup }) => {
72
+ fragmentNode: ({ uniforms, onBeforeRender, onCleanup, dimensions }) => {
73
73
  const GRID_SIZE = 128;
74
74
  const trailData = new Float32Array(GRID_SIZE * GRID_SIZE * 4);
75
75
  const trailTexture = new DataTexture(trailData, GRID_SIZE, GRID_SIZE, RGBAFormat, FloatType);
@@ -84,6 +84,7 @@ const componentDefinition = {
84
84
  const currentTime = Date.now();
85
85
  const dt = Math.min((currentTime - lastTime) / 1e3, .016);
86
86
  lastTime = currentTime;
87
+ const aspect = dimensions.width / dimensions.height;
87
88
  const radius = uniforms.radius.uniform.value * .1;
88
89
  const length$1 = uniforms.length.uniform.value;
89
90
  const shrink = uniforms.shrink.uniform.value;
@@ -107,7 +108,7 @@ const componentDefinition = {
107
108
  const idx = (i * GRID_SIZE + j) * 4;
108
109
  const cellX = (j + .5) / GRID_SIZE;
109
110
  const cellY = (i + .5) / GRID_SIZE;
110
- const cellDx = cellX - pointer.x;
111
+ const cellDx = (cellX - pointer.x) / aspect;
111
112
  const cellDy = cellY - pointer.y;
112
113
  const dist = Math.sqrt(cellDx * cellDx + cellDy * cellDy);
113
114
  if (dist < influenceRadius) {
@@ -24,7 +24,7 @@ const componentDefinition = {
24
24
  type: "range",
25
25
  min: 0,
26
26
  max: 1,
27
- step: .01,
27
+ step: .1,
28
28
  label: "Threshold"
29
29
  }
30
30
  },
@@ -32,7 +32,7 @@ const componentDefinition = {
32
32
  type: "range",
33
33
  min: 0,
34
34
  max: 1,
35
- step: .01,
35
+ step: .1,
36
36
  label: "Dot Size"
37
37
  }
38
38
  },
@@ -43,7 +43,7 @@ const componentDefinition = {
43
43
  type: "range",
44
44
  min: 0,
45
45
  max: 1,
46
- step: .01,
46
+ step: .1,
47
47
  label: "Twinkle"
48
48
  }
49
49
  }
@@ -33,7 +33,7 @@ const componentDefinition = {
33
33
  type: "range",
34
34
  min: 0,
35
35
  max: 1,
36
- step: .01,
36
+ step: .1,
37
37
  label: "Blend"
38
38
  }
39
39
  },
@@ -11,7 +11,7 @@ const componentDefinition = {
11
11
  type: "range",
12
12
  min: 0,
13
13
  max: 1,
14
- step: .01,
14
+ step: .1,
15
15
  label: "Strength"
16
16
  }
17
17
  } },
@@ -33,7 +33,7 @@ const componentDefinition = {
33
33
  type: "range",
34
34
  min: 0,
35
35
  max: 1,
36
- step: .01,
36
+ step: .1,
37
37
  label: "Randomness"
38
38
  }
39
39
  },
@@ -44,7 +44,7 @@ const componentDefinition = {
44
44
  type: "range",
45
45
  min: 0,
46
46
  max: 1,
47
- step: .01,
47
+ step: .1,
48
48
  label: "Speed"
49
49
  }
50
50
  },
@@ -77,7 +77,7 @@ const componentDefinition = {
77
77
  type: "range",
78
78
  min: 0,
79
79
  max: 5,
80
- step: .01,
80
+ step: .1,
81
81
  label: "Particle Softness"
82
82
  }
83
83
  },
@@ -88,7 +88,7 @@ const componentDefinition = {
88
88
  type: "range",
89
89
  min: 0,
90
90
  max: 1,
91
- step: .01,
91
+ step: .1,
92
92
  label: "Twinkle"
93
93
  }
94
94
  },
@@ -119,7 +119,7 @@ const componentDefinition = {
119
119
  type: "range",
120
120
  min: 0,
121
121
  max: 1,
122
- step: .01,
122
+ step: .1,
123
123
  label: "Speed Variance"
124
124
  }
125
125
  },
@@ -1,4 +1,4 @@
1
- import { add, convertToTexture, cos, div, floor, mul, screenUV, sin, sub, uniform, vec2, vec4 } from "three/tsl";
1
+ import { add, convertToTexture, cos, div, float, floor, mul, screenUV, sin, sub, vec2, vec4, viewportSize } from "three/tsl";
2
2
  const componentDefinition = {
3
3
  name: "GlassTiles",
4
4
  category: "Distortions",
@@ -19,7 +19,7 @@ const componentDefinition = {
19
19
  },
20
20
  tileCount: {
21
21
  default: 20,
22
- description: "Number of tiles across the shortest dimension",
22
+ description: "Number of tiles across the longest dimension",
23
23
  ui: {
24
24
  type: "range",
25
25
  min: 5,
@@ -46,12 +46,12 @@ const componentDefinition = {
46
46
  type: "range",
47
47
  min: 0,
48
48
  max: 1,
49
- step: .01,
49
+ step: .1,
50
50
  label: "Roundness"
51
51
  }
52
52
  }
53
53
  },
54
- fragmentNode: ({ uniforms, childNode, dimensions, onCleanup }) => {
54
+ fragmentNode: ({ uniforms, childNode, onCleanup }) => {
55
55
  if (!childNode) {
56
56
  console.error("You must pass a child component into the Glass Tiles shader.");
57
57
  return vec4(0);
@@ -60,13 +60,14 @@ const componentDefinition = {
60
60
  onCleanup(() => {
61
61
  if (texture$1?.renderTarget?.dispose) texture$1.renderTarget.dispose();
62
62
  });
63
- const aspectRatioUniform = uniform(dimensions.width / dimensions.height);
63
+ const aspectRatioUniform = viewportSize.x.div(viewportSize.y);
64
64
  const baseUV = screenUV;
65
65
  const intensity = uniforms.intensity.uniform;
66
66
  const baseTileCount = uniforms.tileCount.uniform;
67
67
  const rotationDegrees = uniforms.rotation.uniform;
68
68
  const roundnessAmount = uniforms.roundness.uniform;
69
- const tileCount = vec2(aspectRatioUniform.greaterThanEqual(1).select(mul(baseTileCount, aspectRatioUniform), baseTileCount), aspectRatioUniform.lessThan(1).select(div(baseTileCount, aspectRatioUniform), baseTileCount));
69
+ const isWide = aspectRatioUniform.greaterThan(float(1));
70
+ const tileCount = vec2(isWide.select(baseTileCount, mul(baseTileCount, aspectRatioUniform)), isWide.select(div(baseTileCount, aspectRatioUniform), baseTileCount));
70
71
  const aspectCorrectedUV = vec2(mul(baseUV.x, aspectRatioUniform), baseUV.y);
71
72
  const rotationRadians = mul(rotationDegrees, Math.PI / 180);
72
73
  const cosAngle = cos(rotationRadians);
@@ -76,7 +77,8 @@ const componentDefinition = {
76
77
  const gridUV = vec2(div(rotatedUV.x, aspectRatioUniform), rotatedUV.y);
77
78
  const fromCenter = sub(div(sub(gridUV, div(floor(mul(gridUV, tileCount)), tileCount)), div(vec2(1), tileCount)), vec2(.5, .5));
78
79
  const clampedRoundness = sub(1, mul(mul(fromCenter.x, fromCenter.x).add(mul(fromCenter.y, fromCenter.y)), mul(roundnessAmount, 4))).max(0);
79
- const distortedUV = add(baseUV, mul(fromCenter, mul(mul(intensity, .025), clampedRoundness)));
80
+ const baseDistortion = mul(fromCenter, mul(mul(intensity, .025), clampedRoundness));
81
+ const distortedUV = add(baseUV, vec2(div(baseDistortion.x, aspectRatioUniform), baseDistortion.y));
80
82
  return vec4(texture$1.sample(distortedUV));
81
83
  }
82
84
  };