Files
deepseek-harness/research/trace-workbench/plans/004-press-feedback.md
NI0317 b965285f28 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).
2026-07-18 14:06:32 +08:00

1.6 KiB
Raw Blame History

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

.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 100160ms 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.