Complete design spec for overhauling all loading views, progress
indicators, and spinners. Covers LoadingSpinner, LoadingPlaceholder,
and LoadingSheet components with Apple-style minimal aesthetic.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Hybrid approach: keep Sport enum for existing 7 sports,
add DynamicSport struct for CloudKit-defined leagues.
Unified via AnySport protocol for seamless UI integration.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Covers performance (launch freeze, list lag), UI polish (animations,
missing location info, timezone display), and scraper alias fix.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
16-task TDD implementation plan for:
- CloudKit delta sync using modificationDate
- Remove 90-day game browsing limit
- Rename fetch* to filter* for clarity
- Add allGames/allRichGames methods
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Addresses issue where Houston Astros only shows 7 games in "By Games" mode.
Documents plan to remove arbitrary date restrictions and implement proper
delta sync using CloudKit modificationDate.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Design to eliminate UUID layer and use canonical IDs as the single
stadium/team/game identifier throughout the client. Key changes:
- Domain models use String IDs (canonical IDs)
- Remove UUID mapping dictionaries from DataProvider
- Simplify AchievementEngine (delete resolution helper)
- StadiumVisit uses single stadiumId field
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Covers:
- Planning mode bugs (follow team location, must-stop filtering, date range)
- UI improvements (sort options, map locking, today highlight)
- Coast-to-coast filter to show top 2 by stops
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Plain English privacy policy and ToS for freemium iOS app.
Key decisions: 13+ age requirement, no accounts, CloudKit
analytics, Texas jurisdiction.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace all custom font sizes with Apple's built-in text styles
for accessibility compliance. Remove Theme.FontSize enum entirely.
Export files keep fixed sizes for consistent PDF output.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
New 4th planning mode for fans to build trips around their team's
schedule (home + away games). Includes region/date filtering,
flexible start/end location, and repeat city handling.
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
String Catalogs + AI translation pipeline for 5 languages:
Spanish, French, German, Japanese, Chinese (Simplified)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>