diff --git a/docs/superpowers/NEXT-SESSION.md b/docs/superpowers/NEXT-SESSION.md index 8c6622b..0f50284 100644 --- a/docs/superpowers/NEXT-SESSION.md +++ b/docs/superpowers/NEXT-SESSION.md @@ -9,21 +9,26 @@ КОМПАС-3D должен быть запущен (нужен для интеграционных тестов). ## Текущее состояние (main, синхронизирован с origin) -- 58 MCP-инструментов, 89 тестов зелёных (53 unit + 36 integration). +- 62 MCP-инструмента, 101 тест зелёных (60 unit + 41 integration). - Пакет A «богаче эскизы» — готов (дуга×2, эллипс, ломаная, многоугольник, сплайн, точка). - Пакет B «формообразующие» — основная часть готова: shell, rib, sweep, loft. +- Пакет C «массивы и зеркало» — ГОТОВ: `linear_pattern`, `circular_pattern`, + `mirror_operation`, `mirror_body`. Источник копирования — id операций из реестра `_features` + (хелпер `RequireFeature`); оси — `CoordinateAxis`/`CoordinateAxes` (`Core/Modeling`). - Пакет E начат: смещённая плоскость (`sketch_create_on_offset_plane`). - `PartModeler` разбит на partial: `PartModeler.cs` (ядро + helpers `SelectFaceByIndex`/ - `SelectEdgeByIndex` + `NewParam`), `.Sketch.cs` (эскизы/примитивы), `.Features.cs` (операции). + `SelectEdgeByIndex` + `RequireFeature` + `NewParam`), `.Sketch.cs` (эскизы/примитивы), + `.Features.cs` (операции, включая массивы/зеркало). - Чистые маппинги/валидация — в `SketchGeometry` (Core/Modeling); тип точки — `SketchPoint` (Host). -- Прочитай память: `kompas-formative-features-api5` (что есть/нет definition в API5). +- Прочитай память: `kompas-formative-features-api5` (definition в API5), + `kompas-pattern-mirror-api5` (пакет C: count вкл. оригинал, circular свойствами, ChooseBodies нерабочий). ## Задача этой сессии (по приоритету) -1. Пакет C «массивы и зеркало»: линейный массив, круговой массив, зеркальное отражение - операции/тела. Самый ценный недостающий класс. -2. `hole` — отверстие (исследовать `ksHoleDefinition` / `o3d_*hole*`). -3. `draft` (уклон) — ТОЛЬКО если найдёшь способ через API7 (в API5 `ksDraftDefinition` НЕТ, +1. `hole` — отверстие (исследовать `ksHoleDefinition` / `o3d_*hole*` — есть ли definition в API5). +2. `draft` (уклон) — ТОЛЬКО если найдёшь способ через API7 (в API5 `ksDraftDefinition` НЕТ, только `o3d_DraftFromEdges=644` без интерфейса — см. память). +3. Расширения пакета C при необходимости: 2D-сетка линейного массива, выбор оси по ребру, + массив вдоль кривой (`o3d_curveCopy=37`). Бери по одной операции за инкремент, доводи до зелёного и merge+push, потом следующую. Не пытайся сделать весь пакет одним заходом — инкремент надёжнее.