# 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) 서빙
