Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 82437bd4b9 | |||
| ac690c11d5 |
@@ -32,9 +32,9 @@ separate dev team rather than an in-tree Worldtree tool.
|
||||
|
||||
## Current state / in-flight
|
||||
|
||||
_As of 2026-05-24 (post-v0.6.2 neutral-dark palette):_
|
||||
_As of 2026-05-24 (post-v0.6.4 picker Aurora-blue highlight):_
|
||||
|
||||
**Status: v0.6.2 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
|
||||
startup error visibility #6, presenter contract semantics amendment
|
||||
#12, startup agent picker #8, §5 layout reshape + Tools pane #13)
|
||||
@@ -51,7 +51,9 @@ Static in the footer (static "Tools" v1; dynamic when more tabs
|
||||
land). CLI mode (--send) unaffected by design — INV-018.
|
||||
|
||||
Last commits on `main`:
|
||||
- v0.6.2 style(tui): neutralize Australis dark palette — bg no longer blue-tinted
|
||||
- v0.6.4 style(tui): picker highlighted item → Aurora blue (brand selection treatment)
|
||||
- `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)
|
||||
- `cfee89a` refactor(tui): streaming + turn headers + Thinking pane (v0.6.0)
|
||||
- `7106af5` style(tui): UI polish pass — terminal label colors, placeholders (v0.5.1)
|
||||
|
||||
+1
-1
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
||||
|
||||
[project]
|
||||
name = "ratatoskr"
|
||||
version = "0.6.2"
|
||||
version = "0.6.4"
|
||||
description = "Worldtree Conversation API debug TUI — multi-pane observability dashboard"
|
||||
readme = "README.md"
|
||||
requires-python = ">=3.12"
|
||||
|
||||
+61
-49
@@ -61,31 +61,33 @@ from ratatoskr.sse_client import (
|
||||
stream_turn,
|
||||
)
|
||||
|
||||
# ---- Australis-derived theme (https://github.com/lkraven/australis) ----------
|
||||
# ---- Australis theme (https://github.com/lkraven/australis) ------------------
|
||||
#
|
||||
# v0.6.2 deliberate deviation from spec: the Australis Dark theme's design
|
||||
# principle "all colors are cooler than neutral" bakes a blue cast into
|
||||
# every dark surface (Ice black #222531 = RGB 34/37/49 — blue dominant).
|
||||
# Operators reported the whole-app chrome reading as blue. Ratatoskr keeps
|
||||
# the Australis ACCENTS (Aurora blue/cyan/green, Dawn red/yellow) — those
|
||||
# are the brand signature — but **neutralizes the Ice/Sea dark palette to
|
||||
# true grays** so the chrome reads as neutral dark, not blue-leaning.
|
||||
# The Australis Dark color theme, inspired by the Southern Lights. 16 cool-tone
|
||||
# terminal colors with medium contrast. Preference order: blue > cyan > green
|
||||
# for primary surfaces; Dawn accents (red/yellow/magenta) used sparingly for
|
||||
# terminal-event labels (error/cancelled).
|
||||
#
|
||||
# **v0.6.3 single deviation from spec**: `$background` is `#000000` (pure
|
||||
# black), NOT Australis Ice black `#222531`. The Ice black is RGB(34,37,49)
|
||||
# — blue dominant — and at App-wide scale the cumulative cast reads as
|
||||
# "the whole app is blue" to operators (even though no single surface is
|
||||
# "blue" in the strict-color sense). Pure black for the App background
|
||||
# kills that perception. EVERY OTHER Australis value — Aurora accents,
|
||||
# Sea darks for chrome (surface/panel), Ice white foreground, Dawn
|
||||
# accents — stays verbatim per spec.
|
||||
#
|
||||
# Mapping to Textual's Theme semantic tokens:
|
||||
# primary = Aurora blue (#6388D8) — focus rings, active selection (KEEP).
|
||||
# secondary = Aurora cyan (#00b1a8) — secondary highlights (KEEP).
|
||||
# accent = Aurora bright cyan (#42dcd1) — bright accents (KEEP).
|
||||
# success = Aurora green (#16B866) — [done] label (KEEP).
|
||||
# warning = Dawn yellow (#e1c631) — [cancelled] label (KEEP).
|
||||
# error = Dawn red (#ff491a) — [error] label (KEEP).
|
||||
# foreground = neutral light gray (#bdbdbd) — default text (was Ice white).
|
||||
# background = neutral near-black (#1a1a1a) — App bg (was Ice black).
|
||||
# surface = neutral dark gray (#2a2a2a) — chrome (was Sea bright-black).
|
||||
# panel = neutral mid gray (#3a3a3a) — borders (was Sea dark-30).
|
||||
#
|
||||
# Dark contrast steps preserve Australis's LAB lightness levels but drop the
|
||||
# blue/green tint. Variables renamed mentally but kept under $au-* slugs so
|
||||
# downstream CSS doesn't change.
|
||||
# primary = Aurora blue (#6388D8) — focus rings, active selection.
|
||||
# secondary = Aurora cyan (#00b1a8) — secondary highlights.
|
||||
# accent = Aurora bright cyan (#42dcd1) — bright accents.
|
||||
# success = Aurora green (#16B866) — [done] label.
|
||||
# warning = Dawn yellow (#e1c631) — [cancelled] label.
|
||||
# error = Dawn red (#ff491a) — [error] label.
|
||||
# foreground = Ice white (#a9bcc3) — default text.
|
||||
# background = pure black (#000000) — App background (v0.6.3 deviation).
|
||||
# surface = Sea bright black (#373b46) — raised chrome.
|
||||
# panel = Sea dark 30 (#414751) — borders, separators.
|
||||
|
||||
AUSTRALIS_THEME = Theme(
|
||||
name="australis",
|
||||
@@ -95,22 +97,20 @@ AUSTRALIS_THEME = Theme(
|
||||
success="#16B866",
|
||||
warning="#e1c631",
|
||||
error="#ff491a",
|
||||
foreground="#bdbdbd",
|
||||
background="#1a1a1a",
|
||||
surface="#2a2a2a",
|
||||
panel="#3a3a3a",
|
||||
foreground="#a9bcc3",
|
||||
background="#000000",
|
||||
surface="#373b46",
|
||||
panel="#414751",
|
||||
dark=True,
|
||||
variables={
|
||||
# Neutral dark contrast palette (LAB-matched to Australis Sea spec
|
||||
# but with R=G=B, no cool cast). $au-dark-N accessible via TCSS.
|
||||
"au-dark-30": "#3a3a3a",
|
||||
"au-dark-40": "#4f4f4f",
|
||||
"au-dark-50": "#6b6b6b",
|
||||
"au-dark-60": "#878787",
|
||||
"au-bright-70": "#9e9e9e",
|
||||
"au-bright-80": "#bdbdbd",
|
||||
"au-bright-white": "#e0e0e0",
|
||||
# Accents — KEEP Australis Aurora brights for brand signature.
|
||||
# Sea contrast palette — usable via $au-dark-50 etc. in TCSS.
|
||||
"au-dark-30": "#414751",
|
||||
"au-dark-40": "#565f69",
|
||||
"au-dark-50": "#6e7882",
|
||||
"au-dark-60": "#86929d",
|
||||
"au-bright-70": "#9daeb6",
|
||||
"au-bright-80": "#b3cbcf",
|
||||
"au-bright-white": "#cce7ec",
|
||||
"au-bright-blue": "#a4c4ff",
|
||||
"au-bright-cyan": "#42dcd1",
|
||||
"au-bright-green": "#51e08a",
|
||||
@@ -124,9 +124,9 @@ AUSTRALIS_THEME = Theme(
|
||||
_AU_SUCCESS = "#16B866"
|
||||
_AU_ERROR = "#ff491a"
|
||||
_AU_WARNING = "#e1c631"
|
||||
_AU_USER_ECHO = "#42dcd1" # bright cyan — operator's voice
|
||||
_AU_DEMOTED = "#878787" # neutral dark-60 — demoted telemetry
|
||||
_AU_DEMOTED_FAINT = "#6b6b6b" # neutral dark-50 — empty-state placeholders
|
||||
_AU_USER_ECHO = "#42dcd1" # Aurora bright cyan — operator's voice
|
||||
_AU_DEMOTED = "#86929d" # Sea dark 60 — demoted telemetry
|
||||
_AU_DEMOTED_FAINT = "#6e7882" # Sea dark 50 — empty-state placeholders
|
||||
|
||||
|
||||
# ---- Issue #12 presenter contract semantics amendment -------------------------
|
||||
@@ -425,22 +425,34 @@ class AgentPickerApp(App[str | None]):
|
||||
background: $background;
|
||||
}
|
||||
/* 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 {
|
||||
height: auto;
|
||||
padding: 1 1;
|
||||
background: $background;
|
||||
}
|
||||
/* v0.6.1: override Textual's default ListView:focus highlight, which
|
||||
defaults to $primary (Aurora blue) and made the picker unreadable.
|
||||
Both selectors needed — focused state has higher specificity in
|
||||
Textual's defaults. */
|
||||
ListView > ListItem.--highlight,
|
||||
ListView:focus > ListItem.--highlight {
|
||||
background: $au-dark-30;
|
||||
/* v0.6.4: highlighted item gets Aurora blue background (Textual's
|
||||
default $block-cursor-background = $primary). Override only the
|
||||
text-color descendants so id-line/desc stay readable on blue. The
|
||||
background itself comes from Textual's default ListItem.-highlight
|
||||
rule — we removed our previous overriding selectors.
|
||||
|
||||
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
|
||||
provides enough contrast for bright-blue id + dark-60 desc text. */
|
||||
#agent-list:focus ListItem.-highlight .agent-id-line {
|
||||
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 {
|
||||
color: $au-bright-blue;
|
||||
text-style: bold;
|
||||
|
||||
Reference in New Issue
Block a user