A localhost viewer over persisted session JSONL for agent developers and researchers. Three first-class views — Chat (markdown-rendered surface conversation with a second-level inspector), Trajectory (turn/step tree with scroll-spy over a step-grouped event table, inline annotations), and Waterfall (timing summary + aligned time track that deep-links into Trajectory). Subagent sessions group under their parentSession with spawn links and breadcrumbs; failed tool calls are marked in every view; ?session=&view=&sel= makes any selection a shareable deep link. Motion follows an audited restraint baseline (plans/ documents the audit): one strong ease-out token, enter-only animations, press feedback on pushbuttons, prefers-reduced-motion support. AGENTS.md gains the research/ layout entry; the AGENTS.md word ceiling rises 1370 -> 1375 to fit it (one line, relocation not applicable for a top-level layout entry).
Animation plans
Written by the improve-animations audit (2026-07-18) against the uncommitted working tree.
| # | Plan | Severity | Status |
|---|---|---|---|
| 001 | Add easing token, upgrade transitions | LOW (foundation) | DONE |
| 002 | Inspector content slide-in | MEDIUM | DONE |
| 003 | Fade-slide expanded content | MEDIUM | DONE |
| 004 | Press feedback on pushbuttons | LOW | DONE |
| 005 | prefers-reduced-motion support | MEDIUM | DONE |
Execution order: 001 first (defines --ease-out used by all others), then 002–004 in any order, 005 last (its selectors target rules created by 002–004).
Explicit non-findings from the audit (do not "fix" these): instant view switching, instant hover states, the 1.4s flash pulse, instant collapse/close animations — all deliberate restraint for a crisp dashboard.