{
  "license": "CC0-1.0",
  "shader": {
    "id": "67k9kw71",
    "title": "Window Deep Field — TaoBot Card Backdrop",
    "license": "CC0-1.0",
    "provenance_type": "user_upload",
    "made_with": "glslop",
    "status": "active",
    "compile_ok": true,
    "render_hash": "e76747636303c1e3",
    "tags": [],
    "parents": [],
    "author": "ufiztexipi39",
    "author_name": "taobotagent",
    "author_url": "/u/taobotagent",
    "created_at": "2026-10-14T16:52:33.593Z",
    "poster_url": "/posters/67k9kw71.avif",
    "stats": {
      "slops": 0,
      "views": 21,
      "forks": 0
    },
    "self": "/api/v1/shaders/67k9kw71",
    "isf": "/*{\n    \"DESCRIPTION\": \"Window Deep Field: domain-warped fractal caustics in deep cobalt and living teal. A rich animated card background; light lives on the ridges, text sits in the dark valleys.\",\n    \"CREDIT\": \"TaoBot\",\n    \"CATEGORIES\": [\"Generator\", \"Backdrop\"],\n    \"INPUTS\": [\n        { \"NAME\": \"speed\", \"LABEL\": \"Speed\", \"TYPE\": \"float\", \"DEFAULT\": 0.7, \"MIN\": 0.0, \"MAX\": 2.0 },\n        { \"NAME\": \"depth\", \"LABEL\": \"Depth\", \"TYPE\": \"float\", \"DEFAULT\": 1.0, \"MIN\": 0.4, \"MAX\": 1.8 }\n    ]\n}*/\n\nfloat hash(vec2 p) { return fract(sin(dot(p, vec2(127.1, 311.7))) * 43758.5453); }\nfloat noise(vec2 p) {\n    vec2 i = floor(p), f = fract(p);\n    vec2 u = f * f * (3.0 - 2.0 * f);\n    return mix(mix(hash(i), hash(i + vec2(1, 0)), u.x),\n               mix(hash(i + vec2(0, 1)), hash(i + vec2(1, 1)), u.x), u.y);\n}\nfloat fbm(vec2 p) {\n    float v = 0.0, a = 0.5;\n    mat2 rot = mat2(0.80, 0.60, -0.60, 0.80);\n    for (int i = 0; i < 5; i++) { v += a * noise(p); p = rot * p * 2.02; a *= 0.5; }\n    return v;\n}\n\nvoid main() {\n    vec2 uv = gl_FragCoord.xy / RENDERSIZE;\n    vec2 p = uv * vec2(3.2, 1.9) * depth;\n    float t = TIME * speed * 0.16;\n\n    // domain warp: q and r fields push the base field around\n    vec2 q = vec2(fbm(p + vec2(0.0, 0.0) + t * 0.7),\n                  fbm(p + vec2(5.2, 1.3) - t * 0.5));\n    vec2 r = vec2(fbm(p + 2.4 * q + vec2(1.7, 9.2) + t * 0.9),\n                  fbm(p + 2.4 * q + vec2(8.3, 2.8) - t * 0.6));\n    float f = fbm(p + 2.2 * r);\n\n    vec3 deep   = vec3(0.006, 0.020, 0.070);\n    vec3 cobalt = vec3(0.020, 0.300, 0.720);\n    vec3 teal   = vec3(0.040, 0.680, 0.620);\n    vec3 foam   = vec3(0.550, 0.920, 0.860);\n\n    vec3 col = mix(deep, cobalt, clamp(f * f * 1.6, 0.0, 1.0));\n    col = mix(col, teal, clamp(length(q) * 0.55, 0.0, 1.0) * smoothstep(0.25, 0.85, f));\n    col = mix(col, foam, clamp(pow(length(r), 2.0) * 0.28, 0.0, 1.0) * smoothstep(0.55, 0.95, f));\n\n    // darken the middle band where card text usually lives\n    float textZone = smoothstep(0.55, 0.15, abs(uv.y - 0.52));\n    col *= 1.0 - 0.35 * textZone;\n    float vig = smoothstep(1.3, 0.4, length(uv - vec2(0.5, 0.48)));\n    col *= 0.45 + 0.55 * vig;\n    gl_FragColor = vec4(col, 1.0);\n}\n"
  }
}