Перейти к содержанию

ADR 0024: Скины оформления (skin bundles) — отложено

Статус: Deferred
Дата: 2026-04-11

Связанные ADR

ADR Роль
0021 модель внимания, Dark Cockpit, пресеты зон
0010 режимы UI и TOML

Снимок реализации

Элемент Значение
идея зафиксирована; контракт, загрузка и поддержка — при отдельной продуктовой инициативе

Резюме

  • CascadeIDE SDK — стабильные контракты для внутреннего расширения и будущих плагинов.
  • Версионирование публичных API; граница с «всё internal».
  • Связь с зонами внимания — 0025.

Контекст

Оформление сейчас задаётся темами (JSON/ресурсы приложения) и пресетами режимов (UiModes/*.toml). Идея скинов в духе классических плееров (например WinAMP): пакет, который задаёт не только палитру, но и характер оболочки — плотность, декоративный хром, опционально иные визуальные варианты компоновки в рамках тех же семантических якорей; в перспективе — обмен пользовательскими пакетами.

У открытого продукта это может быть дифференциатором: полноценных IDE с такой механикой мало. При этом ожидание поддержки: код IDE доступен — автор скина и сообщество могут разбирать контракт и чинить свой пакет; штатная команда фиксирует инварианты (0021, загрузчик тем/пресетов), а не обязуется сопровождать каждый сторонний скин как коммерческий продукт.


Решение

  1. Сейчас не реализуем — отдельная механика установки, версионирования и поддержки скинов вне текущего объёма.
  2. Когда/если будем вводить: скин описывается как бандл с манифестом (версия схемы, ссылка на базовую тему, опциональные overrides метрик/слотов оформления), согласованный с загрузчиком тем и пресетов.
  3. Скин влияет на визуальную и плотностную подачу; не подменяет политику внимания: инварианты Dark Cockpit, канала EICAS/CAS и приоритетов W/C/A (0021 §5–§6) не отключаются «ради красоты».
  4. Семантика зон (PFD / MFD / лобовое / каналы) остаётся на уровне продукта и пресетов; скин не вводит произвольных новых «ролей» без прохождения модели 0021.

Последствия

  • Новые фичи интерфейса по-прежнему проектируются и тестируются на дефолтной теме и встроенных пресетах; скин — надстройка.
  • При появлении сторонних скинов понадобятся критерии доступности, читаемости и предсказуемости escalation (§6).
  • Для community-скинов при открытом репозитории основная линия поддержки — документированный контракт + исходники; разбор и правки на стороне автора/сообщества снижают ожидание «почините мой пакет из коробки» на уровне коммерческого SLA.

Открыто

  • Формат манифеста, подпись/доверие к пакетам, песочница для community-скинов.
  • Ограничения Avalonia и объём поддерживаемой кастомизации без раздувания QA.