커밋 그래프

8 커밋

작성자 SHA1 메시지 날짜
c4e40a0cef fix: 카운트 5초 쓰로틀 복원 및 targetId 중복 제거 수정
문제:
- incremental count가 매 메시지마다 스토어 갱신하여 범례 실시간 변동
- targetId 중복 제거 없이 개별 장비별로 카운트되어 수치 과다

수정:
- incremental count 제거, 5초 주기 fullRecount 방식으로 복원
- updateCountsThrottled: 타임아웃 체크 + calculateCounts 통합 (5초 주기)
- calculateCounts: targetId 중복 제거 포함 정확한 카운트 계산
- mergeFeatures에서는 features/darkSignalIds만 갱신, 카운트는 5초마다
- 필터 변경/삭제 시에는 recalculateCounts로 즉시 재계산

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:39:19 +09:00
08518c7c33 fix: initialKindCounts 선언 순서 수정 (TDZ 에러)
countRegistry가 initialKindCounts보다 먼저 선언되어 발생한
ReferenceError 수정. initialKindCounts를 countRegistry 위로 이동.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:27:03 +09:00
3b0190e3f3 perf: incremental count 최적화 (Priority 2)
- countCache 기반 5초 주기 O(n) 전체 카운트 → countRegistry 기반 incremental delta 카운트
- 변경된 선박만 카운트 증감 (mergeFeatures, deleteFeature, clearDarkSignals)
- fullRecount는 필터 변경/통합모드 전환 시에만 사용
- processTimeoutsThrottled 분리: 타임아웃 체크만 담당 (5초 주기)
- 미사용 parseAvetdr 함수 제거, throttle 설정 정리

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:23:26 +09:00
ce54d9d0db perf: Map/Set mutable update + 버전 카운터 패턴 적용
mergeFeatures, updateCountsThrottled, deleteFeatureById,
deleteFeaturesByIds, clearDarkSignals에서 new Map()/new Set()
전체 복사를 제거하고 기존 인스턴스를 직접 mutate.
Zustand 변경 감지는 featuresVersion/darkSignalVersion
카운터로 트리거.

5000척 기준 배치당 O(5000) Map 복사 → O(batch) 변경으로 개선.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:06:56 +09:00
f4f0cb274f dark 프로젝트 구현 현재 상태 스냅샷
- Vite 마이그레이션, OpenLayers+Deck.gl 지도 연동
- STOMP WebSocket 선박 실시간 데이터 수신
- 선박 범례/필터/카운트, 다크시그널 처리
- Ctrl+Drag 박스선택, 우클릭 컨텍스트 메뉴
- 측정도구, 상세모달, 호버 툴팁
- darkSignalIds Set 패턴, INSHORE/OFFSHORE 타임아웃

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-30 13:01:54 +09:00
junga
12258aa075 20260123_1 2026-01-23 13:04:07 +09:00
junga
29159e8aa5 20260122_3 2026-01-22 23:52:54 +09:00
junga
6366a53d5b 20260122_1 2026-01-22 09:14:01 +09:00