Component APIs
| Interface | Options and behavior |
|---|---|
| FluidHero / fluid-hero | preset: aurora by default; config: overrides that preset; quality: eco by default, also auto/balanced/high; paused: false; interactive: false; glass: frosted content panel; blur: softens the fluid artwork. HTML content uses the default slot; React uses children, className and style. |
| Hero methods and events | play(), pause(), reset(); qualityStatus readout. ready, error, configchange, qualitychange events; React onReady, onError, onConfigChange, onQualityChange receive CustomEvent. React props update the hero after mounting. |
| fluid-ink | config property / setConfig(patch) / getConfig(); quality attribute (auto default); paused attribute; play(), pause(), reset(), inject({position:{x,y},velocity?:{x,y}}). Config patches automatically rebuild when required. Four pigment slots. ready/error/configchange/qualitychange events. |
| Experimental element | scene property selects fluid-ink.scene.v1; updateScene(scene) preserves carrier identities; scenechange event; qualityStatus includes diagnostics. Legacy controls do not migrate into physical scene settings. |
| FluidField (React) | config is initial-only. dashboard, perf, persist default false. className/style; onEngine exposes Engine; onError receives a message. Import styles.css. Base persistence is opt-in; dashboard preset and chrome storage can still be shared. |
| Engine | new Engine(canvas, config, {eco,onEcoChange}); start(), pause(), resume(), dispose(); applyConfig(patch), reseed(), inject(splat); getConfig(), getLiveConfig(), getElapsed(), getPerfSample(); setEcoMode(boolean), getEcoStatus(); getAudioFrame(), getAudioSource(), getAudioStatus(), setAudioSource(source). |
Audio and music
Music video requests muted autoplay when loaded or selected. Enable sound is an explicit click; Play video and the embedded controls remain available if autoplay is blocked. Other backgrounds do not start music automatically. Listening remains separate: use the Drivers panel to select tab audio or microphone. Denial leaves silent input; stop listening to release capture. Camera/tilt are inactive placeholders.
ECO and resets
ECO scales the established short-side grids from 192/384 down to 64/128, caps output pixels, targets 30 down to 20 FPS, and slows simulation speed to 0.5 under sustained overload. Recovery is gradual. These are ceilings, not frame-rate guarantees. Web components handle required config rebuilds; direct Engine.applyConfig requires reseed for resolution or seed changes. Color/background edits do not reset the fluid.
Presets and coordinates
Preset documents use fluid-wallpaper.preset.v1,
containing named configs. Tuner imports merge by name; the saved list
holds up to 32 presets. Emitter positions use UV coordinates: x=0
left, y=0 bottom. Pointer handling maps the canvas rectangle to UV.
Use the gallery to download complete examples.
ECO implementation evidence · Experimental evidence and remaining gates