How thiagoqueir0z/42-fly-in works
Fly-in routes multiple drones across a capacity-constrained zone network. The workflow loads a map, builds its graph, plans coordinated routes, simulates turn-by-turn movement, then renders the recorded history. The README also describes collision-aware space-time reservations, priority/restricted-zone costs, terminal colors, and an animated 2D view. Edges reflect calls or data use visible in the excerpts and source index; unshown algorithm internals are represented by their documented Pathfinder component, not expanded into speculative modules.
Main entry points: simulator.py Turn simulator · graph.py Network graph · main.py CLI entry · map_parser.py Map parser
Components 12
Map ingestion
- Map parser
src/parser/map_parser.py
Network model
- Network graph
src/model/graph.py - Zone rules
src/model/zone.py - Connection capacity
src/model/connection.py - Drone state
src/model/drone.py
Route planning
- Cooperative planner
src/pathfinder/pathfinder.py
Simulation
- Turn simulator
src/simulator/simulator.py - Terminal moves
src/simulator/simulator.py
Visualization
- Animated renderer
src/visualizer/visualizer.py
Other components
- User
- Map file
- CLI entry
src/main.py
Connections 19
- User → CLI entry: runs
src/main.py - Map file → Map parser: map input
src/parser/map_parser.py - CLI entry → Map parser: parses map
src/main.py - Map parser → Network graph: builds graph
src/parser/map_parser.py - Map parser → Zone rules: creates zones
src/parser/map_parser.py - Map parser → Connection capacity: creates links
src/parser/map_parser.py - Network graph → Zone rules: stores zones
src/model/graph.py - Network graph → Connection capacity: indexes links
src/model/graph.py - CLI entry → Cooperative planner: plans routes
src/main.py - Cooperative planner → Network graph: queries neighbors
src/pathfinder/pathfinder.py - Cooperative planner → Zone rules: uses movement costs
src/pathfinder/pathfinder.py - CLI entry → Turn simulator: runs routes
src/main.py - Turn simulator → Drone state: advances drones
src/simulator/simulator.py - Turn simulator → Network graph: checks network
src/simulator/simulator.py - Turn simulator → Connection capacity: checks capacity
src/simulator/simulator.py - Turn simulator → Zone rules: checks occupancy
src/simulator/simulator.py - Turn simulator → Terminal moves: prints moves
src/simulator/simulator.py - CLI entry → Animated renderer: renders history
src/main.py - Animated renderer → Network graph: draws network
src/visualizer/visualizer.py