Forge
markdowndeeb25a2
1# Editor HUD: политика баннера и inline (доп. к ADR 0085)
2
3**Статус:** продуктово-инженерный норматив (v1)
4**Дата:** 2026-04-26
5**Связь:** [0085](../adr/0085-editor-hud-inline-layer-and-hud-banner.md), [0032](../adr/0032-hud-banner-configuration-and-grammar.md), [ux roadmap editor-forward](../ui-ux/editor-forward-ui-cleanup-roadmap-v1.md), [0021](../adr/0021-pfd-mfd-cockpit-attention-model.md) §9
6
7**Цель:** не иметь **двух громких каналов** с **одной и той же** полноформенной прозой; при этом **не** отменять [0085](../adr/0085-editor-hud-inline-layer-and-hud-banner.md) (баннер — отдельное имя; inline — **Editor HUD** в узком смысле).
8
9---
10
11## Роли (напоминание)
12
13| Канал | Роль | Типичное содержимое |
14|--------|------|---------------------|
15| **Editor HUD (inline)** | Пространственная правда: *где* в файле, *что* за символ, подчёркивания, Quick Info у указателя | Squiggles, inlay (позже), hit-tested tooltip, gutter |
16| **HUD banner (file-level)** | Обзор **по файлу** и file-level сигналы, которые **не** требуют позиции каретки | Счётчики диагностик, краткая сводка, «агент / фоновая задача по этому файлу» (когда появятся) |
17| **MFD / Problems** | Список по workspace / фильтрация; навигация | Те же **классы** диагностик, иной **носитель** (см. roadmap §5) |
18
19---
20
21## Правила дублирования (v1)
22
231. **Полный текст** одной и той же диагностики **не** показывать **одновременно** в **баннере** и **inline tooltip** **и** **развёрнутой** строке MFD, если все три видны; минимум один канал — **сжатый** (счётчик / one-liner / только навигация).
242. **Баннер** — по умолчанию **счётчики** и **короткие** метки (`EditorHudBannerTextComposer`); **не** дублировать **произвольный** LSP `Message` **дословно**, если тот же текст уже в squiggle + hover для активной позиции.
253. **Inline** **первичен** для *локального* разрешения: «что не так *здесь*».
264. **Баннер** **оставляем** как канал (см. 0085 §2.2: опционален, но **не** «выкинуть продукт»): для **at-a-glance** по файлу, доступности, сценариев **без** наведения; выключение через настройки — позже [0032](../adr/0032-hud-banner-configuration-and-grammar.md), см. 0085 открытые вопросы.
275. **Quick Info** (типы, сигнатуры) **не** дублировать в баннере — **только** inline (и при необходимости отдельный popover **по политике** roadmap §6 / [0079](../adr/0079-ide-display-system-ids-overlay-pipeline.md)).
28
29---
30
31## Следующая инженерная фиксация
32
33- Явные флаги в настройках ([0032](../adr/0032-hud-banner-configuration-and-grammar.md)): `banner_diagnostics_summary` / `inline_*` (когда дозреет конфиг) — **не** в этом v1-доке.
34- При изменении разметки баннера — проверка этой политики + сценарии MFD/Forward из roadmap.
35
36---
37
38## Успех
39
40Пользователь и ревьюер могут ответить на вопрос «почему это снова в баннере, если оно в тултипе?» ссылкой на **роль** канала, а не на вкус.
41
View only · write via MCP/CIDE