Skip to content

Add Elastic Over-zoom (Bounce-back) Support for ZoomablePlugin #864

Description

@Kuki93

feature Request: Add Elastic Over-zoom (Bounce-back) Support for ZoomablePlugin
Is your feature request related to a problem?
Currently, ZoomablePlugin enforces a strict hard limit when the user reaches the minimum or maximum zoom scale. When a user tries to pinch-to-zoom past these boundaries, the scaling simply stops abruptly. This lacks the "fluid" and "organic" feel found in modern photo gallery applications (like Google Photos or iOS Photos), where the UI provides visual feedback that a limit has been reached.

Describe the solution you'd like:
I would like to see an Elastic/Bouncy Over-zoom feature added to ZoomablePlugin.

Behavior: Allow the image to be scaled slightly beyond the min/max constraints while the user’s fingers are still on the screen (active gesture).

Recovery: Once the user releases their fingers, the image should smoothly animate (snap back) to the nearest valid scale limit (e.g., if max is 3.0x and user pulled to 3.5x, it animates back to 3.0x).

Configuration: Ideally, this would be an optional parameter in rememberZoomablePlugin.

Describe alternatives you've considered:

Hard Limits (Current): Functional, but feels "stiff" or broken to the end-user.

Custom Implementation: Attempting to wrap ZoomablePlugin and manually calculating scale offsets, but this often conflicts with the internal gesture state of the plugin, leading to jittery movement.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions