@paper-design/shaders 0.0.29 → 0.0.30-backbuffer-experiment.0

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 (58) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/shader-mount.d.ts +5 -1
  3. package/dist/shader-sizing.d.ts +1 -1
  4. package/dist/shaders/dithering.d.ts +21 -7
  5. package/dist/shaders/grain-gradient.d.ts +12 -2
  6. package/package.json +2 -2
  7. package/dist/get-shader-color-from-string.js +0 -93
  8. package/dist/get-shader-color-from-string.js.map +0 -7
  9. package/dist/get-shader-noise-texture.js +0 -23
  10. package/dist/get-shader-noise-texture.js.map +0 -7
  11. package/dist/index.js +0 -97
  12. package/dist/index.js.map +0 -7
  13. package/dist/shader-color-spaces.js +0 -96
  14. package/dist/shader-color-spaces.js.map +0 -7
  15. package/dist/shader-mount.js +0 -569
  16. package/dist/shader-mount.js.map +0 -7
  17. package/dist/shader-sizing.js +0 -196
  18. package/dist/shader-sizing.js.map +0 -7
  19. package/dist/shader-utils.js +0 -59
  20. package/dist/shader-utils.js.map +0 -7
  21. package/dist/shaders/dithering.js +0 -197
  22. package/dist/shaders/dithering.js.map +0 -7
  23. package/dist/shaders/dot-grid.js +0 -100
  24. package/dist/shaders/dot-grid.js.map +0 -7
  25. package/dist/shaders/dot-orbit.js +0 -120
  26. package/dist/shaders/dot-orbit.js.map +0 -7
  27. package/dist/shaders/god-rays.js +0 -134
  28. package/dist/shaders/god-rays.js.map +0 -7
  29. package/dist/shaders/grain-gradient.js +0 -219
  30. package/dist/shaders/grain-gradient.js.map +0 -7
  31. package/dist/shaders/liquid-metal.js +0 -224
  32. package/dist/shaders/liquid-metal.js.map +0 -7
  33. package/dist/shaders/mesh-gradient.js +0 -97
  34. package/dist/shaders/mesh-gradient.js.map +0 -7
  35. package/dist/shaders/metaballs.js +0 -109
  36. package/dist/shaders/metaballs.js.map +0 -7
  37. package/dist/shaders/neuro-noise.js +0 -66
  38. package/dist/shaders/neuro-noise.js.map +0 -7
  39. package/dist/shaders/perlin-noise.js +0 -193
  40. package/dist/shaders/perlin-noise.js.map +0 -7
  41. package/dist/shaders/pulsing-border.js +0 -218
  42. package/dist/shaders/pulsing-border.js.map +0 -7
  43. package/dist/shaders/simplex-noise.js +0 -103
  44. package/dist/shaders/simplex-noise.js.map +0 -7
  45. package/dist/shaders/smoke-ring.js +0 -141
  46. package/dist/shaders/smoke-ring.js.map +0 -7
  47. package/dist/shaders/spiral.js +0 -75
  48. package/dist/shaders/spiral.js.map +0 -7
  49. package/dist/shaders/swirl.js +0 -80
  50. package/dist/shaders/swirl.js.map +0 -7
  51. package/dist/shaders/voronoi.js +0 -143
  52. package/dist/shaders/voronoi.js.map +0 -7
  53. package/dist/shaders/warp.js +0 -124
  54. package/dist/shaders/warp.js.map +0 -7
  55. package/dist/shaders/waves.js +0 -60
  56. package/dist/shaders/waves.js.map +0 -7
  57. package/dist/types.js +0 -6
  58. package/dist/types.js.map +0 -7
