Parent roadmap: #525
Parent epic: #577
Owner-led — assigned to @JSONbored.
Goal
Playwright capture: screenshot each affected route at one or more viewports (desktop/mobile), for both base and head → before/after image pairs.
Reuse
The existing Playwright browser harness (scripts/smoke-ui-browser.mjs, test:smoke:browser).
Scope
- Headless capture with hydration-wait + network-idle.
- Configurable viewports; deterministic settling (disable animations, freeze time/fonts).
- Output before/after PNG pairs per route+viewport.
Acceptance
For a set of routes, produces matched before/after PNGs that are stable across runs.
Parent roadmap: #525
Parent epic: #577
Goal
Playwright capture: screenshot each affected route at one or more viewports (desktop/mobile), for both base and head → before/after image pairs.
Reuse
The existing Playwright browser harness (
scripts/smoke-ui-browser.mjs,test:smoke:browser).Scope
Acceptance
For a set of routes, produces matched before/after PNGs that are stable across runs.