Skip to content

The icons and the site catch up with teal - #4

Merged
karngyan merged 1 commit into
mainfrom
worktree-favicon-teal
Aug 8, 2026
Merged

The icons and the site catch up with teal#4
karngyan merged 1 commit into
mainfrom
worktree-favicon-teal

Conversation

@karngyan

@karngyan karngyan commented Aug 8, 2026

Copy link
Copy Markdown
Contributor

What

e9185366 design(web): the accent calms down from amber to teal moved the accent in web/src/lib/theme.ts and stopped there. The favicon, the whole PWA icon set, both OG cards and every colour on flue.sh were still amber.

Why they were missed

Two different reasons, worth separating.

The app icons are generated from chrome.accent — the token that already changed — but the outputs are committed so a clean checkout builds without running the generator. That is the right call for build hygiene and exactly why the staleness was invisible: nothing fails, the file just keeps its old bytes. pnpm icons regenerates them. The diff is the accent and nothing else; the geometry is byte for byte what it was.

The site is hand-authored with no build step, so site/ cannot import the token at all (site/web/ imports are forbidden, and generate-og.mjs says so in a comment). It states the colour as a literal, and that literal was amber in four places: favicon.svg, --accent in style.css, architecture.svg, and ACCENT in generate-og.mjs. Every one of them sits on the near-black #09090b field, so the swap to teal-500 #00bba7 is direct — no contrast question to answer.

Two cleanups on the way past

  • .cursor in style.css carried the hex inline instead of var(--accent), three lines below a rule that used the token properly. That is how the site ended up with a fifth copy of a colour it already had one name for. Now points at the token.
  • The :focus-visible comment read "amber stays inside the terminal figure" — it named the colour rather than its role, so it went stale the instant the colour moved. Now says "the accent".

Verification

  • make test — Go all ok, web 601/601 across 40 files, relay 90/90. The web run includes styles.build.test.ts, the real vite build.
  • pnpm lint (tsc --noEmit) clean.
  • web/public/og.png and site/public/og.png are byte-identical (8e7f1ed3…), which is the guarantee the two generators exist to keep: a link to the app and a link to the site wear one face.
  • Rendered icon-512.png and both OG cards inspected visually.
  • grep -rn fe9a00 across site/ and web/ returns nothing.

🤖 Generated with Claude Code

e918536 moved the accent from amber to teal in `web/src/lib/theme.ts`,
but stopped there. Two things still wore the old colour.

The PWA icon set is generated from that very token and committed, so a
clean checkout builds without running the generator — which is exactly
why nobody noticed the outputs had gone stale. `pnpm icons` regenerates
them; the diff is the accent and nothing else, geometry byte for byte.

flue.sh is hand-authored with no build step, so it cannot import the
token at all and states it as a literal. That literal was amber in four
places: the favicon, `--accent`, the architecture diagram, and the OG
generator. All four are on the near-black field, so the swap is direct.

Two cleanups while in there. `.cursor` had the hex inline rather than
`var(--accent)`, which is how the site grew a fifth copy of a colour it
already had a token for. And the focus-visible note named the colour
instead of its role, so it read as wrong the moment the colour moved.

Both OG cards stay byte-identical, which is the guarantee the two
generators exist to keep: a link to the app and a link to the site wear
one face.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@karngyan
karngyan merged commit e847651 into main Aug 8, 2026
1 of 2 checks passed
@karngyan
karngyan deleted the worktree-favicon-teal branch August 8, 2026 15:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant