The two-tier naming model: primitives and semantics
The two-tier model is the current standard for scalable color systems. Tier 1 — Primitives: named stops on a perceptually even scale (brand-blue-10 through brand-blue-90, neutral-0 through neutral-100). These exist in the token dictionary but are not directly referenced in component code. Tier 2 — Semantics: purpose-driven names that map to primitives (color-text-primary maps to neutral-90, color-action-primary maps to brand-blue-60). Components reference only semantic tokens. A rebrand or theme change updates only the primitive-to-semantic mapping — all component code remains unchanged. The key discipline: never let component code reference a primitive. If it does, the two-tier model degrades to a one-tier system and loses its main advantage.
