From 43596cb93083e07923629c3b3f14e1af2b4f27de Mon Sep 17 00:00:00 2001 From: Shahovalov MIkhail Date: Wed, 27 May 2026 11:29:22 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20handoff-=D0=BF=D1=80=D0=BE=D0=BC=D1=82?= =?UTF-8?q?=20=E2=80=94=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=20D=20=D0=BD?= =?UTF-8?q?=D0=B0=D1=87=D0=B0=D1=82=20(=D0=BF=D0=B5=D1=80=D0=B5=D0=BC?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5),=20=D1=81=D0=BB=D0=B5=D0=B4?= =?UTF-8?q?=D1=83=D1=8E=D1=89=D0=B8=D0=B9=20=D0=BF=D1=80=D0=B8=D0=BE=D1=80?= =?UTF-8?q?=D0=B8=D1=82=D0=B5=D1=82=20=D0=BF=D0=B0=D1=80=D0=B0=D0=BC=D0=B5?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=B8=D0=B5=20=D1=8D?= =?UTF-8?q?=D1=81=D0=BA=D0=B8=D0=B7=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/superpowers/NEXT-SESSION.md | 22 ++++++++++++++-------- 1 file changed, 14 insertions(+), 8 deletions(-) diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index ad0073a..e5f0f7c 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -9,7 +9,7 @@ КОМПАС-3D должен быть запущен (нужен для интеграционных тестов). ## Текущее состояние (main, синхронизирован с origin) -- 64 MCP-инструмента, 115 тестов зелёных (69 unit + 46 integration). +- 67 MCP-инструментов, 116 тестов зелёных (69 unit + 47 integration). - Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка). - Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft. - Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`, @@ -21,21 +21,27 @@ - `draft` — уклон граней ГОТОВ (через **API5** `ksInclineDefinition`/`o3d_incline=42` — операция «Incline», не «Draft»; стандартный паттерн `PartModeler.Features.cs`, регистрируется в `_features`). Эмпирика: `direction=false`=расширение, `true`=сужение → маппинг `!outward`. +- Пакет D «параметрика» НАЧАТ: переменные модели — `create_variable`, `set_variable`, + `delete_variable` (`VariableService`, API5 `ksVariable`). Создание на коллекции корневого + `ksFeature` (СВОЙСТВО `VariableCollection`); `Expression` ведущее; `RebuildModel`+re-fetch. + `list_variables` починен (видит все переменные). ОГРАНИЧЕНИЕ: переменные драйвят геометрию лишь + в параметрических эскизах (у нас эскизы на литералах — пока не драйвят). - Пакет E начат: смещённая плоскость (`sketch_create_on_offset_plane`). - `PartModeler` разбит на partial: `PartModeler.cs` (ядро + helpers `SelectFaceByIndex`/ `SelectEdgeByIndex` + `RequireFeature` + `NewParam`), `.Sketch.cs` (эскизы/примитивы), - `.Features.cs` (операции, включая массивы/зеркало). + `.Features.cs` (операции, включая массивы/зеркало/уклон). API7-сервисы: `HoleService`, `FaceEditService`. - Чистые маппинги/валидация — в `SketchGeometry` (Core/Modeling); тип точки — `SketchPoint` (Host). - Прочитай память: `kompas-formative-features-api5` (definition в API5; draft=Incline есть), - `kompas-pattern-mirror-api5` (пакет C), `kompas-hole-api7` (hole: только API7, направление по объёму). + `kompas-pattern-mirror-api5` (пакет C), `kompas-hole-api7` (hole: только API7), + `kompas-variables-api5` (переменные: create на ksFeature, ограничение про геометрию). ## Задача этой сессии (по приоритету) -1. Параметрика (пакет D): запись/создание переменных модели (`list_variables` уже читает — - добавить set значения/выражения и создание через `ksVariable` API5 / `IVariable7`/`IFeature7` API7). - Самый ценный недостающий класс (связывает размеры, делает модели управляемыми). +1. **Параметрические эскизы** (завершить пакет D — даёт реальное управление геометрией): связать + размеры эскиза с именованными переменными через API2D (`ksDimension`/ограничения, + `ksSetDocVariableArray`/имя размера). Это ключ: тогда `set_variable` будет менять геометрию. + Исследовать через `kompas-sdk-research` (API2D размеров/ограничений эскиза). 2. Расширения hole: зенковка/цековка/коническое отверстие (`ksHTCounterbore=1/Countersinking=2/ - Conic=4` + параметрические подынтерфейсы `ISpotfacingHoleParameters`/`IConicHoleParameters`/…), - резьба (`ShowThread`/`IThread`). + Conic=4` + подынтерфейсы `ISpotfacingHoleParameters`/`IConicHoleParameters`/…), резьба. 3. Расширения draft: уклон от ребра (`IDraftFromEdges`, API7); нейтральная плоскость по грани. 4. Расширения пакета C: 2D-сетка линейного массива, выбор оси по ребру, массив вдоль кривой (`o3d_curveCopy=37`).