Chanora Design Tokens — Material 3 Baseline
Version: 0.9.2
Status: Baseline Candidate
Language: English
Repo path: docs/ui-ux/material3-design-tokens.md ---
1. Token Strategy
Chanora uses Material 3 tokens as the foundation and adds Chanora semantic tokens for voice-client-specific states.
2. Token Groups
| Group |
Purpose |
chanora.color.connection.* |
Connection status |
chanora.color.voice.* |
Voice states |
chanora.color.latency.* |
Latency and packet-loss status |
chanora.color.diagnostics.* |
Diagnostic severity |
chanora.spacing.* |
Layout spacing |
chanora.shape.* |
Corners and component shapes |
chanora.motion.* |
Motion duration and reduced-motion behavior |
chanora.density.* |
Mobile, tablet, desktop density |
chanora.typography.* |
Product role mapping to Material type roles |
3. Color Tokens
| Token |
Purpose |
chanora.color.connection.connected |
Connected state |
chanora.color.connection.connecting |
Connection in progress |
chanora.color.connection.reconnecting |
Recovering connection |
chanora.color.connection.disconnected |
Disconnected state |
chanora.color.connection.error |
Connection failure |
chanora.color.voice.speaking |
User is speaking |
chanora.color.voice.muted |
Microphone muted |
chanora.color.voice.deafened |
Output deafened |
chanora.color.voice.pttActive |
Push-to-talk active |
chanora.color.latency.good |
Good latency |
chanora.color.latency.warning |
Warning latency |
chanora.color.latency.bad |
Bad latency |
chanora.color.diagnostics.info |
Informational diagnostic |
chanora.color.diagnostics.warning |
Warning diagnostic |
chanora.color.diagnostics.error |
Error diagnostic |
4. Typography Mapping
| Product role |
Material 3 type role |
| App title |
headlineSmall |
| Server name |
titleLarge |
| Channel name |
bodyLarge |
| Client nickname |
bodyLarge |
| Status secondary text |
bodyMedium |
| Diagnostic metadata |
bodySmall |
| Button label |
labelLarge |
| Badge label |
labelMedium |
5. Spacing Tokens
| Token |
Value |
chanora.spacing.xs |
4 |
chanora.spacing.sm |
8 |
chanora.spacing.md |
12 |
chanora.spacing.lg |
16 |
chanora.spacing.xl |
24 |
chanora.spacing.2xl |
32 |
6. Shape Tokens
| Token |
Use |
chanora.shape.sm |
Small chips, compact controls |
chanora.shape.md |
Cards and list containers |
chanora.shape.lg |
Panels and navigation surfaces |
chanora.shape.xl |
Dialogs and sheets |
chanora.shape.full |
Pills, badges, icon buttons |
7. Motion Tokens
| Token |
Purpose |
chanora.motion.quick |
Small feedback |
chanora.motion.standard |
Normal UI transition |
chanora.motion.emphasized |
Major layout transition |
chanora.motion.reduced |
Reduced-motion fallback |
8. Flutter Implementation Requirement
Tokens should be exposed through ThemeData, ColorScheme, component themes, and ThemeExtension. Feature screens shall not hardcode product semantic token values.
9. Change History
| Version |
Date |
Description |
| 0.1.0 |
2026-05-14 |
Initial design token baseline. |
Baseline Candidate 0.9.1 Update
| Version |
Date |
Description |
| 0.9.1 |
2026-05-14 |
Updated baseline after product decision closure: Apple App Store SDK gate uses Xcode 26+ and iOS 26 / iPadOS 26 SDK+ since 2026-04-28, platform baselines and decision traceability propagated across the document set. |
Baseline Candidate 0.9.2 Update
| Version |
Date |
Description |
| 0.9.2 |
2026-05-14 |
Corrected Apple App Store Connect upload gate to 2026-04-28 and checked full-package naming, references, and coverage. |