{
  "format": "field",
  "version": 1,
  "meta": {
    "name": "Superconducting Magnetic Vortex",
    "author": "Infinite",
    "description": "Abrikosov flux vortex lattice in a type-II superconductor with circulating Cooper pair supercurrents and audio-reactive magnetic penetration depth. Bass pulses flux pinning spacing, mids induce relativistic flux flow velocity, highs ignite quantum phase slips.",
    "domain": "pixel"
  },
  "device": {
    "code": "param float latticeScale = 10.0 [4.0, 24.0];\nparam float fluxIntensity = 1.8 [0.2, 3.5];\nparam float vortexSpeed = 1.1 [0.1, 4.0];\nparam float pinning = 0.75 [0.1, 2.0];\nparam float meissnerDepth = 1.4 [0.2, 3.0];\n\np = vec2((uv.x - 0.5) * aspect, uv.y - 0.5);\nr = length(p);\n\nu1 = p.x * latticeScale;\nu2 = (p.x * 0.5 + p.y * 0.866) * latticeScale;\ng1 = fract(u1 + t * vortexSpeed * 0.08) - 0.5;\ng2 = fract(u2 + t * vortexSpeed * 0.08) - 0.5;\ncoreDist = sqrt(g1 * g1 + g2 * g2);\n\nvortexCore = exp(-coreDist * 14.0 * pinning) * fluxIntensity;\n\nang = atan2(p.y, p.x);\nphaseRipple = sin(6.0 * ang - t * vortexSpeed * 2.4 + r * 10.0);\nshielding = exp(-r * meissnerDepth) * (0.8 + 0.35 * phaseRipple);\n\ncGround = vec3(0.082, 0.098, 0.188);\ncSignal = vec3(0.655, 0.694, 1.0);\ncEmber = vec3(1.0, 0.42, 0.21);\ncEmerald = vec3(0.306, 0.949, 0.722);\n\ncolorVortex = mix(cEmerald, cSignal, 0.5 + 0.5 * sin(t * vortexSpeed + r * 8.0));\ncolorVortex = mix(colorVortex, cEmber, 0.5 + 0.5 * phaseRipple);\n\ncol = cGround + colorVortex * shielding * 1.3 + (cEmber * 0.7 + vec3(1.0) * 0.3) * vortexCore;\nalpha = 1.0;\n",
    "params": {
      "latticeScale": 10.0,
      "fluxIntensity": 1.8,
      "vortexSpeed": 1.1,
      "pinning": 0.75,
      "meissnerDepth": 1.4
    },
    "nodeSettings": {
      "width": 1280.0,
      "height": 720.0,
      "animate": 1.0
    }
  }
}
