Your system asks for reduced motion, so VFX-JS draws nothing. Demos on this site show plain HTML.
Type
HalftoneParams
effects/src/halftone.ts:224 ↗import type { HalftoneParams } from "@vfx-js/effects";Properties
angle
angle: number
Global grid rotation in degrees, added to per-channel angles.
background
background: [number, number, number, number]
SRC-OVER backdrop behind the dots, RGBA in [0, 1] (non-premul).
Default [0, 0, 0, 0].
blackAmount
blackAmount: number
How much black ink to use during CMYK separation, [0, 1]. CMYK
only: 1 = max GCR (k = 1 - max(rgb)); 0 = pure CMY, no K.
Lowering it preserves hue in dark regions that max-GCR would
collapse to a flat K stack.
dotSize
dotSize: number
Dot size relative to the cell. 1.0 = dot exactly reaches the cell corners (saturation threshold); >1.0 lets dots overlap into neighbours.
gridSize
gridSize: number
Grid pitch in physical px.
inkPalette
inkPalette: HalftoneInkPalette
Per-channel inks. CMYK mode uses cyan/magenta/yellow/black,
RGB mode uses red/green/blue. Each ink is [r, g, b, density],
with density in [0, 1] scaling coverage independently of
colour. Use HalftoneEffect.setInkPreset to apply named
presets, or write into the palette directly for custom inks.
mode
mode: HalftoneMode
"rgb" (additive) or "cmyk" (subtractive ink simulation).
smoothing
smoothing: number
Soft-edge fraction of the dot radius, in [0, 1].
trimEdge
trimEdge: boolean
Skip dots whose maximum extent would cross the image edge.