Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 47 additions & 1 deletion docs/제출용/종합설계/4월27일_발표대본.md
Original file line number Diff line number Diff line change
Expand Up @@ -152,4 +152,50 @@ Visual Studio 2022로 개발과 디버깅을 진행합니다.
공간추론이 잘못되면 정상 공간도 단절된 공간으로 판정이 될수 있습니다. 그렇기 때문에 예제 도면으로 잘 검증해봐야합니다,

세번째는 일정에 관한 문제입니다.
UI구현이 지연되면 다른 기능들이 잘작동되는지 눈으로 확인하기 어렵기 때문에, 필요한 최소한의 UI를 우선적으로 구현해야합니다.
UI구현이 지연되면 다른 기능들이 잘작동되는지 눈으로 확인하기 어렵기 때문에, 필요한 최소한의 UI를 우선적으로 구현해야합니다.

---

## 슬라이드 15. CoreFlow - 도면 import, 검토 승인 게이팅

첫 번째 코어 플로우는 도면을 가져와 실행 가능한 레이아웃으로 만드는 과정입니다.
사용자가 도면 파일을 선택하면, Application의 Import Workflow UI가 Domain의 ImportOrchestrator로 importFile(ImportRequest)를 요청합니다.

ImportOrchestrator는 포맷에 따라 Dxf/Ifc Import Service를 호출해서 원본을 파싱하고 RawImportModel을 만든 뒤, GeometryNormalizer로 CanonicalGeometry까지 정규화합니다.
그 다음 FacilityLayoutBuilder가 시뮬레이션에 쓰기 좋은 FacilityLayout2D를 만들고, ImportValidationService가 출구 누락, 연결 단절, 최소 폭 미달 같은 경고/차단 이슈를 검증합니다.

마지막으로 Domain은 ImportResult(layout, issues, traceRefs, reviewStatus)를 Application에 반환하고, UI는 ImportResult의 readyForSimulation() 판단 결과를 보여주면서 실행 불가상태에서는 Run을 비활성화합니다.
단순히 ‘불러오기’에서 끝나지 않고 검토 가능한 결과와 실행 가능 여부까지 한 흐름으로 닫는 구조로 이루어져 있습니다.

---

## 슬라이드 16. CoreFlow - 시나리오 작성, 시뮬레이션 실행, 결과 집계-저장

두 번째 코어 플로우는 시나리오를 만들고 실행한 뒤, 결과를 저장해 분석까지 이어지는 흐름입니다.
사용자가 baseline/alternative를 입력하면 Application이 Domain의 ScenarioDefinition/Variation을 updateScenario(inputs)로 갱신합니다. 그리고 Batch 실행을 누르면 runBatch(scenario family)가 ScenarioBatchRunner로 들어갑니다.

이후에는 variation과 run이 반복됩니다. SimulationSession이 startRun(variation, runIndex)로 각 실행을 시작하고, Engine의 EngineRuntime을 initialize(config, resources)로 초기화한 뒤, play()로 실행합니다.
프레임 루프에서는 stepFrame(deltaSeconds)이 돌고, Engine 내부에서 FrameClock/SystemScheduler가 tick()으로 시스템을 실행해 상태를 갱신합니다.

run이 끝나면 Domain의 ResultAggregator가 aggregateRun()을 수행하고, 결과는 ResultRepository에 RunResult → VariationSummary → (조건 충족 시) ScenarioComparison/CumulativeArtifact 순으로 저장됩니다.
정리하면, Application은 UI에 집중하고 Domain이 실행/결과를 조정하며 Engine은 실행 코어에 집중하고, 최종 결과는 persisted artifact로 남겨 분석·비교·추천으로 이어지게 합니다.

---

## 슬라이드 17. 완료 기준

이 슬라이드는 이번 스프린트의 완료 기준을 정리한 내용입니다.

첫 번째는 단위 테스트입니다.
도면 불러오기, 공간 구조 생성, 구조 검토와 같은 핵심 로직이 테스트를 통과해야 기본 기능이 안정적으로 동작한다고 볼 수 있습니다.

두 번째는 도면 검토 기능입니다.
샘플 DXF 도면에서 출구 누락, 연결 단절, 폭 부족 같은 주요 문제를 시스템이 경고로 식별할 수 있어야 합니다.

세 번째는 실행 가능입니다.
샘플 도면을 불러온 뒤 기본 시뮬레이션이 실제로 실행되어야 합니다.

마지막은 시연 가능입니다.
정상 도면과 문제 도면을 각각 활용해서, 불러오기부터 검토, 실행, 결과 확인까지의 전체 흐름을 재현할 수 있어야 합니다.

---
Loading