{
  "format": "field",
  "version": 1,
  "meta": {
    "name": "Holographic Iridescent Prismatic Flux",
    "author": "Infinite",
    "description": "Multi-layered prismatic crystal dispersion with rotating Fresnel polarization angles, liquid metallic sheen, and spectral caustic flares.",
    "domain": "pixel"
  },
  "device": {
    "code": "param float facetCount = 7.0 [3.0, 14.0]\nparam float fluxSpeed = 0.6 [0.1, 2.0]\nparam float polarization = 1.6 [0.2, 3.5]\nparam float sheen = 0.75 [0.1, 1.5]\n\np = vec2((uv.x - 0.5) * aspect, uv.y - 0.5) * 2.6\nr = length(p)\nang = atan2(p.y, p.x)\ntime = t * fluxSpeed\n\nfacet = cos(ang * facetCount + time * 1.1)\nring = sin(r * 9.5 - time * 1.8 + facet * 0.8)\nwarp = sin(p.x * 4.5 + p.y * 4.0 + time)\n\ndisp = r * polarization + ring * 0.45 + warp * 0.35\n\nf1 = clamp(sin(disp * 3.0 + 0.0) * 0.5 + 0.5, 0.0, 1.0)\nf2 = clamp(sin(disp * 3.0 + 2.094) * 0.5 + 0.5, 0.0, 1.0)\nf3 = clamp(sin(disp * 3.0 + 4.188) * 0.5 + 0.5, 0.0, 1.0)\n\ncDeep = vec3(0.05, 0.04, 0.10)\ncCyan = vec3(0.663, 0.941, 1.0)\ncPink = vec3(1.0, 0.702, 0.961)\ncLime = vec3(0.839, 1.0, 0.620)\ncWhite = vec3(1.0, 1.0, 1.0)\n\nbase = mix(cDeep, cCyan, f1)\nbase = mix(base, cPink, f2 * 0.75)\nbase = mix(base, cLime, f3 * 0.55)\n\nglint = pow(max(0.0, sin(ang * facetCount * 2.0 - time * 3.0)), 12.0) * sheen\ncol = mix(base, cWhite, glint)\nalpha = 1.0\n",
    "params": {
      "facetCount": 7.0,
      "fluxSpeed": 0.6,
      "polarization": 1.6,
      "sheen": 0.75
    },
    "nodeSettings": {
      "width": 1080.0,
      "height": 1080.0,
      "animate": 1.0
    }
  }
}