Files
multica/packages/views/common/task-transcript/task-transcript.css
Naiyuan Qing a7ec1287b3 feat(views): transcript reading hierarchy — presenter, expand modes, log-scale markdown
The transcript rendered all five event kinds as identical truncated
one-liners: agent replies and errors were clipped to half a sentence and
only readable through an 11px bordered scroll box, indistinguishable in
weight from dozens of tool rows.

- trace-event-presenter.ts: pure presentation rules — kind, verbatim
  tool labels, newline-free one-line summaries, shell-wrapper stripping
  for command summaries, and per-kind default expansion.
- Smart reading hierarchy: agent text renders in place through
  RichContent (compact density + transcript-prose log scale: headings
  demoted to body size, 12.5px/11px two-step type ramp) and errors read
  unboxed; thinking and tool rows stay folded to one line.
- Expand mode menu replaces the expand-visible toggle: a persisted
  three-way preference (smart / expand all / collapse all) with per-item
  descriptions; row-level toggles override it until the mode changes.
  transcript-view-store migrates the legacy defaultExpanded boolean.
- Tool params/output expand into a quiet borderless surface; long
  content fades behind "Show all" instead of a nested scrollbar.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-24 16:01:46 +08:00

63 lines
1.5 KiB
CSS

/*
* Log-scale markdown for transcript agent text (rendered via RichContent with
* className="transcript-prose"). Structure is preserved; the type scale is
* flattened to the transcript's data-panel rhythm: body 12.5px, mono 11px,
* headings demoted to body size. Selectors double up with .rich-text-editor
* (the RichContent root) so they outrank the shared base styles regardless of
* CSS load order.
*/
.rich-text-editor.transcript-prose {
font-size: 12.5px;
line-height: 1.7;
}
.rich-text-editor.transcript-prose > :first-child {
margin-top: 0;
}
.rich-text-editor.transcript-prose > :last-child {
margin-bottom: 0;
}
.rich-text-editor.transcript-prose p {
margin: 0.25rem 0;
}
.rich-text-editor.transcript-prose ul,
.rich-text-editor.transcript-prose ol {
margin: 0.25rem 0;
padding-left: 1.25rem;
}
.rich-text-editor.transcript-prose li {
margin: 0.1rem 0;
}
/* A transcript is not an article: every heading demotes to emphasized body. */
.rich-text-editor.transcript-prose h1,
.rich-text-editor.transcript-prose h2,
.rich-text-editor.transcript-prose h3,
.rich-text-editor.transcript-prose h4,
.rich-text-editor.transcript-prose h5,
.rich-text-editor.transcript-prose h6 {
font-size: 12.5px;
font-weight: 500;
margin: 0.5rem 0 0.15rem;
}
.rich-text-editor.transcript-prose code {
font-size: 11px;
}
.rich-text-editor.transcript-prose pre,
.rich-text-editor.transcript-prose .code-block-wrapper {
font-size: 11px;
margin: 0.35rem 0;
}
.rich-text-editor.transcript-prose blockquote {
margin: 0.35rem 0;
font-size: 12.5px;
}