Skip to content

Iteration 13 (Release 3)

Latest

Choose a tag to compare

@Niravanaa Niravanaa released this 14 Apr 03:54
· 2 commits to main since this release
6d20f79

Release Date: April 13, 2026

🎯 Overall Summary

Iteration 13 focused on traffic realism, station clustering and assignment UX, simulation metrics visibility, replay stability, and deployment hardening. This release delivered stop-event handling and occupancy tracking, traffic lights/stop-sign behavior, GraphHopper traffic integration and template management, cluster creation/dissolution/assignment flows, expanded task reassignment/unassignment workflows in collapsed and expanded views, simulation completion reporting improvements, and stronger CI/deployment reliability.

🏎️ Velocity

image

💵 Contractor Estimate

Artifact Type Level of Effort Estimated Price (CAD)
Traffic & Routing Enhancements High (36h) $792
Task UX, Clustering & Assignment Workflows High (32h) $704
Simulation Reporting & Replay Medium (24h) $528
Backend APIs & Persistence Medium (18h) $396
CI/CD, Deployment & Infra Reliability Medium (12h) $264
QA, Coverage & Code Quality Medium (12h) $264
Total 134h $2,948

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 13.

🔄 Retrospective

What went well?

What went wrong?

What can be improved on?

🤝 Individual Contributions

@Ambrose821 - Ambrose McLaughlin [ID: 40239754]

  • feat: Add task servicing chain and service time tracking for replay #958 in #961

    • Added task servicing-chain support and replay service-time tracking behavior.
  • feat: Block reordering of task grouping when servicing at that station in #988

    • Prevented invalid task-grouping reorders while servicing is active.
  • fix: cleanup stale TODOs #995 in #996

    • Cleaned up stale TODO comments and reduced maintenance noise.
  • Docs: Wiki contributions in Repo Wiki

    • Updated usability-feedback documentation for Release 3.
    • List of Revisions: 1 | 2 | 3

@briantkatch - Brian Tkatch [ID: 40191139]

  • ci: Add timeout for production deployment in #902

    • Added timeout safeguards for production deployment operations.
  • ci: Run production deployment as app user in #905

    • Hardened deployment execution by running under app-user context.
  • Add traffic template API endpoints and tables in #914

    • Added backend endpoints and persistence tables for traffic templates.
  • chore: Update openapi.json in apidemo/ #944 in #945

    • Updated generated OpenAPI contract for API demo alignment.
  • fix: update back Dockerfile traffic script #954 in #952

    • Fixed backend Dockerfile traffic-script behavior for container builds.

@CarciDev - David Carciente [ID: 40247907]

  • fix: long loading times on Windows in #903
    • Reduced Windows-specific loading delays to improve responsiveness.

@cmezzac - Christopher Mezzacappa [ID: 40249451]

  • fix: Added persistence logic to reporting in #941
    • Added persistence updates to improve reporting consistency across runs.

@Jpuntul - Jutipong Puntuleng [ID: 40080233]

  • feat: support multi-task reordering and right-click drag select in #889

    • Added richer interaction patterns for multi-task editing workflows.
  • Docs: Wiki contributions in Repo Wiki

    • Updated UI Evolution and Mockups documentation.
    • List of Revisions: 1 | 2 | 3 | 4 | 5

@mahutt - Thomas Mahut [ID: 40249811]

  • fix: frontend dependency vulnerabilities in #922

    • Addressed frontend dependency vulnerability findings.
  • fix: tests expect collapsed driver tasks in #924

    • Updated tests to match collapsed-view task behavior.
  • feat: basic station clustering in #928

    • Introduced baseline station clustering to reduce map clutter.
  • Add units to metrics in simulation dashboard in #932

    • Added units to dashboard metrics for better readability.
  • Make @Niravanaa a frontend code owner in #935

    • Updated code ownership configuration for frontend review paths.
  • Dissolve clusters on click in #938

    • Added click-to-dissolve interaction for station clusters.
  • Make clusters assignable in #940

    • Enabled assignment operations originating from clustered map states.
  • Move reporting widget to bottom right in #957

    • Repositioned reporting widget to improve simulation UI layout.
  • Stop unwanted filtration of station circles in #960

    • Fixed unwanted station-circle filtering behavior in map rendering.
  • Reduce task service time to 30 seconds in #963

    • Adjusted task service-time default to 30 seconds.
  • Enable scrubbing for resumed sim in #964

    • Enabled scrubbing support for resumed simulations.
  • Use sim seconds to invoke keyframes in #966

    • Updated keyframe invocation timing to simulation seconds.
  • Update collapsed task list label in #986

    • Updated collapsed-task label text for clearer UX communication.
  • Docs: Wiki contributions in Repo Wiki

