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, потом следующую. Не пытайся сделать весь пакет одним заходом — инкремент надёжнее.