autoRefreshViewport

When true, each frame reads only the visible viewport via BulkFeatureSource.readBySector instead of loading everything via load. Pair with a cache-backed source (CachedBulkFeatureSource over a GeoPackage store): downloaded once, then every pan/zoom is a BBOX query off its spatial index so RAM holds only visible features. A plain network source has no index — its default readBySector falls back to fetchAll, so memory isn't bounded.