Port the "Fluido" GPU fluid-simulation effect family from the Mac app

Verbatim engine copy (fluid.js + effects.js + visualizer.js) plus the
fluid.js script tag in output.html. 102 new audio-reactive ink-in-water
presets. Not yet deployed to the device (offline at commit time).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
lucianoandClaude Fable 5 committed 2026-07-17 14:49:01 +02:00
1 parent 6f06de59dc
commit e0e5377fa1
4 files changed
+409 -2

No files matched your search

+6 -2
View File
@@ -33,7 +33,8 @@ const FAMILIES = [
{ name: 'Tri-Banda', scale: 1.0, bgDark: true },
{ name: 'Reattivo Bassi', scale: 1.0, bgDark: true },
{ name: 'Reattivo Medi', scale: 1.0, bgDark: true },
{ name: 'Reattivo Alti', scale: 1.0, bgDark: true }
{ name: 'Reattivo Alti', scale: 1.0, bgDark: true },
{ name: 'Fluido', scale: 1.0, fluid: true } // GPU fluid sim (fluid.js), not the uber-shader
];
// Palettes: low colour (a) -> high colour (b), plus optional hue-cycle/sat.
@@ -88,7 +89,10 @@ function makeEffect(fi, pi, vi) {
speed: v.speed,
colorA: pal.a,
colorB: pal.b,
bgDark: fam.bgDark ? 1 : 0
bgDark: fam.bgDark ? 1 : 0,
// Always present (0/1) so Object.assign merges in setEffect can't leave a
// stale flag behind when switching between fluid and shader presets.
isFluid: fam.fluid ? 1 : 0
};
}