style(tui): picker highlighted item → Aurora blue (v0.6.4)
Operator request: the agent picker's highlighted selection should
get the brand-color treatment — Aurora blue background — instead of
the v0.6.1 dark-30 muted bg.
## Two-fix landing
**The selector**: v0.6.1's `ListView > ListItem.--highlight` (double
dash) never actually matched. Textual's class is `-highlight` (single
dash). The v0.6.1 "fix" silently fell through to Textual's defaults,
which happened to be invisible because $block-cursor-background was
configured but the selector path didn't reach the rendered widget.
Probed live: `item.classes = frozenset({'-highlight'})`. Selector
corrected, plus dropped the `>` combinator since Textual's internal
DOM puts wrappers between `ListView` and `ListItem`.
**The background**: explicit `#agent-list:focus ListItem.-highlight
{ background: $primary }` — Aurora blue (#6388D8) for the focused-
list highlight band.
**The contrast**: bright-blue id-line text on Aurora-blue background
would be unreadable. Highlighted-state child overrides:
.agent-id-line → $au-bright-white (#cce7ec) + bold
.agent-desc → $au-bright-80 (#b3cbcf)
Non-highlighted items keep their default colors (bright-blue id +
bright-70 desc on App bg).
## Verified live
13 fill rects of `#6388d8` in the picker SVG export (was 0
before this commit). Other Australis brand colors intact:
chrome surface #373b46, dark-50 #6e7882, dark-30 #414751.
## Tests
241/241 GREEN; ruff clean. No test rewrites needed — picker tests
assert structure (widget tree, key bindings), not colors.
Patch bump (v0.6.3 → v0.6.4) — cosmetic; no public-API change.
This commit is contained in:
@@ -32,9 +32,9 @@ separate dev team rather than an in-tree Worldtree tool.
|
|||||||
|
|
||||||
## Current state / in-flight
|
## Current state / in-flight
|
||||||
|
|
||||||
_As of 2026-05-24 (post-v0.6.3 Australis restored, $background → black):_
|
_As of 2026-05-24 (post-v0.6.4 picker Aurora-blue highlight):_
|
||||||
|
|
||||||
**Status: v0.6.3 shipped.** Nine core issues complete (`sse_client`
|
**Status: v0.6.4 shipped.** Nine core issues complete (`sse_client`
|
||||||
#1, `sessions` #2, `cli` #3, `tui` #4, `--end-user-id` #5, TUI
|
#1, `sessions` #2, `cli` #3, `tui` #4, `--end-user-id` #5, TUI
|
||||||
startup error visibility #6, presenter contract semantics amendment
|
startup error visibility #6, presenter contract semantics amendment
|
||||||
#12, startup agent picker #8, §5 layout reshape + Tools pane #13)
|
#12, startup agent picker #8, §5 layout reshape + Tools pane #13)
|
||||||
@@ -51,8 +51,9 @@ Static in the footer (static "Tools" v1; dynamic when more tabs
|
|||||||
land). CLI mode (--send) unaffected by design — INV-018.
|
land). CLI mode (--send) unaffected by design — INV-018.
|
||||||
|
|
||||||
Last commits on `main`:
|
Last commits on `main`:
|
||||||
- v0.6.3 style(tui): restore Australis palette, only $background → pure black
|
- v0.6.4 style(tui): picker highlighted item → Aurora blue (brand selection treatment)
|
||||||
- `d845b20` style(tui): neutralize Australis dark palette — bg no longer blue-tinted (v0.6.2, reverted)
|
- `ac690c1` style(tui): restore Australis palette, only $background → pure black (v0.6.3)
|
||||||
|
- `d845b20` style(tui): neutralize Australis dark palette (v0.6.2, reverted)
|
||||||
- `8463eb2` style(tui): kill remaining blue + thinking-current into pane (v0.6.1)
|
- `8463eb2` style(tui): kill remaining blue + thinking-current into pane (v0.6.1)
|
||||||
- `cfee89a` refactor(tui): streaming + turn headers + Thinking pane (v0.6.0)
|
- `cfee89a` refactor(tui): streaming + turn headers + Thinking pane (v0.6.0)
|
||||||
- `7106af5` style(tui): UI polish pass — terminal label colors, placeholders (v0.5.1)
|
- `7106af5` style(tui): UI polish pass — terminal label colors, placeholders (v0.5.1)
|
||||||
|
|||||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|||||||
|
|
||||||
[project]
|
[project]
|
||||||
name = "ratatoskr"
|
name = "ratatoskr"
|
||||||
version = "0.6.3"
|
version = "0.6.4"
|
||||||
description = "Worldtree Conversation API debug TUI — multi-pane observability dashboard"
|
description = "Worldtree Conversation API debug TUI — multi-pane observability dashboard"
|
||||||
readme = "README.md"
|
readme = "README.md"
|
||||||
requires-python = ">=3.12"
|
requires-python = ">=3.12"
|
||||||
|
|||||||
+22
-10
@@ -425,22 +425,34 @@ class AgentPickerApp(App[str | None]):
|
|||||||
background: $background;
|
background: $background;
|
||||||
}
|
}
|
||||||
/* Multi-line agent items. Each ListItem is auto-height so the full
|
/* Multi-line agent items. Each ListItem is auto-height so the full
|
||||||
description wraps below the agent_id/name line — no truncation. */
|
description wraps below the agent_id/name line — no truncation.
|
||||||
|
v0.6.4: lock bg to $background so Textual's auto background-tint on
|
||||||
|
focus doesn't bleed through unwanted color into the non-highlighted
|
||||||
|
items. */
|
||||||
#agent-list > ListItem {
|
#agent-list > ListItem {
|
||||||
height: auto;
|
height: auto;
|
||||||
padding: 1 1;
|
padding: 1 1;
|
||||||
background: $background;
|
background: $background;
|
||||||
}
|
}
|
||||||
/* v0.6.1: override Textual's default ListView:focus highlight, which
|
/* v0.6.4: highlighted item gets Aurora blue background (Textual's
|
||||||
defaults to $primary (Aurora blue) and made the picker unreadable.
|
default $block-cursor-background = $primary). Override only the
|
||||||
Both selectors needed — focused state has higher specificity in
|
text-color descendants so id-line/desc stay readable on blue. The
|
||||||
Textual's defaults. */
|
background itself comes from Textual's default ListItem.-highlight
|
||||||
ListView > ListItem.--highlight,
|
rule — we removed our previous overriding selectors.
|
||||||
ListView:focus > ListItem.--highlight {
|
|
||||||
background: $au-dark-30;
|
Textual's class is `-highlight` (single dash). Use plain descendant
|
||||||
|
combinator to bypass internal DOM wrappers. */
|
||||||
|
#agent-list:focus ListItem.-highlight {
|
||||||
|
background: $primary;
|
||||||
}
|
}
|
||||||
/* Children of highlighted items keep their colors — the dark-30 bg
|
#agent-list:focus ListItem.-highlight .agent-id-line {
|
||||||
provides enough contrast for bright-blue id + dark-60 desc text. */
|
color: $au-bright-white;
|
||||||
|
text-style: bold;
|
||||||
|
}
|
||||||
|
#agent-list:focus ListItem.-highlight .agent-desc {
|
||||||
|
color: $au-bright-80;
|
||||||
|
}
|
||||||
|
/* Default (unhighlighted) item text styling. */
|
||||||
.agent-id-line {
|
.agent-id-line {
|
||||||
color: $au-bright-blue;
|
color: $au-bright-blue;
|
||||||
text-style: bold;
|
text-style: bold;
|
||||||
|
|||||||
Reference in New Issue
Block a user