🖱️ Mouse
- Left-drag
- Pan the track view (Photoshop hand tool). Works anywhere.
- Middle-click + drag
- Pan (alternative).
- Shift + left-drag
- Marquee multi-select. Cursor turns to crosshair.
- Shift + drag over names
- Select every non-idle cell for each agent row touched.
- Click a cell
- Open that bucket in Summary / Artifacts / Labels.
- Click an agent name
- Select the whole row for that one agent.
- Shift + click agent name
- Add that row to the current selection.
🔍 Zoom
- Ctrl + wheel
- Photoshop-style continuous zoom. Grain (turn / 15min / hour / 4h / day) stays locked — cells just stretch.
- Plain mouse wheel
- Normal page scroll — no longer zooms. Hold Ctrl to zoom.
- Shift + wheel
- Horizontal scroll (browser default).
- + / -
- Zoom in / out via keyboard.
- 0
- Reset zoom to 1.0x.
⌨️ Cell nav
- ← / →
- Move selection to the ADJACENT cell (including empty/idle cells, so you can scrub through quiet stretches).
- Shift + ← / →
- Hop to the NEXT NON-IDLE cell (skip over empty gaps).
- ↑ / ↓
- Move to adjacent agent row, same time column.
- Shift + ↑ / ↓
- Hop to the next ROW whose cell at the current time column is ACTIVE (skip quiet rows).
- Home / End
- Jump to first / last cell in the current row.
- PageUp / PageDown
- Jump 10 cells left / right.
- Esc
- Clear selection.
🧭 Column / row keyboard nav
After clicking a column header or an agent/fleet name:
- ← / → (after col click)
- Iterate columns one-at-a-time, wrapping cyclically at the ends.
- ↑ / ↓ (after row click)
- Iterate agent rows one-at-a-time, wrapping cyclically. Auto-scrolls into view.
- Home
- Jump to first column / first row of the current axis.
- End
- Jump to last column / last row of the current axis.
- (disabled while typing in text inputs)
- Focus inside a filter/textarea blocks these shortcuts so you can type normally.
🖼️ Layout
- edit layout button
- Enables drag/resize on every widget AND the vertical splitter between widgets and chart.
- chart: bottom ↔ right button
- Toggle: agent timeline chart docks under the widgets (default) or as a right-side column. In right mode drag the vertical splitter to resize width (240px min, 75% viewport max). Persists per browser.
- compact: off ↔ on button
- Collapse runs of ≥3 empty buckets to a narrow gap marker. Useful for long timelines with sparse activity.
- reset layout button
- Restore widget grid defaults for the current profile.
- profile select
- Switch between saved widget-grid profiles (default / focus-mode / your custom).
🎛️ Toolbar
- bucket
- turn / 15min / hour / 4h / day — time grain locked across zoom.
- range
- Filter by recent window (1h / 24h / 7d / all).
- filter
- Text match against agent title + project.
- fleet dropdown
- Scope to one fleet. ✓ = classified · ∅ = unclassified · 🔒 = privacy-locked.
- sort
- first activity / last activity / total messages / total cost / alphabetical / status-triage.
📺 Live refresh
- 🟢 pulse
- Daemon running, last tick ok. UI auto-refetches every ~30s.
- 🟠 flash
- New data landed — timeline redrew without losing your selection / zoom / scroll.
- gray dot
- Daemon stopped. See settings → section 9.
🔗 Pages
- /timeline
- Main fleet GUI — tracks, selection, panels.
- /t/fast
- Card grid (one card per agent, tier switch).
- /about
- Architecture, cost pareto, agreement bars.
- /settings
- Fleet index, remote hosts, live refresh config, cost ledger.