@@ -1,224 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- import { sizingVariablesDeclaration } from "../shader-sizing";
7
- import { declarePI, declareRotate, declareSimplexNoise, colorBandingFix } from "../shader-utils";
8
- const liquidMetalFragmentShader = `#version 300 es
9
- precision highp float;
10
-
11
- uniform float u_time;
12
-
13
- uniform float u_patternBlur;
14
- uniform float u_patternScale;
15
- uniform float u_dispersion;
16
- uniform float u_liquid;
17
- uniform float u_shape;
18
-
19
- ${sizingVariablesDeclaration}
20
-
21
- out vec4 fragColor;
22
-
23
- ${declarePI}
24
- ${declareRotate}
25
- ${declareSimplexNoise}
26
-
27
- float get_color_channel(float c1, float c2, float stripe_p, vec3 w, float extra_blur, float bump) {
28
-
29
- float ch = c2;
30
- float border = 0.;
31
- float blur = u_patternBlur + extra_blur;
32
-
33
- if (u_shape < 1.) {
34
- blur += .1 * smoothstep(-.4, -.6, v_responsiveUV.y);
35
- }
36
-
37
- ch = mix(ch, c1, smoothstep(.0, blur, stripe_p));
38
-
39
- border = w[0];
40
- ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));
41
-
42
- bump = smoothstep(.2, .8, bump);
43
- border = w[0] + .4 * (1. - bump) * w[1];
44
- ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));
45
-
46
- border = w[0] + .5 * (1. - bump) * w[1];
47
- ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));
48
-
49
- border = w[0] + w[1];
50
- ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));
51
-
52
- float gradient_t = (stripe_p - w[0] - w[1]) / w[2];
53
- float gradient = mix(c1, c2, smoothstep(0., 1., gradient_t));
54
- ch = mix(ch, gradient, smoothstep(border - blur, border + blur, stripe_p));
55
-
56
- return ch;
57
- }
58
-
59
- void main() {
60
-
61
- float t = .1 * u_time;
62
-
63
- vec2 uv = v_objectUV;
64
- uv += .5;
65
- uv.y = 1. - uv.y;
66
-
67
- float cycleWidth = .5 * u_patternScale;
68
-
69
- float mask = 1.;
70
- if (u_shape < 1.) {
71
-
72
- vec2 borderUV = v_responsiveUV + .5;
73
- float ratio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;
74
- vec2 edge = min(borderUV, 1. - borderUV);
75
- vec2 pixel_thickness = 250. / v_responsiveBoxGivenSize;
76
- float maskX = smoothstep(0.0, pixel_thickness.x, edge.x);
77
- float maskY = smoothstep(0.0, pixel_thickness.y, edge.y);
78
- maskX = pow(maskX, .25);
79
- maskY = pow(maskY, .25);
80
- mask = clamp(1. - maskX * maskY, 0., 1.);
81
-
82
- uv = v_responsiveUV;
83
- if (ratio > 1.) {
84
- uv.y /= ratio;
85
- } else {
86
- uv.x *= ratio;
87
- }
88
- uv += .5;
89
- uv.y = 1. - uv.y;
90
-
91
- cycleWidth *= 2.;
92
-
93
- } else if (u_shape < 2.) {
94
- vec2 shapeUV = uv - .5;
95
- shapeUV *= .67;
96
- mask = pow(clamp(3. * length(shapeUV), 0., 1.), 8.);
97
-
98
- uv *= 1.3;
99
- } else if (u_shape < 3.) {
100
- vec2 shapeUV = uv - .5;
101
- shapeUV *= 1.68;
102
-
103
- float r = length(shapeUV) * 2.;
104
- float a = atan(shapeUV.y, shapeUV.x) + .2;
105
- r *= (1. + .05 * sin(3. * a + 2. * t));
106
- float f = abs(cos(a * 3.));
107
- mask = smoothstep(f, f + .7, r);
108
-
109
- uv *= .8;
110
- cycleWidth *= 1.6;
111
-
112
- } else if (u_shape < 4.) {
113
- vec2 shapeUV = uv - .5;
114
- shapeUV *= 1.3;
115
- mask = 0.;
116
- for (int i = 0; i < 5; i++) {
117
- float fi = float(i);
118
- float speed = 4.5 + 2. * sin(fi * 12.345);
119
- float angle = -fi * 1.5;
120
- vec2 dir1 = vec2(cos(angle), sin(angle));
121
- vec2 dir2 = vec2(cos(angle + 1.57), sin(angle + 1.));
122
- vec2 traj = .4 * (dir1 * sin(t * speed + fi * 1.23) + dir2 * cos(t * (speed * 0.7) + fi * 2.17));
123
- float d = length(shapeUV + traj);
124
- mask += pow(1.0 - clamp(d, 0.0, 1.0), 4.0);
125
- }
126
- mask = 1. - smoothstep(.85, 1., mask);
127
-
128
- uv *= 1.3;
129
- uv.y += .2;
130
- }
131
-
132
- float contour = smoothstep(0., 1., mask) * smoothstep(1., 0., mask);
133
-
134
-
135
- float diagBLtoTR = uv.x - uv.y;
136
- float diagTLtoBR = uv.x + uv.y;
137
-
138
- vec3 color = vec3(0.);
139
- float opacity = 1.;
140
-
141
- vec3 color1 = vec3(.98, 0.98, 1.);
142
- vec3 color2 = vec3(.1, .1, .1 + .1 * smoothstep(.7, 1.3, diagTLtoBR));
143
-
144
- vec2 grad_uv = uv - .5;
145
-
146
- float dist = length(grad_uv + vec2(0., .2 * diagBLtoTR));
147
- grad_uv = rotate(grad_uv, (.25 - .2 * diagBLtoTR) * PI);
148
- float direction = grad_uv.x;
149
-
150
- float bump = pow(1.8 * dist, 1.2);
151
- bump = 1. - bump;
152
- bump *= pow(uv.y, .3);
153
-
154
-
155
- float thin_strip_1_ratio = .12 / cycleWidth * (1. - .4 * bump);
156
- float thin_strip_2_ratio = .07 / cycleWidth * (1. + .4 * bump);
157
- float wide_strip_ratio = (1. - thin_strip_1_ratio - thin_strip_2_ratio);
158
-
159
- float thin_strip_1_width = cycleWidth * thin_strip_1_ratio;
160
- float thin_strip_2_width = cycleWidth * thin_strip_2_ratio;
161
-
162
- opacity = 1. - smoothstep(.9, .92, mask);
163
-
164
- float noise = snoise(uv - t);
165
-
166
- mask += (1. - mask) * u_liquid * noise;
167
-
168
- float colorDispersion = 0.;
169
- colorDispersion += (1. - bump);
170
- colorDispersion = clamp(colorDispersion, 0., 1.);
171
-
172
- direction += diagBLtoTR;
173
-
174
- direction -= 2. * noise * contour;
175
-
176
- bump *= clamp(pow(uv.y, .1), .3, 1.);
177
- direction *= (.1 + (1.1 - mask) * bump);
178
- direction *= smoothstep(1., .7, mask);
179
-
180
- float ridge = .2 * (smoothstep(.0, .15, uv.y) * smoothstep(.4, .15, uv.y));
181
- ridge += .03 * (smoothstep(.1, .2, 1. - uv.y) * smoothstep(.4, .2, 1. - uv.y));
182
- direction += ridge;
183
-
184
- direction *= (.5 + .5 * pow(uv.y, 2.));
185
-
186
- direction *= cycleWidth;
187
-
188
- direction -= t;
189
-
190
- float dispersionRed = colorDispersion;
191
- dispersionRed += .03 * bump * noise;
192
- float dispersionBlue = 1.3 * colorDispersion;
193
-
194
- dispersionRed += 5. * (smoothstep(-.1, .2, uv.y) * smoothstep(.5, .1, uv.y)) * (smoothstep(.4, .6, bump) * smoothstep(1., .4, bump));
195
- dispersionRed -= diagBLtoTR;
196
-
197
- dispersionBlue += (smoothstep(0., .4, uv.y) * smoothstep(.8, .1, uv.y)) * (smoothstep(.4, .6, bump) * smoothstep(.8, .4, bump));
198
- dispersionBlue -= .2 * mask;
199
-
200
- dispersionRed *= u_dispersion;
201
- dispersionBlue *= u_dispersion;
202
-
203
- vec3 w = vec3(thin_strip_1_width, thin_strip_2_width, wide_strip_ratio);
204
- w[1] -= .02 * smoothstep(.0, 1., mask + bump);
205
- float extraBlur = bump;
206
- float stripe_r = mod(direction + dispersionRed, 1.);
207
- float r = get_color_channel(color1.r, color2.r, stripe_r, w, 0.02 + .03 * u_dispersion * bump, extraBlur);
208
- float stripe_g = mod(direction, 1.);
209
- float g = get_color_channel(color1.g, color2.g, stripe_g, w, 0.01 / (1. - 0. * diagBLtoTR), extraBlur);
210
- float stripe_b = mod(direction - dispersionBlue, 1.);
211
- float b = get_color_channel(color1.b, color2.b, stripe_b, w, .01, extraBlur);
212
-
213
- color = vec3(r, g, b);
214
- color *= opacity;
215
-
216
- ${colorBandingFix}
217
-
218
- fragColor = vec4(color, opacity);
219
- }
220
- `;
221
- export {
222
- liquidMetalFragmentShader
223
- };
224
- //# sourceMappingURL=liquid-metal.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/shaders/liquid-metal.ts"],
4
- "sourcesContent": ["import type { ShaderMotionParams } from '../shader-mount';\nimport { sizingVariablesDeclaration, type ShaderSizingParams, type ShaderSizingUniforms } from '../shader-sizing';\nimport { declarePI, declareRotate, declareSimplexNoise, colorBandingFix } from '../shader-utils';\n\n/**\n */\n\nexport const liquidMetalFragmentShader: string = `#version 300 es\nprecision highp float;\n\nuniform float u_time;\n\nuniform float u_patternBlur;\nuniform float u_patternScale;\nuniform float u_dispersion;\nuniform float u_liquid;\nuniform float u_shape;\n\n${sizingVariablesDeclaration}\n\nout vec4 fragColor;\n\n${declarePI}\n${declareRotate}\n${declareSimplexNoise}\n\nfloat get_color_channel(float c1, float c2, float stripe_p, vec3 w, float extra_blur, float bump) {\n\n float ch = c2;\n float border = 0.;\n float blur = u_patternBlur + extra_blur;\n \n if (u_shape < 1.) {\n blur += .1 * smoothstep(-.4, -.6, v_responsiveUV.y);\n }\n\n ch = mix(ch, c1, smoothstep(.0, blur, stripe_p));\n\n border = w[0];\n ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));\n\n bump = smoothstep(.2, .8, bump);\n border = w[0] + .4 * (1. - bump) * w[1];\n ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));\n\n border = w[0] + .5 * (1. - bump) * w[1];\n ch = mix(ch, c2, smoothstep(border - blur, border + blur, stripe_p));\n\n border = w[0] + w[1];\n ch = mix(ch, c1, smoothstep(border - blur, border + blur, stripe_p));\n\n float gradient_t = (stripe_p - w[0] - w[1]) / w[2];\n float gradient = mix(c1, c2, smoothstep(0., 1., gradient_t));\n ch = mix(ch, gradient, smoothstep(border - blur, border + blur, stripe_p));\n\n return ch;\n}\n\nvoid main() {\n \n float t = .1 * u_time;\n\n vec2 uv = v_objectUV;\n uv += .5;\n uv.y = 1. - uv.y;\n\n float cycleWidth = .5 * u_patternScale; \n \n float mask = 1.;\n if (u_shape < 1.) {\n \n vec2 borderUV = v_responsiveUV + .5;\n float ratio = v_responsiveBoxGivenSize.x / v_responsiveBoxGivenSize.y;\n vec2 edge = min(borderUV, 1. - borderUV);\n vec2 pixel_thickness = 250. / v_responsiveBoxGivenSize;\n float maskX = smoothstep(0.0, pixel_thickness.x, edge.x);\n float maskY = smoothstep(0.0, pixel_thickness.y, edge.y);\n maskX = pow(maskX, .25);\n maskY = pow(maskY, .25);\n mask = clamp(1. - maskX * maskY, 0., 1.);\n \n uv = v_responsiveUV;\n if (ratio > 1.) {\n uv.y /= ratio;\n } else {\n uv.x *= ratio;\n }\n uv += .5;\n uv.y = 1. - uv.y;\n \n cycleWidth *= 2.;\n\n } else if (u_shape < 2.) { \n vec2 shapeUV = uv - .5;\n shapeUV *= .67;\n mask = pow(clamp(3. * length(shapeUV), 0., 1.), 8.);\n \n uv *= 1.3;\n } else if (u_shape < 3.) {\n vec2 shapeUV = uv - .5;\n shapeUV *= 1.68;\n \n float r = length(shapeUV) * 2.;\n float a = atan(shapeUV.y, shapeUV.x) + .2;\n r *= (1. + .05 * sin(3. * a + 2. * t));\n float f = abs(cos(a * 3.));\n mask = smoothstep(f, f + .7, r);\n \n uv *= .8;\n cycleWidth *= 1.6;\n\n } else if (u_shape < 4.) {\n vec2 shapeUV = uv - .5;\n shapeUV *= 1.3;\n mask = 0.;\n for (int i = 0; i < 5; i++) {\n float fi = float(i);\n float speed = 4.5 + 2. * sin(fi * 12.345);\n float angle = -fi * 1.5;\n vec2 dir1 = vec2(cos(angle), sin(angle));\n vec2 dir2 = vec2(cos(angle + 1.57), sin(angle + 1.));\n vec2 traj = .4 * (dir1 * sin(t * speed + fi * 1.23) + dir2 * cos(t * (speed * 0.7) + fi * 2.17));\n float d = length(shapeUV + traj);\n mask += pow(1.0 - clamp(d, 0.0, 1.0), 4.0);\n }\n mask = 1. - smoothstep(.85, 1., mask);\n \n uv *= 1.3;\n uv.y += .2;\n }\n\n float contour = smoothstep(0., 1., mask) * smoothstep(1., 0., mask);\n\n\n float diagBLtoTR = uv.x - uv.y; \n float diagTLtoBR = uv.x + uv.y;\n\n vec3 color = vec3(0.);\n float opacity = 1.;\n\n vec3 color1 = vec3(.98, 0.98, 1.);\n vec3 color2 = vec3(.1, .1, .1 + .1 * smoothstep(.7, 1.3, diagTLtoBR));\n\n vec2 grad_uv = uv - .5;\n \n float dist = length(grad_uv + vec2(0., .2 * diagBLtoTR));\n grad_uv = rotate(grad_uv, (.25 - .2 * diagBLtoTR) * PI);\n float direction = grad_uv.x;\n\n float bump = pow(1.8 * dist, 1.2);\n bump = 1. - bump;\n bump *= pow(uv.y, .3);\n\n\n float thin_strip_1_ratio = .12 / cycleWidth * (1. - .4 * bump);\n float thin_strip_2_ratio = .07 / cycleWidth * (1. + .4 * bump);\n float wide_strip_ratio = (1. - thin_strip_1_ratio - thin_strip_2_ratio);\n\n float thin_strip_1_width = cycleWidth * thin_strip_1_ratio;\n float thin_strip_2_width = cycleWidth * thin_strip_2_ratio;\n\n opacity = 1. - smoothstep(.9, .92, mask);\n\n float noise = snoise(uv - t);\n\n mask += (1. - mask) * u_liquid * noise;\n\n float colorDispersion = 0.;\n colorDispersion += (1. - bump);\n colorDispersion = clamp(colorDispersion, 0., 1.);\n\n direction += diagBLtoTR;\n\n direction -= 2. * noise * contour;\n\n bump *= clamp(pow(uv.y, .1), .3, 1.);\n direction *= (.1 + (1.1 - mask) * bump);\n direction *= smoothstep(1., .7, mask);\n\n float ridge = .2 * (smoothstep(.0, .15, uv.y) * smoothstep(.4, .15, uv.y));\n ridge += .03 * (smoothstep(.1, .2, 1. - uv.y) * smoothstep(.4, .2, 1. - uv.y));\n direction += ridge;\n\n direction *= (.5 + .5 * pow(uv.y, 2.));\n\n direction *= cycleWidth;\n\n direction -= t;\n\n float dispersionRed = colorDispersion;\n dispersionRed += .03 * bump * noise;\n float dispersionBlue = 1.3 * colorDispersion;\n\n dispersionRed += 5. * (smoothstep(-.1, .2, uv.y) * smoothstep(.5, .1, uv.y)) * (smoothstep(.4, .6, bump) * smoothstep(1., .4, bump));\n dispersionRed -= diagBLtoTR;\n\n dispersionBlue += (smoothstep(0., .4, uv.y) * smoothstep(.8, .1, uv.y)) * (smoothstep(.4, .6, bump) * smoothstep(.8, .4, bump));\n dispersionBlue -= .2 * mask;\n\n dispersionRed *= u_dispersion;\n dispersionBlue *= u_dispersion;\n\n vec3 w = vec3(thin_strip_1_width, thin_strip_2_width, wide_strip_ratio);\n w[1] -= .02 * smoothstep(.0, 1., mask + bump);\n float extraBlur = bump;\n float stripe_r = mod(direction + dispersionRed, 1.);\n float r = get_color_channel(color1.r, color2.r, stripe_r, w, 0.02 + .03 * u_dispersion * bump, extraBlur);\n float stripe_g = mod(direction, 1.);\n float g = get_color_channel(color1.g, color2.g, stripe_g, w, 0.01 / (1. - 0. * diagBLtoTR), extraBlur);\n float stripe_b = mod(direction - dispersionBlue, 1.);\n float b = get_color_channel(color1.b, color2.b, stripe_b, w, .01, extraBlur);\n\n color = vec3(r, g, b);\n color *= opacity;\n\n ${colorBandingFix}\n\n fragColor = vec4(color, opacity);\n}\n`;\n\nexport interface LiquidMetalUniforms extends ShaderSizingUniforms {\n u_patternBlur: number;\n u_patternScale: number;\n u_dispersion: number;\n u_liquid: number;\n u_shape: number;\n}\n\nexport interface LiquidMetalParams extends ShaderSizingParams, ShaderMotionParams {\n patternBlur?: number;\n patternScale?: number;\n dispersion?: number;\n liquid?: number;\n shape?: number;\n}\n"],
5
- "mappings": ";;;;;AACA,SAAS,kCAAsF;AAC/F,SAAS,WAAW,eAAe,qBAAqB,uBAAuB;AAKxE,MAAM,4BAAoC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAW/C,0BAA0B;AAAA;AAAA;AAAA;AAAA,EAI1B,SAAS;AAAA,EACT,aAAa;AAAA,EACb,mBAAmB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IA+LjB,eAAe;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,97 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- import { sizingVariablesDeclaration } from "../shader-sizing";
7
- import { declarePI, declareRotate, colorBandingFix } from "../shader-utils";
8
- const meshGradientMeta = {
9
- maxColorCount: 10
10
- };
11
- const meshGradientFragmentShader = `#version 300 es
12
- precision highp float;
13
-
14
- uniform float u_time;
15
-
16
- uniform vec4 u_colors[${meshGradientMeta.maxColorCount}];
17
- uniform float u_colorsCount;
18
-
19
- uniform float u_distortion;
20
- uniform float u_swirl;
21
-
22
- ${sizingVariablesDeclaration}
23
-
24
- out vec4 fragColor;
25
-
26
- ${declarePI}
27
- ${declareRotate}
28
-
29
- vec2 getPosition(int i, float t) {
30
- float a = float(i) * .37;
31
- float b = .6 + mod(float(i), 3.) * .3;
32
- float c = .8 + mod(float(i + 1), 4.) * 0.25;
33
-
34
- float x = sin(t * b + a);
35
- float y = cos(t * c + a * 1.5);
36
-
37
- return .5 + .5 * vec2(x, y);
38
- }
39
-
40
- void main() {
41
- vec2 shape_uv = v_objectUV;
42
-
43
- shape_uv += .5;
44
-
45
- float t = .5 * u_time;
46
-
47
- float radius = smoothstep(0., 1., length(shape_uv - .5));
48
- float center = 1. - radius;
49
- for (float i = 1.; i <= 2.; i++) {
50
- shape_uv.x += u_distortion * center / i * sin(t + i * .4 * smoothstep(.0, 1., shape_uv.y)) * cos(.2 * t + i * 2.4 * smoothstep(.0, 1., shape_uv.y));
51
- shape_uv.y += u_distortion * center / i * cos(t + i * 2. * smoothstep(.0, 1., shape_uv.x));
52
- }
53
-
54
- vec2 uvRotated = shape_uv;
55
- uvRotated -= vec2(.5);
56
- float angle = 3. * u_swirl * radius;
57
- uvRotated = rotate(uvRotated, -angle);
58
- uvRotated += vec2(.5);
59
-
60
- vec3 color = vec3(0.);
61
- float opacity = 0.;
62
- float totalWeight = 0.;
63
-
64
- for (int i = 0; i < ${meshGradientMeta.maxColorCount}; i++) {
65
- if (i >= int(u_colorsCount)) break;
66
-
67
- vec2 pos = getPosition(i, t);
68
- vec3 colorFraction = u_colors[i].rgb * u_colors[i].a;
69
- float opacityFraction = u_colors[i].a;
70
-
71
- float dist = 0.;
72
- if (mod(float(i), 2.) > 1.) {
73
- dist = length(shape_uv - pos);
74
- } else {
75
- dist = length(uvRotated - pos);
76
- }
77
-
78
- dist = pow(dist, 3.5);
79
- float weight = 1. / (dist + 1e-3);
80
- color += colorFraction * weight;
81
- opacity += opacityFraction * weight;
82
- totalWeight += weight;
83
- }
84
-
85
- color /= totalWeight;
86
- opacity /= totalWeight;
87
-
88
- ${colorBandingFix}
89
-
90
- fragColor = vec4(color, opacity);
91
- }
92
- `;
93
- export {
94
- meshGradientFragmentShader,
95
- meshGradientMeta
96
- };
97
- //# sourceMappingURL=mesh-gradient.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/shaders/mesh-gradient.ts"],
4
- "sourcesContent": ["import type { vec4 } from '../types';\nimport type { ShaderMotionParams } from '../shader-mount';\nimport { sizingVariablesDeclaration, type ShaderSizingParams, type ShaderSizingUniforms } from '../shader-sizing';\nimport { declarePI, declareRotate, colorBandingFix } from '../shader-utils';\n\nexport const meshGradientMeta = {\n maxColorCount: 10,\n} as const;\n\n/**\n * Mesh Gradient Ksenia Kondrashova\n * Smooth, animated mesh gradient using a dynamic list of colors\n *\n * Uniforms include:\n * - u_colors (vec4[]): Input RGBA colors\n * - u_colorsCount (float): Number of active colors (`u_colors` length)\n * - u_distortion (float): Amount of animated wavy distortion applied to UV coordinates\n * - u_swirl (float): Amount of radial swirl distortion applied to UV coordinates\n */\nexport const meshGradientFragmentShader: string = `#version 300 es\nprecision highp float;\n\nuniform float u_time;\n\nuniform vec4 u_colors[${meshGradientMeta.maxColorCount}];\nuniform float u_colorsCount;\n\nuniform float u_distortion;\nuniform float u_swirl;\n\n${sizingVariablesDeclaration}\n\nout vec4 fragColor;\n\n${declarePI}\n${declareRotate}\n\nvec2 getPosition(int i, float t) {\n float a = float(i) * .37;\n float b = .6 + mod(float(i), 3.) * .3;\n float c = .8 + mod(float(i + 1), 4.) * 0.25;\n\n float x = sin(t * b + a);\n float y = cos(t * c + a * 1.5);\n\n return .5 + .5 * vec2(x, y);\n}\n\nvoid main() {\n vec2 shape_uv = v_objectUV;\n\n shape_uv += .5;\n\n float t = .5 * u_time;\n\n float radius = smoothstep(0., 1., length(shape_uv - .5));\n float center = 1. - radius;\n for (float i = 1.; i <= 2.; i++) {\n shape_uv.x += u_distortion * center / i * sin(t + i * .4 * smoothstep(.0, 1., shape_uv.y)) * cos(.2 * t + i * 2.4 * smoothstep(.0, 1., shape_uv.y));\n shape_uv.y += u_distortion * center / i * cos(t + i * 2. * smoothstep(.0, 1., shape_uv.x));\n }\n\n vec2 uvRotated = shape_uv;\n uvRotated -= vec2(.5);\n float angle = 3. * u_swirl * radius;\n uvRotated = rotate(uvRotated, -angle);\n uvRotated += vec2(.5);\n\n vec3 color = vec3(0.);\n float opacity = 0.;\n float totalWeight = 0.;\n \n for (int i = 0; i < ${meshGradientMeta.maxColorCount}; i++) {\n if (i >= int(u_colorsCount)) break;\n \n vec2 pos = getPosition(i, t);\n vec3 colorFraction = u_colors[i].rgb * u_colors[i].a;\n float opacityFraction = u_colors[i].a;\n \n float dist = 0.;\n if (mod(float(i), 2.) > 1.) {\n dist = length(shape_uv - pos);\n } else {\n dist = length(uvRotated - pos);\n }\n\n dist = pow(dist, 3.5);\n float weight = 1. / (dist + 1e-3);\n color += colorFraction * weight;\n opacity += opacityFraction * weight;\n totalWeight += weight;\n }\n\n color /= totalWeight;\n opacity /= totalWeight;\n \n ${colorBandingFix}\n\n fragColor = vec4(color, opacity);\n}\n`;\n\nexport interface MeshGradientUniforms extends ShaderSizingUniforms {\n u_colors: vec4[];\n u_colorsCount: number;\n u_distortion: number;\n u_swirl: number;\n}\n\nexport interface MeshGradientParams extends ShaderSizingParams, ShaderMotionParams {\n colors?: string[];\n distortion?: number;\n swirl?: number;\n}\n"],
5
- "mappings": ";;;;;AAEA,SAAS,kCAAsF;AAC/F,SAAS,WAAW,eAAe,uBAAuB;AAEnD,MAAM,mBAAmB;AAAA,EAC9B,eAAe;AACjB;AAYO,MAAM,6BAAqC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAK1B,iBAAiB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMpD,0BAA0B;AAAA;AAAA;AAAA;AAAA,EAI1B,SAAS;AAAA,EACT,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBAqCS,iBAAiB,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwBlD,eAAe;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,109 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- import { sizingVariablesDeclaration } from "../shader-sizing";
7
- import { declarePI, colorBandingFix } from "../shader-utils";
8
- const metaballsMeta = {
9
- maxColorCount: 8,
10
- maxBallsCount: 20
11
- };
12
- const metaballsFragmentShader = `#version 300 es
13
- precision highp float;
14
-
15
- uniform float u_time;
16
-
17
- uniform vec4 u_colors[${metaballsMeta.maxColorCount}];
18
- uniform float u_colorsCount;
19
- uniform float u_size;
20
- uniform float u_sizeRange;
21
- uniform float u_count;
22
-
23
- ${sizingVariablesDeclaration}
24
-
25
- out vec4 fragColor;
26
-
27
- ${declarePI}
28
-
29
- float hash(float x) {
30
- return fract(sin(x) * 43758.5453123);
31
- }
32
- float noise(float x) {
33
- float i = floor(x);
34
- float f = fract(x);
35
- float u = f * f * (3.0 - 2.0 * f);
36
- return mix(hash(i), hash(i + 1.0), u);
37
- }
38
-
39
- float getBallShape(vec2 uv, vec2 c, float p) {
40
- float s = .5 * length(uv - c);
41
- s = 1. - clamp(s, 0., 1.);
42
- s = pow(s, p);
43
- return s;
44
- }
45
-
46
- void main() {
47
- vec2 shape_uv = v_objectUV;
48
-
49
- shape_uv += .5;
50
-
51
- float t = .2 * u_time + 1.;
52
-
53
- vec3 totalColor = vec3(0.);
54
- float totalShape = 0.;
55
- float totalOpacity = 0.;
56
-
57
- for (int i = 0; i < ${metaballsMeta.maxBallsCount}; i++) {
58
- if (i >= int(ceil(u_count))) break;
59
-
60
- float idxFract = float(i) / float(${metaballsMeta.maxBallsCount});
61
- float angle = TWO_PI * idxFract;
62
-
63
- float speed = 1. - .2 * idxFract;
64
- float noiseX = noise(angle * 10. + float(i) + t * speed);
65
- float noiseY = noise(angle * 20. + float(i) - t * speed);
66
-
67
- vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noiseX, noiseY) - .5);
68
-
69
- int safeIndex = i % int(u_colorsCount + 0.5);
70
- vec4 ballColor = u_colors[safeIndex];
71
- ballColor.rgb *= ballColor.a;
72
-
73
- float sizeFrac = 1.;
74
- if (float(i) > floor(u_count - 1.)) {
75
- sizeFrac *= fract(u_count);
76
- }
77
-
78
- float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);
79
- shape *= pow(u_size, .2);
80
- shape = smoothstep(0., 1., shape);
81
-
82
- totalColor += ballColor.rgb * shape;
83
- totalShape += shape;
84
- totalOpacity += ballColor.a * shape;
85
- }
86
-
87
- totalColor /= max(totalShape, 1e-4);
88
- totalOpacity /= max(totalShape, 1e-4);
89
-
90
- float edge_width = fwidth(totalShape);
91
- float finalShape = smoothstep(.4, .4 + edge_width, totalShape);
92
-
93
- vec3 color = totalColor * finalShape;
94
- float opacity = totalOpacity * finalShape;
95
-
96
- if (opacity < .005) {
97
- discard;
98
- }
99
-
100
- ${colorBandingFix}
101
-
102
- fragColor = vec4(color, opacity);
103
- }
104
- `;
105
- export {
106
- metaballsFragmentShader,
107
- metaballsMeta
108
- };
109
- //# sourceMappingURL=metaballs.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/shaders/metaballs.ts"],
4
- "sourcesContent": ["import type { vec4 } from '../types';\nimport type { ShaderMotionParams } from '../shader-mount';\nimport { sizingVariablesDeclaration, type ShaderSizingParams, type ShaderSizingUniforms } from '../shader-sizing';\nimport { declarePI, colorBandingFix } from '../shader-utils';\n\nexport const metaballsMeta = {\n maxColorCount: 8,\n maxBallsCount: 20,\n} as const;\n\n/**\n * Metaballs (circular shapes with gooey effect applied)\n * The artwork by Ksenia Kondrashova\n *\n * Uniforms include:\n * - uColors (vec4[]): Input RGBA colors\n * - uColorsCount (float): Number of active colors (`uColors` length)\n * - u_count (float)\n * - u_size (float)\n */\nexport const metaballsFragmentShader: string = `#version 300 es\nprecision highp float;\n\nuniform float u_time;\n\nuniform vec4 u_colors[${metaballsMeta.maxColorCount}];\nuniform float u_colorsCount;\nuniform float u_size;\nuniform float u_sizeRange;\nuniform float u_count;\n\n${sizingVariablesDeclaration}\n\nout vec4 fragColor;\n\n${declarePI}\n\nfloat hash(float x) {\n return fract(sin(x) * 43758.5453123);\n}\nfloat noise(float x) {\n float i = floor(x);\n float f = fract(x);\n float u = f * f * (3.0 - 2.0 * f);\n return mix(hash(i), hash(i + 1.0), u);\n}\n\nfloat getBallShape(vec2 uv, vec2 c, float p) {\n float s = .5 * length(uv - c);\n s = 1. - clamp(s, 0., 1.);\n s = pow(s, p);\n return s;\n}\n\nvoid main() {\n vec2 shape_uv = v_objectUV;\n\n shape_uv += .5;\n\n float t = .2 * u_time + 1.;\n\n vec3 totalColor = vec3(0.);\n float totalShape = 0.;\n float totalOpacity = 0.;\n \n for (int i = 0; i < ${metaballsMeta.maxBallsCount}; i++) {\n if (i >= int(ceil(u_count))) break;\n \n float idxFract = float(i) / float(${metaballsMeta.maxBallsCount});\n float angle = TWO_PI * idxFract;\n \n float speed = 1. - .2 * idxFract;\n float noiseX = noise(angle * 10. + float(i) + t * speed);\n float noiseY = noise(angle * 20. + float(i) - t * speed);\n \n vec2 pos = vec2(.5) + 1e-4 + .9 * (vec2(noiseX, noiseY) - .5);\n \n int safeIndex = i % int(u_colorsCount + 0.5);\n vec4 ballColor = u_colors[safeIndex];\n ballColor.rgb *= ballColor.a;\n\n float sizeFrac = 1.;\n if (float(i) > floor(u_count - 1.)) {\n sizeFrac *= fract(u_count);\n }\n\n float shape = getBallShape(shape_uv, pos, 45. - 30. * u_size * sizeFrac);\n shape *= pow(u_size, .2);\n shape = smoothstep(0., 1., shape);\n\n totalColor += ballColor.rgb * shape;\n totalShape += shape;\n totalOpacity += ballColor.a * shape;\n }\n\n totalColor /= max(totalShape, 1e-4);\n totalOpacity /= max(totalShape, 1e-4);\n\n float edge_width = fwidth(totalShape);\n float finalShape = smoothstep(.4, .4 + edge_width, totalShape);\n\n vec3 color = totalColor * finalShape;\n float opacity = totalOpacity * finalShape;\n\n if (opacity < .005) {\n discard;\n }\n\n ${colorBandingFix}\n\n fragColor = vec4(color, opacity);\n}\n`;\n\nexport interface MetaballsUniforms extends ShaderSizingUniforms {\n u_colors: vec4[];\n u_colorsCount: number;\n u_count: number;\n u_size: number;\n}\n\nexport interface MetaballsParams extends ShaderSizingParams, ShaderMotionParams {\n colors?: string[];\n count?: number;\n size?: number;\n}\n"],
5
- "mappings": ";;;;;AAEA,SAAS,kCAAsF;AAC/F,SAAS,WAAW,uBAAuB;AAEpC,MAAM,gBAAgB;AAAA,EAC3B,eAAe;AAAA,EACf,eAAe;AACjB;AAYO,MAAM,0BAAkC;AAAA;AAAA;AAAA;AAAA;AAAA,wBAKvB,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMjD,0BAA0B;AAAA;AAAA;AAAA;AAAA,EAI1B,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,wBA8Ba,cAAc,aAAa;AAAA;AAAA;AAAA,wCAGX,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAwC/D,eAAe;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }
@@ -1,66 +0,0 @@
1
- /* * * * * * * * * * * * * * * * * * * * * * * * * * * *
2
- * Paper Shaders *
3
- * https://github.com/paper-design/shaders *
4
- * * * * * * * * * * * * * * * * * * * * * * * * * * * */
5
-
6
- import { sizingVariablesDeclaration } from "../shader-sizing";
7
- import { declareRotate, colorBandingFix } from "../shader-utils";
8
- const neuroNoiseFragmentShader = `#version 300 es
9
- precision highp float;
10
-
11
- uniform float u_time;
12
- uniform vec2 u_resolution;
13
- uniform float u_pixelRatio;
14
-
15
- uniform vec4 u_colorFront;
16
- uniform vec4 u_colorBack;
17
- uniform float u_brightness;
18
-
19
-
20
- ${sizingVariablesDeclaration}
21
-
22
- out vec4 fragColor;
23
-
24
- ${declareRotate}
25
-
26
- float neuro_shape(vec2 uv, float t) {
27
- vec2 sine_acc = vec2(0.);
28
- vec2 res = vec2(0.);
29
- float scale = 8.;
30
-
31
- for (int j = 0; j < 15; j++) {
32
- uv = rotate(uv, 1.);
33
- sine_acc = rotate(sine_acc, 1.);
34
- vec2 layer = uv * scale + float(j) + sine_acc - t;
35
- sine_acc += sin(layer);
36
- res += (.5 + .5 * cos(layer)) / scale;
37
- scale *= (1.2);
38
- }
39
- return res.x + res.y;
40
- }
41
-
42
- void main() {
43
- vec2 shape_uv = v_patternUV;
44
-
45
- shape_uv *= .002;
46
-
47
- float t = .5 * u_time;
48
-
49
- float noise = neuro_shape(shape_uv, t);
50
-
51
- noise = u_brightness * pow(noise, 3.);
52
- noise += pow(noise, 12.);
53
- noise = max(.0, noise - .5);
54
-
55
- vec3 color = mix(u_colorBack.rgb * u_colorBack.a, u_colorFront.rgb * u_colorFront.a, noise);
56
- float opacity = mix(u_colorBack.a, u_colorFront.a, noise);
57
-
58
- ${colorBandingFix}
59
-
60
- fragColor = vec4(color, opacity);
61
- }
62
- `;
63
- export {
64
- neuroNoiseFragmentShader
65
- };
66
- //# sourceMappingURL=neuro-noise.js.map
@@ -1,7 +0,0 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/shaders/neuro-noise.ts"],
4
- "sourcesContent": ["import type { ShaderMotionParams } from '../shader-mount';\nimport { sizingVariablesDeclaration, type ShaderSizingParams, type ShaderSizingUniforms } from '../shader-sizing';\nimport { declareRotate, colorBandingFix } from '../shader-utils';\n\n/**\n * Neuro Noise Pattern\n * The original artwork: https://codepen.io/ksenia-k/full/vYwgrWv by Ksenia Kondrashova\n * Renders a fractal-like structure made of several layers of since-arches\n *\n * Uniforms include:\n * u_colorFront - the front color of pattern\n * u_colorBack - the back color of pattern\n * u_brightness - the power (brightness) of pattern lines\n */\nexport const neuroNoiseFragmentShader: string = `#version 300 es\nprecision highp float;\n\nuniform float u_time;\nuniform vec2 u_resolution;\nuniform float u_pixelRatio;\n\nuniform vec4 u_colorFront;\nuniform vec4 u_colorBack;\nuniform float u_brightness;\n\n\n${sizingVariablesDeclaration}\n\nout vec4 fragColor;\n\n${declareRotate}\n\nfloat neuro_shape(vec2 uv, float t) {\n vec2 sine_acc = vec2(0.);\n vec2 res = vec2(0.);\n float scale = 8.;\n\n for (int j = 0; j < 15; j++) {\n uv = rotate(uv, 1.);\n sine_acc = rotate(sine_acc, 1.);\n vec2 layer = uv * scale + float(j) + sine_acc - t;\n sine_acc += sin(layer);\n res += (.5 + .5 * cos(layer)) / scale;\n scale *= (1.2);\n }\n return res.x + res.y;\n}\n\nvoid main() {\n vec2 shape_uv = v_patternUV;\n\n shape_uv *= .002;\n\n float t = .5 * u_time;\n\n float noise = neuro_shape(shape_uv, t);\n\n noise = u_brightness * pow(noise, 3.);\n noise += pow(noise, 12.);\n noise = max(.0, noise - .5);\n\n vec3 color = mix(u_colorBack.rgb * u_colorBack.a, u_colorFront.rgb * u_colorFront.a, noise);\n float opacity = mix(u_colorBack.a, u_colorFront.a, noise);\n \n ${colorBandingFix}\n\n fragColor = vec4(color, opacity);\n}\n`;\n\nexport interface NeuroNoiseUniforms extends ShaderSizingUniforms {\n u_colorFront: [number, number, number, number];\n u_colorBack: [number, number, number, number];\n u_brightness: number;\n}\n\nexport interface NeuroNoiseParams extends ShaderSizingParams, ShaderMotionParams {\n colorFront?: string;\n colorBack?: string;\n brightness?: number;\n}\n"],
5
- "mappings": ";;;;;AACA,SAAS,kCAAsF;AAC/F,SAAS,eAAe,uBAAuB;AAYxC,MAAM,2BAAmC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAY9C,0BAA0B;AAAA;AAAA;AAAA;AAAA,EAI1B,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAkCX,eAAe;AAAA;AAAA;AAAA;AAAA;",
6
- "names": []
7
- }