✨ Features and improvements
- Make fired/listened map events typed. This means that
map.on("something", ...)(andonce,listens) will now give you an typescript error and better autocomplete. If you relied on firing/listening custom events via the map, this still works via the escape hatchesmap.fire("something" as any)->map.on("something" as any, ...)(#8072) (by @CommanderStorm) - Let a
StyleImageInterfacegive a{renderWithWebGL}callback as itsdata, an escape hatch for plugin developers and advanced users that renders a style image on the GPU instead of moving its pixels through the CPU. Nothing new is possible that pixels could not already express, but an image that changes often, such as an animated icon, gets more performant (#7954) (by @lucaswoj) - Use integer vertex attributes for packed line data instead of float conversion (#7640) (by @johncarmack1984)
- Use integer vertex attributes for packed circle, heatmap, symbol, and fill-extrusion data instead of float conversion (#7640, #8143) (by @johncarmack1984)
- Redesign benchmarks to use vitest bench capabilities and remove custom build for benchmarks code (#982) (by @johncarmack1984)
🐞 Bug fixes
- Fix terrain pan/zoom gestures losing the grabbed terrain point: gestures are now solved against the elevation of the terrain under the gesture instead of the frozen center elevation, so terrain under the pointer/fingers no longer slips during moving-centroid pinches and drags (#8067) (by @StrawberryJam22)
- Fix
ImageSource,VideoSourceandCanvasSourceleaking a GPU texture on every image update and on removal, and a resized texture losing its wrap and filter settings (#8094) (by @mondsichtung) - Fix
map.queryRenderedFeatures()sometimes causing "Out of bounds" error due to race condition while loading tile data (#8064) (by @smvjohansenbouvet) - Fix zooming the globe with the scroll wheel or a two-finger pinch drifting away from the pointer while the globe is small on screen, instead of keeping the location under the pointer as it does when zoomed in (#8095) (by @mondsichtung)
- Fix projective rendering for non-parallelogram image source quads (#7887) (by @i4innovationnet)