50 инструментов, 78 тестов (47 unit + 31 integration). Пакет A «богаче
эскизы» отмечен выполненным; следующие — B (формообразующие) / C (массивы).
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Новый слой «модель как данные» (приоритетный над model_snapshot):
- describe_model — структурный «паспорт» детали одним вызовом (габарит,
МЦХ, тела, сводка топологии, дерево построения с параметрами, переменные)
- list_features / list_bodies / list_variables
- describe_face / describe_edge (drill-down по индексу)
- measure (расстояние/угол между гранями/рёбрами/вершинами)
- model_snapshot понижен до fallback для визуально-пространственных вопросов
Реализация: ModelInspectionService (COM) + чистый InspectionText (рендер,
группировка, детект «импорт без истории») + record-модели; InspectionTools.
Дерево читается через ksPart.GetFeature()->SubFeatureCollection; точный тип
и параметры операций берутся из GetObject()->GetDefinition() (ksFeature.type
отдаёт лишь coarse o3d_entity).
Снимок дерева также включает слои conversion (STEP), editing (move_face/solid)
и validation, развивавшиеся параллельно. Полный прогон: 61 тест зелёный,
43 MCP-инструмента. Документация (README, ARCHITECTURE, OPEN_QUESTIONS,
CLAUDE.md, presentation.html) синхронизирована.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
feat(query): перечисление рёбер + скругление/фаска по индексу
QueryService.ListEdgesAsync: обход EntityCollection(o3d_edge), для каждого ребра —
индекс, тип кривой (line/circle/arc/ellipse/nurbs через ksEdgeDefinition.Is*) и длина
(GetLength, мм). Запись EdgeInfo. Новый инструмент list_edges.
PartModeler: выделены ядра CreateFillet/CreateChamfer и хелпер SelectEdgeByIndex;
добавлены FilletEdgeIndexAsync/ChamferEdgeIndexAsync. Новые инструменты
fillet_edge_index, chamfer_edge_index — выбор ребра по индексу (надёжнее точки).
Тест List_edges_and_fillet_by_index: цилиндр → 2 круговых ребра ≈62.83 мм →
скругление ребра по индексу → объём уменьшается. Итого 31 инструмент, 19 тестов.
Документация синхронизирована через навык docs-delegate (Sonnet).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
feat(skills): навык kompas-sdk-research + перенос kdoc.py в навык
Новый навык kompas-sdk-research делегирует поиск/чтение офлайн-справки КОМПАС SDK
субагенту Sonnet (экономит контекст Opus на 26k страниц WebHelp).
Навигатор kdoc.py перенесён tools/ → .claude/skills/kompas-sdk-research/ как часть навыка;
добавлен автопоиск каталога справки (вверх от CWD/скрипта или через KDOC_DIR),
чтобы скрипт работал из любой точки. Индекс остаётся в docs/kompas_sdk_index.tsv.
Ссылки обновлены в CLAUDE.md, README, ARCHITECTURE, presentation, .gitignore.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@
- README.md: требования, сборка/запуск, конфиг MCP-клиента, инструменты, тесты
- CLAUDE.md: раздел Current state переписан под реализованный v1 + команды + ключевые факты
- presentation.html: статус/прогресс (72%), TODO (фундамент и инструменты — готово), roadmap v1 ✓
- 12 тестов зелёные (5 unit + 7 integration)
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>