Files
GhiVideo_v4/docs/history/2026-06-29_1057_측점값-라벨-겹침-숨김.md
T
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

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

24 lines
1.3 KiB
Markdown

# 측점값 라벨 겹침 숨김 (먼저 나온 것만 표시)
**소요 시간**: 약 10분
**Context 사용량**: input ~190k / output ~11k tokens
## 결론
스테이션바에서 측점값(예: 157k990) 라벨이 근접 통과로 겹쳐 보일 때, px 오름차순으로 **먼저 나온(좌측) 라벨만
표시하고 뒤엣것은 숨김** 처리. 아이콘(동그라미)과 점선 브래킷은 그대로 둔다(측점값 텍스트만 숨김).
## 변경 내용
- 파일: `client/src/stationbar/components/Timeline/Timeline.tsx`
- `structs`(px 오름차순) 직후 `showMileage: boolean[]` 산출:
- `labelW(v) = v.length * 7.5 + 4` (13px bold + 2px stroke 대략 폭)
- 직전 '표시한' 라벨과 중앙 간격이 `(lastW + w)/2` 미만이면 겹침으로 보고 숨김(`showMileage[i]=false`).
- 표시한 경우에만 `lastPx/lastW` 갱신 → 연쇄 겹침도 누적 기준으로 정확히 판정.
- `mileageRow` 렌더 조건을 `s.km >= 0``s.km >= 0 && showMileage[i]` 로 변경.
## 검증
- `tsc + vite build` 통과(node 20). client/dist 재빌드 → 55000 강력 새로고침으로 확인.
## 참고
- 라벨은 trackWrapper transform 하위라 px 공간 비교가 시각 겹침과 동치(균일 스케일).
- 폭 추정 상수(7.5/+4)는 폰트/스트로크 변경 시 재조정.