Record data.retina.fm, and the theme system three surfaces now share - #22
Merged
Merged
Conversation
…es share The guide described five surfaces and one themed one. Both are now out of date: data.retina.fm has existed for a while and was never captured, and retina-server #382 and #383 gave dash, admin and data a dark theme built on the map's palette rather than on sets of their own. Read cold today, the guide would have someone invent a sixth palette for a surface that already has one. So: data joins the tables, and the pair of palettes is documented as a pair rather than as the map's private business. §3 also gains the two tokens the sharing introduced, `--bg-sunk` and `--accent-ink`. The part worth getting right is that the three do not answer the same question the same way. dash and data have three states and default to `system`, which stamps no attribute and lets a `prefers-color-scheme` block answer, so the OS preference keeps working when it changes mid-session; the map has two and defaults to dark, never consulting the OS. What they do share is the cascade rule — a surface puts the half it must paint before JavaScript on the bare selector and spends `data-theme` on the other — and that is a separate claim from which half a viewer meets. §10 records the split rather than resolving it. `preview.html` said "the console in light" and "the console in dark" of its dash and map panels, which reads as two surfaces with different looks. They are now marked as the two halves of one palette: a shared accent rail, a kicker naming the half, and a note in each saying which surfaces arrive there and how. Where dash and data hold identical values they share a column, which keeps the tables the width they were. The component matrix is the exception, since that is precisely where the two differ: data has the shared control rule, the focus treatment and the styled overlay that §10 has been asking dash for, so those are recorded as the versions to copy. Its top bar is recorded but explicitly not proposed for dash, which has two navigation trees the bar cannot hold. Three corrections found while checking claims against the stylesheets: - §2 said the console sets its micro-label in mono. dash never has; its stat labels, table headers and nav-section titles are all the system stack, and data copied that. Only the two marketing sites use mono here. - tokens.css had the map at radius 6/3/10 against the 8/4/12 the surface actually uses and §5 already records. - dash and data set `--bg-sunk` to the canvas value while the map's light theme sets it one step lighter, which is the single place the shared pair disagrees. Recorded in §10 rather than resolved, per this file's policy. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Babissimo
force-pushed
the
docs/brand-six-surfaces
branch
from
September 15, 2026 12:05
83f446a to
73c72ce
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The guide described five surfaces and one themed one. Both are out of date.
data.retina.fmwas never captured, and offworldlabs/retina-server#382 andoffworldlabs/retina-server#383 gave dash, admin and data a dark theme built on
the map's palette. Read cold today, the guide would have someone invent a sixth
palette for a surface that already has one.
What changes
a column, so the tables stay the width they were.
private business — including the part that is easy to get wrong: the three
themed surfaces do not answer the same question the same way. dash and data
have three states and default to
system, which stamps no attribute andlets a
prefers-color-schemeblock answer, so the OS preference keeps workingwhen it changes mid-session. The map has two states and defaults to dark,
never consulting the OS. What they share is the cascade rule — the half a
surface must paint before JavaScript runs goes on the bare selector,
data-themebuys the other — which is a separate claim from which half aviewer actually meets. §10 records the split rather than resolving it.
--bg-sunkand--accent-ink, the two tokens the sharingintroduced.
differ. data has the shared control rule, the focus treatment and the styled
overlay §10 has been asking dash for, so those are recorded as the versions to
copy.
tokens.cssgains a.dataclass (one declaration with.dash) and ashared
[data-theme="dark"]block, and says plainly that it cannot reproducethe
systemstate the live surfaces default to.preview.htmlstops presenting the pair as two surfaces. Its dash and mappanels were tagged "the console in light" and "the console in dark", which
reads as two different looks. They now carry a shared accent rail, a kicker
naming which half they are, and a note in each saying which surfaces arrive
there and how.
The top bar is recorded but not proposed for dash, which has two navigation
trees the bar cannot hold.
Corrections found while checking claims against the stylesheets
labels, table headers and nav-section titles are all the system stack, and
data copied that. Only the two marketing sites use mono here. (The marketing
half of the claim I did verify — both set it from their
--font-mono.)tokens.csshad the map at radius 6/3/10, against the 8/4/12 the surfaceuses and §5 already records. §1's row said 3–10px and is now 2–12px.
--bg-sunkto the canvas value#f1f5f9; the map's light theme sets#f8fafc,lighter than its canvas. Everything else in the pair matches token for token.
Recorded in §10 rather than resolved, per this file's policy.
Verification
Every value in
tokens.csswas read back out of a browser against the livestylesheets rather than eyeballed: all six class/attribute combinations resolve
to exactly what
dashboard/src/App.css,data-explorer/app.cssandfrontend/src/map-surface.csshold,preview.htmlrenders with the pair markedon exactly two panels, and the map is confirmed to define no
--accent-inkatall. The theming defaults were read from
ThemeContext.tsx,app.jsanduseMapTheme.tsxrather than inferred from the CSS cascade, which is whatseparates "light is on the bare selector" from "light is the default" — they are
not the same claim, and an earlier draft of this branch conflated them.
One dependency
The buttons table now shows dash and data sharing 8px/16px padding. That is true
once offworldlabs/retina-server#386 lands; on
maintoday data is at 7/14. Ifthat PR changes shape, this row needs revisiting.
🤖 Generated with Claude Code