From ab6370fceb2b3549f6660b0dc3da8d9fd09143a8 Mon Sep 17 00:00:00 2001 From: Shahovalov MIkhail Date: Wed, 27 May 2026 12:22:58 +0300 Subject: [PATCH] =?UTF-8?q?docs:=20handoff=20=E2=80=94=20=D1=82=D0=B8?= =?UTF-8?q?=D0=BF=D1=8B=20=D0=BE=D1=82=D0=B2=D0=B5=D1=80=D1=81=D1=82=D0=B8?= =?UTF-8?q?=D0=B9=20=D0=B7=D0=B0=D0=B2=D0=B5=D1=80=D1=88=D0=B5=D0=BD=D1=8B?= =?UTF-8?q?=20(+=D0=BA=D0=BE=D0=BD=D0=B8=D1=87=D0=B5=D1=81=D0=BA=D0=BE?= =?UTF-8?q?=D0=B5);=20=D1=81=D0=BB=D0=B5=D0=B4=D1=83=D1=8E=D1=89=D0=B5?= =?UTF-8?q?=D0=B5:=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82=20C=20=D1=80=D0=B0?= =?UTF-8?q?=D1=81=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D0=B8=D1=8F,=202D/=D1=81?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/superpowers/NEXT-SESSION.md | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index 5102a42..e31b38a 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -9,17 +9,18 @@ КОМПАС-3D должен быть запущен (нужен для интеграционных тестов). ## Текущее состояние (main, синхронизирован с origin) -- 69 MCP-инструментов, 118 тестов зелёных (69 unit + 49 integration). +- 70 MCP-инструментов, 119 тестов зелёных (69 unit + 50 integration). - Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка). - Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft. - Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`, `mirror_operation`, `mirror_body`. Источник копирования — id операций из реестра `_features` (хелпер `RequireFeature`); оси — `CoordinateAxis`/`CoordinateAxes` (`Core/Modeling`). - `hole` — отверстия ГОТОВЫ (через **API7**, в API5 определения нет): `HoleService` - (`Core/Modeling/HoleService.cs`). Типы: простое цилиндрическое (`hole`), с цековкой - (`hole_counterbore`, `ksHTCounterbore`), с зенковкой (`hole_countersink`, `ksHTCountersinking`). - `HoleCore` рефакторен под `configure`-колбэк (`HoleParameters` после `HoleType`). Прецедент: - первая формообразующая на API7. Направление в тело — по убыли объёма. + (`Core/Modeling/HoleService.cs`). Все типы: простое (`hole`), цековка (`hole_counterbore`, + `ksHTCounterbore`), зенковка (`hole_countersink`, `ksHTCountersinking`), коническое + (`hole_conic`, `ksHTConic`). `HoleCore` рефакторен под `configure`-колбэк (`HoleParameters` + после `HoleType`). Прецедент: первая формообразующая на API7. Направление в тело — по убыли + объёма. Ещё не сделано: резьба (`ShowThread`/`IThread`) — трудно тестировать (нет Δобъёма). - `draft` — уклон граней ГОТОВ (через **API5** `ksInclineDefinition`/`o3d_incline=42` — операция «Incline», не «Draft»; стандартный паттерн `PartModeler.Features.cs`, регистрируется в `_features`). Эмпирика: `direction=false`=расширение, `true`=сужение → маппинг `!outward`. @@ -45,13 +46,17 @@ ограничена CRUD переменных (готово). НЕ тратить время на этот путь повторно. ## Задача следующей сессии (по приоритету) -1. Завершить типы отверстий: **коническое** (`hole_conic`, `ksHTConic=4` + `IConicHoleParameters`: - ConicDiameter/ConicAngle) — тот же `HoleCore`-паттерн. Резьба (`ShowThread`/`IThread`) — сложно - тестировать (нет изменения объёма), низкий приоритет. +1. Расширения пакета C: **2D-сетка линейного массива** (2-я ось у `ksMeshCopyDefinition` — + `SetAxis2`+`count2`), выбор оси массива/нейтральной плоскости по ребру/грани, массив вдоль + кривой (`o3d_curveCopy=37`/`ksCurveCopyDefinition`). Низкий риск (паттерн пакета C известен). 2. Расширения draft: уклон от ребра (`IDraftFromEdges`, API7); нейтральная плоскость по грани. -3. Расширения пакета C: 2D-сетка линейного массива (2-я ось у `ksMeshCopyDefinition`), выбор оси - массива по ребру, массив вдоль кривой (`o3d_curveCopy=37`/`ksCurveCopyDefinition`). -4. 2D-чертёж / сборки — крупные отдельные направления (новая большая веха). +3. **2D-чертёж** / **сборки** — крупные отдельные вехи (ассоциативные виды детали; вставка + компонентов, сопряжения). Самый ценный нереализованный класс после геометрии детали. +4. Резьба отверстия (`ShowThread`/`IThread`) — мелочь, трудно тестировать. + +Типы отверстий завершены (простое/цековка/зенковка/коническое). Параметрика — CRUD переменных +(управление геометрией недостижимо, см. findings). Деталь как класс операций близка к насыщению — +дальше логично 2D-чертёж и сборки. Бери по одной операции за инкремент, доводи до зелёного и merge+push, потом следующую. Не пытайся сделать весь пакет одним заходом — инкремент надёжнее.