feat(planning): add trip filtering and fix departure date logic

- Add Trip.status property for status tracking
- Add RouteFilters trip list methods (filterBySport, filterByDateRange, filterByStatus, applyFilters)
- Add TravelEstimator max driving hours validation
- Fix ScenarioA/B departureDate to use last game day (not day after)
- Update GameDAGRouter comments for buffer logic

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
Trey t
2026-01-11 01:18:52 -06:00
parent 1bd248c255
commit 55c6d6e5e8
6 changed files with 83 additions and 14 deletions

View File

@@ -17,6 +17,7 @@ struct Trip: Identifiable, Codable, Hashable {
var totalDistanceMeters: Double
var totalDrivingSeconds: Double
var score: TripScore?
var status: TripStatus
init(
id: UUID = UUID(),
@@ -29,7 +30,8 @@ struct Trip: Identifiable, Codable, Hashable {
totalGames: Int = 0,
totalDistanceMeters: Double = 0,
totalDrivingSeconds: Double = 0,
score: TripScore? = nil
score: TripScore? = nil,
status: TripStatus = .planned
) {
self.id = id
self.name = name
@@ -42,6 +44,7 @@ struct Trip: Identifiable, Codable, Hashable {
self.totalDistanceMeters = totalDistanceMeters
self.totalDrivingSeconds = totalDrivingSeconds
self.score = score
self.status = status
}
var totalDistanceMiles: Double { totalDistanceMeters * 0.000621371 }