Five Touchable Background Effects That Replace CSS Gradients
Landing pages and login screens routinely settle for static CSS gradients or heavy Three.js demos. These five components offer a middle tier: installable, parameter-tunable, interactive backgrounds that degrade gracefully and pause when the tab is hidden, making them practical for production without the overhead of a full 3D engine.
The release adds SoapBubbles (thin-film iridescence with merge state machines), DandelionField (a full plant lifecycle from sprout to seed dispersal with pointer wind interaction), LavaBubble (CPU field simulation rendered via WebGL fragment shaders), InkBloom (density and velocity fields with permanent mass-conserving stain), and AuroraVeil (row-by-row EdgeProfile ribbons with offscreen glow compositing). All five share the same engineering conventions: `fill` to cover the parent, `bindVisibilityPause` to stop rAF on tab switch, `prefers-reduced-motion` static-frame fallback, and independent `@cos-design/*` sub-packages installable without pulling the entire library.
Each component solves a specific visual problem that CSS gradients and simple particle demos fail to address—real bubble merging, ecosystem closed loops, lava blister event chains, cumulative ink staining, and bendable aurora ribbons. The library now totals 91 components, building out what the author calls a "media dimension" of background effects spanning thin film, life, heat/crust, fluid, and light.
The five components are deliberately modeled as distinct physical media—thin film, life, heat/crust, fluid, and light—rather than as visual themes, which makes the library composable across different brand tones without stylistic overlap.
Splitting LavaBubble into CPU simulation and GPU shading is a pragmatic architecture choice: lifecycle logic and randomness stay on the CPU where branching is natural, while pixel-scale lighting is offloaded to a shader reading a modest 192² texture.
InkBloom's permanent stain field is the key differentiator from typical blur-circle ink effects; mass conservation means the background irreversibly darkens with each interaction, creating a cumulative feedback loop that blur stacking cannot replicate.
AuroraVeil's row-by-row EdgeProfile approach avoids both the wallpaper flatness of CSS gradients and the parameter-tuning barrier of WebGL noise shaders, hitting a sweet spot for designers who want interactive auroras without graphics programming.
The `bindVisibilityPause` and `prefers-reduced-motion` conventions baked into every component address the real production concern that animated backgrounds burn battery and CPU when the tab is backgrounded or the user has motion sensitivity enabled.