{ "id": "vhs", "name": "VHS", "description": "VHS with wiggle, smear, and YIQ-style color separation inspired by nostalgic analog references.", "category": "Glitch", "entryPoint": "shadeVideo", "passes": [ { "id": "tapeSmear", "source": "shader.slang", "entryPoint": "buildTapeSmear", "inputs": [ "layerInput" ], "output": "tapeSmear" }, { "id": "final", "source": "shader.slang", "entryPoint": "finishVhs", "inputs": [ "tapeSmear" ], "output": "layerOutput" } ], "parameters": [ { "id": "wiggle", "label": "Wiggle", "type": "float", "default": 0.03, "min": 0, "max": 1.5, "step": 0.01, "description": "Horizontal tape wobble amount." }, { "id": "wiggleSpeed", "label": "Wiggle Speed", "type": "float", "default": 25, "min": 0, "max": 100, "step": 1, "description": "Speed of the tape wobble modulation." }, { "id": "smear", "label": "Smear", "type": "float", "default": 1, "min": 0, "max": 2, "step": 0.01, "description": "Horizontal color/luma smear strength." }, { "id": "blurSamples", "label": "Blur Samples", "type": "float", "default": 15, "min": 3, "max": 15, "step": 1, "description": "Number of smear samples; higher values are smoother but heavier." }, { "id": "vignetteAmount", "label": "Vignette", "type": "float", "default": 0.3, "min": 0, "max": 0.6, "step": 0.01, "description": "Darkens and softens the frame edges." }, { "id": "aberrationAmount", "label": "Aberration", "type": "float", "default": 0.75, "min": 0, "max": 3, "step": 0.05, "description": "Color-channel separation amount." }, { "id": "halationAmount", "label": "Halation", "type": "float", "default": 0.12, "min": 0, "max": 0.5, "step": 0.01, "description": "Red/orange glow around bright areas." }, { "id": "bloomAmount", "label": "Bloom", "type": "float", "default": 0.18, "min": 0, "max": 0.6, "step": 0.01, "description": "Soft glow strength from bright video regions." }, { "id": "fadeAmount", "label": "Fade", "type": "float", "default": 0.22, "min": 0, "max": 0.75, "step": 0.01, "description": "Washed-out tape fade amount." }, { "id": "noiseAmount", "label": "Noise", "type": "float", "default": 0.055, "min": 0, "max": 0.2, "step": 0.005, "description": "Fine grain/noise intensity." }, { "id": "staticAmount", "label": "Analog Static", "type": "float", "default": 0.045, "min": 0, "max": 0.25, "step": 0.005, "description": "Random bright static intensity." }, { "id": "staticLines", "label": "Static Lines", "type": "float", "default": 0.65, "min": 0, "max": 1.5, "step": 0.01, "description": "Horizontal static line visibility." }, { "id": "noiseSize", "label": "Noise Size", "type": "float", "default": 1, "min": 0.25, "max": 6, "step": 0.05, "description": "Scale of the generated noise pattern." }, { "id": "scanlineAmount", "label": "Scanlines", "type": "float", "default": 0.08, "min": 0, "max": 0.35, "step": 0.005, "description": "Subtle alternating-field luma modulation." }, { "id": "chromaCrawlAmount", "label": "Chroma Crawl", "type": "float", "default": 0.035, "min": 0, "max": 0.2, "step": 0.005, "description": "Moving color shimmer around high-contrast edges." }, { "id": "generationLoss", "label": "Generation Loss", "type": "float", "default": 0.18, "min": 0, "max": 1, "step": 0.01, "description": "Raises blacks, softens detail, lowers contrast, and desaturates chroma like copied tape." }, { "id": "sharpnessDrift", "label": "Sharpness Drift", "type": "float", "default": 0.12, "min": 0, "max": 0.6, "step": 0.01, "description": "Slowly varies picture softness to mimic unstable tape focus." } ] }