Previously, the animation loop would exit before rendering the final
frame at progress=1.0. The loop checked is_complete() before rendering,
so the last visible frame was at (total_frames-1)/total_frames progress
(~96-97%).
Changed the loop to:
1. Render the current frame
2. Check if complete and break
3. Advance to next frame
This ensures the final frame at progress=1.0 is rendered before exiting,
completing the animation properly.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Windows figlet installation was unreliable in CI. Tests will
gracefully skip when figlet is not available.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Chocolatey installation was failing in CI. Winget is built into
Windows and provides a more reliable installation method.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update actions/upload-artifact from v3 to v4
- Update actions/dependency-review-action from v3 to v4
- Fix deprecated action warnings
🤖 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>