WebGL has enabled fast rendering of maps on the web (including MapLibreGL and OpenLayers renderers), but from the software development point of view, is a notoriously cumbersome technology to work with. This session introduces Gleo, a JavaScript+WebGL map display library aiming to cover similar use cases than Leaflet, OpenLayers, MapZen and MapLibreGL. A few architectural features of Gleo will be outlined, including: - "One GL shader per type of cartographic symbol" rendering & framebuffer compositing approach - Object-oriented design: symbols as instances; allocation/deallocation of GPU resources for each symbol - ES6 javascript features: classes, modules, private fields; symbol as DOM EventTarget; deprecation of mouse/touch events in favour of pointer events - Sliding window algorithm in a wrapped WebGL texture for tile caching - On-the-fly reprojection enabled by updating just one WebGL data structure - On-the-fly CRS offsetting to prevent floating-point precision artifacts - Coordinate wrapping and display tessellation to avoid antimeridian artifacts |