fix(path-following,advanced-animation): address PR #56 review feedback - #57
Closed
dkhawk wants to merge 6 commits into
Closed
fix(path-following,advanced-animation): address PR #56 review feedback#57dkhawk wants to merge 6 commits into
dkhawk wants to merge 6 commits into
Conversation
- 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
…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
Collaborator
Author
|
Closing as superseded by PR #50, which merged all camera animation and path following showcase features, tests, and refactorings directly into main. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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
PathFollowingActivity.kt(Kotlin Views),PathFollowingActivity.java(Java Views), andPathFollowingActivity.kt(Compose) to incorporatept.altitudewhen constructing polyline coordinates in non-CLAMP_TO_GROUNDmodes (ABSOLUTE,RELATIVE_TO_GROUND, andRELATIVE_TO_MESH).ABSOLUTEmode (baseAlt + interpAlt + groundAltitude).2. Advanced Camera Animation Status Synchronization & Lifecycle Cleanup
tvTourStatusupdates in KotlinAdvancedCameraAnimationActivityacross all four animation approaches (runSimpleFlyTo,startOrResumeTour,runFrameDispatcherLoop,run360OrbitSpin).frameDispatcherCallbackinstopTour()to prevent orphanedChoreographercallbacks from running after tour interruption or activity pause.resetAndRestartTour().3. Code Formatting
cc @LoyalAbbas