kcg-monitoring/frontend
htlee 87d1b31ef3 feat: 어구 리플레이 deck.gl + Zustand 전환 완료
Phase 3: DeckGLOverlay에 overlayRef 추가, KoreaMap에서
리플레이 레이어 합성 (imperative setProps → React 렌더 우회)

Phase 4: 기존 MapLibre 리플레이 레이어 → deck.gl 전환
- FleetClusterLayer: 애니메이션 state/ref/timer 제거 → Zustand 스토어
- useFleetClusterGeoJson: 리플레이 useMemo 15개 제거 (618→389줄)
- FleetClusterMapLayers: MapLibre 재생 레이어 6개 제거 (492→397줄)
- HistoryReplayController: React refs → Zustand subscribe 바인딩

성능: React re-render 20회/초 → 0회/초 (재생 중)
      GeoJSON 직렬화 15개/프레임 → 0 (raw 배열 → deck.gl)
      트레일: 매 프레임 재생성 → TripsLayer GPU 셰이더

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 07:54:50 +09:00
..
public feat(frontend): UI 브랜딩 개선 + 배포 설정 정리 2026-03-17 15:50:05 +09:00
src feat: 어구 리플레이 deck.gl + Zustand 전환 완료 2026-03-31 07:54:50 +09:00
eslint.config.js feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환 2026-03-17 13:54:41 +09:00
index.html feat(frontend): UI 브랜딩 개선 + 배포 설정 정리 2026-03-17 15:50:05 +09:00
package-lock.json refactor: FleetClusterLayer 10파일 분리 + deck.gl 리플레이 기반 구축 2026-03-31 07:44:07 +09:00
package.json refactor: FleetClusterLayer 10파일 분리 + deck.gl 리플레이 기반 구축 2026-03-31 07:44:07 +09:00
tsconfig.app.json feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환 2026-03-17 13:54:41 +09:00
tsconfig.json feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환 2026-03-17 13:54:41 +09:00
tsconfig.node.json feat: 프론트엔드 모노레포 이관 + signal-batch 연동 + Tailwind/i18n/테마 전환 2026-03-17 13:54:41 +09:00
vite.config.ts refactor: FleetClusterLayer 10파일 분리 + deck.gl 리플레이 기반 구축 2026-03-31 07:44:07 +09:00