shaders 2.2.23 → 2.2.25

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 (213) hide show
  1. package/dist/core/AngularBlur-Dl2gwk68.js +64 -0
  2. package/dist/core/Ascii-Dha_QpT3.js +286 -0
  3. package/dist/core/Beam-CTN9Ni43.js +139 -0
  4. package/dist/core/Blob-CxFDZovO.js +218 -0
  5. package/dist/core/Blur-Y2FsmFk_.js +77 -0
  6. package/dist/core/Bulge-Cb-t0xqI.js +132 -0
  7. package/dist/core/CRTScreen-CtERsenz.js +112 -0
  8. package/dist/core/ChannelBlur-CvM6GJgZ.js +118 -0
  9. package/dist/core/Checkerboard-CgB-egNY.js +83 -0
  10. package/dist/core/ChromaFlow-vRCwhQpN.js +222 -0
  11. package/dist/core/ChromaticAberration-FTquTQIL.js +88 -0
  12. package/dist/core/Circle-Daziv5d7.js +67 -0
  13. package/dist/core/CursorTrail-Bsz9e6Fn.js +145 -0
  14. package/dist/core/DiffuseBlur-Cj2PtRNd.js +83 -0
  15. package/dist/core/Dither-D2Nf4p3w.js +66 -0
  16. package/dist/core/DotGrid-CzOwquo4.js +75 -0
  17. package/dist/core/Duotone-XuTN9tI7.js +65 -0
  18. package/dist/core/FilmGrain-D3-nbi12.js +28 -0
  19. package/dist/core/FloatingParticles-D9Nnu1qg.js +217 -0
  20. package/dist/core/GlassTiles-CnjCvajI.js +69 -0
  21. package/dist/core/Glow-BluFc9be.js +75 -0
  22. package/dist/core/Godrays-ChLh_vGl.js +144 -0
  23. package/dist/core/Grayscale-DRny75A9.js +20 -0
  24. package/dist/core/Grid-DgyDa4H1.js +58 -0
  25. package/dist/core/GridDistortion-BAspCYvp.js +188 -0
  26. package/dist/core/Group-Dul7PUBl.js +14 -0
  27. package/dist/core/Halftone-Ifv5F_FT.js +65 -0
  28. package/dist/core/HueShift-De8ukMWs.js +31 -0
  29. package/dist/core/ImageTexture-DvYcQgJB.js +143 -0
  30. package/dist/core/Invert-Fz0NtIJc.js +21 -0
  31. package/dist/core/LinearBlur-LmhnQoA4.js +62 -0
  32. package/dist/core/LinearGradient-xbloQjzt.js +133 -0
  33. package/dist/core/Liquify-DMe1V5-O.js +175 -0
  34. package/dist/core/Pixelate-Cv8537Pj.js +37 -0
  35. package/dist/core/PolarCoordinates-DDvDhBE-.js +112 -0
  36. package/dist/core/Posterize-3m3xkWOz.js +29 -0
  37. package/dist/core/ProgressiveBlur-EGkevObV.js +121 -0
  38. package/dist/core/RadialGradient-B7ZZB_VJ.js +71 -0
  39. package/dist/core/RectangularCoordinates-muWR8mZS.js +101 -0
  40. package/dist/core/Ripples-8XaZaXQF.js +117 -0
  41. package/dist/core/Saturation-CYFI1jzN.js +30 -0
  42. package/dist/core/SimplexNoise-DJUe0wz_.js +99 -0
  43. package/dist/core/SineWave-Dl3nFO1W.js +120 -0
  44. package/dist/core/SolidColor-CWGq_Bjq.js +21 -0
  45. package/dist/core/Spherize-C-jZEUsN.js +128 -0
  46. package/dist/core/Spiral-BSB_R39p.js +132 -0
  47. package/dist/core/Strands-0stO5BMy.js +161 -0
  48. package/dist/core/Stretch-B645paha.js +133 -0
  49. package/dist/core/Swirl-CVnbawit.js +173 -0
  50. package/dist/core/TiltShift-0CxNRI6L.js +134 -0
  51. package/dist/core/Tritone-Daa-I5UD.js +76 -0
  52. package/dist/core/Twirl-2CJVZEtk.js +96 -0
  53. package/dist/core/Vibrance-DRtecEvb.js +30 -0
  54. package/dist/core/WaveDistortion-BscXN2rs.js +173 -0
  55. package/dist/core/ZoomBlur-CAqK0Kju.js +62 -0
  56. package/dist/core/colorMixing-BXiTAqJU.js +69 -0
  57. package/dist/core/edges-Bn_OIa_h.js +26 -0
  58. package/dist/core/index.js +2257 -1604
  59. package/dist/core/shaderRegistry.d.ts.map +1 -1
  60. package/dist/core/shaders/AngularBlur/index.js +3 -7
  61. package/dist/core/shaders/Ascii/index.js +2 -6
  62. package/dist/core/shaders/Beam/index.d.ts +71 -0
  63. package/dist/core/shaders/Beam/index.d.ts.map +1 -0
  64. package/dist/core/shaders/Beam/index.js +4 -0
  65. package/dist/core/shaders/Blob/index.js +5 -9
  66. package/dist/core/shaders/Blur/index.js +2 -6
  67. package/dist/core/shaders/Bulge/index.js +4 -8
  68. package/dist/core/shaders/CRTScreen/index.js +2 -6
  69. package/dist/core/shaders/ChannelBlur/index.js +2 -6
  70. package/dist/core/shaders/Checkerboard/index.js +4 -8
  71. package/dist/core/shaders/ChromaFlow/index.js +3 -7
  72. package/dist/core/shaders/ChromaticAberration/index.js +3 -7
  73. package/dist/core/shaders/Circle/index.js +3 -7
  74. package/dist/core/shaders/CursorTrail/index.js +4 -8
  75. package/dist/core/shaders/DiffuseBlur/index.js +4 -8
  76. package/dist/core/shaders/Dither/index.js +3 -7
  77. package/dist/core/shaders/DotGrid/index.js +3 -7
  78. package/dist/core/shaders/Duotone/index.js +4 -8
  79. package/dist/core/shaders/FilmGrain/index.js +2 -6
  80. package/dist/core/shaders/FloatingParticles/index.js +3 -7
  81. package/dist/core/shaders/GlassTiles/index.js +2 -6
  82. package/dist/core/shaders/Glow/index.js +2 -6
  83. package/dist/core/shaders/Godrays/index.js +3 -7
  84. package/dist/core/shaders/Grayscale/index.js +2 -8
  85. package/dist/core/shaders/Grid/index.js +3 -7
  86. package/dist/core/shaders/GridDistortion/index.js +4 -8
  87. package/dist/core/shaders/Group/index.js +2 -6
  88. package/dist/core/shaders/Halftone/index.js +3 -7
  89. package/dist/core/shaders/HueShift/index.js +2 -8
  90. package/dist/core/shaders/ImageTexture/index.js +2 -6
  91. package/dist/core/shaders/Invert/index.js +2 -6
  92. package/dist/core/shaders/LinearBlur/index.js +3 -7
  93. package/dist/core/shaders/LinearGradient/index.js +4 -8
  94. package/dist/core/shaders/Liquify/index.js +4 -8
  95. package/dist/core/shaders/Pixelate/index.js +2 -6
  96. package/dist/core/shaders/PolarCoordinates/index.js +4 -8
  97. package/dist/core/shaders/Posterize/index.js +2 -7
  98. package/dist/core/shaders/ProgressiveBlur/index.js +3 -7
  99. package/dist/core/shaders/RadialGradient/index.js +4 -8
  100. package/dist/core/shaders/RectangularCoordinates/index.js +4 -8
  101. package/dist/core/shaders/Ripples/index.js +5 -9
  102. package/dist/core/shaders/Saturation/index.js +2 -8
  103. package/dist/core/shaders/SimplexNoise/index.js +5 -9
  104. package/dist/core/shaders/SineWave/index.js +3 -7
  105. package/dist/core/shaders/SolidColor/index.js +3 -7
  106. package/dist/core/shaders/Spherize/index.js +3 -7
  107. package/dist/core/shaders/Spiral/index.js +4 -8
  108. package/dist/core/shaders/Strands/index.js +4 -8
  109. package/dist/core/shaders/Stretch/index.js +4 -8
  110. package/dist/core/shaders/Swirl/index.js +5 -9
  111. package/dist/core/shaders/TiltShift/index.js +3 -7
  112. package/dist/core/shaders/Tritone/index.js +4 -8
  113. package/dist/core/shaders/Twirl/index.js +4 -8
  114. package/dist/core/shaders/Vibrance/index.js +2 -8
  115. package/dist/core/shaders/WaveDistortion/index.js +4 -8
  116. package/dist/core/shaders/ZoomBlur/index.js +3 -7
  117. package/dist/core/telemetry/index.js +189 -157
  118. package/dist/core/time-CTJvRUZ4.js +10 -0
  119. package/dist/core/transformations-DxfQXZWi.js +4715 -0
  120. package/dist/react/components/Beam.d.ts +31 -0
  121. package/dist/react/components/Beam.d.ts.map +1 -0
  122. package/dist/react/generatePresetCode-CCibXbtZ.js +645 -0
  123. package/dist/react/index.d.ts +1 -0
  124. package/dist/react/index.d.ts.map +1 -1
  125. package/dist/react/index.js +7649 -104600
  126. package/dist/react/utils/generatePresetCode.d.ts.map +1 -1
  127. package/dist/react/utils/generatePresetCode.js +2 -5
  128. package/dist/registry.js +224 -0
  129. package/dist/solid/components/Beam.d.ts +28 -0
  130. package/dist/solid/components/Beam.d.ts.map +1 -0
  131. package/dist/solid/index.d.ts +1 -0
  132. package/dist/solid/index.d.ts.map +1 -1
  133. package/dist/solid/index.js +6691 -102524
  134. package/dist/solid/utils/generatePresetCode.d.ts.map +1 -1
  135. package/dist/solid/utils/generatePresetCode.js +586 -537
  136. package/dist/svelte/components/Beam.svelte.d.ts +19 -0
  137. package/dist/svelte/generatePresetCode-CymgoDq_.js +645 -0
  138. package/dist/svelte/index.d.ts +1 -0
  139. package/dist/svelte/index.js +6175 -102455
  140. package/dist/svelte/utils/generatePresetCode.js +2 -5
  141. package/dist/vue/components/Beam.vue.d.ts +57 -0
  142. package/dist/vue/components/Beam.vue.d.ts.map +1 -0
  143. package/dist/vue/generatePresetCode-CRJmU8iF.js +649 -0
  144. package/dist/vue/index.d.ts +1 -0
  145. package/dist/vue/index.d.ts.map +1 -1
  146. package/dist/vue/index.js +6929 -103492
  147. package/dist/vue/utils/generatePresetCode.d.ts.map +1 -1
  148. package/dist/vue/utils/generatePresetCode.js +2 -5
  149. package/package.json +12 -1
  150. package/dist/core/AngularBlur-ClvtyURQ.js +0 -56
  151. package/dist/core/Ascii-BT0-K_vw.js +0 -196
  152. package/dist/core/Blob-BlQ_1T_8.js +0 -169
  153. package/dist/core/Blur-421AjWLH.js +0 -64
  154. package/dist/core/Bulge-CZRVoR6C.js +0 -103
  155. package/dist/core/CRTScreen-C_U9g_IR.js +0 -91
  156. package/dist/core/ChannelBlur-5pzcB6Zv.js +0 -89
  157. package/dist/core/Checkerboard-CrQkqXhD.js +0 -75
  158. package/dist/core/ChromaFlow-CNrQdL8f.js +0 -134
  159. package/dist/core/ChromaticAberration-D9H7O17Y.js +0 -82
  160. package/dist/core/Circle-DnLaDn8V.js +0 -62
  161. package/dist/core/ColorAdjustment-CKwpE_4M.js +0 -14
  162. package/dist/core/CursorTrail-NY6n97VG.js +0 -105
  163. package/dist/core/DiffuseBlur-C_n01ABk.js +0 -69
  164. package/dist/core/Dither-4s-c4zh4.js +0 -61
  165. package/dist/core/DotGrid-BYl8XdMi.js +0 -61
  166. package/dist/core/Duotone-DbewOoB4.js +0 -66
  167. package/dist/core/FilmGrain-zA_-knOw.js +0 -28
  168. package/dist/core/FloatingParticles-BhVnqMsE.js +0 -160
  169. package/dist/core/GlassTiles-CFI57glh.js +0 -52
  170. package/dist/core/Glow-CQgl3IoS.js +0 -66
  171. package/dist/core/Godrays-BHMix_Bh.js +0 -105
  172. package/dist/core/Grayscale-CAEFLteL.js +0 -21
  173. package/dist/core/Grid-DlM-rVbZ.js +0 -50
  174. package/dist/core/GridDistortion-ZOZphSAT.js +0 -147
  175. package/dist/core/Group-BQAs3RiH.js +0 -17
  176. package/dist/core/Halftone-ci4ga-_J.js +0 -55
  177. package/dist/core/HueShift-CyxzPcJV.js +0 -32
  178. package/dist/core/ImageTexture-CdAGsPuH.js +0 -105
  179. package/dist/core/Invert-iPsiIqNZ.js +0 -20
  180. package/dist/core/LinearBlur-BEaaoIk-.js +0 -56
  181. package/dist/core/LinearGradient-DR_7RxLX.js +0 -111
  182. package/dist/core/Liquify-Bi02_ugh.js +0 -139
  183. package/dist/core/Pixelate-CSsdT1rr.js +0 -38
  184. package/dist/core/PolarCoordinates-D626ml58.js +0 -103
  185. package/dist/core/Posterize-DhZkMaC7.js +0 -46
  186. package/dist/core/ProgressiveBlur-CGtCfLF8.js +0 -102
  187. package/dist/core/RadialGradient-C0_WzmbH.js +0 -71
  188. package/dist/core/RectangularCoordinates-DfXw7fhI.js +0 -92
  189. package/dist/core/Ripples-DkemN3eh.js +0 -106
  190. package/dist/core/Saturation-Dup81Pnq.js +0 -31
  191. package/dist/core/SimplexNoise-BYEiCjDj.js +0 -94
  192. package/dist/core/SineWave-C6MRPtsy.js +0 -107
  193. package/dist/core/SolidColor-BZHRczgb.js +0 -22
  194. package/dist/core/Spherize-DOAnDx2l.js +0 -103
  195. package/dist/core/Spiral-BMjnWXh1.js +0 -115
  196. package/dist/core/Strands-BOVsuJLe.js +0 -125
  197. package/dist/core/Stretch-D6bHc6yp.js +0 -103
  198. package/dist/core/Swirl-BFoc0ImG.js +0 -148
  199. package/dist/core/TSLBase-BFMvTOak.js +0 -8053
  200. package/dist/core/TiltShift-BiNvvhzj.js +0 -114
  201. package/dist/core/Tritone-gdx2AA0m.js +0 -75
  202. package/dist/core/Twirl-BsV8YbqC.js +0 -82
  203. package/dist/core/Vibrance-C182fbSw.js +0 -31
  204. package/dist/core/WaveDistortion-CmaS2zDB.js +0 -132
  205. package/dist/core/ZoomBlur-DLf5xQ16.js +0 -56
  206. package/dist/core/colorMixing--dhzx0ch.js +0 -21
  207. package/dist/core/edges-CDzKsauJ.js +0 -15
  208. package/dist/core/three.tsl-Btj1hLsf.js +0 -43845
  209. package/dist/core/time-DbRMw6Jm.js +0 -10
  210. package/dist/core/transformations-CsrIJXh-.js +0 -3992
  211. package/dist/react/generatePresetCode-DaS7jkcT.js +0 -626
  212. package/dist/svelte/generatePresetCode-DaS7jkcT.js +0 -626
  213. package/dist/vue/generatePresetCode-Cd1B-Y9j.js +0 -632
