shaders 2.2.0 → 2.2.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 (182) hide show
  1. package/dist/core/{AngularBlur-BJi-Edw-.js → AngularBlur-BZENxuhv.js} +4 -4
  2. package/dist/core/{Ascii-B1KHvM1u.js → Ascii-joVW9dAD.js} +11 -11
  3. package/dist/core/{Blob-CBASKMfO.js → Blob-Ds3jasiC.js} +15 -14
  4. package/dist/core/{Blur-bz9Ubr0x.js → Blur-sKjcr9_K.js} +1 -1
  5. package/dist/core/Bulge-CdcB9we6.js +103 -0
  6. package/dist/core/{CRTScreen-BnfROw0f.js → CRTScreen-BWDSeX_0.js} +6 -6
  7. package/dist/core/{ChannelBlur-DhWT-55L.js → ChannelBlur-i9M5gbkh.js} +6 -6
  8. package/dist/core/{Checkerboard-CgWGd9t7.js → Checkerboard-D9-UAs26.js} +17 -16
  9. package/dist/core/{ChromaFlow-DOVrymVB.js → ChromaFlow-DZAJwEBw.js} +6 -6
  10. package/dist/core/{ChromaticAberration-CyTSXY7j.js → ChromaticAberration-DLYIcjJx.js} +2 -2
  11. package/dist/core/{Circle-0WHV1HrM.js → Circle-Ca-LtXkF.js} +13 -12
  12. package/dist/core/{CursorTrail-3zQ5rtjh.js → CursorTrail-B_VZJBOK.js} +11 -11
  13. package/dist/core/{DiffuseBlur-DLIKRsnf.js → DiffuseBlur-COpm1qrw.js} +5 -5
  14. package/dist/core/{Dither-Cnbknfji.js → Dither-MK-9r3tw.js} +2 -2
  15. package/dist/core/{DotGrid-BkItF2C8.js → DotGrid-DP__DqQj.js} +12 -11
  16. package/dist/core/{Duotone-BI4tJI3k.js → Duotone-CmkF6eDj.js} +3 -3
  17. package/dist/core/FilmGrain-ByNyK2gs.js +28 -0
  18. package/dist/core/FloatingParticles-CxcXDtZg.js +160 -0
  19. package/dist/core/GlassTiles-CxUl9MxF.js +52 -0
  20. package/dist/core/{Glow-BD0t9E1L.js → Glow-Cz3ImaBH.js} +5 -5
  21. package/dist/core/{Godrays-CPIAbymT.js → Godrays-BHfh6URI.js} +18 -17
  22. package/dist/core/{Grayscale-BtOqK43k.js → Grayscale-FPSUcFGC.js} +1 -1
  23. package/dist/core/{Grid-Ro0Yi5WY.js → Grid-BvM0M3Hl.js} +12 -11
  24. package/dist/core/GridDistortion-yjmNv0Q3.js +147 -0
  25. package/dist/core/{Group-DTXP-whY.js → Group-jZZimqG1.js} +1 -1
  26. package/dist/core/{Halftone-B_MuXCD8.js → Halftone-DWIVrS2s.js} +4 -4
  27. package/dist/core/{HueShift-CKG9M-d2.js → HueShift-CBupF7d4.js} +1 -1
  28. package/dist/core/{ImageTexture-B6zFP2fB.js → ImageTexture-GrTz4Fx7.js} +20 -19
  29. package/dist/core/{Invert-Cd7GK1vs.js → Invert-CCQ1H_Qr.js} +1 -1
  30. package/dist/core/{LinearBlur-JFLMQBY4.js → LinearBlur-DHBRP6Yh.js} +4 -4
  31. package/dist/core/{LinearGradient-Ztg5Lzwj.js → LinearGradient-B4C3CKhf.js} +16 -15
  32. package/dist/core/Liquify-DNHtcXxv.js +139 -0
  33. package/dist/core/Pixelate-BKooNVcb.js +38 -0
  34. package/dist/core/{PolarCoordinates-qzU8gNXR.js → PolarCoordinates-DKhEbQhq.js} +20 -16
  35. package/dist/core/{Posterize-BkBU8tnN.js → Posterize-D81ZG2A9.js} +1 -1
  36. package/dist/core/{ProgressiveBlur-HAQf188T.js → ProgressiveBlur-CPdReTnY.js} +7 -7
  37. package/dist/core/{RadialGradient-DISqJuTZ.js → RadialGradient-XmwfZ91d.js} +15 -14
  38. package/dist/core/RectangularCoordinates-DWY7ptY1.js +92 -0
  39. package/dist/core/{Ripples-CX8Qgnog.js → Ripples-CndvRX-N.js} +13 -12
  40. package/dist/core/{Saturation-DMxPYmIU.js → Saturation-C6u9sNkr.js} +1 -1
  41. package/dist/core/{SimplexNoise-B5ygfckG.js → SimplexNoise-BH0ZZzP4.js} +12 -11
  42. package/dist/core/{SineWave-KPFlP3Wk.js → SineWave-DBH8MraQ.js} +13 -12
  43. package/dist/core/{SolidColor-B8oxlGge.js → SolidColor-DR665qss.js} +6 -5
  44. package/dist/core/{Spiral-CX22hUJ3.js → Spiral--7KUy0u3.js} +15 -14
  45. package/dist/core/{Strands-Bv7RvyRC.js → Strands-Bi1Is8_o.js} +19 -18
  46. package/dist/core/{Swirl-CIXreSgZ.js → Swirl-DuYM23jG.js} +14 -13
  47. package/dist/core/{TiltShift-J0UUcoh-.js → TiltShift-BUvZWBsh.js} +11 -11
  48. package/dist/core/{Tritone-E9eHvjJV.js → Tritone-CKifp6Ob.js} +3 -3
  49. package/dist/core/{Twirl-ClhPpapm.js → Twirl-Ztlb9x_h.js} +21 -17
  50. package/dist/core/{Vibrance-CqnE9Zco.js → Vibrance-B7EsDw6e.js} +1 -1
  51. package/dist/core/{WaveDistortion-gecgVpvO.js → WaveDistortion-HCnk54tD.js} +20 -17
  52. package/dist/core/{ZoomBlur-CaGbSDG3.js → ZoomBlur-Ck6M9A2W.js} +2 -2
  53. package/dist/core/{colorMixing-C_ESXyqX.js → colorMixing-DPZ-Td4U.js} +3 -3
  54. package/dist/core/edges-B-tVdqcI.js +16 -0
  55. package/dist/core/index.js +1315 -945
  56. package/dist/core/performanceTracker.d.ts +2 -0
  57. package/dist/core/performanceTracker.d.ts.map +1 -1
  58. package/dist/core/renderer.d.ts +12 -0
  59. package/dist/core/renderer.d.ts.map +1 -1
  60. package/dist/core/shaderRegistry.d.ts.map +1 -1
  61. package/dist/core/shaders/AngularBlur/index.js +3 -3
  62. package/dist/core/shaders/Ascii/index.js +2 -2
  63. package/dist/core/shaders/Blob/index.d.ts.map +1 -1
  64. package/dist/core/shaders/Blob/index.js +5 -5
  65. package/dist/core/shaders/Blur/index.js +2 -2
  66. package/dist/core/shaders/Bulge/index.d.ts.map +1 -1
  67. package/dist/core/shaders/Bulge/index.js +4 -4
  68. package/dist/core/shaders/CRTScreen/index.js +2 -2
  69. package/dist/core/shaders/ChannelBlur/index.js +2 -2
  70. package/dist/core/shaders/Checkerboard/index.d.ts.map +1 -1
  71. package/dist/core/shaders/Checkerboard/index.js +4 -4
  72. package/dist/core/shaders/ChromaFlow/index.js +3 -3
  73. package/dist/core/shaders/ChromaticAberration/index.js +3 -3
  74. package/dist/core/shaders/Circle/index.d.ts.map +1 -1
  75. package/dist/core/shaders/Circle/index.js +3 -3
  76. package/dist/core/shaders/CursorTrail/index.js +4 -4
  77. package/dist/core/shaders/DiffuseBlur/index.js +2 -2
  78. package/dist/core/shaders/Dither/index.js +3 -3
  79. package/dist/core/shaders/DotGrid/index.d.ts.map +1 -1
  80. package/dist/core/shaders/DotGrid/index.js +3 -3
  81. package/dist/core/shaders/Duotone/index.js +4 -4
  82. package/dist/core/shaders/FilmGrain/index.d.ts.map +1 -1
  83. package/dist/core/shaders/FilmGrain/index.js +2 -2
  84. package/dist/core/shaders/FloatingParticles/index.d.ts.map +1 -1
  85. package/dist/core/shaders/FloatingParticles/index.js +3 -3
  86. package/dist/core/shaders/GlassTiles/index.d.ts.map +1 -1
  87. package/dist/core/shaders/GlassTiles/index.js +2 -2
  88. package/dist/core/shaders/Glow/index.js +2 -2
  89. package/dist/core/shaders/Godrays/index.d.ts.map +1 -1
  90. package/dist/core/shaders/Godrays/index.js +3 -3
  91. package/dist/core/shaders/Grayscale/index.js +2 -2
  92. package/dist/core/shaders/Grid/index.d.ts.map +1 -1
  93. package/dist/core/shaders/Grid/index.js +3 -3
  94. package/dist/core/shaders/GridDistortion/index.d.ts.map +1 -1
  95. package/dist/core/shaders/GridDistortion/index.js +4 -4
  96. package/dist/core/shaders/Group/index.js +2 -2
  97. package/dist/core/shaders/Halftone/index.js +3 -3
  98. package/dist/core/shaders/HueShift/index.js +2 -2
  99. package/dist/core/shaders/ImageTexture/index.d.ts.map +1 -1
  100. package/dist/core/shaders/ImageTexture/index.js +2 -2
  101. package/dist/core/shaders/Invert/index.js +2 -2
  102. package/dist/core/shaders/LinearBlur/index.js +3 -3
  103. package/dist/core/shaders/LinearGradient/index.d.ts.map +1 -1
  104. package/dist/core/shaders/LinearGradient/index.js +4 -4
  105. package/dist/core/shaders/Liquify/index.d.ts.map +1 -1
  106. package/dist/core/shaders/Liquify/index.js +4 -4
  107. package/dist/core/shaders/Pixelate/index.d.ts.map +1 -1
  108. package/dist/core/shaders/Pixelate/index.js +2 -2
  109. package/dist/core/shaders/PolarCoordinates/index.d.ts.map +1 -1
  110. package/dist/core/shaders/PolarCoordinates/index.js +4 -4
  111. package/dist/core/shaders/Posterize/index.js +2 -2
  112. package/dist/core/shaders/ProgressiveBlur/index.js +3 -3
  113. package/dist/core/shaders/RadialGradient/index.d.ts.map +1 -1
  114. package/dist/core/shaders/RadialGradient/index.js +4 -4
  115. package/dist/core/shaders/RectangularCoordinates/index.d.ts +38 -0
  116. package/dist/core/shaders/RectangularCoordinates/index.d.ts.map +1 -0
  117. package/dist/core/shaders/RectangularCoordinates/index.js +8 -0
  118. package/dist/core/shaders/Ripples/index.d.ts.map +1 -1
  119. package/dist/core/shaders/Ripples/index.js +4 -4
  120. package/dist/core/shaders/Saturation/index.js +2 -2
  121. package/dist/core/shaders/SimplexNoise/index.d.ts.map +1 -1
  122. package/dist/core/shaders/SimplexNoise/index.js +4 -4
  123. package/dist/core/shaders/SineWave/index.d.ts.map +1 -1
  124. package/dist/core/shaders/SineWave/index.js +3 -3
  125. package/dist/core/shaders/SolidColor/index.d.ts.map +1 -1
  126. package/dist/core/shaders/SolidColor/index.js +3 -3
  127. package/dist/core/shaders/Spiral/index.d.ts.map +1 -1
  128. package/dist/core/shaders/Spiral/index.js +4 -4
  129. package/dist/core/shaders/Strands/index.d.ts.map +1 -1
  130. package/dist/core/shaders/Strands/index.js +4 -4
  131. package/dist/core/shaders/Swirl/index.d.ts.map +1 -1
  132. package/dist/core/shaders/Swirl/index.js +5 -5
  133. package/dist/core/shaders/TiltShift/index.js +3 -3
  134. package/dist/core/shaders/Tritone/index.js +4 -4
  135. package/dist/core/shaders/Twirl/index.d.ts.map +1 -1
  136. package/dist/core/shaders/Twirl/index.js +4 -4
  137. package/dist/core/shaders/Vibrance/index.js +2 -2
  138. package/dist/core/shaders/WaveDistortion/index.d.ts.map +1 -1
  139. package/dist/core/shaders/WaveDistortion/index.js +6 -7
  140. package/dist/core/shaders/ZoomBlur/index.js +3 -3
  141. package/dist/core/telemetry/collector.d.ts.map +1 -1
  142. package/dist/core/telemetry/index.js +19 -19
  143. package/dist/core/{three.tsl-CgyjOhns.js → three.tsl-BqgDcRt9.js} +21 -20
  144. package/dist/core/{time-myrFQH-u.js → time-5uQ65blS.js} +1 -1
  145. package/dist/core/{transformations-Bs66Qh16.js → transformations-DBjTkQ5b.js} +1 -1
  146. package/dist/core/types.d.ts +81 -0
  147. package/dist/core/types.d.ts.map +1 -1
  148. package/dist/core/utilities/edges.d.ts +13 -2
  149. package/dist/core/utilities/edges.d.ts.map +1 -1
  150. package/dist/core/utilities/uvTransform.d.ts +20 -0
  151. package/dist/core/utilities/uvTransform.d.ts.map +1 -1
  152. package/dist/react/components/RectangularCoordinates.d.ts +31 -0
  153. package/dist/react/components/RectangularCoordinates.d.ts.map +1 -0
  154. package/dist/react/index.cjs +233 -233
  155. package/dist/react/index.d.ts +1 -0
  156. package/dist/react/index.d.ts.map +1 -1
  157. package/dist/react/index.js +16300 -15647
  158. package/dist/react/utils/generatePresetCode.cjs +2 -2
  159. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  160. package/dist/react/utils/generatePresetCode.js +12 -0
  161. package/dist/registry.js +151 -0
  162. package/dist/svelte/components/RectangularCoordinates.svelte.d.ts +19 -0
  163. package/dist/svelte/index.d.ts +1 -0
  164. package/dist/svelte/index.js +15134 -14523
  165. package/dist/svelte/utils/generatePresetCode.js +12 -0
  166. package/dist/vue/components/RectangularCoordinates.vue.d.ts +57 -0
  167. package/dist/vue/components/RectangularCoordinates.vue.d.ts.map +1 -0
  168. package/dist/vue/{generatePresetCode-B6Ks_W3s.js → generatePresetCode-T78GxN5X.js} +12 -0
  169. package/dist/vue/index.d.ts +1 -0
  170. package/dist/vue/index.d.ts.map +1 -1
  171. package/dist/vue/index.js +15219 -14598
  172. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  173. package/dist/vue/utils/generatePresetCode.js +1 -1
  174. package/package.json +6 -1
  175. package/dist/core/Bulge-Ceythf-i.js +0 -99
  176. package/dist/core/FilmGrain-BAZORehh.js +0 -27
  177. package/dist/core/FloatingParticles-7wvOBUbD.js +0 -158
  178. package/dist/core/GlassTiles-C0y_PWTa.js +0 -48
  179. package/dist/core/GridDistortion-CuxRQdzs.js +0 -137
  180. package/dist/core/Liquify-rmJGJAdt.js +0 -126
  181. package/dist/core/Pixelate-BIANS3t9.js +0 -34
  182. package/dist/core/edges-Cj8yVYgz.js +0 -10
@@ -1,10 +1,11 @@
1
- import { O as N, m as R } from "./three.tsl-CgyjOhns.js";
2
- import { a as W, i as X, n as Y, o as h, r as b, t as j } from "./transformations-Bs66Qh16.js";
3
- import { t as k } from "./colorMixing-C_ESXyqX.js";
4
- R();
5
- const F = {
1
+ import { k as R, m as W } from "./three.tsl-BqgDcRt9.js";
2
+ import { a as X, i as Y, n as j, o as h, r as b, t as F } from "./transformations-DBjTkQ5b.js";
3
+ import { t as I } from "./colorMixing-DPZ-Td4U.js";
4
+ W();
5
+ const J = {
6
6
  name: "LinearGradient",
7
7
  category: "Gradients & Colors",
8
+ acceptsUVContext: !0,
8
9
  props: {
9
10
  colorA: {
10
11
  default: "#1aff00",
@@ -50,7 +51,7 @@ const F = {
50
51
  },
51
52
  angle: {
52
53
  default: 0,
53
- transform: Y,
54
+ transform: j,
54
55
  description: "Additional rotation angle of the gradient (in degrees)",
55
56
  ui: {
56
57
  type: "range",
@@ -62,7 +63,7 @@ const F = {
62
63
  },
63
64
  edges: {
64
65
  default: "stretch",
65
- transform: W,
66
+ transform: X,
66
67
  description: "How to handle areas beyond the gradient endpoints",
67
68
  ui: {
68
69
  type: "select",
@@ -89,22 +90,22 @@ const F = {
89
90
  },
90
91
  colorSpace: {
91
92
  default: "linear",
92
- transform: X,
93
+ transform: Y,
93
94
  description: "Color space for color interpolation",
94
95
  ui: {
95
96
  type: "select",
96
- options: j,
97
+ options: F,
97
98
  label: "Color Space"
98
99
  }
99
100
  }
100
101
  },
101
- fragmentNode: ({ uniforms: t }) => {
102
- const { vec2: s, vec4: T, float: e, cos: y, sin: x, dot: A, radians: C, screenUV: v, length: E, normalize: M, abs: S, mod: B, fract: q } = N, 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), w = E(d), _ = M(d), p = C(t.angle.uniform).negate(), u = y(p), m = x(p), f = l.add(c).mul(0.5), r = v.sub(f), o = A(s(r.x.mul(u).sub(r.y.mul(m)), r.x.mul(m).add(r.y.mul(u))).add(f).sub(l), _).div(w.max(1e-6)), a = t.edges.uniform, O = o.clamp(e(0), e(1)), G = o.greaterThanEqual(e(0)).select(e(1), e(0)), H = o.lessThanEqual(e(1)).select(e(1), e(0)), L = G.mul(H), i = B(S(o), e(2)), P = i.greaterThan(e(1)).select(e(2).sub(i), i), V = q(o), g = a.greaterThanEqual(e(0.5)), z = a.greaterThanEqual(e(1.5)), D = a.greaterThanEqual(e(2.5)).select(V, z.select(P, g.select(o, O))), n = k(t.colorA.uniform, t.colorB.uniform, D.clamp(e(0), e(1)), t.colorSpace.uniform), U = g.and(a.lessThan(e(1.5))).select(n.w.mul(L), n.w);
103
- return T(n.x, n.y, n.z, U);
102
+ 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
+ return y(n.x, n.y, n.z, N);
104
105
  }
105
106
  };
106
- var Q = F;
107
+ var $ = J;
107
108
  export {
108
- F as n,
109
- Q as t
109
+ J as n,
110
+ $ as t
110
111
  };
@@ -0,0 +1,139 @@
1
+ import { O as Z, k as A, m as $ } from "./three.tsl-BqgDcRt9.js";
2
+ import { t as B } from "./edges-B-tVdqcI.js";
3
+ import { a as J } from "./transformations-DBjTkQ5b.js";
4
+ import { DataTexture as K, FloatType as Q, LinearFilter as C, RGFormat as ee } from "three";
5
+ $();
6
+ var r = 32, w = /* @__PURE__ */ new WeakMap(), G = (e) => {
7
+ let i = w.get(e);
8
+ if (!i) {
9
+ const l = new Float32Array(r * r * 2), t = new K(l, r, r, ee, Q);
10
+ t.magFilter = C, t.minFilter = C, t.needsUpdate = !0, i = {
11
+ texture: t,
12
+ data: l,
13
+ tslNode: Z(t),
14
+ initialized: !1
15
+ }, w.set(e, i);
16
+ }
17
+ return i;
18
+ };
19
+ const te = {
20
+ name: "Liquify",
21
+ category: "Interactive",
22
+ requiresRTT: !0,
23
+ requiresChild: !0,
24
+ props: {
25
+ intensity: {
26
+ default: 1,
27
+ description: "Strength of the distortion effect",
28
+ ui: {
29
+ type: "range",
30
+ min: 0,
31
+ max: 5,
32
+ step: 0.1,
33
+ label: "Intensity"
34
+ }
35
+ },
36
+ swirl: {
37
+ default: 0,
38
+ description: "Amount of swirl motion (0-1)",
39
+ ui: {
40
+ type: "range",
41
+ min: 0,
42
+ max: 1,
43
+ step: 0.01,
44
+ label: "Swirl"
45
+ }
46
+ },
47
+ decay: {
48
+ default: 3,
49
+ description: "Rate of distortion decay (higher = faster)",
50
+ ui: {
51
+ type: "range",
52
+ min: 0,
53
+ max: 10,
54
+ step: 0.1,
55
+ label: "Decay"
56
+ }
57
+ },
58
+ radius: {
59
+ default: 1,
60
+ description: "Radius of the distortion effect",
61
+ ui: {
62
+ type: "range",
63
+ min: 0,
64
+ max: 3,
65
+ step: 0.01,
66
+ label: "Radius"
67
+ }
68
+ },
69
+ edges: {
70
+ default: "stretch",
71
+ description: "How to handle edges when distortion pushes content out of bounds",
72
+ transform: J,
73
+ ui: {
74
+ type: "select",
75
+ options: [
76
+ {
77
+ label: "Stretch",
78
+ value: "stretch"
79
+ },
80
+ {
81
+ label: "Transparent",
82
+ value: "transparent"
83
+ },
84
+ {
85
+ label: "Mirror",
86
+ value: "mirror"
87
+ },
88
+ {
89
+ label: "Wrap",
90
+ value: "wrap"
91
+ }
92
+ ],
93
+ label: "Edges"
94
+ }
95
+ }
96
+ },
97
+ uvTransformNode: ({ uv: e, uniforms: i }) => {
98
+ const { vec2: l, float: t } = A, d = G(i).tslNode.sample(e).xy, o = t(0.2), m = d.clamp(l(o.negate(), o.negate()), l(o, o));
99
+ return e.sub(m);
100
+ },
101
+ 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();
104
+ 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;
110
+ for (let p = 0; p < r; p++) for (let f = 0; f < r; f++) {
111
+ const n = (p * r + f) * 2;
112
+ a[n] *= 1 - Y * s, a[n + 1] *= 1 - Y * s;
113
+ 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
+ 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
+ const k = Math.atan2(b, M) + Math.PI * 0.5;
118
+ a[n] += Math.cos(k) * g * h * s * 2, a[n + 1] += Math.sin(k) * g * h * s * 2;
119
+ }
120
+ }
121
+ a[n] = Math.max(-1, Math.min(1, a[n])), a[n + 1] = Math.max(-1, Math.min(1, a[n + 1]));
122
+ }
123
+ R.needsUpdate = !0, S = c.x, _ = c.y;
124
+ }), t(() => {
125
+ R.dispose(), w.delete(e);
126
+ }), !l) return o(0, 0, 0, 0);
127
+ const u = H(l);
128
+ t(() => {
129
+ u?.renderTarget?.dispose && u.renderTarget.dispose();
130
+ });
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);
133
+ }
134
+ };
135
+ var ie = te;
136
+ export {
137
+ te as n,
138
+ ie as t
139
+ };
@@ -0,0 +1,38 @@
1
+ import { k as n, m as p } from "./three.tsl-BqgDcRt9.js";
2
+ p();
3
+ const m = {
4
+ name: "Pixelate",
5
+ category: "Effects",
6
+ requiresRTT: !0,
7
+ requiresChild: !0,
8
+ props: { scale: {
9
+ default: 50,
10
+ description: "Pixel size - higher values create larger, more visible pixels",
11
+ ui: {
12
+ type: "range",
13
+ min: 1,
14
+ max: 200,
15
+ step: 1,
16
+ label: "Scale"
17
+ }
18
+ } },
19
+ uvTransformNode: ({ uv: t, uniforms: e }) => {
20
+ const { floor: i } = n, r = e.scale.uniform;
21
+ return i(t.mul(r)).div(r);
22
+ },
23
+ fragmentNode: ({ uniforms: t, childNode: e, onCleanup: i }) => {
24
+ const { vec4: r, floor: a, screenUV: l, convertToTexture: c } = n;
25
+ if (!e) return r(0, 0, 0, 0);
26
+ const s = c(e);
27
+ i(() => {
28
+ s?.renderTarget?.dispose && s.renderTarget.dispose();
29
+ });
30
+ const o = t.scale.uniform, u = a(l.mul(o)).div(o);
31
+ return s.sample(u);
32
+ }
33
+ };
34
+ var d = m;
35
+ export {
36
+ m as n,
37
+ d as t
38
+ };
@@ -1,8 +1,8 @@
1
- import { O as v, m as w } from "./three.tsl-CgyjOhns.js";
2
- import { t as T } from "./edges-Cj8yVYgz.js";
3
- import { a as C, o as P } from "./transformations-Bs66Qh16.js";
4
- w();
5
- const _ = {
1
+ import { k as y, m as T } from "./three.tsl-BqgDcRt9.js";
2
+ import { t as w } from "./edges-B-tVdqcI.js";
3
+ import { a as C, o as P } from "./transformations-DBjTkQ5b.js";
4
+ T();
5
+ const U = {
6
6
  name: "PolarCoordinates",
7
7
  category: "Distortions",
8
8
  requiresRTT: !0,
@@ -81,19 +81,23 @@ const _ = {
81
81
  }
82
82
  }
83
83
  },
84
- fragmentNode: ({ uniforms: e, childNode: a, onCleanup: p }) => {
85
- const { vec2: r, vec4: u, length: c, atan: m, screenUV: n, viewportSize: s, convertToTexture: f, PI: i, mix: g } = v;
86
- if (!a) return u(0, 0, 0, 0);
87
- const t = f(a);
88
- p(() => {
89
- t?.renderTarget?.dispose && t.renderTarget.dispose();
84
+ 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);
87
+ },
88
+ 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
+ if (!t) return u(0, 0, 0, 0);
91
+ const n = m(t);
92
+ i(() => {
93
+ n?.renderTarget?.dispose && n.renderTarget.dispose();
90
94
  });
91
- const l = s.x.div(s.y), h = r(n.x.mul(l), n.y), y = r(e.center.uniform.x.mul(l), e.center.uniform.y.oneMinus()), o = h.sub(y), b = m(o.y, o.x).add(i).div(i.mul(2)), x = c(o), d = g(n, r(b.mul(e.wrap.uniform), x.mul(e.radius.uniform)), e.intensity.uniform);
92
- return T(d, t.sample(d), t, e.edges.uniform);
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
+ return w(g, n.sample(g), n, e.edges.uniform);
93
97
  }
94
98
  };
95
- var q = _;
99
+ var I = U;
96
100
  export {
97
- _ as n,
98
- q as t
101
+ U as n,
102
+ I as t
99
103
  };
