← Back to devlog

2026-07-04 — v27 workspace-shell IA restructure

The app had quietly turned into a vertical wall. Useful tools kept landing below the fold, and the first thing a new person saw was not the chromatogram — it was a stack of panels. That felt backwards for a trace viewer. This pass fixes the information architecture without cutting any capability.

What changed

Implementation notes

The change is mostly a DOM restructure inside TraceViewer. Rather than rebuilding feature components, the viewer now creates the same controls and panels, then moves them into a new .app-shell with a hero region and tabbed sidebar. That kept the behavior code stable while letting the layout change dramatically.

I also tightened control disabling so broad loading-state updates only target the intended toolbar actions. That matters now that panel-specific actions like assembly and PCR live next to the toolbar in the same overall workspace shell.

Why this version feels better

The viewer finally opens on the thing you came to inspect: the trace itself. Everything else is still there, but it no longer competes with the chromatogram for first attention. This is the kind of IA cleanup that makes the app feel calmer without removing power.