@MeSumo - Sumer Abd Alla [ID: 40247712]

  • feat: Global Traffic in #947

    • Added global-traffic capability for broader simulation behavior control.
  • fix: mypy main issues in #950

    • Fixed static typing issues in key code paths.
  • fix: traffic_level in sim initialization in #979

    • Corrected traffic_level handling during simulation initialization.
  • Docs: Wiki contributions in Repo Wiki

    • Created and updated Velosim Release 3 User Manual, plus updates to R3 Simulation Spec and meeting notes.
    • List of Revisions: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13

@Michael-Mezzacappa - Michael Mezzacappa [ID: 40263789]

  • feat: Simulation Completion % added in #933

    • Added simulation completion percentage visibility in reporting surfaces.
  • fix: Avg. Tasks/Shift update live #977 in #994

    • Fixed live Avg. Tasks/Shift updates in simulation reporting.

@Niravanaa - Nirav Patel [ID: 40248940]

  • feat: traffic lights and stop signs in #906

    • Added traffic-light and stop-sign behavior to simulation flow.
  • fix: add missing translations in #910

    • Added missing translation strings used in UI paths.
  • feat: implement stop events handling and occupancy tracking in #927

    • Implemented stop-event handling with occupancy tracking.
  • fix: adjust container width for day digit count in simulation in #954

    • Fixed simulation UI sizing for larger day-digit counts.
  • feat: implement asynchronous logging with Loki in #956

    • Implemented asynchronous Loki logging support.
  • feat: add French translations for error messages in task assignment in #969

    • Added French localization coverage for task-assignment errors.
  • fix: replace pyrosm with osmium in #973

    • Replaced pyrosm with osmium tooling in the pipeline.
  • fix: add missing libexpat1 installation in Dockerfile in #974

    • Added missing runtime dependency installation in Dockerfile.
  • fix: add forceRefresh option to getSimulationReport for bypassing cache in #981

    • Added force-refresh path for uncached simulation report retrieval.
  • feat: increase coverage thresholds to 90% in #990

    • Increased CI coverage thresholds to 90%.
  • feat: correct spelling typos in comments and docstrings in #992

    • Corrected spelling typos in comments and docstrings.
  • Docs: Wiki contributions in Repo Wiki

    • Updated architecture, performance, usability, and GraphHopper-related documentation.
    • List of Revisions: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10

@Verdone - Giuliano Verdone [ID: 40252190]

  • feat: GraphHopper traffic provider in #752

    • Added GraphHopper traffic-provider integration.
  • feat: add task batch unassign endpoint in #920

    • Added backend endpoint for task batch unassignment workflows.
  • feat: add traffic template management UI in #942

    • Added traffic-template management interface on the frontend.
  • feat: add block-aware route.next() wait logic in #948

    • Added block-aware wait behavior in route.next() transitions.

@vinishamanek - Vinisha Manek [ID: 40229456]

  • fix: persist task count on scroll in selected item bar in #900

    • Fixed task-count persistence behavior while scrolling selected-item UI.
  • feat: make collapsed view default and remove task from task item in #909

    • Updated default task view and simplified task-item presentation.
  • feat: add batch unassignment in collapsed driver task view in #925

    • Added batch-unassignment support in collapsed driver-task mode.
  • feat: highlight station on map when hovered in collapsed view in #936

    • Added hover-linked station highlighting for collapsed view interactions.
  • feat: add completion % to simulations table in #939

    • Added completion-percentage visibility to simulations table.
  • feat: highlight station on map when hovered in expanded view in #946

    • Added hover-linked station highlighting for expanded view interactions.
  • feat: add hover to expand metrics on running simulation in #972

    • Added hover-to-expand metric behavior during active simulations.
  • feat: disable start sim button when scenario is empty in #980

    • Prevented starting simulations when no scenario is loaded.
  • feat: allow reassignment of tasks in collapsed view in #987

    • Enabled reassignment actions in collapsed task view.
  • docs: add release 3 demo video #993 in #997

    • Added Release 3 demo video documentation artifact.
  • Docs: Wiki contributions in Repo Wiki

    • Updated Overall Architecture and Class Diagrams and Usability Tests documentation.
    • List of Revisions: 1 | 2 | 3 | 4

What's Changed

Full Changelog: Iteration12...Iteration13