GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
# 측점 검색 순환 점프 + 입력값 유지/블러삭제
|
||||
|
||||
**소요 시간**: 약 12분
|
||||
**Context 사용량**: input ~360k / output ~24k tokens
|
||||
|
||||
## 결론
|
||||
측점값이 여러 곳(여러 통과)에 존재할 때, 측점 검색을 **통과방향 순환(find-next)** 으로 개선.
|
||||
Enter 반복으로 다음 통과로 이동, 끝에서 처음으로 순환. 입력값은 Enter 후 유지하고 blur 시 삭제.
|
||||
|
||||
## 변경 내용
|
||||
- `client/src/stationbar/StationBar.tsx` — `handleJumpToMileage` 재작성
|
||||
- 입력 측점의 '모든 통과'를 허용오차(stationTolerance, 기본 20m) 내 연속구간=1통과로 묶어 시간 오름차순 수집.
|
||||
- 기준 시각(baseT)에서 통과방향(시간 증가) 다음 통과로 이동, 없으면 passes[0] 으로 순환.
|
||||
- `jumpRef`(km,time)로 연속 검색 판정: 같은 측점이고 커서가 직전 점프 위치 그대로(|Δ|<0.1s)일 때만
|
||||
연속(다음 통과). 재생/클릭으로 커서 이동했거나 다른 측점이면 현재 커서(라이브)에서 새로 시작.
|
||||
- 라이브 시각은 `timeRef?.current ?? currentTime`. 커버 범위 밖(±20m) 입력은 무시(기존 유지).
|
||||
- 허용오차 내 통과가 없으면 전역 최근접 1개로 폴백.
|
||||
- `client/src/stationbar/components/PlaybackControls/PlaybackControls.tsx`
|
||||
- Enter 시 `setQuery('')` 제거 → 입력값 유지(같은 값 재Enter 로 순환).
|
||||
- input `onBlur` → 입력값 삭제(다른 곳 클릭 시 언셀렉트).
|
||||
|
||||
## 검증
|
||||
- `tsc + vite build` 통과(node 20). client/dist 재빌드(12:12).
|
||||
|
||||
## 참고
|
||||
- 순환 순서는 '시간(이동거리축 진행) 오름차순' = 화면상 좌→우.
|
||||
- 향후 입력창 옆 'n/m' 위치 표시·매칭 하이라이트를 추가하면 인지성 더 향상.
|
||||
Reference in New Issue
Block a user