| 1 | # ADR 0024: Скины оформления (skin bundles) — отложено |
| 2 | |
| 3 | **Статус:** Deferred |
| 4 | **Дата:** 2026-04-11 |
| 5 | |
| 6 | ## Связанные ADR |
| 7 | |
| 8 | | ADR | Роль | |
| 9 | |-----|------| |
| 10 | | [0021](0021-pfd-mfd-cockpit-attention-model.md) | модель внимания, Dark Cockpit, пресеты зон | |
| 11 | | [0010](0010-ui-modes-toml-configuration.md) | режимы UI и TOML | |
| 12 | |
| 13 | ### Снимок реализации |
| 14 | |
| 15 | | Элемент | Значение | |
| 16 | |---------|----------| |
| 17 | | — | идея зафиксирована; контракт, загрузка и поддержка — при отдельной продуктовой инициативе | |
| 18 | |
| 19 | ## Резюме |
| 20 | |
| 21 | - **CascadeIDE SDK** — стабильные контракты для внутреннего расширения и будущих плагинов. |
| 22 | - Версионирование публичных API; граница с «всё internal». |
| 23 | - Связь с зонами внимания — [0025](0025-sdk-attention-zones-and-capabilities.md). |
| 24 | |
| 25 | --- |
| 26 | ## Контекст |
| 27 | |
| 28 | Оформление сейчас задаётся **темами** (JSON/ресурсы приложения) и **пресетами** режимов (`UiModes/*.toml`). Идея **скинов** в духе классических плееров (например WinAMP): пакет, который задаёт не только палитру, но и **характер оболочки** — плотность, декоративный хром, опционально иные **визуальные** варианты компоновки **в рамках тех же семантических якорей**; в перспективе — обмен пользовательскими пакетами. |
| 29 | |
| 30 | У **открытого** продукта это может быть **дифференциатором**: полноценных IDE с такой механикой мало. При этом ожидание поддержки: **код IDE доступен** — автор скина и сообщество могут разбирать контракт и чинить свой пакет; штатная команда фиксирует **инварианты** ([0021](0021-pfd-mfd-cockpit-attention-model.md), загрузчик тем/пресетов), а не обязуется сопровождать каждый сторонний скин как коммерческий продукт. |
| 31 | |
| 32 | --- |
| 33 | |
| 34 | ## Решение |
| 35 | |
| 36 | 1. **Сейчас не реализуем** — отдельная механика установки, версионирования и поддержки скинов вне текущего объёма. |
| 37 | 2. **Когда/если** будем вводить: скин описывается как **бандл** с **манифестом** (версия схемы, ссылка на базовую тему, опциональные overrides метрик/слотов оформления), согласованный с загрузчиком тем и пресетов. |
| 38 | 3. Скин влияет на **визуальную и плотностную** подачу; **не** подменяет политику внимания: инварианты **Dark Cockpit**, канала EICAS/CAS и приоритетов W/C/A ([0021](0021-pfd-mfd-cockpit-attention-model.md) §5–§6) **не** отключаются «ради красоты». |
| 39 | 4. **Семантика зон** (PFD / MFD / лобовое / каналы) остаётся на уровне продукта и пресетов; скин не вводит произвольных новых «ролей» без прохождения модели [0021](0021-pfd-mfd-cockpit-attention-model.md). |
| 40 | |
| 41 | --- |
| 42 | |
| 43 | ## Последствия |
| 44 | |
| 45 | - Новые фичи интерфейса по-прежнему проектируются и тестируются на **дефолтной теме** и встроенных пресетах; скин — надстройка. |
| 46 | - При появлении сторонних скинов понадобятся критерии **доступности**, читаемости и предсказуемости escalation (§6). |
| 47 | - Для **community-скинов** при открытом репозитории основная линия поддержки — **документированный контракт + исходники**; разбор и правки на стороне автора/сообщества снижают ожидание «почините мой пакет из коробки» на уровне коммерческого SLA. |
| 48 | |
| 49 | --- |
| 50 | |
| 51 | ## Открыто |
| 52 | |
| 53 | - Формат манифеста, подпись/доверие к пакетам, песочница для community-скинов. |
| 54 | - Ограничения Avalonia и объём поддерживаемой кастомизации без раздувания QA. |
| 55 | |