- Conversion now happens inline on the file list — status column updates
from idle → converting... → done/error in place (no separate screen)
- Fixed value-receiver bug in convertNext() that prevented 'converting'
status from being displayed
- Added cwebp fallback for PNG/JPEG → WebP (ffmpeg webp encoder often
missing on macOS)
- Format selector arrows hidden during conversion/results states
- Simplified to 2 states: stateFileList + stateResults
- Added tests for conversion state machine and view rendering