Problem
Theme changes, dark mode, and CSS variable plumbing are easy to break without anyone noticing until users report. Playwright smoke tests cover lifecycle but not visual fidelity.
Proposed approach
- Add Playwright `toHaveScreenshot()` snapshots for:
- Title bar in light mode
- Title bar in dark mode
- Settings modal (light + dark)
- 1, 2, 3 pane layouts
- Run on the CI matrix; fail on visual diff > 0.5%.
Files to touch
- `tests/smoke/visual.spec.js` (new)
- `playwright.config.js` — snapshot threshold
Acceptance criteria
- CI fails when a visual diff exceeds threshold.
- Updating snapshots is one command: `npm test -- --update-snapshots`.
Problem
Theme changes, dark mode, and CSS variable plumbing are easy to break without anyone noticing until users report. Playwright smoke tests cover lifecycle but not visual fidelity.
Proposed approach
Files to touch
Acceptance criteria