fix(trmnl): point the renderer at Graphite E-ink Light #486

Merged
k.renner merged 1 commits from fix-trmnl-graphite-theme into master 2026-08-12 19:36:25 +00:00
Member

The renderer's own documentation already answered the theme question and I didn't read it.

trmnl-ha/DOCS.md: "Use e-ink theme (Graphite recommended)", with theme=Graphite in its worked example. The HA community forum converges on the same theme independently.

Pairs with homeassistant#216, which vendors graphite-eink-light.yaml and deletes the theme I hand-wrote from a spec sheet.

Why this beats the hand-written one

673 lines / 408 variables against ~40. A full token system for sizes, weights, radii and states, written by someone who owns the hardware. It encodes things I can't derive from a spec.

Where it disagreed with mine is the useful part of the diff:

  • Graphite uses rgb(40,40,40) rather than pure black, with real greys for secondary/disabled/divider — the same conclusion the TRMNL framework forced on me an hour earlier, reached independently. That's corroboration that pure-black-everything was wrong.
  • Graphite sets font-weight: 900 for body and titles. That is the opposite of the TRMNL framework's scale, where weight decreases as size increases (value--large 58px/400, value--mega 170px/275). This conflict is unresolved. The dashboard's card_mod sets explicit weights for the text that matters, so the framework's lighter treatment wins where applied — worth watching in the render to see which is actually right on this panel.

Fails silently if wrong

The theme name must match the key inside the vendored file exactly — Graphite E-ink Light. A name that doesn't resolve doesn't error: HA serves the default theme and the panel just looks wrong.

Upstream's example also passes dark. Not used here — the e-ink Light variant is what gives black-on-white, which is what an e-paper panel wants. dark: false stays.

Graphite's author flags the e-ink variants as still needing tuning, so this is a base rather than a finished answer.

🤖 Generated with Claude Code

The renderer's own documentation already answered the theme question and I didn't read it. `trmnl-ha/DOCS.md`: **"Use e-ink theme ([Graphite](https://github.com/TilmanGriesel/graphite) recommended)"**, with `theme=Graphite` in its worked example. The HA community forum converges on the same theme independently. Pairs with **homeassistant#216**, which vendors `graphite-eink-light.yaml` and deletes the theme I hand-wrote from a spec sheet. ## Why this beats the hand-written one 673 lines / 408 variables against ~40. A full token system for sizes, weights, radii and states, written by someone who owns the hardware. It encodes things I can't derive from a spec. Where it disagreed with mine is the useful part of the diff: - Graphite uses `rgb(40,40,40)` rather than pure black, with real greys for secondary/disabled/divider — **the same conclusion the TRMNL framework forced on me an hour earlier**, reached independently. That's corroboration that pure-black-everything was wrong. - Graphite sets `font-weight: 900` for body and titles. That is the **opposite** of the TRMNL framework's scale, where weight *decreases* as size increases (`value--large` 58px/400, `value--mega` 170px/275). This conflict is unresolved. The dashboard's `card_mod` sets explicit weights for the text that matters, so the framework's lighter treatment wins where applied — worth watching in the render to see which is actually right on this panel. ## Fails silently if wrong The theme name must match the key inside the vendored file exactly — `Graphite E-ink Light`. A name that doesn't resolve doesn't error: HA serves the default theme and the panel just looks wrong. Upstream's example also passes `dark`. Not used here — the e-ink **Light** variant is what gives black-on-white, which is what an e-paper panel wants. `dark: false` stays. Graphite's author flags the e-ink variants as still needing tuning, so this is a base rather than a finished answer. 🤖 Generated with [Claude Code](https://claude.com/claude-code)
claude-bot added 1 commit 2026-08-12 19:35:12 +00:00
fix(trmnl): point the renderer at Graphite E-ink Light
ci/woodpecker/pr/ci-manifests-test Pipeline was successful
ci/woodpecker/pr/ci-scripts-test Pipeline was successful
ci/woodpecker/pr/pr-review Pipeline was successful
ae12ce760c
The renderer's own docs recommend Graphite by name — "Use e-ink theme
(Graphite recommended)", with theme=Graphite in the example — and the
Home Assistant community converges on it independently. The dashboard
now ships graphite-eink-light.yaml (homeassistant repo) in place of the
theme I hand-wrote from a spec sheet.

Pairs with homeassistant#216. The theme name must match the key inside
the vendored file exactly ("Graphite E-ink Light"); a name that does not
resolve fails silently — HA serves the default theme and the panel just
looks wrong rather than erroring.

Note upstream's example also passes `dark`. Not used here: the e-ink
LIGHT variant is the one that gives black-on-white, which is what an
e-paper panel wants. `dark: false` stays.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
k.renner merged commit 9423381102 into master 2026-08-12 19:36:25 +00:00
Sign in to join this conversation.