Commit Graph

2 Commits

Author SHA1 Message Date
0a75003451 Fix formatting: break long lines for rustfmt compliance
Rustfmt requires long chained method calls to be broken across
multiple lines when they exceed line length limits.

Changes:
- Break visual_width() iterator chains in renderer.rs
- Break visual_width() iterator chains in terminal.rs
- Fix comment alignment in ansi.rs

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 04:24:40 +01:00
24ca6f0262 Fix text positioning by calculating visual width without ANSI codes
The motion effects were appearing with incorrect row offsets because
the text width calculation included ANSI color escape sequences in
the byte length, causing misaligned centering.

Changes:
- Added utils/ansi.rs module with strip_ansi() and visual_width()
- Updated renderer to use visual_width() for offset positioning
- Updated TerminalManager::print_centered() to use visual_width()
- All text positioning now correctly ignores ANSI escape sequences

This fixes the "shifted in the rows" issue where colored text was
not properly centered due to escape sequence byte counts.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-09 04:12:15 +01:00