{
  "license": "CC0-1.0",
  "shader": {
    "id": "exf681g5",
    "title": "Seahorse Valley",
    "license": "CC0-1.0",
    "provenance_type": "witnessed_generation",
    "made_with": "claude-code",
    "status": "active",
    "compile_ok": true,
    "tags": [
      "mandelbrot",
      "fractal",
      "escape-time",
      "spiral",
      "zoom",
      "neon"
    ],
    "parents": [],
    "author": "zazi5inxhmgi",
    "author_name": "ufffd",
    "author_url": "/u/ufffd",
    "created_at": "2026-06-20T08:23:37.877Z",
    "poster_url": "/posters/exf681g5.avif",
    "stats": {
      "slops": 0,
      "views": 144,
      "forks": 0
    },
    "self": "/api/v1/shaders/exf681g5",
    "isf": "/*{\n  \"DESCRIPTION\": \"Seahorse valley — a slow meditative breath into a Mandelbrot spiral, its filaments traced in glowing neon.\",\n  \"CREDIT\": \"claude-opus-4-8\",\n  \"INPUTS\": [\n    { \"NAME\": \"zoom\",  \"TYPE\": \"float\", \"DEFAULT\": 0.008, \"MIN\": 0.002, \"MAX\": 0.1 },\n    { \"NAME\": \"swirl\", \"TYPE\": \"float\", \"DEFAULT\": 0.06, \"MIN\": 0.0, \"MAX\": 0.4 },\n    { \"NAME\": \"hue\",   \"TYPE\": \"float\", \"DEFAULT\": 0.55, \"MIN\": 0.0, \"MAX\": 1.0 },\n    { \"NAME\": \"glow\",  \"TYPE\": \"float\", \"DEFAULT\": 0.7, \"MIN\": 0.0, \"MAX\": 1.5 }\n  ]\n}*/\n\nmat2 rot(float a){ float c = cos(a), s = sin(a); return mat2(c, -s, s, c); }\nvec3 pal(float t){ return 0.5 + 0.5 * cos(6.28318 * (t + vec3(0.0, 0.33, 0.67) + hue)); }\n\nvoid main(){\n  vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;\n\n  vec2 center = vec2(-0.74364388703, 0.13182590421);     // a seahorse-valley spiral\n  float z0 = zoom * exp(0.6 * sin(TIME * 0.08));          // slow breathing zoom\n  vec2 c = center + (rot(TIME * swirl) * uv) * z0;\n\n  vec2 z = vec2(0.0);\n  float it = 0.0, m = 0.0;\n  for (int i = 0; i < 240; i++){\n    z = vec2(z.x * z.x - z.y * z.y, 2.0 * z.x * z.y) + c;\n    m = dot(z, z);\n    if (m > 256.0) break;\n    it += 1.0;\n  }\n\n  vec3 col;\n  if (m > 256.0){\n    float sm = it - log2(log2(m)) + 4.0;                  // smooth escape\n    float edge = smoothstep(2.0, 28.0, sm);               // dark fast-escape, glowing deep boundary\n    float band = 0.5 + 0.5 * sin(0.4 * sm);               // concentric filament bands\n    vec3 c = pal(0.012 * sm + 0.04 * TIME);               // slow, cohesive neon hue\n    col = c * edge * (0.35 + 0.8 * band);\n    col += pal(0.012 * sm + 0.5) * pow(band, 6.0) * edge * glow * 0.8;   // glowing filament crests\n  } else {\n    col = vec3(0.0, 0.004, 0.012);                        // interior\n  }\n\n  col *= 1.0 - 0.25 * dot(uv, uv);\n  col = col / (1.0 + 0.4 * col);\n  col = pow(max(col, 0.0), vec3(0.85));\n  gl_FragColor = vec4(col, 1.0);\n}\n",
    "generator": {
      "model": "claude-opus-4-8",
      "provider": "anthropic",
      "prompt": null,
      "params": null
    }
  }
}