Forge
markdowndeeb25a2
1# Режимы интерфейса Cascade IDE (обзор)
2
3Краткое введение для UX, онбординга и ревью макетов. Полный контракт данных, TOML и загрузчика — в **[ADR 0010: UI modes in TOML](../adr/0010-ui-modes-toml-configuration.md)**.
4
5## Что переключает пользователь
6
7- **Строка режима (`UiMode`)** — id пресета: что показывается в комбо и в бейдже тулбара (`Focus`, `Balanced`, `Power`, `AgentChat`, `Debug`, `Flight`, …). Список пунктов меню задаётся **`UiModes/index.toml`** (шипнутый набор рядом с exe).
8- **Семья режима (`UiModeFamily`)** — продуктовая ось для кода и XAML: Focus / Balanced / Power / AgentChat / Debug / **Flight** (полигон раскладки; дефолты как у Balanced, см. `UiModes/Flight.toml`). Нужна, чтобы производный id (например кастомный пресет) вёл себя как «отладка» или «power», не сравнивая строку id по всему приложению.
9
10## Где лежат данные
11
12| Что | Где |
13|-----|-----|
14| Порядок режимов в меню | `UiModes/index.toml` (`schema_version`, `modes`) |
15| Раскладка и capabilities одного режима | `UiModes/<Id>.toml` |
16| Общие числа хрома (сплиттеры, базовые ширины чата по правилам семей и т.д.) | `UiModes/workspace.toml` |
17| Запасные значения, если файлов нет | код: `UiModeLayoutRegistry`, `UiModeCatalog` |
18
19Наследование между режимами (`inherits`), мердж capabilities и порядок **`family`** — только в ADR 0010.
20
21## Как это попадает в UI
22
23- **ViewModel:** вычисляемое **`UiModeFamily`** из нормализованного `UiMode` (резолвер + каталог TOML).
24- **Тонкие флаги «что показать»** (Quick Actions, гипотезы, trace Power и т.д.) — объект **`Capabilities`** на VM (после мержа TOML и дефолтов по семье).
25- **XAML:** вместо старых булевых `Is*Mode` — привязки к **`UiModeFamily`** через конвертеры **`UiModeFamilyEq`** / **`UiModeFamilyNe`** и параметр (`Power`, `Focus`, …). Пример: компактная полоса IDE Health под редактором — когда семья **не** Power (`IdeHealthStripView`).
26
27## Связанные UX-документы
28
29- Макет окна и имена зон: **`cascade-ide-ui-layout-v1.md`**
30- Карта «концепт → код»: **`concept-to-implementation-map-v1.md`**
31
32*Версия: 2026-04.*
33
View only · write via MCP/CIDE