Additions
- Added `Recorder` class & completed video recording features.
- Added `Simulation.set_view()` and `Simulation.gui_stop_tracking()` functions.
- Added `MultiPlotter.plot_statistics()` to plot final simulation statistics (TTS, TWT, delay).
- Added TWT and delay data to `Plotter.plot_vehicle_data()`.
- Added `MultiPlotter.plot_rm_rate()` to plot the average metering rate across simulations.
- Added `plot_groups` to `MultiPlotter` functions to only plot the data of specific groups.
- Added `"lane_id"`, `"allowed_speed"`, `"leader_id"` and `"leader_dist"` to `Simulation.get_vehicle_vals()`.
- Added tracking of vehicles waiting to be inserted into the simulation.
Changes & Improvements
- Improved delay calculation to be based on the current vehicle speed and ideal lane free-flow speed.
- Renamed previous delay data to Total Waiting Time (TWT).
- Added changing line styles into colour wheel for `Plotter` and `MultiPlotter`.
- Reduced sumolib calls for fetching network information.
- Updated docstrings (replaced '_None_' with '_optional_').
- Optimised `Simulation.get_vehicle_vals()` when fetching values that rely on the same API calls.
- Overhauled setup for TraCI constants/getter/setters with keys.
- Made units easier to handle throughout.
- Added MoviePy as a package requirement.
Fixes
- Fixed `print_summary()` error when not saving the summary to a '_.txt_' file.