Skip to content

fix(path-following,advanced-animation): address PR #56 review feedback - #57

Closed
dkhawk wants to merge 6 commits into
feat/drawsOccludedSegments_flag_aca_ui_improvementfrom
feat/dkhawk-review-pr-56
Closed

fix(path-following,advanced-animation): address PR #56 review feedback#57
dkhawk wants to merge 6 commits into
feat/drawsOccludedSegments_flag_aca_ui_improvementfrom
feat/dkhawk-review-pr-56

Conversation

@dkhawk

@dkhawk dkhawk commented Aug 27, 2026

Copy link
Copy Markdown
Collaborator

Summary of Changes

This PR addresses review feedback for #56 across Path Following and Advanced Camera Animation:

1. Per-Waypoint Altitude Profiles in Path Following

  • Updated PathFollowingActivity.kt (Kotlin Views), PathFollowingActivity.java (Java Views), and PathFollowingActivity.kt (Compose) to incorporate pt.altitude when constructing polyline coordinates in non-CLAMP_TO_GROUND modes (ABSOLUTE, RELATIVE_TO_GROUND, and RELATIVE_TO_MESH).
  • Added altitude interpolation along path segments for both the active progress polyline tip and the camera altitude target in ABSOLUTE mode (baseAlt + interpAlt + groundAltitude).

2. Advanced Camera Animation Status Synchronization & Lifecycle Cleanup

  • Synchronized tvTourStatus updates in Kotlin AdvancedCameraAnimationActivity across all four animation approaches (runSimpleFlyTo, startOrResumeTour, runFrameDispatcherLoop, run360OrbitSpin).
  • Added tracking and cancellation of frameDispatcherCallback in stopTour() to prevent orphaned Choreographer callbacks from running after tour interruption or activity pause.
  • Reset tour status to idle in resetAndRestartTour().

3. Code Formatting

  • Applied repository Spotless formatting rules across all modified files.

cc @LoyalAbbas

- Use per-waypoint altitude profiles for static/progress polylines in Path Following (Kotlin Views, Java Views, Compose)
- Interpolate segment altitude for camera target elevation in ABSOLUTE mode
- Synchronize status label updates and Choreographer frame callback cleanup in Kotlin AdvancedCameraAnimationActivity
- Apply Spotless formatting across modified files
@dkhawk
dkhawk requested a review from LoyalAbbas August 27, 2026 20:31
dkhawk added 5 commits August 27, 2026 14:53
…tract shared datasets

- Extract shared route and flight coordinate datasets to PathData and TourData in common module
- Create PathEngine to encapsulate polyline generation, distance accumulation, kinematic heading smoothing, and altitude interpolation
- Modularize PathFollowingActivity and AdvancedCameraAnimationActivity across Kotlin Views, Java Views, and Jetpack Compose
- Connect ComposeDemos to common module with core library desugaring
- Apply Spotless formatting across all modified files
…rameters, and verify lifecycles

- Remove java.util.ArrayList import in PathEngine.kt in favor of mutableListOf
- Remove redundant explicit type on TAG property in AdvancedCameraAnimationActivity.kt
- Add named arguments for Kotlin function calls and inline parameter comments for Java calls
- Verify lifecycle callback forwarding and add ON_PAUSE observer in Compose PathFollowingActivity
…, and unit tests

- Separate path following math and physics into framework-independent PathPlaybackController
- Add comprehensive JVM Unit Tests (PathPlaybackControllerTest)
- Introduce PathFollowingViewModel exposing reactive StateFlow/LiveData
- Refactor Kotlin Views, Java Views, and Jetpack Compose to be pure presentation layers
…top of control dialog

- Move Play/Pause button and progress slider above scrollable content so they remain visible when dialog is collapsed
- Ensure title, collapse toggle, play/pause, and progress bar are always accessible
@dkhawk

dkhawk commented Aug 31, 2026

Copy link
Copy Markdown
Collaborator Author

Closing as superseded by PR #50, which merged all camera animation and path following showcase features, tests, and refactorings directly into main.

@dkhawk dkhawk closed this Aug 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant