Home Sitemap

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.

valuegrey shareaccent shareaccent 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. A multi-accent surface permits two or more accents under the same 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. Two further contexts permit accent as fill. In diagram data geometry the fill encodes the data — a bar, a slice, an area, a cell, a band. In interactive focal state the fill marks the focus — a selected-row tint, a lasso region, an active control mark.

Accent as the fill of a structural element — a panel, a card, a section background — 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 signal, 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.

Table 1. The grey ramp holds seven values from #121212 ink to #F8F8F8 paper.
Table column range
hex role action
#121212ink-deep
#231F20ink
#444444ink-soft
#808080ink-mute
#D3D3D3rule
#F3F3F3paper-2
#F8F8F8paper
Table 2. The seven accents complete the closed palette of fourteen values.
Table column range
hex role action
#DC65A6accent
#EAA3C8accent-soft
#FCE2EBaccent-mist
#BCABD3accent-alt
#F16068accent-warm
#DDD941accent-warn
#C4E8F4accent-info