--- name: remotion-composer description: Compose final demo videos using Remotion. Use when combining terminal recordings with animations, adding branded overlays, or rendering multi-format video exports context: fork version: 2.0.0 author: OrchestKit tags: [remotion, video, composition, marketing, demo, animation, data-viz, charts] user-invocable: false complexity: medium --- # Remotion Composer Production-quality video composition with AnimStats-level animations. Supports data visualization, spring physics, easing presets, and cinematic transitions. ## Quick Start ```bash # Install enhanced packages cd orchestkit-demos && npm install # Add composition for a skill ./scripts/add-composition.sh explore # Render npx remotion render ExploreDemo out/ExploreDemo.mp4 ``` ## Package Library (v2.1) ### Core Animation ```json { "@remotion/shapes": "^4.0.0", // Geometric primitives (pie, rect, triangle) "@remotion/paths": "^4.0.0", // SVG path animations (evolvePath) "@remotion/noise": "^4.0.0", // Procedural noise (noise2D, noise3D) "@remotion/transitions": "^4.0.0", // Scene transitions (fade, slide, wipe) "@remotion/motion-blur": "^4.0.0", // Motion trails and blur "@remotion/gif": "^4.0.0", // GIF synchronization "@remotion/animated-emoji": "^4.0.0", // Lottie emojis "@remotion/layout-utils": "^4.0.0" // Text fitting and layout } ``` ### Advanced Capabilities ```json { "@remotion/three": "^4.0.0", // Three.js 3D graphics "@remotion/lottie": "^4.0.0", // After Effects animations "@remotion/rive": "^4.0.0", // Rive interactive animations "@remotion/captions": "^4.0.0", // Subtitles and captions "@remotion/player": "^4.0.0", // Embeddable player "@remotion/renderer": "^4.0.0", // Server-side rendering "@remotion/media-utils": "^4.0.0" // Audio/video metadata } ``` ### 3D & Animation Runtimes ```json { "three": "^0.175.0", // Three.js core "@react-three/fiber": "^9.1.0", // React Three Fiber "@react-three/drei": "^10.3.0", // Three.js helpers "@lottiefiles/react-lottie-player": "^3.5.4", // Lottie player "@rive-app/react-canvas": "^4.21.0" // Rive runtime } ``` ## Animation Presets ### Easing Reference | Preset | Use Case | Feel | |--------|----------|------| | `bounce` | Success celebrations | Playful | | `elastic` | Attention grab | Energetic | | `back` | Entry animations | Anticipation | | `snappy` | Quick UI | Overshoot | | `spring` | Default | Natural | ### Spring Configs | Name | damping | stiffness | Use | |------|---------|-----------|-----| | Bouncy | 10-12 | 100-120 | Playful enters | | Snappy | 15-20 | 150-200 | Quick UI | | Smooth | 80 | 200 | Subtle moves | | Heavy | 15 | 50 | Large elements | ## Data Visualization Components ### StatCounter (Enhanced) ```tsx ``` ### ProgressRing ```tsx ``` ### BarChart ```tsx ``` ### LineChart ```tsx ``` ## Text Animations ### AnimatedText Types ```tsx // 9 animation types available: // Scale bounce // Simple fade // Directional slide // Blur reveal (NEW) // Char-by-char bounce (NEW) // Gradient sweep (NEW) // Chars from random (NEW) // Clip reveal (NEW) // Typing effect ``` ### GradientText ```tsx ``` ## Transitions ### SceneTransition Types ```tsx // 8 transition types: // Simple opacity // Horizontal wipe // Scale in/out // Directional slide (NEW) // 3D card flip (NEW) // Circular reveal (NEW) // Venetian blinds (NEW) // Pixelation (NEW) ``` ### Content Transitions ```tsx ``` ## 3D Components (CSS-based) ### FloatingLogo ```tsx ``` ### ParticleSphere ```tsx ``` ### WireframeBox ```tsx ``` ### OrbitingRings ```tsx ``` ## Captions & Subtitles ### TikTokCaption (word bounce) ```tsx ``` ### KaraokeCaption (fill reveal) ```tsx ``` ### TypingCaption (typewriter) ```tsx ``` ### HighlightCaption ```tsx ``` ## Background Effects ### ParticleBackground ```tsx ``` ### MeshGradient ```tsx ``` ### GlowOrbs ```tsx ``` ## Layer Stack ``` ┌─────────────────────────────────────────┐ │ Layer 6: Vignette + ScanLines │ ├─────────────────────────────────────────┤ │ Layer 5: CTA Overlay (bottom) │ ├─────────────────────────────────────────┤ │ Layer 4: Watermark (top-right) │ ├─────────────────────────────────────────┤ │ Layer 3: Progress Bar (bottom) │ ├─────────────────────────────────────────┤ │ Layer 2: Content (Terminal/Manim) │ ├─────────────────────────────────────────┤ │ Layer 1: Background Effects │ │ - ParticleBackground │ │ - MeshGradient │ │ - GlowOrbs │ ├─────────────────────────────────────────┤ │ Layer 0: Base Color (#0a0a0f) │ └─────────────────────────────────────────┘ ``` ## Formats | Format | Resolution | FPS | Use Case | |--------|------------|-----|----------| | Horizontal | 1920x1080 | 30 | YouTube, Twitter | | Vertical | 1080x1920 | 30 | TikTok, Reels, Shorts | | Square | 1080x1080 | 30 | Instagram, LinkedIn | | 4K | 3840x2160 | 60 | High-quality exports | ## Color Mapping Skills have associated colors: - explore: #8b5cf6 (purple) - verify: #22c55e (green) - commit: #06b6d4 (cyan) - brainstorming: #f59e0b (amber) - review-pr: #f97316 (orange) - remember: #ec4899 (pink) ## References ### Core - `references/audio-layer.md` - Audio setup and volume curves - `references/composition-patterns.md` - Composition templates - `references/cinematic-scenes.md` - 6-scene narrative structure - `references/folder-organization.md` - Root.tsx folder structure and naming conventions ### Animation - `references/animation-presets.md` - Easing and spring configs - `references/data-viz-patterns.md` - Chart and counter patterns - `references/effects-library.md` - Background and transition effects ### Advanced - `references/3d-graphics.md` - Three.js 3D scenes and camera animations - `references/lottie-animations.md` - After Effects Lottie integration - `references/captions-subtitles.md` - Subtitle generation and styling - `references/showcase-templates.md` - Production patterns from Remotion showcase ## Related Skills - `terminal-demo-generator`: VHS/asciinema recordings that feed into compositions - `manim-visualizer`: Animated diagrams as overlay assets - `demo-producer`: Full pipeline orchestration - `video-pacing`: Timing and rhythm patterns for compositions - `music-sfx-selection`: Audio selection for the audio layer