커밋 그래프

185 커밋

작성자 SHA1 메시지 날짜
1980463904 Merge remote-tracking branch 'origin/develop' into feature/hns-substance-db-expansion 2026-04-17 11:08:47 +09:00
26b86a5a4b feat(hns): HNS 물질 DB 데이터 확장 및 임포트 스크립트 개선 2026-04-17 11:00:46 +09:00
c5dc5c60c5 fix: 빌드 에러 수정 - 타입 import 정리 및 미사용 코드 제거 2026-04-17 10:53:57 +09:00
9f4a578af3 Merge remote-tracking branch 'origin/develop' into feature/hns-substance-db-expansion
# Conflicts:
#	frontend/src/common/types/hns.ts
#	frontend/src/components/hns/components/HNSSubstanceView.tsx
2026-04-17 09:49:04 +09:00
1a31795970 feat(hns): HNS 물질 DB 확장 및 데이터 구조 개선 2026-04-17 09:38:06 +09:00
13bda6d15b fix(incidents): MPA 리팩토링 누락 imports 정리
- IncidentsView: SplitPanelContent 중복 import 제거 (contents/ 스텁 미사용)
- predictionApi: fetchOilSpillSummary 이관 (PredictionInterface의 api 미임포트로 사실상 동작불가 함수였음)
- AnalysisSelectModal, hnsDispersionLayers: @tabs/→@components/+@interfaces/, @common/components/→@components/common/
2026-04-17 08:14:21 +09:00
a6b0e92a8e Merge branch 'develop' into feature/mpa-develop 2026-04-16 18:13:54 +09:00
38d931db65 refactor(mpa): 탭 디렉토리를 MPA 컴포넌트 구조로 재편
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-16 17:38:49 +09:00
1da2553694 feat(incidents): 통합 분석 패널 분할 뷰 및 유출유 확산 요약 API 추가
- Incidents 통합 분석 시 이전 분석 결과를 분할 화면으로 표출
- 유출유/HNS/구난 분석 선택 모달(AnalysisSelectModal) 추가
- prediction /analyses/:acdntSn/oil-summary API 신규 (primary + byModel)
- HNS 분석 생성 시 acdntSn 연결 지원
- GSC 사고 목록 응답에 acdntSn 노출
- 민감자원 누적/카테고리 관리 및 HNS 확산 레이어 유틸(hnsDispersionLayers) 추가
2026-04-16 15:24:06 +09:00
7fa3fa6a2e feat(hns): AEGL 등농도선 및 자동 줌/동적 도메인 추가
- 등농도선(marching squares) 레이어 추가 — AEGL-1/2/3 경계선 PathLayer 표출
- 풍속 기반 sim 도메인 동적 산정 (L = 10~50km)
- 히트맵 영역 기준 지도 자동 fit-bounds
- 분석 복원 시 spilUnitCd로 연속/순간 유출 분기
- admin 패널 전반 디자인 토큰 정리 (color-danger, accent rgba)
2026-04-16 10:30:42 +09:00
1f66723060 feat(incidents): 통합 분석 패널 HNS/구난 연동 및 사고 목록 wing.ACDNT 전환
- 우측 패널에 HNS 대기확산/긴급구난 완료 이력 목록 및 체크박스 연동
- incidents 목록에 hasHnsCompleted/hasRescueCompleted 플래그 추가
- hns/rescue 목록 API에 acdntSn 필터 추가
- /gsc/accidents 셀렉트박스 소스를 gsc.tgs_acdnt_info → wing.ACDNT 로 전환
- gsc → wing.ACDNT 동기화 마이그레이션 032 추가
2026-04-15 17:31:28 +09:00
2d6827c0a9 Merge branch 'develop' into feature/mpa-develop 2026-04-15 16:50:30 +09:00
2082e9a79b refactor(map): TimelineControl 분리 및 aerial/hns 컴포넌트 개선 2026-04-15 16:49:00 +09:00
29c5293ce7 feat(vessels): 실시간 선박 신호 지도 표출 및 폴링 스케줄러 추가
- 백엔드 vessels 라우터/서비스/스케줄러 추가 (1분 주기 한국 해역 폴링)
- 공통 useVesselSignals 훅 + vesselApi/vesselSignalClient 서비스 추가
- MapView에 VesselLayer/VesselInteraction/MapBoundsTracker 통합 (호버·팝업·상세 모달)
- OilSpill/HNS/Rescue/Incidents 뷰에 선박 신호 연동
- vesselMockData 정리, aerial IMAGE_API_URL 기본값 변경
2026-04-15 14:40:28 +09:00
279dcbc0e1 chore: develop 머지 충돌 해결 2026-04-15 08:13:12 +09:00
3eb66e2e54 refactor(map): MapView 컴포넌트 분리 및 전체 탭 디자인 시스템 토큰 적용 2026-04-14 17:20:01 +09:00
15ca946a00 feat(prediction): GSC 외부 사고 목록 API 연동 및 셀렉트박스 자동 채움 (prediction/hns/rescue) 2026-04-14 17:11:38 +09:00
fef7583eb5 chore: develop 머지 충돌 해결 2026-04-14 11:22:19 +09:00
547e83e617 refactor(design): 폰트 업스케일 토큰 적용 및 전체 탭 디자인 시스템 색상·폰트 통일 2026-04-14 11:05:28 +09:00
28931d9a5e Merge remote-tracking branch 'origin/feature/admin-deidentify' into merge/admin-deidentify-test 2026-04-14 10:43:56 +09:00
2640d882da feat(incidents): 이미지 분석 연동 강화 및 사고 팝업 리뉴얼
- 사고별 이미지 분석 API 및 항공 미디어 조회 연동
- 사고 마커 팝업 디자인 개선, 필터링된 사고만 지도 표시
- 이미지 분석 시 사고명 파라미터 지원, 기본 예측시간 6시간으로 변경
- 유출량 정밀도 NUMERIC(14,10) 확대 (migration 031)
- OpenDrift 유종 매핑 수정 (원유, 등유)
2026-04-13 16:41:56 +09:00
Nan Kyung Lee
387e2a2e40 feat(rescue): 긴급구난/예측도 OSM 지도 적용 및 관리자 패널 추가
- RescueView: CenterMap을 MapView(useBaseMapStyle) 기반 OSM 지도로 교체
- RescueScenarioView: BASE_STYLE → useBaseMapStyle로 전환하여 OSM 통일
- 긴급구난 시나리오 시드 데이터 10건으로 확장 (모델 이론 기반)
- 관리자 비식별화조치 R&D 패널 5종 추가 (HNS대기, KOSPS, POSEIDON, Rescue, 시스템아키텍처)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 19:46:12 +09:00
Nan Kyung Lee
1142e0cc46 feat(admin): 비식별화조치 메뉴 및 패널 추가
연계관리 하위에 비식별화조치 메뉴를 추가하고, 작업 관리 그리드·5단계 마법사·감사로그 모달을 구현

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 07:04:20 +09:00
5de10662a7 feat(design): HNS·사건사고·확산예측·SCAT·기상 탭 디자인 시스템 토큰 적용 2026-04-09 18:13:10 +09:00
7e0da5ea76 feat(hns): 파티클 렌더링 성능 최적화 및 위험도 뱃지 동적 표시
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-09 16:52:14 +09:00
9e51651fc7 Merge remote-tracking branch 'origin/develop' into feature/design-system-refactoring
# Conflicts:
#	docs/RELEASE-NOTES.md
#	frontend/src/common/components/map/MapView.tsx
#	frontend/src/tabs/incidents/components/DischargeZonePanel.tsx
#	frontend/src/tabs/incidents/components/IncidentsView.tsx
2026-04-07 18:02:57 +09:00
109c0d2480 feat(design): 디자인 시스템 토큰 적용 및 Float 카탈로그 추가 2026-04-07 17:30:42 +09:00
fbdf0e9122 refactor(prediction): layerColors 상태를 OilSpillView로 끌어올림
InfoLayerSection 내부 상태였던 layerColors를 OilSpillView에서
관리하도록 변경하여 MapView에 색상 정보를 전달할 수 있도록 함.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 22:31:08 +09:00
646fa38f39 feat(map): SR 민감자원 벡터타일 오버레이 컴포넌트 추가
SrOverlay: Martin SR 스타일 JSON 기반 동적 벡터타일 레이어 렌더링.
srStyles: 레이어 타입별 opacity/color 속성 키 헬퍼.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 22:29:56 +09:00
e4b9c3e5dd refactor(map): 지도 항상 라이트 모드로 고정
useBaseMapStyle에서 테마 구독 제거, 항상 LIGHT_STYLE 반환.
MapView lightMode를 true로 고정하여 앱 다크 모드와 무관하게
지도는 라이트 모드로 표시.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-06 22:27:39 +09:00
7921bfef96 refactor(map): lightMode prop 제거, useThemeStore 기반 테마 전환으로 통합 2026-04-06 12:35:32 +09:00
77d36ec8d0 refactor(incidents): 대한민국 해리 GeoJSON 데이터 갱신
3/12/25/50해리 구역 GeoJSON 파일 데이터 업데이트
2026-04-03 13:12:31 +09:00
c4b9b85b24 Merge branch 'develop' of https://gitea.gc-si.dev/gc/wing-ops into feature/hns
# Conflicts:
#	frontend/src/tabs/incidents/components/DischargeZonePanel.tsx
#	frontend/src/tabs/incidents/utils/dischargeZoneData.ts
2026-04-03 10:53:13 +09:00
5ea904fc3a refactor(incidents): 배출규정 구역 GeoJSON 파일을 대한민국 해리 데이터로 교체
기존 TB_ZN_TRTSEA 기반 영해기선/버퍼 GeoJSON 6개 삭제, 대한민국 해리 GeoJSON 5개로 교체 및 fetch 경로 수정
2026-04-03 10:46:57 +09:00
7cdbc8664f feat(incidents): 해양 오염물질 배출규정 구역 판별 기능 추가
- GeoJSON 기반 영해기선 거리 계산 및 구역(3/12/25/50해리) 판별
- point-in-polygon 및 point-to-segment 거리 알고리즘 적용
- 해양환경관리법 제22조 기반 배출 규정 표출
- 서해 NLL 경로 좌표 추가 (백령도 부근까지 연장)
2026-04-03 08:40:39 +09:00
76ab75f561 Merge branch 'develop' into feature/design-system-font 2026-04-02 16:48:48 +09:00
c7b0b7a3c2 feat(design): HNS/예측/구조 탭 디자인 시스템 폰트 및 색상 토큰 전환 2026-04-02 16:21:58 +09:00
08bcfbf24d fix(map): S57 ENC 오버레이 스타일 로드 완료 대기 후 레이어 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 19:08:34 +09:00
a0be19d060 feat(design): 디자인 시스템 폰트 및 시맨틱 토큰 전면 적용 2026-04-01 10:15:53 +09:00
dafd6cc1ac fix(map): S57 ENC 오버레이 타일/sprite/glyphs URL을 절대경로로 변환 2026-04-01 09:15:58 +09:00
a474cf6d1d fix(map): S57 ENC sprite URL에 origin 프리픽스 추가
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-01 08:55:26 +09:00
0da3adb793 fix(map): S57EncOverlay API URL을 공유 API_BASE_URL로 통합
- VITE_API_URL 하드코딩 제거 → @common/services/api의 API_BASE_URL 사용
2026-04-01 08:27:41 +09:00
a86188f473 feat(map): 전체 탭 지도 배경 토글 통합 및 기본지도 변경
- 지도 스타일 상수를 mapStyles.ts로 추출
- useBaseMapStyle 훅 생성 (mapToggles 기반 스타일 반환)
- 9개 탭 컴포넌트의 하드코딩 스타일을 공유 훅으로 교체
- 각 Map에 S57EncOverlay 추가
- 초기 mapToggles를 모두 false로 변경 (기본지도 표시)
2026-03-31 17:56:40 +09:00
5a792bb53c feat(map): S-57 전자해도(ENC) 오버레이 레이어 추가
- ENC 타일 프록시 엔드포인트 추가 (style, sprite, font, globe, enc 벡터타일)
- S57EncOverlay 컴포넌트 구현 (공식 style.json 기반 레이어 동적 추가/제거)
- 맵 토글 라디오 버튼 방식으로 변경 (한 번에 하나만 활성화)
- 언마운트 시 map.style 파괴 상태 안전 처리
2026-03-31 16:56:02 +09:00
0e6d63f1f0 Merge remote-tracking branch 'origin/develop' into feature/predict-develop
# Conflicts:
#	docs/RELEASE-NOTES.md
#	frontend/src/common/components/map/BacktrackReplayBar.tsx
#	frontend/src/tabs/prediction/components/BacktrackModal.tsx
2026-03-31 15:05:08 +09:00
d8a5acc1e6 feat(theme): 다크/라이트 테마 전환 기능 및 시맨틱 컬러 토큰 적용 2026-03-31 14:57:25 +09:00
5e2076647c refactor(design): 디자인 시스템 토큰 시맨틱 네이밍 전환 및 PretendardGOV 폰트 적용 2026-03-31 09:46:12 +09:00
e2254cc960 feat(tiles): VWorld 위성타일 백엔드 프록시 추가
VITE_VWORLD_API_KEY를 프론트엔드에서 직접 사용하던 방식에서
백엔드 프록시(/api/tiles/vworld)를 통해 API 키를 서버에서 관리하도록 변경.
CORS 우회 + API 키 보호 효과.
2026-03-30 14:46:37 +09:00
3a224ea649 feat(prediction): 역추적 리플레이 역방향 예측 파티클 표시 및 플레이어 개선
- Python 역방향 시뮬레이션 결과(backwardParticles)를 rsltData에 저장
- 리플레이 중 역방향 파티클을 보라색(#a855f7) ScatterplotLayer로 표시
- 전체 파티클 경로 외각을 컨벡스 헐 PolygonLayer로 표시
- 재생 완료 후 재생 버튼 클릭 시 처음부터 재시작 (↺ 아이콘)
- 재생 바 드래그 시크 기능 추가 (onMouseDown + document mousemove/mouseup)
2026-03-27 17:34:28 +09:00
e285f2330f feat(prediction): 역추적 분석 엔진 및 동적 파라미터 입력 기능 구현
- 백엔드: backtrackAnalysisService 신규 개발
  * AIS 기반 선박 항적 API 연동 및 공간 조회
  * 공간(40%)/시간(25%)/행동(20%)/선박유형(15%) 가중치 위험도 점수 산정
  * 상위 5척 리플레이 데이터 및 충돌 이벤트 생성
  * Python 서버 미연동 시 폴백 메커니즘 제공
- 백엔드: 역추적 생성 시 동기 분석 → BacktrackResult 즉시 반환
- 프론트엔드: 모달에서 유출 시각/분석 범위/탐색 반경 직접 입력 가능
- 프론트엔드: 리플레이 바에 실제 분석 시간 범위 동적 표시
- DB: AIS_TRACK 테이블 신규 생성 (선박 항적 이력 + GIS 인덱스)
2026-03-27 14:57:00 +09:00