Files
GhiVideo_v4/docs/history/2026-07-13_1037_사전계산-최적화-버튼교환.md
T
b23042andClaude Fable 5 7d51ba9945 표고 체계 정비·설정 파일 단순화·선형 클리핑·시연 준비
- 타원체고 기준 자동 변환: 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>
2026-07-13 20:37:46 +09:00

31 lines
1.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 2026-07-13 라벨 사전계산 최적화 + 패널 버튼 위치 교환
**소요 시간**: 12분
**Context 사용량**: input 1230k / output 6k tokens
## 문제 1 — 재생 느려짐·딜레이·POI 라벨 깜빡임 (제보)
### 원인
오늘 추가한 측점 세그먼트 투영(projectCL)이 라벨 사전계산의 **프레임 루프 안**에서 실행 —
측점 71 × 선분 145 × 프레임 1947 ≈ 2천만 반복. POI 지면고도(gz: nearestCL 146정점 × POI 33)도
프레임마다 반복. 재생 중 requestIdleCallback 청크가 timeout(200ms)으로 강제 실행될 때마다
메인 스레드를 수십 ms 점유 → 영상 버벅임·딜레이·라벨 위치 갱신 밀림(깜빡임처럼 보임).
### 수정 — StationOverlay.tsx startLabelPrecompute
- 측점 투영(snappedSt)과 POI 지면고도(gzOf)는 **프레임 불변** → 사전계산 시작 시 1회만 계산,
프레임 루프에서는 조회만. 프레임당 지오메트리 연산 ~15,000회 → 0회
## 문제 2 — 패널 토글 버튼 위치가 창과 반대 (요청)
- 패널은 flex-row-reverse 라 화면표시=오른쪽, 카메라=왼쪽인데 버튼은 반대 순서였음
- 버튼 순서를 [카메라 파라미터][화면표시 옵션] 으로 교환 — 버튼과 패널 위치 일치
## 문제 3 — 카메라 파라미터 저장 (요청)
- 이미 존재(내부표정 📷 줄 [PC에 저장])하나 찾기 어려움 → **카메라 패널 헤더(자세 보정 오프셋 행)
우측에도 [PC에 저장] 배치** — 화면표시 옵션 패널과 동일한 위치·스타일
## 검증
- tsc+vite 빌드 통과, 새 번들(index-CYjWswA1.js) 서빙