You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the maximum zoom range is limited by using double-precision floating point for tracking map and feature locations. Specifically, when zoomed over around 40 power-of-two zoom levels, the position starts to have jitter. This is due to the limited mantissa (significand) size of doubles (53 bits), where the zoom level and size of the display port combine to where the precision breaks down.
This could probably be solved by having all features, layers, and the map use a higher precision math library to track origins. Features that genuinely span more than 40+ levels (such as deep tile sets) would need to have localized position logic. Other features might sensibly have a specified range for which they are relevant. Position accessors would either need to take the origin into account or there would by an alternative "positionWithOrigin" accessor which would default to "position() - origin", or something similar.
The text was updated successfully, but these errors were encountered:
Currently, the maximum zoom range is limited by using double-precision floating point for tracking map and feature locations. Specifically, when zoomed over around 40 power-of-two zoom levels, the position starts to have jitter. This is due to the limited mantissa (significand) size of doubles (53 bits), where the zoom level and size of the display port combine to where the precision breaks down.
This could probably be solved by having all features, layers, and the map use a higher precision math library to track origins. Features that genuinely span more than 40+ levels (such as deep tile sets) would need to have localized position logic. Other features might sensibly have a specified range for which they are relevant. Position accessors would either need to take the origin into account or there would by an alternative "positionWithOrigin" accessor which would default to "position() - origin", or something similar.
The text was updated successfully, but these errors were encountered: