Problem
ProcessActivityConquestAction and GetTerritoriesForMapAction load all active territories and filter in JS (bbox parse + routeIntersectsPolygon, O(n·m)). No spatial or even bbox index exists; this won't scale past a demo.
Acceptance
- Index territories for spatial/bbox queries (indexed center_lat/lng + bbox prefilter at the query layer, or a real spatial index).
- Conquest over many territories stays performant (benchmark).