@@ -1,4 +1,4 @@
1
- import { O as r, m as i } from "./three.tsl-CgyjOhns.js";
1
+ import { k as r, m as i } from "./three.tsl-BqgDcRt9.js";
2
2
  import { c as n, o as a } from "./TSLBase-BFMvTOak.js";
3
3
  var p = class extends n {
4
4
  static get type() {
@@ -1,7 +1,7 @@
1
- import { O as M, m as U } from "./three.tsl-CgyjOhns.js";
2
- import { n as O, o as j } from "./transformations-Bs66Qh16.js";
1
+ import { k as M, m as U } from "./three.tsl-BqgDcRt9.js";
2
+ import { n as k, o as j } from "./transformations-DBjTkQ5b.js";
3
3
  U();
4
- const k = {
4
+ const E = {
5
5
  name: "ProgressiveBlur",
6
6
  category: "Blurs",
7
7
  requiresRTT: !0,
@@ -20,7 +20,7 @@ const k = {
20
20
  },
21
21
  angle: {
22
22
  default: 0,
23
- transform: O,
23
+ transform: k,
24
24
  description: "Direction of the blur gradient (in degrees)",
25
25
  ui: {
26
26
  type: "range",
@@ -95,8 +95,8 @@ const k = {
95
95
  })();
96
96
  }
97
97
  };
98
- var H = k;
98
+ var J = E;
99
99
  export {
100
- k as n,
101
- H as t
100
+ E as n,
101
+ J as t
102
102
  };
@@ -1,10 +1,11 @@
1
- import { O as c, m as p } from "./three.tsl-CgyjOhns.js";
2
- import { i as d, o as f, r as n, t as m } from "./transformations-Bs66Qh16.js";
3
- import { t as u } from "./colorMixing-C_ESXyqX.js";
4
- p();
5
- const h = {
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";
4
+ f();
5
+ const y = {
6
6
  name: "RadialGradient",
7
7
  category: "Gradients & Colors",
8
+ acceptsUVContext: !0,
8
9
  props: {
9
10
  colorA: {
10
11
  default: "#ff0000",
@@ -29,7 +30,7 @@ const h = {
29
30
  x: 0.5,
30
31
  y: 0.5
31
32
  },
32
- transform: f,
33
+ transform: u,
33
34
  description: "The center point of the radial gradient",
34
35
  ui: {
35
36
  type: "position",
@@ -49,22 +50,22 @@ const h = {
49
50
  },
50
51
  colorSpace: {
51
52
  default: "linear",
52
- transform: d,
53
+ transform: m,
53
54
  description: "Color space for color interpolation",
54
55
  ui: {
55
56
  type: "select",
56
- options: m,
57
+ options: h,
57
58
  label: "Color Space"
58
59
  }
59
60
  }
60
61
  },
61
- fragmentNode: ({ uniforms: o }) => {
62
- const { vec2: e, float: r, distance: l, screenUV: t, viewportSize: a } = c, i = a.x.div(a.y), s = l(e(t.x.mul(i), t.y), e(o.center.uniform.x.mul(i), o.center.uniform.y.oneMinus())).div(o.radius.uniform).clamp(r(0), r(1));
63
- return u(o.colorA.uniform, o.colorB.uniform, s, o.colorSpace.uniform);
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);
64
65
  }
65
66
  };
66
- var x = h;
67
+ var S = y;
67
68
  export {
68
- h as n,
69
- x as t
69
+ y as n,
70
+ S as t
70
71
  };
@@ -0,0 +1,92 @@
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";
4
+ T();
5
+ const C = {
6
+ name: "RectangularCoordinates",
7
+ category: "Distortions",
8
+ requiresRTT: !0,
9
+ requiresChild: !0,
10
+ props: {
11
+ center: {
12
+ default: {
13
+ x: 0.5,
14
+ y: 0.5
15
+ },
16
+ transform: w,
17
+ description: "The center point for rectangular coordinate conversion",
18
+ ui: {
19
+ type: "position",
20
+ label: "Center"
21
+ }
22
+ },
23
+ scale: {
24
+ default: 1,
25
+ description: "Scale factor for the rectangular output",
26
+ ui: {
27
+ type: "range",
28
+ min: 0.1,
29
+ max: 3,
30
+ step: 0.01,
31
+ label: "Scale"
32
+ }
33
+ },
34
+ intensity: {
35
+ default: 1,
36
+ description: "Blends between original UVs (0) and rectangular coordinates (1)",
37
+ ui: {
38
+ type: "range",
39
+ min: 0,
40
+ max: 1,
41
+ step: 0.01,
42
+ label: "Intensity"
43
+ }
44
+ },
45
+ edges: {
46
+ default: "transparent",
47
+ description: "How to handle edges when distortion pushes content out of bounds",
48
+ transform: _,
49
+ ui: {
50
+ type: "select",
51
+ options: [
52
+ {
53
+ label: "Stretch",
54
+ value: "stretch"
55
+ },
56
+ {
57
+ label: "Transparent",
58
+ value: "transparent"
59
+ },
60
+ {
61
+ label: "Mirror",
62
+ value: "mirror"
63
+ },
64
+ {
65
+ label: "Wrap",
66
+ value: "wrap"
67
+ }
68
+ ],
69
+ label: "Edges"
70
+ }
71
+ }
72
+ },
73
+ 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);
76
+ },
77
+ 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
+ if (!t) return d(0, 0, 0, 0);
80
+ const n = l(t);
81
+ i(() => {
82
+ n?.renderTarget?.dispose && n.renderTarget.dispose();
83
+ });
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);
86
+ }
87
+ };
88
+ var R = C;
89
+ export {
90
+ C as n,
91
+ R as t
92
+ };
@@ -1,17 +1,18 @@
1
- import { O as w, m as A } from "./three.tsl-CgyjOhns.js";
2
- import { t as B } from "./time-myrFQH-u.js";
3
- import { o as C, r as l } from "./transformations-Bs66Qh16.js";
4
- A();
5
- const S = {
1
+ import { k as A, m as B } from "./three.tsl-BqgDcRt9.js";
2
+ import { t as S } from "./time-5uQ65blS.js";
3
+ import { o as _, r as l } from "./transformations-DBjTkQ5b.js";
4
+ B();
5
+ const q = {
6
6
  name: "Ripples",
7
7
  category: "Effects",
8
+ acceptsUVContext: !0,
8
9
  props: {
9
10
  center: {
10
11
  default: {
11
12
  x: 0.5,
12
13
  y: 0.5
13
14
  },
14
- transform: C,
15
+ transform: _,
15
16
  description: "The center point where ripples emanate from",
16
17
  ui: {
17
18
  type: "position",
@@ -92,13 +93,13 @@ const S = {
92
93
  }
93
94
  }
94
95
  },
95
- fragmentNode: (o) => {
96
- const { uniforms: e } = o, { vec2: t, float: s, screenUV: n, sin: f, distance: m, viewportSize: r, mix: u, smoothstep: d } = w, i = e.center.uniform, h = e.colorA.uniform, y = e.colorB.uniform, b = e.frequency.uniform, a = e.softness.uniform, x = e.thickness.uniform, g = e.phase.uniform, p = r.x.div(r.y), k = m(t(n.x.mul(p), n.y), t(i.x.mul(p), i.y.oneMinus())), v = B(o, e.speed), T = f(k.mul(b).sub(v).add(g)), c = x.mul(s(2)).sub(s(1));
97
- return u(y, h, d(c.add(a), c.sub(a), T));
96
+ 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
99
  }
99
100
  };
100
- var N = S;
101
+ var U = q;
101
102
  export {
102
- S as n,
103
- N as t
103
+ q as n,
104
+ U as t
104
105
  };
@@ -1,4 +1,4 @@
1
- import { O as o, m as a } from "./three.tsl-CgyjOhns.js";
1
+ import { k as o, m as a } from "./three.tsl-BqgDcRt9.js";
2
2
  import { r as i } from "./ColorAdjustment-CKwpE_4M.js";
3
3
  a();
4
4
  const s = {
@@ -1,10 +1,11 @@
1
- import { A as d, N as a, S as r, _ as f, a as u, j as x, m as y, u as g, y as b } from "./three.tsl-CgyjOhns.js";
2
- import { t as v } from "./time-myrFQH-u.js";
3
- import { r as n } from "./transformations-Bs66Qh16.js";
4
- y();
5
- const S = {
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";
3
+ import { r as n } from "./transformations-DBjTkQ5b.js";
4
+ b();
5
+ const h = {
6
6
  name: "SimplexNoise",
7
7
  category: "Noise",
8
+ acceptsUVContext: !0,
8
9
  props: {
9
10
  colorA: {
10
11
  default: "#ffffff",
@@ -80,13 +81,13 @@ const S = {
80
81
  }
81
82
  }
82
83
  },
83
- fragmentNode: (o) => {
84
- const { uniforms: e } = o, i = a.x.div(a.y), s = d(r.x.mul(i), r.y), l = v(o, e.speed), t = s.mul(g(e.scale.uniform)).add(e.seed.uniform), c = b(x(t.x, t.y, l.mul(0.5))), m = e.contrast.uniform.add(1), p = u(0, 1, c.mul(m).add(e.balance.uniform).mul(0.5).add(0.5));
85
- return f(e.colorB.uniform, e.colorA.uniform, p);
84
+ 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
+ return x(e.colorB.uniform, e.colorA.uniform, d);
86
87
  }
87
88
  };
88
- var _ = S;
89
+ var N = h;
89
90
  export {
90
- S as n,
91
- _ as t
91
+ h as n,
92
+ N as t
92
93
  };
@@ -1,9 +1,10 @@
1
- import { O as q, m as P } from "./three.tsl-CgyjOhns.js";
2
- import { n as W, o as C, r as M } from "./transformations-Bs66Qh16.js";
3
- P();
4
- const U = {
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";
3
+ U();
4
+ const F = {
5
5
  name: "SineWave",
6
6
  category: "Shapes & Masks",
7
+ acceptsUVContext: !0,
7
8
  props: {
8
9
  color: {
9
10
  default: "#ffffff",
@@ -49,7 +50,7 @@ const U = {
49
50
  },
50
51
  angle: {
51
52
  default: 0,
52
- transform: W,
53
+ transform: V,
53
54
  description: "The rotation angle of the wave (in degrees)",
54
55
  ui: {
55
56
  type: "range",
@@ -64,7 +65,7 @@ const U = {
64
65
  x: 0.5,
65
66
  y: 0.5
66
67
  },
67
- transform: C,
68
+ transform: W,
68
69
  description: "The center position of the wave",
69
70
  ui: {
70
71
  type: "position",
@@ -94,13 +95,13 @@ const U = {
94
95
  }
95
96
  }
96
97
  },
97
- fragmentNode: ({ uniforms: e }) => {
98
- const { vec2: n, vec4: u, sin: o, cos: f, abs: d, smoothstep: h, screenUV: s, viewportSize: a, time: g, radians: y, PI: v } = q, i = a.x.div(a.y), b = n(s.x.mul(i), s.y), x = n(e.position.uniform.x.mul(i), e.position.uniform.y.oneMinus()), t = b.sub(x), r = y(e.angle.uniform), l = f(r), c = o(r), w = t.x.mul(l).sub(t.y.mul(c)), T = t.x.mul(c).add(t.y.mul(l)), k = g.mul(e.speed.uniform), S = o(w.mul(e.frequency.uniform).mul(v.mul(2)).add(k)).mul(e.amplitude.uniform), A = d(T.sub(S)), m = e.thickness.uniform.mul(0.5), p = e.softness.uniform.mul(0.5), _ = h(m.add(p), m.sub(p), A);
99
- return u(e.color.uniform.rgb, e.color.uniform.a.mul(_));
98
+ 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
101
  }
101
102
  };
102
- var z = U;
103
+ var E = F;
103
104
  export {
104
- U as n,
105
- z as t
105
+ F as n,
106
+ E as t
106
107
  };
@@ -1,7 +1,8 @@
1
- import { r } from "./transformations-Bs66Qh16.js";
2
- const l = {
1
+ import { r } from "./transformations-DBjTkQ5b.js";
2
+ const t = {
3
3
  name: "SolidColor",
4
4
  category: "Gradients & Colors",
5
+ acceptsUVContext: !0,
5
6
  props: { color: {
6
7
  default: "#5b18ca",
7
8
  transform: r,
@@ -13,8 +14,8 @@ const l = {
13
14
  } },
14
15
  fragmentNode: ({ uniforms: o }) => o.color.uniform
15
16
  };
16
- var a = l;
17
+ var l = t;
17
18
  export {
18
- l as n,
19
- a as t
19
+ t as n,
20
+ l as t
20
21
  };