v0.1 · 2026-04-23
Colour
Colour is the closed palette of 14 values. Every mark on every surface draws from this set; any other hex is a build failure.
What colour is
Colour is the palette of 14 values used across every surface the firm produces. The palette is closed: seven greys and seven accents, declared as typed constants in @vaquum/face/palette. Any hex outside this palette is caught at build time as a build failure. The set does not grow.
Three values of the parameter
The colour face parameter takes one of three values per surface, and each value specifies how accent is permitted on that surface.
| value | grey share | accent share | accent role |
|---|---|---|---|
| monochromatic | ≥ 99% | ≤ 1% | none |
| single-accent | ≥ 97% | ≤ 3% | mark only |
| multi-accent | ≥ 95% | ≤ 5% | mark only |
A monochromatic surface uses greys alone; no accent appears at any measurable share. A single-accent surface permits one accent in a mark role, and that accent never fills a shape with both dimensions greater than 3 px. A multi-accent surface permits two or more accents under the same mark-only rule.
The mark-only rule
Mark-only means accent appears as text colour, as a stroke up to 3 px wide, or as a 1 px rule. Accent as the fill of a rectangle, a panel, or a pill is a failure. The rule is quantitative: accent pixels stay under the share the surface’s declared colour value permits. The rule is also qualitative: accent is a pointer, never a background.
Where it lives
The palette is declared in packages/face/src/palette.ts as greys and accents tuples plus a roles record that aliases specific hex values to canonical names. The exhibit below reads directly from those exports, rendering the same palette the code defines. If the palette changes in the typed source, this page updates with it on the next build.
Exception in documentation
The palette exhibit below uses filled swatches, each 32 × 32 px. Filled accent shapes at that size would ordinarily violate the colour rule under multi-accent. Palette documentation is the exception: a surface that describes the values must show them. The rule governs every surface the firm produces, and this page is the only documented exception to it.
| hex | role | action | |
|---|---|---|---|
| #121212 | ink-deep | ||
| #231F20 | ink | ||
| #444444 | ink-soft | ||
| #808080 | ink-mute | ||
| #D3D3D3 | rule | ||
| #F3F3F3 | paper-2 | ||
| #F8F8F8 | paper |
| hex | role | action | |
|---|---|---|---|
| #DC65A6 | accent | ||
| #EAA3C8 | accent-soft | ||
| #FCE2EB | — | ||
| #BCABD3 | — | ||
| #F16068 | — | ||
| #DDD941 | — | ||
| #C4E8F4 | — |