Commit b6839b7
committed
refactor(design): Linear-aligned dual-theme tokens + inset-card shell
design tokens
- color.ts rewritten via lch(): hue 282 (light) / 272 (dark), paired L
sums ~100 (mirror constraint). Status colors split fg/bg per theme and
opted out of the mirror (semantics > aesthetics). Brand lavender
theme-invariant; only hover/focus pivots between themes.
- sidebar chrome tokens introduced (bgSidebar / bgSidebarRow /
bgSidebarChip / sidebarTreeLine). bgSidebar = canvas — sidebar and
AppShell outer wrapper share the chrome plane so the focal main card
is the only contrasting surface.
- hairline ladder rebalanced (>=2.5 L away from surface1 in both
themes); original Linear-measured L=6.77 collided with our surface1.
- chrome tokens for sidebar geometry (width 244, row 28, header 52,
section gap 24, inset 12, indent 16).
- typography: navItem (13/500) + navGroup (12/500) presets.
- inverse* tokens for forced-polarity surfaces.
theme switching
- theme.css.ts: two createGlobalTheme blocks. :root, :root.dark default
+ :root.light override via specificity (0,2,0 > 0,1,0).
- stores/ui.ts: toggle BOTH .dark and .light document classes (was
dark-only — light never actually applied).
shell layout
- AppShell mainStyle becomes an inset card: surface1 + radius.md +
8px margin (6px left for sidebar gap) + hairline border + overflow
hidden. Visible 3-plane ladder: sidebar (chrome) ↔ canvas gap ↔ main
card (focal).
- Sidebar redesigned to Linear rhythm: workspace header 52 px, rows
28 px, group gap 24 px, hierarchy by (lightness × indent × static
500 weight), no right border, counter pill with active-row text
highlight, nested L4 subtree with connector line.
- FullLayout / TwoColLayout repainted to surface1 so all panes share
the focal plane inside the inset card; pane divider lifted from
hairlineTertiary to hairline (whisper hairline vanishes against
surface1).
- ColumnHeader rootRecipe bg: canvas → surface1 (used by ListSubHeader
+ PostHeader; keeps the focal plane unified).
- RightPane paneStyle bg: canvas → surface1 (same intent).
DESIGN.md
- §0 dual-theme philosophy added.
- §1 rewritten as dual-theme palette: mechanics, surface ladder,
sidebar chrome, hairlines, ink, brand (theme-invariant), status
fg/bg, inverse, status dots.
- §1.9 notification & list color encoding (Linear inbox audit):
status colour rides only on ≤14 px glyphs, read/unread by ink
strength only, max two colour cues per row, embed cards keep
surface1 body + 2-3 px coloured left-border.
- §7.5 sidebar three-axis hierarchy doc.
- §7.6 main-as-inset-card shell with ASCII diagram.
- §10 anti-patterns extended.
- §12 calibration history v3-v6.1 parent 516c61c commit b6839b7
25 files changed
Lines changed: 1342 additions & 295 deletions
File tree
- src
- components
- post-detail/header
- ui/ColumnHeader
- layouts
- AppShell
- FullLayout
- TwoColLayout
- pages
- _dev/design
- posts
- edit
- view/right
- body
- stores
- styles
- tokens
Large diffs are not rendered by default.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
31 | 31 | | |
32 | 32 | | |
33 | 33 | | |
34 | | - | |
| 34 | + | |
35 | 35 | | |
36 | 36 | | |
37 | 37 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
7 | 7 | | |
8 | 8 | | |
9 | 9 | | |
10 | | - | |
| 10 | + | |
11 | 11 | | |
12 | 12 | | |
13 | 13 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
41 | 41 | | |
42 | 42 | | |
43 | 43 | | |
44 | | - | |
| 44 | + | |
45 | 45 | | |
46 | 46 | | |
47 | 47 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
42 | 42 | | |
43 | 43 | | |
44 | 44 | | |
| |||
55 | 55 | | |
56 | 56 | | |
57 | 57 | | |
58 | | - | |
| 58 | + | |
59 | 59 | | |
60 | 60 | | |
61 | 61 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
27 | 27 | | |
28 | 28 | | |
29 | 29 | | |
30 | | - | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
31 | 38 | | |
32 | 39 | | |
33 | 40 | | |
| |||
0 commit comments