from pRegroup2020 Bug that is fine when zoomed out somewhat on the iPad, but breaks when zoomed out drastically.
-
This is another violation of SINGLE SOURCE OF TRUTH.
- There is a discrepancy between the zoom value that Paper has and the zoom value that React has.
- This is a case where zoom needs to be changed directly without React state update for smooth zooming.
-
A minimum value was set for ZOOM to prevent it from becoming too small when turning the wheel or doing a two-finger gesture on the PC version.
-
The PC version updates React with the Paper value in setTimeout 500msec after the wheel event occurs, so the values remain consistent.
-
On the other hand, the iPad version updates both Paper and React by itself at the end of the two-finger gesture.
- At this time, the “minimum value” is applied only to Paper updates, and a different value is set
- There is a pathway where the ZOOM value becomes NaN when further changes are made in that situation.
-
It’s rather ugly, but I managed to get away with inserting a similar minimum value process where the React update takes place.
-
We’ll fix this together when we clean up and redo the state transition area after the CCSE. - Reduxing
-
Essentially, the maximum and minimum value processing should be determined based on the device information
This page is auto-translated from /nishio/思いっきりズームアウトしたら壊れるバグ using DeepL. If you looks something interesting but the auto-translated English is not good enough to understand it, feel free to let me know at @nishio_en. I’m very happy to spread my thought to non-Japanese readers.