Fork decisions · Baseline 0.4
Skip to content
Baseline 0.4 Side direction · the /T fork decisions

Same frame. The seams the audit found, closed — on the making side.

Baseline / T is a fork, not a redesign. Every colour, family, rule weight and figure law of the parent is kept — the audit found those excellent and said so. What the fork changes is only where A—SYS found the frame's purity paid for by the person using it: three laws made enforceable, one interaction un-taxed, the figure layer made honest to the floor, and the traps turned from prose into scaffolding. Tufte joins the team for the fork and owns the figure passes. Seven decisions, each with a reason on the record.
Decisions
7
Kept
5
New hand
Tufte
The team · lanes on the fork
Knaflic
the decision
Wilke
encoding honesty
Kahneman
the two-second read
Shadcn
the token surface
Tufte
New
data-ink to the floor
01
Laws made enforceable
shadcn · from 01·1 · 01·2
01
The 4% accent budget is now checked, not trusted.
The fork ships an AccentBudget dev-time pass that sums accent area — counting filled controls first, since --control-fill is the largest spender — and warns over 4%. The law that was printed in bold and enforced by nothing is now enforced by the thing that renders the surface.
was: prose only
now: dev assertion
02
The colour / size namespace is a lint error, not a footnote.
_adherence.oxlintrc.json gains two rules: a --type-* token in a colour property is an error, a --text-* token in font-size is an error. The silent both-ways drop is caught the moment it is typed.
was: silent drop
now: author-time error
02
The figure layer, honest to the floor
tufte · wilke · from 02·1 · 02·2
03
Labels ladder down before they drop.
Tufte replaces the parent's drop-or-keep rule with a ladder: at small size a label first moves out onto a leader (the Callout already in the furniture), then abbreviates, then — only then — drops. A figure never silently loses the number the reader came for.
was: drop-only
now: leader → abbr → drop
04
Overlap can no longer read as false density.
On DotField, FanChart and ChordDiagram the fork caps mark opacity so two stacked marks never read as three, and requires the caption to state that overlap is present. The one place a Baseline figure could lie about how much is there is closed — the lie factor held at 1.
was: alpha 0.75–0.9
now: capped + declared
05
Tufte's additive pass: the range-frame becomes the default axis.
His price of admission. The value axis is drawn only across the extent the data occupies and marked with min and max, and every sparkline carries its closing value by default. Two axis edges become two informative edges — more data, less non-data ink, without touching the parent's chart grammar.
new: range-frame default
new: sparkline end-value
03
Cost taken off the user
kahneman · shadcn · from 03·1 · 03·2 · 03·3
06
One anchored inline panel, for the interaction done most.
The fork adds InlinePanel — square, opaque, shadowless, obeying every other law — for the frequent low-stakes menu. The Drawer stays for the heavy case. The one-elevation doctrine survives; it just stops making the reader open a side panel to pick a filter.
was: Drawer only
now: InlinePanel + Drawer
07
The three authoring traps become scaffolding, and the export cliff a gallery.
A preflight catches the silent 0×0 icon, the glyph-less SVG <text> and the stale bundle before render, not in review; snippets ship the correct page head. And a static component gallery — one specimen per state — bridges the foundations-only Figma export so a designer does not fall off after the tokens.
was: pitfalls in prose
now: preflight + gallery
Kept from the parent — the audit said so
01
Four colours, no fifth — ground, ink, accent, counter signal.
02
Two families, one job each — Archivo, JetBrains Mono. No third, no italic.
03
The figure law — two edges, five-part cap, one accent, method break drawn.
04
Retheme by two hexes — the OKLCH ramps stay runtime-derived.
05
Every edge square, one elevation, no shadow — the discipline is the point.
What the fork is, in one line
The parent optimised for the coherence of the frame; the audit showed that coherence was paid for by whoever made or read the next artifact. Baseline / T keeps the frame whole and moves that cost back onto the system — a check instead of a warning, a lint rule instead of a footnote, a preflight instead of a correction round. Tufte's hand is on the figures: the same two axis edges, now carrying min, max and the closing value, so there is more data and less ink on exactly the surface Baseline exists to serve. Nothing here is a new aesthetic. It is the same system, held to its own standard on the side it had left to the user.
Baseline / T · fork 01 · after A—SYS
Team: knaflic · wilke · kahneman · shadcn · tufte — via designer-pack · issued 16 Aug 2026
Sheet F—01