…when using the zoom buttons or +/- keyboard shortcuts (i.e. does not affect the mouse-wheel/pinch zooming)
Also: make zoom in/out transition slightly faster.
In sum, this allows to zoom in/out multiple levels in quick succession, and using the zoom buttons should be more intuive: they don't snap to very-close zoom levels anymore (e.g. hitting `+` when the current zoom was 15.97 would previously result in a final zoom of 16.00, which is not really what a user would need. Now the zooming in results in a final zoom level of 17.00, which is "actually properly zoomed in".
initial zoom | operation | final zoom (new) | final zoom (old code)
----- | --- | ----- | -----
16.00 | `+` | 17.00 | 17.00
16.00 | `-` | 15.00 | 15.00
16.10 | `+` | 17.00 | 17.00
16.10 | `-` | 15.00 | 15.00
15.90 | `+` | 17.00 | 16.00
15.90 | `-` | 15.00 | 14.00
For some elements, Firefox reports wheel deltas measured in lines (see https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent/deltaMode), which we need to convert to pixels. The previous routine hugely overestimated the conversion factor if the deltaY as slightly bigger (not sure where the exp function came from originally, it does not make much sense IMO).
The lines-to-pixels factor does not seem to be quite consistent between different Firefox builds, but this compromise factor should be good enough, I hope.
PS: Firefox on Mac OS does not report deltas as lines anymore it seems.
closes#10825
Consolidate localization behavior and init to a coreLocalizer function and singleton
Explicitly support `en-US` locale
Rename coreData to coreFileFetcher and export a singleton rather than using a property of coreContext
Add `apiConnections` property of coreContext to simplify adding a source switcher
Replace some init functions with re-callable, promise-supporting `ensureLoaded` functions
Make coreContext itself load the UI if a container has been specified at init time
Fix code tests
Fix issue where double-tap-to-zoom would not be properly disabled when drawing on touch devices (close#2128)
Support adding nodes to ways with double-tap with on touch devices (close#2677)
Support double-tap-to-zoom with styluses on touch devices
Don't accept double click/tap events if the taps are far apart
Don't re-enter modeSelect when clicking the selected feature again