Files
GhiVideo_v4/docs/history/2026-06-25_1130_POI라벨-구분-시설등급기타-컴팩트팝업.md
T
b23042andClaude Fable 5 d38b842e8d GhiVideo 소스 복제 — v4 작업 시작 기준
기존 GhiVideo 저장소 HEAD의 트래킹 소스 362개 파일을 복제.
(node_modules·storage·빌드 산출물·대용량 미디어는 .gitignore 규칙대로 제외)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-09 14:32:51 +09:00

1.9 KiB

POI 라벨(구분) · 시설등급 기타 · 회덕화물역 km 검증 · 컴팩트 팝업

소요 시간: 40분 Context 사용량: input 약 470k / output 약 38k tokens

1. 화면 POI 라벨 — '구분' 우선

  • StationOverlay.tsx guboonOf() 추가.
  • poiCand/poiMarkers/LabelCache 에 label 필드(=구분 값 있으면 그 값, 없으면 title) 추가.
  • 캔버스 라벨이 poiA.label 사용. (matching/override 키는 title 유지.)

2. 시설등급에 '기타' 추가

  • settingsStore.ts KNOWN_GRADES에 '기타' 추가, DEFAULT_GRADE_FILTER['기타']=true.
  • VideoPlayer 필터 UI는 KNOWN_GRADES.map이라 자동 노출. isGradeVisible 규칙상 '기타'도 토글 대상이 됨.

3. 회덕화물역 스테이션바 값 = 157K990 (검증)

  • 실데이터 검증: 회덕화물역 최근접 프레임 762(16.6m)·재접근 3647(44.7m) 둘 다 chain→157k990. 마커 km 라벨은 이미 157k990 산출.
  • 주의(미해결): 회덕화물역이 양끝 스냅으로 t=0(좌측 끝)에 붙어 있어, 마커로 seek 시 커서는 영상 시작(≈157k900) 위치를 보임 → 마커값(157k990)과 불일치. 시작점도 방식1(시간축 재기준화)로 맞추려면 추가 작업 필요(사용자 확인 대기).

4. 화면 POI 컴팩트 팝업 + 클릭 시 전체

  • compactFieldsOf() 추가: 시설종별 / 구조형식(상부구조형식) / 연장(m) 중 존재하는 것만.
  • poiMarkers에 compact 미리계산. 캔버스에서 라벨 아래 반투명 박스로 항상 표시.
  • 히트박스를 컴팩트 박스까지 확장 → 클릭 시 기존 전체 속성 DOM 팝업 오픈.
  • 성능: DOM 팝업 남발 대신 캔버스 드로잉(라벨과 함께 매 프레임, 구조물만 대상).

검증

  • tsc --noEmit 통과, 클라이언트 재빌드, pm2 ghiVideo 재기동, HTTP 200.