Previous keyboard event polling didn't work for Ctrl+C in raw mode.
Now using tokio::signal::ctrl_c() with a background task that signals
the render loop through a channel when Ctrl+C is pressed.
Changes:
- Added "signal" and "sync" features to tokio dependency
- Spawn background task to listen for Ctrl+C signal
- Use mpsc channel to communicate signal to render loop
- Keep 'q' and ESC keyboard shortcuts for convenience
Ctrl+C now properly exits looping animations.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Implement complete animation system with 20+ motion effects
- Add 18+ easing functions (quad, cubic, elastic, back, bounce)
- Implement color system with palette and gradient support
- Add parser for durations, colors, and CSS gradients
- Create comprehensive test suite (14 tests passing)
- Add linting and formatting with clippy/rustfmt
- Support for figlet integration with custom fonts
- Terminal rendering with crossterm
- Fix all clippy warnings and lint issues
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>