- 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>
1.6 KiB
1.6 KiB
2026-07-14 스테이션바 시설물 마크 — station_lookahead 기준으로 완전 통일
소요 시간: 9분 Context 사용량: input 9800k / output 3k tokens
제보
배지(스테이션값)는 설정대로 나오는데, 스테이션바의 시설물(지장물) 마크 위치는 드론 연직(물리 통과) 기준으로 보임 — 특히 두 번째 영상에서.
원인
시설물 마크 배치는 다단 폴백 구조: ① 측점값 통과 창(pxPassesAtMileage — viewChain 기준으로 이미 전환) → ② 좌표 근접(pxPassesTo — 드론 GPS 물리 통과, 미전환). 세그먼트 시작 100m 안쪽 시설물은 viewChain(=연직+100)이 그 측점값을 커버하지 않아 ①이 빈 결과 → ②(물리) 폴백으로 떨어져 배지와 기준이 섞임.
수정 — StationBar.tsx pxPassesAtMileage
- 오프셋 활성(viewChain≠chain 데이터 감지) 시 통과 창을 못 찾으면 viewChain 이 가장 가까워지는 프레임에 배치(이격 150m 이내) — 물리 폴백으로 빠지지 않음. 세그먼트 경계 시설물은 바 시작 부근에 클램프
- 오프셋 미설정 데이터셋(회덕 등)은 기존 동작 그대로(감지 조건 불충족)
- 진단 로그 확장:
[스테이션바] 배지 오프셋: … | 표본 Δ+100m (N행)— 세그먼트마다 실제 적용량 확인 가능
검증
- tsc+vite 빌드 통과, 새 번들(index-mXKdnFF6.js, 빌드 07.14 19:29) 서빙
- 적용: F5 새로고침(빌드 시각 19:29) → 폴더 재선택 → 두 번째 영상에서 커서가 시설물 마크에 닿을 때 화면 중앙(전방 100m)에 해당 시설물이 보여야 정상