feat(gamut): integrate 3D gamut visualization and platform profile extension handling (v0.1.14) #74

Merged
gronod merged 1 commits from fix/issue-57-69-gamut-viewer-and-profile-extension into development 2026-08-25 10:33:56 +01:00
Owner

Summary

This PR resolves Issue #57 (3D Gamut Visualization) and Issue #69 (Platform profile extension handling .icm/.icc).

Closes #57
Closes #69

Changes

  1. Platform Profile Extension Resolution (src-tauri/src/commands.rs, src-tauri/src/lib.rs):
    • Added get_profile_path(cwd, basename) command and resolve_profile_extension.
    • Updated extract_gamut and run_profcheck to auto-resolve .icc vs .icm if the exact file does not exist directly.
  2. 3D Gamut Mesh Lifecycle & Visualization (src/js/gamut_viewer.js, src/assets/sRGB.gam):
    • Added ResizeObserver so the WebGL viewport adapts immediately when Stage 5 becomes visible or the window is resized.
    • Maintained mesh lifecycle (currentProfileMesh, sRgbMesh) with proper disposal of previous geometries and materials.
    • Bundled and loaded sRGB.gam reference wireframe on startup for comparative gamut evaluation.
  3. Stage 4 & Stage 5 Gamut Integration (src/js/colprof.js, src/js/profcheck.js):
    • On successful colprof execution, triggers extract_gamut and automatically loads the generated <basename>.gam mesh into the 3D viewer.
    • On profcheck execution, resolves the real platform profile path and ensures the gamut mesh is loaded.
  4. Version Bump:
    • Incremented point version 0.1.13 -> 0.1.14 across package.json, src-tauri/Cargo.toml, and src-tauri/tauri.conf.json.
### Summary This PR resolves Issue #57 (3D Gamut Visualization) and Issue #69 (Platform profile extension handling .icm/.icc). Closes #57 Closes #69 ### Changes 1. **Platform Profile Extension Resolution (`src-tauri/src/commands.rs`, `src-tauri/src/lib.rs`)**: - Added `get_profile_path(cwd, basename)` command and `resolve_profile_extension`. - Updated `extract_gamut` and `run_profcheck` to auto-resolve `.icc` vs `.icm` if the exact file does not exist directly. 2. **3D Gamut Mesh Lifecycle & Visualization (`src/js/gamut_viewer.js`, `src/assets/sRGB.gam`)**: - Added `ResizeObserver` so the WebGL viewport adapts immediately when Stage 5 becomes visible or the window is resized. - Maintained mesh lifecycle (`currentProfileMesh`, `sRgbMesh`) with proper disposal of previous geometries and materials. - Bundled and loaded `sRGB.gam` reference wireframe on startup for comparative gamut evaluation. 3. **Stage 4 & Stage 5 Gamut Integration (`src/js/colprof.js`, `src/js/profcheck.js`)**: - On successful `colprof` execution, triggers `extract_gamut` and automatically loads the generated `<basename>.gam` mesh into the 3D viewer. - On `profcheck` execution, resolves the real platform profile path and ensures the gamut mesh is loaded. 4. **Version Bump**: - Incremented point version `0.1.13` -> `0.1.14` across `package.json`, `src-tauri/Cargo.toml`, and `src-tauri/tauri.conf.json`.
gronod added 1 commit 2026-08-25 10:24:43 +01:00
feat(gamut): integrate 3D gamut visualization and platform profile extension handling (v0.1.14)
Build Windows Packages / Build Windows (pull_request) Successful in 6m45s
Build Linux Packages / Build Linux (pull_request) Successful in 9m1s
edca3625da
gronod merged commit 07d4be1c8c into development 2026-08-25 10:33:56 +01:00
gronod deleted branch fix/issue-57-69-gamut-viewer-and-profile-extension 2026-08-25 10:33:56 +01:00
Sign in to join this conversation.