{
  "format": "field",
  "version": 1,
  "meta": {
    "name": "Y2K Acid Liquid Matrix",
    "author": "Infinite",
    "description": "Audio-reactive fluid chrome displacement grid with undulating iridescent ripples, acid magenta caustics, and specular metallic contours.",
    "domain": "pixel"
  },
  "device": {
    "code": "param float waveScale = 6.0 [2.0, 16.0]\nparam float waveSpeed = 0.9 [0.1, 2.5]\nparam float metallicGloss = 1.3 [0.4, 2.8]\nparam float causticDepth = 0.8 [0.1, 2.0]\nparam float chromaticShift = 0.38 [0.05, 1.0]\n\np = vec2((uv.x - 0.5) * aspect, uv.y - 0.5) * 2.0\ntime = t * waveSpeed\n\nw1 = sin(p.x * waveScale + time) * cos(p.y * waveScale * 0.8 + time * 0.8)\nw2 = sin((p.x + p.y) * waveScale * 0.6 - time * 1.2) * 0.5\nliquid = w1 + w2\n\ndist = length(p)\ncaustic = pow(abs(liquid), 3.0) * causticDepth\n\ngx = sin(p.x * 14.0 + liquid * 3.0)\ngy = cos(p.y * 14.0 + liquid * 3.0)\ngrid = (smoothstep(0.85, 0.98, abs(gx)) + smoothstep(0.85, 0.98, abs(gy))) * 0.5\n\nspec = pow(max(0.0, sin(liquid * 4.0 + time)), 6.0) * metallicGloss\n\ncDark = vec3(0.067, 0.067, 0.133)\ncMagenta = vec3(1.0, 0.0, 0.498)\ncCyan = vec3(0.0, 1.0, 1.0)\ncChrome = vec3(0.878, 0.878, 0.878)\n\nirid = sin(vec3(0.0, 2.1, 4.2) + liquid * 3.0 + time) * 0.5 + 0.5\n\ncol = mix(cDark, cMagenta, caustic * 0.8)\ncol = mix(col, cCyan, grid * 0.7 + irid * chromaticShift)\ncol = mix(col, cChrome, spec * 0.85 + (1.0 - smoothstep(0.0, 1.2, dist)) * 0.25)\n\nout = clamp(col, 0.0, 1.0)\n",
    "params": {
      "waveScale": 6.0,
      "waveSpeed": 0.9,
      "metallicGloss": 1.3,
      "causticDepth": 0.8,
      "chromaticShift": 0.38
    },
    "nodeSettings": {
      "width": 1080.0,
      "height": 1080.0,
      "animate": 1.0
    }
  }
}