{"version":3,"file":"AnimatedMesh.BWr9aWYA.mjs","names":[],"sources":["https:/framerusercontent.com/modules/sn3kFeOAS2vnDEbB9klI/KguKJz2kIw6pimaQJByM/AnimatedMesh.js"],"sourcesContent":["import{defineShader,ControlType}from\"framer\";export default defineShader({title:\"Mesh\",resolutionScale:\"consistent\",fragment:`\n// === PCG hash - https://www.jcgt.org/published/0009/03/02/\nuvec3 hash3(uvec3 v) {\n    v = v * 1664525u + 1013904223u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    v ^= v >> 16u;\n    v.x += v.y * v.z;\n    v.y += v.z * v.x;\n    v.z += v.x * v.y;\n    return v;\n}\n\nvec3 seedRandom(float seedVal) {\n    uvec3 s = uvec3(\n        floatBitsToUint(seedVal),\n        floatBitsToUint(seedVal * 1.5 + 7.31),\n        floatBitsToUint(seedVal * 2.7 + 13.37)\n    );\n    s = hash3(s);\n    return vec3(s) / float(0xFFFFFFFFu);\n}\n\nvoid main() {\n    vec2 r = u_resolution;\n    vec2 I = gl_FragCoord.xy;\n    float t = u_time * u_speed;\n    vec3 w, p;\n    vec4 o = vec4(0.0);\n\n    vec3 seedA = seedRandom(u_seed);\n    vec3 seedB = seedRandom(u_seed + 100.0);\n\n    float seedAngle = seedA.x * 6.2831;\n    mat2 seedRot = mat2(cos(seedAngle), -sin(seedAngle), sin(seedAngle), cos(seedAngle));\n\n    vec3 seedPhase = seedB * 6.2831;\n\n    float a = radians(u_tilt);\n    mat3 rot = mat3(\n        1.0, 0.0, 0.0,\n        0.0, cos(a), sin(a),\n        0.0, -sin(a), cos(a)\n    );\n\n    float z = 0.0;\n    float d = 0.1;\n    \n    vec4 offset = vec4(0.0);\n\n    for (float i = 0.0; i < 30.0; i++) {\n        vec3 rd = (vec3(I, 0.0) * 2.0 - r.xyy) / r.y * u_zoom;\n        p = z * (rot * rd) + vec3(1.0, u_cameraHeight, 1.0);\n        w = p;\n\n        vec3 nw = w;\n        nw.xz = seedRot * nw.xz;\n\n        float f;\n        for (f = 2.0; f <= 3.0; f++)\n            nw += sin(nw.zxy * f + t + seedPhase) / f;\n\n        w = mix(p, nw, 1.0);\n\n        d = 0.1 * (p.y + 3.0);\n        z += d;\n\n        vec4 surface = mix(p, w, u_amplitude).y + offset;\n        vec4 fw = max(fwidth(surface), 0.0001);\n        vec4 pixelDist = abs(surface) / fw;\n        float lw = u_lineWidth * u_pixelRatio;\n        vec4 acc = smoothstep(lw + u_lineBlur, lw, pixelDist) * u_lightIntensity * d;\n        o += acc;\n    }\n\n    vec4 raw = tanh(o);\n\n    if (u_backgroundColor.a > 0.0) {\n    float lineAlpha = raw.a * u_lineColor.a;\n    vec3 col = mix(u_backgroundColor.rgb, u_lineColor.rgb, lineAlpha);\n    fragColor = vec4(col, u_backgroundColor.a);\n    } else {\n        fragColor = vec4(raw.rgb * u_lineColor.rgb, raw.a * u_lineColor.a);\n    }\n}\n`,propertyControls:{backgroundColor:{type:ControlType.Color,title:\"Fill\",defaultValue:\"#000000\"},lineColor:{type:ControlType.Color,title:\"Line Color\",defaultValue:\"#FFFFFF\"},lineWidth:{type:ControlType.Number,title:\"Line Width\",defaultValue:.1,min:.1,max:4,step:.1,displayStepper:true},lineBlur:{type:ControlType.Number,title:\"Line Blur\",defaultValue:2,min:1,max:4,step:.1,displayStepper:true},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:200,min:0,max:1e3,step:1},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.5,min:0,max:5,step:.1},amplitude:{type:ControlType.Number,title:\"Amplitude\",defaultValue:.2,min:0,max:1,step:.01},tilt:{type:ControlType.Number,title:\"Tilt\",defaultValue:-32,min:-180,max:180,step:1},zoom:{type:ControlType.Number,title:\"Zoom\",defaultValue:.35,min:.1,max:1,step:.01},cameraHeight:{type:ControlType.Number,title:\"Height\",defaultValue:2,min:0,max:3.5,step:.1},lightIntensity:{type:ControlType.Number,title:\"Brightness\",defaultValue:3,min:.1,max:10,step:.1}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"shader\",\"name\":null,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./AnimatedMesh.map"],"mappings":"8HAA4C,IAAgB,EAAa,CAAC,MAAM,OAAO,gBAAgB,aAAa,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsF3H,iBAAiB,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,OAAO,aAAa,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,eAAe,EAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,EAAI,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,IAAI,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,EAAE,eAAe,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,CAAC,CAAC,CAAC"}