https://linear.app/comm/issue/ENG-8152/convert-cameramodal-to-reanimated-2-syntax
How zoom is calculated and updated:
- zoomBase - is the zoom value before pinch gesture started
- zoomReported - is the zoom value that is set in the state
- currentZoom - is the current zoom value calculated while pinch gesture is ongoing, it may be not in the state yet. It is calculated based on the zoomBase and current pinch scale and clamped to [1, 8] range.
- when the difference between current and reported zoom value is higher than the zoomUpdateFactor, we update the zoom state with the current zoom. The value passed to the state is interpolated to [0, 1] range.
Probably for performance reasons we can't do this too frequently.
There shouldn't be any difference between behavior after migration.
After migrating to react-native-vision-camera we can get rid of zoomReported and zoom state and set the zoom directly
as reanimated value like described here: https://react-native-vision-camera.com/docs/guides/zooming#code
Depends on D14234