Install
React projects also get <GradientMount>. Peer dep: react >= 17.
Quick start
Mount a single gradient
One element, one renderer.
Shared mount
One renderer, many elements. Use for repeated cards, buttons, or tiles.
API
Gradient.mount(target, preset, options?)
Mount a dedicated renderer into one element.
| Param | Type | Note |
|---|---|---|
| target | string | HTMLElement | CSS selector or element |
| preset | GradientPreset | string | Preset object or compact key |
| options.mode | "animated" | "static" | "hover" | Default: "animated" |
| options.resolutionScale | number | 0.5–1. Default from preset |
| options.fpsCap | 30 | 60 | Default from preset |
Returns GradientInstance.
Gradient.mountShared(target, preset, options?)
Mount one shared renderer across multiple elements.
| Param | Type | Note |
|---|---|---|
| target | string | HTMLElement[] | NodeList | Selector, elements, or NodeList |
| preset | GradientPreset | string | Preset object or compact key |
| options.mode | "animated" | "static" | Default: "animated". No hover |
| options.frameTransport | "auto" | "2d" | "bitmaprenderer" | Default: "auto" |
Returns GradientSharedInstance.
<GradientMount> — React
Wrapper component. No refs or useEffect needed for single mounts.
| Param | Type | Note |
|---|---|---|
| preset | GradientPreset | string | Keep reference stable (constant or useMemo) |
| options | GradientMountOptions | Default mode: "hover" |
| className | string | Applied to wrapper div |
| children | ReactNode | Rendered above the gradient (z-index 1) |
Instance methods
Shared by GradientInstance and GradientSharedInstance:
updatePreset(preset)Swap preset without remountingupdateOptions(opts)Change mode, resolution, etc.pause()Pause animation loopresume()Resume animation loopresize()Force recalculate sizerenderStill()Render single framedestroy()Tear down, remove listenersGradientSharedInstance also has:
rescan()Re-query DOM for new matching elementsModes
animatedContinuous loop. Default for mount() and mountShared().staticRenders one frame and stops.hoverAnimates on hover/focus only. Single mount() only.Presets
Readable preset
Full JSON object. Copy from the generator.
Compact key
Base64 string. Shorter, good for inline use.
Both formats work anywhere a preset is accepted.
Export from generator
The generator has four export tabs.
Developer
- Copy readable preset (JSON)
- Copy compact key (string)
- Download runtime bundle (.js)
Designer (PNG)
- Copy to Figma (clipboard PNG)
- Download PNG — 1920×1080
- Download PNG — 3840×2160
- Download PNG — custom size (64–8192 px)
Preset
- Copy preset JSON
- Download preset JSON
- Import preset JSON
More
- Wallpaper Engine export (.zip)