Skip to main content
Glama
TEXT_ANIMATIONS_SUMMARY.md•9.8 kB
# Text Animations Summary **Date:** 2025-11-12 **Components Added:** TypewriterText, StaggerText, WavyText **Components Moved:** TrueFocus, DecryptedText, FuzzyText **New Folder:** `text-animations/` --- ## šŸ“ Folder Reorganization ### New Structure All text animation components are now located in a dedicated folder for better organization: ``` src/chuk_motion/components/text-animations/ ā”œā”€ā”€ TypewriterText/ (NEW) ā”œā”€ā”€ StaggerText/ (NEW) ā”œā”€ā”€ WavyText/ (NEW) ā”œā”€ā”€ TrueFocus/ (MOVED from overlays/) ā”œā”€ā”€ DecryptedText/ (MOVED from overlays/) └── FuzzyText/ (MOVED from overlays/) ``` **Benefits:** - āœ… Clear, discoverable category - āœ… Separates animated text from static overlays - āœ… Easier to find as collection grows - āœ… More intuitive for users --- ## ✨ New Components ### 1. TypewriterText **Location:** `src/chuk_motion/components/text-animations/TypewriterText/` **Description:** Classic typewriter animation with cursor. Characters appear one-by-one as if being typed, with optional blinking cursor. **Inspired by:** [ReactBits Typewriter](https://www.reactbits.dev/text-animations/typewriter) **Features:** - āŒØļø Character-by-character typing - šŸ’” Optional blinking cursor - ⚔ Configurable typing speed - šŸ“ Multiple positions and alignments - āœ… 100% design token compliant **Props:** - `text` (required): Text to type out (supports multiline with \n) - `font_size`: xl | 2xl | 3xl | 4xl (default: 3xl) - `font_weight`: normal | medium | semibold | bold (default: medium) - `text_color`: Override text color - `cursor_color`: Cursor color (default: text color) - `show_cursor`: Show blinking cursor (default: true) - `type_speed`: Characters per second (default: 2.0) - `position`: center | top | bottom | left (default: center) - `align`: left | center | right (default: left) **Usage Example:** ```python remotion_add_typewriter_text( text="Hello, World!", type_speed=3.0, show_cursor=True, position="center" ) ``` **Use Cases:** - Code demonstrations - Dialogue and captions - Storytelling sequences - Terminal/CLI effects - Step-by-step instructions --- ### 2. StaggerText **Location:** `src/chuk_motion/components/text-animations/StaggerText/` **Description:** Staggered reveal animation where characters or words appear one-by-one with smooth spring physics for professional appearance. **Inspired by:** [ReactBits Stagger](https://www.reactbits.dev/text-animations/stagger) **Features:** - šŸ“Š Character or word-based stagger - 🌊 Spring physics for smooth motion - šŸŽ­ Multiple animation types (fade, slide, scale) - šŸŽÆ Precise delay control - āœ… 100% design token compliant **Props:** - `text` (required): Text to animate - `font_size`: xl | 2xl | 3xl | 4xl (default: 3xl) - `font_weight`: normal | medium | semibold | bold | extrabold | black (default: bold) - `text_color`: Override text color - `stagger_by`: char | word (default: char) - `stagger_delay`: Delay in frames between units (default: 2.0) - `animation_type`: fade | slide-up | slide-down | scale (default: fade) - `position`: center | top | bottom (default: center) - `align`: left | center | right (default: center) **Usage Example:** ```python remotion_add_stagger_text( text="WELCOME", stagger_by="char", stagger_delay=2.0, animation_type="slide-up" ) ``` **Use Cases:** - Title reveals - Bullet point lists - Professional presentations - Step-by-step reveals - Impact statements --- ### 3. WavyText **Location:** `src/chuk_motion/components/text-animations/WavyText/` **Description:** Continuous wave motion animation on characters. Each character oscillates vertically with a phase offset to create a wave effect. **Inspired by:** [ReactBits Wavy Text](https://www.reactbits.dev/text-animations/wavy-text) **Features:** - 🌊 Continuous wave motion - šŸŽ›ļø Configurable amplitude, speed, frequency - šŸŽØ Smooth sine wave oscillation - šŸŽÆ Precise wave control - āœ… 100% design token compliant **Props:** - `text` (required): Text to animate with wave - `font_size`: xl | 2xl | 3xl | 4xl (default: 4xl) - `font_weight`: normal | medium | semibold | bold | extrabold | black (default: bold) - `text_color`: Override text color - `wave_amplitude`: Height of wave oscillation in pixels (default: 20.0) - `wave_speed`: Speed of wave motion (default: 1.0) - `wave_frequency`: Frequency of wave (spacing between peaks) (default: 0.3) - `position`: center | top | bottom (default: center) - `align`: left | center | right (default: center) **Usage Example:** ```python remotion_add_wavy_text( text="MUSIC", wave_amplitude=25.0, wave_speed=1.5, wave_frequency=0.3 ) ``` **Use Cases:** - Fun titles - Music videos - Creative content - Playful effects - Party/celebration themes --- ## šŸ“¦ Existing Components (Moved) ### 4. TrueFocus - **From:** `components/overlays/TrueFocus/` - **To:** `components/text-animations/TrueFocus/` - Word-by-word focus cycling with animated corner brackets ### 5. DecryptedText - **From:** `components/overlays/DecryptedText/` - **To:** `components/text-animations/DecryptedText/` - Character scrambling reveal with multiple directions ### 6. FuzzyText - **From:** `components/overlays/FuzzyText/` - **To:** `components/text-animations/FuzzyText/` - VHS glitch effects with scanlines and RGB split --- ## šŸŽ¬ Testing ### Comprehensive Demo ```bash python examples/all_text_animations_demo.py cd remotion-projects/all_text_animations_demo npm install && npm start ``` **Demo includes:** - 20 total scenes (~52.5 seconds) - 2 examples per component - All 6 text animation components showcased - Section titles between each component type **Components Demonstrated:** 1. **TypewriterText** - Classic typing and code effect 2. **StaggerText** - Character and word stagger 3. **WavyText** - Basic and subtle wave motion 4. **TrueFocus** - Word focus with different speeds 5. **DecryptedText** - Start and center reveal 6. **FuzzyText** - Animated and high-intensity glitch --- ## šŸŽÆ Usage in MCP All components are available via MCP tools: ```python # TypewriterText remotion_add_typewriter_text( text="Hello, World!", type_speed=3.0 ) # StaggerText remotion_add_stagger_text( text="WELCOME", stagger_by="char", animation_type="slide-up" ) # WavyText remotion_add_wavy_text( text="MUSIC", wave_amplitude=25.0 ) # TrueFocus remotion_add_true_focus( text="Innovation Through Excellence", word_duration=1.5 ) # DecryptedText remotion_add_decrypted_text( text="Access Granted", reveal_direction="start" ) # FuzzyText remotion_add_fuzzy_text( text="GLITCH EFFECT", glitch_intensity=8.0 ) ``` --- ## šŸ“Š Design Token Compliance All components are **100% design token compliant** with zero hardcoded values. ### Common Tokens Used - **Typography:** font_sizes, font_weights, primary_font, letter_spacing, line_heights - **Colors:** text.on_dark, primary[0] - **Spacing:** spacing.xs/xl/2xl/4xl, border_width, border_radius - **Motion:** default_spring config (damping, stiffness, mass) --- ## šŸ”„ System Updates ### Component Builder (`component_builder.py`) - Added "text-animations" to `template_categories` list - Enables template discovery in new folder ### File Moves ```bash # Moved from overlays/ to text-animations/ components/overlays/TrueFocus/ → components/text-animations/TrueFocus/ components/overlays/DecryptedText/ → components/text-animations/DecryptedText/ components/overlays/FuzzyText/ → components/text-animations/FuzzyText/ ``` --- ## šŸ“ Documentation Each component includes: - āœ… Template (`.tsx.j2`) with full design token usage - āœ… Tool (`.py`) with MCP registration - āœ… Metadata (`METADATA.json`) with props and examples **Locations:** - **TypewriterText:** `src/chuk_motion/components/text-animations/TypewriterText/` - **StaggerText:** `src/chuk_motion/components/text-animations/StaggerText/` - **WavyText:** `src/chuk_motion/components/text-animations/WavyText/` - **TrueFocus:** `src/chuk_motion/components/text-animations/TrueFocus/` - **DecryptedText:** `src/chuk_motion/components/text-animations/DecryptedText/` - **FuzzyText:** `src/chuk_motion/components/text-animations/FuzzyText/` - **Demo:** `examples/all_text_animations_demo.py` --- ## šŸ”§ Backwards Compatibility All changes are backwards compatible: - āœ… No breaking changes to existing code - āœ… Old examples still work (components found in new location) - āœ… Component builder automatically searches both folders - āœ… MCP tools unchanged --- ## šŸŽ‰ Summary **New Components:** 3 (TypewriterText, StaggerText, WavyText) **Moved Components:** 3 (TrueFocus, DecryptedText, FuzzyText) **Total Text Animations:** 6 **New Folder:** `text-animations/` **Features:** - 100% design token compliance - Comprehensive documentation - Full MCP tool integration - 20-scene demonstration - ReactBits-inspired designs **Quality:** - Zero hardcoded values - Proper React hooks usage - Spring physics animations - Professional appearance - Production-ready **Total Files Changed:** 13 **Lines of Code:** ~2,500 **Demo Duration:** 52.5 seconds --- ## šŸš€ Use Cases by Component | Component | Best For | Style | |-----------|----------|-------| | **TypewriterText** | Code demos, dialogue, captions | Classic | | **StaggerText** | Titles, bullet points, reveals | Professional | | **WavyText** | Music videos, fun content | Playful | | **TrueFocus** | Taglines, key messages | Dramatic | | **DecryptedText** | Hacker themes, mysteries | Tech | | **FuzzyText** | Retro aesthetics, glitch art | VHS/Cyberpunk | --- *All text animation components ready for production use!*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chrishayuk/chuk-mcp-remotion'

If you have feedback or need assistance with the MCP directory API, please join our Discord server