--- 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 calculation - `RouteOverlay.tsx` - Map overlay component for visualizing routes - `NavigationPanel.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`, or `transition` - 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