Skip to main content

02

3 min

Primitives

Hex codes and pixel values scattered across the codebase have no meaning and no owner.

A primitive is a raw value with a name. blue-600 is #2563eb. That's a fact, not a decision. You define them once and rarely touch them again.

Nothing in the UI should reference a primitive directly. A primitive sits in the palette until a semantic token points at it. Until then, it does no work.

Rename a token. Change a value. The button below is hard-coded. It will not move.

The button is still a hard-coded hex. Rename and revalue the palette. Nothing on screen that matters will move.

You edited facts. Nothing consumed them. That gap is the next two layers.