표고 체계 정비·설정 파일 단순화·선형 클리핑·시연 준비

- 타원체고 기준 자동 변환: route.json ellipsoidal_height 선언 시 드론 고도(CSV 정표고)를
  영상 메타(djmd 6.6 타원체고)와의 차(지오이드고 자동 산출)만큼 보정, 세그먼트 전환에도 유지
- KML 표고 파이프라인: 좌표 고도(z) 사용(POI/측점), *_byDem.kml 자동 생성(DEM 조회·높이 속성 포함)
  + 로더의 _byDem 우선 규칙, 선형중심선(LineString) 로딩·경로표고 앵커
- 설정 파일: camera.json/display.json/route.json 단순 이름 인식, 화면표시 옵션 PC 저장/자동 적용,
  초기화 버튼을 환경설정 파일 기준 복원으로 변경, 저장 파일명 단순화
- 선형 표시: 표출된 마지막 측점까지 클립(경계 세그먼트 절단 + 관통 현 처리 — 구간 실종 수정)
- 스테이션바: 시점(0k000) 마크(실통과 위치), 노선밖 프레임 통과 오인 방지, 커서 배지 1m 단위,
  배너 연장/소요 실측값(측점 체이니지·영상 길이 합) 우선
- 세그먼트 전환 라벨 깜빡임 구조 수정(캐시 초기화·최근접 키 조회·이중 재계산 제거) +
  사전계산 프레임 불변값 호이스팅(재생 지연 해소)
- UI: 슬라이더/값 입력칸 휠 조절, 패널 버튼 위치 정렬, 저장 버튼 중복 제거, dev_mode(route.json)로
  영상제어 UI 표시 제어, 지오이드 최대 200, 이격거리 측점 동반 적용
- 시연: start-demo.bat + docs/DEMO.md
- docs/history: 작업 이력 30건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-13 20:37:46 +09:00
co-authored by Claude Fable 5
parent 84f4921826
commit 7d51ba9945
53 changed files with 1708 additions and 104 deletions
@@ -0,0 +1,30 @@
# 2026-07-13 화면표시 옵션 PC 저장 + 폴더 자동 적용
**소요 시간**: 10분
**Context 사용량**: input 990k / output 5k tokens
## 작업 내용
camera.json 과 동일한 패턴으로 화면표시 옵션 저장/적용 왕복 구현.
### 저장 — StationOverlay 화면표시 옵션 패널 헤더 [PC에 저장] 버튼
`<영상 base>.display.json` 다운로드. 포함 항목:
- 슬라이더: dronePathZ(경로표고), dronePathAlpha(투명도), smoothHalf, emaAlpha,
smoothMinAlpha(떨림억제), smoothSpeedRef(반응속도), maxPoiRange(POI 범위), droneHeightDrop(이격거리)
- 토글: poiDroneHeight(드론높이 모드), showCenterline(선형), showDronePath(드론궤적),
showRoutePanel(좌측 패널), poiOverlapExclude(겹침제외)
- 기타: compassType/compassMapStyle(나침반), gradeFilter(시설등급 체크)
### 로드 — 폴더 선택 시 자동 적용
- `parseDisplayJson`(geoData): `<영상 base>.display.json` 인식(분할본 base 아무거나 매칭)
- geoStore `displayJson` 적재 → StationOverlay effect 가 타입 검증 후 각 상태/설정스토어에 반영
(localStorage 복원 effect 뒤에 선언 — 파일 값이 우선)
## 검증
- tsc+vite 빌드 통과, 새 번들(index-D6YhUPvg.js) 서빙
## 다음 단계 참고
- camera.json(카메라 내부표정)과 display.json(화면표시)은 별개 파일 — 둘 다 폴더에 두면 각각 적용
- 저장 파일은 다운로드 폴더에 생성 → 영상 폴더로 이동 필요(브라우저 보안 제약)