shaders 2.2.1 → 2.2.3

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 (178) hide show
  1. package/dist/core/{AngularBlur-BZENxuhv.js → AngularBlur-BTUdXC0g.js} +5 -4
  2. package/dist/core/{Ascii-joVW9dAD.js → Ascii-Bu8ii7oo.js} +25 -24
  3. package/dist/core/{Blob-Ds3jasiC.js → Blob-C0G0efjG.js} +11 -10
  4. package/dist/core/{Blur-sKjcr9_K.js → Blur-BzUO9yxF.js} +13 -12
  5. package/dist/core/{Bulge-CdcB9we6.js → Bulge-BCXYAzig.js} +9 -8
  6. package/dist/core/{CRTScreen-BWDSeX_0.js → CRTScreen-cJ3XHrI9.js} +9 -8
  7. package/dist/core/{ChannelBlur-i9M5gbkh.js → ChannelBlur-BEK1qzGn.js} +17 -16
  8. package/dist/core/{Checkerboard-D9-UAs26.js → Checkerboard-BPkiSF5I.js} +15 -14
  9. package/dist/core/{ChromaFlow-DZAJwEBw.js → ChromaFlow-AHO3C4o3.js} +13 -12
  10. package/dist/core/{ChromaticAberration-DLYIcjJx.js → ChromaticAberration-nVg3r1FK.js} +11 -10
  11. package/dist/core/{Circle-Ca-LtXkF.js → Circle-C8ltF4BZ.js} +10 -9
  12. package/dist/core/{CursorTrail-B_VZJBOK.js → CursorTrail-BeJGeovB.js} +11 -10
  13. package/dist/core/DiffuseBlur-BdGvOoBw.js +40 -0
  14. package/dist/core/{Dither-MK-9r3tw.js → Dither-CpN3vGSh.js} +12 -11
  15. package/dist/core/{DotGrid-DP__DqQj.js → DotGrid-BFUzeSQw.js} +9 -8
  16. package/dist/core/{Duotone-CmkF6eDj.js → Duotone-_nR_o3-g.js} +6 -5
  17. package/dist/core/FilmGrain-BAKXXtLg.js +29 -0
  18. package/dist/core/{FloatingParticles-CxcXDtZg.js → FloatingParticles-Fv8JIzKk.js} +11 -10
  19. package/dist/core/GlassTiles-5MyBj1ff.js +53 -0
  20. package/dist/core/{Glow-Cz3ImaBH.js → Glow-DvJj7BB7.js} +13 -12
  21. package/dist/core/{Godrays-BHfh6URI.js → Godrays-cUzAKVXn.js} +18 -17
  22. package/dist/core/{Grayscale-FPSUcFGC.js → Grayscale-oWIF3PV5.js} +2 -1
  23. package/dist/core/{Grid-BvM0M3Hl.js → Grid-Bov7AA9m.js} +10 -9
  24. package/dist/core/{GridDistortion-yjmNv0Q3.js → GridDistortion-CWYom5Dw.js} +11 -10
  25. package/dist/core/Group-CPk-7fiA.js +18 -0
  26. package/dist/core/{Halftone-DWIVrS2s.js → Halftone-F7fsdu7W.js} +11 -10
  27. package/dist/core/{HueShift-CBupF7d4.js → HueShift-CiS4hdtk.js} +2 -1
  28. package/dist/core/{ImageTexture-GrTz4Fx7.js → ImageTexture-B3Q29OHX.js} +16 -15
  29. package/dist/core/Invert-Cyc4JHWc.js +21 -0
  30. package/dist/core/{LinearBlur-DHBRP6Yh.js → LinearBlur-BTC54qzk.js} +8 -7
  31. package/dist/core/{LinearGradient-B4C3CKhf.js → LinearGradient-LEMeW0KM.js} +3 -2
  32. package/dist/core/{Liquify-DNHtcXxv.js → Liquify-D2nzMDzq.js} +15 -14
  33. package/dist/core/{Pixelate-BKooNVcb.js → Pixelate-irPzmtQm.js} +8 -7
  34. package/dist/core/{PolarCoordinates-DKhEbQhq.js → PolarCoordinates-Ck5ZWrQO.js} +5 -4
  35. package/dist/core/{Posterize-D81ZG2A9.js → Posterize-DICq_t96.js} +8 -7
  36. package/dist/core/{ProgressiveBlur-CPdReTnY.js → ProgressiveBlur-BuORe3VH.js} +10 -9
  37. package/dist/core/{RadialGradient-XmwfZ91d.js → RadialGradient-D0cN67jm.js} +8 -7
  38. package/dist/core/{RectangularCoordinates-DWY7ptY1.js → RectangularCoordinates-1LIDaeHR.js} +15 -14
  39. package/dist/core/{Ripples-CndvRX-N.js → Ripples-DH71sFJc.js} +6 -5
  40. package/dist/core/{Saturation-C6u9sNkr.js → Saturation-DbSXtSeK.js} +10 -9
  41. package/dist/core/{SimplexNoise-BH0ZZzP4.js → SimplexNoise-DPGC2OPJ.js} +10 -9
  42. package/dist/core/{SineWave-DBH8MraQ.js → SineWave-CkWtnzHF.js} +10 -9
  43. package/dist/core/{SolidColor-DR665qss.js → SolidColor-DaB-FHNX.js} +2 -1
  44. package/dist/core/{Spiral--7KUy0u3.js → Spiral-CcyI8azF.js} +18 -17
  45. package/dist/core/{Strands-Bi1Is8_o.js → Strands-Co4fkc05.js} +10 -9
  46. package/dist/core/{Swirl-DuYM23jG.js → Swirl-BoveqtNV.js} +15 -14
  47. package/dist/core/{TiltShift-BUvZWBsh.js → TiltShift-D53azmRe.js} +4 -3
  48. package/dist/core/{Tritone-CKifp6Ob.js → Tritone-Cg1rX-hL.js} +11 -10
  49. package/dist/core/{Twirl-Ztlb9x_h.js → Twirl-raO5pe5X.js} +10 -9
  50. package/dist/core/{Vibrance-B7EsDw6e.js → Vibrance-DtekSkcz.js} +8 -7
  51. package/dist/core/{WaveDistortion-HCnk54tD.js → WaveDistortion-C65qO_cZ.js} +6 -5
  52. package/dist/core/{ZoomBlur-Ck6M9A2W.js → ZoomBlur-B97ZjhXe.js} +10 -9
  53. package/dist/core/index.js +771 -754
  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/Ascii/index.d.ts.map +1 -1
  58. package/dist/core/shaders/Ascii/index.js +1 -1
  59. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  60. package/dist/core/shaders/Blob/index.js +1 -1
  61. package/dist/core/shaders/Blur/index.d.ts.map +1 -1
  62. package/dist/core/shaders/Blur/index.js +1 -1
  63. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  64. package/dist/core/shaders/Bulge/index.js +1 -1
  65. package/dist/core/shaders/CRTScreen/index.d.ts.map +1 -1
  66. package/dist/core/shaders/CRTScreen/index.js +1 -1
  67. package/dist/core/shaders/ChannelBlur/index.d.ts.map +1 -1
  68. package/dist/core/shaders/ChannelBlur/index.js +1 -1
  69. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  70. package/dist/core/shaders/Checkerboard/index.js +1 -1
  71. package/dist/core/shaders/ChromaFlow/index.d.ts.map +1 -1
  72. package/dist/core/shaders/ChromaFlow/index.js +1 -1
  73. package/dist/core/shaders/ChromaticAberration/index.d.ts.map +1 -1
  74. package/dist/core/shaders/ChromaticAberration/index.js +1 -1
  75. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  76. package/dist/core/shaders/Circle/index.js +1 -1
  77. package/dist/core/shaders/CursorTrail/index.d.ts.map +1 -1
  78. package/dist/core/shaders/CursorTrail/index.js +1 -1
  79. package/dist/core/shaders/DiffuseBlur/index.d.ts.map +1 -1
  80. package/dist/core/shaders/DiffuseBlur/index.js +1 -1
  81. package/dist/core/shaders/Dither/index.d.ts.map +1 -1
  82. package/dist/core/shaders/Dither/index.js +1 -1
  83. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  84. package/dist/core/shaders/DotGrid/index.js +1 -1
  85. package/dist/core/shaders/Duotone/index.d.ts.map +1 -1
  86. package/dist/core/shaders/Duotone/index.js +1 -1
  87. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  88. package/dist/core/shaders/FilmGrain/index.js +1 -1
  89. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  90. package/dist/core/shaders/FloatingParticles/index.js +1 -1
  91. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  92. package/dist/core/shaders/GlassTiles/index.js +1 -1
  93. package/dist/core/shaders/Glow/index.d.ts.map +1 -1
  94. package/dist/core/shaders/Glow/index.js +1 -1
  95. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  96. package/dist/core/shaders/Godrays/index.js +1 -1
  97. package/dist/core/shaders/Grayscale/index.d.ts.map +1 -1
  98. package/dist/core/shaders/Grayscale/index.js +1 -1
  99. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  100. package/dist/core/shaders/Grid/index.js +1 -1
  101. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  102. package/dist/core/shaders/GridDistortion/index.js +1 -1
  103. package/dist/core/shaders/Group/index.d.ts.map +1 -1
  104. package/dist/core/shaders/Group/index.js +1 -1
  105. package/dist/core/shaders/Halftone/index.d.ts.map +1 -1
  106. package/dist/core/shaders/Halftone/index.js +1 -1
  107. package/dist/core/shaders/HueShift/index.d.ts.map +1 -1
  108. package/dist/core/shaders/HueShift/index.js +1 -1
  109. package/dist/core/shaders/ImageTexture/index.d.ts +1 -1
  110. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  111. package/dist/core/shaders/ImageTexture/index.js +1 -1
  112. package/dist/core/shaders/Invert/index.d.ts.map +1 -1
  113. package/dist/core/shaders/Invert/index.js +1 -1
  114. package/dist/core/shaders/LinearBlur/index.d.ts.map +1 -1
  115. package/dist/core/shaders/LinearBlur/index.js +1 -1
  116. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  117. package/dist/core/shaders/LinearGradient/index.js +1 -1
  118. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  119. package/dist/core/shaders/Liquify/index.js +1 -1
  120. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  121. package/dist/core/shaders/Pixelate/index.js +1 -1
  122. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  123. package/dist/core/shaders/PolarCoordinates/index.js +1 -1
  124. package/dist/core/shaders/Posterize/index.d.ts.map +1 -1
  125. package/dist/core/shaders/Posterize/index.js +1 -1
  126. package/dist/core/shaders/ProgressiveBlur/index.d.ts.map +1 -1
  127. package/dist/core/shaders/ProgressiveBlur/index.js +1 -1
  128. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  129. package/dist/core/shaders/RadialGradient/index.js +1 -1
  130. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -1
  131. package/dist/core/shaders/RectangularCoordinates/index.js +1 -1
  132. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  133. package/dist/core/shaders/Ripples/index.js +1 -1
  134. package/dist/core/shaders/Saturation/index.d.ts.map +1 -1
  135. package/dist/core/shaders/Saturation/index.js +1 -1
  136. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  137. package/dist/core/shaders/SimplexNoise/index.js +1 -1
  138. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  139. package/dist/core/shaders/SineWave/index.js +1 -1
  140. package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
  141. package/dist/core/shaders/SolidColor/index.js +1 -1
  142. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  143. package/dist/core/shaders/Spiral/index.js +1 -1
  144. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  145. package/dist/core/shaders/Strands/index.js +1 -1
  146. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  147. package/dist/core/shaders/Swirl/index.js +1 -1
  148. package/dist/core/shaders/TiltShift/index.d.ts.map +1 -1
  149. package/dist/core/shaders/TiltShift/index.js +1 -1
  150. package/dist/core/shaders/Tritone/index.d.ts.map +1 -1
  151. package/dist/core/shaders/Tritone/index.js +1 -1
  152. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  153. package/dist/core/shaders/Twirl/index.js +1 -1
  154. package/dist/core/shaders/Vibrance/index.d.ts.map +1 -1
  155. package/dist/core/shaders/Vibrance/index.js +1 -1
  156. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  157. package/dist/core/shaders/WaveDistortion/index.js +1 -1
  158. package/dist/core/shaders/ZoomBlur/index.d.ts.map +1 -1
  159. package/dist/core/shaders/ZoomBlur/index.js +1 -1
  160. package/dist/core/types.d.ts +4 -0
  161. package/dist/core/types.d.ts.map +1 -1
  162. package/dist/react/index.cjs +63 -63
  163. package/dist/react/index.js +4776 -4707
  164. package/dist/react/utils/generatePresetCode.cjs +1 -1
  165. package/dist/react/utils/generatePresetCode.js +1 -1
  166. package/dist/registry.d.ts +3 -0
  167. package/dist/registry.js +226 -88
  168. package/dist/svelte/index.js +5539 -5470
  169. package/dist/svelte/utils/generatePresetCode.js +1 -1
  170. package/dist/vue/{generatePresetCode-T78GxN5X.js → generatePresetCode-D4V6rBae.js} +1 -1
  171. package/dist/vue/index.js +4603 -4534
  172. package/dist/vue/utils/generatePresetCode.js +1 -1
  173. package/package.json +1 -1
  174. package/dist/core/DiffuseBlur-COpm1qrw.js +0 -39
  175. package/dist/core/FilmGrain-ByNyK2gs.js +0 -28
  176. package/dist/core/GlassTiles-CxUl9MxF.js +0 -52
  177. package/dist/core/Group-jZZimqG1.js +0 -17
  178. package/dist/core/Invert-CCQ1H_Qr.js +0 -20
