Skip to content

Forward-редактор — roadmap полировки UI (v1)

Статус: чертеж / roadmap-компаньон к ADR 0103
Дата: 2026-04-26

Связь: 0021 §9, 0085, 0066, architecture-migration.md, editor-surface-candidates-comparison-v1, inline HUD inventory, banner vs inline policy

Цель: визуально согласованная зона Forward (хром документа, HUD banner, inline Editor HUD, всплывающие подсказки) и согласованные с ней поверхности MFD/Problems и т.п., не смешивая язык deck кокпита с presentation-оболочкой IDE 0066.


Roadmap (в порядке strangler)

Чекпойнт (2026-04-26): инвентаризация DockDocumentView + граница DAL/презентации — editor-hud-inline-migration-inventory-v1; политика дублирования баннер/inline — editor-hud-banner-inline-policy-v1; hover tooltip вынесен в EditorInlineHoverToolTipController (Features/Editor/.../Presentation). Обновление: squiggle/Problems sRGB в EditorHudDiagnosticsChroma + ресурсы App.axaml EditorHud.Severity*; EOL inlay для var (GetVarInlayHintsForFile + EditorInlayHintBackgroundRenderer); токен padding EditorForwardDocumentChrome. Escape снимает inline тултип.

  1. Согласовать с architecture-migration.md: при выносе editor HUD не раздувать DAL внутри view models. LSP/файлы/настройки → DAL; снимки для UI → CCU или Features/*/Application + тонкий оркестратор.

  2. Общие семантические презентеры из DockDocumentView и связанных VM: единый паттерн для hover, модели презентации diagnostics, inline hints, присутствия agent (вход стабилизованный из пайплайна 0103, не сырые события).

  3. Разделить данные и рендеринг:

  4. Данные: WorkspaceDiagnostics, полезные нагрузки LSP/Roslyn, граф навигации, будущие code actions.
  5. Презентация: banner HUD, inline hint, gutter, tooltip/popover, семантические chips (маппинг только на границе, не в DAL).

  6. Иерархия на поверхности Forward:

  7. Унифицировать хром документа, зону вкладок header, полосу banner и отступы редактора.
  8. Задать приоритет и вес для сигналов error / warn / info / agent / semantic, чтобы зона Forward не выглядела набором несвязанных оверлеев.

  9. MFD и Problems (и аналоги): тот же визуальный язык (плотность, токены цвета, иконки), что и Forward, где показывается тот же класс диагностик — избегать «технодемо»-несогласованности между squiggles в редакторе и строками списка на MFD, когда оба на экране.

  10. Tooltip и popover: единая модель взаимодействия: задержка, указатель vs клавиатура (доступность), снятие, без наложения на глобальные IDS 0079, кроме намеренной иерархии.

  11. После вертикального среза 0103: пройтись токенами отступов/типографики одним проходом (без дрейфа по фичам).


Вне объёма (этот roadmap-док)

  • Полный редизайн PFD instrument deck (см. ADR deck) — только согласованность, где Forward и MFD показывают общие семантические сигналы.
  • Аудит строк i18n — отдельно 0033.

Успех (UX)

  • Пользователь читает проблемы одного файла без конкурирующего громкого хрома; inline и banner — намеренные дубли или дополнения по 0085, а не случайность.
  • Semantic-first 0098: MFD/PFD остаются убедительным домом навигации; редактор не становится единственной «занятой» поверхностью.