Every CAD viewer's top bar is now organised the same way. Open one viewer, you know where every button lives in the other seven. Web-first means no hidden popovers — every action stays visible — but grouped so your eye finds the right cluster instantly.
Canonical group order
FILE | MODE | NAV | DISPLAY | ACTIONS | ⌘K
- FILE — open the file picker.
- MODE — Measure, Section (the two stateful tools).
- NAV — Pan, Zoom Window, Fit, Home, Bookmarks (the camera controls; Onshape/Fusion users will feel at home).
- DISPLAY — Explode, Bbox, axis re-orient — whatever toggles how the geometry is shown.
- ACTIONS — Screenshot, Share, AR, Compare — one-shot commands.
- ⌘K — the command palette, always at the far right (matches PDF Editor).
Groups are separated by 1px dividers. The trailing Commands button is pushed to the right edge with a flex spacer, so it sits exactly where Adobe / Affinity / Figma users expect.
Naming fixes
- "Dims" → "Bbox" everywhere. The old label was ambiguous (dimensions of what?). Bbox tells you it toggles the bounding-box overlay.
- "PNG" → "Screenshot". We render screenshots as PNG, but the user-facing action is "take a screenshot." The verb belongs on the button, not the file format.
Per-viewer specifics
- STEP — full 6-group layout including Compare deep-link in ACTIONS.
- STL — adds a 3D-print group between MODE and NAV: Plate (build-plate ghost) · Printer (profile select) · Drop-to-plate.
- 3MF — Explode lives in DISPLAY (only meaningful for multi-part files).
- OBJ — axis re-orient (Y-up ↔ Z-up) in DISPLAY.
- PLY / GLB — standard 6-group layout.
- DXF — pared-down 2D layout: no Section/AR/Bookmarks/Explode (none apply to 2D).
Why this matters
Inconsistent toolbars cost users milliseconds on every action. Multiply by a CAD review session that takes 20 minutes and you've burned attention on layout-hunting that should go to the part. Canonical order makes muscle memory transfer between formats — open a STEP today, an OBJ tomorrow, the buttons are in the same place.
The new layout primitives (Divider, TopBarSpacer) live in src/components/editor/primitives/ and are exported from the editor barrel, ready for future tier-1 editor tools (audio, video, RAW).