{
  "version": "0.2.0",
  "generated_at": "2026-04-11T18:13:03Z",
  "valid_until": "2026-05-11T18:13:03Z",
  "gpuppies": {
    "bokeh-glow": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:66ba41bfb6c94c7b258e95075709f3381408af864528a932a9cb1bef938b3512",
      "name": "Bokeh Glow",
      "category": "Filter",
      "description": "Threshold bloom with bokeh-shaped highlights via power-weighted disc blur"
    },
    "decoder-glitch": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:5ad2b58a37b694ac31d07e2640870a00e592304000e0ffc637e467db60b28210",
      "name": "Decoder Glitch",
      "category": "Glitch",
      "description": "1D-flattened pixel displacement with cascading row overflow and per-index colour scatter"
    },
    "diamond-grid": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:addb720abadcf6a96f5b1231d71c5bf36da027b4e772d7464c470379730ee164",
      "name": "Diamond Grid",
      "category": "Generative",
      "description": "Tiled diamond grid with radial wave sweep"
    },
    "dither": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:6b9875e24d1030eec5e55fca7d13ae2725ab03a2412af2c692aa06290fbedc3f",
      "name": "Dither",
      "category": "Stylize",
      "description": "Ordered dithering with Bayer 4x4, pixelization, quantization and retro palettes"
    },
    "jpeg": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:672d9053d926b4c3cb2e7e3a17bc66bf39026088bd00d5100ce01ad59e10509d",
      "name": "JPEG",
      "category": "Glitch",
      "description": "Real JPEG compression: 8x8 block DCT, luma/chroma quantization, pseudo 4:2:0 chroma subsampling, IDCT in YCbCr space"
    },
    "julia-fractal": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:3d48460a68ec71f996629e2497ad768837ecb5726170c3646422bd6269cf0299",
      "name": "Julia Fractal",
      "category": "Generative",
      "description": "Animated Julia-set fractal with orbit trap coloring and AO"
    },
    "juliabulb": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:d734ce7c7131117ad8b22929853561bf739144d836d813d060cfa48c0a4b538f",
      "name": "Juliabulb",
      "category": "Generative",
      "description": "Power-based 3D Julia bulb with adjustable shape parameters"
    },
    "lens-blur": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:82486dbfed031eab5f1f83b2dad14f20735b21b129cd7940f10746aed648597e",
      "name": "Lens Blur",
      "category": "Filter",
      "description": "Depth-driven bokeh blur with spectral chromatic aberration"
    },
    "mpeg-glitch": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:b812a57e56b6e5e16520ca1bc3736df2ca1bd0c3488b20c1640f86949d7a7d26",
      "name": "MPEG Glitch",
      "category": "Glitch",
      "description": "MPEG-style macroblock corruption with chroma separation and temporal bursts"
    },
    "multi-gradient": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:81fc0b2963964173f44230d920a8a9fdaa0eeb1c87f6003ac6e1816be1206095",
      "name": "Multi Gradient",
      "category": "Generative",
      "description": "Animated layered gradient with noise rotation and wave warp"
    },
    "psycho": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:8b3a02e34e000c2971efe9a3cde785a25787a284f1f553268010f6783c057447",
      "name": "Psycho",
      "category": "Distort",
      "description": "Psychedelic domain warp with spectral dispersion and iterative swirl"
    },
    "ripple-warp": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:b505a3f86cec345d5a317f5991c4a50ef80d21bf135a31dd4eb55acec5e17a9d",
      "name": "Ripple Warp",
      "category": "Generative",
      "description": "Concentric rings with iterative domain warping"
    },
    "scan-noise": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:bcaaa78c57acc015d8d39becd31edf047fcfb963f8cf4c5d64e42fc411ee6444",
      "name": "Noise Filter",
      "category": "Glitch",
      "description": "Threshold scanline noise with row-banded frequencies and XOR double-sample mask"
    },
    "scanline": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:ce7d7d4a2d7fdce0ecfed0373fa58d584b37250a6787a6f5ad0c408079f2937e",
      "name": "Errors Render",
      "category": "Glitch",
      "description": "Generative glitch scanlines with noise-driven irregularities"
    },
    "sine-wave": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:307fc0b20b2be7f1c295ecf7271a6c3a49dca9c6eb7196cfca20f1637a988508",
      "name": "Sine Wave",
      "category": "Distort",
      "description": "Gerstner wave displacement with plasma offset and chromatic dispersion"
    },
    "tape-noise": {
      "tier": "free",
      "version": "1.0",
      "shader_hash": "sha256:b5e4d645e0cba156a5331ee33f78845603005eb18bf0bd50658a0a140614b82a",
      "name": "Tape Noise",
      "category": "Glitch",
      "description": "VHS tape noise: horizontal line banding with threshold flashes"
    },
    "vhs": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:b097a00d4f9626ded976ac8417329cda40d07023a2fc8659016e67887dc71ca4",
      "name": "VHS",
      "category": "Glitch",
      "description": "VHS tape simulation: wave, crease, sync noise, chromatic bloom, AC beat"
    },
    "vhs2": {
      "tier": "pro",
      "version": "1.0",
      "shader_hash": "sha256:0cb15035192c199b497ff3b2bfdca9ecd2591797e06af22d804ceb66f52ec2e0",
      "name": "VHS Pro",
      "category": "Glitch",
      "description": "VHS: YIQ chroma bleeding, tape wave/crease, sync noise, scanline noise"
    }
  }
}
