feat(research): add trace-workbench local session-replay UI

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).
This commit is contained in:
NI0317
2026-07-18 14:04:43 +08:00
parent 4139e093dd
commit b965285f28
14 changed files with 5303 additions and 1 deletions

View File

@@ -0,0 +1,15 @@
# 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](001-motion-foundation.md) | LOW (foundation) | DONE |
| 002 | [Inspector content slide-in](002-inspector-enter.md) | MEDIUM | DONE |
| 003 | [Fade-slide expanded content](003-details-enter.md) | MEDIUM | DONE |
| 004 | [Press feedback on pushbuttons](004-press-feedback.md) | LOW | DONE |
| 005 | [prefers-reduced-motion support](005-reduced-motion.md) | 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.