2026-07-04 — v18 first impression pass
The viewer now opens on a real rendered trace instead of a blank canvas: the bundled sample auto-loads on first visit, the chromatogram background follows the active theme, and the UI explicitly tells you that you are looking at a sample until you dismiss or replace it.
What shipped
- First visit auto-loads
public/sample.ab1through the normal parse/render path. - User-loaded files replace the placeholder sample slot instead of silently creating a second tab.
- A dismissible sample ribbon explains that the app is 100% in-browser and ready for your own trace.
- The chromatogram canvas now paints with
--color-surfaceinstead of a hardcoded white fill.
Verification added
tests/parsers/sample.test.tslocks the bundled sample to exact known base-call values.tests/e2e/ux-a11y.e2e.test.tscovers first-visit sample rendering, sample ribbon behavior, single-slot replacement, and dark-surface loading.