Type
LAW — locked, CI-gatedprinciple. components reference named text roles, never raw sizes. the role table is settled law (values normative in tokens/core-v1.md, rendered on the design tokens page); the completions under it are proposal, and are labelled as such where they appear.
rule — the roles (law).
| role | spec |
|---|---|
| popover body | 13 regular |
| scene name | 15 semibold |
| canvas object name | 12 semibold |
| canvas object sub | 11 regular |
| footer / hints | 11, text muted |
| editor title | 20 semibold |
| editor body | 13 regular |
| keycap | 10 semibold in a 1px border chip |
the floor is 11px; nothing renders below it. the single exception is the keycap: 10px semibold inside a 1px border chip — a glyph chip, not body text.
rule — typography, completed (proposal, pending ratification). every text style pairs its size with a line-height and a measure cap per chapter; styles are referenced by name (heading, label, caption), and components never set raw px. tabular numerals for all data (rates, percentages, positions, timers). a mono face for metadata — numeric readouts, versions, spec-sheet labels — and never for body text. a text-size setting carries restack rules: at large sizes the popover drops to one column, the canvas keeps priority, nothing truncates without an expansion affordance, and 11px styles never shrink. a custom face, if ever adopted, must scale and bold correctly at the largest size as a release gate and ship subsetted under a byte ceiling.
named gaps (the token core’s own honesty). the light flagship’s full value set is not yet ported into the token source; the text muted alias value is confirmed per theme rather than centralised.
Canonical text: §2, tokens, in the design language document; values in tokens/core-v1.md.