기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제. (node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
31 lines
1.6 KiB
Markdown
31 lines
1.6 KiB
Markdown
# 좌표 반경으로만 잡힌 마커의 측점값 라벨/검색 제외
|
|
|
|
**소요 시간**: 약 8분
|
|
**Context 사용량**: input ~420k / output ~28k tokens
|
|
|
|
## 결론
|
|
역 마커가 좌표 반경(pxPassesTo)으로만 잡혀 그 위치에 실제 측점값이 존재하지 않는 경우,
|
|
**측점값 라벨을 숨기고 검색 대상에서도 제외**. 마커(동그라미)는 유지.
|
|
|
|
## 판정 (kmExists)
|
|
- 각 통과의 실제 측점 = 그 통과 프레임의 연속 chain(p.km, 좌표탐지) / 측점기준 탐지는 targetM(=stationKmVal).
|
|
- 표시 측점값 = stationKmVal(역 좌표 투영).
|
|
- `kmExists = stationKmVal==null || |p.km - stationKmVal| <= stationTolerance(기본 20m)`
|
|
- 측점기준 통과 → 일치 → true
|
|
- 좌표 반경만으로 잡힌 통과(측점 동떨어짐) → false
|
|
|
|
## 변경 내용
|
|
- `client/src/stationbar/StationBar.tsx`
|
|
- `StructMark`에 `kmExists?: boolean` 추가.
|
|
- structureMarks 두 경로(storeStructures / POI 폴백) push 시 kmExists 계산.
|
|
- handleJumpToMileage 마커 후보 필터에 `m.kmExists !== false` 추가(값 없는 마커로는 검색 점프 안 함).
|
|
- `client/src/stationbar/components/Timeline/Timeline.tsx`
|
|
- 측점값 라벨 표시 루프에서 `s.kmExists === false`면 라벨 생략(동그라미·이름 라벨은 유지).
|
|
|
|
## 검증
|
|
- `tsc + vite build` 통과(node 20). client/dist 재빌드(12:27).
|
|
|
|
## 참고
|
|
- 측점기준 통과는 km=targetM=stationKmVal 로 동일 → 항상 kmExists=true(정상 측점은 영향 없음).
|
|
- 마커 동그라미/브래킷/역명 라벨은 그대로. 숨기는 것은 '측점값(10m)' 라벨과 그 값으로의 검색뿐.
|