# 2026-07-13 설정 파일 단순 이름(camera/display/route.json) 지원

**소요 시간**: 8분
**Context 사용량**: input 2160k / output 4k tokens

## 배경

사용자가 설정 파일명을 `route.json` / `camera.json` / `display.json` 으로 단순화.
route.json 은 기존 인식, **camera.json·display.json 순수 이름은 접미사 규칙만 있어 미인식** 상태였음.
새 폴더 `경로 1-1_타원체고기준데이터`(타원체고 z 의 측점.kml) + route.json 에
`ellipsoidal_height: 100.823` 필드 추가됨.

## 수정

### client/src/utils/geoData.ts
- parseCameraJson 우선순위: ① `camera.json` → ② `<영상 base>(.camera).json` → ③ `*.camera.json`
  (rootJson 필터에서 route.json/display.json 단순 이름도 제외 처리)
- parseDisplayJson 우선순위: ① `display.json` → ② `<영상 base>.display.json` → ③ `*.display.json`

### client/src/components/overlay/StationOverlay.tsx
- [PC에 저장] 다운로드 파일명: `<영상 base>.camera.json`/`<...>.display.json` → **camera.json / display.json**
- 버튼 툴팁 표기 갱신

### client/src/types/geo.ts
- RouteInfo 에 `ellipsoidal_height?: number` 추가 (파일 통과용 — 현재 투영 로직엔 미사용)

## 검증

- 인식 규칙 시뮬레이션: camera.json / display.json / route.json 모두 인식 ✓
- tsc+vite 빌드 통과, 새 번들(index-D6PNHGXU.js) 서빙

## 다음 단계 참고

- **ellipsoidal_height(100.823) 활용은 미구현** — 타원체고 기준 측점 z 와 드론 정표고 간
  datum 변환에 쓸지, 경로표고 기본값으로 쓸지 등 의미 확정 필요 (현재 사용자는
  camera.json 의 geoidOffset(20)/offZ(21.8) 수동 보정으로 대응 중)
- 타원체고기준 폴더의 측점.kml 은 z 보유(77~114m) → _byDem 생성 대상 아님(로더가 z 그대로 사용)
