# 측점 검색을 '화면 마커' 기준으로 전환 (누락 통과까지 검색) **소요 시간**: 약 7분 **Context 사용량**: input ~390k / output ~26k tokens ## 결론 측점 검색 점프가 일부 통과로 가지 못하던 문제 해결. 검색 후보를 chain 기준 → **화면에 보이는 마커(structureMarks) 기준**으로 바꿔, 바에 표시된 모든 동그라미(좌표근접 탐지 통과 포함)를 순환하도록 함. ## 원인 - 마커(structureMarks)는 측점기준 + 좌표근접(pxPassesTo) 합집합으로 통과를 찍음(조차장 등 chain 어긋난 통과 포함). - 그러나 검색(handleJumpToMileage)은 `|arr[i].chain - km| < TOL` 측점기준으로만 통과를 찾음 → chain 이 162080 에서 벗어난 통과(마커는 있음)는 검색이 못 감. ## 변경 내용 (`client/src/stationbar/StationBar.tsx`) - handleJumpToMileage 후보 산출 1순위: `structureMarks.filter(표시 10m 반올림값 == 입력값).map(px → timeAtFrac 로 시각 역변환)`. - 2순위(마커 없는 임의 측점): 기존 chain 연속구간 탐지 → 없으면 전역 최근접 폴백. - 시간 정렬 + 0.3s 근접 중복 제거 후, 통과방향 순환(기존 jumpRef 로직 유지). - deps 에 structureMarks, timeAtFrac, timeTrackWidth 추가. ## 검증 - `tsc + vite build` 통과(node 20). client/dist 재빌드(12:19). ## 참고 - 매칭은 표시 라벨과 동일하게 10m 반올림 일치 → 사용자가 보는 값과 검색 일치. - 종점 미도착으로 px=TRACK_END 로 이동된 마커는 역변환 시 끝 시각이 됨(허용).