Skip to content

Conversation

@RichardJSun
Copy link
Member

Animates shuttle locations on the map for a smoother user experience.

This update introduces a ShuttleAnimationManager that interpolates shuttle positions between server updates, eliminating visual "jumping". It calculates projected target positions based on vehicle speed and direction, and smoothly animates the shuttle's location using CADisplayLink. A new MapUtilities file provides geographic utility functions for calculating distances, bearings, and projecting points onto polylines.

@RichardJSun RichardJSun force-pushed the feat/animate-shuttle-location branch from 9b20148 to 2f70199 Compare December 12, 2025 23:17
@RichardJSun RichardJSun added the enhancement New feature or request label Dec 12, 2025
Combines:
- ShuttleAnimationManager for smooth shuttle animations
- RouteDataManager for route data management
- UI overlay with settings and developer mode buttons
- Fix Swift 6 concurrency: Use DisplayLinkTrampoline to bridge CADisplayLink
- Add route polyline cache invalidation based on route key comparison
- Extract magic numbers to AnimationConstants enum
- Replace print() with OSLog Logger
- Remove unused showSheet variable
- Guard timer creation to prevent leaks on re-appear
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants