Forge
markdowndeeb25a2
1# Cascade IDE — Design Handbook v1
2
3**Статус:** v1 (живой hub, не ADR)
4**Аудитория:** дизайнеры, UX-авторы, продукт; разработка — для согласования терминов и границ.
5**Дата:** 2026-05-19
6
7Этот документ **сводит** принципы, мотивацию и навигацию в **одно чтение для дизайнера**. **ADR читать не обязательно** — они фиксируют решения для разработки; здесь — *зачем так* и *как это выглядит в UI*. Ссылки на ADR — только если нужны детали, статус или спор с инженерами.
8
9!!! tip "Маршрут для дизайнера (без ADR)"
10 0. **[IOP-манифест](../iop-manifest-v1.md)** — дисциплина; **[§ Cascade use case](../iop-manifest-v1.md#пример-экосистема-cascade)** — экосистема; **§1.1** — дизайн CIDE. KB — SHOWCASE, отдельно.
11 1. **§2 целиком** — принципы и мотивация (главное).
12 2. **§3** — зоны PFD / Forward / MFD; **§3.1** — 1/2/3 монитора (не путать с тремя зонами).
13 3. [Раскладка UI](../ui-ux/cascade-ide-ui-layout-v1.md) + wireframe в `docs/ui-ux/`.
14 4. **§8** — приоритеты работы дизайнера.
15 5. По задаче — **§6** (тематические ссылки), не весь каталог ADR.
16 6. **Intercom** — [intercom-design-hub-v1.md](intercom-design-hub-v1.md) (домены D1–D9, макеты).
17 7. Макеты — **§9**.
18
19**English (краткий обзор продукта):** [Concept overview](../en/concept-overview.md) · [UI layout EN](../en/ui-ux/cascade-ide-ui-layout-v1.md).
20
21---
22
23## 1. Что такое Cascade IDE (CIDE)
24
25**Agent-first IDE для .NET** на Avalonia: человек и AI-агент делят **один кокпит** — те же команды, та же раскладка, тот же канал **Intercom** (не «чат сбоку»).
26
27| Идея | Где подробнее |
28|------|----------------|
29| IOP — дисциплина намерения и верификации | [IOP-манифест](../iop-manifest-v1.md), [ADR 0121](../adr/0121-intent-oriented-programming-paradigm.md) |
30| Intercom = канал сессии | [ADR 0080](../adr/0080-intercom-naming-and-multi-party-channel-model.md) |
31| In-proc MCP — паритет агента и IDE | [MCP-протокол](../MCP-PROTOCOL.md), [ADR 0008](../adr/0008-mcp-contracts-and-testable-infrastructure.md) |
32| North star «workbench» | [north-star-cursor-mcp-cascade-workbench-v1.md](north-star-cursor-mcp-cascade-workbench-v1.md) |
33
34### 1.1 Два порога входа (CIDE)
35
36IOP — **[манифест](../iop-manifest-v1.md)**; экосистема — **[use case](../iop-manifest-v1.md#пример-экосистема-cascade)**. Ниже — только **дизайн Cascade IDE**:
37
38| В IOP-манифесте | В CIDE (этот handbook) |
39|-----------------|-------------------------|
40| Папка + разговор | Workspace + Intercom/composer или Cursor в том же репо — **без** обязательного §2 и D1–D9 |
41| Интегрированный контур | §2, [intercom-design-hub](intercom-design-hub-v1.md), ADR при споре с инженерами |
42
43**Для дизайна:** первый экран скептику — **одна поверхность + один честный вопрос**, не стена терминов. **Анти-паттерн:** «сначала выучи handbook» при демо коллеге.
44
45---
46
47## 2. Принципы и мотивация (читать здесь, не в ADR)
48
49Ниже — **самодостаточный** слой для дизайна. Таблица в §2.6 — шпаргалка; ADR в конце §2.7 — по желанию.
50
51### 2.0 Восприятие важнее авторинга (design thesis)
52
53Классические IDE заточены под **написание кода**: редактор — центр, а всё сопутствующее — решения, intent, история рассуждения — размазано по панелям и файлам и **читается плохо**. В agentic-цикле **писать код в основном берёт агент**; работа человека — **понимать, направлять, фиксировать решения**. Редактор остаётся для проверки и точечных правок по запросу (reveal), не как дефолтная «станция набора».
54
55**Для дизайна:** полировка и measure cap — на **Intercom / Surface** (читать, ориентироваться, ветвить). Chrome и редактор — тихие, пока оператор не открыл attach. Session graph — не «красивый чат», а **удобное восприятие сессии**. Канон: [0172](../adr/0172-conversation-first-habitat.md), [VDS v1](cide-vds-v1.md), KB `kb-cide-brand-positioning-v1.md`.
56
57---
58
59### 2.1 «Хороший актёр»: инструмент не спорит с задачей
60
61> Хороший актёр — тот, кого не видно: на сцене остаётся персонаж, а не исполнитель.
62
63**Мотивация.** Разработчик держит в голове **задачу и код**. IDE, ассистент и панели — **суфлёры**, не второй спектакль про «возможности продукта». Каждый пиксель, который требует внимания без причины, — налог на поток.
64
65**Для дизайна:**
66
67- В норме интерфейс **спокойный**; акцент — на Forward (код или Intercom).
68- Промо-эффекты, пульсации и «умные» всплытия без запроса — **анти-паттерн**.
69- Новый элемент обосновываем: *какую роль внимания он несёт?* Если «просто удобно иметь» — скорее MFD или палитра, не лобовое.
70
71---
72
73### 2.2 Иерархия внимания (кокпит) — не декор
74
75**Мотивация.** В IDE одновременно приходят сигналы: код, сборка, git, агент, ошибки. Без **явной иерархии** UI уезжает в крайности: всё спрятано (нет обратной связи) или всё на экране (нет фокуса). Авиация десятилетиями отрабатывала **куда смотреть сначала** — мы переносим **дисциплину внимания**, а не косплей кабины.
76
77Главный враг — **переключение контекста**: «где я был», «какая панель главная», «почему всплыло сейчас». «Всё в одном окне» у нас значит **согласованный контур** (код + минимум нужного рядом), а не бесконечное раздувание панелей и встроенных чатов.
78
79**Для дизайна:**
80
81| Зона | Вопрос, на который отвечает | Плотность |
82|------|-----------------------------|-----------|
83| **Forward** | «Что я делаю **сейчас**?» (редактор или Intercom) | Максимальный фокус, минимум отвлечений |
84| **PFD** | «**Где** я в проекте / решении?» | Навигация, карта, контекст полёта |
85| **MFD** | «Что нужно **вторично**?» (лог, терминал, git, health) | Осознанное переключение **страницы**, не конкурент Forward |
86
87**EICAS / health / оповещения** (когда есть в макете) — **сводный канал тревог**, а не ещё десять toast’ов поверх редактора.
88
89!!! note "Нейроотличие и когнитивная нагрузка"
90 Явные якоря и меньше конкурирующих сигналов особенно важны тем, кому **дорого** возвращаться в поток после прерывания (в т.ч. СДВГ). Это не «лечение интерфейсом», а **эргономика**: пресеты, отключаемый шум, предсказуемые места элементов.
91
92---
93
94### 2.3 Не «вторая VS Code / Rider» и не «Copilot в каждой строке»
95
96**Мотивация.** Классический **Visual Studio** для .NET долго задавал планку: предсказуемое действие, инструменты **по делу**, единый контур. Это наш **позитивный** ориентир по DX.
97
98Другой **класс риска** — когда облачный inline-ассистент **по умолчанию везде**: подсказки без запроса, неясно, что попадёт в буфер, помощь **не отключается** по-настоящему, всё завязано на аккаунт вендора. Тогда IDE становится **«плохим актёром»** — выходит на передний план вместо задачи.
99
100**CascadeIDE** сознательно **не** копирует:
101
102- бесконечное размножение боковых панелей и вкладок «как в VS Code»;
103- облачный ghost text в каждой строке как единственный путь помощи;
104- второй «кокпит» для агента (отдельный чат с другой моделью команд).
105
106**Для дизайна:**
107
108- Новая панель — **исключение с ролью**, не «ещё одна колонка по умолчанию».
109- AI-помощь — **в контуре Intercom / команд / diff**, с явным вкл/выкл и видимым следом, а не фоновая магия в редакторе.
110- Внешние чаты и сервисы — **мосты** (второй монитор, интеграция), не десятый встроенный мессенджер в PFD.
111
112---
113
114### 2.4 AI и агент: суверенитет, локальность, прозрачность
115
116**Мотивация.** Продукт **agent-first**, но оператор остаётся **капитаном**. Агент силён, когда его действия **наблюдаемы** и **согласованы** с тем, что может сделать человек теми же командами.
117
118| Принцип | Что это значит для человека | Следствие для UI |
119|---------|----------------------------|------------------|
120| **Суверенитет** | Можно **отключить или ограничить** класс помощи (не «спрятали, но облако всё равно шлёт») | Настройки с понятными режимами; нет «вечно включённого» inline |
121| **Локальность** | Критичный путь — **репозиторий и IDE**; облако — **явная** граница | Не смешивать «файл на диске» и «ответ модели» без различимых состояний |
122| **Прозрачность** | Поведение, влияющее на код, **объяснимо** (что сделал агент, какой diff) | Лента Intercom, статусы, отклонение/принятие изменений в Forward |
123| **Невидимость по умолчанию** | Помощь **не конкурирует** с кодом за внимание, пока не запрошена | Нет навязчивых подсказок в строке; запрос — через Intercom, команду, палитру |
124| **Паритет команд** | То, что видишь в UI, агент может вызвать тем же **`command_id`** | Один каталог команд: палитра, слэш, MCP — не три разных мира |
125| **Честность рассуждения** | Не притворяемся «полным мышлением» без границ провайдера | Слои «thinking», лимиты, явные ошибки API — без театра |
126
127**Intercom** — не «чат с ботом», а **канал сессии** (как рация в работе): темы, spine, composer внизу, слэши с подсказками — см. §5.2, [intercom-design-hub](intercom-design-hub-v1.md), [intercom-ux-reference](intercom-ux-reference-slack-mattermost-v1.md).
128
129**Партнёр для проектирования:** агент в том же контуре — для **обсуждения и спора до кода** (снять ветвления → ADR → быстрая реализация), без замены вкуса и ответственности человека — [philosophy §8](cascadeide-philosophy-v1.md#8-агент-как-партнёр-для-проектирования-до-кода), [§8.1 «память, не лычка»](cascadeide-philosophy-v1.md#81-память-команды-не-лычка-в-промпте), [IOP manifest](../iop-manifest-v1.md).
130
131---
132
133### 2.5 Dark cockpit и тревога по делу
134
135**Мотивация.** В штатном полёте приборы **не кричат**. Тревога — когда параметр вышел за норму. Аналог в IDE: в спокойной работе — **тихий фон**, chip и баннеры — когда есть **смысл прервать**.
136
137**Для дизайна:**
138
139- Статус «идёт сборка / агент думает» — **компактный** (toolbar, chip), не полоска на всю ленту без нужды.
140- Ошибки и блокеры — **заметны**, но **сводятся** (health, EICAS), а не дублируются в трёх углах экрана.
141- Цвет акцента — для **фокуса и действия**, не для декора каждой секции.
142
143---
144
145### 2.6 Команды: три входа (репетиция, выступление, канал)
146
147**Мотивация.** Разные режимы работы мозга: **учиться** действию, **делать** на автомате, **оставаться в канале сессии** и всё равно вызвать IDE-действие. Три поверхности — одна модель `command_id` (палитра, аккорд, MCP не расходятся).
148
149| Режим | Вход | Зачем |
150|-------|------|--------|
151| **Репетиция** | Палитра (Ctrl+Q) | Поиск, полный каталог, онбординг, редкие команды |
152| **Выступление** | CascadeChord (Ctrl+K) + Melody `c:` | Освоенные действия с клавиатуры; короткие alias — здесь, не в слэше |
153| **Канал сессии** | Слэш в composer (`/` + autocomplete) | Те же `command_id`, когда фокус уже в Intercom: `/build run`, `/topic …`, `/help` — иерархия вместо мнемоник ([0119](../adr/0119-chat-slash-commands-intercom-surface.md)) |
154
155```mermaid
156flowchart LR
157 subgraph surfaces["Один command_id"]
158 P["Палитра Ctrl+Q\nрепетиция"]
159 K["Chord Ctrl+K + c:\nвыступление"]
160 S["/ в composer\nканал сессии"]
161 end
162 R["IdeCommands / MCP"]
163 P --> R
164 K --> R
165 S --> R
166```
167
168**Для дизайна:**
169
170- Слэш — **иерархические подсказки** (`/` → namespace → действие), autocomplete обязателен; не дублировать «сжатые» формы палитры/аккорда (`/br` и т.п.).
171- Обычный текст в composer — **агенту**; неизвестный `/` — **отклонять локально**, не «отправить модели наугад».
172- Визуально различать **три affordance** в онбординге и help, не смешивать «палитра = всё».
173
174---
175
176### 2.7 Анти-паттерны (сводка «чего не рисуем»)
177
178| Не делаем | Почему |
179|-----------|--------|
180| Ещё одна колонка «на всякий случай» | Размывает Forward; ломает кокпит |
181| Inline AI в каждой строке по умолчанию | «Плохой актёр», суверенитет, непредсказуемый буфер |
182| Дублировать навигацию (вкладки + overview + слэш + хвост в ленте) | Один **быстрый** путь + один **масштабный** (Navigator) — [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md) |
183| Toast на каждое событие сборки | Сводим в MFD / health |
184| Сырые hex-цвета в макете без семантики | Только имена токенов — [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md) |
185| Отдельный UX только для агента | Паритет команд и Intercom |
186| Пузыри / рамка на каждом сообщении Intercom | Отвлекают; flat feed Slack/MM; **большинство строк без акцента**, рамка редко — [intercom-ux-reference](intercom-ux-reference-slack-mattermost-v1.md) |
187
188---
189
190### 2.8 Шпаргалка принципов
191
192| # | Принцип | Одна фраза |
193|---|---------|------------|
194| P1 | Инструмент исчезает | В фокусе задача, не IDE |
195| P2 | Кокпит / зоны | Forward — сейчас; PFD — где; MFD — вторично |
196| P3 | Не клон VS Code + inline AI | Согласованный контур, не панельный зоопарк |
197| P4 | Суверенитет AI | Вкл/выкл, прозрачность, паритет с агентом |
198| P5 | Dark cockpit | Тишина в норме; тревога — по делу |
199| P6 | Три входа команд | Палитра учит, аккорд ускоряет, слэш — discoverability в Intercom |
200| P7 | Intercom = канал сессии | Не generic chat sidebar |
201
202**Ценности проекта (кратко):** открытость, наблюдаемость, паритет человека и агента — [ADR 0100](../adr/0100-project-constitution.md) (инженерам).
203
204---
205
206### 2.9 Когда всё же открывать ADR
207
208| Ситуация | Документ |
209|----------|----------|
210| Спор «можно ли так в продукте» | Соответствующий ADR из §6 + статус в [adr-nav](../site/adr-nav/index.md) |
211| Нужны точные термины PFD/MFD/EICAS | [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md) |
212| Фиксация AI-политики для compliance | [0071](../adr/0071-ai-assistance-sovereignty-locality-invisibility.md) |
213| Разработчик просит «как в коде» | [concept-to-implementation-map](../ui-ux/concept-to-implementation-map-v1.md) |
214| Длинный нарратив про метафоры | [cascadeide-philosophy-v1.md](cascadeide-philosophy-v1.md) |
215
216**Инженерный индекс ADR по темам:** [adr-map-v1.md](../en/architecture/adr-map-v1.md) — не обязателен для дизайн-ревью макета.
217
218---
219
220## 3. Раскладка: три зоны внимания (Flight)
221
222Сейчас в поставке один UI-режим — **Flight**. Главное окно — **три колонки** (без полосы вкладок на всю ширину снизу).
223
224```mermaid
225flowchart LR
226 subgraph cockpit["Главное окно (Flight)"]
227 PFD["PFD\nнавигация\nsolution / map"]
228 FWD["Forward\nprimary work\nредактор ИЛИ Intercom"]
229 MFD["MFD\nстраницы\nbuild · terminal · git · …"]
230 end
231 PFD --- FWD --- MFD
232```
233
234| Зона | Имя | Роль для дизайна |
235|------|-----|------------------|
236| **PFD** | Primary Flight Display | «Где я в проекте?» — дерево, карта, инструменты навигации |
237| **Forward** | Лобовое / primary work | **Главный фокус:** редактор *или* полноэкранный Intercom ([0120](../adr/0120-primary-work-surface-intercom-or-editor.md)) |
238| **MFD** | Multi-Function Display | Вторичные «приборы»: терминал, сборка, Git, health — **страницы**, не конкурент Forward |
239
240### 3.1 Один, два или три **монитора** (не путать с «тремя зонами»)
241
242**Канон для дизайна — всегда три *роли* зон (PFD · Forward · MFD).** Сколько **физических дисплеев** — настройка пользователя; для команды **не** требуем «у всех три монитора» ([ADR 0017](../adr/0017-multi-window-workspace-and-agent-surfaces.md)).
243
244| Дисплеев | Типичная презентация (`presentation`) | Что рисуем |
245|----------|----------------------------------------|------------|
246| **1** | `(PFD+Forward+MFD)` или три колонки в одном `MainGrid` | Все зоны в **одном** главном окне — как в layout v1 |
247| **2** | `(PFD+Forward) (MFD)` | Главное окно: PFD + Forward; второе окно / экран — **MFD** (чат, терминал, build…) |
248| **3** | `(PFD) (Forward) (MFD)` | **Идеал** при достаточном железе: **по одной зоне на экран** (три `TopLevel`), слева направо в порядке скобок в строке пресета |
249
250```mermaid
251flowchart TB
252 subgraph one["1 монитор"]
253 O1["( PFD | Forward | MFD ) — одно окно"]
254 end
255 subgraph two["2 монитора — компромисс"]
256 T1["Экран 1: PFD + Forward"]
257 T2["Экран 2: MFD"]
258 T1 --- T2
259 end
260 subgraph three["3 монитора — целевой сценарий"]
261 H1["PFD"]
262 H2["Forward"]
263 H3["MFD"]
264 H1 --- H2 --- H3
265 end
266```
267
268**Важно для макетов:**
269
270- **Не** смешивать «три колонки в макете окна» и «обязательно три монитора у каждого пользователя».
271- **Три отдельных окна на одном ультрашироком мониторе** — не цель по умолчанию; обычно хватает одного окна + вынесения MFD на 2-й экран ([0017](../adr/0017-multi-window-workspace-and-agent-surfaces.md)).
272- Пресет по дисплеям — **личный** (`settings.toml`, ключ `presentation`), не обязательный team-wide в `.cascade/workspace.toml`.
273
274**Где «три монитора» звучит как норма для *команды*:** совместная работа и общий экран в комнате — [IOP-манифест](../iop-manifest-v1.md), [ADR 0122](../adr/0122-collaborative-iop-environment-and-shared-situational-display.md). Это **видение экипажа**, не минимальные требования к одиночному рабочему месту.
275
276**Эталон имён и MCP:** [cascade-ide-ui-layout-v1.md](../ui-ux/cascade-ide-ui-layout-v1.md) · wireframe: `docs/ui-ux/cascade-ide-main-window-wireframe.png`.
277
278**Норматив мультиоконности:** [ADR 0017](../adr/0017-multi-window-workspace-and-agent-surfaces.md) · [0021 §13](../adr/0021-pfd-mfd-cockpit-attention-model.md).
279
280**Куда класть новую панель:** [attention-zone-panel-playbook-v1.md](attention-zone-panel-playbook-v1.md).
281
282---
283
284## 4. Типы UI-слоёв (чтобы не путать визуальные системы)
285
286| Слой | Где в коде | Когда использовать |
287|------|------------|-------------------|
288| **IDE chrome** | `CascadeTheme`, `Views/UiKit/`, MFD-страницы AXAML | Меню, настройки, оболочка страниц MFD |
289| **Skia surfaces** | `Views/SkiaKit/`, `Views/Chat/Skia/` | Плотные ленты, Intercom, карты — пиксельный контроль |
290| **Cockpit / приборы** | `Cockpit/PrimitivesKit/`, CDS | «Приборная» семантика, не обычные панели настроек |
291
292Разделение IDE vs cockpit: [ADR 0066](../adr/0066-cockpit-ui-vs-ide-presentation-layer.md) · playbook: [skia-surfaces-vs-overlays-v1.md](skia-surfaces-vs-overlays-v1.md).
293
294**Токены chrome (v1):** [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md) · темы: [ADR 0086](../adr/0086-ui-theme-toml-canonical-json-mcp-wire.md).
295
296**Skia kit (примитивы UI):** [ADR 0117](../adr/0117-ide-skia-kit.md).
297
298---
299
300## 5. Навигация по темам (детали)
301
302Используй таблицу как **оглавление**. Статусы ADR — в [навигаторе](../site/adr-nav/index.md); здесь помечено только направление для дизайна.
303
304### 5.1 Раскладка, chrome, мультиокно
305
306| Тема | Документ | ADR (норматив) |
307|------|----------|----------------|
308| Макет Flight, контролы | [ui-ux/cascade-ide-ui-layout-v1.md](../ui-ux/cascade-ide-ui-layout-v1.md) | [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md), [0046](../adr/0046-presentation-layout-authority-and-cockpit-invariants.md) |
309| Концепт → код, архив Focus/Power | [concept-to-implementation-map-v1.md](../ui-ux/concept-to-implementation-map-v1.md) | — |
310| Референс-скрины | [ui-ux/concept-screens/](../ui-ux/concept-screens/README.md) | — |
311| Forward = редактор или Intercom | — | [0120](../adr/0120-primary-work-surface-intercom-or-editor.md) Proposed |
312| Плавающий chrome | — | [0012](../adr/0012-floating-workspace-chrome.md) |
313| Remote operator (не мобильная IDE) | — | [0117-remote](../adr/0117-remote-operator-surface-multidevice.md) Proposed |
314
315### 5.2 Intercom (канал, темы, composer)
316
317Intercom — **не один экран**, а **несколько доменов** (лента, composer, attach, мост в редактор, навигация тем, три входа команд). Для дизайна — отдельный хаб с иерархией документов и чеклистом референс-PNG.
318
319| С чего начать | Содержание |
320|---------------|------------|
321| **[intercom-design-hub-v1.md](intercom-design-hub-v1.md)** | Домены **D1–D9**, карта доков, порядок итераций, [чеклист макетов](../ui-ux/concept-screens/intercom/README.md) |
322| [intercom-ux-reference-slack-mattermost-v1.md](intercom-ux-reference-slack-mattermost-v1.md) | Границы Slack/MM, flat feed, `/attach`, клик → рамка |
323| [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md) | Токены оболочки вокруг Skia-ленты |
324
325**Сквозные UX-развилки** (фиксировать в макете, не смешивать):
326
327| Развилка | Дизайн по умолчанию |
328|----------|---------------------|
329| Attach vs `/editor line` vs `/file open` | Разные slash и chip; см. hub **D4–D6** |
330| Клик по chip в ленте | Open + scroll + **рамка**; Shift → selection |
331| `@` vs `[path]` vs `/attach` | Люди vs inline-якорь vs slash с autocomplete |
332| Палитра / Chord / slash | Один `command_id`, три affordance — §2.6 |
333
334| Тема (ADR-указатель) | ADR |
335|----------------------|-----|
336| Канал, multi-party | [0080](../adr/0080-intercom-naming-and-multi-party-channel-model.md) |
337| Topic cards | [0072](../adr/0072-chat-topic-cards-intent-melody-keyboard-contract.md) |
338| Spine, tabs, Navigator | [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md) Proposed |
339| Slash, **attach / якоря** | [0128](../adr/0128-intercom-attachment-anchors-and-code-references.md) · [0130](../adr/0130-editor-agent-range-reveal-without-selection.md) · [0131](../adr/0131-editor-slash-select-code-by-bracket-reference.md) · [0119](../adr/0119-chat-slash-commands-intercom-surface.md), [0124](../adr/0124-slash-parametric-editor-line-commands.md)–[0125](../adr/0125-slash-workspace-file-commands-and-dynamic-completion.md) |
340| **Fenced / MD в ленте** | [0129](../adr/0129-intercom-message-body-markdown-and-fenced-code.md) · [0069](../adr/0069-markdown-preview-tool-surface-and-renderer-decoupling.md) |
341| Skia лента | [0123](../adr/0123-intercom-full-skia-surface-evolution.md), [0057](../adr/0057-chat-surface-pipeline-adoption.md) |
342| Forward fullscreen | [0120](../adr/0120-primary-work-surface-intercom-or-editor.md) Proposed |
343
344### 5.3 Команды, палитра, клавиатура
345
346| Тема | ADR / design |
347|------|----------------|
348| **Три входа** (репетиция / выступление / канал) | §2.6 handbook · [philosophy §7](cascadeide-philosophy-v1.md) |
349| Поверхность команд | [0013](../adr/0013-command-surface-and-discoverability.md) |
350| Палитра overlay | [0070](../adr/0070-command-palette-direct-overlay-surface.md) |
351| Chord stack (Ctrl+K) | [0060](../adr/0060-keyboard-chord-stack-fms-tactical-strategic.md) (§1a — слэш) |
352| Slash в composer | [0119](../adr/0119-chat-slash-commands-intercom-surface.md), [0124](../adr/0124-slash-parametric-editor-line-commands.md)–[0126](../adr/0126-intercom-inspect-slash-and-compact-chrome-status.md) |
353| Реестр команд (справочник) | [ide-command-registry-v1.md](ide-command-registry-v1.md) |
354| Intent / Melody | [intent-melody-language-v1.md](../intent-melody-language-v1.md), [ADR 0109](../adr/0109-declarative-parametric-melody-catalog-toml-and-code-binders.md) |
355
356### 5.4 Карты, графы, semantic map (PFD)
357
358| Тема | ADR |
359|------|-----|
360| Semantic map / control flow | [0053](../adr/0053-semantic-map-control-flow-pfd.md), [0113](../adr/0113-hci-semantic-map-orientation-layer.md) |
361| Рёбра графа | [0114](../adr/0114-graph-edge-relation-kind-taxonomy.md) |
362| Graph-backed surfaces | [0067](../adr/0067-graph-backed-surfaces-contract.md), [0115](../adr/0115-cds-graph-backed-shared-layer.md) |
363
364### 5.5 Агент, знания, health
365
366| Тема | ADR / design |
367|------|----------------|
368| Видимость рассуждения | [0020](../adr/0020-agent-reasoning-visibility-and-provider-limits.md) |
369| Knowledge / agent-notes | [0118](../adr/0118-agent-notes-core-2-toml-and-knowledge-path.md), [0119 multi-root](../adr/0119-agent-notes-core-2-1-multi-root-knowledge.md) |
370| IDE Health / readiness | [environment-readiness-glance-v1.md](environment-readiness-glance-v1.md), [0095](../adr/0095-workspace-solution-ide-health-stratification.md) |
371
372### 5.6 IOP и совместная работа (перспектива)
373
374| Тема | ADR |
375|------|-----|
376| IOP парадигма | [0121](../adr/0121-intent-oriented-programming-paradigm.md) |
377| Collaborative IOP / shared display | [0122](../adr/0122-collaborative-iop-environment-and-shared-situational-display.md) |
378
379---
380
381## 6. Что реализовано vs в работе vs архив
382
383| Метка | Значение для дизайна |
384|-------|----------------------|
385| **Implemented** в ADR | Можно опираться на код и [layout v1](../ui-ux/cascade-ide-ui-layout-v1.md) |
386| **Accepted / Proposed** | Направление согласовано; макет может опережать код — помечай «target state» |
387| **`docs/ui-ux/concept-*`, Power/Focus PNG** | **Архив вдохновения** — не сверять с билдом без [concept-to-implementation-map](../ui-ux/concept-to-implementation-map-v1.md) |
388| **`docs/design/*` без ADR** | Черновик или playbook; норматив — только после ADR или явной отсылки из ADR |
389
390Актуальный срез кода: [architecture/current-architecture-v1.md](../architecture/current-architecture-v1.md) (RU) / [EN](../en/architecture/current-architecture-v1.md).
391
392---
393
394## 7. Глоссарий (для общего языка с командой)
395
396**Полный словарь:** [cide-glossary-v1.md](cide-glossary-v1.md) — Intercom, SEDM, steer/follow-up, intent/context card, workline, cockpit.
397
398Краткая выжимка (legacy); новые термины — только в полном глоссарии:
399
400| Термин | Кратко |
401|--------|--------|
402| **PFD / Forward / MFD** | Три зоны внимания главного окна ([0021](../adr/0021-pfd-mfd-cockpit-attention-model.md)) |
403| **Intercom** | Канал диалога и команд в сессии, не generic chat |
404| **Habitat** | Session graph canvas в Forward — рабочая память сессии ([0172](../adr/0172-conversation-first-habitat.md)) |
405| **Workline** | Параллельная линия работы в сессии; не New Chat |
406| **Steer** | Перехват intent агента mid-run; **не** передача контроля ([0116](../adr/0116-intercom-session-tree-and-agent-message-steering.md)) |
407| **SEDM** | Цикл Perceive→Process→Perform→Evaluate; UX spine ([0174](../adr/0174-sedm-software-engineering-decision-making-ux-spine.md)) |
408| **Intent card / Context card** | T1 решение в workline / T2 Perceive для файла ([0173](../adr/0173-intercom-intent-card-session-decision-capture.md), 0174) |
409| **IOP** | Intent-Oriented Programming — дисциплина намерения и верификации |
410| **Topic / topic card** | Тема работы в сессии; карточка с summary |
411| **Spine** | Продуктовая линия «над чем работаем в целом» ([0096](../adr/0096-intercom-topic-card-summary-and-product-spine.md), [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md)) |
412| **Forward (primary work surface)** | Редактор или Intercom на всю центральную колонку |
413| **MFD page** | Страница в правой колонке (терминал, build, …) |
414| **IDS** | IDE Display System — overlay поверх workspace (палитра, модалки) ([0079](../adr/0079-ide-display-system-ids-overlay-pipeline.md)) |
415| **CDS** | Pipeline «канал → compositor → surface» для приборов кабины ([0036](../adr/0036-cds-channel-compositor-surface-pipeline.md)) |
416| **MCP** | Протокол инструментов агента внутри IDE |
417| **Melody / Chord** | Клавиатурная «мелодия» команд после Ctrl+K ([0060](../adr/0060-keyboard-chord-stack-fms-tactical-strategic.md)) |
418| **Slash / unified command line** | `/…` в composer Intercom → тот же `command_id`, что палитра/MCP ([0119](../adr/0119-chat-slash-commands-intercom-surface.md)) |
419
420---
421
422## 8. Фокус работы дизайнера (сейчас)
423
424Приоритеты согласованы с продуктом; детали — в linked ADR/playbook, не дублируем норматив здесь.
425
426### 8.1 Визуальный язык (две системы — не смешивать)
427
428**VDS (visual DoD):** [cide-vds-v1.md](cide-vds-v1.md) — проекция ADR на проверку глазами (quiet normal, surface-first); не заменяет ADR.
429
430| Система | Для чего | С чего начать |
431|---------|----------|----------------|
432| **IDE chrome** | Меню, MFD-страницы, оболочка, Intercom AXAML-рамка | [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md), `CascadeTheme.*`, [Views/UiKit/](../../Views/UiKit/) |
433| **Cockpit / deck** | Лампы, полосы, readout, annunciator, semantic map | [ADR 0064](../adr/0064-deck-primitives-visual-language-render-layer-and-palette.md), [0065](../adr/0065-instrument-categories-domain-taxonomy.md), код `Cockpit/PrimitivesKit/` |
434
435**Задача дизайнера:** единая **семантика состояний** (норма / внимание / тревога / отключено), палитра **Dark Cockpit**, типографика и плотность — отдельно для chrome и для приборов. Не «один Figma на всё подряд».
436
437### 8.2 Набор компонентов (переиспользуемые примитивы)
438
439Цель — **библиотека**, которую потом подключаем в Skia/CDS, а не разовые макеты экранов.
440
441| Кластер | Примеры | Норматив / код |
442|---------|---------|----------------|
443| **Deck-индикаторы** | Lamp, Bar, Sign, Readout, annunciator | [0063](../adr/0063-instrument-deck-named-composition-one-anchor.md), [0064](../adr/0064-deck-primitives-visual-language-render-layer-and-palette.md) |
444| **SkiaKit (IDE-плотные UI)** | Composer strip, popup list, sectioned card, mono code strip | [ADR 0117](../adr/0117-ide-skia-kit.md), `Views/SkiaKit/` |
445| **Intercom (Skia chrome + лента)** | Spine, tab bar, topic card, **message row** (flat, без balloon), status chip | [0123](../adr/0123-intercom-full-skia-surface-evolution.md), [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md) Proposed; лента — [intercom-ux-reference](intercom-ux-reference-slack-mattermost-v1.md) |
446| **Chrome-контролы** | Section, status chip, inset surface | [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md), `Views/UiKit/` |
447
448**Deliverable:** Figma (или аналог) + **именованные спецификации** (как `CascadeTheme.X` / `DeckPrimitiveKind`), экспорт референсов в `docs/ui-ux/concept-screens/`.
449
450### 8.3 Ещё важно (рядом с твоими двумя пунктами)
451
452| # | Задача | Зачем |
453|---|--------|--------|
454| 3 | **Intercom navigation v1** — spine + вкладки + navigator (target по [0127](../adr/0127-intercom-spine-and-topic-tabs-chrome-navigation.md)) | Ежедневное переключение тем без «второго мира» overview |
455| 4 | **Раскладка Flight + пресеты 1/2/3 монитора** | Wireframe и плотность зон; см. §3.1 |
456| 5 | **Состояния и оповещения** (health, EICAS, compact status) | Dark cockpit: тишина в норме, тревога по делу — [environment-readiness-glance-v1.md](environment-readiness-glance-v1.md) |
457| 6 | **Command / discoverability** | Три входа (палитра / аккорд / слэш), единый autocomplete слэша, иконки intent — [0013](../adr/0013-command-surface-and-discoverability.md), [0119](../adr/0119-chat-slash-commands-intercom-surface.md) |
458| 7 | **Темы** (светлая / тёмная / Power-циан) | Пресеты поверх одних токенов — [0086](../adr/0086-ui-theme-toml-canonical-json-mcp-wire.md) |
459
460**Не в фокусе дизайнера v1:** внутренние implementation-map, DAL/CCU, editor HUD migration — см. исключённые чертежи в `docs/design/` (не на публичном сайте).
461
462### 8.4 Порядок (предложение)
463
4641. Прочитать §2–3 handbook → согласовать словарь с командой.
4652. **IDE chrome tokens** + 1–2 эталонных экрана (MFD page + Intercom compact).
4663. **Deck primitives** (лампы/readout) для health / semantic map.
4674. **Intercom** по [intercom-design-hub](intercom-design-hub-v1.md): P0 макеты (feed, chips, reveal frame) → chrome 0127.
4685. Мультимониторные **storyboard**-ы (1/2/3 экрана) — без смены семантики зон.
469
470---
471
472## 9. Как участвовать дизайнеру
473
4741. **Согласовать scope** — какая зона (§3) и тема из §5; для новой панели — [attention-zone-panel-playbook-v1.md](attention-zone-panel-playbook-v1.md).
4752. **Макеты** — PNG/Figma-экспорт в `docs/ui-ux/concept-screens/` + строка в `concept-screens/README.md` (что это, дата, связанный ADR или issue).
4763. **Не дублировать ADR** — в handbook/макете достаточно ссылки; нормативные формулировки — в ADR после ревью с командой.
4774. **Токены** — новые цвета/отступы для chrome через [ide-chrome-tokens-v1.md](ide-chrome-tokens-v1.md), не сырые `#RRGGBB` в макете без семантического имени.
4785. **Инженерная карта** — если нужны все ADR по слоям: [adr-map-v1.md](../en/architecture/adr-map-v1.md).
479
480**Вопросы по статусу решения:** [adr-nav](../site/adr-nav/index.md) или issue в [GitHub](https://github.com/AI-Guiders/cascade-ide).
481
482---
483
484## 10. Связанные входы (не дублировать)
485
486| Документ | Роль |
487|----------|------|
488| [README design/](README.md) | Каталог `docs/design/` |
489| [ui-ux/README.md](../ui-ux/README.md) | Макеты, wireframe, локализация |
490| [ADR 0076](../adr/0076-ui-ux-principles-hub.md) | Нормативный UX-центр (сниппеты) |
491| [feature-archetype-v1.md](feature-archetype-v1.md) | Чеклист «новая фича» для дизайн+dev |
492| [adr-map-v1.md](../en/architecture/adr-map-v1.md) | ADR по темам для архитекторов |
493| [concept-overview EN](../en/concept-overview.md) | 5-минутный обзор на английском |
494
495---
496
497*Версия handbook: **v1**. Предложения по структуре — PR в `docs/design/cide-design-handbook-v1.md`.*
498
View only · write via MCP/CIDE