Platform
Post-Processing Effects
Glass



A bare { "type": "glass" } renders the default glass (it refracts). Every field is optional and overrides per instance.
| Field | Range | Default | Notes |
|---|---|---|---|
size | 1–2000 | 80 | Pane width in px. |
rotation | 0–360 | 45 | Pane rotation in degrees. |
refraction | 0–100 | 30 | Distortion strength — the default's visible bite. |
highlights | 0–100 | 0 | Top-edge highlight; 0 is off, 50 a typical on. |
shadows | 0–100 | 0 | Bottom-edge shadow; 0 is off, 50 a typical on. |
blur | 0–100 | 0 | Blur amount. |
Slice Shift

A bare { "type": "slice-shift" } renders the default shift. Every field is optional and overrides per instance.
| Field | Range | Default | Notes |
|---|---|---|---|
radius | 0–5000 | 118 | Slice width in px. |
transformAngle | 0–360 | 45 | Slice angle in degrees. |
transformX | 0–100 | 50 | Horizontal transform origin. |
transformY | 0–100 | 50 | Vertical transform origin. |
shift | −1000–1000 | 50 | Per-slice displacement. |
softness | 0–100 | 0 | Edge softness. |
random | 0–500 | 0 | Per-slice random jitter. |
Dither
Samples the rendered gradient and quantizes it with classic dithering. Three algorithms are available, and color is preserved by default — each RGB channel is dithered independently, so hue survives the reduced palette.




| Field | Values | Default | Notes |
|---|---|---|---|
algorithm | floyd-steinberg, bayer, pattern | — | Error diffusion, ordered Bayer 2×2, or a bitmap mask. |
pattern | checkerboard, lines, crosshatch, stipple, brick, diamond, triangular | checkerboard | Read only when algorithm is pattern. |
levels | 2–8 | 4 | Quantization steps per channel. Lower is chunkier. |
color | preserve, mono | preserve | mono collapses to a luminance (1-bit-style) dither. |
{
"effects": [{ "type": "dither", "algorithm": "bayer", "levels": 3 }]
}Combining effects
{
"effects": [
{ "type": "slice-shift" },
{ "type": "glass" },
{ "type": "dither", "algorithm": "bayer" }
]
}
