markdowndeeb25a2 | 1 | # ADR 0117: SkiaKit — переиспользуемые Skia-примитивы IDE |
| 2 | |
| 3 | **Статус:** Accepted · Implemented |
| 4 | **Дата:** 2026-05-17 |
| 5 | |
| 6 | ## Связанные ADR |
| 7 | |
| 8 | | ADR | Роль | |
| 9 | |-----|------| |
| 10 | | [0055](0055-skia-instrument-composition-pipeline.md) | Pipeline инструментов кабины (не смешивать с SkiaKit) | |
| 11 | | [0057](0057-chat-surface-pipeline-adoption.md) | Первый consumer — chat surface | |
| 12 | | [0064](0064-deck-primitives-visual-language-render-layer-and-palette.md) | PrimitivesKit кабины vs IDE | |
| 13 | | [0067](0067-graph-backed-surfaces-contract.md) | Graph-backed surfaces — целевые consumers | |
| 14 | |
| 15 | ## Решение |
| 16 | |
| 17 | Ввести каталог **`Views/SkiaKit/`** — библиотека отрисовки примитивов для IDE-Skia surfaces (аналог `Views/UiKit/` для Avalonia). |
| 18 | |
| 19 | - `SkiaSectionedCard` — карточка с отсеками (подпись + разделитель + строки). |
| 20 | - `SkiaTileGridLayout` — сетка плиток. |
| 21 | - `SkiaKitThemeBridge` — CascadeTheme → `SkiaKitPaintTheme`. |
| 22 | - `SkiaTextLayout` — перенос строк. |
| 23 | |
| 24 | Фичи (чат, semantic map cards, …) **собирают сцену** из kit; домен и pipeline stages остаются в Features/Services. |
| 25 | |
| 26 | **Граница:** SkiaKit не импортирует ViewModels, navigation pipeline stages, Cockpit PrimitivesKit. |
| 27 | |
| 28 | ## Код |
| 29 | |
| 30 | `Views/SkiaKit/README.md` |
| 31 | |
View only · write via MCP/CIDE