Files
GhiVideo_v4/docs/history/2026-06-24_0941_화면표시옵션-기본값버튼-툴팁.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

2.5 KiB
Raw Blame History

화면표시 옵션 — "기본값" 버튼 + 설명문구 툴팁화

날짜: 2026-06-24 수정 파일: client/src/components/overlay/StationOverlay.tsx

요구

  1. 화면표시 옵션 창 우측 하단에 "기본값" 버튼 → 누르면 옵션 일괄 복귀.
  2. 컨트롤 사이의 설명문구가 세로 공간을 차지 → 마우스 오버 툴팁으로 바꿔 패널 높이 축소.

구현

1. 기본값(DISPLAY_DEFAULTS) + 버튼

  • 사용자 확정 기본값(스크린샷 기준)을 모듈 상수로 정의, useState 초기값과 단일 출처 공유:
    const DISPLAY_DEFAULTS = {
      showCenterline: true, showDronePath: true,
      dronePathZ: 58, dronePathAlpha: 0.75,
      smoothHalf: 60, emaAlpha: 1.0,
      maxPoiFront: 310, maxPoiSide: 135,
      poiDroneHeight: true, droneHeightDrop: 24,
    };
    
    (이전 코드 기본값 dronePathZ 78 / maxPoiFront 240 / maxPoiSide 80 → 스크린샷 값으로 갱신.)
  • resetDisplayDefaults() 콜백이 위 10개 상태를 일괄 set. POI 보정/편집모드는 제외(별도 "보정 초기화" 유지).
  • 패널 최하단에 카메라 패널의 "초기화"와 동일한 스타일의 "기본값" 버튼(우측 정렬) 추가.
  • 참고: localStorage 영속화 대상(maxPoiFront/Side·smoothHalf·emaAlpha·params)은 버튼 클릭 후 디바운스 저장으로 기본값이 유지됨. 나머지(dronePathZ 등)는 원래 세션 한정.

2. 설명문구 → 툴팁

  • ParamRowtip?: string 추가: 있으면 라벨에 점선 밑줄 + 마우스오버 네이티브 툴팁(title).
  • 별도 InfoTip 컴포넌트(작은 , title 툴팁) 추가 → 섹션 헤더용.
  • 기존 text-gray-600 설명 div 6개 제거하고 해당 컨트롤/헤더의 tip으로 이전:
    기존 설명 div 이전 위치
    GPS 측정점 표고/α 경로표고·투명도 ParamRow tip
    ±fr=±ms smooth ParamRow tip
    α→lag ms EMA α ParamRow tip
    진행방향 앞/옆 이내 표시 POI 앞쪽·옆쪽 ParamRow tip
    POI 드론 아래 배치 이격거리 ParamRow tip
    편집/DEM 안내 "POI 위치 편집" 헤더 InfoTip
  • 편집모드 안내문(긴 1줄)도 헤더 툴팁으로 이전, 상태줄은 보정된 POI N개/드래그 중만 표시.
  • 동적 수치(ms·lag·현재값)는 툴팁 문자열에 그대로 보간 → 정보 손실 없음.

검증

  • npm run build -w client (node20) tsc + vite build 통과.

소요 시간: 약 25분 Context 사용량: input ~140k / output ~9k tokens