- CLAUDE.md with collaboration rules and Planner/Generator/Evaluator cycle - .claude/ agents, commands, skills, hooks per Claude Code conventions - Sprint Contracts for sut-prober, normalizer, recorder, player, diff-reporter - SUT catalog (EG-BIM Modeler, 187 plugins) and .gitignore excluding SUT tree - PROGRESS.md / PLAN.md as shared agent handoff state - Solution scaffold targeting sut-prober PoC Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
3.9 KiB
3.9 KiB
SUT Catalog (v0, 정적 분석)
수동 관찰 기반 초기 카탈로그.
sut-proberPoC 완료 시 기계 생성 파일로 교체된다. 마지막 갱신: 2026-04-07
개요
- 이름: EG-BIM Modeler
- 위치:
EG-BIM Modeler/(git 제외) - 실행파일:
EG-BIM Modeler.exe(.NET / WPF) - 구성:
.deps.json,.runtimeconfig.json,.pdb동봉
핵심 어셈블리
| 이름 | 역할 | PDB |
|---|---|---|
HmEG.dll |
자체 3D 엔진 | ✅ (HmEG.pdb, HmEG.xml) |
HmGeometry.dll / HmGeometry.V2.dll |
지오메트리 커널 | ✅ |
HmTriangle.dll |
삼각분할 | ✅ |
HmPG.dll |
(추정) 페러미터 그래프/프로파일 | - |
HmCommonUI.dll, HmCommonBridge.dll |
공통 UI / 네이티브 브릿지 | - |
Editor02.HmEGAppManager.dll |
앱 생명주기 / plugin 매니저 (MEF 로드 추정) | ✅ |
Editor03.PluginInterface.dll |
Plugin 기본 계약 | ✅ |
Editor04.CommandControl.dll |
명령 파이프라인 UI | ✅ |
Editor05.CommandCore.dll |
명령 실행 코어 | ✅ |
Editor06.CommandCustom.dll |
커스텀 명령 | ✅ |
Editor07.WidgetPluginInterface.dll |
위젯 플러그인 계약 | ✅ |
EditorCore.dll |
Editor 코어 | ✅ |
Editor01.Localization.dll |
다국어 | ✅ |
Editor.AI01.HttpConnector.dll |
AI 연동 | ✅ |
렌더링
- SharpDX (D3D9/D3D11/DXGI/Direct2D, Mathematics, D3DCompiler)
- 3D 뷰포트는 D3D surface → UIA 사각지대
assimp.dll/AssimpNet.dll→ 메시 임포트freetype6.dll,SharpFont.dll→ 폰트SharpVectors.*→ SVG 지원
UI 스택
MahApps.Metro,ControlzEx,DragablzCommunityToolkit.MvvmMicrosoft.Xaml.Behaviors,System.Windows.InteractivitySystem.Windows.Controls.WpfPropertyGridMicrosoft.Web.WebView2.*(WebView2 패널)
유틸/공용
Serilog+Serilog.Sinks.File,log4netNewtonsoft.Json,Google.Protobuf,MemoryPack.CoreUnitsNet,FluentScheduler,System.Reactive,Flurl.HttpBaronSoftware.Auth.dll— 인증/라이선스 추정 (레코딩 시 민감정보 주의)
Json 설정 (텍스트 golden-file 1차 타깃)
EG-BIM Modeler/Json/:
Settings.json,DefaultSettings.jsonCategoryCommands.json,DefaultCategoryCommands.jsonCommandAlias.json,DefaultCommandAlias.jsonKeyShortCut.json,DefaultKeyShortCut.jsonMouseSnap.json,DefaultMouseSnap.jsonStartupCommand.json,DefaultStartupCommand.jsonUnits.json,DefaultUnits.jsonMaterials.jsonRecentFiles.json— 확실히 비결정적 (최근 사용 파일 경로)
비결정성 후보 필드 (정규화 대상)
RecentFiles.json전체- 모든
Settings.json내부의 경로·창 크기·마지막 실행 시간 - GUID·타임스탬프 (포맷 확인 필요)
저장 파일 포맷
lmd.hme— 자체 모델 포맷 (.hme)jversion.egm— 버전/메타 파일- 바이너리 추정 — 별도 포맷 분석 contract 필요
로컬라이제이션
ko-KR,en-US,ja-JP,es-ES리소스 폴더Editor01.Localization.dll경유
MEF Plugin
- 위치:
EG-BIM Modeler/Plugins/Eg*Plugin/ - 총 187개 (2026-04-07 스냅샷)
- 카테고리: 생성(Box, Circle, Arc, Curve, Cone, Cylinder …), Boolean(Union/Intersection/Difference), Array(Linear/Polar/Crv), Align, Check(Border/Disjointed/Duplicated/NonManifold/Self-Intersection/Overlap/ZeroArea/ZeroCurve), Audit, Block(Edit), Chamfer, Clash, Cap, Cut, DeleteFaces, Import/Export 등
- 전체 목록: plugins.md
recordingtest 영향 요약
- 1차 검증 타깃:
Json/텍스트 파일 (정규화 쉬움) - 2차:
.hme/.egm파서 필요 - 3D 뷰포트: 좌표 입력 + engine-bridge
- Plugin 카탈로그: sut-prober 자동 덤프
- PDB 풍부 → engine-bridge 리플렉션 비용 낮음
- 인증/라이선스: 자동화 테스트 환경에서 로그인 상태 유지/마스킹 필요