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.
2.9 KiB
2.9 KiB
Chanora Adaptive Layout and Platform Behavior Guide
Version: 0.9.2
Status: Baseline Candidate
Language: English
Repo path: docs/ui-ux/adaptive-layout-platform-guide.md ---
1. Purpose
This guide defines adaptive layout and platform behavior for the Chanora Flutter application.
2. Window Classes
| Class | Width | Layout |
|---|---|---|
| Compact | < 600dp |
Single-column content with mobile navigation |
| Medium | 600dp - 839dp |
Navigation rail or side navigation with main content |
| Expanded | >= 840dp |
Persistent side pane, main pane, and persistent VoiceBar |
3. Compact Layout
- Use one primary content area.
- Keep VoiceBar visible or directly reachable.
- Keep connection status visible.
- Use bottom navigation for primary destinations.
- Avoid multi-pane assumptions.
4. Medium Layout
- Use navigation rail or equivalent side navigation.
- Keep primary content and VoiceBar available.
- Use dialogs or side panels depending on width.
5. Expanded Layout
- Use persistent side pane for server/channel navigation.
- Use main pane for chat, details, or current feature content.
- Keep VoiceBar persistent.
- Support pointer, keyboard, hover, and context menus.
6. Android Platform Behavior
- Runtime permissions must be explained before request where appropriate.
- System back behavior is handled as a back intent.
- Predictive back compatibility should be considered where supported.
- Bluetooth and audio routing are handled by platform services.
- Foreground voice behavior is handled according to Android platform rules.
7. iOS Platform Behavior
- Microphone permission must be explained before request where platform guidelines allow.
- Safe area, home indicator, keyboard avoidance, and route changes must be respected.
- Audio session behavior must be handled through platform audio services.
- Haptics should be restrained and meaningful.
8. Desktop Platform Behavior
- Keyboard traversal is required for primary controls.
- Tooltips and hover states should be supported.
- Context menus should be supported for channel tree, client rows, and bookmarks.
- Window resizing must not break critical controls.
- Diagnostics export must use platform-appropriate file handling.
9. Change History
| Version | Date | Description |
|---|---|---|
| 0.1.0 | 2026-05-14 | Initial adaptive layout and platform behavior guide. |
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. |