Preparing the playground…
Preparing the playground…
Three studies in coming apart.
Real source. A little tension.
Something new underneath.
An edge loses its hold. Small pieces leave the hero, opening a new ground beneath it.
100% source remains
0 detached fragments
Accessible DOM. Reduced motion. Source included.Copy the listed source files into the two component folders. Text uses the included Instrument Serif and Space Mono font setup. Sediment uses the licensed local raster at /material-wave-a/mineral-study.webp. Scroll starts one complete motion; the inspector pauses at an exact time.
03 / CODE & INSTALLATION
Copy each source file into components/. Keep the filenames and their relative imports together. Then use the example below. Use the runtime and file types listed on this effect’s usage notes. The example uses the common @/ import alias; use a relative import if your project has no alias.
"use client";
import { SeamErosion } from "@/components/material-effects/material-components";
// Copy the listed files into components/, preserving both subdirectories.
// Use React 19.3, CSS Modules and the font variables below.
// pnpm add @fontsource/instrument-serif@5.3.0 @fontsource/space-mono@5.3.0
// Sediment: copy the licensed local image to public/material-wave-a/ as well.
export function MaterialSection() {
return (
<>
<section data-scroll-lane style={{ height: 1700 }}>
<div style={{ position: "sticky", top: 84 }}>
<SeamErosion color="#7752a3" />
</div>
</section>
<section id="field-notes"><h2>Your next section</h2></section>
</>
);
}
/* Your global CSS:
@import "@fontsource/instrument-serif/latin-400.css";
@import "@fontsource/instrument-serif/latin-400-italic.css";
@import "@fontsource/space-mono/latin-400.css";
:root { --font-display: "Instrument Serif", serif; --font-mono: "Space Mono", monospace; }
*/The source above powers this preview. Local review build; no published package required.
DISCOVERY NOTE / APPROVED / SOURCE INCLUDED
Seam Erosion is a section transition: a straight CSS wipe exposes the next surface while small fragments leave the original edge under a one-shot scroll clock.
Copy components/material-effects and components/material-core into your project, preserving both directories.
Place SeamErosion inside the authored sticky scroll lane and preserve the CSS Module imports.
Exercise the CSS, candidate and reduced-motion states at desktop and phone widths.
Code is original repository work under the MIT licence. No third-party media is used by this study.
Compare the collection