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, загрузчик тем/пресетов), а не обязуется сопровождать каждый сторонний скин как коммерческий продукт.
Решение¶
- Сейчас не реализуем — отдельная механика установки, версионирования и поддержки скинов вне текущего объёма.
- Когда/если будем вводить: скин описывается как бандл с манифестом (версия схемы, ссылка на базовую тему, опциональные overrides метрик/слотов оформления), согласованный с загрузчиком тем и пресетов.
- Скин влияет на визуальную и плотностную подачу; не подменяет политику внимания: инварианты Dark Cockpit, канала EICAS/CAS и приоритетов W/C/A (0021 §5–§6) не отключаются «ради красоты».
- Семантика зон (PFD / MFD / лобовое / каналы) остаётся на уровне продукта и пресетов; скин не вводит произвольных новых «ролей» без прохождения модели 0021.
Последствия¶
- Новые фичи интерфейса по-прежнему проектируются и тестируются на дефолтной теме и встроенных пресетах; скин — надстройка.
- При появлении сторонних скинов понадобятся критерии доступности, читаемости и предсказуемости escalation (§6).
- Для community-скинов при открытом репозитории основная линия поддержки — документированный контракт + исходники; разбор и правки на стороне автора/сообщества снижают ожидание «почините мой пакет из коробки» на уровне коммерческого SLA.
Открыто¶
- Формат манифеста, подпись/доверие к пакетам, песочница для community-скинов.
- Ограничения Avalonia и объём поддерживаемой кастомизации без раздувания QA.