Files
ukmesh/docs/frontend-map.md
T
Ben 21224a0525 Refactor backend, map, and worker boundaries
- split backend API into route/service/repository boundaries across stats, owner, and pathing\n- extract shared API bootstrap and helper modules\n- reduce MapLibreMap into smaller frontend map modules with extracted builders, config, popup UI, and types\n- continue worker modularization by extracting RF terrain/tile helpers alongside RF config and loss helpers\n- add repo-local architecture, DB lifecycle, link model, pathing, frontend map, and contributing docs\n\nThis is the verified refactor checkpoint: backend and frontend builds passed, worker syntax checks passed, affected containers were rebuilt, and /healthz is OK.
2026-03-20 17:45:47 +00:00

28 lines
751 B
Markdown

# Frontend Map
## Current structure
- `MapLibreMap.tsx`
- imperative map lifecycle and source refresh scheduling
- `geojsonBuilders.ts`
- pure GeoJSON builders and clash calculations
- `mapConfig.ts`
- map constants and style config
- `NodePopupContent.tsx`
- popup UI
- `LiveOverlayController.tsx`
- live path overlay controller
## State ownership
- live nodes/packets: `useNodes.ts`
- coverage: `useCoverage.ts`
- links: `useLinkState.ts`
- overlay/path state: `overlayStore.ts`
## Contributor rules
- do not reintroduce React-driven full-map rerenders for live packet/node traffic
- put pure map data shaping in builder modules, not in the top-level map component
- keep map visibility rules explicit and centralized where possible