From 07925cf360d1d67e21e5953241556634fad45788 Mon Sep 17 00:00:00 2001
From: Jake
Date: Sun, 26 Apr 2026 18:20:34 +0100
Subject: [PATCH] =?UTF-8?q?feat(ux):=20PR=201.3=20=E2=80=94=20replace=200?=
=?UTF-8?q?=E2=86=92100=20hover-reveals=20with=20calm=20baseline?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Affordances on MicroSteps rows (thumbs/edit/speaker/just-start) and
transcript-viewer segments (star, copy, delete) used opacity-0 →
opacity-100 on group-hover, which (a) hid them from keyboard users
until focus and (b) violated the "always-visible affordance" line in
the Kon design audit.
Replace with opacity-30 baseline + group-hover:opacity-100 +
focus-visible:opacity-100 (MicroSteps) / focus-within:opacity-100
(viewer, since the actions sit inside an interactive segment row).
Result: affordances are calm but visible at rest, lift on hover or
keyboard focus, never invisible.
HistoryPage was checked — its row checkbox at line 757 is already
opacity-50 → opacity-100 on hover, the pattern this PR is moving
toward, so no change needed there.
Co-Authored-By: Claude Opus 4.7 (1M context)
---
src/lib/components/MicroSteps.svelte | 10 +++++-----
src/routes/viewer/+page.svelte | 4 ++--
2 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/lib/components/MicroSteps.svelte b/src/lib/components/MicroSteps.svelte
index 3efb046..9d05fa3 100644
--- a/src/lib/components/MicroSteps.svelte
+++ b/src/lib/components/MicroSteps.svelte
@@ -277,7 +277,7 @@
route into record_feedback and feed the prompt-conditioning
loop. See docs/roadmap/2026-04-23-... Phase 2. -->