Skip to main content

Foundations

Cabin foundations define the raw design decisions that tokens package for implementation.

Color

Roles (planned semantic set)

RolePurpose
primary / onPrimaryBrand actions
secondary / onSecondarySecondary actions
surface / onSurfaceApp backgrounds and text
surfaceVariantRecessed panels
outlineSeparators, unselected chrome
success / warning / errorFeedback (error/warning partially safety-locked)
charging / climate / mediaAccentDomain accents
scrimContent protection over imagery

Cabin-specific rules

  • Maintain day and night schemes (UX restrictions). Schemes include outline / container for System/Status bars and locked night contrast for warning / error / charging.
  • Domain accents (charging, climate, mediaAccent) stay recognizable under OEM overlays and must not fill body-text roles (onSurface, onContainer).
  • Safety-adjacent warning/error meanings must not be remapped to brand pinks for decoration (safety-critical).
  • Prefer muted large fields at night; reserve high luminance for signals.

Typography

See glanceability roles in accessibility & glanceability.

Additional foundation rules:

  • Default family: a highly legible grotesque suitable for automotive distance (exact font choice is OEM-overridable via tokens).
  • Tabular figures for range, speed, SOC, temperature.
  • Avoid italic for critical status.

Spacing

Token step (planned)Example use
space.xsIcon-text gaps
space.smDense chip padding
space.mdDefault control padding
space.lgSection gaps
space.xlDriver-zone separation

Spacing must preserve touch target minima (UX restrictions).

Elevation and layering

Cabin uses elevation sparingly — cabin UIs often prefer flat, high-contrast layers over deep shadow stacks (which wash out at night).

LevelUse
0Base surface
1Recessed well / inset
2Floating controls (rare)
AlertFault banners above content regardless of level

Motion

Token (planned)Duration guidance
motion.fastPress feedback
motion.mediumPanel transitions (Park)
motion.slowRare; avoid while driving

Easing should feel mechanical/precise rather than playful. Driving state reduces or disables decorative motion (driving restrictions).

Iconography

  • Prefer simple geometric glyphs optimized for distance.
  • Optical sizing for status bar vs. center-stack vs. cluster.
  • Pair icons with text for safety-critical and first-run actions.
  • OEM icon packs map to Cabin icon slots; do not replace semantic meaning.

Sound and haptics (out of scope for Phase 1 UI tokens)

Documented as future extension points; not required for token v1.

Dual-stack application

Foundations are expressed only through tokens in product code — no hardcoded hex/sp in components. Compose and Views both resolve tokens at theme inflation time.