mirror of
https://github.com/multica-ai/multica.git
synced 2026-07-29 14:37:44 +02:00
Combines the transcript work (previously split across #5860 virtual scroll and #5871 reading hierarchy) into one branch on current main, folding in the runtime-alias display from #5881. - Virtualize the event list (react-virtuoso) so a multi-thousand-event run mounts a bounded number of DOM rows (#5733), with firstItemIndex anchoring for newest-first live prepends. - Reading hierarchy via a pure trace-event-presenter: agent text and errors render expanded in place through RichContent (compact, log-scale markdown); thinking/tool rows fold to one line; tool detail expands into a quiet surface with "show all". - Persisted 3-way expand density (smart/expanded/collapsed) with per-row overrides; legacy defaultExpanded boolean migrated. Filters always persist (dropped the preserve-filters toggle). - Two-tier header: identity row (status, agent, trigger source, triggered-by) + list toolbar (created/duration/events facts left, shared Button controls right); runtime/provider/workdir/timestamps move to an ⓘ popover, runtime shown via runtimeDisplayName (#5881). - Copy-all exports full event bodies (redacted) with RFC 3339 timestamps (#5873), not the truncated summary. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
63 lines
1.5 KiB
CSS
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;
|
|
}
|