Chat view: messages, streaming, message toolbar, branch pager #6

Closed
opened 2026-08-01 22:09:36 -04:00 by lyssieth · 0 comments
Owner

The core conversation surface, per docs/designs/draft/frontend.md. The centered column is canonical and embraced — augmented, never replaced. Depends on the token core (#5).

Checklist

  • Centered column (~72ch prose measure) rendering the conversation's current_path
  • [-] Markdown surfaces: prose, tables, math-ish content, code blocks with arborium highlight classes — Will be completed in a follow-up (#14, math-ish part)
  • [-] Collapsible reasoning/thinking and tool-call blocks, collapsed by default — Will be completed in a follow-up (#14, tool-call part)
  • Streaming: append-only render with CSS containment, quiet live indicator, no typing theater; virtualized long conversations; scroll stable while reading history (no forced scroll-to-bottom unless already at the edge)
  • Hover-revealed message toolbar — Copy / Edit / Regenerate, identical position and vocabulary on every message, keyboard-reachable
  • Branch pager on edited/regenerated turns ("‹ 2 of 3 ›"), present but quiet
  • Bridge surface for edit/regenerate driving the conversation tree (sibling TurnNode creation; today only start_stream exists)
  • User-cancelled streams settle into a cancelled visual state without surfacing an error (per error-visibility.md)
  • Empty state teaches the interface

Refs

  • docs/designs/draft/frontend.md — surface inventory + motion/performance rules
  • docs/invariants/streaming-backpressure.md — streaming render guarantees
  • docs/architecture/streaming.md — the streaming pipeline
  • docs/invariants/subscription-cleanup.md — subscription lifecycle
  • docs/glossary.md — Conversation / TurnNode tree model
  • #14 — follow-up: math-ish content + collapsible tool-call blocks
The core conversation surface, per `docs/designs/draft/frontend.md`. The centered column is canonical and embraced — augmented, never replaced. Depends on the token core (#5). ## Checklist - [x] Centered column (~72ch prose measure) rendering the conversation's `current_path` - [-] Markdown surfaces: prose, tables, math-ish content, code blocks with arborium highlight classes — *Will be completed in a follow-up (#14, math-ish part)* - [-] Collapsible reasoning/thinking and tool-call blocks, collapsed by default — *Will be completed in a follow-up (#14, tool-call part)* - [x] Streaming: append-only render with CSS containment, quiet live indicator, no typing theater; virtualized long conversations; scroll stable while reading history (no forced scroll-to-bottom unless already at the edge) - [x] Hover-revealed message toolbar — Copy / Edit / Regenerate, identical position and vocabulary on every message, keyboard-reachable - [x] Branch pager on edited/regenerated turns ("‹ 2 of 3 ›"), present but quiet - [x] Bridge surface for edit/regenerate driving the conversation tree (sibling `TurnNode` creation; today only `start_stream` exists) - [x] User-cancelled streams settle into a cancelled visual state without surfacing an error (per `error-visibility.md`) - [x] Empty state teaches the interface ## Refs - `docs/designs/draft/frontend.md` — surface inventory + motion/performance rules - `docs/invariants/streaming-backpressure.md` — streaming render guarantees - `docs/architecture/streaming.md` — the streaming pipeline - `docs/invariants/subscription-cleanup.md` — subscription lifecycle - `docs/glossary.md` — Conversation / TurnNode tree model - #14 — follow-up: math-ish content + collapsible tool-call blocks
lyssieth added this to the v1 milestone 2026-08-01 22:11:43 -04:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Depends on
Reference
lyssieth/sermones#6
No description provided.