v0.2.x: conversation thread UI — per-speaker annotation lanes with sidecar emoji #26

Open
opened 2026-04-12 18:52:06 -07:00 by pyr0ball · 0 comments
Owner

Summary

Replace the flat NowPanel + HistoryStrip layout with a per-speaker thread layout once diarization detects multiple speakers.

Full spec: circuitforge-plans/linnet/superpowers/specs/2026-04-13-conversation-thread-ui-design.md

Components

  • SpeakerThread.vue: per-speaker lane with sidecar colour circle, current annotation, transcript, history pills
  • ThreadView.vue: grid wrapper (vertical mobile, side-by-side desktop)
  • SpeakerThreadModal.vue: tap to expand full history with confidence filter
  • Transition: NowPanel to ThreadView when activeSpeakers.length >= 2 (one-way per session)

Sidecar indicator

Colour circles (not face emoji). Warm warm=yellow, Genuine=green, Frustrated=red, Confused=orange, Apologetic=blue, Dismissive=purple, Urgent=lightning, Neutral=white

Open questions before build

  1. Keep NowPanel as summary above threads, or remove?
  2. Show Multiple overlap lane, or suppress?
  3. Thread persistence across sessions in same page load?

ND constraints

No flashing on affect change. Modal dismissable. No audio stored in thread history.

Depends on

linnet#8 diarization (done, pending live test close)

## Summary Replace the flat NowPanel + HistoryStrip layout with a per-speaker thread layout once diarization detects multiple speakers. Full spec: circuitforge-plans/linnet/superpowers/specs/2026-04-13-conversation-thread-ui-design.md ## Components - SpeakerThread.vue: per-speaker lane with sidecar colour circle, current annotation, transcript, history pills - ThreadView.vue: grid wrapper (vertical mobile, side-by-side desktop) - SpeakerThreadModal.vue: tap to expand full history with confidence filter - Transition: NowPanel to ThreadView when activeSpeakers.length >= 2 (one-way per session) ## Sidecar indicator Colour circles (not face emoji). Warm warm=yellow, Genuine=green, Frustrated=red, Confused=orange, Apologetic=blue, Dismissive=purple, Urgent=lightning, Neutral=white ## Open questions before build 1. Keep NowPanel as summary above threads, or remove? 2. Show Multiple overlap lane, or suppress? 3. Thread persistence across sessions in same page load? ## ND constraints No flashing on affect change. Modal dismissable. No audio stored in thread history. ## Depends on linnet#8 diarization (done, pending live test close)
pyr0ball added this to the Navigation — v0.2.x milestone 2026-04-17 11:56:16 -07:00
Sign in to join this conversation.
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.

Dependencies

No dependencies set.

Reference: Circuit-Forge/linnet#26
No description provided.