- publish 영역 lazy loading 적용 (빌드 시 tree-shaking)
- Toast 공통 컴포넌트 추가
- assetPath 유틸 추가 (BASE_URL 기반 경로 해석)
- csvDownload 유틸 추가
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
[TopBar 구현]
- 좌표 표시 (마우스 위치 실시간 표시, 도분초/도 토글)
- 시간 표시 (UTC/KST 토글)
- 선박 검색 기능 (like 검색, 디바운싱)
- 지도/선박 모드 토글 버튼
[추적 모드 기능]
- PatrolShipSelector: 경비함정 선택 패널
- 검색 기능 (함정명/ID like 검색)
- 반경 설정 (10/25/50/100/200 NM)
- 스크롤 가능한 함정 목록
- ShipContextMenu: 반경설정 서브메뉴 추가
- 단일 경비함정 우클릭 시 반경 선택 가능
- 화면 위치에 따른 서브메뉴 방향 자동 조정
[반경 필터링]
- 선박 렌더링: 반경 내 선박만 표시
- 범례 카운트 계산: 반경 내 선박 수 표시
- 검색 결과: 추적 모드 시 반경 내 선박만 검색
- Haversine 거리 계산 + Bounding Box 사전 필터링
[추적 선박 표시]
- ScatterplotLayer 3중 구조 (외곽링, 내부원, 중심점)
- 추적 중인 경비함정 위치에 시각적 마커 표시
- integrate 플래그를 활용한 통합선박 판별 로직 추가
- shipStore.js: buildDynamicPrioritySet에 integrate 조건 추가
- ShipBatchRenderer.js: 카운트 로직에 integrate 조건 추가
- shipLayer.js: isIntegratedShip 함수 개선
- 선박 모달 생성 로직 개선
- openDetailModal에서 레이더 대표 선박 자동 교체
- 통합선박의 비레이더 신호원 우선순위 기반 선택
- 모달 신호상태 아이콘 표시 통일
- ShipDetailModal.jsx: SignalFlags에 integrate 조건 추가
- 선박 아이콘과 모달의 신호상태 표시 로직 통일
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Vite 마이그레이션, OpenLayers+Deck.gl 지도 연동
- STOMP WebSocket 선박 실시간 데이터 수신
- 선박 범례/필터/카운트, 다크시그널 처리
- Ctrl+Drag 박스선택, 우클릭 컨텍스트 메뉴
- 측정도구, 상세모달, 호버 툴팁
- darkSignalIds Set 패턴, INSHORE/OFFSHORE 타임아웃
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>