Skip to content

feat: modern transitions (zoom, adaptive), synchronized back gestures, and 0.2.0 release - #7

Draft
3d24rd0 wants to merge 6 commits into
mainfrom
feat/modern-transitions-and-gestures
Draft

3d24rd0 wants to merge 6 commits into
mainfrom
feat/modern-transitions-and-gestures

Conversation

@3d24rd0

@3d24rd0 3d24rd0 commented Sep 18, 2026

Copy link
Copy Markdown
Member

Summary of Changes

1. Modern & Synchronized Pop Gestures

  • CupertinoBackGestureDetector: Implemented a pure widgets.dart gesture detector with full NavigatorState.didStartUserGesture() and NavigatorState.didStopUserGesture() synchronization.
  • Configurable Gesture Region: Added backGestureWidth and popClosePercentage to PageTraceRoute and TraceRoute.page. Allows full-screen back swipe (backGestureWidth: null) or edge-only gesture (backGestureWidth: 20.0) to avoid conflicting with horizontal PageView, sliders, or carousels.

2. Modern Transitions in Pure widgets.dart

  • Material 3 Zoom Transition (RouteTransition.zoom): Implemented Android 10+ / Material 3 style zoom and fade transition (incoming scale 0.85 -> 1.0 + fade in; outgoing scale 1.0 -> 1.08 + fade out).
  • Platform-Adaptive Transition (RouteTransition.adaptive): Adaptively resolves to native transitions depending on the target platform:
    • iOS / macOS: SlideBuildTransition (Slide with parallax, edge shadow, and interactive gesture).
    • Android: ZoomBuildTransition (Material 3 Zoom & Fade).
    • Web / Desktop (Linux/Windows): FadeBuildTransition (Clean fade for desktop & SPA web).
  • Refined Slide Transition (Slide): Removed card corner deformation (BorderRadius.circular(60)), added vertical leading edge shadow, and secondary route scrim barrier darkening for realistic depth.

3. Argument Safety & Stability

  • Added guard in getAndClean to avoid unnecessary map mutations when the requested argument is not present.

4. Tests & Quality

  • Added unit and widget test suites for CupertinoBackGestureDetector (test/cupertino_back_gesture_test.dart) and all transition widgets (test/transitions_test.dart).
  • Total: 32/32 tests passing.
  • Analyzer: 0 issues (coolint: ^3.0.0-rc.1).
  • Package: 0 warnings on dart pub publish --dry-run.
  • Bumped version to 0.2.0 and updated CHANGELOG.md and README.md.

@3d24rd0
3d24rd0 marked this pull request as draft September 18, 2026 07:16
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