커밋 그래프

334 커밋

작성자 SHA1 메시지 날짜
f0094c21d3 Merge pull request 'release: 2026-03-25.2 (5건 커밋)' (#201) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 2m18s
2026-03-25 12:41:14 +09:00
b0bb0fe33d Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-25)' (#200) from release/2026-03-25.2 into develop 2026-03-25 12:40:52 +09:00
9bdda775c4 docs: 릴리즈 노트 정리 (2026-03-25) 2026-03-25 12:40:39 +09:00
c9411658b2 Merge pull request 'feat: 분석 용어/색상 통일 + 경량 분석 + 항적 미니맵' (#199) from feature/unified-analysis-alerts into develop 2026-03-25 12:40:17 +09:00
7750d11de5 docs: 릴리즈 노트 업데이트 2026-03-25 12:39:55 +09:00
1bf70f46ac feat: 분석 용어/색상 통일 + 경량 분석 + 항적 미니맵
- AI분석/현장분석/보고서 위험도 용어 통일 (HIGH→WATCH, MEDIUM→MONITOR, LOW→NORMAL)
- 공통 riskMapping.ts: ALERT_COLOR/EMOJI/LEVELS, RISK_TO_ALERT, STATS_KEY_MAP
- deck.gl 오버레이 색상 현장분석 팔레트로 통일
- Python 경량 분석: 파이프라인 미통과 412* 선박에 위치 기반 간이 AnalysisResult 생성
- 현장분석 fallback 제거: classifyStateFallback/classifyFishingZone → Python 결과 전용
- 보고서 위험 평가: Python riskCounts 실데이터 기반으로 전면 교체
- 현장분석 우측 패널: 항적 미니맵 (72시간, fetchVesselTrack API)
- 현장분석 좌측 패널: 위험도 점수 기준 섹션 추가
2026-03-25 12:39:22 +09:00
f1f965fcd4 Merge pull request 'release: 2026-03-25.1 (5건 커밋)' (#198) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m55s
2026-03-25 10:47:37 +09:00
3e723752af Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-25)' (#197) from release/2026-03-25.1 into develop 2026-03-25 10:47:14 +09:00
cfef5f7316 docs: 릴리즈 노트 정리 (2026-03-25) 2026-03-25 10:46:55 +09:00
51064212dc Merge pull request 'refactor: 현장분석/보고서 더미 데이터를 실데이터로 전환' (#196) from feature/dummy-to-real-data into develop 2026-03-25 10:45:23 +09:00
672591258d docs: 릴리즈 노트 업데이트 2026-03-25 10:44:58 +09:00
98c81cd548 refactor: 현장분석/보고서 더미 데이터를 실데이터로 전환
- AI 파이프라인 PROC 순환 애니메이션 → analysisMap 기반 ON/OFF 상태
- BD-09 STANDBY → bd09OffsetM 실측 탐지 수 표시
- 보고서 수역별 허가업종: ZONE_ALLOWED 상수 동적 참조
- 건의사항: 월/최대 어구 선단 실데이터 연동
- 보고서 버튼: 헤더 → 현장분석 내부로 이동
2026-03-25 10:44:28 +09:00
ebde2dd4cf Merge pull request 'release: 2026-03-25.2 (50건)' (#195) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 2m5s
2026-03-25 09:33:40 +09:00
308be14b4f Merge pull request 'feat: 어구 마름모 아이콘 + 리플레이 모선 색상 구분' (#194) from feature/gear-diamond-icon into develop 2026-03-25 09:33:29 +09:00
caaedfa5e2 feat: 어구/어망 마름모 아이콘 분리 + 리플레이 모선 색상 구분
- gear-diamond SDF 이미지 등록 (ShipLayer.tsx)
- 라이브/가상/히스토리 전 레이어에서 어구 패턴 → 마름모, 회전 없음
- 모선/선단 선박은 삼각형 유지 (isGear 속성 기반 분기)
- 어구 아이콘 크기 80% 축소 (baseSize 0.14→0.11, 히스토리 0.7→0.55)
- 리플레이 시 모선 아이콘/라벨 노란색(#fbbf24) 구분

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 09:33:10 +09:00
a556e5f434 Merge pull request 'release: 2026-03-25.1 (halo fix)' (#193) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m53s
2026-03-25 07:43:56 +09:00
25d446731f Merge pull request 'fix: 가상선박 아이콘 SDF halo 아티팩트 제거' (#192) from release/2026-03-25 into develop 2026-03-25 07:43:45 +09:00
a6e91a8e81 fix: 가상선박 아이콘 SDF halo 아티팩트 제거
- 모선 icon-halo-color 노란색 제거 (SDF 바운딩박스 채움 현상)
- halo 통일: rgba(0,0,0,0.6) / width 0.5

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 07:43:24 +09:00
2fc8b1d785 Merge pull request 'release: 2026-03-25 (46건 커밋)' (#191) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m55s
2026-03-25 07:38:53 +09:00
29f3bc3186 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-25)' (#190) from release/2026-03-25 into develop 2026-03-25 07:38:17 +09:00
d37a7dfa78 docs: 릴리즈 노트 정리 (2026-03-25)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 07:37:59 +09:00
be9fd3c6cb Merge pull request 'fix: 분석 파이프라인 정확도 개선 + 폴리곤 히스토리 애니메이션' (#189) from fix/analysis-pipeline-accuracy into develop 2026-03-25 07:37:26 +09:00
8f9b347e1f feat: 폴리곤 히스토리 애니메이션 + 어구 추적 안정화
- FleetClusterLayer: 12시간 타임라인 기반 폴리곤 재생 애니메이션
  - 중심 이동 궤적 (점선) + 어구별 개별 궤적 (실선)
  - 가상 어구/선박 아이콘 COG 회전 + 스냅샷 동기화
  - 재생 컨트롤러: 재생/일시정지 + 프로그레스 바 (드래그/클릭)
  - 신호없음 구간: 마지막 유효 스냅샷 유지 + 회색 점선 표시
  - 히스토리 모드 시 현재 강조 레이어 (deck.gl + MapLibre) 숨김
  - ESC 키: 히스토리 닫기 + 선택 해제
- polygon_builder: STALE_SEC 3600→21600 (6시간, 어구 P75 갭 3.5h 커버)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 07:33:48 +09:00
7573c84e91 fix: 분석 파이프라인 정확도 개선 + 캐시 증분 갱신 + TTS 프록시
- MIN_TRAJ_POINTS 100→20 (16척→684척, 파이프라인 병목 해소)
- risk.py: SOG 급변 count를 위험도 점수에 반영 (+5/+10)
- spoofing.py: BD09 오프셋 중국 MMSI(412*) 예외 (좌표계 노이즈 제거)
- fishing_pattern.py: 마지막 조업 세그먼트 누락 버그 수정
- VesselAnalysisService: 인메모리 캐시 + 증분 갱신 (warmup 2h → incremental)
- nginx: /api/gtts 프록시 추가 (Google TTS CORS 우회)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-25 06:48:27 +09:00
e30dcb74ad Merge pull request 'release: 2026-03-24.4 (41건 커밋)' (#188) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m51s
2026-03-24 16:27:01 +09:00
eb6e51c8a0 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-24.4)' (#187) from release/2026-03-24.4 into develop 2026-03-24 16:26:35 +09:00
8f77b68bef docs: 릴리즈 노트 정리 (2026-03-24.4)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:26:12 +09:00
69c18e0237 Merge pull request 'feat: 작전가이드/보고서 모달 병합 + 어구 그룹 섹션 자동 전환' (#186) from merge/korea-layers-enhancement into develop 2026-03-24 16:25:19 +09:00
a3ba0d070b feat: 작전가이드/보고서 모달 병합 + 어구 그룹 섹션 자동 전환
- feature/korea-layers-enhancement 브랜치 기능 이식 (develop 구조 적용)
- OpsGuideModal: 경비함정 작전가이드 3탭 + 임검침로 해상 루트 + TTS
- ReportModal: 중국어선 감시현황 자동 보고서 생성
- KoreaMap: buildSeaRoute (육지 우회) + externalFlyTo + opsRoute 렌더링
- KoreaDashboard: 작전가이드/보고서 버튼 + 모달 상태 관리
- vite.config: /api/gtts 프록시 추가 (Google TTS CORS 우회)
- FleetClusterLayer: 지도 어구 클릭 시 해당 섹션 자동 오픈 + 스크롤

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 16:24:38 +09:00
07d47c999e Merge pull request 'release: 2026-03-24.3 (37건 커밋)' (#185) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m51s
2026-03-24 15:57:20 +09:00
686f259a72 Merge pull request 'feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선' (#184) from feature/korea-server-analysis-integration into develop 2026-03-24 15:55:55 +09:00
433141a3e8 feat: AI 분석 통계 서버사이드 전환 + 어구/선단 UI 개선
- Backend: /api/vessel-analysis 응답에 stats 집계 필드 추가
- Backend: GroupPolygonService.getGearStats() 어구 SQL 집계
- Frontend: 클라이언트 사이드 stats/gearStats 계산 로직 완전 제거
- Frontend: 가상 선박 마커, 어구 겹침 팝업, 패널 아코디언
- Frontend: cnFishingSuspects에 모선 포함
- Python: vessel_store COG bearing 계산 (마지막 2점 기반)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-24 15:55:15 +09:00
1029e07432 Merge pull request 'release: 2026-03-24.4 (캐시 TTL 수정)' (#183) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m56s
2026-03-24 14:21:16 +09:00
f5ffb4c079 Merge pull request 'fix(backend): 그룹 폴리곤 캐시 TTL 5분 제한' (#182) from fix/group-polygon-cache-ttl into develop 2026-03-24 14:21:15 +09:00
205de674bb fix(backend): 그룹 폴리곤 캐시 TTL 5분 제한
- Caffeine 전역 TTL(2일) 대신 서비스 내 수동 5분 TTL 체크
- 5분마다 DB에서 최신 스냅샷 재조회 보장
2026-03-24 14:20:53 +09:00
89786f1ec3 Merge pull request 'release: 2026-03-24.3 (어구그룹 탐지 수정)' (#181) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m48s
2026-03-24 14:18:24 +09:00
7d9cfe4456 Merge pull request 'fix(prediction): 어구그룹 탐지 — 전체 AIS 선박 대상으로 확장' (#180) from fix/gear-group-detection into develop 2026-03-24 14:18:13 +09:00
4c22d5f1f9 fix(prediction): 어구그룹 탐지 — 전체 AIS 선박 대상으로 확장
- detect_gear_groups: vessel_dfs(분류 대상만) → vessel_store.get_all_latest_positions()(전체 14K선박)
- build_all_group_snapshots: 동일하게 all_positions 기반으로 전환
- vessel_store: get_all_latest_positions() 메서드 추가
- 결과: 0 gear groups → 210 gear groups (GEAR_IN_ZONE 57, GEAR_OUT_ZONE 45)
2026-03-24 14:17:44 +09:00
03747d3c63 Merge pull request 'release: 2026-03-24.2 (폴리곤 서버사이드 이관)' (#179) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 1m55s
2026-03-24 14:09:37 +09:00
bbe8bf3570 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-24.2)' (#178) from release/2026-03-24.2 into develop 2026-03-24 14:09:20 +09:00
f5654477b2 docs: 릴리즈 노트 정리 (2026-03-24.2) 2026-03-24 14:09:03 +09:00
020cc12197 Merge pull request 'feat: 선단/어구그룹 폴리곤 서버사이드 이관 + 히스토리 추적' (#177) from feature/server-side-polygons into develop 2026-03-24 14:08:37 +09:00
f24eedbd9e docs: 릴리즈 노트 업데이트 2026-03-24 14:08:07 +09:00
00067fa165 fix: 불법어선 탭 복원 (임시 숨김 해제) 2026-03-24 14:05:50 +09:00
9cad89113d feat(frontend): FleetClusterLayer 서버사이드 폴리곤 전환
- vesselAnalysis.ts: GroupPolygonDto 타입 + fetchGroupPolygons/Detail/History
- useGroupPolygons.ts: 5분 폴링 훅 (fleetGroups/gearInZone/gearOutZone)
- FleetClusterLayer: 클라이언트 convexHull/padPolygon 제거 → API GeoJSON 렌더링
- KoreaDashboard/KoreaMap: groupPolygons 훅 연결 + props 전달
2026-03-24 13:42:14 +09:00
b0fafca8c9 feat(backend): 그룹 폴리곤 API — 목록/상세/히스토리 엔드포인트
- GroupPolygonController: GET /api/vessel-analysis/groups (목록, 상세, 히스토리)
- GroupPolygonService: JdbcTemplate + ST_AsGeoJSON + Caffeine 5분 캐시
- GroupPolygonDto: GeoJSON polygon + members JSONB 응답 구조
- CacheConfig: GROUP_POLYGONS 캐시 키 추가
2026-03-24 13:32:36 +09:00
2441e3068a feat(prediction): 선단/어구그룹 폴리곤 서버사이드 생성 + PostGIS 저장
- DB migration 009: group_polygon_snapshots 테이블 (PostGIS geometry)
- polygon_builder.py: Shapely 기반 convex hull + buffer 폴리곤 생성
- scheduler.py: 5분 주기 분석 사이클에 폴리곤 생성 Step 4.5 통합
- fleet_tracker.py: get_company_vessels() 메서드 추가
- kcgdb.py: save_group_snapshots(), cleanup_group_snapshots() 추가
- requirements.txt: shapely>=2.0 추가
2026-03-24 13:30:31 +09:00
5384092b21 Merge pull request 'release: 2026-03-24.1 (5건 커밋)' (#176) from develop into main
All checks were successful
Deploy KCG / deploy (push) Successful in 2m0s
2026-03-24 10:18:04 +09:00
053ab25ae7 Merge pull request 'docs: 릴리즈 노트 정리 (2026-03-24)' (#175) from release/2026-03-24.1 into develop 2026-03-24 10:16:57 +09:00
360ca0e382 docs: 릴리즈 노트 정리 (2026-03-24) 2026-03-24 10:16:34 +09:00