- 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>
- useEffect 3개 분리 (레이어생성/호버/이벤트)
- hoveredCableId를 레이어 생성 deps에서 분리하여 깜박임 제거
- 이벤트 바인딩에 retry 로직 추가 (프로젝션 전환 후)
- paint 기본값을 상수로 추출하여 일관성 보장
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>
- subcable entity 생성 (타입 정의 + 데이터 로딩 hook)
- MapLibre 레이어: 케이블 라인 + 호버 하이라이트 + 라벨
- 지도 표시 설정에 해저케이블 토글 추가
- 클릭 시 우측 정보 패널 (길이, 개통, 운영사, landing points)
- Map3D + DashboardPage 통합
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>