- Output extension is always .jpg regardless of source format (was: PNG in -> PNG out) - Rotation now saved correctly: viewport grid resampled bilinearly in source space (was: unrotated bounding box copy) - Quality 90 -> 93; l10n strings updated (JPEG 93) - New: tool/crop_test.dart — pure-Dart end-to-end test (dart run tool/crop_test.dart)