A glowing drape of dots folding in 3D
| Name | Type | Default | Description |
|---|---|---|---|
colors | string[] | ["#6A4BFF", "#E4DBFF"] | Two colours: the dots across the body of the drape, then the highlight they reach along its crests. |
backgroundColor | string | "#0a0a0a" | Colour behind the drape. Light backgrounds switch to ink dots. Pass "transparent" to show the page. |
density | number | 1 | Number of dots, from 0.2 to 2.5. 1 draws about 44,000. |
dotSize | number | 1 | Size of each dot, relative to the spacing of the grid. |
strands | number | 8 | Number of flowing strands that lift the grid into folds, from 1 to 12. |
amplitude | number | 1 | How far the strands swing across the drape. |
frequency | number | 1 | How many curves each strand makes along its length. |
thickness | number | 0.7 | Width of each strand. Wider strands show more of the drape. |
depth | number | 1 | How high the strands lift the grid. Higher values give deeper folds. |
softness | number | 0.6 | Edge softness of each dot, from 0 (crisp) to 1 (soft glow). |
intensity | number | 1 | Brightness of the dots. |
colorShift | number | 0.3 | Shifts the dots towards the highlight colour along the length of the drape. |
tilt | number | -40 | Rotation of the drape around the horizontal axis, in degrees. |
turn | number | -45 | Rotation of the drape around the vertical axis, in degrees. |
roll | number | 110 | Rotation of the drape within its own plane, in degrees. |
zoom | number | 1 | Scale of the drape. |
flow | number | 1 | How fast the strands drift and reshape the folds. |
speed | number | 1 | Overall animation speed. 0 holds the current frame. |
interactive | boolean | true | The pointer brushes the dots aside as it moves and the view drifts gently towards it. |
brush | number | 1 | How strongly the pointer pushes the dots. 0 disables it. |
brushRadius | number | 0.2 | Size of the area the pointer moves, relative to the height. |
parallax | number | 1 | How far the drape turns towards the pointer. 0 keeps it still. |
clickRipples | boolean | true | Each click sends a ripple across the drape that briefly lights the whole grid of dots. Rapid clicks stack. |
seed | number | 0 | Changes the arrangement of the strands. |
paused | boolean | false | Freezes the flow. The pointer and clicks still work. |
dpr | number | 2 | Upper bound for the device pixel ratio. |
className | string | — | Classes for the root element. Give it a height. |
style | CSSProperties | — | Inline styles for the root element. |
children | ReactNode | — | Content layered above the drape. |
colorsstring[]Two colours: the dots across the body of the drape, then the highlight they reach along its crests.
["#6A4BFF", "#E4DBFF"]backgroundColorstringColour behind the drape. Light backgrounds switch to ink dots. Pass "transparent" to show the page.
"#0a0a0a"densitynumberNumber of dots, from 0.2 to 2.5. 1 draws about 44,000.
1dotSizenumberSize of each dot, relative to the spacing of the grid.
1strandsnumberNumber of flowing strands that lift the grid into folds, from 1 to 12.
8amplitudenumberHow far the strands swing across the drape.
1frequencynumberHow many curves each strand makes along its length.
1thicknessnumberWidth of each strand. Wider strands show more of the drape.
0.7depthnumberHow high the strands lift the grid. Higher values give deeper folds.
1softnessnumberEdge softness of each dot, from 0 (crisp) to 1 (soft glow).
0.6intensitynumberBrightness of the dots.
1colorShiftnumberShifts the dots towards the highlight colour along the length of the drape.
0.3tiltnumberRotation of the drape around the horizontal axis, in degrees.
-40turnnumberRotation of the drape around the vertical axis, in degrees.
-45rollnumberRotation of the drape within its own plane, in degrees.
110zoomnumberScale of the drape.
1flownumberHow fast the strands drift and reshape the folds.
1speednumberOverall animation speed. 0 holds the current frame.
1interactivebooleanThe pointer brushes the dots aside as it moves and the view drifts gently towards it.
truebrushnumberHow strongly the pointer pushes the dots. 0 disables it.
1brushRadiusnumberSize of the area the pointer moves, relative to the height.
0.2parallaxnumberHow far the drape turns towards the pointer. 0 keeps it still.
1clickRipplesbooleanEach click sends a ripple across the drape that briefly lights the whole grid of dots. Rapid clicks stack.
trueseednumberChanges the arrangement of the strands.
0pausedbooleanFreezes the flow. The pointer and clicks still work.
falsedprnumberUpper bound for the device pixel ratio.
2classNamestringClasses for the root element. Give it a height.
—styleCSSPropertiesInline styles for the root element.
—childrenReactNodeContent layered above the drape.
—