46 lines
1.7 KiB
Markdown
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 |
|