{
  "license": "CC0-1.0",
  "shader": {
    "id": "7u1l2g5b",
    "title": "Sacred Slop",
    "license": "CC0-1.0",
    "provenance_type": "witnessed_generation",
    "made_with": "Claude",
    "status": "active",
    "compile_ok": true,
    "render_hash": "003c7e7c3e7e3c00",
    "tags": [
      "sacred",
      "psychedelic",
      "mandala",
      "eyes",
      "trippy",
      "lsd",
      "acid",
      "mushrooms"
    ],
    "parents": [],
    "author": "u7y1evhf0znj",
    "author_name": "ksin",
    "author_url": "/u/ksin",
    "created_at": "2026-07-19T13:25:00.397Z",
    "poster_url": "/posters/7u1l2g5b.avif",
    "stats": {
      "slops": 2,
      "views": 187,
      "forks": 0
    },
    "self": "/api/v1/shaders/7u1l2g5b",
    "isf": "/*{\n  \"DESCRIPTION\": \" a central third eye with a living Kali-fractal iris and hypnotic vortex pupil, a halo of twelve blinking eyes with energy-veined sclerae, spectral flame aura, log-polar mind-lattice tunnel, raymarched 3D fractal architecture drifting through the void, a parallax fractal medallion, crepuscular beams, dash-darts, gold light-spears and comet sparks all radiating from the center. Every layer on a slider, plus hue rotate/cycle.\",\n  \"CREDIT\": \"KSIN\",\n  \"CATEGORIES\": [\"generator\", \"psychedelic\", \"mandala\", \"eyes\"],\n  \"INPUTS\": [\n    { \"NAME\": \"uTempo\",    \"TYPE\": \"float\", \"DEFAULT\": 1.40, \"MIN\": 0.0, \"MAX\": 3.0 },\n    { \"NAME\": \"uAura\",     \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uFractal\",  \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uLattice\",  \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uBeams\",    \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uDarts\",    \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uSpears\",   \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uSparks\",   \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uLace\",     \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uSat\",      \"TYPE\": \"float\", \"DEFAULT\": 1.45, \"MIN\": 0.0, \"MAX\": 2.5 },\n    { \"NAME\": \"uContrast\", \"TYPE\": \"float\", \"DEFAULT\": 0.62, \"MIN\": 0.0, \"MAX\": 1.0 },\n    { \"NAME\": \"uHue\",      \"TYPE\": \"float\", \"DEFAULT\": 0.00, \"MIN\": 0.0, \"MAX\": 1.0 },\n    { \"NAME\": \"uHueSpeed\", \"TYPE\": \"float\", \"DEFAULT\": 0.05, \"MIN\": 0.0, \"MAX\": 0.5 },\n    { \"NAME\": \"uCenter\",   \"TYPE\": \"float\", \"DEFAULT\": 1.00, \"MIN\": 0.0, \"MAX\": 2.5 }\n  ]\n}*/\n\n// SACRED MIRROR — homage to the style of Alex Grey\n// ISF port of the Shadertoy/WebGL2 version (GLSL ES 1.00: fixed loop\n// bounds, gl_FragColor, TIME/RENDERSIZE).\n\n#define TAU 6.28318530718\n\n// rotate color around the luminance axis; a in turns (0..1 = full cycle)\nvec3 hueShift(vec3 c, float a){\n    vec3 k = vec3(0.57735);\n    float ca = cos(a * TAU);\n    float sa = sin(a * TAU);\n    return c * ca + cross(k, c) * sa + k * dot(k, c) * (1.0 - ca);\n}\n\nfloat hash21(vec2 p){\n    p = fract(p * vec2(234.34, 435.345));\n    p += dot(p, p + 34.23);\n    return fract(p.x * p.y);\n}\n\nfloat noise2(vec2 p){\n    vec2 i = floor(p), f = fract(p);\n    f = f * f * (3.0 - 2.0 * f);\n    return mix(mix(hash21(i),               hash21(i + vec2(1.0, 0.0)), f.x),\n               mix(hash21(i + vec2(0.0, 1.0)), hash21(i + vec2(1.0, 1.0)), f.x), f.y);\n}\n\nfloat fbm(vec2 p){\n    float a = 0.5, s = 0.0;\n    for (int i = 0; i < 5; i++){\n        s += a * noise2(p);\n        p = p * 2.03 + vec2(1.7, 9.2);\n        a *= 0.5;\n    }\n    return s;\n}\n\n// full rainbow, biased electric — the spectral bands of the aura\nvec3 spectrum(float t){\n    vec3 c = 0.5 + 0.5 * cos(TAU * (t + vec3(0.0, 0.33, 0.67)));\n    return c * c * (3.0 - 2.0 * c);   // steepen so bands separate\n}\n\nfloat glowline(float d, float w){\n    return w / (abs(d) + w);\n}\n\nvec2 rot2(vec2 v, float a){\n    float c = cos(a), s = sin(a);\n    return vec2(v.x * c - v.y * s, v.x * s + v.y * c);\n}\n\n// 3D kaleidoscopic IFS: folded fractal architecture, sampled\n// as volumetric glow by a short raymarch.\nfloat kifsDE(vec3 p){\n    float s = 1.0;\n    for (int i = 0; i < 8; i++){\n        p = abs(p);\n        if (p.x < p.y) p.xy = p.yx;\n        if (p.y < p.z) p.yz = p.zy;\n        if (p.x < p.y) p.xy = p.yx;\n        p = p * 1.9 - vec3(1.35, 1.05, 0.55);\n        p.z = abs(p.z + 0.30) - 0.30;\n        s *= 1.9;\n    }\n    return length(p) / s;\n}\n\nvec3 kifsGlow(vec2 uv, float r, float t){\n    vec3 ro = vec3(0.0, 0.0, -3.2);\n    vec3 rd = normalize(vec3(uv, 1.6));\n    float ca = t * 0.045, cb = t * 0.034;\n    ro.xz = rot2(ro.xz, ca);  rd.xz = rot2(rd.xz, ca);\n    ro.yz = rot2(ro.yz, cb);  rd.yz = rot2(rd.yz, cb);\n    float tt = 0.0, fog = 0.0;\n    for (int i = 0; i < 36; i++){\n        float d = kifsDE(ro + rd * tt);\n        fog += exp(-abs(d) * 22.0);\n        tt += max(abs(d) * 0.85, 0.03);\n        if (tt > 9.0) break;\n    }\n    fog = min(fog, 16.0);   // never let the fog white out the frame\n    vec3 kcol = mix(vec3(0.35, 0.55, 1.0), spectrum(fog * 0.03 + t * 0.02), 0.5);\n    return kcol * fog * fog * 0.0011 * smoothstep(0.12, 0.60, r);\n}\n\n// ------------------------------------------------------------\n// Kali-style fractal, folded into 12-fold mandala symmetry.\n// ------------------------------------------------------------\nvec3 fractalMandala(vec2 p, float t){\n    float r = length(p);\n    float seg = TAU / 12.0;\n    float a = abs(mod(atan(p.y, p.x) + t * 0.06, seg) - seg * 0.5);\n    p = vec2(cos(a), sin(a)) * r * 1.35;\n\n    vec2 c = vec2(-0.735 + 0.055 * sin(t * 0.21),\n                  -0.290 + 0.048 * cos(t * 0.16));\n    float acc = 0.0, trap = 1000.0, trap2 = 1000.0;\n    for (int i = 0; i < 9; i++){\n        p = abs(p) / max(dot(p, p), 1e-6) + c;\n        float d = abs(p.y - 0.15 * sin(p.x * 3.0 + t * 0.4));\n        trap = min(trap, d);\n        trap2 = min(trap2, abs(p.x));\n        acc += exp(-7.0 * d);\n    }\n    vec3 col = spectrum(acc * 0.06 + r * 0.15 - t * 0.03) * acc * acc * 0.006;\n    col += vec3(0.55, 0.70, 1.0) * glowline(trap, 0.010) * 0.34;\n    col += vec3(1.0, 0.35, 0.85) * glowline(trap2, 0.008) * 0.20;\n    return col * (0.5 + 0.5 / (1.0 + r * r));\n}\n\n// ------------------------------------------------------------\n// 24 comet-streak sparks on looping radial trajectories.\n// ------------------------------------------------------------\nvec3 sparks(vec2 uv, float t){\n    vec3 acc = vec3(0.0);\n    for (int i = 0; i < 24; i++){\n        float fi = float(i);\n        float h1 = hash21(vec2(fi, 1.3));\n        float h2 = hash21(vec2(fi, 7.7));\n        float h3 = hash21(vec2(fi, 3.1));\n        float life = fract(t * (0.10 + 0.14 * h2) + h3);\n        float ang = h1 * TAU + t * 0.04 + 0.25 * sin(t * 0.3 + fi);\n        float rad = 0.16 + life * 1.75;\n        vec2 dir = vec2(cos(ang), sin(ang));\n        vec2 q = uv - dir * rad;\n        float d = length(vec2(dot(q, dir) * 0.30, dot(q, vec2(-dir.y, dir.x))));\n        float fade = smoothstep(0.0, 0.12, life) * (1.0 - life);\n        acc += (spectrum(h1 + life * 0.35) * 0.7 + 0.5)\n             * (0.00045 / (d * d + 0.00008)) * fade;\n    }\n    return acc * 0.35;\n}\n\n// ------------------------------------------------------------\n// An eye. p local, w = half-width. Returns rgb + alpha.\n// ------------------------------------------------------------\nvec4 eyeball(vec2 p, float w, float seed, float t){\n    p /= w;\n\n    float bt = fract(t * 0.09 + seed);\n    float closeAmt = exp(-pow((bt - 0.5) / 0.030, 2.0));\n    float open = clamp(1.0 - closeAmt, 0.03, 1.0);\n\n    float lid = (1.0 - p.x * p.x) * 0.58 * open;\n    float ap = lid - abs(p.y);\n    float apMask = smoothstep(0.0, 0.05, ap) * step(abs(p.x), 1.0);\n\n    vec2 q = p - vec2(0.10 * sin(t * 0.61 + seed * 37.0),\n                      0.06 * cos(t * 0.83 + seed * 17.0));\n\n    float ir  = length(q) / 0.46;\n    float ang = atan(q.y, q.x);\n    float fib = 0.5 + 0.5 * sin(ang * 40.0 + ir * 16.0 - t * 2.4\n                                + seed * 61.0 + fbm(q * 5.0 + seed * 9.0) * 7.0);\n    float irings = 0.5 + 0.5 * sin(ir * 26.0 + t * 3.2 + seed * 9.0);\n    vec3 iris = mix(vec3(0.01, 0.06, 0.22), vec3(0.15, 0.70, 1.0), fib);\n    iris = mix(iris, spectrum(ir * 0.30 + seed + t * 0.06), 0.55);\n    iris *= 0.70 + 0.55 * irings;\n    iris *= (0.30 + 1.15 * smoothstep(1.05, 0.30, ir)) * 1.40;\n\n    // living fractal filigree woven through the iris (6-fold Kali fold)\n    float fseg = TAU / 6.0;\n    float fang = abs(mod(ang + t * 0.70 + seed * TAU, fseg) - fseg * 0.5);\n    vec2 kp = vec2(cos(fang), sin(fang)) * ir * 1.3;\n    vec2 fc = vec2(-0.78 + 0.11 * sin(t * 0.90 + seed * TAU),\n                   -0.24 + 0.10 * cos(t * 0.70 + seed * 9.0));\n    float fac = 0.0, ftrap = 1e3, ftrap2 = 1e3;\n    for (int i = 0; i < 8; i++){\n        kp = abs(kp) / max(dot(kp, kp), 1e-6) + fc;\n        ftrap = min(ftrap, abs(kp.y));\n        ftrap2 = min(ftrap2, abs(kp.x - 0.3));\n        fac += exp(-6.0 * abs(kp.y));\n    }\n    iris *= 0.62;\n    float lace1 = glowline(ftrap, 0.024);  lace1 *= lace1;\n    float lace2 = glowline(ftrap2, 0.016); lace2 *= lace2;\n    vec3 fcol = spectrum(fac * 0.10 + seed + t * 0.12) * fac * fac * 0.030;\n    fcol += vec3(0.55, 0.85, 1.0) * lace1 * 1.7;\n    fcol += vec3(1.0, 0.35, 0.90) * lace2 * 1.1;\n    iris += fcol * smoothstep(1.02, 0.80, ir) * uLace;\n\n    float pr = 0.38 + 0.055 * sin(t * 1.1 + seed * TAU);\n    float pupil = smoothstep(pr + 0.04, pr - 0.04, ir);\n\n    // sclera: dim bed + radiating energy veins + emission ripples + iridescent sheen\n    vec3 col = vec3(0.45, 0.60, 0.85) * (0.10 + 0.07 * fbm(p * 3.0));\n    float vn = pow(abs(sin(ang * 11.0 + fbm(q * 6.0 + seed * 4.0) * 4.0 + seed * TAU)), 10.0);\n    col += mix(vec3(0.55, 0.10, 0.22), vec3(0.25, 0.40, 0.95),\n               0.5 + 0.5 * sin(seed * 9.0 + ang * 2.0)) * vn * smoothstep(0.95, 1.20, ir) * 0.60;\n    float er = 0.5 + 0.5 * sin(ir * 16.0 - t * 2.8 + seed * 5.0);\n    col += vec3(0.30, 0.45, 0.95) * er * er * smoothstep(0.90, 1.30, ir) * 0.16;\n    col += spectrum(ang / TAU + seed + t * 0.03) * smoothstep(1.10, 1.60, ir) * 0.08;\n\n    col = mix(col, iris, smoothstep(1.06, 0.94, ir));\n\n    // hypnotic vortex pupil: log-spiral winding inward + pulsing violet core\n    float sw = 0.5 + 0.5 * sin(ang * 3.0 + log(max(ir, 1e-3)) * 10.0 - t * 3.5 + seed * TAU);\n    vec3 pcol = vec3(0.45, 0.10, 0.75) * pow(sw, 6.0) * 0.85;\n    pcol += vec3(0.90, 0.55, 1.0) * exp(-ir * 12.0) * (0.55 + 0.45 * sin(t * 5.0 + seed * 7.0));\n    col = mix(col, pcol, pupil);\n    col += vec3(1.0, 0.98, 0.9) * smoothstep(0.14, 0.0, length(q - vec2(0.14, 0.16))) * 0.9;\n    col *= apMask;\n\n    float rim = glowline(ap, 0.025) * smoothstep(1.25, 0.95, abs(p.x));\n    col += vec3(0.55, 0.75, 1.0) * rim * 0.55;\n\n    float alpha = max(apMask, rim * 0.75) * smoothstep(1.35, 1.05, length(p * vec2(1.0, 1.5)));\n    return vec4(col, clamp(alpha, 0.0, 1.0));\n}\n\nvec3 renderScene(vec2 uv, float t){\n    float r = length(uv);\n    float a = atan(uv.y, uv.x);\n    float breathe = 0.5 + 0.5 * sin(t * 0.45);\n\n    // glassy relief: background layers refract through it\n    float g1 = fbm(uv * 2.6 + vec2(t * 0.10, -t * 0.07));\n    float g2 = fbm(uv * 2.6 + vec2(4.7, 9.1) + vec2(-t * 0.08, t * 0.11));\n    vec2 guv = uv + vec2(g1 - 0.5, g2 - 0.5) * 0.11;\n    float gr = length(guv);\n    float ga = atan(guv.y, guv.x);\n\n    // deep indigo void with faint nebula\n    vec3 col = vec3(0.004, 0.001, 0.020);\n    float neb = fbm(guv * 1.6 + vec2(0.0, t * 0.06));\n    col += vec3(0.035, 0.010, 0.10) * neb * smoothstep(0.3, 1.5, r);\n\n    // fractal mandala filigree behind everything\n    col += fractalMandala(guv, t) * smoothstep(0.38, 0.75, r) * 0.85 * uFractal;\n\n    // universal mind lattice (log-polar tunnel)\n    float la = ga + t * 0.07;\n    float lr = log(max(gr, 1e-4));\n    vec2 gv = vec2(la / TAU * 36.0, lr * 5.0 - t * 0.55);\n    float gd = min(abs(fract(gv.x) - 0.5), abs(fract(gv.y) - 0.5));\n    float lattice = glowline(gd, 0.020);\n    float latFade = smoothstep(0.42, 0.95, r) / (1.0 + r * r * 0.8);\n    vec3 latCol = mix(vec3(0.35, 0.55, 1.0), spectrum(lr * 0.12 - t * 0.015), 0.35);\n    col += latCol * lattice * lattice * latFade * 0.42 * uLattice;\n    float nd = length(fract(gv) - 0.5);\n    float node = glowline(nd, 0.06);\n    float twinkle = 0.6 + 0.4 * sin(t * 5.0 + hash21(floor(gv)) * TAU);\n    col += vec3(0.8, 0.9, 1.0) * pow(node, 6.0) * latFade * twinkle * 0.9 * uLattice;\n\n    // glass glints sliding across the surface\n    float spec = pow(clamp(fbm(guv * 3.2 + vec2(t * 0.18, -t * 0.13)) * 1.7 - 0.62, 0.0, 1.0), 4.0);\n    col += vec3(0.75, 0.88, 1.0) * spec * 0.30 * smoothstep(0.45, 0.95, r);\n\n    // 3D fractal architecture drifting through the void\n    col += kifsGlow(uv, r, t);\n\n    // expanding pulse rings\n    float prw = fract(r * 1.4 - t * 0.45);\n    float ring = exp(-pow((prw - 0.5) * 12.0, 2.0));\n    col += spectrum(r * 0.7 - t * 0.10) * ring * smoothstep(0.30, 0.60, r) * 0.18 / (1.0 + r);\n\n    // spectral flame aura (kaleidoscopic tongues)\n    float k = 18.0;\n    float fa = abs(fract(a * k / TAU + 0.5) - 0.5) * TAU / k;\n    float fl = fbm(vec2(fa * 9.0, r * 2.4 - t * 1.5));\n    float flame = smoothstep(0.95 + 0.45 * fl, 0.48, r) * smoothstep(0.40, 0.55, r);\n    flame *= flame;\n    flame *= 0.70 + 0.40 * sin(r * 38.0 - t * 3.2);\n    col += spectrum(r * 1.7 - t * 0.12 + fl * 0.45) * flame * (0.9 + 0.5 * breathe) * uAura;\n\n    // energy meridians (fine white filaments)\n    float wob = fbm(vec2(a * 3.0, r * 2.0 - t * 0.9)) * 7.0;\n    float fil = pow(abs(sin(a * 48.0 + wob - t * 0.5)), 24.0);\n    col += vec3(0.85, 0.92, 1.0) * fil * smoothstep(0.30, 0.55, r) * smoothstep(1.35, 0.65, r) * 0.22;\n\n    // crepuscular beams sweeping to the screen edge\n    float bshim = fbm(vec2(a * 4.0 + t * 0.20, r * 0.6 - t * 0.15));\n    float beams = pow(0.5 + 0.5 * sin(a * 24.0 + t * 0.35 + bshim * 2.5), 3.0);\n    col += mix(vec3(0.55, 0.45, 1.0), spectrum(a / TAU + t * 0.02), 0.35)\n         * beams * bshim * smoothstep(0.35, 0.9, r) * 0.28 * uBeams / (0.6 + r);\n\n    // dash-darts racing outward along thin spokes\n    float dartSpoke = pow(abs(sin(a * 36.0 + t * 0.25)), 40.0);\n    float dartPulse = pow(0.5 + 0.5 * sin(r * 26.0 - t * 7.0 + sin(a * 7.0) * 2.0), 8.0);\n    col += spectrum(r * 0.8 - t * 0.15) * dartSpoke * dartPulse\n         * smoothstep(0.35, 0.6, r) * smoothstep(2.0, 0.9, r) * 1.1 * uDarts;\n\n    // gold light-spears fanning out from behind the halo\n    float sa = a - t * 0.06;\n    float sfold = abs(fract(sa * 24.0 / TAU + 0.5) - 0.5) * TAU / 24.0;\n    float staper = 0.055 * smoothstep(1.9, 0.62, r);\n    float spear = smoothstep(staper, staper * 0.25, sfold)\n                * smoothstep(0.60, 0.75, r) * smoothstep(1.9, 1.0, r);\n    col += vec3(1.0, 0.82, 0.38) * spear * (0.30 + 0.22 * sin(t * 1.1 + floor(sa * 24.0 / TAU) * 2.7)) * uSpears;\n\n    // sparks streaming out from the center\n    col += sparks(uv, t) * uSparks;\n\n    // lotus wave-rings around the third eye\n    vec3 gold = vec3(1.0, 0.78, 0.30);\n    for (int i = 0; i < 5; i++){\n        float fi = float(i);\n        float rdir = mix(1.0, -1.0, mod(fi, 2.0));\n        float n = 6.0 + fi * 5.0;\n        float wave = (0.020 - 0.0022 * fi) * cos(a * n + rdir * t * (0.7 + 0.30 * fi));\n        wave += 0.007 * sin(a * n * 2.0 - rdir * t * 1.9);\n        float rr = 0.295 + 0.047 * fi + wave + 0.006 * sin(t * 1.4 + fi * 2.1);\n        vec3 rc = mix(gold, spectrum(fi * 0.17 + t * 0.05), 0.55);\n        col += rc * glowline(abs(r - rr), 0.0030) * (0.8 - 0.09 * fi);\n    }\n\n    // visual frequency bands: circular oscilloscope traces\n    for (int i = 0; i < 5; i++){\n        float fi = float(i);\n        float freq = 3.0 * pow(2.0, fi);\n        float amp = 0.055 / (1.0 + fi * 0.55);\n        float wdir = mix(1.0, -1.0, mod(fi, 2.0));\n        float wave = sin(a * freq + wdir * t * (1.4 + 0.9 * fi));\n        wave += 0.35 * sin(a * freq * 0.5 - wdir * t * 2.2);\n        float dd = abs(r - (0.80 + 0.11 * fi + amp * wave));\n        col += spectrum(0.02 + fi * 0.15 - t * 0.03) * glowline(dd, 0.0035)\n             * 0.5 * smoothstep(0.70, 0.85, r) * smoothstep(1.9, 1.2, r);\n    }\n\n    // radiance behind the third eye\n    col += vec3(0.45, 0.35, 0.95) * exp(-r * 4.0) * (1.0 + 0.5 * breathe + 0.18 * sin(t * 6.0));\n    float rays = pow(0.5 + 0.5 * sin(a * 60.0 + t * 0.6), 10.0) * exp(-r * 2.2);\n    rays += pow(0.5 + 0.5 * sin(a * 36.0 - t * 0.45), 12.0) * exp(-r * 1.8) * 0.7;\n    col += vec3(0.9, 0.9, 1.0) * rays * 0.35;\n\n    // fractal medallion behind the third eye:\n    // two counter-rotating Kali layers at different scales -> parallax depth\n    float mm = smoothstep(0.42, 0.30, r);\n    for (int i = 0; i < 2; i++){\n        float fi = float(i);\n        float mdir = mix(1.0, -1.0, fi);\n        float mseg = TAU / 8.0;\n        float mang = abs(mod(a + mdir * t * (0.10 + 0.06 * fi), mseg) - mseg * 0.5);\n        vec2 mp = vec2(cos(mang), sin(mang)) * r * (5.5 + fi * 3.5);\n        vec2 mc = vec2(-0.72 - 0.05 * fi + 0.06 * sin(t * 0.40 + fi * 2.0),\n                       -0.26 + 0.05 * cos(t * 0.31 + fi * 3.0));\n        float macc = 0.0, mtrap = 1e3;\n        for (int j = 0; j < 7; j++){\n            mp = abs(mp) / max(dot(mp, mp), 1e-6) + mc;\n            mtrap = min(mtrap, abs(mp.y));\n            macc += exp(-6.0 * abs(mp.y));\n        }\n        float ml = glowline(mtrap, 0.018); ml *= ml;\n        vec3 mcol = spectrum(macc * 0.08 + fi * 0.4 + t * 0.04) * macc * macc * 0.010 * (1.0 - 0.4 * fi);\n        mcol += mix(vec3(0.70, 0.60, 1.0), vec3(1.0, 0.80, 0.40), fi) * ml * (0.8 - 0.3 * fi);\n        col += mcol * mm * uCenter;\n    }\n\n    // halo of twelve eyes (orbiting, ring radius breathing)\n    float rh = 0.62 + 0.015 * sin(t * 0.8);\n    float ha = a + t * 0.12;\n    float sector = mod(floor(ha / TAU * 12.0 + 0.5), 12.0);\n    float ca = floor(ha / TAU * 12.0 + 0.5) * TAU / 12.0;\n    float da = ha - ca;\n    vec2 ep = vec2(da * rh, r - rh);\n    float seed = hash21(vec2(sector, 3.7));\n    col += vec3(0.25, 0.35, 0.9) * exp(-pow((r - rh) * 8.0, 2.0)) * (0.30 + 0.15 * breathe);\n    vec4 he = eyeball(ep, 0.115, seed, t);\n    col = mix(col, he.rgb, he.a);\n\n    // the central third eye (softly swelling)\n    vec4 ce = eyeball(uv, 0.24 + 0.012 * sin(t * 1.2), 0.618, t * 0.55);\n    col = mix(col, ce.rgb, ce.a);\n\n    return col;\n}\n\nvoid main(){\n    vec2 uv = (2.0 * gl_FragCoord.xy - RENDERSIZE) / RENDERSIZE.y;\n    float t = TIME * uTempo;\n\n    vec3 col = renderScene(uv, t);\n\n    // finish: hue, saturate, tone map, gamma, vignette\n    col = max(hueShift(col, uHue + t * uHueSpeed), 0.0);\n    float lum = dot(col, vec3(0.299, 0.587, 0.114));\n    col = max(mix(vec3(lum), col, uSat), 0.0);\n    col *= 1.1;\n    col = col / (1.0 + col);\n    col = pow(col, vec3(0.4545));\n    col = mix(col, col * col * (3.0 - 2.0 * col), uContrast);\n    col = pow(col, vec3(1.06));\n    vec2 vuv = gl_FragCoord.xy / RENDERSIZE;\n    col *= 0.30 + 0.70 * pow(16.0 * vuv.x * vuv.y * (1.0 - vuv.x) * (1.0 - vuv.y), 0.22);\n\n    gl_FragColor = vec4(col, 1.0);\n}\n",
    "generator": {
      "model": "claude-fable-5",
      "provider": null,
      "prompt": null,
      "params": null
    }
  }
}