{
  "schemaVersion": 1,
  "id": "wallive-soft-aurora-glow",
  "name": "Wallive Soft Aurora Glow",
  "enabled": true,
  "mode": "glow",
  "presetID": "calm",
  "renderQuality": "balanced",
  "parameters": {
    "intensity": 0.92,
    "hue": 0.55,
    "speed": 0.62,
    "range": 1.18,
    "bassSensitivity": 0.85,
    "beatSensitivity": 0.55,
    "edgeGlint": 0.38
  },
  "glowShader": "float4 islandCustomGlow(float2 frag, float2 uv, constant GlowUniforms& u) {\n    float2 p = frag - u.islandCenter;\n    float2 halfSize = u.islandSize * 0.5;\n    float d = sdRoundedBox(p, halfSize, u.cornerRadius);\n    float outside = max(d, 0.0);\n    float outsideMask = smoothstep(0.0, 12.0, d);\n    float speed = max(u.shaderParameters.x, 0.18);\n    float range = max(u.shaderParameters.y, 0.35);\n    float bass = clamp(u.bass, 0.0, 1.0);\n    float mid = clamp(u.mid, 0.0, 1.0);\n    float beat = clamp(u.beat, 0.0, 1.0);\n    float treble = clamp(u.treble, 0.0, 1.0);\n    float broadWave = 0.5 + 0.5 * sin(p.x * 0.018 + p.y * 0.012 + u.time * speed * 1.7 + noise(uv * 2.0) * 1.1);\n    float slowBreath = 0.72 + 0.28 * sin(u.time * speed * 2.1 + broadWave * 1.4);\n    float edgeGlow = exp(-outside / max(28.0 * range + bass * 22.0, 1.0));\n    float roomGlow = exp(-outside / max(88.0 * range + mid * 18.0, 1.0));\n    float2 fade = min(uv, 1.0 - uv);\n    float edgeFeather = smoothstep(0.0, 0.16, fade.x) * smoothstep(0.0, 0.20, fade.y);\n    float hue = u.shaderParameters.w + u.hueShift * 0.08 + broadWave * 0.035 + treble * 0.025;\n    float3 nearColor = islandHSV(float3(hue, 0.54, 1.0));\n    float3 farColor = islandHSV(float3(hue + 0.08, 0.40, 0.72));\n    float3 color = mix(farColor, nearColor, edgeGlow);\n    float alpha = (edgeGlow * 0.24 + roomGlow * 0.18) * outsideMask * edgeFeather;\n    alpha *= u.intensity * (slowBreath + beat * 0.10);\n    return float4(color, clamp(alpha, 0.0, 0.46));\n}"
}
