Skip to content

Conversation

@thomasttvo
Copy link
Collaborator

@thomasttvo thomasttvo commented Dec 20, 2025

Since we'll convert to reanimated in a later PR, it's important to strip some features to avoid a complicated migration. We can always reintroduce them in the reanimated world if we need to.

Note

Remove pan-boundary/momentum and pin animation features, simplify offsets/gestures, and update API, docs, and builds accordingly.

  • Core changes:
    • Remove pan-boundary logic, momentum decay, and pin animations; simplify offset handling and gesture flow; delete applyPanBoundariesToOffset and related animation helpers.
    • Modernize code (optional chaining, JSX runtime) and streamline internal state.
  • API/Props:
    • Drop bindToBorders, panBoundaryPadding, disableMomentum, and animatePin; remove pinAnim from StaticPin; methods no longer accept bindToBorders params.
    • Update typings and d.ts accordingly; add useLatestCallback hook.
  • Docs/Examples/Build:
    • Revise README tables/usages and example app to reflect removed props.
    • Keep only getZoomToAnimation in animations; add package type fields in build outputs.

Written by Cursor Bugbot for commit c674720. Configure here.

Copy link

@cursor cursor bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment @cursor review or bugbot run to trigger another review on this PR

minZoom?: number;
doubleTapDelay?: number;
doubleTapZoomToCenter?: boolean;
bindToBorders?: boolean;
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TypeScript types include removed prop causing silent failure

The panBoundaryPadding prop remains in the TypeScript interface definition, but the implementation has been completely removed (the applyPanBoundariesToOffset helper file was deleted and all related logic stripped out). TypeScript users can pass this prop without compilation errors, but it will be silently ignored at runtime. This causes unexpected behavior for users who set panBoundaryPadding expecting it to control pan boundaries.

Additional Locations (1)

Fix in Cursor Fix in Web

Copy link
Collaborator

@elliottkember elliottkember left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this should be fine, but it's a breaking change so we'll need a minor version, and a CHANGELOG.md or some kind of breaking change notice in the release. I'll be interested to see whether anybody is using these features and has trouble upgrading

Base automatically changed from thomas/RN79 to master December 24, 2025 20:01
@thomasttvo thomasttvo added the breaking Breaking changes label Jan 2, 2026
@thomasttvo
Copy link
Collaborator Author

thomasttvo commented Jan 2, 2026

@elliottkember that's a good point. I've created this PR to create a better setup for changelog generation. We can edit the changelog (once it's generated) to explain further which features have been dropped once we publish. Additionally, we can also publish this as part of an RC version together with the reanimated stuff and ask the community for feedback before turning it into a official version

@thomasttvo thomasttvo changed the title Strip complicated but low priority features Strip complicated but low priority features ahead of reanimated conversion Jan 2, 2026
@elliottkember
Copy link
Collaborator

@thomasttvo Sounds like a plan. It may actually be worth making a new major version RC. Given the scope of the reanimated change I think it's justified, and will avoid anybody accidentally updating their if they use ^2 in package.json.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

breaking Breaking changes

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants