feat(tui): add snapshot test infrastructure + terminal compat matrix (bd-2nfs)

- 6 deterministic snapshot tests at 120x40 with FakeClock frozen at 2026-01-15T12:00:00Z
- Buffer-to-plaintext serializer resolving chars, graphemes, and wide-char continuations
- Golden file management with UPDATE_SNAPSHOTS=1 env var for regeneration
- Snapshot diff output on mismatch for easy debugging
- Tests: dashboard, issue list, issue detail, MR list, search results, empty state
- TERMINAL_COMPAT.md template for manual QA across iTerm2/tmux/Alacritty/kitty/WezTerm
This commit is contained in:
teernisse
2026-02-19 00:30:40 -05:00
parent 04ea1f7673
commit 403800be22
10 changed files with 760 additions and 6 deletions

View File

@@ -0,0 +1,61 @@
# Terminal Compatibility Matrix
Manual verification checklist for lore-tui rendering across terminal emulators.
**How to use:** Run `cargo run -p lore-tui` in each terminal, navigate through
all screens, and mark each cell with one of:
- OK — works correctly
- PARTIAL — works with minor visual glitches (describe in Notes)
- FAIL — broken or unusable (describe in Notes)
- N/T — not tested
Last verified: _not yet_
## Rendering Features
| Feature | iTerm2 | tmux | Alacritty | kitty | WezTerm |
|----------------------|--------|------|-----------|-------|---------|
| True color (RGB) | | | | | |
| Unicode box-drawing | | | | | |
| CJK wide characters | | | | | |
| Bold text | | | | | |
| Italic text | | | | | |
| Underline | | | | | |
| Dim / faint | | | | | |
| Strikethrough | | | | | |
## Interaction Features
| Feature | iTerm2 | tmux | Alacritty | kitty | WezTerm |
|----------------------|--------|------|-----------|-------|---------|
| Keyboard input | | | | | |
| Mouse click | | | | | |
| Mouse scroll | | | | | |
| Resize handling | | | | | |
| Alt screen toggle | | | | | |
| Bracketed paste | | | | | |
## Screen-Specific Checks
| Screen | iTerm2 | tmux | Alacritty | kitty | WezTerm |
|----------------------|--------|------|-----------|-------|---------|
| Dashboard | | | | | |
| Issue list | | | | | |
| Issue detail | | | | | |
| MR list | | | | | |
| MR detail | | | | | |
| Search | | | | | |
| Command palette | | | | | |
| Help overlay | | | | | |
## Minimum Sizes
| Terminal size | Renders correctly? | Notes |
|---------------|-------------------|-------|
| 80x24 | | |
| 120x40 | | |
| 200x60 | | |
## Notes
_Record any issues, workarounds, or version-specific quirks here._