cd60f553ee
feat(map): 선박 외곽선 대비 및 줌 스케일링 개선
...
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 02:01:11 +09:00
c5d89c5641
refactor(map): Map3D.tsx hooks 추출 완료 (4558줄 → 510줄)
...
28개 useEffect + 30+ useCallback을 10개 커스텀 hook으로 추출:
- useMapInit: MapLibre 인스턴스 생성 + Deck 오버레이
- useProjectionToggle: Mercator↔Globe 전환
- useBaseMapToggle: 베이스맵 전환 + 수심/해도
- useZonesLayer: 수역 GeoJSON 레이어
- usePredictionVectors: 예측 벡터 레이어
- useGlobeShips: Globe 선박 아이콘/라벨/호버/클릭
- useGlobeOverlays: Globe pair/fc/fleet/range 레이어
- useGlobeInteraction: Globe 마우스 이벤트 + 툴팁
- useDeckLayers: Mercator + Globe Deck 레이어
- useFlyTo: 카메라 이동
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 00:41:11 +09:00
51090aca2a
refactor(map): Map3D 모듈 분리 + 버그 4건 수정 + 수심 색상 개선
...
Map3D.tsx 단일 파일(5752줄)에서 1200줄을 16개 모듈로 추출하여
탐색성과 유지보수성 개선.
모듈 구조:
- types.ts, constants.ts: 타입/상수 정의
- lib/: setUtils, geometry, featureIds, mlExpressions, shipUtils,
tooltips, globeShipIcon, mapCore, dashifyLine, layerHelpers, zoneUtils
- layers/: bathymetry, seamark
- hooks/: useHoverState
버그 수정:
- fix: Globe 선박 라벨 미표시 (permitted boolean→number + filter 갱신)
- fix: placement TypeError (isStyleLoaded 가드 + epoch change 시 remove 제거)
- fix: Globe easeTo 미지원 경고 (globe 모드에서 flyTo 사용)
- fix: 수심지도 얕은 구간 색상 미구분 (색상 팔레트 개선)
개선:
- 베이스맵 water 레이어 색상을 수심 그라데이션과 자연스럽게 연결
- 프로젝션 전환 settle 로직 최적화 (더블프레임→싱글프레임)
- glyphs URL 추가로 symbol 레이어 텍스트 렌더링 지원
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
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
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
9a9f7302cb
fix(map3d): simplify projection loading release condition
2026-02-15 14:45:31 +09:00
f745bb16d7
feat(map3d): add projection mode transition loading overlay
2026-02-15 14:42:07 +09:00
2514591703
fix(map3d): align globe ship icon rendering and heading
2026-02-15 14:38:25 +09:00
1225d5c54c
fix(map3d): sync mercator restore on globe toggle
2026-02-15 14:33:50 +09:00
6f7a82af4c
fix(map): stop hiding raster base and reset decks on projection switch
2026-02-15 14:29:19 +09:00
0ffadb2e66
fix(map): harden globe projection switch and overlay teardown
2026-02-15 14:27:08 +09:00
15378ed7ff
fix(map): scale flat icons and prioritize relation layers
2026-02-15 14:24:00 +09:00
c31d26124c
fix(ais,map): 2-stage bootstrap and globe overlay refresh
2026-02-15 14:17:27 +09:00
b8ccef23ca
fix(globe): stabilize ship symbols and deck rendering
2026-02-15 14:04:37 +09:00
bcd4a77f47
fix(api): add center/radius AIS query and stabilize globe ship icon render
2026-02-15 13:58:07 +09:00
7f72ab651d
fix(globe): force repaints; maplibre overlays; disable bathy raster
2026-02-15 13:46:01 +09:00
dc0729fc5f
fix(map): reduce bathymetry fill complexity at low zoom
2026-02-15 13:15:41 +09:00
84d602d25b
fix(globe): avoid bathymetry overflow; fix ship halo expr
2026-02-15 13:14:03 +09:00
d4859eb361
fix(globe): stabilize deck draw; billboard ships
2026-02-15 13:03:05 +09:00
0172ed6134
fix(globe): keep deck instance across style reloads
2026-02-15 12:36:25 +09:00
b0d51a9490
fix(map): sync deck overlays with maplibre globe
2026-02-15 12:11:39 +09:00
e69ace4434
chore: initial commit
2026-02-15 11:22:38 +09:00