PageSourceSearch

https://senseitemple.com/build/assets/LightRaysBackground-CWMBp4Xq.js

js senseitemple.com collected 2026-09-24 14:55:48 UTC 22,749 bytes, 433 lines download raw bytes

1import{d as m,o as x,f as p,t as g,v as h,P as b,r as P}from"./vendor-core-CUMhuV44.js";import{_ as y}from"./_plugin-vue_export-helper-DlAUqK2U.js";const C={class:"lightrays-background fixed inset-0 z-0 pointer-events-none overflow-hidden"},M=m({__name:"LightRaysBackground",props:{opacity:{},color1:{},color2:{},layoutBg:{}},setup(T){const i=P(null);let e=null,a=null,n=null;const u={history:[{breakpoints:[],visible:!0,aspectRatio:1,userDownsample:1,layerType:"effect",type:"gradient",usesPingPong:!1,speed:.25,trackMouse:0,trackAxes:"xy",mouseMomentum:0,texture:!1,animating:!1,isMask:0,compiledFragmentShaders:[`#version 300 es
2precision highp float;in vec2 vTextureCoord;uniform float uTime;
3uniform vec2 uMousePos;uvec2 pcg2d(uvec2 v) {
4v = v * 1664525u + 1013904223u;
5v.x += v.y * v.y * 1664525u + 1013904223u;
6v.y += v.x * v.x * 1664525u + 1013904223u;
7v ^= v >> 16;
8v.x += v.y * v.y * 1664525u + 1013904223u;
9v.y += v.x * v.x * 1664525u + 1013904223u;
10return v;
11}float randFibo(vec2 p) {
12uvec2 v = floatBitsToUint(p);
13v = pcg2d(v);
14uint r = v.x ^ v.y;
15return float(r) / float(0xffffffffu);
16}vec3 getColor(int index) {
17switch(index) {
18case 0: return vec3(0.5450980392156862, 0.8862745098039215, 1);
19case 1: return vec3(0.8784313725490196, 0.9607843137254902, 1);
20case 2: return vec3(0, 0, 0);
21case 3: return vec3(0, 0, 0);
22case 4: return vec3(0, 0, 0);
23case 5: return vec3(0, 0, 0);
24case 6: return vec3(0, 0, 0);
25case 7: return vec3(0, 0, 0);
26case 8: return vec3(0, 0, 0);
27case 9: return vec3(0, 0, 0);
28case 10: return vec3(0, 0, 0);
29case 11: return vec3(0, 0, 0);
30case 12: return vec3(0, 0, 0);
31case 13: return vec3(0, 0, 0);
32case 14: return vec3(0, 0, 0);
33case 15: return vec3(0, 0, 0);
34default: return vec3(0.0);
35}
36}float getStop(int index) {
37switch(index) {
38case 0: return 0.0000;
39case 1: return 1.0000;
40case 2: return 0.0000;
41case 3: return 0.0000;
42case 4: return 0.0000;
43case 5: return 0.0000;
44case 6: return 0.0000;
45case 7: return 0.0000;
46case 8: return 0.0000;
47case 9: return 0.0000;
48case 10: return 0.0000;
49case 11: return 0.0000;
50case 12: return 0.0000;
51case 13: return 0.0000;
52case 14: return 0.0000;
53case 15: return 0.0000;
54default: return 0.0;
55}
56}const float PI = 3.14159265;vec2 rotate(vec2 coord, float angle) {
57float s = sin(angle);
58float c = cos(angle);
59return vec2(
60coord.x * c - coord.y * s,
61coord.x * s + coord.y * c
62);
63}vec3 linear_from_srgb(vec3 rgb) {
64return pow(max(rgb, vec3(0.0)), vec3(2.2));
65}vec3 srgb_from_linear(vec3 lin) {
66return pow(max(lin, vec3(0.0)), vec3(1.0/2.2));
67}vec3 safeCbrt(vec3 v) {
68return sign(v) * pow(abs(v), vec3(1.0/3.0));
69}vec3 oklab_mix(vec3 lin1, vec3 lin2, float a) {
70const mat3 kCONEtoLMS = mat3(
710.4121656120, 0.2118591070, 0.0883097947,
720.5362752080, 0.6807189584, 0.2818474174,
730.0514575653, 0.1074065790, 0.6302613616);
74const mat3 kLMStoCONE = mat3(
754.0767245293, -1.2681437731, -0.0041119885,
76-3.3072168827, 2.6093323231, -0.7034763098,
770.2307590544, -0.3411344290, 1.7068625689);
78vec3 lms1 = safeCbrt( kCONEtoLMS*lin1 );
79vec3 lms2 = safeCbrt( kCONEtoLMS*lin2 );
80vec3 lms = mix( lms1, lms2, a );
81lms *= 1.0 + 0.025 * a * (1.0-a);
82return kLMStoCONE * (lms * lms * lms);
83}vec3 getGradientColor(float position) {
84position = clamp(position, 0.0, 1.0);
85if (2 <= 1) return getColor(0);for (int i = 0; i < 15; i++) {
86if (i >= 2 - 1) break;
87float stopA = getStop(i);
88float stopB = getStop(i + 1);
89if (position <= stopB || i == 2 - 2) {
90float denom = max(stopB - stopA, 0.00001);
91float t = clamp((position - stopA) / denom, 0.0, 1.0);
92vec3 linA = linear_from_srgb(getColor(i));
93vec3 linB = linear_from_srgb(getColor(i + 1));
94vec3 mixed = oklab_mix(linA, linB, t);
95return srgb_from_linear(mixed);
96}
97}
98return getColor(min(2 - 1, 15));
99}out vec4 fragColor;vec3 applyColorToPosition(float position) {
100vec3 color = vec3(0);
101position -= (uTime * 0.01 + 0.0000);
102float cycle = floor(position);
103bool reverse = 1.0000 > 0.5 && int(cycle) % 2 == 0;
104float animatedPos = reverse ? 1.0 - fract(position) : fract(position);color = getGradientColor(animatedPos);
105float dither = (randFibo(gl_FragCoord.xy) - 0.5) / 255.0;
106color += dither;
107return color;
108}vec3 linearGrad(vec2 uv) {
109float position = (uv.x+0.5);
110return applyColorToPosition(position);
111}vec3 getGradient(vec2 uv) {
112return linearGrad(uv);
113}vec3 getColor(vec2 uv) {return getGradient(uv);return vec3(0.5450980392156862, 0.8862745098039215, 1);
114}void main() {vec2 uv = vTextureCoord;
115vec2 pos = vec2(0.5, 0.5) + mix(vec2(0), (uMousePos-0.5), 0.0000);
116uv -= pos;
117uv /= max(0.5000*2., 1e-5);
118uv = rotate(uv, (0.2500 - 0.5) * 2. * PI);
119vec4 color = vec4(getColor(uv), 1.0000);
120fragColor = color;
121}`],compiledVertexShaders:[`#version 300 es
122precision mediump float;in vec3 aVertexPosition;
123in vec2 aTextureCoord;uniform mat4 uMVMatrix;
124uniform mat4 uPMatrix;out vec2 vTextureCoord;
125out vec3 vVertexPosition;void main() {
126gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
127vTextureCoord = aTextureCoord;
128}`],data:{depth:!1,uniforms:{},isBackground:!0},id:"gradient"},{breakpoints:[],aspectRatio:1.6,userDownsample:1,states:{appear:[],scroll:[],hover:[],mousemove:[]},effects:["ad8e81b7-d919-4c18-98bf-ee2d7108820c","1de6a609-0df5-44d8-aaa5-33b5cfb7c48b","e255032e-b98e-4672-9093-58bccded779f"],anchorPoint:0,mask:0,maskDepthLayer:1,layerType:"shape",width:200,widthMode:1,height:200,heightMode:1,left:.3340416666666667,top:.2409,compiledFragmentShaders:[`#version 300 es
129precision highp float;in vec2 vTextureCoord;
130in vec3 vVertexPosition;vec3 getColor(int index) {
131switch(index) {
132case 0: return vec3(0, 0, 0);
133case 1: return vec3(0, 0, 0);
134case 2: return vec3(0, 0, 0);
135case 3: return vec3(0, 0, 0);
136case 4: return vec3(0, 0, 0);
137case 5: return vec3(0, 0, 0);
138case 6: return vec3(0, 0, 0);
139case 7: return vec3(0, 0, 0);
140case 8: return vec3(0, 0, 0);
141case 9: return vec3(0, 0, 0);
142case 10: return vec3(0, 0, 0);
143case 11: return vec3(0, 0, 0);
144case 12: return vec3(0, 0, 0);
145case 13: return vec3(0, 0, 0);
146case 14: return vec3(0, 0, 0);
147case 15: return vec3(0, 0, 0);
148default: return vec3(0.0);
149}
150}uniform vec2 uArtboardResolution;uniform vec2 uMousePos;const float TAU = 6.28318530718;
151const float PI = 3.14159265;out vec4 fragColor;vec2 rotate2D(vec2 p, float angle) {
152float s = sin(angle);
153float c = cos(angle);
154return vec2(p.x * c - p.y * s, p.x * s + p.y * c);
155}vec2 getAnchorOffsets() {
156return vec2(0.0, 0.0);
157}vec3 getFillColor(vec2 localPos, vec2 elementSize, float signedDist, float maxInset) {
158vec2 halfSize = elementSize * 0.5;
159vec2 p = localPos - halfSize;return getColor(0);
160}float sdBox(vec2 p, vec2 b) {
161vec2 d = abs(p) - b;
162return length(max(d, 0.0)) + min(max(d.x, d.y), 0.0);
163}float sdShape(vec2 canvasPosPx, vec2 elementPosPx, vec2 elementSizePx, float rotationTurns) {
164vec2 p = vec2(0.0);
165vec2 halfSize = vec2(0.0);halfSize = uArtboardResolution * 0.5;
166p = canvasPosPx - halfSize;
167return sdBox(p, halfSize);elementSizePx = abs(elementSizePx);vec2 centerPx = elementPosPx + elementSizePx * 0.5;
168vec2 rel = canvasPosPx - centerPx;
169vec2 local = rotate2D(rel, -rotationTurns * TAU) + elementSizePx * 0.5;
170p = local - elementSizePx * 0.5;
171halfSize = elementSizePx * 0.5;
172return sdBox(p, halfSize);
173}vec4 sampleShape(vec2 canvasUV) {
174vec2 canvasPosPx = vec2(canvasUV.x * uArtboardResolution.x, (1.0 - canvasUV.y) * uArtboardResolution.y);float absWidth = 200.0000;
175float absHeight = 200.0000;if (1 == 2) {
176absWidth = absHeight * 1.6000;
177} else if (1 == 2) {
178absHeight = absWidth / 1.6000;
179}vec2 elementSizePx = vec2(absWidth, absHeight);
180vec2 elementPosPx = vec2(0.3340, 0.2409) * uArtboardResolution - getAnchorOffsets() * elementSizePx;float dist = sdShape(canvasPosPx, elementPosPx, elementSizePx, 0.0000);
181float aa = max(length(vec2(dFdx(dist), dFdy(dist))), 0.75);float fillAlpha = 1.0 - smoothstep(mix(0.0, -150., 0.0000), mix(aa, 150., 0.0000), dist);
182vec2 localPos;
183localPos = canvasPosPx;
184vec2 localSize;
185localSize = uArtboardResolution;
186vec2 centerPx;
187centerPx = uArtboardResolution * 0.5;
188float centerDist = sdShape(centerPx, elementPosPx, elementSizePx, 0.0000);
189float maxInset = max(-centerDist, 0.00001);vec3 fillRgb = getFillColor(localPos, localSize, dist, maxInset);
190float finalFillAlpha = fillAlpha * 1.0000;
191vec4 fill = vec4(fillRgb * finalFillAlpha, finalFillAlpha);float strokeAlpha = 0.0;
192vec4 stroke = vec4(vec3(0, 0, 0) * strokeAlpha, strokeAlpha);
193vec4 col = stroke + fill * (1.0 - stroke.a);
194return col;
195}vec4 getSourceOutput(vec2 uv) {
196return sampleShape(uv);
197}void main() {
198vec2 uv = vTextureCoord;
199vec2 pos = (uMousePos - 0.5) * 0.0000;uv -= pos;fragColor = getSourceOutput(uv);
200}`],compiledVertexShaders:[`#version 300 es
201precision highp float;in vec3 aVertexPosition;
202in vec2 aTextureCoord;uniform mat4 uMVMatrix;
203uniform mat4 uPMatrix;
204uniform vec2 uMousePos;out vec2 vTextureCoord;
205out vec3 vVertexPosition;void main() {
206float angleX = uMousePos.y * 0.5 - 0.25;
207float angleY = (1.-uMousePos.x) * 0.5 - 0.25;mat4 rotateX = mat4(1.0, 0.0, 0.0, 0.0,
2080.0, cos(angleX), -sin(angleX), 0.0,
2090.0, sin(angleX), cos(angleX), 0.0,
2100.0, 0.0, 0.0, 1.0);
211mat4 rotateY = mat4(cos(angleY), 0.0, sin(angleY), 0.0,
2120.0, 1.0, 0.0, 0.0,
213-sin(angleY), 0.0, cos(angleY), 0.0,
2140.0, 0.0, 0.0, 1.0);mat4 rotationMatrix = rotateX * rotateY;
215gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
216vVertexPosition = (rotationMatrix * vec4(aVertexPosition, 1.0)).xyz;
217vTextureCoord = (vec4(aTextureCoord, 0.0, 1.0)).xy;
218}`],data:{uniforms:{artboardResolution:{name:"uArtboardResolution",type:"2f",value:{type:"Vec2",_x:1440,_y:900}},aspectRatio:{name:"uAspectRatio",type:"1f",value:1.6}},compositeShader:{fragmentShader:`#version 300 es
219precision highp float;
220in vec2 vTextureCoord;
221in vec3 vVertexPosition;uniform sampler2D uBgTexture;
222uniform sampler2D uTexture;vec3 blend (int blendMode, vec3 src, vec3 dst) {
223return 1. - (1. - src) * (1. - dst);
224}const float STEPS = 24.0;
225const float PI = 3.1415926;out vec4 fragColor;vec4 getNormalOutput(vec4 color, vec4 background) {
226vec3 unpremultColor = color.rgb / max(color.a, 0.0001);
227vec3 blendedColor = blend(4, unpremultColor, background.rgb);
228color = vec4(blendedColor, 1.0) * (color.a * 1.0000);
229color = color + background * (1.0 - color.a);
230return color;
231return mix(background, color + background * (1.0 - color.a), 1.0000);
232}vec4 getOutputByMode(vec4 color, vec4 background) {
233return getNormalOutput(color, background);
234}void main() {
235vec2 uv = vTextureCoord;
236vec2 pos = vec2(0);uv -= pos;vec4 background = vec4(0);background = texture(uBgTexture, vTextureCoord);
237vec4 color = texture(uTexture, uv);vec4 col = getOutputByMode(color, background);fragColor = col;
238}`,vertexShader:`#version 300 es
239precision highp float;in vec3 aVertexPosition;
240in vec2 aTextureCoord;uniform mat4 uMVMatrix;
241uniform mat4 uPMatrix;
242uniform mat4 uTextureMatrix;
243uniform vec2 uMousePos;out vec2 vTextureCoord;
244out vec3 vVertexPosition;void main() {
245float angleX = uMousePos.y * 0.5 - 0.25;
246float angleY = (1.-uMousePos.x) * 0.5 - 0.25;mat4 rotateX = mat4(1.0, 0.0, 0.0, 0.0,
2470.0, cos(angleX), -sin(angleX), 0.0,
2480.0, sin(angleX), cos(angleX), 0.0,
2490.0, 0.0, 0.0, 1.0);
250mat4 rotateY = mat4(cos(angleY), 0.0, sin(angleY), 0.0,
2510.0, 1.0, 0.0, 0.0,
252-sin(angleY), 0.0, cos(angleY), 0.0,
2530.0, 0.0, 0.0, 1.0);mat4 rotationMatrix = rotateX * rotateY;
254gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
255vVertexPosition = (rotationMatrix * vec4(aVertexPosition, 1.0)).xyz;
256vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
257}`},compositeUniforms:{resolution:{name:"uResolution",type:"2f",value:{type:"Vec2",_x:1080,_y:1080}},opacity:{name:"uOpacity",type:"1f",value:1},mousePos:{name:"uMousePos",type:"2f",value:{type:"Vec2",_x:.5,_y:.5}}}},id:"shape"},{breakpoints:[],visible:!0,aspectRatio:1,userDownsample:1,layerType:"effect",type:"noiseFill",usesPingPong:!1,speed:.18,trackMouse:0,trackAxes:"xy",mouseMomentum:0,texture:!1,parentLayer:"ad8e81b7-d919-4c18-98bf-ee2d7108820c",animating:!0,isMask:0,compiledFragmentShaders:[`#version 300 es
258precision highp float;
259in vec2 vTextureCoord;
260in vec3 vVertexPosition;uniform sampler2D uTexture;
261uniform float uTime;
262uniform vec2 uMousePos;
263uniform vec2 uResolution;vec4 permute(vec4 t) {
264return t * (t * 34.0 + 133.0);
265}vec3 grad(float hash) {
266vec3 cube = mod(floor(hash / vec3(1.0, 2.0, 4.0)), 2.0) * 2.0 - 1.0;
267vec3 cuboct = cube;float index0 = step(0.0, 1.0 - floor(hash / 16.0));
268float index1 = step(0.0, floor(hash / 16.0) - 1.0);cuboct.x *= 1.0 - index0;
269cuboct.y *= 1.0 - index1;
270cuboct.z *= 1.0 - (1.0 - index0 - index1);float type = mod(floor(hash / 8.0), 2.0);
271vec3 rhomb = (1.0 - type) * cube + type * (cuboct + cross(cube, cuboct));vec3 grad = cuboct * 1.22474487139 + rhomb;grad *= (1.0 - 0.042942436724648037 * type) * 3.5946317686139184;return grad;
272}
273vec4 bccNoiseDerivativesPart(vec3 X) {
274vec3 b = floor(X);
275vec4 i4 = vec4(X - b, 2.5);
276vec3 v1 = b + floor(dot(i4, vec4(.25)));
277vec3 v2 = b + vec3(1, 0, 0) + vec3(-1, 1, 1) * floor(dot(i4, vec4(-.25, .25, .25, .35)));
278vec3 v3 = b + vec3(0, 1, 0) + vec3(1, -1, 1) * floor(dot(i4, vec4(.25, -.25, .25, .35)));
279vec3 v4 = b + vec3(0, 0, 1) + vec3(1, 1, -1) * floor(dot(i4, vec4(.25, .25, -.25, .35)));
280vec4 hashes = permute(mod(vec4(v1.x, v2.x, v3.x, v4.x), 289.0));
281hashes = permute(mod(hashes + vec4(v1.y, v2.y, v3.y, v4.y), 289.0));
282hashes = mod(permute(mod(hashes + vec4(v1.z, v2.z, v3.z, v4.z), 289.0)), 48.0);
283vec3 d1 = X - v1; vec3 d2 = X - v2; vec3 d3 = X - v3; vec3 d4 = X - v4;
284vec4 a = max(0.75 - vec4(dot(d1, d1), dot(d2, d2), dot(d3, d3), dot(d4, d4)), 0.0);
285vec4 aa = a * a; vec4 aaaa = aa * aa;
286vec3 g1 = grad(hashes.x); vec3 g2 = grad(hashes.y);
287vec3 g3 = grad(hashes.z); vec3 g4 = grad(hashes.w);
288vec4 extrapolations = vec4(dot(d1, g1), dot(d2, g2), dot(d3, g3), dot(d4, g4));
289vec3 derivative = -8.0 * mat4x3(d1, d2, d3, d4) * (aa * a * extrapolations)
290+ mat4x3(g1, g2, g3, g4) * aaaa;
291return vec4(derivative, dot(aaaa, extrapolations));
292}
293vec4 bccNoiseDerivatives_XYBeforeZ(vec3 X) {
294mat3 orthonormalMap = mat3(
2950.788675134594813, -0.211324865405187, -0.577350269189626,
296-0.211324865405187, 0.788675134594813, -0.577350269189626,
2970.577350269189626, 0.577350269189626, 0.577350269189626);
298X = orthonormalMap * X;
299vec4 result = bccNoiseDerivativesPart(X) + bccNoiseDerivativesPart(X + 144.5);
300return vec4(result.xyz * orthonormalMap, result.w);
301}
302uvec2 pcg2d(uvec2 v) {
303v = v * 1664525u + 1013904223u;
304v.x += v.y * v.y * 1664525u + 1013904223u;
305v.y += v.x * v.x * 1664525u + 1013904223u;
306v ^= v >> 16;
307v.x += v.y * v.y * 1664525u + 1013904223u;
308v.y += v.x * v.x * 1664525u + 1013904223u;
309return v;
310}float randFibo(vec2 p) {
311uvec2 v = floatBitsToUint(p);
312v = pcg2d(v);
313uint r = v.x ^ v.y;
314return float(r) / float(0xffffffffu);
315}out vec4 fragColor;const float PI = 3.14159265359;
316const float TAU = 6.28318530718;vec3 anchoredPal(float t, vec3 col1, vec3 col2) {
317vec3 mid = 0.5 * (col1 + col2);
318vec3 axisAmp = 0.5 * (col2 - col1);vec3 base = mid + axisAmp * cos(TAU * t);vec3 axis = length(axisAmp) > 0.0001 ? normalize(axisAmp) : vec3(1.0, 0.0, 0.0);
319vec3 ref = abs(axis.x) > 0.9 ? vec3(0.0, 1.0, 0.0) : vec3(1.0, 0.0, 0.0);
320vec3 tangent1 = normalize(cross(axis, ref));
321vec3 tangent2 = normalize(cross(axis, tangent1));float richness = 0.24 * length(axisAmp) + 0.02;
322vec3 ripple =
323tangent1 * sin(TAU * (t * 2.0 + 0.123)) +
324tangent2 * sin(TAU * (t * 3.0 + 0.437));vec3 col = base + (richness * 0.0000) * ripple;
325col = clamp(col, -10.0, 10.0);
326col = 1./(1. + exp(-col * 4. + 0.25) * 7.5);
327return clamp(col, 0.0, 1.0);
328}mat2 rot(float a) {
329return mat2(cos(a),-sin(a),sin(a),cos(a));
330}float get2sNoise(vec2 uv) {
331float turb = 0.6100 * 2.;
332vec2 drift = vec2(0, -0.4600 * uTime * 0.008) * mix(1., 14., 1.9400);
333vec4 noise = bccNoiseDerivatives_XYBeforeZ(vec3(uv * vec2(0.9600, 1. - 0.9600) * 0.7 - drift, 0.0000 + uTime*0.02));
334return mix(0.5, noise.w * 0.5 + 0.5, turb);
335}float getNoise(vec2 uv) {
336return get2sNoise(uv);
337}void main() {
338vec2 uv = vTextureCoord;
339float aspectRatio = uResolution.x/uResolution.y;
340vec2 aspect = vec2(aspectRatio, 1.0);vec2 mPos = vec2(0.5, 0.5) + mix(vec2(0), (uMousePos-0.5), 0.0000);vec2 pos = mix(vec2(0.5, 0.5), mPos, 0.0000);
341float scale = mix(1., 14., 1.9400);
342vec2 drift = vec2(0, -0.4600 * uTime * 0.0125);
343mat2 rotation = rot(-0.2500 * 2. * PI);vec2 st = (uv - pos) * aspect * scale * rotation;
344float noise = getNoise(st);noise = getNoise(st);noise = smoothstep(noise - 0.5, noise + 0.5, 0.5000);vec4 color = texture(uTexture, uv);
345vec4 bg = color;
346float shift = 0.3500 + (0.0000 * uTime * 0.01);
347vec3 noiseColor = anchoredPal(noise + shift, vec3(1, 1, 1), vec3(0, 0, 0));
348color.rgb = noiseColor.rgb;
348float dither = (randFibo(gl_FragCoord.xy) - 0.5) / 255.0;
349color.rgb += dither * 0.5;color.rgb = mix(bg.rgb, color.rgb, 1.0000);
350color.a = max(bg.a, 1.0000);
351color = clamp(color, 0.0, 1.0);
352fragColor = color;}`],compiledVertexShaders:[`#version 300 es
353precision mediump float;in vec3 aVertexPosition;
354in vec2 aTextureCoord;uniform mat4 uMVMatrix;
355uniform mat4 uPMatrix;
356uniform mat4 uTextureMatrix;out vec2 vTextureCoord;
357out vec3 vVertexPosition;void main() {
358gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
359vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
360}`],data:{depth:!1,uniforms:{},isBackground:!1},id:"noise_fill"},{breakpoints:[],visible:!0,aspectRatio:1,userDownsample:1,layerType:"effect",type:"polar",usesPingPong:!1,speed:.25,trackMouse:0,trackAxes:"xy",mouseMomentum:0,texture:!1,parentLayer:"1de6a609-0df5-44d8-aaa5-33b5cfb7c48b",animating:!1,isMask:0,compiledFragmentShaders:[`#version 300 es
361precision mediump float;in vec3 vVertexPosition;
362in vec2 vTextureCoord;uniform sampler2D uTexture;
363uniform float uTime;uniform vec2 uMousePos;
364uniform vec2 uResolution;out vec4 fragColor;const float PI = 3.1415926;vec2 polar(vec2 uv, vec2 pos) {
365uv -= pos;
366float angle = atan(uv.y, uv.x);
367float radius = length(uv);float xCoord = mod((angle + 0.0000 * 2.0 * PI) + (uTime * 0.05) + PI, 2.0 * PI) / (2.0 * PI);
368float yCoordRaw = radius * 0.2900;
369float gamma = pow(2.0, (0.9500 - 0.5) * 4.0);
370float yCoord = pow(fract(yCoordRaw), gamma);return fract(vec2(yCoord, xCoord));
371}void main() {
372vec2 uv = vTextureCoord;
373vec2 aspectRatio = vec2(uResolution.x/uResolution.y, 1);
374vec2 pos = vec2(0.5121951219512195, 1.1620209059233448) + mix(vec2(0), (uMousePos-0.5), 0.0000);
375vec2 polarCoord = polar(uv * aspectRatio, pos * aspectRatio);
376vec4 color1 = texture(uTexture, polarCoord);
377vec2 oppositePolar = vec2(polarCoord.x, polarCoord.y > 0.5 ? polarCoord.y - 0.5 : polarCoord.y + 0.5);
378vec4 color2 = texture(uTexture, oppositePolar);
379float seamBlend = 0.0;
380float blendWidth = 1.0000 * 0.1;
381if (polarCoord.y < blendWidth || polarCoord.y > 1.0 - blendWidth) {
382if (polarCoord.y < blendWidth) {
383seamBlend = 1.0 - (polarCoord.y / blendWidth);
384} else {
385seamBlend = (polarCoord.y - (1.0 - blendWidth)) / blendWidth;
386}
387seamBlend = smoothstep(0.0, 1.0, seamBlend);
388}
389fragColor = mix(color1, color2, seamBlend);
390}`],compiledVertexShaders:[`#version 300 es
391precision mediump float;in vec3 aVertexPosition;
392in vec2 aTextureCoord;uniform mat4 uMVMatrix;
393uniform mat4 uPMatrix;
394uniform mat4 uTextureMatrix;out vec2 vTextureCoord;
395out vec3 vVertexPosition;void main() {
396gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
397vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
398}`],data:{depth:!1,uniforms:{},isBackground:!1},id:"polar"},{breakpoints:[],visible:!0,aspectRatio:1,userDownsample:1,layerType:"effect",type:"vignette",usesPingPong:!1,trackMouse:0,trackAxes:"xy",mouseMomentum:0,texture:!1,parentLayer:"e255032e-b98e-4672-9093-58bccded779f",animating:!1,isMask:0,compiledFragmentShaders:[`#version 300 es
399precision highp float;
400in vec3 vVertexPosition;
401in vec2 vTextureCoord;
402uniform sampler2D uTexture;
403uniform vec2 uResolution;out vec4 fragColor;
404mat2 rot(float a) {
405return mat2(cos(a),-sin(a),sin(a),cos(a));
406}
407void main() {
408vec2 uv = vTextureCoord;
409vec4 bg = texture(uTexture, uv);
410float luma = dot(bg.rgb, vec3(0.299, 0.587, 0.114));
411float displacement = (luma - 0.5) * 0.0000 * 0.5;
412vec2 aspectRatio = vec2(uResolution.x/uResolution.y, 1.0);
413vec2 skew = vec2(0.5000, 1.0 - 0.5000);
414float halfRadius = 0.5300 * 0.5;
415float innerEdge = halfRadius - 1.0000 * halfRadius * 0.5;
416float outerEdge = halfRadius + 1.0000 * halfRadius * 0.5;
417vec2 pos = vec2(0.514808362369338, 0.8247386759581882);
418const float TWO_PI = 6.28318530718;
419vec2 scaledUV = uv * aspectRatio * rot(0.0000 * TWO_PI) * skew;
420vec2 scaledPos = pos * aspectRatio * rot(0.0000 * TWO_PI) * skew;
421float radius = distance(scaledUV, scaledPos);
422float falloff = smoothstep(innerEdge + displacement, outerEdge + displacement, radius);
423vec3 finalColor;finalColor = mix(bg.rgb, mix(bg.rgb, vec3(0, 0, 0), 1.0000), falloff);float alpha = max(bg.a, falloff * 1.0000);
424vec4 color = mix(bg * (1.-falloff), vec4(finalColor * alpha, alpha), 1.0000);
425fragColor = color;}`],compiledVertexShaders:[`#version 300 es
426precision mediump float;in vec3 aVertexPosition;
427in vec2 aTextureCoord;uniform mat4 uMVMatrix;
428uniform mat4 uPMatrix;
429uniform mat4 uTextureMatrix;out vec2 vTextureCoord;
430out vec3 vVertexPosition;void main() {
431gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0);
432vTextureCoord = (uTextureMatrix * vec4(aTextureCoord, 0.0, 1.0)).xy;
433}`],data:{depth:!1,uniforms:{},isBackground:!1},id:"vignette"}],options:{name:"Light rays (Remix)",fps:60,dpi:1.5,scale:1,includeLogo:!1,isProduction:!1},version:"2.0.4",id:"z86LD0gRJAFFaN2nCKGs"};async function v(){return window.UnicornStudio?window.UnicornStudio:new Promise((t,o)=>{const r=document.createElement("script");r.src="/js/unicornStudio.umd.js",r.async=!0,r.onload=()=>{const l=window.UnicornStudio;l?t(l):o(new Error("UnicornStudio not found after script load"))},r.onerror=()=>{o(new Error("Failed to load UnicornStudio library"))},document.head.appendChild(r)})}function d(t){const o=new Blob([JSON.stringify(t)],{type:"application/json"});return URL.createObjectURL(o)}async function f(){const t=i.value;if(t)try{if(a=await v(),!a)return;n&&URL.revokeObjectURL(n),n=d(u);const o={element:t,filePath:n,fps:60,scale:1,dpi:Math.min(window.devicePixelRatio||1,2),lazyLoad:!1,interactivity:!0};e=await a.addScene(o)}catch(o){console.error("Failed to initialize Light Rays scene:",o)}}function c(){e&&(e.paused=document.hidden)}function s(){e!=null&&e.resize&&e.resize()}return x(()=>{f(),document.addEventListener("visibilitychange",c),window.addEventListener("resize",s)}),p(()=>{document.removeEventListener("visibilitychange",c),window.removeEventListener("resize",s),e!=null&&e.destroy&&e.destroy(),e=null,n&&(URL.revokeObjectURL(n),n=null)}),(t,o)=>(g(),h("div",C,[b("div",{ref_key:"containerRef",ref:i,class:"unicorn-container w-full h-full"},null,512)]))}}),R=y(M,[["__scopeId","data-v-5cc9671c"]]);export{R as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.