1.4 KiB
1.4 KiB
id: task-1
title: Implement navigation routes
status: Done
assignee: [@claude]
created_date: '2025-12-15 19:37'
completed_date: '2025-12-28'
labels: [feature, navigation]
dependencies: []
priority: high
Description
Add routing between participants and waypoints using c3nav for indoor routes and OSRM/GraphHopper for outdoor routes
Implementation Notes
Components Added
/api/routing/route.ts- API endpoint for route calculationRouteOverlay.tsx- Map overlay component for visualizing routesNavigationPanel.tsx- UI panel for selecting navigation targets
Features Implemented
- Outdoor routing: Uses OSRM public API for walking/driving routes
- Indoor routing: Integrates c3nav API for CCC venue navigation
- Mixed routes: Handles transitions between indoor/outdoor
- Route visualization: GeoJSON line layer on MapLibre GL map
- Navigation UI: Click on participant/waypoint to get directions
- State management: Route state integrated into Zustand store
Technical Details
- Route segments are typed as
outdoor,indoor, ortransition - Distance/time estimates calculated from OSRM and c3nav responses
- Route line rendered with outline for visibility
- Map auto-fits to route bounds when calculated
Commit
a6c124c - feat: Add navigation routes feature with indoor/outdoor routing