Files
recordingtest/docs/architecture.md
2026-04-09 16:06:47 +09:00

46 lines
1.7 KiB
Markdown

# Architecture — recordingtest 3-tier layout
## 폴더 레이아웃
```
src/
├── Recordingtest.Recorder/ # Generic
├── Recordingtest.Player/ # Generic
├── Recordingtest.Normalizer/ # Generic
├── Recordingtest.DiffReporter/ # Generic
├── Recordingtest.Runner/ # Generic
├── Recordingtest.SutProber/ # Generic
├── Recordingtest.Bridge.Abstractions/ # Generic — IEngineStateProvider, ITargetResolver
├── Recordingtest.Bridge.Client/ # Generic — HTTP sidecar 클라이언트
├── Hmeg/
│ ├── Recordingtest.Hmeg.Bridge/ # HmEG-aware — Space/Camera/Selection
│ ├── Recordingtest.Hmeg.Catalog/ # HmEG-aware — 정적 분석/후보 탐색
│ └── Recordingtest.Hmeg.Bridge.Client/# HmEG-aware — HmEgHttpSnapshot
└── Sut/
└── EgBim/
└── Recordingtest.Sut.EgBim.PluginHost/ # MEF entry, EditorPlugin 상속, HttpListener
tests/
├── Recordingtest.*.Tests/
├── Recordingtest.Architecture.Tests/ # 의존 그래프 11건 강제
├── Hmeg/Recordingtest.Hmeg.*.Tests/
└── Sut/EgBim/Recordingtest.Sut.EgBim.*.Tests/
```
## 새 SUT 추가 시
HmEG-aware 재사용. 앱마다 다른 부분만 신규 작성:
```
src/Sut/<NewApp>/
Recordingtest.Sut.<NewApp>.PluginHost/ # MEF entry
Recordingtest.Sut.<NewApp>.Adapter/ # AppManager 어댑터 (필요 시)
```
## 모듈 분류 현황 (2026-04-09)
| 모듈 | 계층 |
|---|---|
| Recorder, Player, Normalizer, DiffReporter, Runner, SutProber, Bridge.Abstractions, Bridge.Client | Generic |
| Hmeg.Bridge, Hmeg.Catalog, Hmeg.Bridge.Client | HmEG-aware |
| Sut.EgBim.PluginHost | App-specific |