@@ -1,13 +1,14 @@
1
- import { A as S, C as oe, G as ae, H as x, L as ne, W as se, b as y, k as ie, m as ce } from "./three.tsl-BqgDcRt9.js";
2
- ce();
1
+ import { A as S, C as oe, G as ae, H as x, L as ne, W as se, b as y, k as ie, m as le } from "./three.tsl-BqgDcRt9.js";
2
+ le();
3
3
  ne();
4
- const le = {
4
+ const ce = {
5
5
  name: "ImageTexture",
6
- category: "Sources",
6
+ category: "Base Layers",
7
+ description: "Display an image with customizable object-fit modes",
7
8
  acceptsUVContext: !0,
8
9
  props: {
9
10
  url: {
10
- default: "https://shaders.com/og.png",
11
+ default: "https://shaders.com/sample.jpg",
11
12
  description: "Upload an image or provide a URL",
12
13
  ui: {
13
14
  type: "image-upload",
@@ -52,12 +53,12 @@ const le = {
52
53
  }
53
54
  }
54
55
  },
55
- fragmentNode: ({ uniforms: m, onCleanup: j, onBeforeRender: W, uvContext: A }) => {
56
- const { vec2: o, vec4: D, float: t, texture: H, screenUV: N, viewportSize: l, step: a, min: u, max: O } = ie, $ = A ?? N, q = new ae();
56
+ fragmentNode: ({ uniforms: m, onCleanup: _, onBeforeRender: D, uvContext: W }) => {
57
+ const { vec2: o, vec4: A, float: t, texture: H, screenUV: N, viewportSize: c, step: a, min: u, max: z } = ie, B = W ?? N, O = new ae();
57
58
  let T = "", r = !1;
58
59
  const n = new se();
59
60
  n.colorSpace = x;
60
- const z = H(n), s = S(1), f = S(0), w = S(0), V = (e) => {
61
+ const $ = H(n), s = S(1), f = S(0), w = S(0), V = (e) => {
61
62
  if (!(!e || e.trim() === "" || r)) {
62
63
  r = !0;
63
64
  try {
@@ -66,7 +67,7 @@ const le = {
66
67
  h = new URL(e, window.location.href).href;
67
68
  } catch {
68
69
  }
69
- q.load(e, (d) => {
70
+ O.load(e, (d) => {
70
71
  d.colorSpace = x;
71
72
  const p = d.image, U = p.width || 1, b = p.height || 1, te = U / b;
72
73
  d.dispose(), T = e, requestAnimationFrame(() => {
@@ -89,18 +90,18 @@ const le = {
89
90
  setTimeout(() => {
90
91
  const e = m?.url?.uniform?.value ?? "";
91
92
  e && e.trim() !== "" && V(e);
92
- }, 0), W(() => {
93
+ }, 0), D(() => {
93
94
  const e = m?.url?.uniform?.value ?? "";
94
95
  e !== T && !r && V(e);
95
- }), j(() => {
96
+ }), _(() => {
96
97
  n.dispose();
97
98
  });
98
- const B = $, c = l.x.div(l.y), i = m.objectFit.uniform, C = O(c.div(s), t(1)), E = o(s.div(c).mul(C), C), F = u(c.div(s), t(1)), G = o(s.div(c).mul(F), F), k = o(1, 1), R = u(u(c.div(s), t(1)), u(l.x.div(f), l.y.div(w))), M = o(s.div(c).mul(R), R), I = u(l.x.div(f), l.y.div(w)), P = o(s.div(c).mul(I), I), J = a(i, t(0.5)), K = a(t(0.5), i).mul(a(i, t(1.5))), Q = a(t(1.5), i).mul(a(i, t(2.5))), X = a(t(2.5), i).mul(a(i, t(3.5))), Y = a(t(3.5), i), Z = o(0).add(E.mul(J)).add(G.mul(K)).add(k.mul(Q)).add(M.mul(X)).add(P.mul(Y)), L = B.sub(o(0.5)).div(Z).add(o(0.5)), v = o(L.x, t(1).sub(L.y)), _ = z.sample(v), ee = y(y(v.x.lessThan(0), v.x.greaterThan(1)), y(v.y.lessThan(0), v.y.greaterThan(1)));
99
- return D(_.rgb, oe(ee, t(0), _.a));
99
+ const q = B, l = c.x.div(c.y), i = m.objectFit.uniform, j = z(l.div(s), t(1)), E = o(s.div(l).mul(j), j), C = u(l.div(s), t(1)), G = o(s.div(l).mul(C), C), k = o(1, 1), F = u(u(l.div(s), t(1)), u(c.x.div(f), c.y.div(w))), M = o(s.div(l).mul(F), F), L = u(c.x.div(f), c.y.div(w)), P = o(s.div(l).mul(L), L), J = a(i, t(0.5)), K = a(t(0.5), i).mul(a(i, t(1.5))), Q = a(t(1.5), i).mul(a(i, t(2.5))), X = a(t(2.5), i).mul(a(i, t(3.5))), Y = a(t(3.5), i), Z = o(0).add(E.mul(J)).add(G.mul(K)).add(k.mul(Q)).add(M.mul(X)).add(P.mul(Y)), R = q.sub(o(0.5)).div(Z).add(o(0.5)), v = o(R.x, t(1).sub(R.y)), I = $.sample(v), ee = y(y(v.x.lessThan(0), v.x.greaterThan(1)), y(v.y.lessThan(0), v.y.greaterThan(1)));
100
+ return A(I.rgb, oe(ee, t(0), I.a));
100
101
  }
101
102
  };
102
- var de = le;
103
+ var de = ce;
103
104
  export {
104
- le as n,
105
+ ce as n,
105
106
  de as t
106
107
  };
@@ -0,0 +1,21 @@
1
+ import { k as a, m as i } from "./three.tsl-BqgDcRt9.js";
2
+ i();
3
+ const c = {
4
+ name: "Invert",
5
+ category: "Adjustments",
6
+ description: "Invert RGB colors while preserving alpha",
7
+ requiresChild: !0,
8
+ props: {},
9
+ fragmentNode: ({ childNode: r }) => {
10
+ const { vec4: t, vec3: n } = a;
11
+ if (!r)
12
+ return console.error("You must pass a child component into the Invert shader."), t(0);
13
+ const o = r || t(0, 0, 0, 0), e = o.a, s = e.greaterThan(0).select(o.rgb.div(e), n(0, 0, 0));
14
+ return t(n(1, 1, 1).sub(s).mul(e), e);
15
+ }
16
+ };
17
+ var p = c;
18
+ export {
19
+ c as n,
20
+ p as t
21
+ };
@@ -4,6 +4,7 @@ w();
4
4
  const I = {
5
5
  name: "LinearBlur",
6
6
  category: "Blurs",
7
+ description: "Directional motion blur in a specific angle",
7
8
  requiresRTT: !0,
8
9
  requiresChild: !0,
9
10
  props: {
@@ -31,19 +32,19 @@ const I = {
31
32
  }
32
33
  }
33
34
  },
34
- fragmentNode: ({ uniforms: o, childNode: a, onCleanup: d }) => {
35
- const { vec2: l, vec4: u, float: e, screenUV: p, viewportSize: f, sin: g, cos: v, radians: x, Fn: b, convertToTexture: h } = q;
35
+ fragmentNode: ({ uniforms: s, childNode: a, onCleanup: d }) => {
36
+ const { vec2: l, vec4: u, float: e, screenUV: p, viewportSize: f, sin: g, cos: v, radians: b, Fn: x, convertToTexture: h } = q;
36
37
  if (!a) return u(0, 0, 0, 0);
37
38
  const t = h(a);
38
39
  d(() => {
39
40
  t?.renderTarget?.dispose && t.renderTarget.dispose();
40
41
  });
41
- const c = x(o.angle.uniform), y = l(v(c), g(c));
42
- return b(() => {
43
- const T = p, _ = l(1).div(f), V = y.mul(o.intensity.uniform).mul(_).mul(2), n = u(0).toVar(), r = e(0).toVar();
42
+ const c = b(s.angle.uniform), y = l(v(c), g(c));
43
+ return x(() => {
44
+ const T = p, _ = l(1).div(f), D = y.mul(s.intensity.uniform).mul(_).mul(2), n = u(0).toVar(), r = e(0).toVar();
44
45
  for (let i = 0; i < 32; i++) {
45
- const s = e(i).div(e(31)).sub(0.5).mul(2), m = e(1).div(e(2.506628)).mul(e(-0.5).mul(s).mul(s).div(e(0.64)).exp()), B = T.add(V.mul(s.mul(0.5))), D = t.sample(B).mul(m);
46
- n.assign(n.add(D)), r.assign(r.add(m));
46
+ const o = e(i).div(e(31)).sub(0.5).mul(2), m = e(1).div(e(2.506628)).mul(e(-0.5).mul(o).mul(o).div(e(0.64)).exp()), V = T.add(D.mul(o.mul(0.5))), B = t.sample(V).mul(m);
47
+ n.assign(n.add(B)), r.assign(r.add(m));
47
48
  }
48
49
  return n.div(r);
49
50
  })();
@@ -4,7 +4,8 @@ import { t as I } from "./colorMixing-DPZ-Td4U.js";
4
4
  W();
5
5
  const J = {
6
6
  name: "LinearGradient",
7
- category: "Gradients & Colors",
7
+ category: "Base Layers",
8
+ description: "Create smooth linear color gradients",
8
9
  acceptsUVContext: !0,
9
10
  props: {
10
11
  colorA: {
@@ -100,7 +101,7 @@ const J = {
100
101
  }
101
102
  },
102
103
  fragmentNode: ({ uniforms: t, uvContext: T }) => {
103
- const { vec2: s, vec4: y, float: e, cos: x, sin: C, dot: v, radians: A, screenUV: E, length: M, normalize: S, abs: B, mod: q, fract: w } = R, _ = T ?? E, l = s(t.start.uniform[0], t.start.uniform[1].oneMinus()), c = s(t.end.uniform[0], t.end.uniform[1].oneMinus()), d = c.sub(l), V = M(d), G = S(d), p = A(t.angle.uniform).negate(), u = x(p), m = C(p), f = l.add(c).mul(0.5), r = _.sub(f), o = v(s(r.x.mul(u).sub(r.y.mul(m)), r.x.mul(m).add(r.y.mul(u))).add(f).sub(l), G).div(V.max(1e-6)), a = t.edges.uniform, H = o.clamp(e(0), e(1)), L = o.greaterThanEqual(e(0)).select(e(1), e(0)), O = o.lessThanEqual(e(1)).select(e(1), e(0)), P = L.mul(O), i = q(B(o), e(2)), U = i.greaterThan(e(1)).select(e(2).sub(i), i), z = w(o), g = a.greaterThanEqual(e(0.5)), D = a.greaterThanEqual(e(1.5)), k = a.greaterThanEqual(e(2.5)).select(z, D.select(U, g.select(o, H))), n = I(t.colorA.uniform, t.colorB.uniform, k.clamp(e(0), e(1)), t.colorSpace.uniform), N = g.and(a.lessThan(e(1.5))).select(n.w.mul(P), n.w);
104
+ const { vec2: s, vec4: y, float: e, cos: x, sin: C, dot: v, radians: A, screenUV: E, length: B, normalize: M, abs: S, mod: q, fract: w } = R, _ = T ?? E, l = s(t.start.uniform[0], t.start.uniform[1].oneMinus()), c = s(t.end.uniform[0], t.end.uniform[1].oneMinus()), d = c.sub(l), L = B(d), V = M(d), p = A(t.angle.uniform).negate(), u = x(p), m = C(p), f = l.add(c).mul(0.5), r = _.sub(f), o = v(s(r.x.mul(u).sub(r.y.mul(m)), r.x.mul(m).add(r.y.mul(u))).add(f).sub(l), V).div(L.max(1e-6)), a = t.edges.uniform, H = o.clamp(e(0), e(1)), O = o.greaterThanEqual(e(0)).select(e(1), e(0)), P = o.lessThanEqual(e(1)).select(e(1), e(0)), U = O.mul(P), i = q(S(o), e(2)), z = i.greaterThan(e(1)).select(e(2).sub(i), i), D = w(o), g = a.greaterThanEqual(e(0.5)), G = a.greaterThanEqual(e(1.5)), k = a.greaterThanEqual(e(2.5)).select(D, G.select(z, g.select(o, H))), n = I(t.colorA.uniform, t.colorB.uniform, k.clamp(e(0), e(1)), t.colorSpace.uniform), N = g.and(a.lessThan(e(1.5))).select(n.w.mul(U), n.w);
104
105
  return y(n.x, n.y, n.z, N);
105
106
  }
106
107
  };
@@ -19,6 +19,7 @@ var r = 32, w = /* @__PURE__ */ new WeakMap(), G = (e) => {
19
19
  const te = {
20
20
  name: "Liquify",
21
21
  category: "Interactive",
22
+ description: "Liquid-like interactive deformation effect",
22
23
  requiresRTT: !0,
23
24
  requiresChild: !0,
24
25
  props: {
@@ -99,37 +100,37 @@ const te = {
99
100
  return e.sub(m);
100
101
  },
101
102
  fragmentNode: ({ uniforms: e, onBeforeRender: i, childNode: l, onCleanup: t }) => {
102
- const { vec2: d, vec4: o, float: m, uniform: D, screenUV: F, convertToTexture: H } = A, { texture: R, data: a, tslNode: O } = G(e), v = D(0), x = D(0);
103
- let S = 0.5, _ = 0.5, q = Date.now();
103
+ const { vec2: d, vec4: o, float: m, uniform: D, screenUV: F, convertToTexture: H } = A, { texture: q, data: a, tslNode: O } = G(e), v = D(0), x = D(0);
104
+ let R = 0.5, S = 0.5, _ = Date.now();
104
105
  if (i(({ pointer: c }) => {
105
- const U = Date.now(), s = Math.min((U - q) / 1e3, 0.016);
106
- q = U;
107
- const V = s > 0 ? (c.x - S) / s : 0, X = s > 0 ? (c.y - _) / s : 0;
108
- v.value = v.value * 0.85 + V * 0.15, x.value = x.value * 0.85 + X * 0.15;
109
- const Y = e.decay.uniform.value, L = e.intensity.uniform.value, y = e.radius.uniform.value * 0.05, g = e.swirl.uniform.value;
106
+ const N = Date.now(), s = Math.min((N - _) / 1e3, 0.016);
107
+ _ = N;
108
+ const U = s > 0 ? (c.x - R) / s : 0, V = s > 0 ? (c.y - S) / s : 0;
109
+ v.value = v.value * 0.85 + U * 0.15, x.value = x.value * 0.85 + V * 0.15;
110
+ const X = e.decay.uniform.value, Y = e.intensity.uniform.value, y = e.radius.uniform.value * 0.05, g = e.swirl.uniform.value;
110
111
  for (let p = 0; p < r; p++) for (let f = 0; f < r; f++) {
111
112
  const n = (p * r + f) * 2;
112
- a[n] *= 1 - Y * s, a[n + 1] *= 1 - Y * s;
113
+ a[n] *= 1 - X * s, a[n + 1] *= 1 - X * s;
113
114
  const z = (f + 0.5) / r, P = (p + 0.5) / r, M = z - c.x, b = P - c.y, T = Math.sqrt(M * M + b * b);
114
- if (T < y * 2 && Math.abs(V) + Math.abs(X) > 0.01) {
115
+ if (T < y * 2 && Math.abs(U) + Math.abs(V) > 0.01) {
115
116
  const h = Math.exp(-T * T / (y * y));
116
- if (a[n] += v.value * h * L * s * 0.5, a[n + 1] += x.value * h * L * s * 0.5, g > 0) {
117
+ if (a[n] += v.value * h * Y * s * 0.5, a[n + 1] += x.value * h * Y * s * 0.5, g > 0) {
117
118
  const k = Math.atan2(b, M) + Math.PI * 0.5;
118
119
  a[n] += Math.cos(k) * g * h * s * 2, a[n + 1] += Math.sin(k) * g * h * s * 2;
119
120
  }
120
121
  }
121
122
  a[n] = Math.max(-1, Math.min(1, a[n])), a[n + 1] = Math.max(-1, Math.min(1, a[n + 1]));
122
123
  }
123
- R.needsUpdate = !0, S = c.x, _ = c.y;
124
+ q.needsUpdate = !0, R = c.x, S = c.y;
124
125
  }), t(() => {
125
- R.dispose(), w.delete(e);
126
+ q.dispose(), w.delete(e);
126
127
  }), !l) return o(0, 0, 0, 0);
127
128
  const u = H(l);
128
129
  t(() => {
129
130
  u?.renderTarget?.dispose && u.renderTarget.dispose();
130
131
  });
131
- const W = O.sample(F).xy, I = m(0.2), E = m(-0.2), j = W.clamp(d(E, E), d(I, I)), N = F.sub(j);
132
- return B(N, u.sample(N), u, e.edges.uniform);
132
+ const W = O.sample(F).xy, I = m(0.2), E = m(-0.2), j = W.clamp(d(E, E), d(I, I)), L = F.sub(j);
133
+ return B(L, u.sample(L), u, e.edges.uniform);
133
134
  }
134
135
  };
135
136
  var ie = te;
@@ -1,8 +1,9 @@
1
- import { k as n, m as p } from "./three.tsl-BqgDcRt9.js";
1
+ import { k as l, m as p } from "./three.tsl-BqgDcRt9.js";
2
2
  p();
3
3
  const m = {
4
4
  name: "Pixelate",
5
- category: "Effects",
5
+ category: "Stylize",
6
+ description: "Pixelation effect with adjustable cell size",
6
7
  requiresRTT: !0,
7
8
  requiresChild: !0,
8
9
  props: { scale: {
@@ -17,22 +18,22 @@ const m = {
17
18
  }
18
19
  } },
19
20
  uvTransformNode: ({ uv: t, uniforms: e }) => {
20
- const { floor: i } = n, r = e.scale.uniform;
21
+ const { floor: i } = l, r = e.scale.uniform;
21
22
  return i(t.mul(r)).div(r);
22
23
  },
23
24
  fragmentNode: ({ uniforms: t, childNode: e, onCleanup: i }) => {
24
- const { vec4: r, floor: a, screenUV: l, convertToTexture: c } = n;
25
+ const { vec4: r, floor: a, screenUV: n, convertToTexture: c } = l;
25
26
  if (!e) return r(0, 0, 0, 0);
26
27
  const s = c(e);
27
28
  i(() => {
28
29
  s?.renderTarget?.dispose && s.renderTarget.dispose();
29
30
  });
30
- const o = t.scale.uniform, u = a(l.mul(o)).div(o);
31
+ const o = t.scale.uniform, u = a(n.mul(o)).div(o);
31
32
  return s.sample(u);
32
33
  }
33
34
  };
34
- var d = m;
35
+ var f = m;
35
36
  export {
36
37
  m as n,
37
- d as t
38
+ f as t
38
39
  };
@@ -5,6 +5,7 @@ T();
5
5
  const U = {
6
6
  name: "PolarCoordinates",
7
7
  category: "Distortions",
8
+ description: "Convert rectangular coordinates to polar space",
8
9
  requiresRTT: !0,
9
10
  requiresChild: !0,
10
11
  props: {
@@ -82,17 +83,17 @@ const U = {
82
83
  }
83
84
  },
84
85
  uvTransformNode: ({ uv: e, uniforms: t, viewportSize: i }) => {
85
- const { vec2: r, length: u, atan: p, PI: l, mix: o } = y, a = i.x.div(i.y), m = r(e.x.mul(a), e.y), d = r(t.center.uniform.x.mul(a), t.center.uniform.y.oneMinus()), s = m.sub(d), n = p(s.y, s.x).add(l).div(l.mul(2)), c = u(s);
86
- return o(e, r(n.mul(t.wrap.uniform), c.mul(t.radius.uniform)), t.intensity.uniform);
86
+ const { vec2: r, length: u, atan: p, PI: l, mix: o } = y, a = i.x.div(i.y), m = r(e.x.mul(a), e.y), c = r(t.center.uniform.x.mul(a), t.center.uniform.y.oneMinus()), s = m.sub(c), n = p(s.y, s.x).add(l).div(l.mul(2)), d = u(s);
87
+ return o(e, r(n.mul(t.wrap.uniform), d.mul(t.radius.uniform)), t.intensity.uniform);
87
88
  },
88
89
  fragmentNode: ({ uniforms: e, childNode: t, onCleanup: i }) => {
89
- const { vec2: r, vec4: u, length: p, atan: l, screenUV: o, viewportSize: a, convertToTexture: m, PI: d, mix: s } = y;
90
+ const { vec2: r, vec4: u, length: p, atan: l, screenUV: o, viewportSize: a, convertToTexture: m, PI: c, mix: s } = y;
90
91
  if (!t) return u(0, 0, 0, 0);
91
92
  const n = m(t);
92
93
  i(() => {
93
94
  n?.renderTarget?.dispose && n.renderTarget.dispose();
94
95
  });
95
- const c = a.x.div(a.y), h = r(o.x.mul(c), o.y), x = r(e.center.uniform.x.mul(c), e.center.uniform.y.oneMinus()), f = h.sub(x), b = l(f.y, f.x).add(d).div(d.mul(2)), v = p(f), g = s(o, r(b.mul(e.wrap.uniform), v.mul(e.radius.uniform)), e.intensity.uniform);
96
+ const d = a.x.div(a.y), h = r(o.x.mul(d), o.y), x = r(e.center.uniform.x.mul(d), e.center.uniform.y.oneMinus()), f = h.sub(x), b = l(f.y, f.x).add(c).div(c.mul(2)), v = p(f), g = s(o, r(b.mul(e.wrap.uniform), v.mul(e.radius.uniform)), e.intensity.uniform);
96
97
  return w(g, n.sample(g), n, e.edges.uniform);
97
98
  }
98
99
  };
@@ -18,11 +18,12 @@ var p = class extends n {
18
18
  return t.mul(e).floor().div(e);
19
19
  }
20
20
  };
21
- const u = /* @__PURE__ */ a(p).setParameterLength(2);
21
+ const c = /* @__PURE__ */ a(p).setParameterLength(2);
22
22
  i();
23
- const c = {
23
+ const d = {
24
24
  name: "Posterize",
25
- category: "Color Adjustments",
25
+ category: "Adjustments",
26
+ description: "Reduce color depth to create a poster effect",
26
27
  requiresChild: !0,
27
28
  props: { intensity: {
28
29
  default: 5,
@@ -37,11 +38,11 @@ const c = {
37
38
  } },
38
39
  fragmentNode: ({ uniforms: t, childNode: e }) => {
39
40
  const { vec4: o, int: s } = r;
40
- return e ? u(e || o(0, 0, 0, 0), s(t.intensity.uniform)) : (console.error("You must pass a child component into the Posterize shader."), o(0));
41
+ return e ? c(e || o(0, 0, 0, 0), s(t.intensity.uniform)) : (console.error("You must pass a child component into the Posterize shader."), o(0));
41
42
  }
42
43
  };
43
- var l = c;
44
+ var f = d;
44
45
  export {
45
- c as n,
46
- l as t
46
+ d as n,
47
+ f as t
47
48
  };
@@ -4,6 +4,7 @@ U();
4
4
  const E = {
5
5
  name: "ProgressiveBlur",
6
6
  category: "Blurs",
7
+ description: "Blur that increases progressively in one direction",
7
8
  requiresRTT: !0,
8
9
  requiresChild: !0,
9
10
  props: {
@@ -54,14 +55,14 @@ const E = {
54
55
  }
55
56
  }
56
57
  },
57
- fragmentNode: ({ uniforms: o, childNode: g, onCleanup: h }) => {
58
- const { vec2: s, vec4: r, float: e, screenUV: i, viewportSize: x, sin: C, cos: D, radians: P, max: b, smoothstep: S, Fn: v, convertToTexture: y } = M;
59
- if (!g) return r(0, 0, 0, 0);
60
- const a = y(g);
58
+ fragmentNode: ({ uniforms: r, childNode: g, onCleanup: h }) => {
59
+ const { vec2: s, vec4: o, float: e, screenUV: i, viewportSize: x, sin: B, cos: C, radians: D, max: v, smoothstep: P, Fn: y, convertToTexture: b } = M;
60
+ if (!g) return o(0, 0, 0, 0);
61
+ const a = b(g);
61
62
  h(() => {
62
63
  a?.renderTarget?.dispose && a.renderTarget.dispose();
63
64
  });
64
- const T = P(o.angle.uniform), V = s(D(T), C(T)), A = s(o.center.uniform[0], o.center.uniform[1].oneMinus()), B = i.sub(A), R = b(e(0), B.dot(V)), q = b(e(1e-3), o.falloff.uniform), F = S(e(0), q, R), I = o.intensity.uniform.mul(0.06), w = F.mul(I), _ = [
65
+ const T = D(r.angle.uniform), S = s(C(T), B(T)), V = s(r.center.uniform[0], r.center.uniform[1].oneMinus()), A = i.sub(V), R = v(e(0), A.dot(S)), q = v(e(1e-3), r.falloff.uniform), F = P(e(0), q, R), I = r.intensity.uniform.mul(0.06), w = F.mul(I), _ = [
65
66
  0.056,
66
67
  0.135,
67
68
  0.278,
@@ -75,8 +76,8 @@ const E = {
75
76
  0.278,
76
77
  0.135,
77
78
  0.056
78
- ], z = 6.214, l = y(v(() => {
79
- const c = i, u = s(1).div(x), n = r(0).toVar();
79
+ ], z = 6.214, l = b(y(() => {
80
+ const c = i, u = s(1).div(x), n = o(0).toVar();
80
81
  for (let t = -6; t <= 6; t++) {
81
82
  const d = e(_[t + 6] / z), f = s(e(t), e(0)).mul(w).mul(u), m = c.add(f), p = a.sample(m).mul(d);
82
83
  n.assign(n.add(p));
@@ -85,8 +86,8 @@ const E = {
85
86
  })());
86
87
  return h(() => {
87
88
  l?.renderTarget?.dispose && l.renderTarget.dispose();
88
- }), v(() => {
89
- const c = i, u = s(1).div(x), n = r(0).toVar();
89
+ }), y(() => {
90
+ const c = i, u = s(1).div(x), n = o(0).toVar();
90
91
  for (let t = -6; t <= 6; t++) {
91
92
  const d = e(_[t + 6] / z), f = s(e(0), e(t)).mul(w).mul(u), m = c.add(f), p = l.sample(m).mul(d);
92
93
  n.assign(n.add(p));
@@ -1,10 +1,11 @@
1
1
  import { k as d, m as f } from "./three.tsl-BqgDcRt9.js";
2
- import { i as m, o as u, r as n, t as h } from "./transformations-DBjTkQ5b.js";
3
- import { t as g } from "./colorMixing-DPZ-Td4U.js";
2
+ import { i as m, o as u, r as n, t as g } from "./transformations-DBjTkQ5b.js";
3
+ import { t as h } from "./colorMixing-DPZ-Td4U.js";
4
4
  f();
5
5
  const y = {
6
6
  name: "RadialGradient",
7
- category: "Gradients & Colors",
7
+ category: "Base Layers",
8
+ description: "Radial gradient radiating from a center point",
8
9
  acceptsUVContext: !0,
9
10
  props: {
10
11
  colorA: {
@@ -54,14 +55,14 @@ const y = {
54
55
  description: "Color space for color interpolation",
55
56
  ui: {
56
57
  type: "select",
57
- options: h,
58
+ options: g,
58
59
  label: "Color Space"
59
60
  }
60
61
  }
61
62
  },
62
- fragmentNode: ({ uniforms: o, uvContext: l }) => {
63
- const { vec2: e, float: t, distance: s, screenUV: c, viewportSize: r } = d, a = l ?? c, i = r.x.div(r.y), p = s(e(a.x.mul(i), a.y), e(o.center.uniform.x.mul(i), o.center.uniform.y.oneMinus())).div(o.radius.uniform).clamp(t(0), t(1));
64
- return g(o.colorA.uniform, o.colorB.uniform, p, o.colorSpace.uniform);
63
+ fragmentNode: ({ uniforms: e, uvContext: l }) => {
64
+ const { vec2: o, float: t, distance: s, screenUV: c, viewportSize: r } = d, a = l ?? c, i = r.x.div(r.y), p = s(o(a.x.mul(i), a.y), o(e.center.uniform.x.mul(i), e.center.uniform.y.oneMinus())).div(e.radius.uniform).clamp(t(0), t(1));
65
+ return h(e.colorA.uniform, e.colorB.uniform, p, e.colorSpace.uniform);
65
66
  }
66
67
  };
67
68
  var S = y;
@@ -1,10 +1,11 @@
1
1
  import { k as x, m as T } from "./three.tsl-BqgDcRt9.js";
2
- import { t as P } from "./edges-B-tVdqcI.js";
3
- import { a as _, o as w } from "./transformations-DBjTkQ5b.js";
2
+ import { t as C } from "./edges-B-tVdqcI.js";
3
+ import { a as P, o as _ } from "./transformations-DBjTkQ5b.js";
4
4
  T();
5
- const C = {
5
+ const w = {
6
6
  name: "RectangularCoordinates",
7
7
  category: "Distortions",
8
+ description: "Convert polar coordinates back to rectangular space",
8
9
  requiresRTT: !0,
9
10
  requiresChild: !0,
10
11
  props: {
@@ -13,7 +14,7 @@ const C = {
13
14
  x: 0.5,
14
15
  y: 0.5
15
16
  },
16
- transform: w,
17
+ transform: _,
17
18
  description: "The center point for rectangular coordinate conversion",
18
19
  ui: {
19
20
  type: "position",
@@ -45,7 +46,7 @@ const C = {
45
46
  edges: {
46
47
  default: "transparent",
47
48
  description: "How to handle edges when distortion pushes content out of bounds",
48
- transform: _,
49
+ transform: P,
49
50
  ui: {
50
51
  type: "select",
51
52
  options: [
@@ -71,22 +72,22 @@ const C = {
71
72
  }
72
73
  },
73
74
  uvTransformNode: ({ uv: e, uniforms: t, viewportSize: i }) => {
74
- const { vec2: r, cos: d, sin: m, PI: c, mix: o } = x, s = e.x.mul(c.mul(2)).sub(c), l = e.y.mul(t.scale.uniform), u = l.mul(d(s)), p = l.mul(m(s)), n = i.x.div(i.y), a = r(t.center.uniform.x, t.center.uniform.y.oneMinus());
75
- return o(e, r(u.div(n).add(a.x), p.add(a.y)), t.intensity.uniform);
75
+ const { vec2: n, cos: d, sin: p, PI: c, mix: o } = x, a = e.x.mul(c.mul(2)).sub(c), l = e.y.mul(t.scale.uniform), u = l.mul(d(a)), m = l.mul(p(a)), r = i.x.div(i.y), s = n(t.center.uniform.x, t.center.uniform.y.oneMinus());
76
+ return o(e, n(u.div(r).add(s.x), m.add(s.y)), t.intensity.uniform);
76
77
  },
77
78
  fragmentNode: ({ uniforms: e, childNode: t, onCleanup: i }) => {
78
- const { vec2: r, vec4: d, cos: m, sin: c, screenUV: o, viewportSize: s, convertToTexture: l, PI: u, mix: p } = x;
79
+ const { vec2: n, vec4: d, cos: p, sin: c, screenUV: o, viewportSize: a, convertToTexture: l, PI: u, mix: m } = x;
79
80
  if (!t) return d(0, 0, 0, 0);
80
- const n = l(t);
81
+ const r = l(t);
81
82
  i(() => {
82
- n?.renderTarget?.dispose && n.renderTarget.dispose();
83
+ r?.renderTarget?.dispose && r.renderTarget.dispose();
83
84
  });
84
- const a = o.x.mul(u.mul(2)).sub(u), f = o.y.mul(e.scale.uniform), b = f.mul(m(a)), v = f.mul(c(a)), h = s.x.div(s.y), g = r(e.center.uniform.x, e.center.uniform.y.oneMinus()), y = p(o, r(b.div(h).add(g.x), v.add(g.y)), e.intensity.uniform);
85
- return P(y, n.sample(y), n, e.edges.uniform);
85
+ const s = o.x.mul(u.mul(2)).sub(u), f = o.y.mul(e.scale.uniform), b = f.mul(p(s)), v = f.mul(c(s)), h = a.x.div(a.y), g = n(e.center.uniform.x, e.center.uniform.y.oneMinus()), y = m(o, n(b.div(h).add(g.x), v.add(g.y)), e.intensity.uniform);
86
+ return C(y, r.sample(y), r, e.edges.uniform);
86
87
  }
87
88
  };
88
- var R = C;
89
+ var R = w;
89
90
  export {
90
- C as n,
91
+ w as n,
91
92
  R as t
92
93
  };
@@ -1,10 +1,11 @@
1
- import { k as A, m as B } from "./three.tsl-BqgDcRt9.js";
1
+ import { k as w, m as A } from "./three.tsl-BqgDcRt9.js";
2
2
  import { t as S } from "./time-5uQ65blS.js";
3
3
  import { o as _, r as l } from "./transformations-DBjTkQ5b.js";
4
- B();
4
+ A();
5
5
  const q = {
6
6
  name: "Ripples",
7
- category: "Effects",
7
+ category: "Base Layers",
8
+ description: "Concentric animated ripples emanating from a point",
8
9
  acceptsUVContext: !0,
9
10
  props: {
10
11
  center: {
@@ -94,8 +95,8 @@ const q = {
94
95
  }
95
96
  },
96
97
  fragmentNode: (t) => {
97
- const { uniforms: e, uvContext: f } = t, { vec2: o, float: s, screenUV: m, sin: u, distance: d, viewportSize: n, mix: h, smoothstep: y } = A, r = f ?? m, i = e.center.uniform, b = e.colorA.uniform, x = e.colorB.uniform, g = e.frequency.uniform, a = e.softness.uniform, k = e.thickness.uniform, v = e.phase.uniform, p = n.x.div(n.y), C = d(o(r.x.mul(p), r.y), o(i.x.mul(p), i.y.oneMinus())), T = S(t, e.speed), w = u(C.mul(g).sub(T).add(v)), c = k.mul(s(2)).sub(s(1));
98
- return h(x, b, y(c.add(a), c.sub(a), w));
98
+ const { uniforms: e, uvContext: f } = t, { vec2: o, float: s, screenUV: m, sin: u, distance: d, viewportSize: n, mix: h, smoothstep: y } = w, r = f ?? m, i = e.center.uniform, b = e.colorA.uniform, x = e.colorB.uniform, g = e.frequency.uniform, a = e.softness.uniform, k = e.thickness.uniform, v = e.phase.uniform, p = n.x.div(n.y), C = d(o(r.x.mul(p), r.y), o(i.x.mul(p), i.y.oneMinus())), B = S(t, e.speed), T = u(C.mul(g).sub(B).add(v)), c = k.mul(s(2)).sub(s(1));
99
+ return h(x, b, y(c.add(a), c.sub(a), T));
99
100
  }
100
101
  };
101
102
  var U = q;
@@ -1,9 +1,10 @@
1
- import { k as o, m as a } from "./three.tsl-BqgDcRt9.js";
2
- import { r as i } from "./ColorAdjustment-CKwpE_4M.js";
3
- a();
4
- const s = {
1
+ import { k as o, m as i } from "./three.tsl-BqgDcRt9.js";
2
+ import { r as s } from "./ColorAdjustment-CKwpE_4M.js";
3
+ i();
4
+ const a = {
5
5
  name: "Saturation",
6
- category: "Color Adjustments",
6
+ category: "Adjustments",
7
+ description: "Adjust color saturation intensity",
7
8
  requiresChild: !0,
8
9
  props: { intensity: {
9
10
  default: 1,
@@ -21,11 +22,11 @@ const s = {
21
22
  if (!e)
22
23
  return console.error("You must pass a child component into the Saturation shader."), t(0);
23
24
  const n = e || t(0, 0, 0, 0);
24
- return t(i(n.rgb, r.intensity.uniform).rgb, n.a);
25
+ return t(s(n.rgb, r.intensity.uniform).rgb, n.a);
25
26
  }
26
27
  };
27
- var c = s;
28
+ var m = a;
28
29
  export {
29
- s as n,
30
- c as t
30
+ a as n,
31
+ m as t
31
32
  };
@@ -1,10 +1,11 @@
1
- import { M as u, P as r, S as f, _ as x, a as y, j as g, m as b, u as v, y as S } from "./three.tsl-BqgDcRt9.js";
2
- import { t as C } from "./time-5uQ65blS.js";
1
+ import { M as u, P as r, S as f, _ as x, a as y, j as g, m as v, u as b, y as S } from "./three.tsl-BqgDcRt9.js";
2
+ import { t as h } from "./time-5uQ65blS.js";
3
3
  import { r as n } from "./transformations-DBjTkQ5b.js";
4
- b();
5
- const h = {
4
+ v();
5
+ const B = {
6
6
  name: "SimplexNoise",
7
- category: "Noise",
7
+ category: "Base Layers",
8
+ description: "Organic noise with animated movement",
8
9
  acceptsUVContext: !0,
9
10
  props: {
10
11
  colorA: {
@@ -82,12 +83,12 @@ const h = {
82
83
  }
83
84
  },
84
85
  fragmentNode: (t) => {
85
- const { uniforms: e, uvContext: s } = t, o = s ?? f, i = r.x.div(r.y), l = g(o.x.mul(i), o.y), c = C(t, e.speed), a = l.mul(v(e.scale.uniform)).add(e.seed.uniform), m = S(u(a.x, a.y, c.mul(0.5))), p = e.contrast.uniform.add(1), d = y(0, 1, m.mul(p).add(e.balance.uniform).mul(0.5).add(0.5));
86
+ const { uniforms: e, uvContext: i } = t, o = i ?? f, s = r.x.div(r.y), l = g(o.x.mul(s), o.y), c = h(t, e.speed), a = l.mul(b(e.scale.uniform)).add(e.seed.uniform), m = S(u(a.x, a.y, c.mul(0.5))), p = e.contrast.uniform.add(1), d = y(0, 1, m.mul(p).add(e.balance.uniform).mul(0.5).add(0.5));
86
87
  return x(e.colorB.uniform, e.colorA.uniform, d);
87
88
  }
88
89
  };
89
- var N = h;
90
+ var w = B;
90
91
  export {
91
- h as n,
92
- N as t
92
+ B as n,
93
+ w as t
93
94
  };
@@ -1,14 +1,15 @@
1
1
  import { k as P, m as U } from "./three.tsl-BqgDcRt9.js";
2
- import { n as V, o as W, r as M } from "./transformations-DBjTkQ5b.js";
2
+ import { n as V, o as W, r as F } from "./transformations-DBjTkQ5b.js";
3
3
  U();
4
- const F = {
4
+ const M = {
5
5
  name: "SineWave",
6
- category: "Shapes & Masks",
6
+ category: "Base Layers",
7
+ description: "Animated wave with thickness and softness",
7
8
  acceptsUVContext: !0,
8
9
  props: {
9
10
  color: {
10
11
  default: "#ffffff",
11
- transform: M,
12
+ transform: F,
12
13
  description: "The color of the sine wave",
13
14
  ui: {
14
15
  type: "color",
@@ -96,12 +97,12 @@ const F = {
96
97
  }
97
98
  },
98
99
  fragmentNode: ({ uniforms: e, uvContext: p }) => {
99
- const { vec2: n, vec4: f, sin: o, cos: d, abs: h, smoothstep: g, screenUV: y, viewportSize: s, time: v, radians: b, PI: x } = P, a = p ?? y, i = s.x.div(s.y), w = n(a.x.mul(i), a.y), T = n(e.position.uniform.x.mul(i), e.position.uniform.y.oneMinus()), t = w.sub(T), r = b(e.angle.uniform), l = d(r), c = o(r), k = t.x.mul(l).sub(t.y.mul(c)), S = t.x.mul(c).add(t.y.mul(l)), A = v.mul(e.speed.uniform), _ = o(k.mul(e.frequency.uniform).mul(x.mul(2)).add(A)).mul(e.amplitude.uniform), q = h(S.sub(_)), m = e.thickness.uniform.mul(0.5), u = e.softness.uniform.mul(0.5), C = g(m.add(u), m.sub(u), q);
100
- return f(e.color.uniform.rgb, e.color.uniform.a.mul(C));
100
+ const { vec2: n, vec4: d, sin: s, cos: f, abs: h, smoothstep: y, screenUV: g, viewportSize: o, time: v, radians: b, PI: x } = P, a = p ?? g, i = o.x.div(o.y), w = n(a.x.mul(i), a.y), T = n(e.position.uniform.x.mul(i), e.position.uniform.y.oneMinus()), t = w.sub(T), r = b(e.angle.uniform), l = f(r), c = s(r), k = t.x.mul(l).sub(t.y.mul(c)), A = t.x.mul(c).add(t.y.mul(l)), S = v.mul(e.speed.uniform), _ = s(k.mul(e.frequency.uniform).mul(x.mul(2)).add(S)).mul(e.amplitude.uniform), q = h(A.sub(_)), m = e.thickness.uniform.mul(0.5), u = e.softness.uniform.mul(0.5), C = y(m.add(u), m.sub(u), q);
101
+ return d(e.color.uniform.rgb, e.color.uniform.a.mul(C));
101
102
  }
102
103
  };
103
- var E = F;
104
+ var D = M;
104
105
  export {
105
- F as n,
106
- E as t
106
+ M as n,
107
+ D as t
107
108
  };
@@ -1,7 +1,8 @@
1
1
  import { r } from "./transformations-DBjTkQ5b.js";
2
2
  const t = {
3
3
  name: "SolidColor",
4
- category: "Gradients & Colors",
4
+ category: "Base Layers",
5
+ description: "Fill the canvas with a single solid color",
5
6
  acceptsUVContext: !0,
6
7
  props: { color: {
7
8
  default: "#5b18ca",