기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
# 스테이션바 첫/마지막 항목을 바 시작·끝 지점으로 이동(px 스냅)
|
|
|
|
**날짜**: 2026-06-24
|
|
**수정 파일**: `client/src/stationbar/components/Timeline/Timeline.tsx`
|
|
**관련**: [2026-06-24_1921_스테이션바-구조물명2줄+양끝정렬.md](2026-06-24_1921_스테이션바-구조물명2줄+양끝정렬.md)
|
|
|
|
## 요구 (요청2 확정)
|
|
첫 번째 항목은 스테이션바 **시작점**, 마지막 항목은 **끝점**으로 각각 이동해 표시.
|
|
|
|
## 조치
|
|
dedup(px 정렬) 후 첫/마지막 항목의 px 를 바 양끝 좌표로 스냅:
|
|
```ts
|
|
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
|