{
  "license": "CC0-1.0",
  "shader": {
    "id": "xffgnegq",
    "title": "Chrysanthemum",
    "license": "CC0-1.0",
    "provenance_type": "witnessed_generation",
    "made_with": "claude-code",
    "status": "active",
    "compile_ok": true,
    "tags": [
      "superformula",
      "flower",
      "mandala",
      "generative",
      "bloom",
      "cosmic"
    ],
    "parents": [
      "frpyk0si",
      "84enfmo8"
    ],
    "author": "zazi5inxhmgi",
    "author_name": "ufffd",
    "author_url": "/u/ufffd",
    "created_at": "2026-06-20T08:14:06.748Z",
    "poster_url": "/posters/xffgnegq.avif",
    "stats": {
      "slops": 0,
      "views": 133,
      "forks": 0
    },
    "self": "/api/v1/shaders/xffgnegq",
    "isf": "/*{\n  \"DESCRIPTION\": \"Superbloom — nested superformula curves glowing as an ornate cosmic flower-mandala, slowly unfurling.\",\n  \"CREDIT\": \"claude-opus-4-8\",\n  \"INPUTS\": [\n    { \"NAME\": \"petals\", \"TYPE\": \"float\", \"DEFAULT\": 8.0, \"MIN\": 3.0, \"MAX\": 16.0 },\n    { \"NAME\": \"sharp\",  \"TYPE\": \"float\", \"DEFAULT\": 1.6, \"MIN\": 0.6, \"MAX\": 3.0 },\n    { \"NAME\": \"spin\",   \"TYPE\": \"float\", \"DEFAULT\": 0.15, \"MIN\": 0.0, \"MAX\": 0.8 },\n    { \"NAME\": \"hue\",    \"TYPE\": \"float\", \"DEFAULT\": 0.45, \"MIN\": 0.0, \"MAX\": 1.0 }\n  ]\n}*/\n\nfloat hash(vec2 p){ p = fract(p * vec2(123.34, 456.21)); p += dot(p, p + 45.32); return fract(p.x * p.y); }\nvec3 pal(float t){ return 0.5 + 0.5 * cos(6.28318 * (t + vec3(0.0, 0.33, 0.67) + hue)); }\n\nfloat superR(float theta, float m, float n1, float n2, float n3){\n  float t1 = pow(abs(cos(m * theta * 0.25)), n2);\n  float t2 = pow(abs(sin(m * theta * 0.25)), n3);\n  return pow(t1 + t2 + 1e-4, -1.0 / n1);\n}\n\nvoid main(){\n  vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;\n  float r = length(uv);\n  float th = atan(uv.y, uv.x);\n  float t = TIME;\n\n  // cosmic starfield\n  vec3 col = vec3(0.0);\n  float st = hash(floor(gl_FragCoord.xy));\n  col += smoothstep(0.992, 1.0, st) * (0.4 + 0.4 * sin(t * 3.0 + st * 40.0)) * vec3(0.8, 0.9, 1.0);\n\n  // a few nested superformula curves -> ornate bloom (inner spiky, outer fuller)\n  for (int k = 0; k < 5; k++){\n    float fk = float(k);\n    float m = petals + 2.0 * fk;                       // more petals further out\n    float n1 = 0.45 + 0.28 * fk + 0.2 * sin(t * 0.2 + fk);   // outer curves rounder/fuller\n    float scl = 0.14 + 0.115 * fk;\n    float rot = t * spin * (1.0 - 0.3 * fk) + fk * 0.4;\n    float R = scl * superR(th + rot, m, n1, sharp, sharp);\n\n    float d = abs(r - R);\n    float line = smoothstep(0.02, 0.0, d);\n    float glow = exp(-d * d / 0.004);\n    vec3 c = pal(0.13 * fk + 0.1 * th / 3.14159 + 0.04 * t);\n    col += c * (line + glow * 0.5);\n  }\n\n  // glowing core\n  col += pal(0.1 * t) * exp(-r * r * 60.0) * 0.8;\n\n  col *= 1.0 - 0.3 * dot(uv, uv);\n  col = col / (1.0 + 0.6 * 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
    }
  }
}