perf: 렌더링 성능 최적화 + 환적 Python 이관 + 중국어선감시 통합 #158

병합
htlee perf/rendering-optimization 에서 develop 로 9 commits 를 머지했습니다 2026-03-23 13:16:25 +09:00
Showing only changes of commit e06a35cd1e - Show all commits

파일 보기

@ -4,6 +4,28 @@
## [Unreleased]
### 추가
- 환적탐지 Python 이관: 프론트엔드 O(n²) 근접탐지 → 서버사이드 그리드 공간인덱스 O(n log n)
- 필터 배지 클릭 → 대상 선박 목록 패널 (MMSI/이름/국적/유형/속도) + CSV 다운로드
- 중국어선감시 KoreaFilters 통합: 다른 감시 탭과 동일한 선박 비활성화/배지/카운트 동작
- 중국 어구그룹 감시 배지: 어구그룹 수(고유 모선명) 기준 집계
### 변경
- deck.gl updateTriggers 적용: 줌 변경 시 레이어 accessor 재평가 최소화
- 선박 카테고리/국적 토글: JS-level 배열 필터링 → MapLibre GPU-side filter 표현식
- Ship.mtCategory/natGroup 사전 계산: Set.has() O(1) 필터 룩업 (getMarineTrafficCategory 매번 호출 제거)
- LIVE 모드: currentTime 의존성 분리 → 매초 선박 재계산 제거
- 분석 레이어 데이터/스타일 useMemo 분리: 줌 변경 시 ships 필터링 스킵
- SVG 데이터 URI 모듈 레벨 캐싱
### 수정
- 비허가 어구 그룹: 2개 이상일 때만 그룹 탐지/폴리곤 생성
- 한국 필터 토글 시 선박 표시 복원 (anyKoreaFilterOn 조건 분기)
- 필터별 개별 탐지 카운트 (합산 → 탭별 분리)
- 헤더 1행 배치 (flex-wrap:nowrap), 이란 mode-toggle 좌측/지도 모드 중앙
- onPick useCallback 안정화 (매 렌더 28개 정적 레이어 재생성 방지)
- 감시 목록 Flag 빈값 표기: '??' → '-'
## [2026-03-23.3]
### 변경