Files
chanora/docs/ui-ux/material3-design-tokens.md
T
EdisonJwa f1bc9a6c85 chore(repo): initial baseline import (docs v0.9.2 + bootstrap)
Imports the v0.9.2 documentation baseline and the bootstrap files
required by docs/governance/repository-bootstrap-plan.md v0.1.0 §3,
minus the justfile (added in the next commit).

This commit establishes the git history for the project. All previous
work lived only as filesystem state with no version control.
2026-05-14 12:25:33 +08:00

121 lines
3.9 KiB
Markdown

# 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.
```text
Material 3 ColorScheme / TextTheme / Shape / Motion
-> Chanora Semantic Tokens
-> Chanora Components
-> Feature Screens
```
## 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. |