커밋 그래프

67 커밋

작성자 SHA1 메시지 날짜
a594154512 Merge pull request 'ci: MapTiler API 키 환경변수 전달 + 프로덕션 지도 스타일 적용' (#6) from develop into main
All checks were successful
Build and Deploy Wing / build-and-deploy (push) Successful in 19s
Reviewed-on: #6
2026-02-16 07:53:21 +09:00
22099862e6 Merge pull request 'ci: 빌드 시 MapTiler API 키 환경변수 전달' (#5) from ci/actions-trigger into develop 2026-02-16 07:52:35 +09:00
705cc696f9 ci: 빌드 시 MapTiler API 키 환경변수 전달
프로덕션 빌드에서 VITE_MAPTILER_KEY가 누락되어
OSM 폴백 스타일로 로드되던 문제 해결

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 07:50:17 +09:00
5d613ccea3 Merge pull request 'ci: Actions 활성화 후 CI/CD 파이프라인 검증' (#4) from develop into main
All checks were successful
Build and Deploy Wing / build-and-deploy (push) Successful in 1m20s
Reviewed-on: #4
2026-02-16 07:40:20 +09:00
fd3cedc6c1 Merge pull request 'ci: Actions 활성화 후 CI/CD 트리거 확인' (#3) from ci/actions-trigger into develop 2026-02-16 07:39:45 +09:00
ec83ce8ea0 ci: Actions 활성화 후 CI/CD 트리거 확인
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 07:39:15 +09:00
aeb57e9bb8 Merge pull request 'ci: Gitea Actions CI/CD 파이프라인 + 기능 업데이트' (#2) from develop into main 2026-02-16 07:35:54 +09:00
fb8d65f83f Merge pull request 'ci: Gitea Actions 자동 빌드/배포 워크플로우 추가' (#1) from codex/subcables-static into develop 2026-02-16 07:16:46 +09:00
9fd0567ccf ci: Gitea Actions 자동 빌드/배포 워크플로우 추가
main push 시 모노레포 @wing/web 빌드 후 wing.gc-si.dev에 자동 배포

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 07:06:41 +09:00
3acda7432e refactor(map): UI 개선 — 3D 명칭, 수심 줌, 레거시 비활성
- "지구본" → "3D" 명칭 변경, 헤더 우측으로 이동
- 레거시 베이스맵 비활성 (주석처리)
- 수심 minzoom 통일: fill 3, borders 5, major 3
- NavigationControl 통합, 기어 버튼 겹침 수정
- constants.ts 미사용 BATHY_ZOOM_RANGES 제거

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 07:04:31 +09:00
d2178a6134 fix(map): 육지색 적용에서 수역/선박 등 커스텀 레이어 제외
zones, ships, pair, fc, fleet, predict, deck-globe 레이어를
applyLandColor에서 제외하여 수역 표시 복원

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 06:27:48 +09:00
1a3dd82eb4 fix(map): 지도 설정 패널 개선
- 육지색 적용 범위 확대 (background + 전체 fill 레이어)
- UI 가독성 개선: 라벨 10px, 색상 대비 강화
- 수심 구간 '자동채우기' 토글 추가 (최소/최대 기준 보간)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 06:23:55 +09:00
650888adb7 feat(map): 지도 설정 패널 + 수심 범례 구현
- 나침반/줌 컨트롤 분리, 기어 버튼으로 설정 패널 토글
- 설정 항목: 레이블 언어, 육지/물/수심 색상, 수심 폰트 크기/색상
- 런타임 map.setPaintProperty/setLayoutProperty로 즉시 적용
- 수심 색상 범례 (좌하단 그라데이션 바 + 눈금)
- 초기화 버튼으로 디폴트 복원

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 06:17:20 +09:00
4c257a2883 fix(map): 수심 레이블이 한글 변환에 의해 덮어쓰이는 버그 수정
applyKoreanLabels를 injectOceanBathymetryLayers보다 먼저 호출하여
수심 text-field가 보존되도록 순서 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 05:57:22 +09:00
289f1bebc0 feat(map): 수심 레이블 개선 + 한글 지명 적용
- 수심 레이블: minzoom 10→7, 텍스트 크기 확대, halo 가독성 개선
- 해저 지형명: minzoom 8→6, 텍스트 크기 확대
- MapTiler 베이스맵 한글 지명 적용 (name:ko fallback)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 05:47:16 +09:00
f5ef24c02f perf(map): 해저케이블 렌더링 최적화
- GeoJSON source tolerance:1, buffer:64 (저줌 vertex 단순화)
- hitarea/casing/glow 레이어 minzoom:3 (저줌 렌더 제외)
- ensureGeoJsonSource에 source options 파라미터 추가
- NativeSourceConfig에 options 필드 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 05:28:44 +09:00
a16ccc9a01 feat(map): 통합 레이어 모듈 구현
- useNativeMapLayers 범용 hook 생성
  - source/layer 생성, visibility, cleanup 자동화
  - projectionBusy/isStyleLoaded 가드 내장
  - Globe 레이어 순서 관리 내장
  - beforeLayer 후보 배열 지원
- useSubcablesLayer를 useNativeMapLayers로 전환
- React Compiler ref 접근 규칙 준수 (useEffect 내 할당)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 05:21:53 +09:00
fb1334ce45 fix(map): 해저케이블 호버/프로젝션 버그
- useEffect 3개 분리 (레이어생성/호버/이벤트)
- hoveredCableId를 레이어 생성 deps에서 분리하여 깜박임 제거
- 이벤트 바인딩에 retry 로직 추가 (프로젝션 전환 후)
- paint 기본값을 상수로 추출하여 일관성 보장

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:36:20 +09:00
7eff97afd4 fix(map): 해저케이블 시인성 개선
- MapLibre 중첩 interpolate 표현식 에러 수정
- 6레이어 구조: hitarea, casing, line, glow, points, label
- 호버 시 flat value 사용 (case 내 interpolate 제거)
- Globe/Mercator 양쪽 프로젝션 레이어 순서 지원
- 진한 색상, 굵은 라인, 포인트 마커로 시인성 향상

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:28:11 +09:00
ca5560aff2 feat(map): 해저케이블 레이어 및 정보 패널 구현
- subcable entity 생성 (타입 정의 + 데이터 로딩 hook)
- MapLibre 레이어: 케이블 라인 + 호버 하이라이트 + 라벨
- 지도 표시 설정에 해저케이블 토글 추가
- 클릭 시 우측 정보 패널 (길이, 개통, 운영사, landing points)
- Map3D + DashboardPage 통합

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:17:58 +09:00
621a5037c2 chore(data): vendor submarine cable geojson/details 2026-02-16 02:17:55 +09:00
3ba6c02ba0 feat(map): 선박 외곽선 대비 및 줌 스케일링 개선 2026-02-16 01:10:45 +09:00
864fc44d0e refactor(map): Map3D.tsx hooks 추출 완료 (4558줄 → 510줄) 2026-02-16 00:41:11 +09:00
324c6267f0 refactor(map): Map3D 모듈 분리 및 버그 수정 2026-02-15 23:57:38 +09:00
918b80e06a chore: 팀 프로젝트 워크플로우 세팅
- pnpm → npm 전환 (워크스페이스 유지)
- .claude/ 팀 규칙(5), 스킬(4), 설정, hooks 스크립트(3) 추가
- .githooks/ commit-msg, post-checkout, pre-commit 추가
- Nexus npm 프록시 설정 (.npmrc — URL만, 인증 제외)
- .editorconfig, .prettierrc, .node-version(24) 추가
- CLAUDE.md 프로젝트 설명서 생성
- Map3D.tsx 미사용 함수 제거 (getDeckShipAngle)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-15 22:18:40 +09:00
d01240a737 fix(map): align ship icon headings for COG convention 2026-02-15 21:52:04 +09:00
a8aa916076 fix(map): align prediction vectors with ship course + improve contrast 2026-02-15 19:41:15 +09:00
11aff67a04 feat(map): add prediction vectors and ship labels toggles 2026-02-15 19:15:20 +09:00
0899223c75 fix(map): keep bathymetry visible when overzooming 2026-02-15 18:55:57 +09:00
dc702728be tweak(map): increase bathymetry depth label size 2026-02-15 18:51:29 +09:00
15d5d5ad23 fix(globe): gate bathymetry fill by zoom to avoid ocean tearing 2026-02-15 18:47:52 +09:00
3497b8c7e2 feat(dashboard): alarms filter + legend/palette sync + map polish 2026-02-15 18:42:49 +09:00
30e6e584ee refactor(map3d): isolate ship hover overlay for icon flicker reduction 2026-02-15 16:35:05 +09:00
54d33a8670 fix(map3d): restore mercator static/overlay split and stabilize globe deck rendering 2026-02-15 16:28:04 +09:00
f36c63d639 chore: checkpoint before deck.gl optimization work 2026-02-15 16:23:04 +09:00
6ff5ae383f fix: restore globe ship icon color while keeping symbol layer stable 2026-02-15 16:14:03 +09:00
86d36d25e3 fix: reduce globe symbol paint variability to avoid bucket mismatch 2026-02-15 16:12:36 +09:00
5b7d1c4331 fix: stabilize globe projection loading and globe ship icon fallback 2026-02-15 16:12:10 +09:00
05b0c6b881 feat(map3d): stabilize globe overlays and hover-highlight sync 2026-02-15 16:09:21 +09:00
b944887430 Adjust globe layer stacking and keep overlay layers alive 2026-02-15 15:49:01 +09:00
70dc651230 Keep globe overlays stable and reuse globe layer IDs 2026-02-15 15:48:49 +09:00
e504dbebca Fix globe zones line-width expression and enforce map layer ordering 2026-02-15 15:43:36 +09:00
bb5fd793d8 fix: resolve globe ship circle-radius expression and ensure ship layers top 2026-02-15 15:36:29 +09:00
84a3ec2374 fix: stabilize hook order in RelationsPanel 2026-02-15 15:33:42 +09:00
ccf3f2361f fix: guard deck layer arrays against null ids 2026-02-15 15:30:09 +09:00
b883c4113b fix: guard map style and ship layer ids during rendering 2026-02-15 15:27:57 +09:00
96d8a03f93 feat: add fleet relation sort toggle 2026-02-15 15:25:10 +09:00
03d728589f Sync globe layer rebuild during projection transition 2026-02-15 15:22:23 +09:00
ed5b0da5f9 fix: prevent hover update loop and map style ready guard 2026-02-15 15:17:48 +09:00
ea51aee6b4 Fix globe tooltip typing and overlay defaults 2026-02-15 14:52:57 +09:00