초기 커밋: 스테이션(측점) 기반 주행영상 플레이어
- 클라이언트(React/Vite): Video.js 플레이어, 하단 스테이션바, POI/구조물 영상 오버레이, 카메라 파라미터 보정, 미니맵/RoutePanel - 서버(Express): Range 스트리밍, HLS 변환, 프레임 추출, tus 업로드, 주석 API - 최근 작업: 스테이션바 종점역 표출/양끝 정렬/미도착(재생불가) 표시, POI 라벨 '구분' 우선·컴팩트 팝업·겹침제외 토글·동일좌표 다중행, 진행방향(상/하) 우선 표출, 커서 배지 크기·픽셀 떨림 개선 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
# 스테이션바 시/종점 역명 = route.json name 의 '-' 좌/우 + 좌상단 타이틀 routeInfo 매핑 확인
|
||||
|
||||
**날짜**: 2026-06-24
|
||||
**수정 파일**: `client/src/stationbar/StationBar.tsx`
|
||||
|
||||
## 요구
|
||||
1. 스테이션바 시작은 측점값(157K900 등)이 아니라 route.json `name`("회덕-대전조차장")의 '-' **왼쪽=회덕**,
|
||||
끝은 **오른쪽=대전조차장**.
|
||||
2. 좌측 상단 타이틀은 각 항목에 맞는 routeInfo 변수로.
|
||||
|
||||
## 조치
|
||||
### 1) 시/종점 역명 = name '-' 분리 (StationBar)
|
||||
```ts
|
||||
const nm = routeMeta?.routeInfo?.name ?? ''; // "회덕-대전조차장"
|
||||
const dash = nm.indexOf('-');
|
||||
const leftName = dash >= 0 ? nm.slice(0, dash).trim() : ''; // 회덕
|
||||
const rightName = dash >= 0 ? nm.slice(dash + 1).trim() : ''; // 대전조차장
|
||||
startStationName: leftName || routeInfo.startStationName || 측점첫;
|
||||
endStationName: rightName || routeInfo.endStationName || 측점끝;
|
||||
```
|
||||
- name 분리값 우선(요구). 없으면 startStationName/endStationName → 측점 첫/끝 폴백.
|
||||
|
||||
### 2) 좌상단 타이틀 (변경 없음 — 이미 매핑)
|
||||
`RouteInfoOverlay` 가 이미 routeInfo 각 변수를 매핑: 방향=direction, 노선명=name, 연장=lengthKm,
|
||||
소요=durationSec. route.json 만 폴더에 있으면 표출됨 → 추가 작업 불필요.
|
||||
|
||||
## 확인
|
||||
- 폴더의 `하행)회덕-대전조차장.route.json` 은 UTF-8 정상. `parseRouteMeta`(file.text, base.route.json 매칭)로 로드.
|
||||
- name="회덕-대전조차장", direction="하 행", lengthKm=4.25, durationSec=672(=11분12초).
|
||||
|
||||
## 검증
|
||||
- `npm run build -w client` (node20) tsc + vite build 통과.
|
||||
|
||||
**소요 시간**: 약 10분
|
||||
**Context 사용량**: input ~1350k / output ~5k tokens
|
||||
Reference in New Issue
Block a user