Files
GhiVideo_v4/docs/history/2026-07-14_2004_팬-회전-지연-이질감-보정.md
T
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.6 KiB
Raw Blame History

2026-07-14 좌우 팬(회전) 시 오버레이 지연 이질감 — POI EMA 우회 + 자세 선행 보정

소요 시간: 12분 Context 사용량: input 11800k / output 4k tokens

제보

드론이 좌우로 회전(팬)할 때 노선·지장물이 뒤늦게 따라와 이질감.

원인 (2중)

  1. 지장물(POI) 라벨의 화면 EMA 잔존 — 측점 라벨은 즉시 투영으로 바꿨지만(13:24) POI 라벨은 속도적응 EMA(smoothStep)를 계속 사용 → 팬 시 수 프레임 지연
  2. 짐벌 자세 로그의 기록 지연 — 위치 교차상관 dt(−0.33s)로도 짐벌 yaw 고유의 내부 지연은 보정 안 됨 → 선형(EMA 없음)까지 함께 늦는 공통 원인

수정

  • StationOverlay: frameSynced(djmd) 데이터면 POI 라벨도 즉시 투영 (EMA 우회, 0.75px 히스테리시스 유지) — 선형·측점·POI 모두 동일 타이밍
  • poseAt: 자세 선행(attLeadSec) — 위치는 estFrame 그대로, 자세(yaw/pitch/roll)만 attLeadSec 초 앞선 시점에서 샘플(짐벌 로그 지연 상쇄)
  • CameraParams.attLeadSec 추가(기본 0) — camera.json 자동 저장/로드(숫자 통과), 카메라 파라미터 패널에 '자세 선행' 슬라이더(1~+1s, 0.01 스텝, 시간동기 아래)

튜닝 방법 (사용자 안내)

  • 좌우로 회전하는 구간 재생 → '자세 선행'을 +0.10~0.30 범위에서 조금씩 올리며 라벨·선형이 영상과 같이 붙어 도는 값을 찾기 (앞서가면 −로)
  • 찾은 값은 'PC 저장'으로 camera.json 에 보존

검증

  • tsc+vite 빌드 통과, 새 번들(index-BvoVCM-N.js, 빌드 07.14 20:04) 서빙