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

751 B

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