Summary
Fire/Smoke hazard를 v2 simulation interaction의 입력 기반으로 추가합니다. 이 이슈는 authoring/data/persistence/diff까지만 담당하고 runtime movement/result behavior는 #222에서 처리합니다.
Parent Issue
#218
Area
Domain / Application
Target Sprint
Sprint 3
Scope
EnvironmentState에 Fire/Smoke hazard draft 모델을 추가합니다.
- Fire/Smoke kind, severity, affected zone/floor, position, active interval, note를 저장합니다.
- workspace JSON 저장/로드에 hazard 목록을 포함합니다.
- 기존 JSON에 hazards가 없어도 빈 목록으로 호환 로드합니다.
- scenario diff에서
environment.hazards 변경을 감지합니다.
- Scenario Authoring UI에서 hazard 추가, 편집, 삭제와 canvas marker 표시를 제공합니다.
- runtime movement/result effect는 이 이슈에 포함하지 않고 #222에서 처리합니다.
Acceptance Criteria
- Fire/Smoke hazard를 시나리오에 추가, 편집, 삭제할 수 있습니다.
- 저장 후 다시 불러와도 hazard 목록과 필드 값이 유지됩니다.
- baseline 대비 hazard 변경 시 variation diff에
environment.hazards가 표시됩니다.
- UI copy는 hazard가 v2 simulation input임을 드러냅니다.
- hazard authoring 자체는 runtime movement/result effect를 만들지 않습니다.
Architecture / Dependency Check
- domain 입력 계약은
src/domain의 scenario authoring model에 둡니다.
- application은 domain 모델을 authoring UI와 persistence에 연결합니다.
- domain에는 Qt 의존성을 추가하지 않습니다.
- engine에는 hazard 관련 의존성이나 물리 시스템을 추가하지 않습니다.
Verification Plan
cmake --build --preset build-no-app-debug
ctest --preset test-no-app-debug
- UI 변경이 포함되므로 가능하면
cmake --build --preset build-debug
- 가능하면
ctest --preset test-debug
Dependencies / Blockers
Repository Checks
Summary
Fire/Smoke hazard를 v2 simulation interaction의 입력 기반으로 추가합니다. 이 이슈는 authoring/data/persistence/diff까지만 담당하고 runtime movement/result behavior는 #222에서 처리합니다.
Parent Issue
#218
Area
Domain / Application
Target Sprint
Sprint 3
Scope
EnvironmentState에 Fire/Smoke hazard draft 모델을 추가합니다.environment.hazards변경을 감지합니다.Acceptance Criteria
environment.hazards가 표시됩니다.Architecture / Dependency Check
src/domain의 scenario authoring model에 둡니다.Verification Plan
cmake --build --preset build-no-app-debugctest --preset test-no-app-debugcmake --build --preset build-debugctest --preset test-debugDependencies / Blockers
Repository Checks
Task-convention.