Forge
markdowndeeb25a2
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
361. **Сейчас не реализуем** — отдельная механика установки, версионирования и поддержки скинов вне текущего объёма.
372. **Когда/если** будем вводить: скин описывается как **бандл** с **манифестом** (версия схемы, ссылка на базовую тему, опциональные overrides метрик/слотов оформления), согласованный с загрузчиком тем и пресетов.
383. Скин влияет на **визуальную и плотностную** подачу; **не** подменяет политику внимания: инварианты **Dark Cockpit**, канала EICAS/CAS и приоритетов W/C/A ([0021](0021-pfd-mfd-cockpit-attention-model.md) §5–§6) **не** отключаются «ради красоты».
394. **Семантика зон** (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
View only · write via MCP/CIDE