Files
GhiVideo_v4/docs/history/2026-07-14_1835_배지-시선중심-체이니지-연동.md
b23042andClaude Fable 5 ca591ce58c 스테이션바 시선 연동(station_lookahead)·팬 지연 보정·1km 측점 마크
- station_lookahead(route.json): 배지 전방 오프셋 — 미설정/0=드론 연직(기존),
  N=진행방향 +N(m), "auto"=짐벌 피치·AGL 기반 자동. 연속 모델(유효 주시거리 =
  N − 노선이격 초과분)로 접근 구간에서 멈춤·점프 없이 측점값 연속 진행
- 노선밖 판정도 시선 기준: 화면이 노선을 비추기 시작하면 배지가 측점값으로
  조기 전환, '노선밖 ○m' 도 시선 지점 기준
- 시점·시설물 마크와 배지 기준 통일(viewChain): 오프셋 활성 시 물리(드론 연직)
  폴백 금지 — 구간 밖 시설물은 해당 세그먼트 바에 미표시(귀덕천교 사례),
  세그먼트별 진단 로그(표본 Δ) 추가
- 스테이션바 1km(1+000) 단위 측점 마크: 측점값 라벨만 표시(이름 라벨·그룹핑 제외),
  기존 마크와 겹침 시 생략 + 양끝 100m 내 시설물 없으면 시작/끝 스테이션 표시
- 팬(회전) 지연 이질감 보정: 프레임 동기 데이터의 POI 라벨 화면 EMA 우회(즉시 투영)
  + 자세 선행(attLeadSec) 파라미터 — 짐벌 로그 기록 지연 상쇄(위치는 유지,
  자세만 앞선 시점 참조), 카메라 패널 슬라이더(-1~+1s)
- 배지 시선 중심 자동 모드: AGL/tan|짐벌피치| 전방 주시거리(상한 350m),
  진행방향 = 카메라 yaw·노선 접선 내적
- 기타: sen H 최대 100mm, F2 개발자 모드 토글(직전 커밋 누락분 아님 — 이번 범위)
- 데이터 작업(코드 외): 경로 1-2/1-3/2 카메라·화면설정 산출 적용(yawOffset 실측,
  경로표고 중앙값) 및 1-3 기존 시각보정 복원 — docs/history 참조
- docs/history: 작업 이력 15건

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 20:43:00 +09:00

1.5 KiB

2026-07-14 스테이션바 현재값 — 드론 연직 → 카메라 시선 중심 체이니지 연동

소요 시간: 10분 Context 사용량: input 7600k / output 3k tokens

배경 (사용자 제보)

배지(현재 스테이션)는 드론의 연직 투영 체이니지인데, 카메라는 피치 −15°로 전방 (AGL 70m 기준 약 260m 앞)을 비추므로 화면 속 측점 라벨과 배지 값이 달라 혼동 유발.

구현 — StationBar.tsx

  • ViewedPoint 에 viewChain(시선 중심 지면 교점의 체이니지) 추가:
    • 전방 주시거리 = AGL / tan(|짐벌 피치|), 상한 350m (수평에 가까우면 상한 사용)
    • AGL = 드론고도 − 지면고도(측점 z 의 체이니지 보간 — 동일 datum(타원체고))
    • 진행방향 = 카메라 yaw 벡터 · 노선 접선(+체이니지 방향) 내적 부호 → ±주시거리
    • 노선 양끝은 측점 범위로 클램프
  • 커서 배지(realChain)가 chain → viewChain 을 사용
  • 폴백: 측점 z 없는 데이터셋(z 프로파일 <2점)·고도/yaw 미상 → 기존 연직 체이니지 유지
  • 구간색·마크·이동거리축·노선밖 표기는 기존(물리 통과 기준) 그대로

효과

배지 값이 화면 중앙이 실제로 비추는 지점의 측점값과 일치 — 영상 속 측점 라벨과 동기화.

검증

  • tsc+vite 빌드 통과, 새 번들(index-DGLDr81A.js, 빌드 07.14 18:35) 서빙
  • 적용: F5 새로고침(빌드 시각 18:35 확인) → 폴더 재선택