Your system asks for reduced motion, so VFX-JS draws nothing. Demos on this site show plain HTML.
Type
EffectDrawOpts
vfx-js/src/types.ts:815 ↗import type { EffectDrawOpts } from "@vfx-js/core";Properties
blend
blend?: EffectBlendMode
Blend mode override. Default: "premultiplied" when drawing to
the canvas (target null/omitted), "none" when drawing to a
user-allocated render target. Use "additive" for accumulating
draws like sparkles or particle stamps.
frag
frag: string
geometry
geometry?: EffectQuad | EffectGeometry
Default: ctx.quad.
swap
swap?: boolean
Whether to advance the persistent RT's read/write buffers after
this draw. Default: true.
Set to false when you need to write to the same physical buffer
across multiple draws in one frame — e.g. a full-screen pass that
fills every texel followed by a sparse pass that surgically
overwrites a few. Without swap: false, the second draw would
land in the other (stale) buffer of the ping-pong pair and the
first draw's output would be lost.
No-op for non-persistent RTs and for canvas writes.
target
target?: EffectRenderTarget | null
Render target of the effect.
It renders to the Canvas if omitted (or null).
uniforms
uniforms?: EffectUniforms
vert
vert?: string