커밋 그래프

20 커밋

작성자 SHA1 메시지 날짜
547e83e617 refactor(design): 폰트 업스케일 토큰 적용 및 전체 탭 디자인 시스템 색상·폰트 통일 2026-04-14 11:05:28 +09:00
a0be19d060 feat(design): 디자인 시스템 폰트 및 시맨틱 토큰 전면 적용 2026-04-01 10:15:53 +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
e4fa46db81 refactor(scat): prediction/scat 파이프라인 제거 + UI 수정
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20 15:15:02 +09:00
9c44ab4ffa Merge branch 'origin/develop' into feature/report
충돌 해결:
- TopBar.tsx: mapTypes(feature/report) + measureMode/setMeasureMode(develop) 병합
- mapStore.ts: loadMapTypes API(feature/report) + 측정 기능(develop) 병합
2026-03-19 14:19:39 +09:00
f336f6b93a feat(admin): 지도 베이스 관리 패널, 레이어 패널 추가 및 보고서 기능 개선 2026-03-19 14:13:05 +09:00
94b162aa2a Merge pull request 'feat: 거리·면적 측정 + SCAT 관할서 필터링 + 해안조사 파이프라인' (#100) from feature/draw-util into develop 2026-03-19 13:19:00 +09:00
621d8e3516 feat: 예측 개선, 관리자 패널 추가, 보고서 기능 개선 2026-03-18 18:10:41 +09:00
c7c7537dbb feat(prediction): trajectory API에 모델별 windData/hydrData 분리 반환 2026-03-18 13:25:21 +09:00
734ebeeaab feat(prediction): 다중 모델 시뮬레이션 지원 (OpenDrift + POSEIDON) 2026-03-17 18:33:17 +09:00
595fac5adb Merge commit '130f563ab2e95122296d3b7d8805985c4d39fb4f' into feature/draw-util 2026-03-16 18:36:12 +09:00
301df70376 feat(map): 거리·면적 측정 도구 구현
TopBar 퀵메뉴에서 거리/면적 측정 모드 토글, MapView에서 클릭으로
포인트 수집 후 deck.gl 레이어로 결과를 시각화한다.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-16 17:52:27 +09:00
a3b2787ba0 chore: feature/cctv-hns-enhancements 머지 충돌 해결
- aerialRouter/Service: stitch(이미지합성) + drone stream 기능 통합
- aerialService: IMAGE_API_URL(stitch) / OIL_INFERENCE_URL(inference) 분리
- aerialApi: stitchImages + DroneStream API 함수 공존
- MapView: analysis props(HEAD) + lightMode prop(INCOMING) 통합
- CctvView: 지도/리스트/그리드 3-way 뷰 채택 (INCOMING 확장)
- OilSpillView: analysis 상태 + 데모 자동 표시 useEffect 통합
- PredictionInputSection: POSEIDON/KOSPS 모델 추가 (ready 필드 포함)
- RightPanel: controlled props 방식 유지, 미사용 내부 상태 제거

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-16 10:58:00 +09:00
9ddae7a973 feat(prediction): 시뮬레이션 에러 모달 추가 및 보고서 해안부착 현황 개선 2026-03-12 19:08:25 +09:00
Nan Kyung Lee
d9a51d2101 feat(manual): 사용자 매뉴얼 팝업 기능 추가
- 퀵 메뉴에 '사용자 매뉴얼' 버튼 추가 (위성영상 아래)
- UserManualPopup 컴포넌트 신규 생성 (77개 화면, 8개 챕터)
- 각 화면별 스크린샷 이미지 77장 포함 (/public/manual/)
- 라이트박스 이미지 확대, 전체 열기/닫기, 챕터 네비게이션
2026-03-12 10:30:14 +09:00
Nan Kyung Lee
aba58b2227 feat(map): 3D 지도 토글 구현 (VWorld 위성 + OSM 건물 extrusion)
- mapStore.ts(신규): Zustand 기반 mapToggles 전역 상태 (s57/s101/threeD/satellite)
- TopBar.tsx: 로컬 상태 → mapStore 전환 (3D 토글 전역 공유)
- MapView.tsx:
  - SATELLITE_3D_STYLE 추가 (VWorld WMTS 위성 + OpenFreeMap 벡터타일)
  - MapLibre fill-extrusion으로 3D 건물 렌더링 (zoom 13+, render_height 사용)
  - MapPitchController: 3D ON → pitch 45°/bearing -17°, OFF → 0° 복귀
  - mapToggles.threeD 상태에 따라 지도 스타일 전환 (BASE_STYLE ↔ SATELLITE_3D_STYLE)
- deps: @deck.gl/mesh-layers, @deck.gl/extensions 추가 (관련 기능용)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-01 21:28:30 +09:00
3fc8f03238 refactor(css): 인라인 스타일 → Tailwind 유틸리티 클래스 변환 (Phase 2, ~990건)
Phase 2: 정적 인라인 스타일을 Tailwind className으로 변환
- common/: MapView, BacktrackReplayBar, LoginPage, LayerTree, ComboBox, SubMenuBar
- hns/: HNSSubstanceView, HNSScenarioView, HNSView, HNSLeftPanel 등 8파일
- prediction/: BoomDeploymentTheoryView, OilBoomSection, RecalcModal, RightPanel 등 8파일
- incidents/: IncidentsView, IncidentsLeftPanel, IncidentsRightPanel
- rescue/: RescueScenarioView
- aerial/: SatelliteRequest, AerialTheoryView
- assets/: ShipInsurance, AssetTheory, AssetManagement 등 5파일
- board/: BoardView
- reports/: ReportsView, OilSpillReportTemplate, ReportGenerator
- weather/: WeatherMapOverlay, WeatherView, WeatherRightPanel

변환 패턴: color/background/border/borderRadius/display/flex/gap/fontSize/fontWeight → Tailwind
동적 스타일(rgba, gradient, 삼항 조건부, 런타임 변수)은 style prop에 유지
JS 번들: 2,921KB → 2,897KB (-24KB)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 11:24:13 +09:00
dec066e8bb refactor(css): CSS 인프라 구축 + body default 인라인 스타일 1,055건 제거
Phase 0: CSS 인프라 구축
- Tailwind config 색상 불일치 수정 (t1/t2/t3 → CSS 변수 값으로 통일)
- index.css 1,302줄 → @import 엔트리포인트 7줄로 축소
- common/styles/base.css: @layer base 추출 (CSS 변수, 리셋, body 기본값)
- common/styles/components.css: @layer components + utilities 추출
- common/styles/wing.css: wing-* 디자인 시스템 클래스 신규 정의
- common/utils/cn.ts: className 조합 유틸리티
- App.css 삭제 (내용을 components.css로 통합)

Phase 1: body default 인라인 스타일 일괄 제거
- fontFamily: 'var(--fK)' 781건 제거 (body font-family 상속)
- color: 'var(--t1)' 274건 제거 (body color 상속)
- 빈 style={{}} 78건 정리
- 31개 파일, JS 번들 23KB 감소

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01 10:45:01 +09:00
a61864646f refactor(frontend): 공통 모듈 common/ 분리 + OpenLayers 제거 + path alias 설정
- OpenLayers(ol) 패키지 제거 (미사용, import 0건)
- common/ 디렉토리 생성: components, hooks, services, store, types, utils
- 17개 공통 파일을 common/으로 이동 (git mv, blame 이력 보존)
- MainTab 타입을 App.tsx에서 common/types/navigation.ts로 분리
- tsconfig path alias (@common/*, @tabs/*) + vite resolve.alias 설정
- 42개 import 경로를 @common/ alias 또는 상대경로로 수정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28 14:00:50 +09:00