Skip to content

feat(preview): fluted-glass wave generation animation - #73

Merged
thisiscsim merged 1 commit into
mainfrom
feat/fluted-glass-loader
Aug 5, 2026
Merged

thisiscsim merged 1 commit into
mainfrom
feat/fluted-glass-loader

Conversation

@thisiscsim

Copy link
Copy Markdown
Owner

Summary

Pre-alpha feedback: the in-frame generation animation now uses @paper-design/shaders-react's FlutedGlass — wave grid + contour distortion — with the video being generated showing through behind the glass.

  • GenerationGlass renders the project's poster frame (project:thumbnail) through <FlutedGlass shape="wave" distortionShape="contour" fit="cover">; the ribs sweep back and forth by animating the shift uniform (~30fps, rAF-throttled, state local to the leaf so nothing else re-renders — the Player is unmounted while busy anyway).
  • Matches the V1 loading frames, whose stage was mocked as exactly this vertical-rib treatment over the clip imagery.
  • No poster yet (fresh project mid-first-import): quiet tertiary surface under the "Generating your cut…" label.
  • img-fx removed (this was its only consumer) — its three.js dependency goes with it, halving the renderer bundle (2,226 kB → 1,154 kB).

Dependency change — restart npm run dev so vite re-optimizes deps.

Test plan

  • typecheck / test (146) / build / lint / format — green
  • Manual: kick a generation and an auto-improve; confirm the wave sweep over the poster in both themes and the blank fallback on a brand-new project

Made with Cursor

Replaces the img-fx mosaic loader with @paper-design/shaders-react's
FlutedGlass in the wave shape — the vertical ribbed treatment the V1
loading frames depicted. The shader is an image filter, so the cut being
generated shows through as the project's poster frame with contour
distortion, and the ribs sweep gently by animating the texture shift
uniform at ~30fps in a leaf component (the Player is unmounted while
busy). Fresh projects without a poster fall back to a quiet surface
under the label. Dropping img-fx also removes its three.js payload,
halving the renderer bundle (2.2MB -> 1.15MB).

Co-authored-by: Cursor <cursoragent@cursor.com>
@thisiscsim
thisiscsim merged commit 9c1fefc into main Aug 5, 2026
1 check passed
@thisiscsim
thisiscsim deleted the feat/fluted-glass-loader branch August 5, 2026 04:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant