Forge
markdowndeeb25a2
1# SkiaKit (IDE)
2
3Переиспользуемые **Skia-примитивы** для IDE-surfaces: чат ([0057](../../docs/adr/0057-chat-surface-pipeline-adoption.md)), graph-backed surfaces ([0067](../../docs/adr/0067-graph-backed-surfaces-contract.md)), будущие MFD-карточки.
4
5**Не путать с:**
6
7| Слой | Путь | Назначение |
8|------|------|------------|
9| **UiKit** | `Views/UiKit/` | Avalonia-контролы (Ecam*) |
10| **PrimitivesKit** | `Cockpit/PrimitivesKit/` | Индикаторы кабины (Lamp, Bar, …) — [0064](../../docs/adr/0064-deck-primitives-visual-language-render-layer-and-palette.md) |
11| **SkiaKit** | `Views/SkiaKit/` | Отрисовка примитивов IDE на Skia (без доменной логики) |
12
13## Правила
14
15- Kit **не импортирует** Features/ViewModels/Services pipeline stages.
16- Только: `model + ISkiaKitPaintTheme + bounds → Measure/Draw`.
17- Цвета — через `SkiaKitThemeBridge.ResolveIdeSurface` или расширения (напр. `SkiaChatTheme`).
18
19## Состав
20
21- `SkiaSectionedCard` — карточка с отсеками (заголовок секции + разделитель + строки).
22- `SkiaTileGridLayout` — сетка плиток по ширине viewport.
23- `SkiaTextLayout.Wrap` — перенос строк.
24- `SkiaKitColor` / `SkiaKitThemeBridge` — мост CascadeTheme → SKColor.
25- **`Graph/`** — graph-backed surfaces ([0067](../../docs/adr/0067-graph-backed-surfaces-contract.md)):
26 - вход: `Cockpit.Graph.Layout.GraphLayoutScene` (геометрия после Layout stage);
27 - `SkiaGraphSceneDrawing` — Render (рёбра → узлы → легенда), hit-test;
28 - `SkiaGraphVisualTheme`, `GraphLayoutSceneMapper` (мост с ViewModels для binding).
29
30Фичи (`Views/Chat/Skia/`, semantic map render, …) собирают **сцену** из kit + свой layout/compositor.
31
View only · write via MCP/CIDE