Served as vector tiles from PostGIS (ST_AsMVT); size by population; labels appear from zoom 5.
Above 5,000 features Spatly serves a dataset as vector tiles, so only what is in view is loaded. Sizes come from an interpolated population scale.
A symbol layer with name as text, halo from the theme, only for places above 500k and from zoom 5.