mirror of
https://github.com/gadgethd/ukmesh.git
synced 2026-09-04 22:33:42 +00:00
- 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.
751 B
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