- useSubMenu에 scat 서브메뉴 설정 추가 (survey, distribution, pre-scat)
- ScatView wrapper 컴포넌트로 서브탭 분기 처리
- SurveyView, DistributionView placeholder 컴포넌트 생성
- hasPermission에 부모 리소스 fallback 로직 추가 (scat:survey → scat)
- App.tsx에서 PreScatView → ScatView 교체
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- 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>