The chat experience

What a turn looks and feels like from the seat: the title the room gives itself, the composer you type or speak into, the bubbles a reply arrives in, the system bubble that narrates the world, the reactions and the thumb, and the cost panel behind the info page.

To be written. This is the one chapter with no page of its own today — its parts are each documented somewhere (below), but nothing walks the turn end to end. The table is the outline the page will take; each row names where its material is now.

Design scattered

partwhat it doesmaterial today
Auto-titlethe room names itself from the first exchange; a human-only chat stores no titleroom-title-architecture (memory) · Current functions
Composerthe adaptive two-deck composer; live dictation; the keyboard war it survivedPush-to-talk · The virtual keyboard
Bubblesthe render pipeline — markdown · KaTeX · highlight · sanitize; artifacts lifted onto the scratch paperRendering & speed · Scratch paper · LLM whiteboards
System bubblethe world narrating itself — joins, tools, rulings — in grey, never in a voiceThe world-event room · Style Guide
Reactions · feedbackemoji on a bubble; the per-turn thumb and lever-mapped tags that feed the floor producerFeedback widget
Cost panelChat info ▸ Cost, by function, from the ledgerThe chat's cost panel
Languagethe panel's language follows the room; translate on divergenceRoom language

UI built

Every part above is live in the app and named in the Style Guide; the text sheet for copying a bubble's words is in Text selection on touch.

Harness not yet

The decode chain that keeps an off-spec reply from breaking a bubble is the harness page's subject; nothing yet scores the experience — render fidelity of a known artifact set, the title the room picks, the thumb's landing. Candidates for the battery.

Built from

-ish · design notes — chat › the chat experience · outline opened 2026-08-22