Iteration 12
Release Date: March 22, 2026
🎯 Overall Summary
Iteration 12 focused on routing correctness, simulation observability, frontend usability, deployment readiness, and internationalization. This iteration delivered route-generation fixes for next-stop rendering and in-service task filtering, new backend user preferences endpoints, multiple simulation reporting enhancements (total vehicle distance, live sim reporting, lag reporting, and distance-to-next-traffic-event), improved route behavior with scheduled recalculations and smooth position transitions, and major frontend experience upgrades including multi-station selection, updated station iconography, station names, and a collapsed driver-task view. Infrastructure and deployment improvements include GraphHopper deployment support and a production-focused .dockerignore.
🏎️ Velocity
💵 Contractor Estimate
| Artifact Type | Level of Effort | Estimated Price (CAD) |
|---|---|---|
| Routing & Simulation Engine Behavior | High (32h) | $704 |
| Reporting & Observability | High (28h) | $616 |
| Frontend UX & Visualization | Medium (24h) | $528 |
| Backend API & Preferences | Medium (16h) | $352 |
| Deployment & Infrastructure | Low (10h) | $220 |
| i18n & Code Quality | Medium (17h) | $374 |
| Total | 127h | $2,794 |
Notes:
- The hours listed above represent the time specifically spent on developing the individual software artifacts. They do not reflect the total time our team has committed to Iteration 12.
🔄 Retrospective
What went well?
- Good pair programming (+1)
- Thorough reviews (+1)
- Fixed windows bug (+1)
- Good teamwork and teammates ready to help
What went wrong?
- Some tasks not started whatsoever
- End of semester crunch
- Working on traffic without traffic was hard, but at least its fixed now!
What can be improved on?
- Team bonding activity for the love of the god (+1009)
- GraphHopper did not hop into prod quick enough (+1)
- more work on poster
🤝 Individual Contributions
@Ambrose821 - Ambrose McLaughlin [ID: 40239754]
-
Sim: report total distance traveled by service vehicles in #836
- Added reporting support to compute and expose total distance traveled by service vehicles.
- Expanded simulation metrics coverage for operational movement analytics.
-
Sim: Add reporting for simulation lag in #894
- Added lag-focused reporting metrics to improve visibility into simulation timing drift.
- Supports better diagnosis of real-time vs simulated-time performance.
@briantkatch - Brian Tkatch [ID: 40191139]
-
Backend: Implement user prefs endpoints #847 in #855
- Added backend endpoints to create/read/update user preference settings.
- Enables persistent user-level customization across sessions.
-
Infra: graphhopper deployment in #882
- Added deployment support for GraphHopper in the project infrastructure.
- Improves routing stack readiness for production-like environments.
@cmezzac - Christopher Mezzacappa [ID: 40249451]
-
Frontend: removed Updated Column from simulations page in #876
- Removed the
Updatedcolumn from the simulations table for a cleaner UI. - Streamlined table density and reduced visual noise.
- Removed the
-
Sim: added sync delay to scenario json #857 in #895
- Added sync-delay configuration support in scenario JSON.
- Improves control over timing alignment behavior in simulation flows.
@Jpuntul - Jutipong Puntuleng [ID: 40080233]
-
Frontend: multi-station selection via ctrl+click and shift+drag box select in #832
- Added multi-select interactions for stations using Ctrl+click and Shift+drag box selection.
- Improves high-volume assignment workflows in map-heavy scenarios.
-
Docs: Wiki contributions in Repo Wiki
@mahutt - Thomas Mahut [ID: 40249811]
-
Fix: render route even when at next stop #837 in #838
- Fixed route rendering behavior to continue displaying routes at the next stop boundary condition.
- Prevents route visibility drop-offs during stop transitions.
-
Fix: exclude in-service tasks from route generation in #840
- Updated route generation logic to exclude tasks already in service.
- Reduces route noise and improves assignment correctness.
-
Fix: altered driver names and shifts on resume in #875
- Fixed resume behavior that could alter driver identity and shift details unexpectedly.
- Improves state fidelity when resuming persisted simulations.
-
Refactor: stateful resource icons in #888
- Introduced state-aware resource icon behavior for clearer status communication.
- Improves glanceability of resource state in the UI.
-
Chore: fix typo in compute bearing jsdoc comment #891 in #892
- Corrected documentation typo in compute-bearing JSDoc.
-
Frontend: use enum for frontend log contexts in #897
- Replaced string-based frontend logging contexts with an enum.
- Improves type safety and consistency in log metadata.
-
Sim: live sim reporting #846 in #898
- Added live simulation reporting to surface runtime metrics during execution.
- Strengthens operational observability for in-progress simulations.
-
Docs: Wiki contributions in Repo Wiki
- Added Clustering Design Doc documentation.
- List of Revisions: 1
@MeSumo - Sumer Abd Alla [ID: 40247712]
-
Sim: Distance to Next Traffic Event in #883
- Added distance-to-next-traffic-event metric support.
- Improves route-awareness and traffic-event visibility.
-
Sim: Introduce Smooth Position Transition in #887
- Implemented smoother position transition behavior in simulation movement updates.
- Reduces visible jitter and improves motion continuity.
-
Docs: Wiki contributions in Repo Wiki
- Updated Meeting Minutes - General documentation.
- List of Revisions: 1
@Niravanaa - Nirav Patel [ID: 40248940]
-
Infra: Add .dockerignore to exclude unnecessary files from Docker image in #854
- Added
.dockerignoreto trim build context and exclude non-essential files. - Improves image build performance and artifact cleanliness.
- Added
-
Frontend: add internationalization support with English and French in #878
- Added i18n support with English and French language options.
- Establishes localization foundations for broader language coverage.
@Verdone - Giuliano Verdone [ID: 40252190]
-
Frontend: add sim reports to simulations page #845 in #877
- Added simulation report access/display entry points in the simulations page.
- Improves discoverability of reporting outputs from the main list view.
-
Sim: add scheduled route recalculations in #884
- Added scheduled route recalculation behavior during simulation execution.
- Keeps routes fresher under changing traffic/task conditions.
@vinishamanek - Vinisha Manek [ID: 40229456]
-
Frontend: update station icons to numbers in #879
- Updated station icon rendering to numbered icons.
- Improves map readability and station differentiation.
-
Frontend: add station names and collapsed view for driver tasks in #890
- Added station names in UI contexts where stations are listed or rendered.
- Added collapsed view mode for driver task panels to improve information density control.
@CarciDev - David Carciente [ID: 40247907]
@Michael-Mezzacappa - Michael Mezzacappa [ID: 40263789]
📋 What's Changed
- fix: render route even when at next stop #837 by @mahutt in #838
- fix: exclude in-service tasks from route generation by @mahutt in #840
- feat: Implement user prefs endpoints #847 by @briantkatch in #855
- feat: report total distance traveled by service vehicles by @Ambrose821 in #836
- feat: Add .dockerignore to exclude unnecessary files from Docker image by @Niravanaa in #854
- feat: removed Updated Column from front end simulations page by @cmezzac in #876
- feat: add sim reports to simulations page #845 by @Verdone in #877
- fix: altered driver names and shifts on resume by @mahutt in #875
- feat: multi-station selection via ctrl+click and shift+drag box select by @Jpuntul in #832
- feat: Distance to Next Traffic Event by @MeSumo in #883
- feat: graphhopper deployment by @briantkatch in #882
- feat: add scheduled route recalculations by @Verdone in #884
- feat: update station icons to numbers by @vinishamanek in #879
- feat: stateful resource icons by @mahutt in #888
- chore: fix typo in compute bearing jsdoc comment #891 by @mahutt in #892
- feat: add station names and collapsed view for driver tasks by @vinishamanek in #890
- feat: Add reporting for simulation lag by @Ambrose821 in #894
- feat: use enum for frontend log contexts by @mahutt in #897
- feat: add internationalization support with English and French by @Niravanaa in #878
- feat: live sim reporting #846 by @mahutt in #898
- feat: added sync delay to scenario json #857 by @cmezzac in #895
- feat: Introduce Smooth Position Transition by @MeSumo in #887
Full Changelog: Iteration11...Iteration12