build: project skeleton (Core / Host / Tests) + MCP SDK
- src/Kompas.Mcp.Core: classlib с ссылками на interop-сборки КОМПАС - src/Kompas.Mcp.Host: console, ModelContextProtocol 1.3.0 + Hosting - tests/Kompas.Mcp.Tests: xUnit, ссылка на Core - все проекты унаследовали net8.0-windows/x64 из Directory.Build.props - docs/OPEN_QUESTIONS.md: журнал спорных решений - .gitignore: добавлен .scratch/ Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
# Открытые вопросы для проработки
|
||||
|
||||
Журнал спорных моментов и решений, принятых автономно (ночная сессия 2026-05-25/26).
|
||||
Помечено: ⚠️ = требует вашего решения; ✅ = решено по умолчанию, можно пересмотреть.
|
||||
|
||||
---
|
||||
|
||||
## ⚠️ 1. API5 vs API7 для построения 3D
|
||||
**Контекст.** Примеры SDK строят 3D через **API5** (`ksPart.NewEntity(o3d_*)` →
|
||||
`ksBossExtrusionDefinition` → `Create()`). API7 предлагает `IPart7` → `IModelContainer` →
|
||||
`IExtrusions.Add()`.
|
||||
**Решение по умолчанию (✅ в коде):** в v1 строю 3D через **API5 `ksPart`** (надёжно, повторяет
|
||||
рабочие примеры Step3d1). API7 использую для приложения/документов/версии.
|
||||
**На проработку:** переводить ли операции на чистый API7 позже (плюс — единообразие, минус — риск).
|
||||
|
||||
## ✅ 2. Точка входа подключения — API5
|
||||
Для построения 3D нужен `KompasObject` (API5), а для снимка — `ksDocument3D` (API5).
|
||||
Поэтому `KompasSession` подключается через `KOMPAS.Application.5` → `KompasObject`, затем
|
||||
`ksGetApplication7()` → `IApplication`. Держит обе ссылки. (Ранее в спайке заходили через `.7`.)
|
||||
|
||||
## ✅ 3. Состав проектов v1
|
||||
Вместо 4 проектов (Host/Tools/Core/Interop) сделано компактно: **Core** (COM + сервисы) +
|
||||
**Host** (MCP + определения инструментов) + **Tests**. Interop — вендорские DLL в `libs/`.
|
||||
Разнести на больше проектов можно позже.
|
||||
|
||||
## ✅ 4. Тестовые артефакты
|
||||
Тестовые документы КОМПАС сохраняю в `.scratch/` (gitignore). Снимки рендера — туда же,
|
||||
для визуальной проверки.
|
||||
|
||||
---
|
||||
|
||||
## Журнал решений по ходу
|
||||
(дополняется автоматически во время работы)
|
||||
Reference in New Issue
Block a user