fn collect_rendered_vehicles<'a, F, G>(
get_timetable_entries: F,
get_vehicles: G,
visible_stations: &[(Entity, f32)],
horizontal_visible: &Range<i64>,
ticks_per_screen_unit: f64,
state: &DiagramPageCache,
screen_rect: &Rect,
vehicles: &[Entity],
) -> Vec<RenderedVehicle<'a>>where
F: Fn(Entity) -> Option<(&'a TimetableEntry, &'a TimetableEntryCache)> + Copy + 'a,
G: Fn(Entity) -> Option<(Entity, &'a Name, &'a VehicleSchedule, &'a VehicleScheduleCache)> + 'a,Expand description
Collects and transforms vehicle schedule data into screen-space segments for rendering. This function handles the mapping of timetable entries to station lines, including cases where a station might appear multiple times in the diagram.