[AZ-364] [AZ-360] Refactor C11+C08: decompose RouteProcessingService

Extracts RouteRegionMatcher, RouteCsvWriter, RouteSummaryWriter,
RouteImageRenderer, TilesZipBuilder, RegionFileCleaner from the
~750-LOC RouteProcessingService god-class. Moves TileInfo to its
own file as a sealed record. Replaces IServiceProvider scope-
locator with a direct IRegionService injection (folds AZ-360 / C08).
Updates DI registration and tests.

Tests: 133 / 133 unit + 5 / 5 smoke green; integration suite exit 0.
Pixel-equivalent stitched route image and byte-equivalent CSV /
summary / ZIP outputs verified through the smoke run.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Oleksandr Bezdieniezhnykh
2026-05-11 03:12:49 +03:00
parent 70a0a2c4d5
commit 6f23120c49
16 changed files with 1181 additions and 439 deletions
@@ -0,0 +1,7 @@
namespace SatelliteProvider.Services.RouteManagement;
// AZ-364 / C11: extracted from RouteProcessingService where it lived as a
// trailing public class. Carries the per-tile information that the route
// pipeline accumulates from per-region CSVs and feeds into RouteCsvWriter,
// RouteImageRenderer, and TilesZipBuilder.
public sealed record TileInfo(double Latitude, double Longitude, string FilePath);