The pattern bounding box already computes max(upper) - min(lower), so the manual loop was redundant. Extract the N×N pair distance loop into a static FindMaxPairDistance helper. Drop pre-cached edge arrays since GetEdges() returns stored references with zero allocation. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>