https://framer.com/m/Silkwave-A344OS.js
Io / Enhancements / SilkWave
SilkWave
SilkWave folds a hairpin ribbon of silk in WebGL: a palette-textured surface with derivative-driven fold glow, high-frequency streaks and a rotational-blur post pass. Every look-and-motion parameter lives in one JSON schema.
Examples
Live specimens. Geometry, transform, motion and colour all come from the AI Schema; the six panel controls only carry assets, background and debugging.
Live
One live instance, driven by the buttons. Each button writes a different AI Schema into the page variable the component is bound to; the JSON under the canvas is that same variable, so what you read is exactly what is rendering.
Bound to the page variable Silk Wave Schema
{"version":"1.0","preset":"stripe-hero"}
Props
Six controls on the instance panel. Everything else — geometry, transform, motion, glow, streaks, colour, the post pass and the per-breakpoint overrides — is set through the AI Schema, listed below the panel rows.
Usage
Guidance carried over from the component definition.
Reach for SilkWave
A hero or section that needs one moving, expensive-looking surface instead of a photograph.
Art direction you want to keep under version control: the entire look is one JSON object.
Layouts where the ribbon has to re-frame per breakpoint — the schema carries its own breakpoint list.
Pages already on the theme tokens; background and palette default to --bg-color and the theme ramp.
Reach for something else
A cheap flat wash behind a section. FluidShaderBackground is two controls and a fraction of the cost.
A surface that must stay perfectly still. SilkWave animates by default; freeze it with motion.animate or reach for GradientStripsBG.
A 3D object the reader turns. That is ModelViewer3d — this is a shader surface, not a model.
Io — Enhancements
Every specimen above is a live component instance. Colour, type and radius resolve from the project theme tokens.