wing-ops/docs/RELEASE-NOTES.md

17 KiB

Release Notes

이 문서는 Keep a Changelog 형식을 따릅니다.

[Unreleased]

[2026-04-17]

추가

  • HNS: 분석 목록 서버사이드 페이지네이션 추가 및 대기확산 히트맵 렌더링 개선
  • HNS: 물질 DB 데이터 확장 및 데이터 구조 개선 (PDF 추출 스크립트, 병합 스크립트 개선, 물질 상세 패널 업데이트)

변경

  • 디자인 시스템: color 토큰 Definition 팔레트로 마이그레이션 (bg/stroke/fg 쿨톤 전환, Primary #0099DD 적용)

수정

  • 빌드 에러 수정 - 타입 import 정리 및 미사용 코드 제거

[2026-04-16]

추가

  • HNS: AEGL 등농도선 표출 및 자동 줌·동적 도메인 기능 추가
  • 사건사고: 통합 분석 패널 HNS/구난 연동 및 사고 목록을 wing.ACDNT 기반으로 전환
  • 사건사고: 통합 분석 패널 분할 뷰 및 이전 분석 결과 비교 표출 + 분석 선택 모달 추가
  • 확산예측: 유출유 확산 요약 API 신규 (/analyses/:acdntSn/oil-summary, primary + byModel)
  • HNS: 분석 생성 시 acdntSn 연결 지원
  • GSC: 사고 목록 응답에 acdntSn 노출 및 민감자원 누적 카테고리 관리 + HNS 확산 레이어 유틸 추가

변경

  • 탭 디렉토리를 MPA 컴포넌트 구조로 재편 (src/tabs → src/components, src/interfaces, src/types)
  • TimelineControl 분리 및 aerial/hns 컴포넌트 개선

[2026-04-15]

추가

  • 확산예측·HNS 대기확산·긴급구난: GSC 외부 사고 목록 API 연동 및 셀렉트박스 자동 채움 (사고명·발생시각·위경도 자동 입력 + 지도 이동)
  • 실시간 선박 신호 지도 표출: 한국 해역 1분 주기 폴링 스케줄러, 호버 툴팁·클릭 팝업·상세 모달 제공 (확산예측·HNS·긴급구난·사건사고 탭 연동)

변경

  • MapView 컴포넌트 분리 및 전체 탭 디자인 시스템 토큰 적용
  • aerial 이미지 분석 API 기본 URL 변경

[2026-04-14]

추가

  • 디자인 시스템: HNS·사건사고·확산예측·SCAT·기상 탭 디자인 시스템 토큰 전면 적용
  • 관리자: 비식별화조치 메뉴 및 패널 추가
  • 긴급구난/예측도 OSM 지도 적용 및 관리자 패널 추가

변경

  • 디자인 시스템: 폰트 업스케일 토큰 값 변경 및 전체 탭 색상·폰트 통일

[2026-04-13]

추가

  • 사고별 이미지 분석 데이터 조회 API 추가
  • 사고 리스트에 항공 미디어 연동 및 이미지 분석 뱃지 표시
  • 사고 마커 클릭 팝업 디자인 리뉴얼
  • 지도에 필터링된 사고만 표시되도록 개선

변경

  • 이미지 분석 시 사고명 파라미터 지원
  • 기본 예측시간 48시간 → 6시간으로 변경
  • 유출량(SPIL_QTY) 정밀도 NUMERIC(14,10)으로 확대
  • OpenDrift 유종 매핑 수정 (원유, 등유)
  • 소량 유출량 과학적 표기법으로 표시

[2026-04-09]

추가

  • HNS 확산 파티클 렌더링 성능 최적화 (TypedArray + 수동 Mercator 투영 + 페이드 트레일)
  • 오염 종합 상황/확산 예측 요약 위험도 뱃지 동적 표시 (심각/경계/주의/관심 4단계)
  • 디자인 시스템 Float 카탈로그 추가 (Modal / Dropdown / Overlay / Toast)
  • 디자인 시스템 폰트/색상 토큰을 전 탭 컴포넌트에 전면 적용 (admin, aerial, assets, board, hns, incidents, prediction, reports, rescue, scat, weather)
  • SR 민감자원 벡터타일 오버레이 컴포넌트 및 백엔드 프록시 엔드포인트 추가
  • 해양 오염물질 배출규정 구역 판별 기능 추가

변경

  • 지도: 항상 라이트 모드로 고정 (앱 다크 모드와 무관)
  • 지도: lightMode prop 제거, useThemeStore 기반 테마 전환 통합
  • 레이어 색상 상태를 OilSpillView로 끌어올림
  • 대한민국 해리 GeoJSON 데이터 갱신

[2026-04-02]

변경

  • 디자인 시스템 폰트 및 시맨틱 토큰 전면 적용
    • HNS 탭: HNSTheoryView, HNSSubstanceView, HNSScenarioView, HNSLeftPanel, HNSRightPanel, HNSRecalcModal, HNSAnalysisListTable, HNSView
    • 예측 탭: OilSpillTheoryView, OilSpillView, BoomDeploymentTheoryView, AnalysisListTable
    • 구조 탭: RescueView
  • 하드코딩 색상(#hex, rgba) → CSS 변수 전환, 그라데이션 → 단색, fontFamily/fontSize → Tailwind 토큰

[2026-04-01]

수정

  • 지도: S57 ENC 오버레이 스타일 로드 완료 대기 후 레이어 추가
  • 지도: S57EncOverlay API URL을 공유 API_BASE_URL로 통합
  • 지도: S57 ENC sprite URL에 상대경로일 때 origin 프리픽스 추가
  • 지도: S57 ENC 오버레이 타일/sprite/glyphs URL을 절대경로로 변환 (운영환경 상대경로 대응)

[2026-03-31]

추가

  • 지도: S-57 전자해도(ENC) 오버레이 레이어 추가
  • 지도: 전체 탭 지도 배경 토글 통합 (S-57/3D/밝은테마/기본지도)
  • 공통: useBaseMapStyle 훅 및 mapStyles 공유 모듈 추가
  • 다크/라이트 테마 전환 기능 (TopBar 퀵메뉴에서 토글)
  • themeStore (Zustand) 테마 상태 관리 + localStorage 영속화

변경

  • 지도: 초기 접속 시 기본지도(CartoDB Dark Matter) 표시로 변경 (S-57 기본 off)
  • 디자인 시스템 토큰 시맨틱 네이밍 전환 (하드코딩 색상 → CSS 변수)
  • PretendardGOV 폰트 적용
  • 라이트 테마 CSS 변수 오버라이드 및 컴포넌트별 스타일 대응

[2026-03-30]

추가

  • 지도: VWorld 위성타일 백엔드 프록시 추가 — API 키를 서버에서 관리하고 CORS 우회

[2026-03-27]

추가

  • 역추적: 사용자가 유출 추정 시각/분석 범위/탐색 반경을 직접 입력하는 분석 파라미터 UI 구현
  • 역추적: AIS 기반 선박 항적 API 연동 및 가중치 위험도 점수 산정 엔진 (backtrackAnalysisService)
  • 역추적: 상위 5척 선박 경로 및 충돌 이벤트 리플레이 데이터 생성
  • 역추적: 리플레이 바에 실제 분석 시간 범위 동적 표시
  • DB: AIS_TRACK 테이블 추가 (선박 항적 이력, GIS 공간 인덱스)
  • 역추적: 리플레이에 Python 역방향 시뮬레이션 파티클 표시 (보라색 ScatterplotLayer)
  • 역추적: 전체 파티클 이동 경로 외각 폴리곤(컨벡스 헐) 표시
  • 역추적: 리플레이 바 — 재생 완료 후 재시작 기능 (↺ 아이콘)
  • 역추적: 리플레이 바 — 드래그 시크 기능 추가

수정

  • 역추적: 선박 항적 API URL을 프로덕션 URL로 변경 및 엔드포인트 경로 추가 (/api/v2/tracks/area-search)

변경

  • 역추적: 생성 API 응답을 BacktrackResult로 통합 (재조회 불필요)

[2026-03-26]

추가

  • 보고서: 조위/기상(oil-tide) 섹션에 실데이터 렌더링 추가 (풍향/풍속·파고·수온·유향 등)

수정

  • 보고서: HWPX 이미지 내보내기 구조를 HWPX 스펙(hc:img + manifest 방식)으로 수정
  • 확산예측: 분석 목록 정렬 기준 변경 (RUN_DTM DESC 우선)

[2026-03-25]

추가

  • 예측: 실행 이력 선택 기능 (predRunSn 기반 특정 예측 결과 조회)
  • DB: PRED_RUN_SN 마이그레이션 추가 (028_pred_run_sn)
  • 관리자: 수치예측자료 연계 모니터링 패널 추가 (HYCOM·GFS·WW3·KOAST POS_WIND/HYDR/WAVE)
  • 사고: 분석 패널 실데이터 연동 (확산예측·민감자원 API 연동, 카테고리 색상·이모지 매핑)
  • 자산: 인근 기관 조회 API 추가 (/assets/orgs/nearby, PostGIS ST_DWithin)
  • DB: PRED_EXEC 테이블 EXEC_USER_ID 컬럼 추가 (029 마이그레이션)

변경

  • 보고서: 기능 개선 (TemplateEditPage, ReportGenerator, hwpxExport 등)
  • 사고: 지도에서 사고 선택 시 FlyTo 애니메이션 적용
  • 사고: 선택된 항목 재클릭 시 선택 해제 지원

[2026-03-24]

추가

  • Stitch MCP 기반 디자인 시스템 카탈로그 페이지 (/design)
  • react-router-dom 도입, BrowserRouter 래핑
  • SVG 아이콘 에셋 19종 추가
  • @/ path alias 추가
  • 디자인: Components 탭 추가 (Button, TextField, Overview 페이지)
  • 관리자: 수거인력 패널 및 선박모니터링 패널 추가
  • 레이어: 레이어 데이터 테이블 매핑 구현 + 어장 팝업 수정
  • 확산예측: 예측 실행 시 기상정보(풍속·풍향·기압·파고·수온·기온·염분 등) ACDNT_WEATHER 테이블에 자동 저장
  • DB: ACDNT_WEATHER 테이블에 구조화된 기상 수치 컬럼 19개 추가 (025 마이그레이션)
  • DB: 민감자원 데이터 마이그레이션 (026_sensitive_resources)
  • DB: 민감자원 평가 마이그레이션 추가 (027_sensitivity_evaluation)
  • 보고서: 유류유출 보고서 템플릿 전면 개선 (OilSpillReportTemplate)
  • 관리자: 실시간 기상·해상 모니터링 패널 추가 (MonitorRealtimePanel)
  • 관리자: 방제선 보유자재 현황 패널 추가 (VesselMaterialsPanel)
  • 관리자: 방제장비 현황 패널에 장비 타입 필터 및 조건부 컬럼 강조 스타일 추가

변경

  • 디자인: 색상 팔레트 컨텐츠 개선 + base.css 확장
  • SCAT 지도 하드코딩 제주 해안선 제거, 인접 구간 기반 동적 방향 계산으로 전환
  • 예측: 분석 API를 예측 서비스로 통합 (analysisRouter 제거)
  • 예측: 예측 API 확장 (predictionRouter/Service, LeftPanel/RightPanel 연동)
  • 보고서: 유류유출 보고서 민감자원 지도 섹션 개선 (GeoJSON 자동 필터링, 6개 테이블 자동 채우기, 지도 캡처 기능)

문서

  • Foundation 탭 디자인 토큰 상세 문서화 (DESIGN-SYSTEM.md)

[2026-03-20]

추가

  • 관리자: 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선
  • 관리자: 권한 트리 확장 (게시판관리·기준정보·연계관리 섹션 추가)
  • 관리자: 유처리제 제한구역 패널, 민감자원 레이어 패널 추가
  • 항공 방제: WingAI (AI 탐지/분석) 서브탭 추가
  • 항공 방제: UP42 위성 패스 조회 + 궤도 지도 표시
  • 항공 방제: 위성 요청 취소 기능 추가
  • 항공 방제: 위성 요청 목록/히스토리 지도 탭 분리
  • 항공 방제: 위성 히스토리 지도에 캘린더 + 날짜별 촬영 리스트 + 영상 오버레이
  • 항공 방제: 완료 촬영 클릭 시 VWorld 위성 영상 오버레이 표시
  • 항공 방제: 위성 요청 목록 더보기 → 페이징 처리로 변경
  • 보고서: 기능 강화 (HWPX 내보내기, 확산 지도 패널, 보고서 생성기 개선)
  • 기상: 날씨 스냅샷 스토어, 유틸리티 모듈 추가
  • 사고관리: UI 개선 + 오염물 배출규정 기능 추가
  • Pre-SCAT 해안조사 UI 개선
  • 거리·면적 측정 도구 (TopBar 퀵메뉴 + deck.gl 시각화)
  • Pre-SCAT 관할서 필터링 + 해안조사 데이터 파이프라인 구축

수정

  • 항공 방제: UP42 모달 지도 크기 탭별 동일하게 고정
  • 항공 방제: 촬영 히스토리 지도 리스트 위치 좌하단으로 이동

변경

  • prediction/scat 파이프라인 제거 + SCAT/사고관리 UI 수정
  • 기상: 지역별 기상정보 패널 글자 사이즈 조정 + 시각화 개선
  • SCAT 사진을 로컬에서 서버 프록시로 전환 (scat-photos 1,127개 삭제)
  • WeatherRightPanel 중복 코드 정리

문서

  • PREDICTION-GUIDE.md 삭제

[2026-03-18]

추가

  • 관리자: 방제장비 현황 패널 (CleanupEquipPanel) — 관할청·유형별 필터, 자산 수량 조회
  • 관리자: 자산 현행화 업로드 패널 (AssetUploadPanel) — 엑셀/CSV 드래그 드롭 업로드

변경

  • trajectory API 모델별 windData/hydrData 분리 반환
  • 예측 서비스(predictionService) 개선
  • 보고서: 유출유 확산 지도 패널 및 보고서 생성기 개선
  • 관리자: 권한/메뉴 구성 업데이트, AdminView 패널 등록
  • prediction/image 이미지 분석 서버 분리 (디렉토리 제거)

기타

  • DB: monitor 권한 트리 마이그레이션(022) 추가, auth_init 갱신

[2026-03-17]

추가

  • 다중 모델 시뮬레이션 지원 (OpenDrift + POSEIDON 병렬 실행 및 결과 병합)

[2026-03-16]

추가

  • 보고서 확산예측 지도 캡처 기능 (OilSpreadMapPanel, MAP_CAPTURE_IMG DB 컬럼)
  • 실시간 드론 지도 뷰 — 드론 위치 아이콘 + 클릭 스트림 연결
  • CCTV 지도/리스트 뷰 전환 + CCTV 아이콘 + 다크 팝업 UI
  • KBS CCTV HLS 직접 재생 + CCTV 위치 지도 + 좌표 정확도 개선
  • 사용자 매뉴얼 팝업 기능 추가
  • 확산예측 지도 밝은 해도 스타일 적용 (육지 회색 + 바다 파랑)
  • KOSPS/앙상블 준비중 팝업 + 기본 모델 POSEIDON 변경
  • 오염분석 원 분석 기능 — 중심점/반경 입력으로 원형 오염 면적 계산
  • 오일펜스 배치 가이드 UI 개선
  • 다각형/원 오염분석 + 범례 최소화 + Convex Hull 면적 계산

수정

  • geo.ts 중복 함수 제거 및 null 좌표 참조 오류 수정

변경

  • 확산 예측 요약 폰트/레이아웃을 오염 종합 상황과 통일
  • 오염분석 UI 개선 — HTML 디자인 참고 반영
  • 범례 UI 개선 — HTML 참고 디자인 반영
  • 드론 아이콘 쿼드콥터 + 함정 MarineTraffic 삼각형 스타일

기타

  • 프론트엔드 포트 변경(5174) + CORS 허용

[2026-03-13]

추가

  • 오염분석 다각형/원 분석 기능 구현
  • 시뮬레이션 에러 모달 추가
  • 해류 캔버스 파티클 레이어 추가

수정

  • useSubMenu useEffect import 누락 수정

변경

  • 보고서 해안부착 현황 개선

기타

  • 팀 워크플로우 동기화 (v1.6.1)

[2026-03-11]

추가

  • KHOA API 엔드포인트 교체 및 해양예측 오버레이 Canvas 렌더링 전환
  • 기상 맵 컨트롤 컴포넌트 추가 및 KHOA API 연동 개선
  • 기상 정보 기상 레이어 업데이트
  • CCTV 안전관리 감지 기능 추가 (선박 출입, 침입 감지)
  • 관리자 화면 고도화 — 사용자/권한/게시판/선박신호 패널
  • CCTV 오일 감지 GPU 추론 연동 및 HNS 초기 핀 제거
  • 유류오염보장계약 시드 데이터 추가 (1391건)
  • OpenDrift 유류 확산 시뮬레이션 통합 (비동기 폴링 구조)
  • flyTo 완료 후 자동 재생 기능
  • 이미지 분석 서버 Docker 패키징 (CPU 전용 환경)
  • SPIL_DATA 이미지 분석 결과 컬럼 인라인 통합
  • CPU 전용 Docker 환경 구축 (Dockerfile.cpu, docker-compose.cpu.yml)

수정

  • /orgs 라우트를 /:id 앞에 등록하여 라우트 매칭 수정

변경

  • 이미지 분석/보고서/항공 UI 개선
  • CCTV/관리자 고도화

문서

  • 프로젝트 문서 최신화 (KHOA API, Vite 프록시)

기타

  • CLAUDE_BOT_TOKEN 갱신
  • 팀 워크플로우 v1.6.1 동기화 (custom_pre_commit 프로젝트 해시 불일치 해결, 적용일 갱신)
  • 팀 워크플로우 v1.6.0 동기화 (해시 기반 자동 최신화, push/mr/release 워크플로우 체크, 팀 관리 파일 gitignore 처리)
  • 팀 워크플로우 v1.5.0 동기화 (스킬 7종 업데이트, version 스킬 신규, release-notes-guide 추가)

[2026-03-01]

추가

  • MapLibre GL JS 5.x + deck.gl 9.x 지도 엔진 전환 (Leaflet 완전 제거) (#47, #53, #55)
  • deck.gl 레이어: ScatterplotLayer, IconLayer, PathLayer, TextLayer (한글 폰트)
  • 3D 회전 애니메이션, 확산분석 자동 데모, 통합조회 호버 툴팁
  • SCAT 우측 패널 구현 (구간 상세/현장 사진/방제 권고 3탭)
  • CSS 인프라 구축: base.css, components.css, wing.css (@tailwind @layer 체계)
  • cn() 유틸리티 함수 (clsx + tailwind-merge)
  • Board/HNS/Prediction/Aerial/Rescue Mock → API 전환 (#43, #45)
  • SCAT Mock → API 전환 + PostGIS GEOMETRY 일괄 적용 (#41)
  • Incidents 사고관리 탭 Mock → DB/API 전환 (#35)
  • Assets 방제자산 탭 Mock → DB/API 전환 (#33)
  • Reports 보고서 탭 localStorage → DB/API 전환 (#31)
  • RBAC 2차원 권한 시스템: permResolver + AUTH_PERM OPER_CD + RCUD 매트릭스 UI (#29)
  • FEATURE_ID 상수 체계 + useFeatureTracking 훅
  • 게시판 CRUD API 연동 (boardService/Router)
  • HNS 물질정보 DB 이전 (#23)
  • 감사 로그 시스템 구현 (sendBeacon + audit 모듈) (#17)
  • 메뉴 관리: DB 단일 소스 + 드래그앤드롭 정렬 + 이모지 피커 (#9, #13)
  • 역할 CRUD 및 다중 역할 할당 (#7)
  • JWT 인증 + Google OAuth 로그인 (#1, #3, #5)
  • CI/CD: Gitea Actions 자동 배포

변경

  • 인라인 style 3,500+ → Tailwind CSS 클래스 변환 (잔여 1,286건) (#57, #59)
  • body default 인라인 스타일 1,055건 제거
  • 대형 View 컴포넌트 서브탭 단위 분할 (#25)
  • common/ + tabs/ 패키지 구조 전환 + path alias (@common/, @tabs/) (#21)
  • OpenLayers 제거
  • SQLite → PostgreSQL 16 + PostGIS 마이그레이션 (#22)
  • DB 통합: wing + wing_auth → wing 단일 DB (3개 스키마)
  • 하드코딩 URL → 환경변수 전환

수정

  • CSS 회귀 버그 3건 (className 중복, KOSPS codeBox TypeError, 페놀 데이터)
  • Prediction 분석 상세 500 에러 (ACDNT_WEATHER 컬럼명 불일치)
  • 시뮬레이션 API CORS (localhost 하드코딩 → api 인스턴스)
  • Weather Mixed Content + CI 환경변수 (#39)
  • API named export import 수정 (Vite 빌드 오류) (#37)
  • InfoLayerSection 구 경로 import → path alias (#27)
  • Google OAuth 비자동승인 도메인 PENDING 안내 (#15)
  • emoji-mart React 19 peer dependency 충돌 (#11)
  • Backend 빌드 devDependencies 누락

문서

  • Phase 1~4 리팩토링 반영 문서 최신화 (#24)
  • 개발 가이드 정비 및 Docker 관련 내용 제거

기타

  • 팀 워크플로우 v1.4.0 동기화 (서브에이전트 3종 + 활용 정책)
  • 기존 코드 ESLint/TypeScript 에러 수정