Give Activity a genuine ninth colour: --tt-orange
All checks were successful
Deploy / deploy (push) Successful in 24s
All checks were successful
Deploy / deploy (push) Successful in 24s
Requested directly: "can we make activity orange". The locked eight palette had already run out at six legible text colours (Watch's blue was the last one, and it's already a contrast exception); a dithered swatch alone read as unfinished, and dithering the word itself rendered as illegible static — tried and reverted this session. --tt-orange (#ff8000) is defined in base.css right after the locked eight, clearly marked as a deliberate, acknowledged one-off exception to "eight colours, no ninth" rather than a secretly-smuggled-in tint. Same flat text+swatch treatment as every other fastext key. Updated CLAUDE.md's discipline 1 and DESIGN.md's Locked Eight Rule to name the exception explicitly, so it reads as a documented decision next time someone audits the palette, not a bug.
This commit is contained in:
parent
9fba4f210e
commit
517559a460
5 changed files with 55 additions and 39 deletions
32
app.py
32
app.py
|
|
@ -1304,20 +1304,22 @@ def service_urls():
|
|||
|
||||
|
||||
# Every destination, for the top of every page but the index, each
|
||||
# with its own distinct treatment. Order matches nav_items. Six of the
|
||||
# eight get a flat colour, text and swatch both: the four with a real
|
||||
# keyboard shortcut (r/g/y/c), plus magenta for Requests (the same
|
||||
# --pending magenta a request already shows once approved elsewhere —
|
||||
# Requests IS "waiting on a human") and blue for Watch. Blue is ~2.4:1
|
||||
# contrast on black, well under the 4.5:1 every other body text here
|
||||
# clears — a known, deliberate exception, not an oversight; it's set
|
||||
# this way because coloured-icon-only for Watch read as unfinished
|
||||
# next to six fully-coloured neighbours. Activity gets an ordered
|
||||
# dither swatch instead of a flat colour, the one other legal way to
|
||||
# get a distinct mark out of this palette without smuggling in a ninth
|
||||
# hue. Settings alone keeps plain ink — deliberately, as the one page
|
||||
# with no live status of its own, so it's the one that gets no colour
|
||||
# rather than an arbitrary leftover.
|
||||
# with its own distinct colour. Order matches nav_items. The four
|
||||
# with a real keyboard shortcut (r/g/y/c) keep their original colours;
|
||||
# Requests gets magenta (the same --pending magenta a request already
|
||||
# shows once approved elsewhere — Requests IS "waiting on a human");
|
||||
# Watch gets blue, ~2.4:1 contrast on black versus the 4.5:1 every
|
||||
# other body text here clears — a known, deliberate exception, kept
|
||||
# anyway because a swatch-only accent read as unfinished next to six
|
||||
# fully-coloured neighbours. That's every colour the locked eight
|
||||
# palette has to give (black's invisible on black); Activity's colour,
|
||||
# --tt-orange, is a genuine ninth on top of it — a dithered swatch
|
||||
# alone read as unfinished, and dithering the word itself renders
|
||||
# illegible, so it's a deliberate, acknowledged break from "eight
|
||||
# colours, no ninth" rather than a fix that stays inside it. Settings
|
||||
# alone keeps plain ink — deliberately, as the one page with no live
|
||||
# status of its own, so it's the one that gets no colour rather than
|
||||
# an arbitrary leftover.
|
||||
FULL_FASTEXT = [
|
||||
("k-red", "r", "100", "Index", "/"),
|
||||
("k-blue", "", "101", "Watch", "/watch"),
|
||||
|
|
@ -1325,7 +1327,7 @@ FULL_FASTEXT = [
|
|||
("k-yellow", "y", "103", "Discover", "/discover"),
|
||||
("k-magenta", "", "104", "Requests", "/requests"),
|
||||
("k-cyan", "c", "105", "System", "/system"),
|
||||
("k-dither", "", "106", "Activity", "/activity"),
|
||||
("k-orange", "", "106", "Activity", "/activity"),
|
||||
("", "", "900", "Settings", "/settings"),
|
||||
]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue