{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://openvisual.org/schema/vss-snow/1.0",
  "title": "OVS: Visual Snow (VSS)",
  "description": "Persistent TV-static-like visual noise. The defining symptom of Visual Snow Syndrome. Extends ovs:visual-noise.",
  "allOf": [
    { "$ref": "https://openvisual.org/schema/symptom-base/1.0" },
    {
      "type": "object",
      "properties": {
        "ovs_type":    { "const": "ovs:vss-snow" },
        "alpha":       { "type": "number", "minimum": 0, "maximum": 1, "description": "Noise layer opacity" },
        "speed":       { "type": "number", "minimum": 0, "maximum": 1, "description": "Animation velocity" },
        "grain_size":  { "type": "number", "minimum": 0, "maximum": 1, "description": "Individual grain size" },
        "pattern":    { "type": "string", "enum": ["random", "perlin_noise"], "description": "Noise generation algorithm" },
        "color_mode": { "type": "string", "enum": ["white", "color"], "description": "Snow color mode" },
        "color_rgba": { "type": "string", "description": "CSS color string — used when color_mode is color" }
      }
    }
  ]
}
