Skip to main content

Design language

Cabin’s design language is the visual and interaction vocabulary for AAOS cabin HMI. It is documented for humans and encoded as tokens for both Compose and Views.

Goals

  • Feel purpose-built for the cabin — not a phone theme on a large display.
  • Support OEM brand expression without forking components (tokens).
  • Encode glanceability, day/night, and safety semantics (compliance).
  • Stay learnable for Android developers familiar with Material concepts, without being Material-identical (vision).

Pillars

PillarDoc
Foundationsfoundations.md — color, type, space, elevation, motion, iconography
Tokenstokens.md — semantic + component tokens, OEM overlays
Token schematoken-schema.md — JSON stub + codegen notes

Relationship to Material Design 3

Cabin may parallel Material roles (primary, surface, on-surface) where that aids adoption, but:

  • Sizing, type scale, and motion budgets are automotive-first.
  • Safety semantic colors are locked against decorative remapping.
  • Components cover cabin domains (HVAC, EV, vehicle controls, system chrome) absent from handheld Material catalogs.

Dual-stack encoding

ConcernCompose (planned)Views (planned)
ThemeCabinTheme + CabinTokensTheme overlays + attr references
ColorCabinColorSchemeColor resources / color state lists
TypeCabinTypographyTextAppearances
Spacetoken dp via themedimen resources

Single source of truth: cabin-tokens (architecture).

Public site mapping

Foundations and styles on the future website map directly to these docs (site plan).

Machine-readable stub: tokens/cabin.tokens.json — see token schema.