- `docs/` 를 .gitignore 에서 빼 git 추적 대상으로 전환 (위키·완료 이력·검증 기록) - `docs/raw/PLAN.md` · `docs/raw/OWNERS.md` 를 저장소 최상위로 이동 후 .gitignore 에 등록 — 창끼리 공유하되 저장소에는 안 올리는 장부 - 살아 있는 경로 참조 7개 파일 정정 (아카이브 107건은 그때 사실이라 그대로 둠) - graphify 날짜별 산출물(`docs/wiki/graphify-out/20*/`) 제외 — `graphify update` 가 다시 만듦 Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
3.7 KiB
3.7 KiB
type, status, related_pages, last_updated, source
| type | status | related_pages | last_updated | source | |||
|---|---|---|---|---|---|---|---|
| concept | stable | 2026-07-20 |
|
외부 라이브러리 의존성
architecture/shared_resources는 이 문서를 전체 의존성 정본으로 참조한다. Backend 의존성은 B01·B03~B08에, Frontend 의존성은 a00_app_shell_framework과 ui_templates에 연결된다.
백엔드 (Python 3.12.7)
| 라이브러리 | 용도 | 사용 페이지 |
|---|---|---|
| FastAPI / Pydantic | API 프레임워크 / 요청·응답 검증 | 전체; [[B01_Dashboard/B01_backend |
| Trimesh | 3D 메시 처리 | [[B04_PreProcess/B04_backend |
| Whitebox | 지형 분석(D8 흐름누적 등) | [[B04_PreProcess/B04_backend |
| Geopandas | 공간 데이터프레임 | [[B04_PreProcess/B04_backend |
| Pyogrio | GeoPandas 파일 I/O 가속 | [[B05_Profile/B05_backend |
| Shapely | 기하 연산 (JSON 파싱 후) | [[B05_Profile/B05_backend |
| NumPy | 격자·통계·비용면 및 LAS 통계 계산 | [[B03_FileInput/B03_backend |
| SciPy | 수치 보간·계산 보조, Delaunay 삼각망 생성 | [[B04_PreProcess/B04_backend |
| Rasterio | 래스터(DEM/TIF) 입출력·메타데이터 | [[B03_FileInput/B03_backend |
| Laspy | LAS/LAZ 포인트클라우드 파싱 | [[B03_FileInput/B03_backend |
| Pyproj | PRJ/TIF 좌표계 해석 | [[B03_FileInput/B03_backend |
| Openpyxl | 과거 엑셀 원가 수량 템플릿 계획에 사용 | 현행 B07 구현에서는 사용 미확인 |
| aiomysql | 비동기 MariaDB 드라이버 (Raw SQL) | 전체 |
| psutil | CPU·메모리 사용률 계측 | [[B01_Dashboard/B01_backend |
프론트엔드 (TypeScript/Node.js)
| 항목 | 용도 | 사용처 |
|---|---|---|
| three.js (WebGL) | 3D 뷰어(WebGLRenderer, OrbitControls, Points/Mesh) | [[B04_PreProcess/B04_backend |
| openwebcad (Canvas) | 내장 독립 2D CAD 에디터 및 뷰어 | [[B08_DesignDetail/B08_frontend |
| Vite | 빌드 도구 | 전 프론트 |
⚠️ B04, B05는 three.js 기반 3D 지형/노선 뷰어가 구현되어 있으며, B06은 종횡단 조회 전용(SVG 렌더링)으로 Three.js를 사용하지 않습니다. B07은 내장된 독립 2D CAD(
openwebcad)를 iframe으로 임베딩하여 활용합니다.
선정 원칙 (agent.md 3절)
프로젝트에 맞춰 호환 라이브러리 선정, 불필요한 함수 작성 최소화. asyncmy 대신 aiomysql 채택 이유: Cython 빌드가 Windows 환경에서 불필요.