From d6a129b0d156ac1562b2ef4d2b256f80d9e60f78 Mon Sep 17 00:00:00 2001 From: Shahovalov MIkhail Date: Wed, 27 May 2026 17:32:22 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20handoff=20=E2=80=94=20=D0=BE=D1=81?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BD=D0=B0=D1=8F=20=D0=BD=D0=B0=D0=B4=D0=BF?= =?UTF-8?q?=D0=B8=D1=81=D1=8C=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=D0=B0=20(?= =?UTF-8?q?=D0=B8=D0=BD=D0=BA=D1=80=D0=B5=D0=BC=D0=B5=D0=BD=D1=82=202=20?= =?UTF-8?q?=D1=87=D0=B5=D1=80=D1=82=D0=B5=D0=B6=D0=B0);=20=D1=81=D0=BB?= =?UTF-8?q?=D0=B5=D0=B4=D1=83=D1=8E=D1=89=D0=B5=D0=B5=20=E2=80=94=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B7=D0=BC=D0=B5=D1=80=D1=8B=20=D0=BD=D0=B0=20=D0=B2?= =?UTF-8?q?=D0=B8=D0=B4=D0=B0=D1=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Opus 4.7 (1M context) --- docs/superpowers/NEXT-SESSION.md | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index 360a105..d675f39 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -14,7 +14,12 @@ затем ЧЕРТЁЖ. ## Текущее состояние (main, синхронизирован с origin) -- 73 MCP-инструмента, 177 тестов зелёных (116 unit + 61 integration). +- 74 MCP-инструмента, 188 тестов зелёных (123 unit + 65 integration). +- **ВЕХА 2D-ЧЕРТЁЖ: 2 инкремента готовы.** (1) `drawing_create_standard_views` — стандартные виды + (спереди/сверху/слева). (2) `drawing_fill_title_block(designation?, name?, material?)` — основная + надпись: графы обозначение(2)/наименование(1)/материал(3) через `LayoutSheets.ItemByNumber[1]. + Stamp.Text[id].Str` + `Update()` (API7). `Str` замещает (Clear не нужен). Память: `kompas-drawing-api7`. + **СЛЕДУЮЩЕЕ — инкремент 3: размеры/обозначения на видах** (нужен спайк по размерным интерфейсам). - **ВЕХА 2 (2D-ЧЕРТЁЖ) НАЧАТА:** `drawing_create_standard_views(partFilePath, scale, x, y)` СДЕЛАН (инкремент 1) — стандартные ассоциативные виды (спереди/сверху/слева) детали/сборки на активном чертеже (API7, `DrawingService`, namespace `Kompas.Mcp.Core.Drawings`). Workflow: @@ -107,11 +112,14 @@ FirstLevel=false)` (мировые координаты с учётом placemen (спереди/сверху/слева) детали/сборки на чертеже. `AddStandartViews(path, "#Спереди", object[]{1,3,5}, x, y, scale, 20, 20)`; проверено `created==3` + непустота. Память: `kompas-drawing-api7`. -2. **СЛЕДУЮЩЕЕ:** оформление чертежа — размеры/обозначения на видах (линейные/диаметральные), - рамка/основная надпись. Точки входа: отдельный вид `IViews.Add(LtViewType)`; геометрия/размеры — - через контейнер вида (`IDrawingContainer`/`LineSegments`/`Circles`/размерные интерфейсы 2D-API). - **Сначала рефлексия + `kompas-sdk-research`** по интерфейсам простановки размеров на чертеже - (возможны тонкости, сделай спайк до спека). Тест — число объектов/размеров на виде. +2. ✅ **СДЕЛАНО:** `drawing_fill_title_block(designation?, name?, material?)` — основная надпись + (штамп). `LayoutSheets.ItemByNumber[1].Stamp.Text[id].Str` + `Update()`. Память `kompas-drawing-api7`. +3. **СЛЕДУЮЩЕЕ:** размеры/обозначения на видах (линейные/диаметральные). Точки входа: контейнер вида + (`IDrawingContainer`) → размерные интерфейсы `ILineDimension`/`IDiametralDimension`/`IRadialDimension`/ + `IAngleDimension` (есть в interop, подтверждено рефлексией). **Сначала рефлексия + `kompas-sdk-research` + + спайк ДО спека** (привязка размера к геометрии вида, координаты внутри вида — реальная + неопределённость). Тест — `IView.ObjectCount` вырос / размер существует. Альтернатива: рамка/формат + листа (`ILayoutSheet.Format`/`SheetFormat`) — проще, но менее ценно, чем размеры. Тонкости: чертёж проверяется не объёмом, а числом видов/объектов; ассоциативные виды требуют сохранённого `.m3d`/`.a3d`-файла. Коды видов `ksRelativeProjectionTypeEnum`: `ksPtFront=1`,