Files
GhiVideo/docs/history/2026-06-24_1933_스테이션바-첫마지막항목-바양끝스냅.md
T
b23042andClaude Opus 4.8 78fc090360 초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel
- 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API
- 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 16:37:57 +09:00

1.3 KiB

스테이션바 첫/마지막 항목을 바 시작·끝 지점으로 이동(px 스냅)

날짜: 2026-06-24 수정 파일: client/src/stationbar/components/Timeline/Timeline.tsx 관련: 2026-06-24_1921_스테이션바-구조물명2줄+양끝정렬.md

요구 (요청2 확정)

첫 번째 항목은 스테이션바 시작점, 마지막 항목은 끝점으로 각각 이동해 표시.

조치

dedup(px 정렬) 후 첫/마지막 항목의 px 를 바 양끝 좌표로 스냅:

const BAR_START = TRACK_START_PX;            // 297
const BAR_END = TRACK_START_PX + TRACK_WIDTH_PX; // 1806.5
const structsRaw = dedup(structures, 90);
const structs = structsRaw.map((s, i) =>
  i === 0 ? { ...s, px: BAR_START } : i === structsRaw.length - 1 ? { ...s, px: BAR_END } : s);
  • s.px 좌표계는 트랙 래퍼 공간(297~1806.5, seekArea/pxAtTime 와 동일).
  • 아이콘·측점값·구조물명·클릭핫스팟이 모두 s.px 사용 → 항목 전체가 양끝으로 함께 이동.
  • 직전 작업의 첫=좌측정렬/마지막=우측정렬(anchorStart/End)과 결합 → 끝에서 안 잘림.

검증

  • npm run build -w client (node20) tsc + vite build 통과.

소요 시간: 약 5분 Context 사용량: input ~1110k / output ~3k tokens