@cloudflare/ai-search-snippet 0.0.17

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.
@@ -0,0 +1,417 @@
1
+ {
2
+ "history": [
3
+ {
4
+ "breakpoints": [
5
+ {
6
+ "max": null,
7
+ "name": "Desktop",
8
+ "min": 992,
9
+ "props": { "gradientAngle": 0.2295, "scale": 0.92 }
10
+ },
11
+ {
12
+ "max": 991,
13
+ "min": 576,
14
+ "name": "Tablet",
15
+ "props": { "gradientAngle": 0.5103, "scale": 0.92 }
16
+ },
17
+ {
18
+ "props": { "scale": 1.168, "gradientAngle": 0.5076 },
19
+ "name": "Mobile",
20
+ "max": 575,
21
+ "min": 0
22
+ }
23
+ ],
24
+ "visible": true,
25
+ "aspectRatio": 1,
26
+ "userDownsample": 1,
27
+ "layerType": "effect",
28
+ "type": "gradient",
29
+ "usesPingPong": false,
30
+ "speed": 0.25,
31
+ "trackMouse": 0.15,
32
+ "mouseMomentum": 0.3,
33
+ "animating": false,
34
+ "isMask": 0,
35
+ "compiledFragmentShaders": [
36
+ "#version 300 es\nprecision highp float;in vec2 vTextureCoord;uniform float uAngle; uniform float uScale; uniform float uTime; uniform vec2 uMousePos; vec3 getColor(int index) { switch(index) { case 0: return vec3(0.12549019607843137, 0.023529411764705882, 0.23137254901960785); case 1: return vec3(0.9137254901960784, 0.3411764705882353, 0.7294117647058823); case 2: return vec3(0.9411764705882353, 0.7019607843137254, 0.3607843137254902); case 3: return vec3(0.8274509803921568, 0.35294117647058826, 0); case 4: return vec3(1, 0.6823529411764706, 0.5294117647058824); case 5: return vec3(1, 0.9294117647058824, 0.8941176470588236); case 6: return vec3(0, 0, 0); case 7: return vec3(0, 0, 0); case 8: return vec3(0, 0, 0); case 9: return vec3(0, 0, 0); case 10: return vec3(0, 0, 0); case 11: return vec3(0, 0, 0); case 12: return vec3(0, 0, 0); case 13: return vec3(0, 0, 0); case 14: return vec3(0, 0, 0); case 15: return vec3(0, 0, 0); default: return vec3(0.0); } }const float PI = 3.14159265;vec2 rotate(vec2 coord, float angle) { float s = sin(angle); float c = cos(angle); return vec2( coord.x * c - coord.y * s, coord.x * s + coord.y * c ); }float rand(vec2 co) { return fract(sin(dot(co.xy, vec2(12.9898, 78.233))) * 43758.5453); }vec3 linear_from_srgb(vec3 rgb) { return pow(rgb, vec3(2.2)); }vec3 srgb_from_linear(vec3 lin) { return pow(lin, vec3(1.0/2.2)); }vec3 oklab_mix(vec3 lin1, vec3 lin2, float a) { const mat3 kCONEtoLMS = mat3( 0.4121656120, 0.2118591070, 0.0883097947, 0.5362752080, 0.6807189584, 0.2818474174, 0.0514575653, 0.1074065790, 0.6302613616); const mat3 kLMStoCONE = mat3( 4.0767245293, -1.2681437731, -0.0041119885, -3.3072168827, 2.6093323231, -0.7034763098, 0.2307590544, -0.3411344290, 1.7068625689); vec3 lms1 = pow( kCONEtoLMS*lin1, vec3(1.0/3.0) ); vec3 lms2 = pow( kCONEtoLMS*lin2, vec3(1.0/3.0) ); vec3 lms = mix( lms1, lms2, a ); lms *= 1.0 + 0.025 * a * (1.0-a); return kLMStoCONE * (lms * lms * lms); }vec3 getGradientColor(float position) { position = clamp(position, 0.0, 1.0); for (int i = 0; i < 4 - 1; i++) { float colorPosition = float(i) / float(4 - 1); float nextColorPosition = float(i + 1) / float(4 - 1); if (position <= nextColorPosition) { float mixFactor = (position - colorPosition) / (nextColorPosition - colorPosition); vec3 linStart = linear_from_srgb(getColor(i)); vec3 linEnd = linear_from_srgb(getColor(i + 1)); vec3 mixedLin = oklab_mix(linStart, linEnd, mixFactor); return srgb_from_linear(mixedLin); } } return getColor(4 - 1); }out vec4 fragColor;vec3 applyColorToPosition(float position) { vec3 color = vec3(0); position -= (uTime * 0.01 + 0.0000); float cycle = floor(position); bool reverse = int(cycle) % 2 == 0; float animatedPos = reverse ? 1.0 - fract(position) : fract(position);color = getGradientColor(animatedPos); float dither = rand(gl_FragCoord.xy) * 0.005; color += dither; return color; }vec3 radialGrad(vec2 uv) { float position = length(uv); return applyColorToPosition(position); }vec3 getGradient(vec2 uv) { return radialGrad(uv); }vec3 getColor(vec2 uv) {return getGradient(uv);return vec3(0.12549019607843137, 0.023529411764705882, 0.23137254901960785); }void main() {vec2 uv = vTextureCoord; vec2 pos = vec2(0.5, 0.5) + mix(vec2(0), (uMousePos-0.5), 0.0000); uv -= pos; uv /= (uScale*2.); uv = rotate(uv, (uAngle - 0.5) * 2. * PI); vec4 color = vec4(getColor(uv), 1.); fragColor = color; }"
37
+ ],
38
+ "compiledVertexShaders": [
39
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vTextureCoord = aTextureCoord; }"
40
+ ],
41
+ "data": {
42
+ "depth": false,
43
+ "uniforms": {
44
+ "gradientAngle": { "name": "uAngle", "type": "1f", "value": 0.5 },
45
+ "scale": { "name": "uScale", "type": "1f", "value": 0.5 }
46
+ },
47
+ "isBackground": true
48
+ }
49
+ },
50
+ {
51
+ "breakpoints": [
52
+ {
53
+ "max": null,
54
+ "name": "Desktop",
55
+ "props": {
56
+ "height": 1.2295271493212672,
57
+ "left": 0.8737595072751323,
58
+ "fill": ["#FFFFFF"],
59
+ "top": -0.08867585784313728,
60
+ "width": 0.7162910604056438
61
+ },
62
+ "min": 992
63
+ },
64
+ {
65
+ "min": 576,
66
+ "props": {
67
+ "height": 0.576340851244344,
68
+ "left": 0.7560941633597883,
69
+ "top": 0.06965705422794116,
70
+ "width": 0.5630935846560847
71
+ },
72
+ "name": "Tablet",
73
+ "max": 991
74
+ },
75
+ {
76
+ "max": 575,
77
+ "min": 0,
78
+ "props": {
79
+ "height": 0.3550915197240034,
80
+ "left": 0.82441163003663,
81
+ "width": 0.8294429181929184,
82
+ "top": 0.13406561454558125
83
+ },
84
+ "name": "Mobile"
85
+ }
86
+ ],
87
+ "visible": true,
88
+ "locked": false,
89
+ "aspectRatio": 1.0793650793650795,
90
+ "layerName": "",
91
+ "userDownsample": 1,
92
+ "isElement": true,
93
+ "opacity": 1,
94
+ "effects": [],
95
+ "displace": 0,
96
+ "trackMouse": 0.12,
97
+ "anchorPoint": "center",
98
+ "mouseMomentum": 0.25,
99
+ "blendMode": "NORMAL",
100
+ "bgDisplace": 0,
101
+ "mask": 0,
102
+ "maskBackground": { "type": "Vec3", "_x": 0, "_y": 0, "_z": 0 },
103
+ "maskAlpha": 0,
104
+ "maskDepth": 0,
105
+ "dispersion": 0,
106
+ "axisTilt": 0,
107
+ "states": { "appear": [], "scroll": [], "hover": [] },
108
+ "layerType": "shape",
109
+ "width": 0.5630935846560847,
110
+ "widthMode": "relative",
111
+ "height": 0.3912672334558823,
112
+ "heightMode": "auto",
113
+ "left": 0.7560941633597883,
114
+ "leftMode": "relative",
115
+ "top": 0.06965705422794116,
116
+ "topMode": "relative",
117
+ "rotation": 0,
118
+ "pos": { "type": "Vec2", "_x": 0.5, "_y": 0.5 },
119
+ "borderRadius": 0,
120
+ "gradientAngle": 0,
121
+ "strokeWidth": 0,
122
+ "coords": [
123
+ [0, 0],
124
+ [0.5630935846560847, 0],
125
+ [0.5630935846560847, 0.3912672334558823],
126
+ [0, 0.3912672334558823]
127
+ ],
128
+ "fill": ["#FFFFFF"],
129
+ "fitToCanvas": false,
130
+ "gradientType": "linear",
131
+ "type": "circle",
132
+ "stroke": ["#000000"],
133
+ "numSides": 3,
134
+ "compiledFragmentShaders": [
135
+ "#version 300 es\nprecision mediump float; in vec2 vTextureCoord; in vec3 vVertexPosition;uniform sampler2D uBgTexture; uniform sampler2D uTexture; uniform vec2 uMousePos; uniform int uSampleBg;out vec4 fragColor;void main() { vec2 uv = vTextureCoord; vec2 pos = mix(vec2(0), (uMousePos - 0.5), 0.0000);uv = uv - pos;vec4 color = texture(uTexture, uv); vec4 background = vec4(0);if(uSampleBg == 1) { background = texture(uBgTexture, vTextureCoord); }color = mix(background, color / max(color.a, 0.0001), color.a * 1.0000);fragColor = color; }"
136
+ ],
137
+ "compiledVertexShaders": [
138
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uTextureMatrix; uniform vec2 uMousePos;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { float angleX = uMousePos.y * 0.5 - 0.25; float angleY = (1.-uMousePos.x) * 0.5 - 0.25;mat4 rotateX = mat4(1.0, 0.0, 0.0, 0.0, 0.0, cos(angleX), -sin(angleX), 0.0, 0.0, sin(angleX), cos(angleX), 0.0, 0.0, 0.0, 0.0, 1.0); mat4 rotateY = mat4(cos(angleY), 0.0, sin(angleY), 0.0, 0.0, 1.0, 0.0, 0.0, -sin(angleY), 0.0, cos(angleY), 0.0, 0.0, 0.0, 0.0, 1.0);mat4 rotationMatrix = rotateX * rotateY; gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vVertexPosition = (rotationMatrix * vec4(aVertexPosition, 1.0)).xyz; vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy; }"
139
+ ],
140
+ "data": { "uniforms": {} }
141
+ },
142
+ {
143
+ "breakpoints": [
144
+ {
145
+ "name": "Desktop",
146
+ "props": {
147
+ "width": 0.7966710758377427,
148
+ "fill": ["#FFEED9"],
149
+ "height": 1.1809477124183005,
150
+ "top": -0.2882516339869281,
151
+ "left": 1.0333392942298523
152
+ },
153
+ "max": null,
154
+ "min": 992
155
+ },
156
+ {
157
+ "name": "Tablet",
158
+ "props": {
159
+ "top": -0.08742581813844363,
160
+ "left": 0.6393034825870647,
161
+ "height": 0.5535692401960784
162
+ },
163
+ "max": 991,
164
+ "min": 576
165
+ },
166
+ {
167
+ "min": 0,
168
+ "props": {
169
+ "top": -0.06973562615483059,
170
+ "width": 1.159238705738706,
171
+ "left": 0.7485683470758097,
172
+ "height": 0.34106161718241806
173
+ },
174
+ "max": 575,
175
+ "name": "Mobile"
176
+ }
177
+ ],
178
+ "visible": true,
179
+ "locked": false,
180
+ "aspectRatio": 1.0793650793650795,
181
+ "layerName": "",
182
+ "userDownsample": 1,
183
+ "isElement": true,
184
+ "opacity": 0.93,
185
+ "effects": [],
186
+ "displace": 0,
187
+ "trackMouse": 0.1,
188
+ "anchorPoint": "center",
189
+ "mouseMomentum": 0.2,
190
+ "blendMode": "NORMAL",
191
+ "bgDisplace": 0,
192
+ "mask": 0,
193
+ "maskBackground": { "type": "Vec3", "_x": 0, "_y": 0, "_z": 0 },
194
+ "maskAlpha": 0,
195
+ "maskDepth": 0,
196
+ "dispersion": 0,
197
+ "axisTilt": 0,
198
+ "states": { "appear": [], "scroll": [], "hover": [] },
199
+ "layerType": "shape",
200
+ "width": 0.7966710758377427,
201
+ "widthMode": "relative",
202
+ "height": 0.5535692401960784,
203
+ "heightMode": "auto",
204
+ "left": 0.6393034825870647,
205
+ "leftMode": "relative",
206
+ "top": -0.08742581813844363,
207
+ "topMode": "relative",
208
+ "rotation": 0,
209
+ "pos": { "type": "Vec2", "_x": 0.5, "_y": 0.5 },
210
+ "borderRadius": 0,
211
+ "gradientAngle": 0,
212
+ "strokeWidth": 0,
213
+ "coords": [
214
+ [0, 0],
215
+ [0.7966710758377427, 0],
216
+ [0.7966710758377427, 0.5535692401960784],
217
+ [0, 0.5535692401960784]
218
+ ],
219
+ "fill": ["#FFEED9"],
220
+ "fitToCanvas": false,
221
+ "gradientType": "linear",
222
+ "type": "circle",
223
+ "stroke": ["#000000"],
224
+ "numSides": 3,
225
+ "compiledFragmentShaders": [
226
+ "#version 300 es\nprecision mediump float; in vec2 vTextureCoord; in vec3 vVertexPosition;uniform sampler2D uBgTexture; uniform sampler2D uTexture; uniform vec2 uMousePos; uniform int uSampleBg;out vec4 fragColor;void main() { vec2 uv = vTextureCoord; vec2 pos = mix(vec2(0), (uMousePos - 0.5), 0.0000);uv = uv - pos;vec4 color = texture(uTexture, uv); vec4 background = vec4(0);if(uSampleBg == 1) { background = texture(uBgTexture, vTextureCoord); }color = mix(background, color / max(color.a, 0.0001), color.a * 0.9300);fragColor = color; }"
227
+ ],
228
+ "compiledVertexShaders": [
229
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uTextureMatrix; uniform vec2 uMousePos;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { float angleX = uMousePos.y * 0.5 - 0.25; float angleY = (1.-uMousePos.x) * 0.5 - 0.25;mat4 rotateX = mat4(1.0, 0.0, 0.0, 0.0, 0.0, cos(angleX), -sin(angleX), 0.0, 0.0, sin(angleX), cos(angleX), 0.0, 0.0, 0.0, 0.0, 1.0); mat4 rotateY = mat4(cos(angleY), 0.0, sin(angleY), 0.0, 0.0, 1.0, 0.0, 0.0, -sin(angleY), 0.0, cos(angleY), 0.0, 0.0, 0.0, 0.0, 1.0);mat4 rotationMatrix = rotateX * rotateY; gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vVertexPosition = (rotationMatrix * vec4(aVertexPosition, 1.0)).xyz; vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy; }"
230
+ ],
231
+ "data": { "uniforms": {} }
232
+ },
233
+ {
234
+ "breakpoints": [
235
+ {
236
+ "props": {
237
+ "amount": 3.716,
238
+ "pos": {
239
+ "type": "Vec2",
240
+ "_x": 0.5011528511346381,
241
+ "_y": 0.5038626609442061
242
+ },
243
+ "trackMouse": 0.01,
244
+ "easing": 6
245
+ },
246
+ "max": null,
247
+ "name": "Desktop",
248
+ "min": 992
249
+ },
250
+ { "min": 0, "name": "Mobile", "props": { "amount": 3.716 }, "max": 575 }
251
+ ],
252
+ "visible": true,
253
+ "aspectRatio": 1,
254
+ "userDownsample": 1,
255
+ "layerType": "effect",
256
+ "type": "blur",
257
+ "usesPingPong": false,
258
+ "trackMouse": 0.01,
259
+ "mouseMomentum": 0,
260
+ "animating": false,
261
+ "isMask": 0,
262
+ "compiledFragmentShaders": [
263
+ "#version 300 es\nprecision highp float; precision highp int;in vec3 vVertexPosition; in vec2 vTextureCoord;uniform sampler2D uTexture; uniform float uAmount; uniform vec2 uMousePos; uniform vec2 uResolution; float ease (int easingFunc, float t) { return t < 0.5 ? 4.0 * t * t * t : (t - 1.0) * (2.0 * t - 2.0) * (2.0 * t - 2.0) + 1.0; }out vec4 fragColor;const int kernelSize = 36; float getGaussianWeight(int index) { switch(index) { case 0: return 0.00094768; case 1: return 0.00151965; case 2: return 0.00237008; case 3: return 0.00359517; case 4: return 0.0053041; case 5: return 0.00761097; case 6: return 0.01062197; case 7: return 0.01441804; case 8: return 0.01903459; case 9: return 0.0244409; case 10: return 0.03052299; case 11: return 0.03707432; case 12: return 0.04379813; case 13: return 0.05032389; case 14: return 0.05623791; case 15: return 0.06112521; case 16: return 0.06461716; case 17: return 0.06643724; case 18: return 0.06643724; case 19: return 0.06461716; case 20: return 0.06112521; case 21: return 0.05623791; case 22: return 0.05032389; case 23: return 0.04379813; case 24: return 0.03707432; case 25: return 0.03052299; case 26: return 0.0244409; case 27: return 0.01903459; case 28: return 0.01441804; case 29: return 0.01062197; case 30: return 0.00761097; case 31: return 0.0053041; case 32: return 0.00359517; case 33: return 0.00237008; case 34: return 0.00151965; case 35: return 0.00094768; default: return 0.0; } }vec4 GaussianBlur(sampler2D tex, vec2 uv, vec2 direction) { vec4 color = vec4(0.0); vec2 pos = vec2(0.5011528511346381, 0.49613733905579394) + mix(vec2(0), (uMousePos-0.5), 0.0100); float inner = distance(uv, pos); float outer = max(0., 1.-distance(uv, pos));float amt = 0 <= 1 ? 6. : 11.; float amount = (uAmount * amt) * ease(6, mix(inner, outer, 0.5700)); color += texture(tex, uv) * getGaussianWeight(0); for (int i = 0; i < kernelSize; i++) { float x = float(i - kernelSize / 2) * amount; color += texture(tex, uv + vec2(x * 0.001) * direction * vec2(0.5000, 1. - 0.5000)) * getGaussianWeight(i); } return color; }vec4 blur(vec2 uv, vec2 direction) { return GaussianBlur(uTexture, uv, direction); }void main() { vec2 uv = vTextureCoord; vec4 color = vec4(0); int dir = 0 % 2; vec2 direction = dir == 1 ? vec2(0, uResolution.x/uResolution.y) : vec2(1, 0);color = blur(uv, direction); fragColor = color;}",
264
+ "#version 300 es\nprecision highp float; precision highp int;in vec3 vVertexPosition; in vec2 vTextureCoord;uniform sampler2D uTexture; uniform float uAmount; uniform vec2 uMousePos; uniform vec2 uResolution; float ease (int easingFunc, float t) { return t < 0.5 ? 4.0 * t * t * t : (t - 1.0) * (2.0 * t - 2.0) * (2.0 * t - 2.0) + 1.0; }out vec4 fragColor;const int kernelSize = 36; float getGaussianWeight(int index) { switch(index) { case 0: return 0.00094768; case 1: return 0.00151965; case 2: return 0.00237008; case 3: return 0.00359517; case 4: return 0.0053041; case 5: return 0.00761097; case 6: return 0.01062197; case 7: return 0.01441804; case 8: return 0.01903459; case 9: return 0.0244409; case 10: return 0.03052299; case 11: return 0.03707432; case 12: return 0.04379813; case 13: return 0.05032389; case 14: return 0.05623791; case 15: return 0.06112521; case 16: return 0.06461716; case 17: return 0.06643724; case 18: return 0.06643724; case 19: return 0.06461716; case 20: return 0.06112521; case 21: return 0.05623791; case 22: return 0.05032389; case 23: return 0.04379813; case 24: return 0.03707432; case 25: return 0.03052299; case 26: return 0.0244409; case 27: return 0.01903459; case 28: return 0.01441804; case 29: return 0.01062197; case 30: return 0.00761097; case 31: return 0.0053041; case 32: return 0.00359517; case 33: return 0.00237008; case 34: return 0.00151965; case 35: return 0.00094768; default: return 0.0; } }vec4 GaussianBlur(sampler2D tex, vec2 uv, vec2 direction) { vec4 color = vec4(0.0); vec2 pos = vec2(0.5011528511346381, 0.49613733905579394) + mix(vec2(0), (uMousePos-0.5), 0.0100); float inner = distance(uv, pos); float outer = max(0., 1.-distance(uv, pos));float amt = 1 <= 1 ? 6. : 11.; float amount = (uAmount * amt) * ease(6, mix(inner, outer, 0.5700)); color += texture(tex, uv) * getGaussianWeight(0); for (int i = 0; i < kernelSize; i++) { float x = float(i - kernelSize / 2) * amount; color += texture(tex, uv + vec2(x * 0.001) * direction * vec2(0.5000, 1. - 0.5000)) * getGaussianWeight(i); } return color; }vec4 blur(vec2 uv, vec2 direction) { return GaussianBlur(uTexture, uv, direction); }void main() { vec2 uv = vTextureCoord; vec4 color = vec4(0); int dir = 1 % 2; vec2 direction = dir == 1 ? vec2(0, uResolution.x/uResolution.y) : vec2(1, 0);color = blur(uv, direction); fragColor = color;}",
265
+ "#version 300 es\nprecision highp float; precision highp int;in vec3 vVertexPosition; in vec2 vTextureCoord;uniform sampler2D uTexture; uniform float uAmount; uniform vec2 uMousePos; uniform vec2 uResolution; float ease (int easingFunc, float t) { return t < 0.5 ? 4.0 * t * t * t : (t - 1.0) * (2.0 * t - 2.0) * (2.0 * t - 2.0) + 1.0; }out vec4 fragColor;const int kernelSize = 36; float getGaussianWeight(int index) { switch(index) { case 0: return 0.00094768; case 1: return 0.00151965; case 2: return 0.00237008; case 3: return 0.00359517; case 4: return 0.0053041; case 5: return 0.00761097; case 6: return 0.01062197; case 7: return 0.01441804; case 8: return 0.01903459; case 9: return 0.0244409; case 10: return 0.03052299; case 11: return 0.03707432; case 12: return 0.04379813; case 13: return 0.05032389; case 14: return 0.05623791; case 15: return 0.06112521; case 16: return 0.06461716; case 17: return 0.06643724; case 18: return 0.06643724; case 19: return 0.06461716; case 20: return 0.06112521; case 21: return 0.05623791; case 22: return 0.05032389; case 23: return 0.04379813; case 24: return 0.03707432; case 25: return 0.03052299; case 26: return 0.0244409; case 27: return 0.01903459; case 28: return 0.01441804; case 29: return 0.01062197; case 30: return 0.00761097; case 31: return 0.0053041; case 32: return 0.00359517; case 33: return 0.00237008; case 34: return 0.00151965; case 35: return 0.00094768; default: return 0.0; } }vec4 GaussianBlur(sampler2D tex, vec2 uv, vec2 direction) { vec4 color = vec4(0.0); vec2 pos = vec2(0.5011528511346381, 0.49613733905579394) + mix(vec2(0), (uMousePos-0.5), 0.0100); float inner = distance(uv, pos); float outer = max(0., 1.-distance(uv, pos));float amt = 2 <= 1 ? 6. : 11.; float amount = (uAmount * amt) * ease(6, mix(inner, outer, 0.5700)); color += texture(tex, uv) * getGaussianWeight(0); for (int i = 0; i < kernelSize; i++) { float x = float(i - kernelSize / 2) * amount; color += texture(tex, uv + vec2(x * 0.001) * direction * vec2(0.5000, 1. - 0.5000)) * getGaussianWeight(i); } return color; }vec4 blur(vec2 uv, vec2 direction) { return GaussianBlur(uTexture, uv, direction); }void main() { vec2 uv = vTextureCoord; vec4 color = vec4(0); int dir = 2 % 2; vec2 direction = dir == 1 ? vec2(0, uResolution.x/uResolution.y) : vec2(1, 0);color = blur(uv, direction); fragColor = color;}",
266
+ "#version 300 es\nprecision highp float; precision highp int;in vec3 vVertexPosition; in vec2 vTextureCoord;uniform sampler2D uTexture; uniform float uAmount; uniform vec2 uMousePos; uniform vec2 uResolution; float ease (int easingFunc, float t) { return t < 0.5 ? 4.0 * t * t * t : (t - 1.0) * (2.0 * t - 2.0) * (2.0 * t - 2.0) + 1.0; } uint fibonacciHash(uint x) { const uint FIB_HASH = 2654435769u; uint hash = x * FIB_HASH; hash ^= hash >> 16; hash *= 0x85ebca6bu; hash ^= hash >> 13; hash *= 0xc2b2ae35u; hash ^= hash >> 16; return hash; }float randFibo(vec2 xy) { uint x_bits = floatBitsToUint(xy.x); uint y_bits = floatBitsToUint(xy.y); uint y_hash = fibonacciHash(y_bits); uint x_xor_y = x_bits ^ y_hash; uint final_hash = fibonacciHash(x_xor_y); return float(final_hash) / float(0xffffffffu); }out vec4 fragColor;const int kernelSize = 36; float getGaussianWeight(int index) { switch(index) { case 0: return 0.00094768; case 1: return 0.00151965; case 2: return 0.00237008; case 3: return 0.00359517; case 4: return 0.0053041; case 5: return 0.00761097; case 6: return 0.01062197; case 7: return 0.01441804; case 8: return 0.01903459; case 9: return 0.0244409; case 10: return 0.03052299; case 11: return 0.03707432; case 12: return 0.04379813; case 13: return 0.05032389; case 14: return 0.05623791; case 15: return 0.06112521; case 16: return 0.06461716; case 17: return 0.06643724; case 18: return 0.06643724; case 19: return 0.06461716; case 20: return 0.06112521; case 21: return 0.05623791; case 22: return 0.05032389; case 23: return 0.04379813; case 24: return 0.03707432; case 25: return 0.03052299; case 26: return 0.0244409; case 27: return 0.01903459; case 28: return 0.01441804; case 29: return 0.01062197; case 30: return 0.00761097; case 31: return 0.0053041; case 32: return 0.00359517; case 33: return 0.00237008; case 34: return 0.00151965; case 35: return 0.00094768; default: return 0.0; } }vec4 GaussianBlur(sampler2D tex, vec2 uv, vec2 direction) { vec4 color = vec4(0.0); vec2 pos = vec2(0.5011528511346381, 0.49613733905579394) + mix(vec2(0), (uMousePos-0.5), 0.0100); float inner = distance(uv, pos); float outer = max(0., 1.-distance(uv, pos));float amt = 3 <= 1 ? 6. : 11.; float amount = (uAmount * amt) * ease(6, mix(inner, outer, 0.5700)); color += texture(tex, uv) * getGaussianWeight(0); for (int i = 0; i < kernelSize; i++) { float x = float(i - kernelSize / 2) * amount; color += texture(tex, uv + vec2(x * 0.001) * direction * vec2(0.5000, 1. - 0.5000)) * getGaussianWeight(i); } return color; }vec4 blur(vec2 uv, vec2 direction) { return GaussianBlur(uTexture, uv, direction); }void main() { vec2 uv = vTextureCoord; vec4 color = vec4(0); int dir = 3 % 2; vec2 direction = dir == 1 ? vec2(0, uResolution.x/uResolution.y) : vec2(1, 0);color = blur(uv, direction);float dither = (randFibo(gl_FragCoord.xy) - 0.5) / 255.0; color.rgb += dither; fragColor = color;}"
267
+ ],
268
+ "compiledVertexShaders": [
269
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uTextureMatrix;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy; }"
270
+ ],
271
+ "data": {
272
+ "downSample": 0.25,
273
+ "depth": false,
274
+ "uniforms": {
275
+ "amount": { "name": "uAmount", "type": "1f", "value": 0.2 }
276
+ },
277
+ "isBackground": false,
278
+ "passes": [
279
+ { "prop": "vertical", "value": 1, "downSample": 0.25 },
280
+ { "prop": "vertical", "value": 2, "downSample": 0.5 },
281
+ { "prop": "vertical", "value": 3, "downSample": 0.5 }
282
+ ]
283
+ }
284
+ },
285
+ {
286
+ "breakpoints": [
287
+ {
288
+ "name": "Desktop",
289
+ "props": {
290
+ "mixRadius": 1,
291
+ "angle": 0.09720000000000001,
292
+ "phase": 0,
293
+ "frequency": 0.46,
294
+ "pos": {
295
+ "type": "Vec2",
296
+ "_x": 0.5324594257178527,
297
+ "_y": 0.5199750312109863
298
+ },
299
+ "drift": 0.46,
300
+ "speed": 0.2
301
+ },
302
+ "max": null,
303
+ "min": 992
304
+ },
305
+ {
306
+ "min": 576,
307
+ "props": { "angle": 0.0162, "frequency": 1.158 },
308
+ "max": 991,
309
+ "name": "Tablet"
310
+ },
311
+ {
312
+ "max": 575,
313
+ "min": 0,
314
+ "name": "Mobile",
315
+ "props": { "frequency": 1.508, "angle": 0.0054 }
316
+ }
317
+ ],
318
+ "visible": true,
319
+ "aspectRatio": 1,
320
+ "userDownsample": 1,
321
+ "layerType": "effect",
322
+ "type": "fbm",
323
+ "usesPingPong": false,
324
+ "speed": 0.2,
325
+ "trackMouse": 0,
326
+ "mouseMomentum": 0,
327
+ "animating": true,
328
+ "isMask": 0,
329
+ "compiledFragmentShaders": [
330
+ "#version 300 es\nprecision highp float;in vec2 vTextureCoord;uniform sampler2D uTexture; uniform float uTime; uniform float uFrequency; uniform float uAngle;uniform vec2 uMousePos; uniform vec2 uResolution;float ease (int easingFunc, float t) { return t; }vec3 hash33(vec3 p3) { p3 = fract(p3 * vec3(0.1031, 0.11369, 0.13787)); p3 += dot(p3, p3.yxz + 19.19); return -1.0 + 2.0 * fract(vec3( (p3.x + p3.y) * p3.z, (p3.x + p3.z) * p3.y, (p3.y + p3.z) * p3.x )); }float perlin_noise(vec3 p) { vec3 pi = floor(p); vec3 pf = p - pi;vec3 w = pf * pf * (3.0 - 2.0 * pf);float n000 = dot(pf - vec3(0.0, 0.0, 0.0), hash33(pi + vec3(0.0, 0.0, 0.0))); float n100 = dot(pf - vec3(1.0, 0.0, 0.0), hash33(pi + vec3(1.0, 0.0, 0.0))); float n010 = dot(pf - vec3(0.0, 1.0, 0.0), hash33(pi + vec3(0.0, 1.0, 0.0))); float n110 = dot(pf - vec3(1.0, 1.0, 0.0), hash33(pi + vec3(1.0, 1.0, 0.0))); float n001 = dot(pf - vec3(0.0, 0.0, 1.0), hash33(pi + vec3(0.0, 0.0, 1.0))); float n101 = dot(pf - vec3(1.0, 0.0, 1.0), hash33(pi + vec3(1.0, 0.0, 1.0))); float n011 = dot(pf - vec3(0.0, 1.0, 1.0), hash33(pi + vec3(0.0, 1.0, 1.0))); float n111 = dot(pf - vec3(1.0, 1.0, 1.0), hash33(pi + vec3(1.0, 1.0, 1.0)));float nx00 = mix(n000, n100, w.x); float nx01 = mix(n001, n101, w.x); float nx10 = mix(n010, n110, w.x); float nx11 = mix(n011, n111, w.x);float nxy0 = mix(nx00, nx10, w.y); float nxy1 = mix(nx01, nx11, w.y);float nxyz = mix(nxy0, nxy1, w.z);return nxyz; } const float PI = 3.14159265359; mat2 rot(float a) { return mat2(cos(a),-sin(a),sin(a),cos(a)); }mat2 rotHalf = mat2(cos(0.5), sin(0.5), -sin(0.5), cos(0.5));float fbm (in vec3 st) { float value = 0.0; float amp = .25; float frequency = 0.; float aM = (0.1 + 0.3600 * .65); vec2 shift = vec2(100.0); for (int i = 0; i < 7; i++) { value += amp * perlin_noise(st); st.xy *= rotHalf * 2.5; st.xy += shift; amp *= aM; } return value; }out vec4 fragColor;void main() { vec2 uv = vTextureCoord; float aspectRatio = uResolution.x/uResolution.y; float multiplier = 6.0 * (uFrequency / ((aspectRatio + 1.) / 2.));vec2 mPos = vec2(0.5324594257178527, 0.4800249687890137) + mix(vec2(0), (uMousePos-0.5), 0.0000); vec2 pos = mix(vec2(0.5324594257178527, 0.4800249687890137), mPos, floor(1.0000)); float mDist = ease(0, max(0.,1.-distance(uv * vec2(aspectRatio, 1), mPos * vec2(aspectRatio, 1)) * 4. * (1. - 1.0000))); vec2 st = ((uv - pos) * vec2(aspectRatio, 1)) * multiplier * aspectRatio; st = rot(uAngle * -1. * 2.0 * PI) * st; vec2 drift = vec2(uTime * 0.005) * (0.4600 * 2.);float time = uTime * 0.025;vec2 r = vec2( fbm(vec3(st - drift + vec2(1.7, 9.2), 0.0000*25. + time)), fbm(vec3(st - drift + vec2(8.2, 1.3), 0.0000*25. + time)) );float f = fbm(vec3(st + r - drift, 0.0000*25. + time)) * 0.5000;vec2 offset = (f * 2. + (r * 0.5000));vec4 color = texture(uTexture, uv + offset * mDist); fragColor = color;}"
331
+ ],
332
+ "compiledVertexShaders": [
333
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uTextureMatrix;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy; }"
334
+ ],
335
+ "data": {
336
+ "depth": false,
337
+ "uniforms": {
338
+ "angle": { "name": "uAngle", "type": "1f", "value": 0 },
339
+ "frequency": { "name": "uFrequency", "type": "1f", "value": 0.2 }
340
+ },
341
+ "isBackground": false
342
+ }
343
+ },
344
+ {
345
+ "breakpoints": [
346
+ {
347
+ "min": 992,
348
+ "name": "Desktop",
349
+ "max": null,
350
+ "props": {
351
+ "amount": 1.8,
352
+ "mix": 0.44,
353
+ "rotation": 0.999,
354
+ "threshold": 0,
355
+ "pos": {
356
+ "type": "Vec2",
357
+ "_x": 0.6716738197424893,
358
+ "_y": 0.09356223175965667
359
+ }
360
+ }
361
+ },
362
+ {
363
+ "props": { "rotation": 0.999, "amount": 1.5, "mix": 0.44 },
364
+ "min": 576,
365
+ "max": 991,
366
+ "name": "Tablet"
367
+ },
368
+ {
369
+ "props": {
370
+ "mix": 0.16,
371
+ "amount": 2.5540000000000003,
372
+ "threshold": 0,
373
+ "rotation": -0.0027
374
+ },
375
+ "name": "Mobile",
376
+ "max": 575,
377
+ "min": 0
378
+ }
379
+ ],
380
+ "visible": true,
381
+ "aspectRatio": 1,
382
+ "userDownsample": 1,
383
+ "layerType": "effect",
384
+ "type": "halftone",
385
+ "usesPingPong": false,
386
+ "animating": false,
387
+ "mouseMomentum": 0,
388
+ "isMask": 0,
389
+ "compiledFragmentShaders": [
390
+ "#version 300 es\nprecision mediump float; in vec3 vVertexPosition; in vec2 vTextureCoord; uniform sampler2D uTexture; uniform float uAmount; uniform float uRotation; uniform float uThreshold; uniform float uMix; uniform vec2 uResolution;float luma(vec4 color) { return dot(color.rgb, vec3(0.299, 0.587, 0.114)); }float aastep(float threshold, float value) { float afwidth = uAmount*200. * (1./uResolution.x); float minval = threshold - afwidth; float maxval = threshold + afwidth; return smoothstep(minval, maxval, value); }vec2 rotate2D(vec2 st, float degrees) { float c = cos(radians(degrees)); float s = sin(radians(degrees)); return mat2(c,-s,s,c) * st; }float halftone(vec2 st, float col, float angle) { float aspectRatio = uResolution.x / uResolution.y; float aspectCorrection = mix(aspectRatio, 1./aspectRatio, 0.5);st -= vec2(0.6716738197424893, 0.9064377682403433); st *= vec2(aspectRatio, 1.); vec2 r_st = uAmount*200. * rotate2D(st, angle - uRotation*360.); r_st /= aspectCorrection; st = (2. * fract(r_st) - 1.) * 0.82;return aastep(uThreshold, sqrt(col) - length(st)); }out vec4 fragColor; void main() { vec4 clipColor = texture(uTexture, vTextureCoord); if(clipColor.a == 0.) { fragColor = vec4(0); return; } vec2 uv = vTextureCoord; vec4 color = texture(uTexture, uv); vec4 cmyk = color; float alpha = color.a;float k = halftone(uv, cmyk.w, 45.); float c = halftone(uv, cmyk.x, 15.); float m = halftone(uv, cmyk.y, 75.); float y = halftone(uv, cmyk.z, 0.);float rC = 1. - halftone(uv, 1. - cmyk.x, 15.); float rM = 1. - halftone(uv, 1. - cmyk.y, 75.); float rY = 1. - halftone(uv, 1. - cmyk.z, 0.);float g = 1. - halftone(uv, 1. - luma(color), 0.);vec4 halftone = vec4(rC,rM,rY,1); halftone = halftone; halftone *= color.a;color = mix(color, halftone, uMix); fragColor = color;}"
391
+ ],
392
+ "compiledVertexShaders": [
393
+ "#version 300 es\nprecision mediump float;in vec3 aVertexPosition; in vec2 aTextureCoord;uniform mat4 uMVMatrix; uniform mat4 uPMatrix; uniform mat4 uTextureMatrix;out vec2 vTextureCoord; out vec3 vVertexPosition;void main() { gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy; }"
394
+ ],
395
+ "data": {
396
+ "depth": false,
397
+ "uniforms": {
398
+ "rotation": { "name": "uRotation", "type": "1f", "value": 0 },
399
+ "amount": { "name": "uAmount", "type": "1f", "value": 0.75 },
400
+ "mix": { "name": "uMix", "type": "1f", "value": 0 },
401
+ "threshold": { "name": "uThreshold", "type": "1f", "value": 0.5 }
402
+ },
403
+ "isBackground": false
404
+ }
405
+ }
406
+ ],
407
+ "options": {
408
+ "name": "clouds (Remix)",
409
+ "fps": 60,
410
+ "dpi": 1.5,
411
+ "scale": 1,
412
+ "includeLogo": false,
413
+ "isProduction": false
414
+ },
415
+ "version": "1.4.20",
416
+ "id": "3bGFbD3ug7smYnGbdTa5"
417
+ }