Wire resize algorithm selection, overwrite behavior, and fix rotation/flip scope

- Add ResizeAlgorithm enum (Lanczos3/CatmullRom/Bilinear/Nearest) to core
- Thread algorithm selection from UI ComboRow through ProcessingJob to resize_image
- Add OverwriteBehavior enum (AutoRename/Overwrite/Skip) to core
- Implement overwrite handling in executor with auto-rename suffix logic
- Wire overwrite behavior from output step through to processing job
- Fix rotation/flip to apply when resize step is enabled, not just adjustments
This commit is contained in:
2026-03-06 15:17:59 +02:00
parent 064194df3d
commit a29256921e
7 changed files with 123 additions and 6 deletions

View File

@@ -46,6 +46,22 @@ impl ResizeConfig {
}
}
// --- Resize Algorithm ---
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub enum ResizeAlgorithm {
Lanczos3,
CatmullRom,
Bilinear,
Nearest,
}
impl Default for ResizeAlgorithm {
fn default() -> Self {
Self::Lanczos3
}
}
// --- Rotation / Flip ---
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
@@ -225,6 +241,21 @@ impl AdjustmentsConfig {
}
}
// --- Overwrite Behavior ---
#[derive(Debug, Clone, Copy, Serialize, Deserialize)]
pub enum OverwriteBehavior {
AutoRename,
Overwrite,
Skip,
}
impl Default for OverwriteBehavior {
fn default() -> Self {
Self::AutoRename
}
}
// --- Rename ---
#[derive(Debug, Clone, Serialize, Deserialize)]