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

Function

setupCapture

vfx-js/src/html-in-canvas.ts:318 ↗
import { setupCapture } from "@vfx-js/core";
setupCapture(
    canvas: HTMLCanvasElement,
    opts: CaptureOpts,
): Promise<OffscreenCanvas>

Set up the paint handler + ResizeObservers on an html-in-canvas wrapper (<canvas layoutsubtree content="drawable">). Returns the initial OffscreenCanvas from the first paint.

The first capture stays on the canvas so wrapping does not flash. VFX.add releases it once the overlay shows the texture.