docs: compress CLAUDE.md, extract architecture layout to docs/architecture.md
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
45
docs/architecture.md
Normal file
45
docs/architecture.md
Normal file
@@ -0,0 +1,45 @@
|
||||
# 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 |
|
||||
Reference in New Issue
Block a user