TechViz examples
이 폴더에는 서로 다른 목적의 두 예제 계층이 있습니다.
1. 사람이 검토한 diagram-only 목표 fixture
| Fixture | 논리 구조 | SVG |
|---|---|---|
| 01-component-flow | component-flow |
payment-event-flow.svg |
| 02-orchestrator-workers | orchestrator-workers |
mission-workers.svg |
| 03-query-fanout | query-fanout |
metrics-query-fanout.svg |
| 04-timeline | timeline |
retention-cycle.svg |
| 05-reconciliation-loop | reconciliation-loop |
declarative-vm.svg |
| 06-resource-architecture | resource-controller |
dbaas-controller.svg |
| 07-localization-pipeline | two-zone-pipeline |
localization-pipeline.svg |
| 08-sequence | sequence |
payment-approval-sequence.svg |
| 09-ports-adapters | ports-adapters |
order-ports-adapters.svg |
이 예제는 시각적 목표와 composition.json 계약을 제공합니다. 전역 제목·부제·footer·결론 띠·그라디언트·그림자는 없습니다.
2. 실제 런타임 compositor fixture
runtime-profiles/의 10개 예제는 src/techviz/layout.py와 src/techviz/renderers/svg.py가 실제 생성한 결과입니다.
runtime-profiles/<case>/
spec.json VizSpec 1.1 입력
*.svg 현재 런타임 출력
*.preview.png 검토용 raster preview
포함 profile:
component-flow
orchestrator-workers
query-fanout
timeline
reconciliation-loop
resource-controller
two-zone-pipeline
sequence
ports-adapters
comparison
정적 목표 fixture만 좋아 보이고 실제 하네스는 같은 카드 배열을 생성하는 회귀를 막기 위해, 테스트가 모든 runtime spec에 대해 다음을 실행합니다.
load → strict parse → lint → profile layout → SVG render → XML parse
재생성 및 검증
PYTHONPATH=src python examples/build_runtime_profiles.py
python examples/build_examples.py
python examples/validate_examples.py
PYTHONPATH=src python scripts/check_generated.py
PYTHONPATH=src python -m techviz audit-batch examples/runtime-profiles
audit-batch는 레이블과 id를 제거한 topology fingerprint를 사용하여 다수 예제가 하나의 템플릿으로 붕괴하는지 검사합니다.
assets/, docs/, work/는 end-to-end 결제 흐름 회귀 테스트 자료입니다.
