| 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 | |
| 13 | Flat **не** означает «серый пустой экран». Означает: не тратить salience на декор. |
| 14 | |
| 15 | ## Правила flat chrome (Flight) |
| 16 | |
| 17 | 1. **Поверхности:** `main_window` ≈ `editor` ≈ колонки; панели (`chat_panel`, `toolbar`) — на один шаг светлее/темнее, не отдельный «остров». |
| 18 | 2. **Разделители:** `workspace_layout.border_brush` / `editor_column.border_brush` — единая линия `#333841`, без glow. |
| 19 | 3. **Радиусы:** колонки и секции **4px**; popup/палитра **6–8px**; без 10–14px у рабочих колонок. |
| 20 | 4. **Тени:** убраны у палитры, slash-popup (Skia), Flight health; **Power**-семейство (`Classes.power`) — legacy glow, не активно при `UiModeFamily.Flight`. |
| 21 | 5. **IDE Health (Flight):** одна плоская полоса — текст сегментов, без вложенных `modeCard` на каждый badge. |
| 22 | 6. **Якоря 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 | |