Forge
markdowndeeb25a2
1# Flat chrome + Dark Cockpit v1
2
3**Статус:** v1 (реализация в темах и `App.axaml`, Flight / `CursorLike`).
4**Связь:** [0021 §6](../adr/0021-pfd-mfd-cockpit-attention-model.md), [0066](../adr/0066-cockpit-ui-vs-ide-presentation-layer.md), [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md).
5
6## Две оси (не путать)
7
8| Ось | Смысл |
9|-----|--------|
10| **Flat chrome** | Геометрия IDE presentation: 1px границы, малые радиусы, без теней и градиентных «островов» в штатном Flight. |
11| **Dark Cockpit** | Политика внимания: в норме тихо; цвет/акцент/карточка — **по отклонению** (W/C/A, EICAS, активный чеклист). |
12
13Flat **не** означает «серый пустой экран». Означает: не тратить salience на декор.
14
15## Правила flat chrome (Flight)
16
171. **Поверхности:** `main_window` ≈ `editor` ≈ колонки; панели (`chat_panel`, `toolbar`) — на один шаг светлее/темнее, не отдельный «остров».
182. **Разделители:** `workspace_layout.border_brush` / `editor_column.border_brush` — единая линия `#333841`, без glow.
193. **Радиусы:** колонки и секции **4px**; popup/палитра **6–8px**; без 10–14px у рабочих колонок.
204. **Тени:** убраны у палитры, slash-popup (Skia), Flight health; **Power**-семейство (`Classes.power`) — legacy glow, не активно при `UiModeFamily.Flight`.
215. **IDE Health (Flight):** одна плоская полоса — текст сегментов, без вложенных `modeCard` на каждый badge.
226. **Якоря layout-lab:** контур PFD/Forward/MFD — **1px**, фон прозрачный (не заливка 8–20% opacity).
23
24## Dark Cockpit — что сохраняем
25
26- EICAS / health: **появление** при активных оповещениях, не постоянная цветная полоса.
27- Акцент Intercom: **редко** (inset/рамка), не на каждой строке.
28- Status chip: только при **ходе работы** (сборка, загрузка), не декор.
29- Эскалация Warning/Caution — **заметна** (цвет, контраст); flat не ослабляет W/C/A.
30
31## Вкладки документов (Dock)
32
33- Имя файла и `*` / `[P]` — **только** в полоске вкладок `Dock.Avalonia` (`DisplayTitle`).
34- Внутри `DockDocumentView` **нет** второго `PanelChromeHeader` с полным путём (дубль убран); полный путь — ToolTip на области редактора.
35
36## Вне scope v1
37
38- Ситуационные чеклисты (0014), semantic tint сегментов health по severity.
39- Полный отказ от `message_bubble` в Skia-ленте (0123).
40- Перепись Fluent theme / Dock глобально (VS-like скруглённые вкладки — backlog).
41
42## Файлы
43
44| Артефакт | Изменение |
45|----------|-----------|
46| `Themes/cursor-like-theme.json`, `dark-theme.json` | Плоские поверхности, тише chip |
47| `App.axaml` | `cascadeSection`/`cascadeInset`, `ideHealthStrip`, TreeView selection |
48| `IdeHealthStripView.axaml` | Flight: flat strip |
49| `SolutionExplorerView`, `DocumentsDockView` | CornerRadius 4 (non-Power) |
50| `CommandPaletteView.axaml` | border вместо shadow |
51| `SkiaPopupList.cs` | без drop shadow |
52| `MainWindow.axaml` | тихие якоря зон |
53
View only · write via MCP/CIDE