feat(presets): Reusable Profiling Presets with import/export and multi-stage loading (fixes #88) #100

Merged
gronod merged 5 commits from feat/88-profiling-presets into development 2026-08-25 17:58:50 +01:00
Owner

Summary of Changes

  • Backend (src-tauri/src/settings.rs, src-tauri/src/lib.rs):
    • Implemented ProfilingPreset model and AppSettings.custom_presets.
    • Added built-in presets: Standard RGB Photo (800 patches), High-Gamut CMYK Proofing (1500 patches), Fast RGB Draft (400 patches), Ultra Precision RGB (2500 patches).
    • Implemented get_all_presets, save_preset, delete_preset, export_preset_json, and import_preset_json commands.
    • Added unit tests in settings.rs testing preset defaults, serialization/deserialization, and format compatibility.
  • Frontend UI & Logic (src/index.html, src/js/presets.js, src/js/app.js):
    • Added Profiling Preset selector dropdown in sidebar.
    • Implemented "Save Profiling Preset" dialog and "Manage Profiling Presets" dialog.
    • Supported JSON preset exporting and importing.
    • Automatically populates Stage 1 (targen), Stage 2 (printtarg), and Stage 4 (colprof) form controls upon preset selection.
    • Adhered strictly to naming standard: "Preset" used throughout (no occurrences of "recipe").

Fixes #88.

### Summary of Changes - **Backend (`src-tauri/src/settings.rs`, `src-tauri/src/lib.rs`)**: - Implemented `ProfilingPreset` model and `AppSettings.custom_presets`. - Added built-in presets: `Standard RGB Photo (800 patches)`, `High-Gamut CMYK Proofing (1500 patches)`, `Fast RGB Draft (400 patches)`, `Ultra Precision RGB (2500 patches)`. - Implemented `get_all_presets`, `save_preset`, `delete_preset`, `export_preset_json`, and `import_preset_json` commands. - Added unit tests in `settings.rs` testing preset defaults, serialization/deserialization, and format compatibility. - **Frontend UI & Logic (`src/index.html`, `src/js/presets.js`, `src/js/app.js`)**: - Added Profiling Preset selector dropdown in sidebar. - Implemented "Save Profiling Preset" dialog and "Manage Profiling Presets" dialog. - Supported JSON preset exporting and importing. - Automatically populates Stage 1 (targen), Stage 2 (printtarg), and Stage 4 (colprof) form controls upon preset selection. - Adhered strictly to naming standard: "Preset" used throughout (no occurrences of "recipe"). Fixes #88.
gronod added the Kind/Feature
Priority
High
2
labels 2026-08-25 17:47:05 +01:00
gronod added 5 commits 2026-08-25 17:47:06 +01:00
gronod merged commit 577fb27809 into development 2026-08-25 17:58:50 +01:00
Sign in to join this conversation.