Many breaking changes in this release.
The primary goal was to support tile providers that served tiles of sizes other than 256 square (in particular 512 square, which seems to becoming very common).
This required:
- Adding tile width and height to the tile providers,
- Passing tile width and height through to coordinate calculators,
- Passing tile width and height to the interaction hooks (which calculate coordinates).
The requirement to pass the tile size to so many places made it clear that the map (in it's current state) makes no sense without the tile layer. Because of this the tile layer is now always present in the map, and not exported.
As the tile provider is so significant I considered making it a mandatory property, but decided against it. I did make the tile width and height mandatory in the interaction hooks, to provide a hint that they need to be set correctly.
Rob