Skip to content

Conversation

@t2gran
Copy link
Member

@t2gran t2gran commented Oct 11, 2025

Summary

  • Added a new comprehensive Features.md page documenting all OTP capabilities (routing algorithms, modes, real-time updates, accessibility, APIs, data sources, optimization, and sandbox features)
  • Added cross-references to the Features page
  • Integrated the new Features page into the menu
  • The feature list and this PR is generated with Claude Code. I have verified everything and manually corrected a few mistakes.

Addresses

Relates to documentation improvements for better feature discoverability

Documentation

✅ This PR is entirely documentation - adds a comprehensive features page to help users understand all OTP capabilities in one place

Changelog

🟥 Not relevant - documentation-only change

Bumping the serialization version id

🟥 No changes to serialized classes

@t2gran t2gran requested a review from a team as a code owner October 11, 2025 23:59
@t2gran t2gran added !Documentation Improve documentation targeting users and/or developers. +Skip Changelog This is not a relevant change for a product owner since last release. labels Oct 12, 2025
@t2gran t2gran added this to the 2.9 (next release) milestone Oct 12, 2025
@t2gran t2gran changed the title doc: Add comprehensive Features documentation Add comprehensive Features documentation Oct 12, 2025
Add Features.md with complete overview of OTP capabilities organized into
logical categories. Integrate the features page into documentation navigation and add cross-references from key documentation pages.

Changes:
- Add doc/user/Features.md with comprehensive feature list
- Update mkdocs.yml to include Features in About section
- Add links to Features.md from index, Product-Overview, Configuration,
  RoutingModes, and Basic-Tutorial pages
- Update Transit Group Priority description
@t2gran t2gran force-pushed the doc-feature-overview branch from 3450deb to 9d6cd1f Compare October 12, 2025 00:21
@codecov
Copy link

codecov bot commented Oct 12, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 72.13%. Comparing base (87cf700) to head (9d6cd1f).
⚠️ Report is 17 commits behind head on dev-2.x.

Additional details and impacted files
@@              Coverage Diff              @@
##             dev-2.x    #6966      +/-   ##
=============================================
- Coverage      72.14%   72.13%   -0.01%     
+ Complexity     19673    19672       -1     
=============================================
  Files           2127     2127              
  Lines          79562    79562              
  Branches        8041     8041              
=============================================
- Hits           57397    57396       -1     
- Misses         19331    19332       +1     
  Partials        2834     2834              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Comment on lines +113 to +114
**Timetable Snapshot Management**
- Intelligent caching and throttling of real-time timetable snapshots to optimize performance.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is that a feature or an implementation detail?


**Backwards Delay Propagation**
- Configurable propagation of delays backwards through trip patterns when upstream data is missing.
[](Is this correct? Does this only apply to SIRI)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Only applies to GTFS-RT.

Comment on lines +148 to +149
**Rate Limiting**
- Query complexity-based rate limiting for GraphQL APIs to prevent overload.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm, I would not call that rate limiting.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should be removed, I missed it in my read-through.

Comment on lines +191 to +192
**Adaptive Pruning**
- Distance-based threshold adjustment for more aggressive pruning of problematic disconnected areas.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Part of island pruning.

**Adaptive Pruning**
- Distance-based threshold adjustment for more aggressive pruning of problematic disconnected areas.

**Multi-threaded Graph Building**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Misleading title.

- Option to cache OSM data in memory during processing instead of streaming multiple passes.

**Binary Trip Search**
- Optimized trip departure time lookup using binary search for better performance on high-frequency routes.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems like gibberish.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is not.

**Binary Trip Search**
- Optimized trip departure time lookup using binary search for better performance on high-frequency routes.

**Search Thread Pool**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have that, but does it work?

Comment on lines +232 to +233
**Time-restricted Access**
- Support for OSM opening hours on paths and streets that vary by time of day.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't have that.

**GTFS Fares V2**
- Experimental support for the new Fares V2 specification including fare products and media.

**Interagency Fares**
Copy link
Member

@leonardehrenfried leonardehrenfried Oct 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It works across agencies and feeds but you cannot refer to any entities across feeds, which what many producers want.

- Option to embed router configuration in the graph for fully self-contained deployments.

**Container Deployment**
- Docker/container-ready with health check endpoints and environment variable support.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No Docker healthchecks, you have to implement it yourself.

Comment on lines +300 to +304
**Build Reports**
- Detailed HTML reports of graph build process with errors, warnings, and statistics.

**Data Import Reports**
- Comprehensive validation reports for GTFS, NeTEx, and OSM data quality issues.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These are the same thing.

- Mode-specific reluctance factors to prefer certain transit types over others.

**Walk Limits**
- Configurable maximum walk distances and times for access, egress, and transfers.
Copy link
Member

@leonardehrenfried leonardehrenfried Oct 13, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😳 ... maxWalkDistance...?

Comment on lines +418 to +425
**Ride Hailing**
- Integration with Uber API for real-time ride-hailing cost and time estimates.

**IBI Accessibility Score**
- Experimental accessibility scoring system for rating itinerary wheelchair accessibility (0-1 scale).

**Stop Consolidation**
- Merge nearby stops into logical groups for cleaner user interfaces and simpler trip planning.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't really want to advertise these more than we already do.

@t2gran
Copy link
Member Author

t2gran commented Oct 13, 2025

@leonardehrenfried I pushed this to opentripplanner/opentripplanner so you and other core developers could modify it - not giving review. I am sorry, I wanted to say this in tomorrows dev-meeting. But, the first step is rely to decide if we want this or not. So fare I have not put much work into this, so it is ok for me to drop it.

@leonardehrenfried
Copy link
Member

Not a problem - let's discuss tomorrow.

@optionsome optionsome marked this pull request as draft October 14, 2025 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

!Documentation Improve documentation targeting users and/or developers. +Skip Changelog This is not a relevant change for a product owner since last release.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants