Commit Graph

4 Commits

Author SHA1 Message Date
mikhail c761cba673 feat(sdk-docs): оптимизация MD-базы знаний + переход справки на неё
Оптимизация генератора docs/Kompas3D_SDK/ (build_kompas3d_sdk.py):
- слияние навигационных страниц в родителя (54 хаба, 475 интерфейсов);
  читаемые slug-имена + категория по доминирующему типу детей;
- шумоподавление: убраны артефакты «Интерфейс...», TOC-хвосты,
  breadcrumb-таблицы; синтаксис развёрнут из пайп-таблиц в плоский текст;
- слим frontmatter: sources сведён к корневой странице на группу;
- генератор самодостаточен — читает zoom_pageinfo.js напрямую,
  зависимость от kompas_sdk_index.tsv убрана.

Навык kompas-sdk-research переведён с kdoc.py/HTML на поиск по MD-базе
(Grep/Read). Удалены устаревшие скрипты: kdoc.py, convert_sdk_docs.py,
convert_sdk_to_md.py. Ссылки в CLAUDE.md/ARCHITECTURE.md/README.md/.gitignore
актуализированы.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 19:45:31 +03:00
mikhail 3452e21791 fix(tools): фильтр breadcrumb-таблиц со Scroll + fix classify_type
- _render_table(): пропускаем навигационные таблицы Help&Manual,
  где последняя колонка == "Scroll" (хлебные крошки per-section).
- classify_type(): проверяем title на "интерфейс*" до проверки суффикса
  "definition" в ключе — исправляет ksXxxDefinition → interfaces/.
- HtmlToMdExtractor: вход по id=hmpagebody_scroller (не topicbody)
  — обход бага Help&Manual с незакрытыми <a> в навигации.

Результат: 2940 статей, 161 пропущена, 0 ошибок, 45 изображений.
Синтаксис Automation/COM в code-fence, таблицы значений в MD-таблицах.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 18:50:38 +03:00
mikhail 28d2ae3868 feat(inspection): структурное «зрение» модели — осмотр без снимка
Новый слой «модель как данные» (приоритетный над 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>
2026-05-26 18:44:38 +03:00
mikhail 1644ff82e0 feat(tools): build_kompas3d_sdk.py — конвертация HTML-справки SDK в MD с группировкой по интерфейсам
- Группировка 26K HTML-страниц по COM-интерфейсному префиксу (one MD per interface)
- Пропуск KsAPI (ksapi_*.html) — используется только COM API5/API7
- YAML-фронтматтер: type, api, domain, tags, sources
- Изображения копируются файлами в resources/ (не base64), collision-safe именование
- Классификация: interface / enum / struct / guide по имени и заголовку
- Теги API-версии (api7/api5) и домена (3d, 2d, sketch, assembly, ...)
- Генерация docs/Kompas3D_SDK/index.md с TOC по 4 категориям
- Добавлен docs/Kompas3D_SDK/ в .gitignore (генерируемый артефакт)

Результат: 3080 статей, 860 интерфейсов, 392 enum, 428 структур, 1400 руководств, 25 изображений

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-26 18:13:37 +03:00