{
  "slug": "ripple-reveal-webgl",
  "version": "2.0.0",
  "params": [
    {
      "key": "originX",
      "attr": "data-origin-x",
      "type": "number",
      "default": 0.5,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "unit": null,
      "options": null,
      "label": "Origin X",
      "section": "Reveal",
      "help": "Where the wave starts across the width. 0 is left, 1 is right."
    },
    {
      "key": "originY",
      "attr": "data-origin-y",
      "type": "number",
      "default": 0.5,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "unit": null,
      "options": null,
      "label": "Origin Y",
      "section": "Reveal",
      "help": "Where the wave starts down the height. 0 is top, 1 is bottom."
    },
    {
      "key": "feather",
      "attr": "data-feather",
      "type": "number",
      "default": 0.15,
      "min": 0,
      "max": 0.3,
      "step": 0.005,
      "unit": null,
      "options": null,
      "label": "Soft edge",
      "section": "Reveal",
      "help": "How soft the edge of the revealed circle is. 0 is hard."
    },
    {
      "key": "duration",
      "attr": "data-duration",
      "type": "number",
      "default": 1,
      "min": 0.2,
      "max": 4,
      "step": 0.05,
      "unit": "s",
      "options": null,
      "label": "Duration",
      "section": "Reveal",
      "help": "How long one reveal takes."
    },
    {
      "key": "delay",
      "attr": "data-delay",
      "type": "number",
      "default": 3,
      "min": 0.5,
      "max": 12,
      "step": 0.1,
      "unit": "s",
      "options": null,
      "label": "Pause",
      "section": "Reveal",
      "help": "How long a slide stays before the next reveal."
    },
    {
      "key": "kenBurnsDuration",
      "attr": "data-ken-burns-duration",
      "type": "number",
      "default": 10,
      "min": 1,
      "max": 30,
      "step": 0.5,
      "unit": "s",
      "options": null,
      "label": "Zoom time",
      "section": "Reveal",
      "help": "How long the slow zoom on each slide takes."
    },
    {
      "key": "distortScale",
      "attr": "data-distort-scale",
      "type": "number",
      "default": 40,
      "min": 0,
      "max": 100,
      "step": 1,
      "unit": null,
      "options": null,
      "label": "Strength",
      "section": "Ring",
      "help": "How far the ring pushes pixels. 0 turns the distortion off."
    },
    {
      "key": "ringCount",
      "attr": "data-ring-count",
      "type": "number",
      "default": 8,
      "min": 1,
      "max": 20,
      "step": 1,
      "unit": null,
      "options": null,
      "label": "Rings",
      "section": "Ring",
      "help": "How many waves the ring holds."
    },
    {
      "key": "ringWidth",
      "attr": "data-ring-width",
      "type": "number",
      "default": 0.05,
      "min": 0.01,
      "max": 0.3,
      "step": 0.005,
      "unit": null,
      "options": null,
      "label": "Band width",
      "section": "Ring",
      "help": "How wide the band around the wave front is. Smaller is a narrower band."
    },
    {
      "key": "ringLength",
      "attr": "data-ring-length",
      "type": "number",
      "default": 2,
      "min": 0.2,
      "max": 5,
      "step": 0.05,
      "unit": null,
      "options": null,
      "label": "Wavelength",
      "section": "Ring",
      "help": "Spacing between rings. Larger shows fewer rings."
    },
    {
      "key": "ringSpeed",
      "attr": "data-ring-speed",
      "type": "number",
      "default": 1,
      "min": 0.2,
      "max": 3,
      "step": 0.05,
      "unit": null,
      "options": null,
      "label": "Speed",
      "section": "Ring",
      "help": "How fast the ring travels outward."
    },
    {
      "key": "decay",
      "attr": "data-decay",
      "type": "number",
      "default": 3,
      "min": 0,
      "max": 20,
      "step": 0.1,
      "unit": null,
      "options": null,
      "label": "Wake",
      "section": "Ring",
      "help": "Length of the trail behind the ring. 0 is a clean leading edge only."
    },
    {
      "key": "water",
      "attr": "data-water",
      "type": "boolean",
      "default": true,
      "min": null,
      "max": null,
      "step": null,
      "unit": null,
      "options": null,
      "label": "Water layer",
      "section": "Water",
      "help": "Ripples that follow the mouse over the slideshow. Needs a mouse; off on touch screens."
    },
    {
      "key": "waterClick",
      "attr": "data-water-click",
      "type": "boolean",
      "default": true,
      "min": null,
      "max": null,
      "step": null,
      "unit": null,
      "options": null,
      "label": "Splash on click",
      "section": "Water",
      "help": "A stronger drop when you click, besides the gentle trail."
    },
    {
      "key": "waterResolution",
      "attr": "data-water-resolution",
      "type": "number",
      "default": 256,
      "min": null,
      "max": null,
      "step": null,
      "unit": null,
      "options": null,
      "label": null,
      "section": null,
      "help": null
    },
    {
      "key": "dropRadius",
      "attr": "data-drop-radius",
      "type": "number",
      "default": 20,
      "min": 4,
      "max": 80,
      "step": 1,
      "unit": "px",
      "options": null,
      "label": "Drop size",
      "section": "Water",
      "help": "Radius of each drop in pixels."
    },
    {
      "key": "perturbance",
      "attr": "data-perturbance",
      "type": "number",
      "default": 0.015,
      "min": 0,
      "max": 0.08,
      "step": 0.001,
      "unit": null,
      "options": null,
      "label": "Refraction",
      "section": "Water",
      "help": "How far the waves bend the image beneath them."
    },
    {
      "key": "persistence",
      "attr": "data-persistence",
      "type": "number",
      "default": 0.65,
      "min": 0,
      "max": 1,
      "step": 0.01,
      "unit": null,
      "options": null,
      "label": "Persistence",
      "section": "Water",
      "help": "How long ripples keep ringing before the water settles."
    }
  ]
}
