gc-wing/apps/web/public/map/styles/osm-seamark.json
htlee 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

30 lines
735 B
JSON

{
"version": 8,
"name": "OSM Raster + OpenSeaMap",
"glyphs": "https://demotiles.maplibre.org/font/{fontstack}/{range}.pbf",
"sources": {
"osm": {
"type": "raster",
"tiles": ["https://tile.openstreetmap.org/{z}/{x}/{y}.png"],
"tileSize": 256,
"attribution": "© OpenStreetMap contributors"
},
"seamark": {
"type": "raster",
"tiles": ["https://tiles.openseamap.org/seamark/{z}/{x}/{y}.png"],
"tileSize": 256,
"attribution": "© OpenSeaMap contributors"
}
},
"layers": [
{ "id": "osm", "type": "raster", "source": "osm" },
{
"id": "seamark",
"type": "raster",
"source": "seamark",
"paint": { "raster-opacity": 0.85 }
}
]
}