{"version":3,"file":"FluidAnimation.4cWX265H.mjs","names":["e","t","r","i","o","l","a","n","u","c","p","ue","pe","f","useRef","i","_Fragment"],"sources":["https:/ga.jspm.io/npm:webgl-fluid-enhanced@0.5.2/dist/webgl-fluid-enhanced.mjs","https:/framerusercontent.com/modules/fFyF93f3IOBnyk9MWSwj/ENPFDPQgX93MiZOjFiOs/FluidAnimation.js"],"sourcesContent":["const e={SIM_RESOLUTION:128,DYE_RESOLUTION:1024,CAPTURE_RESOLUTION:512,DENSITY_DISSIPATION:1,VELOCITY_DISSIPATION:.2,PRESSURE:.8,PRESSURE_ITERATIONS:20,CURL:30,INITIAL:!0,SPLAT_AMOUNT:5,SPLAT_RADIUS:.25,SPLAT_FORCE:6e3,SPLAT_KEY:\"Space\",SHADING:!0,COLORFUL:!0,COLOR_UPDATE_SPEED:10,COLOR_PALETTE:[],HOVER:!0,BACK_COLOR:\"#000000\",TRANSPARENT:!1,BRIGHTNESS:.5,BLOOM:!0,BLOOM_ITERATIONS:8,BLOOM_RESOLUTION:256,BLOOM_INTENSITY:.8,BLOOM_THRESHOLD:.6,BLOOM_SOFT_KNEE:.7,SUNRAYS:!0,SUNRAYS_RESOLUTION:196,SUNRAYS_WEIGHT:1};let t=[],n=[],r=!1,i=!1,o=!1;const a={splats(){t.push(parseInt(Math.random()*e.SPLAT_AMOUNT*4+e.SPLAT_AMOUNT))},splat(e,t,r,i,o){n.push([e,t,r,i,o])},screenshot(){o=!0},pause(e=!1){r=!r,i=!!e},config(t){Object.assign(e,t)},simulation(a,u={}){Object.assign(e,u),Te();function y(){this.id=-1,this.texcoordX=0,this.texcoordY=0,this.prevTexcoordX=0,this.prevTexcoordY=0,this.deltaX=0,this.deltaY=0,this.down=!1,this.moved=!1,this.color=[30,0,300]}let l=[],c=[];l.push(new y);const{gl:f,ext:v}=De(a);v.supportLinearFiltering||(e.DYE_RESOLUTION=512,e.SHADING=!1,e.BLOOM=!1,e.SUNRAYS=!1);function De(e){const t={alpha:!0,depth:!1,stencil:!1,antialias:!1,preserveDrawingBuffer:!1};let n=e.getContext(\"webgl2\",t);const r=!!n;r||(n=e.getContext(\"webgl\",t)||e.getContext(\"experimental-webgl\",t));let i,o;r?(n.getExtension(\"EXT_color_buffer_float\"),o=n.getExtension(\"OES_texture_float_linear\")):(i=n.getExtension(\"OES_texture_half_float\"),o=n.getExtension(\"OES_texture_half_float_linear\")),n.clearColor(0,0,0,1);const a=r?n.HALF_FLOAT:i.HALF_FLOAT_OES;let u,l,c;return r?(u=U(n,n.RGBA16F,n.RGBA,a),l=U(n,n.RG16F,n.RG,a),c=U(n,n.R16F,n.RED,a)):(u=U(n,n.RGBA,n.RGBA,a),l=U(n,n.RGBA,n.RGBA,a),c=U(n,n.RGBA,n.RGBA,a)),{gl:n,ext:{formatRGBA:u,formatRG:l,formatR:c,halfFloatTexType:a,supportLinearFiltering:o}}}function U(e,t,n,r){if(!Ue(e,t,n,r))switch(t){case e.R16F:return U(e,e.RG16F,e.RG,r);case e.RG16F:return U(e,e.RGBA16F,e.RGBA,r);default:return null}return{internalFormat:t,format:n}}function Ue(e,t,n,r){let i=e.createTexture();e.bindTexture(e.TEXTURE_2D,i),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texImage2D(e.TEXTURE_2D,0,t,4,4,0,n,r,null);let o=e.createFramebuffer();return e.bindFramebuffer(e.FRAMEBUFFER,o),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,i,0),e.checkFramebufferStatus(e.FRAMEBUFFER)==e.FRAMEBUFFER_COMPLETE}function be(){let t=w(e.CAPTURE_RESOLUTION),n=A(t.width,t.height,v.formatRGBA.internalFormat,v.formatRGBA.format,v.halfFloatTexType,f.NEAREST);Ee(n);let r=Le(n);r=Fe(r,n.width,n.height);let i=Ne(r,n.width,n.height).toDataURL();Oe(\"fluid.png\",i),URL.revokeObjectURL(i)}function Le(e){f.bindFramebuffer(f.FRAMEBUFFER,e.fbo);let t=e.width*e.height*4,n=new Float32Array(t);return f.readPixels(0,0,e.width,e.height,f.RGBA,f.FLOAT,n),n}function Fe(e,t,n){let r=new Uint8Array(e.length),i=0;for(let o=n-1;o>=0;o--)for(let n=0;n<t;n++){let a=o*t*4+4*n;r[a+0]=255*M(e[i+0]),r[a+1]=255*M(e[i+1]),r[a+2]=255*M(e[i+2]),r[a+3]=255*M(e[i+3]),i+=4}return r}function M(e){return Math.min(Math.max(e,0),1)}function Ne(e,t,n){let r=document.createElement(\"canvas\"),i=r.getContext(\"2d\");r.width=t,r.height=n;let o=i.createImageData(t,n);return o.data.set(e),i.putImageData(o,0,0),r}function Oe(e,t){let n=document.createElement(\"a\");n.download=e,n.href=t,document.body.appendChild(n),n.click(),document.body.removeChild(n)}class ye{constructor(e,t){this.vertexShader=e,this.fragmentShaderSource=t,this.programs=[],this.activeProgram=null,this.uniforms=[]}setKeywords(e){let t=0;for(let n=0;n<e.length;n++)t+=At(e[n]);let n=this.programs[t];if(null==n){let r=h(f.FRAGMENT_SHADER,this.fragmentShaderSource,e);n=oe(this.vertexShader,r),this.programs[t]=n}n!=this.activeProgram&&(this.uniforms=ae(n),this.activeProgram=n)}bind(){f.useProgram(this.activeProgram)}}class T{constructor(e,t){this.uniforms={},this.program=oe(e,t),this.uniforms=ae(this.program)}bind(){f.useProgram(this.program)}}function oe(e,t){let n=f.createProgram();return f.attachShader(n,e),f.attachShader(n,t),f.linkProgram(n),f.getProgramParameter(n,f.LINK_STATUS)||console.trace(f.getProgramInfoLog(n)),n}function ae(e){let t=[],n=f.getProgramParameter(e,f.ACTIVE_UNIFORMS);for(let r=0;r<n;r++){let n=f.getActiveUniform(e,r).name;t[n]=f.getUniformLocation(e,n)}return t}function h(e,t,n){t=Be(t,n);const r=f.createShader(e);return f.shaderSource(r,t),f.compileShader(r),f.getShaderParameter(r,f.COMPILE_STATUS)||console.trace(f.getShaderInfoLog(r)),r}function Be(e,t){if(null==t)return e;let n=\"\";return t.forEach((e=>{n+=\"#define \"+e+\"\\n\"})),n+e}const m=h(f.VERTEX_SHADER,\"\\n    precision highp float;\\n\\n    attribute vec2 aPosition;\\n    varying vec2 vUv;\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    varying vec2 vT;\\n    varying vec2 vB;\\n    uniform vec2 texelSize;\\n\\n    void main () {\\n        vUv = aPosition * 0.5 + 0.5;\\n        vL = vUv - vec2(texelSize.x, 0.0);\\n        vR = vUv + vec2(texelSize.x, 0.0);\\n        vT = vUv + vec2(0.0, texelSize.y);\\n        vB = vUv - vec2(0.0, texelSize.y);\\n        gl_Position = vec4(aPosition, 0.0, 1.0);\\n    }\\n\"),s=h(f.VERTEX_SHADER,\"\\n    precision highp float;\\n\\n    attribute vec2 aPosition;\\n    varying vec2 vUv;\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    uniform vec2 texelSize;\\n\\n    void main () {\\n        vUv = aPosition * 0.5 + 0.5;\\n        float offset = 1.33333333;\\n        vL = vUv - texelSize * offset;\\n        vR = vUv + texelSize * offset;\\n        gl_Position = vec4(aPosition, 0.0, 1.0);\\n    }\\n\"),E=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying vec2 vUv;\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    uniform sampler2D uTexture;\\n\\n    void main () {\\n        vec4 sum = texture2D(uTexture, vUv) * 0.29411764;\\n        sum += texture2D(uTexture, vL) * 0.35294117;\\n        sum += texture2D(uTexture, vR) * 0.35294117;\\n        gl_FragColor = sum;\\n    }\\n\"),g=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    uniform sampler2D uTexture;\\n\\n    void main () {\\n        gl_FragColor = texture2D(uTexture, vUv);\\n    }\\n\"),d=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    uniform sampler2D uTexture;\\n    uniform float value;\\n\\n    void main () {\\n        gl_FragColor = value * texture2D(uTexture, vUv);\\n    }\\n\"),x=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n\\n    uniform vec4 color;\\n\\n    void main () {\\n        gl_FragColor = color;\\n    }\\n\"),R=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uTexture;\\n    uniform float aspectRatio;\\n\\n    #define SCALE 25.0\\n\\n    void main () {\\n        vec2 uv = floor(vUv * SCALE * vec2(aspectRatio, 1.0));\\n        float v = mod(uv.x + uv.y, 2.0);\\n        v = v * 0.1 + 0.8;\\n        gl_FragColor = vec4(vec3(v), 1.0);\\n    }\\n\"),p=\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    varying vec2 vT;\\n    varying vec2 vB;\\n    uniform sampler2D uTexture;\\n    uniform sampler2D uBloom;\\n    uniform sampler2D uSunrays;\\n    uniform sampler2D uDithering;\\n    uniform vec2 ditherScale;\\n    uniform vec2 texelSize;\\n\\n    vec3 linearToGamma (vec3 color) {\\n        color = max(color, vec3(0));\\n        return max(1.055 * pow(color, vec3(0.416666667)) - 0.055, vec3(0));\\n    }\\n\\n    void main () {\\n        vec3 c = texture2D(uTexture, vUv).rgb;\\n\\n    #ifdef SHADING\\n        vec3 lc = texture2D(uTexture, vL).rgb;\\n        vec3 rc = texture2D(uTexture, vR).rgb;\\n        vec3 tc = texture2D(uTexture, vT).rgb;\\n        vec3 bc = texture2D(uTexture, vB).rgb;\\n\\n        float dx = length(rc) - length(lc);\\n        float dy = length(tc) - length(bc);\\n\\n        vec3 n = normalize(vec3(dx, dy, length(texelSize)));\\n        vec3 l = vec3(0.0, 0.0, 1.0);\\n\\n        float diffuse = clamp(dot(n, l) + 0.7, 0.7, 1.0);\\n        c *= diffuse;\\n    #endif\\n\\n    #ifdef BLOOM\\n        vec3 bloom = texture2D(uBloom, vUv).rgb;\\n    #endif\\n\\n    #ifdef SUNRAYS\\n        float sunrays = texture2D(uSunrays, vUv).r;\\n        c *= sunrays;\\n    #ifdef BLOOM\\n        bloom *= sunrays;\\n    #endif\\n    #endif\\n\\n    #ifdef BLOOM\\n        float noise = texture2D(uDithering, vUv * ditherScale).r;\\n        noise = noise * 2.0 - 1.0;\\n        bloom += noise / 255.0;\\n        bloom = linearToGamma(bloom);\\n        c += bloom;\\n    #endif\\n\\n        float a = max(c.r, max(c.g, c.b));\\n        gl_FragColor = vec4(c, a);\\n    }\\n\",D=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uTexture;\\n    uniform vec3 curve;\\n    uniform float threshold;\\n\\n    void main () {\\n        vec3 c = texture2D(uTexture, vUv).rgb;\\n        float br = max(c.r, max(c.g, c.b));\\n        float rq = clamp(br - curve.x, 0.0, curve.y);\\n        rq = curve.z * rq * rq;\\n        c *= max(rq, br - threshold) / max(br, 0.0001);\\n        gl_FragColor = vec4(c, 0.0);\\n    }\\n\"),L=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    varying vec2 vT;\\n    varying vec2 vB;\\n    uniform sampler2D uTexture;\\n\\n    void main () {\\n        vec4 sum = vec4(0.0);\\n        sum += texture2D(uTexture, vL);\\n        sum += texture2D(uTexture, vR);\\n        sum += texture2D(uTexture, vT);\\n        sum += texture2D(uTexture, vB);\\n        sum *= 0.25;\\n        gl_FragColor = sum;\\n    }\\n\"),F=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    varying vec2 vT;\\n    varying vec2 vB;\\n    uniform sampler2D uTexture;\\n    uniform float intensity;\\n\\n    void main () {\\n        vec4 sum = vec4(0.0);\\n        sum += texture2D(uTexture, vL);\\n        sum += texture2D(uTexture, vR);\\n        sum += texture2D(uTexture, vT);\\n        sum += texture2D(uTexture, vB);\\n        sum *= 0.25;\\n        gl_FragColor = sum * intensity;\\n    }\\n\"),N=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uTexture;\\n\\n    void main () {\\n        vec4 c = texture2D(uTexture, vUv);\\n        float br = max(c.r, max(c.g, c.b));\\n        c.a = 1.0 - min(max(br * 20.0, 0.0), 0.8);\\n        gl_FragColor = c;\\n    }\\n\"),b=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uTexture;\\n    uniform float weight;\\n\\n    #define ITERATIONS 16\\n\\n    void main () {\\n        float Density = 0.3;\\n        float Decay = 0.95;\\n        float Exposure = 0.7;\\n\\n        vec2 coord = vUv;\\n        vec2 dir = vUv - 0.5;\\n\\n        dir *= 1.0 / float(ITERATIONS) * Density;\\n        float illuminationDecay = 1.0;\\n\\n        float color = texture2D(uTexture, vUv).a;\\n\\n        for (int i = 0; i < ITERATIONS; i++)\\n        {\\n            coord -= dir;\\n            float col = texture2D(uTexture, coord).a;\\n            color += col * illuminationDecay * weight;\\n            illuminationDecay *= Decay;\\n        }\\n\\n        gl_FragColor = vec4(color * Exposure, 0.0, 0.0, 1.0);\\n    }\\n\"),O=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uTarget;\\n    uniform float aspectRatio;\\n    uniform vec3 color;\\n    uniform vec2 point;\\n    uniform float radius;\\n\\n    void main () {\\n        vec2 p = vUv - point.xy;\\n        p.x *= aspectRatio;\\n        vec3 splat = exp(-dot(p, p) / radius) * color;\\n        vec3 base = texture2D(uTarget, vUv).xyz;\\n        gl_FragColor = vec4(base + splat, 1.0);\\n    }\\n\"),I=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    uniform sampler2D uVelocity;\\n    uniform sampler2D uSource;\\n    uniform vec2 texelSize;\\n    uniform vec2 dyeTexelSize;\\n    uniform float dt;\\n    uniform float dissipation;\\n\\n    vec4 bilerp (sampler2D sam, vec2 uv, vec2 tsize) {\\n        vec2 st = uv / tsize - 0.5;\\n\\n        vec2 iuv = floor(st);\\n        vec2 fuv = fract(st);\\n\\n        vec4 a = texture2D(sam, (iuv + vec2(0.5, 0.5)) * tsize);\\n        vec4 b = texture2D(sam, (iuv + vec2(1.5, 0.5)) * tsize);\\n        vec4 c = texture2D(sam, (iuv + vec2(0.5, 1.5)) * tsize);\\n        vec4 d = texture2D(sam, (iuv + vec2(1.5, 1.5)) * tsize);\\n\\n        return mix(mix(a, b, fuv.x), mix(c, d, fuv.x), fuv.y);\\n    }\\n\\n    void main () {\\n    #ifdef MANUAL_FILTERING\\n        vec2 coord = vUv - dt * bilerp(uVelocity, vUv, texelSize).xy * texelSize;\\n        vec4 result = bilerp(uSource, coord, dyeTexelSize);\\n    #else\\n        vec2 coord = vUv - dt * texture2D(uVelocity, vUv).xy * texelSize;\\n        vec4 result = texture2D(uSource, coord);\\n    #endif\\n        float decay = 1.0 + dissipation * dt;\\n        gl_FragColor = result / decay;\\n    }\",v.supportLinearFiltering?null:[\"MANUAL_FILTERING\"]),B=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    varying highp vec2 vL;\\n    varying highp vec2 vR;\\n    varying highp vec2 vT;\\n    varying highp vec2 vB;\\n    uniform sampler2D uVelocity;\\n\\n    void main () {\\n        float L = texture2D(uVelocity, vL).x;\\n        float R = texture2D(uVelocity, vR).x;\\n        float T = texture2D(uVelocity, vT).y;\\n        float B = texture2D(uVelocity, vB).y;\\n\\n        vec2 C = texture2D(uVelocity, vUv).xy;\\n        if (vL.x < 0.0) { L = -C.x; }\\n        if (vR.x > 1.0) { R = -C.x; }\\n        if (vT.y > 1.0) { T = -C.y; }\\n        if (vB.y < 0.0) { B = -C.y; }\\n\\n        float div = 0.5 * (R - L + T - B);\\n        gl_FragColor = vec4(div, 0.0, 0.0, 1.0);\\n    }\\n\"),C=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    varying highp vec2 vL;\\n    varying highp vec2 vR;\\n    varying highp vec2 vT;\\n    varying highp vec2 vB;\\n    uniform sampler2D uVelocity;\\n\\n    void main () {\\n        float L = texture2D(uVelocity, vL).y;\\n        float R = texture2D(uVelocity, vR).y;\\n        float T = texture2D(uVelocity, vT).x;\\n        float B = texture2D(uVelocity, vB).x;\\n        float vorticity = R - L - T + B;\\n        gl_FragColor = vec4(0.5 * vorticity, 0.0, 0.0, 1.0);\\n    }\\n\"),Y=h(f.FRAGMENT_SHADER,\"\\n    precision highp float;\\n    precision highp sampler2D;\\n\\n    varying vec2 vUv;\\n    varying vec2 vL;\\n    varying vec2 vR;\\n    varying vec2 vT;\\n    varying vec2 vB;\\n    uniform sampler2D uVelocity;\\n    uniform sampler2D uCurl;\\n    uniform float curl;\\n    uniform float dt;\\n\\n    void main () {\\n        float L = texture2D(uCurl, vL).x;\\n        float R = texture2D(uCurl, vR).x;\\n        float T = texture2D(uCurl, vT).x;\\n        float B = texture2D(uCurl, vB).x;\\n        float C = texture2D(uCurl, vUv).x;\\n\\n        vec2 force = 0.5 * vec2(abs(T) - abs(B), abs(R) - abs(L));\\n        force /= length(force) + 0.0001;\\n        force *= curl * C;\\n        force.y *= -1.0;\\n\\n        vec2 velocity = texture2D(uVelocity, vUv).xy;\\n        velocity += force * dt;\\n        velocity = min(max(velocity, -1000.0), 1000.0);\\n        gl_FragColor = vec4(velocity, 0.0, 1.0);\\n    }\\n\"),X=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    varying highp vec2 vL;\\n    varying highp vec2 vR;\\n    varying highp vec2 vT;\\n    varying highp vec2 vB;\\n    uniform sampler2D uPressure;\\n    uniform sampler2D uDivergence;\\n\\n    void main () {\\n        float L = texture2D(uPressure, vL).x;\\n        float R = texture2D(uPressure, vR).x;\\n        float T = texture2D(uPressure, vT).x;\\n        float B = texture2D(uPressure, vB).x;\\n        float C = texture2D(uPressure, vUv).x;\\n        float divergence = texture2D(uDivergence, vUv).x;\\n        float pressure = (L + R + B + T - divergence) * 0.25;\\n        gl_FragColor = vec4(pressure, 0.0, 0.0, 1.0);\\n    }\\n\"),z=h(f.FRAGMENT_SHADER,\"\\n    precision mediump float;\\n    precision mediump sampler2D;\\n\\n    varying highp vec2 vUv;\\n    varying highp vec2 vL;\\n    varying highp vec2 vR;\\n    varying highp vec2 vT;\\n    varying highp vec2 vB;\\n    uniform sampler2D uPressure;\\n    uniform sampler2D uVelocity;\\n\\n    void main () {\\n        float L = texture2D(uPressure, vL).x;\\n        float R = texture2D(uPressure, vR).x;\\n        float T = texture2D(uPressure, vT).x;\\n        float B = texture2D(uPressure, vB).x;\\n        vec2 velocity = texture2D(uVelocity, vUv).xy;\\n        velocity.xy -= vec2(R - L, T - B);\\n        gl_FragColor = vec4(velocity, 0.0, 1.0);\\n    }\\n\"),V=(()=>(f.bindBuffer(f.ARRAY_BUFFER,f.createBuffer()),f.bufferData(f.ARRAY_BUFFER,new Float32Array([-1,-1,-1,1,1,1,1,-1]),f.STATIC_DRAW),f.bindBuffer(f.ELEMENT_ARRAY_BUFFER,f.createBuffer()),f.bufferData(f.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,0,2,3]),f.STATIC_DRAW),f.vertexAttribPointer(0,2,f.FLOAT,!1,0,0),f.enableVertexAttribArray(0),(e,t=!1)=>{null==e?(f.viewport(0,0,f.drawingBufferWidth,f.drawingBufferHeight),f.bindFramebuffer(f.FRAMEBUFFER,null)):(f.viewport(0,0,e.width,e.height),f.bindFramebuffer(f.FRAMEBUFFER,e.fbo)),t&&(f.clearColor(0,0,0,1),f.clear(f.COLOR_BUFFER_BIT)),f.drawElements(f.TRIANGLES,6,f.UNSIGNED_SHORT,0)}))();let P,G,H,K,_,W,k,q,J=tt(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAQKADAAQAAAABAAAAQAAAAABGUUKwAAAeK0lEQVR4AT3aBbRuVdUG4HW5hNLdSHd3CyjdEtLd3Y1wKZHuLgFJRenuBqW7u7tTlu8zx//9ZwwG8J397b3WnG/NtU9bYokl+nfffdf//e9/96uuuqrPN998/ZRTTukbb7xxP/zww/u+++7bf/vb3/YddtihP/roo32SSSbpL7zwQj/99NP7Vltt1X/88ce+8sor13Vvv/12Hzp0aF999dX7Bx980P/617/2WWedtX/55Zd9++237zPMMEP/05/+1DfYYIP+0EMP9amnnrq/9957/ZZbbum//PJLf+yxx/pJJ53URxtttL7WWmv1P//5z/3bb7/t9913X63t9ddf7wsvvHBff/31+6GHHtovu+yyPuecc/YbbrihH3300fXshRZaqF900UW1zv/85z991FFHrfXce++9ffjhh+/nnXdeXe8e7tsuv/zy+vKEE07YDzzwwNpoz4/FPfnkk32VVVbpd911V7/66qv7Mccc0y+99NI+yiij9KWWWqoffPDB/frrr6+HWfjss8/e77jjju6ev/vd72ojNrfiiiv21lo98Pzzz6/fnXjiif0f//hH33rrrWujFr7JJpvU/d5///1+wQUX9N12261PNdVUfbnlluvDDTdc//TTT+vzW2+9tY844oj9q6++6i+++GKffPLJaz3W+fXXX1fx3N/6vv/++3rOG2+8Uc/66KOP+njjjVff22OPPXr7+OOPq4oqftZZZ3VdtLkxxhijX3zxxd0XFGeOOebof/zjH/tee+1VC7nnnnv6uuuuWwt55ZVXqurbbLNNH3fccdWv77333t0innrqqX7QQQf1tddeu3uWh88zzzz9m2++6WONNVZt7txzz61njDTSSP2AAw7oM888c1988cX77bffXgvdaKON+rBhw/oEE0xQKJltttn6Lrvs0k844YS+5ppr9i233LK/8847tTYo23bbbfurr75ahYYQaFUk9/Zd31twwQX7yCOP3JuO6cIzzzxTEJppppmqUzrrc50dMmRIf+211/rPP//cF1lkkeqKToK3ii+66KL98ccf74cddlhfZ511+gMPPNCnnXbavsACC9RGJ5tssv7Pf/6zFrLrrrvWxp5++ulC3DXXXFMFff7557uigjy6TTzxxP3zzz8vNM0999zVHDT6wx/+0H/44Yc+6aST1vXW869//aufccYZfZxxxql1oLIGQp/naQLaLbvssoVkdF9ttdUKTUPcaJZZZmnbbbddW2yxxVoW2rKolg0oTgtn0KTluvbggw+2VVddtWXxLbxvJ598cptuuulaqt/CxxZet2hHW2ONNdr444/fbrrpppYCtUCxhUr1WXShpRMtm2tZaJtxxhlbEFf3iP60LLq+Hzq18Lxlg/X9l156qT3yyCP17JtvvrmFw23eeedtvhO0tf3337+eEU1pKVRbYYUV2hZbbNGuu+46KG/Rl5ZN138HPW333Xdv1tJwRJfxjcDoIjHSAb9bb731+u9///uC0MMPP1y8JnogN+aYY5aYqSYhAm1dG3vssTtagPRRRx3VL7zwwu67BImwTTHFFP1vf/tbJ2r3339/T+H7lFNO+f/d9nkWXx3NQquDUObaaaaZpr/55pt9n332qa6iVZrQ05zSEDq133771f1Qw/OJIo2xt3POOafEkMin+L2BK9VNhfumm25am3rrrbf68ccf36effvp+2223lYh88sknxbtUvT7DJ4W54oor+tlnn103tWgLALt0qzaGYoR0zz337F988UUPKop/xx13XBXYIs8888wqqE0RS4JrU6eeempPt8shUIuKe4Zn0g+/41o777xzv+SSS+q7zz33XLmaooK6vaA1rXj55ZeLvhpMY9wHpDuOuRne/v3vfy9h2nHHHTue//rXv64v4h6r0TkbmWiiiTpx+u9//1uL9eC77767ukjEPJDlsUnCR5zYKx7TC87gc0oNGRBEYzbccMNyH88gnksuuSSKVhe5FEvlNoQN8o499tjSp2WWWaZ0gaYQa41TQAJ+5ZVXlk3TtBtvvLGa9Nlnn5VQN/bA71XYZiyanbAYAsOaQMoiRhhhhE683Cj873PNNVc93Pep/vLLL19dJXooQt0hhig9++yz5QTuwUp15c477ywnIcC+S4/cCxVlCcW3Ps2QP6i3Qi+99NKFsJ9++qlHa6rwHMyawZzS/+pXvypas1CiOfroo1c2WWmllaqAHAXyhqZDw6LmJWpZeEsh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\");const Z=new T(s,E),j=new T(m,g),te=new T(m,d),ne=new T(m,x),re=new T(m,R),ie=new T(m,D),ue=new T(m,L),le=new T(m,F),ce=new T(m,N),fe=new T(m,b),se=new T(m,O),he=new T(m,I),we=new T(m,B),Ie=new T(m,C),Ce=new T(m,Y),Me=new T(m,X),Ye=new T(m,z),Xe=new ye(m,p);function me(){let t=w(e.SIM_RESOLUTION),n=w(e.DYE_RESOLUTION);const r=v.halfFloatTexType,i=v.formatRGBA,o=v.formatRG,a=v.formatR,u=v.supportLinearFiltering?f.LINEAR:f.NEAREST;f.disable(f.BLEND),P=null==P?$(n.width,n.height,i.internalFormat,i.format,r,u):ve(P,n.width,n.height,i.internalFormat,i.format,r,u),G=null==G?$(t.width,t.height,o.internalFormat,o.format,r,u):ve(G,t.width,t.height,o.internalFormat,o.format,r,u),H=A(t.width,t.height,a.internalFormat,a.format,r,f.NEAREST),K=A(t.width,t.height,a.internalFormat,a.format,r,f.NEAREST),_=$(t.width,t.height,a.internalFormat,a.format,r,f.NEAREST),je(),$e()}function je(){let t=w(e.BLOOM_RESOLUTION);const n=v.halfFloatTexType,r=v.formatRGBA,i=v.supportLinearFiltering?f.LINEAR:f.NEAREST;W=A(t.width,t.height,r.internalFormat,r.format,n,i),c.length=0;for(let o=0;o<e.BLOOM_ITERATIONS;o++){let e=t.width>>o+1,a=t.height>>o+1;if(e<2||a<2)break;let u=A(e,a,r.internalFormat,r.format,n,i);c.push(u)}}function $e(){let t=w(e.SUNRAYS_RESOLUTION);const n=v.halfFloatTexType,r=v.formatR,i=v.supportLinearFiltering?f.LINEAR:f.NEAREST;k=A(t.width,t.height,r.internalFormat,r.format,n,i),q=A(t.width,t.height,r.internalFormat,r.format,n,i)}function A(e,t,n,r,i,o){f.activeTexture(f.TEXTURE0);let a=f.createTexture();f.bindTexture(f.TEXTURE_2D,a),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,o),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,o),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.CLAMP_TO_EDGE),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.CLAMP_TO_EDGE),f.texImage2D(f.TEXTURE_2D,0,n,e,t,0,r,i,null);let u=f.createFramebuffer();f.bindFramebuffer(f.FRAMEBUFFER,u),f.framebufferTexture2D(f.FRAMEBUFFER,f.COLOR_ATTACHMENT0,f.TEXTURE_2D,a,0),f.viewport(0,0,e,t),f.clear(f.COLOR_BUFFER_BIT);let l=1/e,c=1/t;return{texture:a,fbo:u,width:e,height:t,texelSizeX:l,texelSizeY:c,attach(e){return f.activeTexture(f.TEXTURE0+e),f.bindTexture(f.TEXTURE_2D,a),e}}}function $(e,t,n,r,i,o){let a=A(e,t,n,r,i,o),u=A(e,t,n,r,i,o);return{width:e,height:t,texelSizeX:a.texelSizeX,texelSizeY:a.texelSizeY,get read(){return a},set read(e){a=e},get write(){return u},set write(e){u=e},swap(){let e=a;a=u,u=e}}}function et(e,t,n,r,i,o,a){let u=A(t,n,r,i,o,a);return j.bind(),f.uniform1i(j.uniforms.uTexture,e.attach(0)),V(u),u}function ve(e,t,n,r,i,o,a){return e.width==t&&e.height==n||(e.read=et(e.read,t,n,r,i,o,a),e.write=A(t,n,r,i,o,a),e.width=t,e.height=n,e.texelSizeX=1/t,e.texelSizeY=1/n),e}function tt(e){let t=f.createTexture();f.bindTexture(f.TEXTURE_2D,t),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MIN_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_MAG_FILTER,f.LINEAR),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_S,f.REPEAT),f.texParameteri(f.TEXTURE_2D,f.TEXTURE_WRAP_T,f.REPEAT),f.texImage2D(f.TEXTURE_2D,0,f.RGB,1,1,0,f.RGB,f.UNSIGNED_BYTE,new Uint8Array([255,255,255]));let n={texture:t,width:1,height:1,attach(e){return f.activeTexture(f.TEXTURE0+e),f.bindTexture(f.TEXTURE_2D,t),e}},r=new Image;return r.onload=()=>{n.width=r.width,n.height=r.height,f.bindTexture(f.TEXTURE_2D,t),f.texImage2D(f.TEXTURE_2D,0,f.RGB,f.RGB,f.UNSIGNED_BYTE,r)},r.src=e,n}function rt(){let t=[];e.SHADING&&t.push(\"SHADING\"),e.BLOOM&&t.push(\"BLOOM\"),e.SUNRAYS&&t.push(\"SUNRAYS\"),Xe.setKeywords(t)}rt(),me(),e.INITIAL&&ge(parseInt(Math.random()*e.SPLAT_AMOUNT*4+e.SPLAT_AMOUNT));let ze=Date.now(),Ve=0;de();function de(){const e=it();Te()&&me(),ot(e),at(),o&&(be(),o=!1),r||nt(e),Ee(null),requestAnimationFrame(de)}function it(){let e=Date.now(),t=(e-ze)/1e3;return t=Math.min(t,.016666),ze=e,t}function Te(){let e=S(a.clientWidth),t=S(a.clientHeight);return(a.width!=e||a.height!=t)&&(a.width=e,a.height=t,!0)}function ot(t){e.COLORFUL&&(Ve+=t*e.COLOR_UPDATE_SPEED,Ve>=1&&(Ve=xt(Ve,0,1),l.forEach((e=>{e.color=Q()}))))}function at(){if(t.length>0&&ge(t.pop()),n.length>0){const t=n.pop(),r=t[0]/a.clientWidth;console.log(r);const i=1-t[1]/a.clientHeight,o=t[2]/2,u=t[3]/2;let l;if(null!=t[4]){const n=Se(t[4]),r=pe(n.h,n.s,e.BRIGHTNESS);r.r*=.15,r.g*=.15,r.b*=.15,l=r}else l=Q();l.r*=10,l.g*=10,l.b*=10,ee(r,i,o,u,l)}l.forEach((e=>{e.moved&&(e.moved=!1,vt(e))}))}function nt(t){f.disable(f.BLEND),Ie.bind(),f.uniform2f(Ie.uniforms.texelSize,G.texelSizeX,G.texelSizeY),f.uniform1i(Ie.uniforms.uVelocity,G.read.attach(0)),V(K),Ce.bind(),f.uniform2f(Ce.uniforms.texelSize,G.texelSizeX,G.texelSizeY),f.uniform1i(Ce.uniforms.uVelocity,G.read.attach(0)),f.uniform1i(Ce.uniforms.uCurl,K.attach(1)),f.uniform1f(Ce.uniforms.curl,e.CURL),f.uniform1f(Ce.uniforms.dt,t),V(G.write),G.swap(),we.bind(),f.uniform2f(we.uniforms.texelSize,G.texelSizeX,G.texelSizeY),f.uniform1i(we.uniforms.uVelocity,G.read.attach(0)),V(H),te.bind(),f.uniform1i(te.uniforms.uTexture,_.read.attach(0)),f.uniform1f(te.uniforms.value,e.PRESSURE),V(_.write),_.swap(),Me.bind(),f.uniform2f(Me.uniforms.texelSize,G.texelSizeX,G.texelSizeY),f.uniform1i(Me.uniforms.uDivergence,H.attach(0));for(let t=0;t<e.PRESSURE_ITERATIONS;t++)f.uniform1i(Me.uniforms.uPressure,_.read.attach(1)),V(_.write),_.swap();Ye.bind(),f.uniform2f(Ye.uniforms.texelSize,G.texelSizeX,G.texelSizeY),f.uniform1i(Ye.uniforms.uPressure,_.read.attach(0)),f.uniform1i(Ye.uniforms.uVelocity,G.read.attach(1)),V(G.write),G.swap(),he.bind(),f.uniform2f(he.uniforms.texelSize,G.texelSizeX,G.texelSizeY),v.supportLinearFiltering||f.uniform2f(he.uniforms.dyeTexelSize,G.texelSizeX,G.texelSizeY);let n=G.read.attach(0);f.uniform1i(he.uniforms.uVelocity,n),f.uniform1i(he.uniforms.uSource,n),f.uniform1f(he.uniforms.dt,t),f.uniform1f(he.uniforms.dissipation,e.VELOCITY_DISSIPATION),V(G.write),G.swap(),v.supportLinearFiltering||f.uniform2f(he.uniforms.dyeTexelSize,P.texelSizeX,P.texelSizeY),f.uniform1i(he.uniforms.uVelocity,G.read.attach(0)),f.uniform1i(he.uniforms.uSource,P.read.attach(1)),f.uniform1f(he.uniforms.dissipation,e.DENSITY_DISSIPATION),V(P.write),P.swap()}function Ee(t){e.BLOOM&&ft(P.read,W),e.SUNRAYS&&(st(P.read,P.write,k),mt(k,q,1)),null!=t&&e.TRANSPARENT?f.disable(f.BLEND):(f.blendFunc(f.ONE,f.ONE_MINUS_SRC_ALPHA),f.enable(f.BLEND)),e.TRANSPARENT||ut(t,gt(Et(e.BACK_COLOR))),null==t&&e.TRANSPARENT&&lt(t),ct(t)}function ut(e,t){ne.bind(),f.uniform4f(ne.uniforms.color,t.r,t.g,t.b,1),V(e)}function lt(e){re.bind(),f.uniform1f(re.uniforms.aspectRatio,a.width/a.height),V(e)}function ct(t){let n=null==t?f.drawingBufferWidth:t.width,r=null==t?f.drawingBufferHeight:t.height;if(Xe.bind(),e.SHADING&&f.uniform2f(Xe.uniforms.texelSize,1/n,1/r),f.uniform1i(Xe.uniforms.uTexture,P.read.attach(0)),e.BLOOM){f.uniform1i(Xe.uniforms.uBloom,W.attach(1)),f.uniform1i(Xe.uniforms.uDithering,J.attach(2));let e=Rt(J,n,r);f.uniform2f(Xe.uniforms.ditherScale,e.x,e.y)}e.SUNRAYS&&f.uniform1i(Xe.uniforms.uSunrays,k.attach(3)),V(t)}function ft(t,n){if(c.length<2)return;let r=n;f.disable(f.BLEND),ie.bind();let i=e.BLOOM_THRESHOLD*e.BLOOM_SOFT_KNEE+1e-4,o=e.BLOOM_THRESHOLD-i,a=2*i,u=.25/i;f.uniform3f(ie.uniforms.curve,o,a,u),f.uniform1f(ie.uniforms.threshold,e.BLOOM_THRESHOLD),f.uniform1i(ie.uniforms.uTexture,t.attach(0)),V(r),ue.bind();for(let e=0;e<c.length;e++){let t=c[e];f.uniform2f(ue.uniforms.texelSize,r.texelSizeX,r.texelSizeY),f.uniform1i(ue.uniforms.uTexture,r.attach(0)),V(t),r=t}f.blendFunc(f.ONE,f.ONE),f.enable(f.BLEND);for(let e=c.length-2;e>=0;e--){let t=c[e];f.uniform2f(ue.uniforms.texelSize,r.texelSizeX,r.texelSizeY),f.uniform1i(ue.uniforms.uTexture,r.attach(0)),f.viewport(0,0,t.width,t.height),V(t),r=t}f.disable(f.BLEND),le.bind(),f.uniform2f(le.uniforms.texelSize,r.texelSizeX,r.texelSizeY),f.uniform1i(le.uniforms.uTexture,r.attach(0)),f.uniform1f(le.uniforms.intensity,e.BLOOM_INTENSITY),V(n)}function st(t,n,r){f.disable(f.BLEND),ce.bind(),f.uniform1i(ce.uniforms.uTexture,t.attach(0)),V(n),fe.bind(),f.uniform1f(fe.uniforms.weight,e.SUNRAYS_WEIGHT),f.uniform1i(fe.uniforms.uTexture,n.attach(0)),V(r)}function mt(e,t,n){Z.bind();for(let r=0;r<n;r++)f.uniform2f(Z.uniforms.texelSize,e.texelSizeX,0),f.uniform1i(Z.uniforms.uTexture,e.attach(0)),V(t),f.uniform2f(Z.uniforms.texelSize,0,e.texelSizeY),f.uniform1i(Z.uniforms.uTexture,t.attach(0)),V(e)}function vt(t){if(r&&!i)return;let n=t.deltaX*e.SPLAT_FORCE,o=t.deltaY*e.SPLAT_FORCE;ee(t.texcoordX,t.texcoordY,n,o,t.color)}function ge(e){for(let t=0;t<e;t++){const e=Q();e.r*=10,e.g*=10,e.b*=10;const t=Math.random(),n=Math.random(),r=1e3*(Math.random()-.5),i=1e3*(Math.random()-.5);ee(t,n,r,i,e)}}function ee(t,n,r,i,o){se.bind(),f.uniform1i(se.uniforms.uTarget,G.read.attach(0)),f.uniform1f(se.uniforms.aspectRatio,a.width/a.height),f.uniform2f(se.uniforms.point,t,n),f.uniform3f(se.uniforms.color,r,i,0),f.uniform1f(se.uniforms.radius,ht(e.SPLAT_RADIUS/100)),V(G.write),G.swap(),f.uniform1i(se.uniforms.uTarget,P.read.attach(0)),f.uniform3f(se.uniforms.color,o.r,o.g,o.b),V(P.write),P.swap()}function ht(e){let t=a.width/a.height;return t>1&&(e*=t),e}a.addEventListener(\"mousedown\",(e=>{let t=S(e.offsetX),n=S(e.offsetY),r=l.find((e=>-1==e.id));null==r&&(r=new y),xe(r,-1,t,n)})),setTimeout((()=>{a.addEventListener(\"mousemove\",(e=>{let t=l[0],n=S(e.offsetX),r=S(e.offsetY);Re(t,n,r)}))}),500),window.addEventListener(\"mouseup\",(()=>{Ae(l[0])})),a.addEventListener(\"touchstart\",(e=>{e.preventDefault();const t=e.targetTouches;for(;t.length>=l.length;)l.push(new y);for(let e=0;e<t.length;e++){let n=S(t[e].pageX),r=S(t[e].pageY);xe(l[e+1],t[e].identifier,n,r)}})),a.addEventListener(\"touchmove\",(e=>{e.preventDefault();const t=e.targetTouches;for(let e=0;e<t.length;e++){let n=l[e+1],r=S(t[e].pageX),i=S(t[e].pageY);Re(n,r,i)}}),!1),window.addEventListener(\"touchend\",(e=>{const t=e.changedTouches;for(let e=0;e<t.length;e++){let n=l.find((n=>n.id==t[e].identifier));null!=n&&Ae(n)}})),window.addEventListener(\"keydown\",(n=>{n.code===e.SPLAT_KEY&&t.push(parseInt(Math.random()*e.SPLAT_AMOUNT*4+e.SPLAT_AMOUNT))}));function xe(e,t,n,r){e.id=t,e.down=!0,e.moved=!1,e.texcoordX=n/a.width,e.texcoordY=1-r/a.height,e.prevTexcoordX=e.texcoordX,e.prevTexcoordY=e.texcoordY,e.deltaX=0,e.deltaY=0,e.color=Q()}function Re(t,n,r){t.prevTexcoordX=t.texcoordX,t.prevTexcoordY=t.texcoordY,t.texcoordX=n/a.width,t.texcoordY=1-r/a.height,t.deltaX=dt(t.texcoordX-t.prevTexcoordX),t.deltaY=Tt(t.texcoordY-t.prevTexcoordY),e.HOVER?t.moved=Math.abs(t.deltaX)>0||Math.abs(t.deltaY)>0:t.moved=t.down}function Ae(e){e.down=!1}function dt(e){let t=a.width/a.height;return t<1&&(e*=t),e}function Tt(e){let t=a.width/a.height;return t>1&&(e/=t),e}function Q(){let t,n;if(0==e.COLOR_PALETTE.length)t=Math.random(),n=1;else{const r=Math.floor(Math.random()*e.COLOR_PALETTE.length),i=e.COLOR_PALETTE[r],o=Se(i);t=o.h,n=o.s}let r=pe(t,n,e.BRIGHTNESS);return r.r*=.15,r.g*=.15,r.b*=.15,r}function Se(e){e=e.replace(\"#\",\"\");const t=parseInt(e.substring(0,2),16)/255,n=parseInt(e.substring(2,4),16)/255,r=parseInt(e.substring(4,6),16)/255,i=Math.max(t,n,r),o=Math.min(t,n,r);let a,u,l;return a=i===o?0:i===t?((n-r)/(i-o)+6)%6:i===n?(r-t)/(i-o)+2:(t-n)/(i-o)+4,a/=6,u=0===i?0:(i-o)/i,l=i,{h:a,s:u,v:l}}function Et(e){e=e.replace(\"#\",\"\");const t=parseInt(e.substr(0,2),16),n=parseInt(e.substr(2,2),16),r=parseInt(e.substr(4,2),16);return{r:t,g:n,b:r}}function pe(e,t,n){let r,i,o,a,u,l,c,f;switch(a=Math.floor(6*e),u=6*e-a,l=n*(1-t),c=n*(1-u*t),f=n*(1-(1-u)*t),a%6){case 0:r=n,i=f,o=l;break;case 1:r=c,i=n,o=l;break;case 2:r=l,i=n,o=f;break;case 3:r=l,i=c,o=n;break;case 4:r=f,i=l,o=n;break;case 5:r=n,i=l,o=c;break}return{r:r,g:i,b:o}}function gt(e){return{r:e.r/255,g:e.g/255,b:e.b/255}}function xt(e,t,n){let r=n-t;return 0==r?t:(e-t)%r+t}function w(e){let t=f.drawingBufferWidth/f.drawingBufferHeight;t<1&&(t=1/t);let n=Math.round(e),r=Math.round(e*t);return f.drawingBufferWidth>f.drawingBufferHeight?{width:r,height:n}:{width:n,height:r}}function Rt(e,t,n){return{x:t/e.width,y:n/e.height}}function S(e){let t=window.devicePixelRatio||1;return Math.floor(e*t)}function At(e){if(0==e.length)return 0;let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t|=0;return t}}};export{a as default};\n\n//# sourceMappingURL=webgl-fluid-enhanced.mjs.map","import{jsx as _jsx,Fragment as _Fragment}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useEffect,useRef}from\"react\";import webGLFluidEnhanced from\"webgl-fluid-enhanced\";FluidAnimation.defaultProps={SIM_RESOLUTION:128,DYE_RESOLUTION:1024,CAPTURE_RESOLUTION:512,DENSITY_DISSIPATION:1,VELOCITY_DISSIPATION:.2,PRESSURE:.8,PRESSURE_ITERATIONS:20,CURL:30,SPLAT_RADIUS:.25,SPLAT_FORCE:6e3,SHADING:true,COLORFUL:true,COLOR_UPDATE_SPEED:10,PAUSED:false,TRANSPARENT:false,BLOOM:true,BLOOM_ITERATIONS:8,BLOOM_RESOLUTION:256,BLOOM_INTENSITY:.8,BLOOM_THRESHOLD:.6,BLOOM_SOFT_KNEE:.7,SUNRAYS:true,SUNRAYS_RESOLUTION:196,SUNRAYS_WEIGHT:1,INITIAL:true,COLOR_PALETTE:[\"rgb(88, 60, 88)\",\"rgb(0, 60, 88)\",\"rgb(78, 60, 255)\",\"rgb(88, 60, 88)\",\"rgb(30, 10, 88)\"]};function convertRGBAToHex(color){const rgba=color.replace(/^rgba?\\(|\\s+|\\)$/g,\"\").split(\",\");const hex=`#${((1<<24)+(parseInt(rgba[0])<<16)+(parseInt(rgba[1])<<8)+parseInt(rgba[2])).toString(16).slice(1)}`;return hex;}/*\n * @framerDisableUnlink\n */export default function FluidAnimation(props){const canvasRef=useRef(null);useEffect(()=>{const newColorPalette=props.COLOR_PALETTE.map(i=>{const hex=convertRGBAToHex(i);return hex;});webGLFluidEnhanced.simulation(canvasRef.current,{BACK_COLOR:convertRGBAToHex(props.BACK_COLOR),INITIAL:props.INITIAL,COLOR_PALETTE:newColorPalette,SIM_RESOLUTION:props.SIM_RESOLUTION,DYE_RESOLUTION:props.DYE_RESOLUTION,CAPTURE_RESOLUTION:props.CAPTURE_RESOLUTION,DENSITY_DISSIPATION:props.DENSITY_DISSIPATION,VELOCITY_DISSIPATION:props.VELOCITY_DISSIPATION,PRESSURE:props.PRESSURE,PRESSURE_ITERATIONS:props.PRESSURE_ITERATIONS,CURL:props.CURL,SPLAT_RADIUS:props.SPLAT_RADIUS,SPLAT_FORCE:props.SPLAT_FORCE,SHADING:props.SHADING,COLORFUL:props.COLORFUL,COLOR_UPDATE_SPEED:props.COLOR_UPDATE_SPEED,PAUSED:props.PAUSED,HOVER:props.HOVER,BLOOM_ITERATIONS:props.BLOOM_ITERATIONS,BLOOM_RESOLUTION:props.BLOOM_RESOLUTION,BLOOM_INTENSITY:props.BLOOM_INTENSITY,BLOOM_THRESHOLD:props.BLOOM_THRESHOLD,BLOOM_SOFT_KNEE:props.BLOOM_SOFT_KNEE,SUNRAYS:props.SUNRAYS,SUNRAYS_RESOLUTION:props.SUNRAYS_RESOLUTION,SUNRAYS_WEIGHT:props.SUNRAYS_WEIGHT,BLOOM:props.BLOOM,TRANSPARENT:props.TRANSPARENT});},[]);return /*#__PURE__*/_jsx(_Fragment,{children:/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",border:\"0px\"}})});}addPropertyControls(FluidAnimation,{BACK_COLOR:{type:ControlType.Color,defaultValue:\"#000000\"},HOVER:{type:ControlType.Boolean,defaultValue:true},COLOR_PALETTE:{type:ControlType.Array,control:{type:ControlType.Color},defaultValue:[\"rgb(88, 60, 88)\",\"rgb(30, 10, 88)\",\"rgb(78, 60, 255)\",\"rgb(0, 60, 88)\",\"rgb(88, 60, 88)\"],maxCount:5},SUNRAYS_RESOLUTION:{type:ControlType.Number,defaultValue:196,min:2,max:2048,step:16},SUNRAYS_WEIGHT:{type:ControlType.Number,defaultValue:1,min:.1,max:1,step:.1},SUNRAYS:{type:ControlType.Boolean,defaultValue:true},INITIAL:{type:ControlType.Boolean,defaultValue:true},BLOOM_RESOLUTION:{type:ControlType.Number,defaultValue:256,min:2,max:2048,step:16},BLOOM_ITERATIONS:{type:ControlType.Number,defaultValue:8,min:1,max:16,step:1},BLOOM_INTENSITY:{type:ControlType.Number,defaultValue:.8,min:.1,max:1,step:.1},BLOOM_THRESHOLD:{type:ControlType.Number,defaultValue:.6,min:.1,max:1,step:.1},BLOOM_SOFT_KNEE:{type:ControlType.Number,defaultValue:.7,min:.1,max:1,step:.1},TRANSPARENT:{type:ControlType.Boolean,defaultValue:false},BLOOM:{type:ControlType.Boolean,defaultValue:true},SHADING:{type:ControlType.Boolean,defaultValue:true},COLORFUL:{type:ControlType.Boolean,defaultValue:true},PAUSED:{type:ControlType.Boolean,defaultValue:false},COLOR_UPDATE_SPEED:{type:ControlType.Number,defaultValue:10,min:1,max:100,step:1},SPLAT_RADIUS:{type:ControlType.Number,defaultValue:.25,min:.1,max:1,step:.1},SPLAT_FORCE:{type:ControlType.Number,defaultValue:6e3,min:1,max:1e4,step:10},PRESSURE_ITERATIONS:{type:ControlType.Number,defaultValue:20,min:1,max:100,step:1},CURL:{type:ControlType.Number,defaultValue:30,min:1,max:100,step:1},SIM_RESOLUTION:{type:ControlType.Number,defaultValue:128,min:2,max:512,step:16},DYE_RESOLUTION:{type:ControlType.Number,defaultValue:1024,min:2,max:2056,step:16},CAPTURE_RESOLUTION:{type:ControlType.Number,defaultValue:512,min:2,max:2048,step:16},DENSITY_DISSIPATION:{type:ControlType.Number,defaultValue:1,min:0,max:1,step:.1},VELOCITY_DISSIPATION:{type:ControlType.Number,defaultValue:.2,min:0,max:1,step:.1},PRESSURE:{type:ControlType.Number,defaultValue:.8,min:0,max:1,step:.1}});const containerStyle={display:\"flex\",justifyContent:\"center\",alignItems:\"center\",overflow:\"hidden\"};\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"FluidAnimation\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./FluidAnimation.map"],"mappings":"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"}