{"version":3,"file":"StarSpace.CIbb06HT.mjs","names":[],"sources":["https:/framerusercontent.com/modules/uFU1Yjkk3lKXUekCN3y0/swl8Iy6NvImb4AaCCW9r/StarSpace.js"],"sourcesContent":["import{defineShader,ControlType}from\"framer\";export default defineShader({title:\"Particles\",resolutionScale:\"consistent\",fragment:`\n// PCG hash\nuint pcg(uint v) {\n    uint state = v * 747796405u + 2891336453u;\n    uint word = ((state >> ((state >> 28u) + 4u)) ^ state) * 277803737u;\n    return (word >> 22u) ^ word;\n}\n\nfloat hash1(float p) {\n    return float(pcg(floatBitsToUint(p))) / float(0xFFFFFFFFu);\n}\n\nvoid main() {\n    vec4 O = vec4(0.);\n    vec2 r = u_resolution;\n    vec2 I = gl_FragCoord.xy;\n    vec2 uv = (I + I - r) / r.y;\n    uv /= u_scale; \n    float d = length(uv);\n    float t = u_time * u_speed;\n\n    // Convert angle to direction vector\n    float rad = u_direction * 3.14159265 / 180.;\n    vec2 dir = vec2(cos(rad), sin(rad));\n\n    // Glow: remap 0..1 to a power exponent range\n    float sharpness = mix(0.3, 2.0, u_glow);\n\n    // Color channel offsets\n    vec4 colOffset = u_customColor > .5\n        ? vec4(u_colorR, u_colorG, u_colorB, 0.)\n        : vec4(3., 3., 3., 0.);\n        \n    float iterations = 20. + u_layer;\n\n    for (float i = 20.; i++ < iterations;)\n    {\n        vec2 q;\n        float fade, blink, light, clamper;\n\n        if (u_warp > .5) {\n            vec2 p = vec2(atan(uv.x, uv.y), 1. / (d * u_tunnelRadius + .001));\n            q = p * 6e1 / i;\n            float warpD = u_warpDirection > 0.5 ? -1.0 : 1.0;\n            q.y += warpD * t;\n            q += cos(i * vec2(9, 7));\n            fade = smoothstep(0., u_fadeRadius, d);\n            blink = 1.;\n            light = u_brightness * 1.8e-4;\n            clamper = u_starSize;\n        } else {\n            q = uv * 4e1 / i + cos(i * vec2(9, 7));\n\n            if (u_randomize > .5) {\n                float angle = hash1(i * 123.456) * 6.28318;\n                vec2 rdir = vec2(cos(angle), sin(angle));\n                q += rdir * t * .3;\n            } else {\n                q += dir * t * .3;\n            }\n\n            fade = 1.;\n\n            if (u_blink > .5) {\n                blink = sin(t * (1. + fract(i * .737) * 4.) + i * 3.14) * .5 + .5;\n                blink = blink * .3 + .3;\n            } else {\n                blink = .3;\n            }\n\n            light = u_brightness * 3e-4;\n            clamper = u_starSize;\n        }\n\n        // Apply sharpness via power on the distance field\n        float dist = max(length(sin(q * 3.)), clamper);\n        dist = pow(dist, sharpness);\n\n        O += (i * cos(i + colOffset) + i) * light * blink * fade / dist;\n    }\n\n    O = tanh(O * O);\n    float a = u_bgColor.a;\n    fragColor = vec4((u_bgColor.rgb * a + O.rgb), clamp(a + O.r + O.g + O.b, 0., 1.));\n}\n`,propertyControls:{bgColor:{type:ControlType.Color,title:\"Background\",defaultValue:\"#000000\"},warp:{type:ControlType.Boolean,title:\"Warp\",defaultValue:false},randomize:{type:ControlType.Boolean,title:\"Randomize\",defaultValue:true,hidden:props=>props.warp},direction:{type:ControlType.Number,title:\"Direction\",defaultValue:90,min:0,max:360,step:1,hidden:props=>props.warp||props.randomize},warpDirection:{type:ControlType.Enum,title:\"Direction\",options:[0,1],optionTitles:[\"Forward\",\"Reverse\"],defaultValue:0,displaySegmentedControl:true,hidden:props=>!props.warp},speed:{type:ControlType.Number,title:\"Speed\",defaultValue:.6,min:0,max:5,step:.1},scale:{type:ControlType.Number,title:\"Scale\",defaultValue:.8,min:.3,max:2,step:.1},layer:{type:ControlType.Number,title:\"Layers\",defaultValue:30,min:0,max:30,step:1,hiddenWhenUnset:true},brightness:{type:ControlType.Number,title:\"Brightness\",defaultValue:1,min:.01,max:3,step:.01},glow:{type:ControlType.Number,title:\"Size\",defaultValue:.7,min:0,max:2,step:.01},blink:{type:ControlType.Boolean,title:\"Blink\",defaultValue:false,hidden:props=>props.warp},tunnelRadius:{type:ControlType.Number,title:\"Radius\",defaultValue:2,min:1,max:8,step:.1,hidden:props=>!props.warp},fadeRadius:{type:ControlType.Number,title:\"Fade\",defaultValue:1.2,min:.1,max:3,step:.1,displayStepper:true,hidden:props=>!props.warp},starSize:{type:ControlType.Number,title:\"Blur\",defaultValue:.01,min:0,max:.3,step:.01,hiddenWhenUnset:true},customColor:{type:ControlType.Boolean,title:\"Color\",defaultValue:false,hiddenWhenUnset:true},colorR:{type:ControlType.Number,title:\"Red\",defaultValue:1,min:0,max:3,step:.5,displayStepper:true,hidden:props=>!props.customColor},colorG:{type:ControlType.Number,title:\"Green\",defaultValue:2,min:0,max:3,step:.5,displayStepper:true,hidden:props=>!props.customColor},colorB:{type:ControlType.Number,title:\"Blue\",defaultValue:3,min:0,max:3,step:.5,displayStepper:true,hidden:props=>!props.customColor}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"shader\",\"name\":null,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./StarSpace.map"],"mappings":"+HAA4C,IAAgB,EAAa,CAAC,MAAM,YAAY,gBAAgB,aAAa,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFhI,iBAAiB,CAAC,QAAQ,CAAC,KAAK,EAAY,MAAM,MAAM,aAAa,aAAa,SAAS,EAAE,KAAK,CAAC,KAAK,EAAY,QAAQ,MAAM,OAAO,aAAa,EAAK,EAAE,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,YAAY,aAAa,GAAK,OAAO,GAAO,EAAM,IAAI,EAAE,UAAU,CAAC,KAAK,EAAY,OAAO,MAAM,YAAY,aAAa,GAAG,IAAI,EAAE,IAAI,IAAI,KAAK,EAAE,OAAO,GAAO,EAAM,MAAM,EAAM,SAAS,EAAE,cAAc,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,QAAQ,CAAC,EAAE,CAAC,EAAE,aAAa,CAAC,UAAU,SAAS,EAAE,aAAa,EAAE,wBAAwB,GAAK,OAAO,GAAO,CAAC,EAAM,IAAI,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,GAAG,IAAI,GAAG,IAAI,EAAE,KAAK,EAAE,EAAE,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,gBAAgB,EAAI,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,aAAa,aAAa,EAAE,IAAI,IAAI,IAAI,EAAE,KAAK,GAAG,EAAE,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,GAAG,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,MAAM,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,aAAa,GAAM,OAAO,GAAO,EAAM,IAAI,EAAE,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,SAAS,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,OAAO,GAAO,CAAC,EAAM,IAAI,EAAE,WAAW,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,GAAG,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,OAAO,GAAO,CAAC,EAAM,IAAI,EAAE,SAAS,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,IAAI,IAAI,EAAE,IAAI,GAAG,KAAK,IAAI,gBAAgB,EAAI,EAAE,YAAY,CAAC,KAAK,EAAY,QAAQ,MAAM,QAAQ,aAAa,GAAM,gBAAgB,EAAI,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,MAAM,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,OAAO,GAAO,CAAC,EAAM,WAAW,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,OAAO,GAAO,CAAC,EAAM,WAAW,EAAE,OAAO,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,aAAa,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,GAAG,eAAe,GAAK,OAAO,GAAO,CAAC,EAAM,WAAW,CAAC,CAAC,CAAC"}