Your system asks for reduced motion, so VFX-JS draws nothing. Demos on this site show plain HTML.

Type

ParticleParams

effects/src/particle.ts:319 ↗
import type { ParticleParams } from "@vfx-js/effects";

Properties

alpha

alpha: number

Global alpha multiplier on each particle (0..1).

alphaDecay

alphaDecay: number

Alpha-envelope shape exponent (>1 holds peak alpha longer; <1 sharpens fade).

alphaThreshold

alphaThreshold: number

Reject spawns where src.a is below this.

birthRate

birthRate: number

Particles per second emitted within radius of the mouse while the mouse is active.

blend

blend: "add" | "normal"

Stamp blend mode. "add" brightens overlaps; "normal" composites with premultiplied-alpha over.

color

color: number

Base color blended into particle rgb (hex 0xRRGGBB).

colorMix

colorMix: number

Mix amount between src color (0) and color (1).

count

count: number

Max particles. Capped at construction by the state texture size.

emitSpeed

emitSpeed: number

Initial outward speed (uv/sec, short-axis-normalized) applied to mouse-spawned particles — fades to curl-noise drift over noiseDelay. Screen-spawned particles ignore this.

fadeIn

fadeIn: number

Fraction of life over which the particle ramps from 0 to peak alpha. Small values (≈0.05) keep the radial-emit phase visible; larger values (≈0.5) restore the slow fade-in look.

fog

fog: number

Depth fog 0..1.

life

life: number

Base lifespan (sec); actual life is jittered per-particle.

noiseAnimation

noiseAnimation: number

Morph rate on the 4th simplex axis (units per second).

noiseDelay

noiseDelay: number

Fraction of life (0..1) over which motion smoothstep-blends from the radial impulse at spawn to the curl-noise field. 0 disables the radial phase entirely.

noiseScale

noiseScale: number

Approximate swirl size in uv units (larger → bigger swirls).

noiseSpeed

noiseSpeed: number

Curl-noise drift speed (uv/sec, short-axis-normalized) once the emit impulse decays.

pointSize

pointSize: number

Particle quad size in element px.

radius

radius: number

Spawn radius around the cursor in element px.

screenBirthRate

screenBirthRate: number

Particles per second emitted at uniform-random positions across the element. Independent of mouse motion; only gated by visibility and the same alpha-rejection as mouse spawns.

spawnOnIdle

spawnOnIdle: boolean

Emit even when the mouse is stationary.

speedDecay

speedDecay: number

Life-taper curve exponent (>1 holds full speed longer).

srcOpacity

srcOpacity: number

Source element opacity (0..1) shown beneath the particles.

trailFade

trailFade: number

Per-frame trail decay (0..1). Higher = longer trails.