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).
57 lines
1.6 KiB
Markdown
57 lines
1.6 KiB
Markdown
# 004 — Press feedback on pushbuttons
|
||
|
||
- **Status**: DONE
|
||
- **Commit**: (repo has no commits yet — uncommitted working tree, 2026-07-18)
|
||
- **Severity**: LOW
|
||
- **Category**: Physicality & origin
|
||
- **Estimated scope**: 1 file (styles.css), 1 rule
|
||
|
||
## Problem
|
||
|
||
No pressable element gives press feedback; clicks feel dead. Applies to true pushbuttons only — rows and list items must NOT scale (they're selection surfaces, not buttons).
|
||
|
||
## Target
|
||
|
||
```css
|
||
.segmented button:active,
|
||
.trajectory-toolbar button:active,
|
||
.drawer-actions button:active,
|
||
.row-tools button:active,
|
||
.fb-send:active,
|
||
.feedback-submit:active,
|
||
.new-session-button:active,
|
||
.activity-open-inspector:active {
|
||
transform: scale(0.97);
|
||
}
|
||
|
||
.segmented button,
|
||
.trajectory-toolbar button,
|
||
.drawer-actions button,
|
||
.row-tools button,
|
||
.fb-send,
|
||
.feedback-submit,
|
||
.new-session-button {
|
||
transition: transform 160ms var(--ease-out);
|
||
}
|
||
```
|
||
|
||
Subtle (0.97), transform-only, 160ms — inside the 100–160ms press-feedback budget on release.
|
||
|
||
## Repo conventions to follow
|
||
|
||
- `--ease-out` token from plan 001 (depends on it).
|
||
|
||
## Steps
|
||
|
||
1. styles.css: add both rules near the global `button` styles at the top of the file.
|
||
|
||
## Boundaries
|
||
|
||
- Do NOT add `:active` scaling to `.session-row`, `.traj-summary`, `.tree-step`, `.spawn-link`, `.wf-label-col`, `.wf-bar`, or chat summaries.
|
||
- Do NOT scale below 0.95.
|
||
|
||
## Verification
|
||
|
||
- **Feel check**: hold the Trajectory segmented button down — it compresses slightly; release — it springs back over ~160ms. Click a session row — no scaling.
|
||
- **Done when**: pushbuttons compress on press, selection surfaces don't.
|