A self-contained ferrofluid element for the app — no window frame, it lives in its own square. At rest it settles into a viscous mound across the middle of the floor; on sound the whole mass gathers, lifts to the center, and churns through shifting forms before easing back down. The demo runs one full cycle: rest → rise → bounce → settle.
Cycle: rests at the bottom, rises and bounces ~5s, settles back.
One travelling metaball mass, no frame. At rest the nodes spread across the middle two-thirds of the floor in a shallow arc — flat bottom (clipped to the square), rounded viscous top. On sound they gather into a blob about a third of the square, lift to center, and each node pushes outward with churn noise so the outline keeps transforming. A peak-hold envelope (Hang time) keeps it aloft, then it eases down. Same model as FerrofluidVisualizer.tsx.