Skip to main content

max / alloy_tui

Refresh the border-strong comparison against the repainted akari pair The two `border-strong` tokens are still different tokens wearing one name, and the note explaining that quoted 3.27:1 and 1.63:1 on Akari Dawn. Both numbers moved: makeover's tier was a flat darkening that has since been made directional, and the theme's own border was lifted to clear AA-UI. They now land at 6.34:1 and 3.84:1, which changes what the note is arguing -- adopting the shared one no longer halves the ring, it spends the ring's headroom on a divider.
Co-Authored-By
Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session
https://claude.ai/code/session_01EhbCuw3Z8VHWq6VNZ4XK2B
Author: Max Johnson <me@maxj.phd> · 2026-09-08 17:36 UTC
Signed with PGP, not checked
Commit: 2a7f4774159a91c5da1087584a9fb224481e4e93
Parent: 5b0df3d
1 file changed, +7 insertions, -7 deletions
M src/theme.rs +7 -7
@@ -18,13 +18,13 @@
18 18 //! Mix is in linear sRGB, matching TOKENS.md's worked audit math.
19 19 //!
20 20 //! makeover emits a `border-strong` too, and [`makeover_tui::Theme`] carries it:
21 - //! a flat 5% darkening of the authored border, a slightly firmer divider. Alloy's
22 - //! is pulled most of the way to the text colour because DESIGN-LANGUAGE.md makes
23 - //! it Alloy's entire focus ring and TOKENS.md holds it to WCAG AA-UI against the
24 - //! page.
25 - //! On Akari Dawn the two land at 3.27:1 and 1.63:1. They are different tokens
26 - //! wearing one name, and adopting the shared one would take focus to half the
27 - //! required floor.
21 + //! the authored border stepped 5% further from the page, a slightly firmer
22 + //! divider. Alloy's is pulled most of the way to the text colour because
23 + //! DESIGN-LANGUAGE.md makes it Alloy's entire focus ring and TOKENS.md holds it
24 + //! to WCAG AA-UI against the page.
25 + //! On Akari Dawn the two land at 6.34:1 and 3.84:1. They are different tokens
26 + //! wearing one name, and adopting the shared one would spend most of the
27 + //! ring's headroom on a divider.
28 28 //!
29 29 //! That is exactly why the family intents sit behind a named field rather than
30 30 //! being flattened in or reached through `Deref`: at every call site,