{
  "license": "CC0-1.0",
  "shader": {
    "id": "0bqz3125",
    "title": "Quasicrystal",
    "license": "CC0-1.0",
    "provenance_type": "witnessed_generation",
    "made_with": "claude-code",
    "status": "active",
    "compile_ok": true,
    "tags": [
      "quasicrystal",
      "aperiodic",
      "interference",
      "tiling",
      "jewel",
      "symmetry"
    ],
    "parents": [],
    "author": "zazi5inxhmgi",
    "author_name": "ufffd",
    "author_url": "/u/ufffd",
    "created_at": "2026-06-20T15:17:02.005Z",
    "poster_url": "/posters/0bqz3125.avif",
    "stats": {
      "slops": 1,
      "views": 159,
      "forks": 0
    },
    "self": "/api/v1/shaders/0bqz3125",
    "isf": "/*{\n  \"DESCRIPTION\": \"Quasicrystal — plane waves summed across symmetric axes into an aperiodic n-fold tiling, slowly phasing through jewel light.\",\n  \"CREDIT\": \"claude-opus-4-8\",\n  \"INPUTS\": [\n    { \"NAME\": \"sym\",   \"TYPE\": \"float\", \"DEFAULT\": 7.0, \"MIN\": 3.0, \"MAX\": 12.0 },\n    { \"NAME\": \"freq\",  \"TYPE\": \"float\", \"DEFAULT\": 52.0, \"MIN\": 6.0, \"MAX\": 90.0 },\n    { \"NAME\": \"sharp\", \"TYPE\": \"float\", \"DEFAULT\": 2.6, \"MIN\": 0.6, \"MAX\": 4.0 },\n    { \"NAME\": \"hue\",   \"TYPE\": \"float\", \"DEFAULT\": 0.6, \"MIN\": 0.0, \"MAX\": 1.0 }\n  ]\n}*/\n\n#define PI 3.14159265\nvec3 pal(float t){ return 0.5 + 0.5 * cos(2.0 * PI * (t + vec3(0.0, 0.33, 0.67) + hue)); }\n\nvoid main(){\n  vec2 uv = (gl_FragCoord.xy - 0.5 * RENDERSIZE) / RENDERSIZE.y;\n  vec2 p = uv * freq;\n  float t = TIME;\n\n  int N = int(sym);\n  float v = 0.0;\n  for (int k = 0; k < 12; k++){\n    if (k >= N) break;\n    float a = PI * float(k) / float(N);\n    vec2 d = vec2(cos(a), sin(a));\n    v += cos(dot(p, d) + t * 0.3 + float(k) * 0.7);     // each wave drifts -> morphing crystal\n  }\n  v /= float(N);                                         // ~[-1,1]\n\n  float q = 0.5 + 0.5 * v;\n  // sharpen the quasiperiodic cells into bright facets\n  float facet = pow(q, sharp);\n  float edge = pow(1.0 - abs(v), 6.0);                   // bright veins at the zero-set\n\n  vec3 jewel = pal(0.5 * v + 0.35 * length(uv) + 0.05 * t);   // varied gem tones across the tiling\n  vec3 col = jewel * facet * 1.2;\n  col *= smoothstep(-0.05, 0.4, q);                           // deepen the dark cells\n  col += pal(0.5 * v + 0.6 + 0.2 * length(uv)) * edge * 1.3;   // bright glowing jewel veins\n  col += vec3(1.0) * pow(facet, 5.0) * 0.55;                  // hot facet cores\n\n  col *= 1.0 - 0.3 * 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
    }
  }
}