@@ -1,91 +0,0 @@
1
- import { O as E } from "./three.tsl-Btj1hLsf.js";
2
- const N = {
3
- name: "CRTScreen",
4
- category: "Stylize",
5
- description: "Retro CRT monitor simulation with scanlines",
6
- requiresRTT: !0,
7
- requiresChild: !0,
8
- props: {
9
- pixelSize: {
10
- default: 128,
11
- description: "Size of individual TV pixels (lower = more pixels)",
12
- ui: {
13
- type: "range",
14
- min: 8,
15
- max: 128,
16
- step: 1,
17
- label: "Pixel Size"
18
- }
19
- },
20
- colorShift: {
21
- default: 1,
22
- description: "Chromatic aberration amount",
23
- ui: {
24
- type: "range",
25
- min: 0,
26
- max: 10,
27
- step: 0.1,
28
- label: "Color Shift"
29
- }
30
- },
31
- scanlineIntensity: {
32
- default: 0.3,
33
- description: "Strength of horizontal scanlines",
34
- ui: {
35
- type: "range",
36
- min: 0,
37
- max: 1,
38
- step: 0.01,
39
- label: "Scanline Intensity"
40
- }
41
- },
42
- scanlineFrequency: {
43
- default: 200,
44
- description: "Number of scanlines across screen",
45
- ui: {
46
- type: "range",
47
- min: 100,
48
- max: 800,
49
- step: 10,
50
- label: "Scanline Frequency"
51
- }
52
- },
53
- brightness: {
54
- default: 1.1,
55
- description: "Screen brightness boost",
56
- ui: {
57
- type: "range",
58
- min: 0.5,
59
- max: 2,
60
- step: 0.01,
61
- label: "Brightness"
62
- }
63
- },
64
- contrast: {
65
- default: 1.2,
66
- description: "Screen contrast enhancement",
67
- ui: {
68
- type: "range",
69
- min: 0.5,
70
- max: 2,
71
- step: 0.01,
72
- label: "Contrast"
73
- }
74
- }
75
- },
76
- fragmentNode: ({ uniforms: n, childNode: a, onCleanup: d }) => {
77
- const { vec2: i, vec3: c, vec4: u, float: e, screenUV: t, sin: o, fract: p, smoothstep: f, length: g, convertToTexture: h } = E;
78
- if (!a) return u(0, 0, 0, 0);
79
- const s = h(a);
80
- d(() => {
81
- s?.renderTarget?.dispose && s.renderTarget.dispose();
82
- });
83
- const b = n.pixelSize.uniform, S = n.colorShift.uniform, x = n.scanlineIntensity.uniform, y = n.scanlineFrequency.uniform, C = n.brightness.uniform, T = n.contrast.uniform, m = S.mul(e(2e-3)), v = t.add(i(m, e(0))), z = t, q = t.sub(i(m, e(0))), R = s.sample(v).r, V = s.sample(z).g, F = s.sample(q).b, I = c(R, V, F).sub(e(0.5)).mul(T).add(e(0.5)).mul(C), U = o(t.y.mul(y).mul(e(3.14159 * 2))), k = e(1).sub(x.mul(U.mul(e(0.5)).add(e(0.5)))), r = I.mul(k), M = b.mul(e(0.5)), l = p(t.mul(M)), _ = o(l.x.mul(e(6.28318))).mul(e(0.1)).add(e(0.95)), w = o(l.x.mul(e(6.28318)).add(e(2.09))).mul(e(0.1)).add(e(0.95)), D = o(l.x.mul(e(6.28318)).add(e(4.18))).mul(e(0.1)).add(e(0.95)), P = c(r.r.mul(_), r.g.mul(w), r.b.mul(D)), j = g(t.sub(i(0.5, 0.5))), B = f(e(0.8), e(0.3), j);
84
- return u(P.mul(B), e(1));
85
- }
86
- };
87
- var W = N;
88
- export {
89
- N as n,
90
- W as t
91
- };
@@ -1,89 +0,0 @@
1
- import { O as C } from "./three.tsl-Btj1hLsf.js";
2
- const A = {
3
- name: "ChannelBlur",
4
- category: "Blurs",
5
- description: "Independent blur for red, green, and blue channels",
6
- requiresRTT: !0,
7
- requiresChild: !0,
8
- props: {
9
- redIntensity: {
10
- default: 0,
11
- description: "Blur intensity for red channel",
12
- ui: {
13
- type: "range",
14
- min: 0,
15
- max: 100,
16
- step: 1,
17
- label: "Red Intensity"
18
- }
19
- },
20
- greenIntensity: {
21
- default: 20,
22
- description: "Blur intensity for green channel",
23
- ui: {
24
- type: "range",
25
- min: 0,
26
- max: 100,
27
- step: 1,
28
- label: "Green Intensity"
29
- }
30
- },
31
- blueIntensity: {
32
- default: 40,
33
- description: "Blur intensity for blue channel",
34
- ui: {
35
- type: "range",
36
- min: 0,
37
- max: 100,
38
- step: 1,
39
- label: "Blue Intensity"
40
- }
41
- }
42
- },
43
- fragmentNode: ({ uniforms: m, childNode: x, onCleanup: I }) => {
44
- const { vec2: t, vec4: p, float: e, screenUV: S, convertToTexture: v, viewportSize: O, Fn: B } = C;
45
- if (!x) return p(0, 0, 0, 0);
46
- const i = v(x);
47
- I(() => {
48
- i?.renderTarget?.dispose && i.renderTarget.dispose();
49
- });
50
- const V = [
51
- 0.056,
52
- 0.135,
53
- 0.278,
54
- 0.487,
55
- 0.726,
56
- 0.923,
57
- 1,
58
- 0.923,
59
- 0.726,
60
- 0.487,
61
- 0.278,
62
- 0.135,
63
- 0.056
64
- ], w = 6.214, R = m.redIntensity.uniform.mul(0.1), z = m.greenIntensity.uniform.mul(0.1), _ = m.blueIntensity.uniform.mul(0.1), u = v(B(() => {
65
- const n = S, f = t(1).div(O), r = e(0).toVar(), a = e(0).toVar(), l = e(0).toVar();
66
- for (let d = -6; d <= 6; d++) {
67
- const s = e(V[d + 6] / w), o = e(d).mul(f.x), c = t(o.mul(R), e(0)), g = t(o.mul(z), e(0)), y = t(o.mul(_), e(0)), b = i.sample(n.add(c)).r.mul(s), T = i.sample(n.add(g)).g.mul(s), h = i.sample(n.add(y)).b.mul(s);
68
- r.assign(r.add(b)), a.assign(a.add(T)), l.assign(l.add(h));
69
- }
70
- return p(r, a, l, e(1));
71
- })());
72
- return I(() => {
73
- u?.renderTarget?.dispose && u.renderTarget.dispose();
74
- }), B(() => {
75
- const n = S, f = t(1).div(O), r = e(0).toVar(), a = e(0).toVar(), l = e(0).toVar();
76
- for (let s = -6; s <= 6; s++) {
77
- const o = e(V[s + 6] / w), c = e(s).mul(f.y), g = t(e(0), c.mul(R)), y = t(e(0), c.mul(z)), b = t(e(0), c.mul(_)), T = u.sample(n.add(g)).r.mul(o), h = u.sample(n.add(y)).g.mul(o), q = u.sample(n.add(b)).b.mul(o);
78
- r.assign(r.add(T)), a.assign(a.add(h)), l.assign(l.add(q));
79
- }
80
- const d = i.sample(n).a;
81
- return p(r, a, l, d);
82
- })();
83
- }
84
- };
85
- var F = A;
86
- export {
87
- A as n,
88
- F as t
89
- };
@@ -1,75 +0,0 @@
1
- import { O as B } from "./three.tsl-Btj1hLsf.js";
2
- import { i as U, r as f, t as w } from "./transformations-CsrIJXh-.js";
3
- import { t as A } from "./colorMixing--dhzx0ch.js";
4
- const _ = {
5
- name: "Checkerboard",
6
- category: "Base Layers",
7
- description: "Classic checkerboard pattern with two alternating colors",
8
- acceptsUVContext: !0,
9
- props: {
10
- colorA: {
11
- default: "#cccccc",
12
- transform: f,
13
- description: "First color of the checkerboard pattern",
14
- ui: {
15
- type: "color",
16
- label: "Color A"
17
- }
18
- },
19
- colorB: {
20
- default: "#999999",
21
- transform: f,
22
- description: "Second color of the checkerboard pattern",
23
- ui: {
24
- type: "color",
25
- label: "Color B"
26
- }
27
- },
28
- cells: {
29
- default: 8,
30
- description: "Number of cells along the shortest canvas edge (creates square cells)",
31
- ui: {
32
- type: "range",
33
- min: 1,
34
- max: 50,
35
- step: 1,
36
- label: "Cells"
37
- }
38
- },
39
- softness: {
40
- default: 0,
41
- description: "Smoothness of the transition between colors (0 = hard edges, 1 = very soft)",
42
- ui: {
43
- type: "range",
44
- min: 0,
45
- max: 1,
46
- step: 0.01,
47
- label: "Softness"
48
- }
49
- },
50
- colorSpace: {
51
- default: "linear",
52
- transform: U,
53
- description: "Color space for color interpolation",
54
- ui: {
55
- type: "select",
56
- options: w,
57
- label: "Color Space"
58
- }
59
- }
60
- },
61
- fragmentNode: ({ uniforms: o, uvContext: m }) => {
62
- const { vec2: u, float: e, floor: b, mod: h, fract: g, smoothstep: y, min: r, screenUV: C, viewportSize: s } = B, c = m ?? C, x = s.x.div(s.y), S = u(c.x.mul(x), c.y.oneMinus()), v = o.cells.uniform, l = o.softness.uniform, a = S.mul(v), n = b(a), i = h(n.x.add(n.y), 2);
63
- let d = i;
64
- if (l) {
65
- const t = g(a), k = r(r(t.x, e(1).sub(t.x)), r(t.y, e(1).sub(t.y))), V = l.mul(0.5), p = y(e(0), V, k);
66
- d = i.mul(p).add(e(0.5).mul(e(1).sub(p)));
67
- }
68
- return A(o.colorA.uniform, o.colorB.uniform, d, o.colorSpace.uniform);
69
- }
70
- };
71
- var q = _;
72
- export {
73
- _ as n,
74
- q as t
75
- };
@@ -1,134 +0,0 @@
1
- import { O as _t } from "./three.tsl-Btj1hLsf.js";
2
- import { r as X } from "./transformations-CsrIJXh-.js";
3
- import { DataTexture as at, FloatType as lt, LinearFilter as L, RGFormat as nt } from "three";
4
- const Wt = {
5
- name: "ChromaFlow",
6
- category: "Interactive",
7
- description: "Interactive liquid flow effect that follows your cursor",
8
- props: {
9
- baseColor: {
10
- default: "#0066ff",
11
- transform: X,
12
- description: "Base liquid color",
13
- ui: {
14
- type: "color",
15
- label: "Base Color"
16
- }
17
- },
18
- upColor: {
19
- default: "#00ff00",
20
- transform: X,
21
- description: "Color for upward movement",
22
- ui: {
23
- type: "color",
24
- label: "Up Color"
25
- }
26
- },
27
- downColor: {
28
- default: "#ff0000",
29
- transform: X,
30
- description: "Color for downward movement",
31
- ui: {
32
- type: "color",
33
- label: "Down Color"
34
- }
35
- },
36
- leftColor: {
37
- default: "#0000ff",
38
- transform: X,
39
- description: "Color for leftward movement",
40
- ui: {
41
- type: "color",
42
- label: "Left Color"
43
- }
44
- },
45
- rightColor: {
46
- default: "#ffff00",
47
- transform: X,
48
- description: "Color for rightward movement",
49
- ui: {
50
- type: "color",
51
- label: "Right Color"
52
- }
53
- },
54
- intensity: {
55
- default: 1,
56
- description: "Strength of the liquid effect",
57
- ui: {
58
- type: "range",
59
- min: 0.5,
60
- max: 1.5,
61
- step: 0.1,
62
- label: "Intensity"
63
- }
64
- },
65
- radius: {
66
- default: 2,
67
- description: "Radius of the liquid effect",
68
- ui: {
69
- type: "range",
70
- min: 0,
71
- max: 3,
72
- step: 0.01,
73
- label: "Radius"
74
- }
75
- },
76
- momentum: {
77
- default: 30,
78
- description: "How much momentum colors retain in their flow direction",
79
- ui: {
80
- type: "range",
81
- min: 10,
82
- max: 60,
83
- step: 1,
84
- label: "Momentum"
85
- }
86
- }
87
- },
88
- fragmentNode: ({ uniforms: u, onBeforeRender: st, onCleanup: rt }) => {
89
- const { vec2: l, vec4: it, float: t, uniform: Y, screenUV: n, texture: W, smoothstep: v, mix: dt } = _t, o = 128, f = new Float32Array(o * o * 2), r = new Float32Array(o * o * 2), w = new at(f, o, o, nt, lt);
90
- w.magFilter = L, w.minFilter = L, w.needsUpdate = !0;
91
- const C = new at(r, o, o, nt, lt);
92
- C.magFilter = L, C.minFilter = L, C.needsUpdate = !0;
93
- const F = W(w), b = W(C), ct = Y(0.5), mt = Y(0.5), q = Y(0), D = Y(0);
94
- let j = 0.5, B = 0.5, G = Date.now();
95
- st(({ pointer: p }) => {
96
- const tt = Date.now(), s = Math.min((tt - G) / 1e3, 0.016);
97
- G = tt;
98
- const ot = s > 0 ? (p.x - j) / s : 0, et = s > 0 ? (p.y - B) / s : 0;
99
- q.value = q.value * 0.85 + ot * 0.15, D.value = D.value * 0.85 + et * 0.15, ct.value = p.x, mt.value = p.y;
100
- const _ = u.intensity.uniform.value, Yt = u.radius.uniform.value * 0.05, zt = u.momentum.uniform.value, x = new Float32Array(f), i = new Float32Array(r), It = 1 - s / Math.max(0.1, 1);
101
- for (let a = 0; a < o * o * 2; a++) x[a] = f[a] * It;
102
- for (let a = 0; a < o; a++) for (let d = 0; d < o; d++) {
103
- const e = (a * o + d) * 2, S = 1 - s / Math.max(0.4, 1);
104
- if (i[e] = r[e] * S, i[e + 1] = r[e + 1] * S, Math.abs(f[e]) > 1e-3 || Math.abs(f[e + 1]) > 1e-3) {
105
- const T = zt * 50 * s, A = d - f[e] * T, R = a - f[e + 1] * T, c = Math.floor(A), m = Math.floor(R), h = c + 1, y = m + 1;
106
- if (c >= 0 && m >= 0 && h < o && y < o) {
107
- const M = A - c, U = R - m, Tt = (m * o + c) * 2, Ut = (m * o + h) * 2, Lt = (y * o + c) * 2, Vt = (y * o + h) * 2;
108
- i[e] = (r[Tt] * (1 - M) * (1 - U) + r[Ut] * M * (1 - U) + r[Lt] * (1 - M) * U + r[Vt] * M * U) * S;
109
- }
110
- }
111
- }
112
- for (let a = 0; a < o; a++) for (let d = 0; d < o; d++) {
113
- const e = (a * o + d) * 2, S = (d + 0.5) / o, T = (a + 0.5) / o, A = S - p.x, R = T - p.y, c = Math.sqrt(A * A + R * R), m = Math.sqrt(q.value * q.value + D.value * D.value), h = Yt * Math.min(m * m * 20, 1);
114
- if (c < h * 2 && Math.abs(ot) + Math.abs(et) > 0.01) {
115
- const y = Math.exp(-c * c / (h * h));
116
- x[e] += q.value * y * (_ * 100) * s * 0.01, x[e + 1] += D.value * y * (_ * 100) * s * 0.01;
117
- const M = Math.min(m * 10, 1);
118
- i[e] += y * (_ * 100) * s * 0.01 * M, i[e + 1] = 0;
119
- }
120
- x[e] = Math.max(-1, Math.min(1, x[e])), x[e + 1] = Math.max(-1, Math.min(1, x[e + 1])), i[e] = Math.max(0, Math.min(1, i[e])), i[e + 1] = 0;
121
- }
122
- f.set(x), r.set(i), w.needsUpdate = !0, C.needsUpdate = !0, j = p.x, B = p.y;
123
- }), rt(() => {
124
- w.dispose(), C.dispose();
125
- });
126
- const ut = b.sample(n).x, z = l(t(1 / 128), t(1 / 128)), ft = b.sample(n.add(l(z.x, t(0)))).x, pt = b.sample(n.add(l(t(0), z.y))).x, xt = b.sample(n.add(l(z.x.negate(), t(0)))).x, ht = b.sample(n.add(l(t(0), z.y.negate()))).x, yt = ut.add(ft).add(pt).add(xt).add(ht).mul(t(0.2)), E = v(t(0), t(0.1), yt), I = l(t(1 / 128), t(1 / 128)), vt = F.sample(n).xy, wt = F.sample(n.add(l(I.x, t(0)))).xy, Ct = F.sample(n.add(l(t(0), I.y))).xy, gt = F.sample(n.add(l(I.x.negate(), t(0)))).xy, Mt = F.sample(n.add(l(t(0), I.y.negate()))).xy, g = vt.add(wt).add(Ct).add(gt).add(Mt).mul(t(0.2)), Ft = u.baseColor.uniform, bt = u.upColor.uniform, qt = u.downColor.uniform, Dt = u.leftColor.uniform, St = u.rightColor.uniform, V = g.x.mul(g.x).add(g.y.mul(g.y)).sqrt(), At = v(t(0.01), t(0.1), V), H = g.x.div(V.add(t(1e-3))), N = g.y.div(V.add(t(1e-3))), O = v(t(0), t(0.7), H.max(t(0))), P = v(t(0), t(0.7), H.negate().max(t(0))), Z = v(t(0), t(0.7), N.max(t(0))), k = v(t(0), t(0.7), N.negate().max(t(0))), Rt = Dt.mul(P).add(St.mul(O)), Xt = qt.mul(k).add(bt.mul(Z)), J = P.add(O), K = Z.add(k), Q = J.add(K).add(t(1e-3)), $ = dt(Ft, Rt.mul(J.div(Q)).add(Xt.mul(K.div(Q))), At);
127
- return it($.rgb.mul(E), $.a.mul(E));
128
- }
129
- };
130
- var Et = Wt;
131
- export {
132
- Wt as n,
133
- Et as t
134
- };
@@ -1,82 +0,0 @@
1
- import { O as T } from "./three.tsl-Btj1hLsf.js";
2
- import { n as C } from "./transformations-CsrIJXh-.js";
3
- const v = {
4
- name: "ChromaticAberration",
5
- category: "Stylize",
6
- description: "Separate RGB channels for a prismatic distortion effect",
7
- requiresRTT: !0,
8
- requiresChild: !0,
9
- props: {
10
- strength: {
11
- default: 0.2,
12
- description: "Overall strength of the chromatic aberration effect",
13
- ui: {
14
- type: "range",
15
- min: 0,
16
- max: 1,
17
- step: 0.01,
18
- label: "Strength"
19
- }
20
- },
21
- angle: {
22
- default: 0,
23
- transform: C,
24
- description: "Direction of the chromatic aberration in degrees",
25
- ui: {
26
- type: "range",
27
- min: 0,
28
- max: 360,
29
- step: 1,
30
- label: "Angle"
31
- }
32
- },
33
- redOffset: {
34
- default: -1,
35
- description: "Red channel offset multiplier",
36
- ui: {
37
- type: "range",
38
- min: -2,
39
- max: 2,
40
- step: 0.1,
41
- label: "Red Offset"
42
- }
43
- },
44
- greenOffset: {
45
- default: 0,
46
- description: "Green channel offset multiplier",
47
- ui: {
48
- type: "range",
49
- min: -2,
50
- max: 2,
51
- step: 0.1,
52
- label: "Green Offset"
53
- }
54
- },
55
- blueOffset: {
56
- default: 1,
57
- description: "Blue channel offset multiplier",
58
- ui: {
59
- type: "range",
60
- min: -2,
61
- max: 2,
62
- step: 0.1,
63
- label: "Blue Offset"
64
- }
65
- }
66
- },
67
- fragmentNode: ({ uniforms: t, childNode: s, onCleanup: o }) => {
68
- const { vec2: f, vec4: i, cos: c, sin: m, radians: u, screenUV: r, convertToTexture: d } = T;
69
- if (!s) return i(0, 0, 0, 0);
70
- const e = d(s);
71
- o(() => {
72
- e?.renderTarget?.dispose && e.renderTarget.dispose();
73
- });
74
- const l = u(t.angle.uniform), n = f(c(l), m(l)), a = t.strength.uniform.mul(0.1), p = r.add(n.mul(a).mul(t.redOffset.uniform)), g = r.add(n.mul(a).mul(t.greenOffset.uniform)), h = r.add(n.mul(a).mul(t.blueOffset.uniform)), b = e.sample(p).r, O = e.sample(g).g, x = e.sample(h).b, y = e.sample(r).a;
75
- return i(b, O, x, y);
76
- }
77
- };
78
- var S = v;
79
- export {
80
- v as n,
81
- S as t
82
- };
@@ -1,62 +0,0 @@
1
- import { O as g } from "./three.tsl-Btj1hLsf.js";
2
- import { o as v, r as y } from "./transformations-CsrIJXh-.js";
3
- const x = {
4
- name: "Circle",
5
- category: "Base Layers",
6
- description: "Generate a circle with adjustable size and softness",
7
- acceptsUVContext: !0,
8
- props: {
9
- color: {
10
- default: "#ffffff",
11
- transform: y,
12
- description: "The color of the circle",
13
- ui: {
14
- type: "color",
15
- label: "Color"
16
- }
17
- },
18
- radius: {
19
- default: 1,
20
- description: "The radius of the circle. A value of one (1) is sets the circle to fit the canvas.",
21
- ui: {
22
- type: "range",
23
- min: 0,
24
- max: 2,
25
- step: 0.01,
26
- label: "Radius"
27
- }
28
- },
29
- softness: {
30
- default: 0,
31
- description: "Edge softness. Lower values like zero (0) are sharp, higher values like one (1) are softer.",
32
- ui: {
33
- type: "range",
34
- min: 0,
35
- max: 1,
36
- step: 0.01,
37
- label: "Softness"
38
- }
39
- },
40
- center: {
41
- default: {
42
- x: 0.5,
43
- y: 0.5
44
- },
45
- transform: v,
46
- description: "The center point of the circle",
47
- ui: {
48
- type: "position",
49
- label: "Center Position"
50
- }
51
- }
52
- },
53
- fragmentNode: ({ uniforms: e, uvContext: i }) => {
54
- const { vec2: t, vec4: c, length: a, smoothstep: l, screenUV: f, viewportSize: o } = g, r = i ?? f, s = o.x.div(o.y), u = t(r.x.mul(s), r.y), p = t(e.center.uniform.x.mul(s), e.center.uniform.y.oneMinus()), d = a(u.sub(p)), m = e.softness.uniform, n = e.radius.uniform.mul(0.5), h = l(n, n.sub(m), d);
55
- return c(e.color.uniform.rgb, e.color.uniform.a.mul(h));
56
- }
57
- };
58
- var k = x;
59
- export {
60
- x as n,
61
- k as t
62
- };
@@ -1,14 +0,0 @@
1
- import { a as m, i as e, l as b, n as c, r as d, s as r, t as u, u as o } from "./TSLBase-BFMvTOak.js";
2
- const f = /* @__PURE__ */ e(([s]) => g(s.rgb)), v = /* @__PURE__ */ e(([s, a = m(1)]) => a.mix(g(s.rgb), s.rgb)), l = /* @__PURE__ */ e(([s, a = m(1)]) => {
3
- const n = d(s.r, s.g, s.b).div(3), t = s.r.max(s.g.max(s.b)), i = t.sub(n).mul(a).mul(-3);
4
- return c(s.rgb, t, i);
5
- }), p = /* @__PURE__ */ e(([s, a = m(1)]) => {
6
- const n = r(0.57735, 0.57735, 0.57735), t = a.cos();
7
- return r(s.rgb.mul(t).add(n.cross(s.rgb).mul(a.sin()).add(n.mul(u(n, s.rgb).mul(t.oneMinus())))));
8
- }), g = (s, a = r(o.getLuminanceCoefficients(new b()))) => u(s, a);
9
- export {
10
- l as i,
11
- p as n,
12
- v as r,
13
- f as t
14
- };
@@ -1,105 +0,0 @@
1
- import { A as p, O as at } from "./three.tsl-Btj1hLsf.js";
2
- import { i as et, r as B, t as ot } from "./transformations-CsrIJXh-.js";
3
- import { t as rt } from "./colorMixing--dhzx0ch.js";
4
- import { DataTexture as lt, FloatType as st, LinearFilter as _, RGBAFormat as nt } from "three";
5
- const ct = {
6
- name: "CursorTrail",
7
- category: "Interactive",
8
- description: "Animated trail effect that tracks cursor movement",
9
- props: {
10
- colorA: {
11
- default: "#00aaff",
12
- transform: B,
13
- description: "Color of fresh trails",
14
- ui: {
15
- type: "color",
16
- label: "Start Color"
17
- }
18
- },
19
- colorB: {
20
- default: "#ff00aa",
21
- transform: B,
22
- description: "Color trails transition to as they fade",
23
- ui: {
24
- type: "color",
25
- label: "End Color"
26
- }
27
- },
28
- radius: {
29
- default: 0.5,
30
- description: "Base radius of trail circles",
31
- ui: {
32
- type: "range",
33
- min: 0.5,
34
- max: 2,
35
- step: 0.01,
36
- label: "Radius"
37
- }
38
- },
39
- length: {
40
- default: 0.5,
41
- description: "How long trail circles persist (in seconds)",
42
- ui: {
43
- type: "range",
44
- min: 0.1,
45
- max: 2,
46
- step: 0.1,
47
- label: "Trail Length"
48
- }
49
- },
50
- shrink: {
51
- default: 1,
52
- description: "How much circles shrink as they fade out (0 = no shrink, 1 = full shrink)",
53
- ui: {
54
- type: "range",
55
- min: 0,
56
- max: 1,
57
- step: 0.01,
58
- label: "Shrink Amount"
59
- }
60
- },
61
- colorSpace: {
62
- default: "linear",
63
- transform: et,
64
- description: "Color space for color interpolation",
65
- ui: {
66
- type: "select",
67
- options: ot,
68
- label: "Color Space"
69
- }
70
- }
71
- },
72
- fragmentNode: ({ uniforms: l, onBeforeRender: U, onCleanup: q }) => {
73
- const { vec4: E, float: t, texture: G, step: H, screenUV: n } = at, a = 128, o = new Float32Array(a * a * 4), s = new lt(o, a, a, nt, st);
74
- s.magFilter = _, s.minFilter = _, s.needsUpdate = !0;
75
- const c = G(s);
76
- let y = 0.5, M = 0.5, g = Date.now();
77
- U(({ pointer: r }) => {
78
- const T = Date.now(), f = Math.min((T - g) / 1e3, 0.016);
79
- g = T;
80
- const h = l.radius.uniform.value * 0.1, b = l.length.uniform.value, j = l.shrink.uniform.value, F = r.x - y, w = r.y - M, z = Math.sqrt(F * F + w * w), N = 1 - f / Math.max(0.1, b), V = f / Math.max(0.1, b);
81
- for (let e = 0; e < a * a * 4; e += 4)
82
- o[e] *= N, o[e + 1] = 1 - (1 - o[e]) * j, o[e + 2] = Math.min(1, o[e + 2] + V);
83
- if (z > 1e-3) {
84
- const e = h * 3, Z = Math.max(0, Math.floor((r.x - e) * a)), K = Math.min(a - 1, Math.ceil((r.x + e) * a)), P = Math.max(0, Math.floor((r.y - e) * a)), Q = Math.min(a - 1, Math.ceil((r.y + e) * a));
85
- for (let m = P; m <= Q; m++) for (let d = Z; d <= K; d++) {
86
- const u = (m * a + d) * 4, W = (d + 0.5) / a, $ = (m + 0.5) / a, I = W - r.x, R = $ - r.y, x = Math.sqrt(I * I + R * R);
87
- if (x < e) {
88
- const tt = Math.exp(-x * x / (h * h)) * z * 50 * f;
89
- o[u] = Math.min(1, o[u] + tt), o[u + 1] = 1, o[u + 2] = 0;
90
- }
91
- }
92
- }
93
- s.needsUpdate = !0, y = r.x, M = r.y;
94
- }), q(() => {
95
- s.dispose();
96
- });
97
- const i = t(1 / a), C = c.sample(n), v = c.sample(n.add(p(i, t(0)))), A = c.sample(n.add(p(t(0), i))), S = c.sample(n.add(p(i.negate(), t(0)))), k = c.sample(n.add(p(t(0), i.negate()))), J = C.x.mul(t(0.5)).add(v.x.mul(t(0.125))).add(A.x.mul(t(0.125))).add(S.x.mul(t(0.125))).add(k.x.mul(t(0.125))), L = C.z.mul(t(0.5)).add(v.z.mul(t(0.125))).add(A.z.mul(t(0.125))).add(S.z.mul(t(0.125))).add(k.z.mul(t(0.125))), O = H(t(0.01), J), X = l.colorA.uniform, Y = l.colorB.uniform, D = rt(X, Y, L, l.colorSpace.uniform);
98
- return E(D.rgb, D.a.mul(O));
99
- }
100
- };
101
- var pt = ct;
102
- export {
103
- ct as n,
104
- pt as t
105
- };