Skip to content

Commit f329750

Browse files
[Chore] Sprint 1 시연용 평면 자산 큐레이션 (#171)
* [Chore] Curate Sprint 1 시연용 평면 자산 - assets/demo-layouts/ 신설: bottleneck_hall, multi_exit_concourse, branched_corridor_office DXF 3종과 결정적 재생성 스크립트 추가. 세 평면은 결과 지표(피크 밀도, t90/t95, ExitUsage, ZoneCompletion)가 서로 다르게 나오도록 의도적으로 토폴로지를 구성. - docs/demo/시연 평면 가이드.md 추가: 평면별 시연 메시지와 강조 지표 정리. - tests/dxf/ 정리: 미활용 home_plan / apartment_floor_plan / evacuation_complex_large 와 cad-portfolio 라이선스 파일 제거. generate_building_samples.py 는 office_suite 만 생성하도록 트림. - tests/DxfImportServiceTests.cpp 에 신규 시연 DXF 3종의 임포트 회귀 가드 추가. - tests/ImportContractsTests.cpp 의 문자열 경로를 office_suite.dxf 로 교체. Refs: #168 * [Chore] Preserve existing tests/dxf fixtures while adding demo assets Curating the demo layouts under assets/demo-layouts/ does not require removing the existing test fixtures contributed by another teammate. Keep the four DXF files and the LICENSE under tests/dxf/ so the provenance of the downloaded MIT sample is retained and the local generator can still reproduce the residential and evacuation samples. - Restore apartment_floor_plan.dxf, LICENSE.cad-portfolio.txt, home_plan.dxf, and evacuation_complex_large.dxf so existing attribution and regeneration paths stay intact. - Restore the build_home_plan and build_evacuation_complex_large helpers in generate_building_samples.py for the same reason. - Keep the new framing in tests/dxf/README.md (cross-reference to assets/demo-layouts/, and the row for blocking_review_demo.dxf that was previously undocumented) and combine it with the original provenance section that describes the kept files.
1 parent 5e9386b commit f329750

10 files changed

Lines changed: 12482 additions & 4 deletions

assets/demo-layouts/README.md

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,43 @@
1+
# 시연용 평면 자산 (Demo Layouts)
2+
3+
Sprint 1 시연 흐름(임포트 → 리뷰 → 시뮬레이션 → 결과)에서 결과 지표가 서로 다르게 나오도록 의도적으로 설계된 DXF 도면 모음입니다.
4+
5+
테스트 픽스처가 아니라 **시연 시 직접 임포트해서 보여주기 위한 자산**입니다. 단위 테스트가 참조하는 도면은 `tests/dxf/` 에서 따로 관리합니다.
6+
7+
## 평면 목록
8+
9+
| 파일 | 크기 | 의도 | 시연 강조 결과 지표 |
10+
| --- | --- | --- | --- |
11+
| `bottleneck_hall.dxf` | 30 × 20 m | 큰 단일 홀 + 1.0 m 단일 출구 | `DensitySummary.peakDensity` ↑↑, `highDensityDurationSeconds` ↑, `EvacuationTimingSummary.t90/t95` 길어짐, `ExitUsage` 단일 100 % |
12+
| `multi_exit_concourse.dxf` | 30 × 20 m | 동일 홀 + 1.0 m 출구 3개 (E/N/S) | 동일 군중 시나리오 비교 시 t90·피크 밀도·고밀도 지속 시간 모두 감소, `ExitUsage` 가 3 출구로 분산 |
13+
| `branched_corridor_office.dxf` | 36 × 20 m | 사무실: 6 룸 + 중앙 복도 + 비대칭 2 출구 | `ZoneCompletionMetric` 존별 차등 (원거리 룸 지연), `ExitUsage` 비대칭, 복도 셀의 `peakField` 시각화 임팩트 |
14+
15+
## 시연 시나리오 가이드
16+
17+
`bottleneck_hall ↔ multi_exit_concourse`**같은 홀 크기 · 같은 컬럼 배치**로 설계되어 있어, 동일 군중·동일 시나리오를 양쪽에 적용하면 출구 수만으로 결과가 어떻게 달라지는지 직접 비교할 수 있습니다.
18+
19+
`branched_corridor_office`**현실 평면**에서 어떤 셀이 위험 지점이 되는지 (밀도 필드 시각화) 를 보여주는 역할입니다.
20+
21+
자세한 시연 흐름은 [docs/demo/시연 평면 가이드.md](../../docs/demo/시연%20평면%20가이드.md) 를 참고하세요.
22+
23+
## 재생성
24+
25+
```bash
26+
python assets/demo-layouts/generate_demo_layouts.py
27+
```
28+
29+
DXF 는 결정적으로 재생성됩니다. 디퍼런셜 노이즈가 발생하면 `ezdxf` 버전 차이일 수 있습니다.
30+
31+
## DXF 레이어 규약
32+
33+
생성기는 SafeCrowd DXF 임포터의 레이어 규약을 따릅니다.
34+
35+
| 레이어 | 의미 |
36+
| --- | --- |
37+
| `WALLS` | 벽 라인 → Wall |
38+
| `DOORS` | 내부 도어 라인 → Opening |
39+
| `EXIT` | 외부 출구 라인 → Exit |
40+
| `WINDOWS` | 창문 라인 (참고용) |
41+
| `OBSTACLE` | 장애물 폴리곤 → Obstacle |
42+
| `SPACE_*` | 닫힌 폴리라인 → Walkable Zone |
43+
| `TEXT` | 라벨/타이틀 |

0 commit comments

Comments
 (0)