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.
94 lines
4.3 KiB
Markdown
94 lines
4.3 KiB
Markdown
|
|
# Chanora UI/UX Guideline — Material 3 Baseline
|
|
|
|
**Version:** 0.9.2
|
|
**Status:** Baseline Candidate
|
|
**Language:** English
|
|
**Lifecycle support:** Supports SysDes, SRS, SAD, SDD, and Verification
|
|
**Design baseline:** Material 3 + Chanora Design System
|
|
|
|
**Repo path:** `docs/ui-ux/material3-guideline.md` ---
|
|
|
|
## 1. Purpose
|
|
|
|
This guideline defines the UI and UX baseline for the Chanora Flutter application. Chanora shall use Material 3 as the foundation, but product-specific voice, channel, connection, latency, diagnostics, platform, and accessibility semantics shall be expressed through Chanora Design System components and tokens.
|
|
|
|
## 2. Core UI Principles
|
|
|
|
| Principle | Requirement |
|
|
|---|---|
|
|
| Voice-first control | Mute, deaf, push-to-talk, current channel, and input status must be visible or directly reachable. |
|
|
| Connection awareness | Connected, connecting, reconnecting, disconnected, and error states must be visible. |
|
|
| Adaptive layout | Layout must adapt by window class rather than hardcoding behavior by platform name. |
|
|
| Accessibility baseline | Critical controls must have semantics, focus behavior, text scaling support, and non-color-only status expression. |
|
|
| Platform respect | Permission, safe area, keyboard, back, haptic, and audio-route behavior must follow platform expectations. |
|
|
| Localization-ready | Product-owned strings must be localized; server-provided content must be displayed as content. |
|
|
|
|
## 3. Primary Screens
|
|
|
|
| Screen | Stage | Purpose |
|
|
|---|---|---|
|
|
| Home | P0 | Recent servers, bookmarks, manual connect entry |
|
|
| Connect | P0 | Host, port, nickname, password, identity selection |
|
|
| Server | P0 | Channel tree, clients, connection status, current channel |
|
|
| Voice | P0 | Voice controls, input level, device summary |
|
|
| Chat | P1 | Channel text messages |
|
|
| Settings | P0 | Audio, UI, localization, platform behavior, shortcuts |
|
|
| Diagnostics | P0 | Status, redacted export, troubleshooting information |
|
|
|
|
## 4. Interaction Rules
|
|
|
|
| Area | Rule |
|
|
|---|---|
|
|
| Channel tree | Select, expand/collapse, join, context menu, keyboard traversal |
|
|
| Client tile | Show speaking, mute/deaf, volume, latency when available |
|
|
| Voice controls | Must be reachable with touch, mouse, and keyboard |
|
|
| Diagnostics | Export must require explicit user action and show redaction notice |
|
|
| Settings | Destructive or permission-changing actions require clear confirmation or explanation |
|
|
| Text entry | Chat input must respect IME and keyboard safe areas |
|
|
|
|
## 5. Motion Rules
|
|
|
|
| Scenario | Allowed behavior |
|
|
|---|---|
|
|
| Page transition | Minimal fade or shared-axis style transition |
|
|
| Speaking indicator | Subtle pulse, disabled or simplified under reduced motion |
|
|
| Reconnect banner | Clear state transition without disruptive animation |
|
|
| Layout change | Resize/reflow smoothly where possible |
|
|
| Error state | Immediate, clear, non-color-only feedback |
|
|
|
|
## 6. Accessibility Rules
|
|
|
|
| Rule | Baseline |
|
|
|---|---|
|
|
| Minimum target | Critical controls should meet a 48dp target where practical. |
|
|
| Semantics | Icon-only controls require labels. |
|
|
| Focus | Desktop and tablet keyboard use require visible focus. |
|
|
| State expression | Critical states require more than color. |
|
|
| Text scale | Critical controls remain reachable under increased text size. |
|
|
| Reduced motion | Non-essential animation is reduced or disabled. |
|
|
|
|
## 7. Internationalization UX
|
|
|
|
Product strings are localized. Server-provided server names, channel names, nicknames, and messages are not translated. Mixed-language and bidirectional text must be rendered as text content and preserved through diagnostics unless redacted.
|
|
|
|
## 8. Change History
|
|
|
|
| Version | Date | Description |
|
|
|---|---|---|
|
|
| 0.1.0 | 2026-05-14 | Initial UI/UX guideline for Material 3, adaptive layout, accessibility, platform behavior, and i18n. |
|
|
|
|
|
|
## 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. |
|