Skip to content

feat(remotion): Polish compositions for Cleo Abram-style visuals#592

Closed
codercatdev wants to merge 1 commit intodevfrom
phase1b/polish-compositions
Closed

feat(remotion): Polish compositions for Cleo Abram-style visuals#592
codercatdev wants to merge 1 commit intodevfrom
phase1b/polish-compositions

Conversation

@codercatdev
Copy link
Contributor

Phase 1b Polish — Remotion Composition Improvements

Summary

Major visual upgrade to all Remotion video compositions — Cleo Abram / Vox-style. Also includes registerRoot() fix and FFmpeg compression utility.

Changes (7 files, +1483 / -215 lines)

Scene.tsx (150→326 lines) — Word-by-word kinetic text, progress bar, Ken Burns B-roll, scene numbers, glow text container

HookScene.tsx (180→526 lines) — Staggered text reveal, dot grid background, glow sweeps, typing brand intro, floating particles, dynamic gradient

CTAScene.tsx (202→491 lines) — Floating geometric shapes, gradient subscribe button with glow, animated arrows, social link cards, confetti burst

MainVideo.tsx + ShortVideo.tsx — Cross-fade transitions (0.5s overlap), clean timeline math

remotion/index.ts — registerRoot() fix (required for Remotion bundling)

lib/services/ffmpeg-compress.ts (new, 392 lines) — Post-render compression with two-pass/CRF modes, graceful degradation

Verification

  • Zero TypeScript errors in remotion/ and ffmpeg files
  • All existing functionality preserved (isVertical, watermark, sponsor slot, audio)

Scene.tsx (150→326 lines):
- Word-by-word kinetic text reveal with staggered timing
- Scene progress bar with gradient fill
- Scene number indicator (top-right)
- Ken Burns zoom effect on B-roll video
- Gradient overlay (darker at bottom for text readability)
- Animated accent line before text appears
- Improved text container with glow border

HookScene.tsx (180→526 lines):
- Dramatic staggered text reveal (2-3 lines, alternating directions)
- Animated dot grid background with sinusoidal pulse
- Glow sweep lines crossing screen before text
- Brand name typing effect with blinking cursor
- Animated underline after hook text
- 18 floating particles with drift and wobble
- Dynamic gradient rotation over scene duration

CTAScene.tsx (202→491 lines):
- Floating geometric shapes (hexagons, triangles, diamonds)
- Gradient subscribe button with pulsing glow
- Animated arrows pointing to subscribe button
- Social links as colored cards (YouTube red, Twitter blue, etc.)
- Confetti celebration burst (20 particles)
- 'Don't miss out!' urgency text

Compositions (MainVideo + ShortVideo):
- Cross-fade transitions between scenes (0.5s overlap)
- Clean timeline math replacing IIFE pattern
- Proper fade-out on all scenes for smooth transitions

Also:
- Fix registerRoot() call in remotion/index.ts (required for bundling)
- Add FFmpeg post-render compression utility (392 lines)
  - Two-pass or CRF encoding modes
  - Graceful degradation if FFmpeg unavailable
  - getVideoMetadata() helper via ffprobe
@vercel
Copy link

vercel bot commented Mar 3, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
codingcat-dev Building Building Preview, Comment Mar 3, 2026 2:06pm

codercatdev pushed a commit that referenced this pull request Mar 3, 2026
- Use useVideoConfig() instead of hardcoded dimensions in HookScene
- Reduce DotGrid to ~48 dots for Lambda performance
- Add word chunking for narrations >60 words
- Add missing extrapolateLeft: "clamp" for consistency
- Remove unused imports (FPS in Scene, fps in GlowSweeps)
- Extract shared VideoComposition component
- Replace execSync("rm -rf") with fs.rmSync()
@codercatdev codercatdev closed this Mar 3, 2026
@codercatdev codercatdev deleted the phase1b/polish-compositions branch March 3, 2026 18:02
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