This branch stacks on enh/176-colprof-fwa and adds interactive controls and documentation to the 3D CIELAB gamut viewer.
Changes
Added public gamut_viewer.js API functions:
resetCamera() — returns camera to the default orbit position.
setProfileOpacity(opacity), setSrgbReferenceOpacity(opacity), setAxisOpacity(opacity) — live opacity updates for each layer.
Added a Reset View button and per-layer opacity range sliders to the gamut viewer control panel.
Added R keyboard shortcut to reset the camera while Stage 5 is active.
Added JSDoc to all public exported functions.
Added supporting CSS for sliders and the reset button.
Updated AGENTS.md, README.md, and ROADMAP.md.
Verification
CARGO_INCREMENTAL=0 cargo test in src-tauri/: 79 passed.
Closes #185.
This branch stacks on `enh/176-colprof-fwa` and adds interactive controls and documentation to the 3D CIELAB gamut viewer.
### Changes
- Added public `gamut_viewer.js` API functions:
- `resetCamera()` — returns camera to the default orbit position.
- `setProfileOpacity(opacity)`, `setSrgbReferenceOpacity(opacity)`, `setAxisOpacity(opacity)` — live opacity updates for each layer.
- Added a **Reset View** button and per-layer opacity range sliders to the gamut viewer control panel.
- Added `R` keyboard shortcut to reset the camera while Stage 5 is active.
- Added JSDoc to all public exported functions.
- Added supporting CSS for sliders and the reset button.
- Updated `AGENTS.md`, `README.md`, and `ROADMAP.md`.
### Verification
- `CARGO_INCREMENTAL=0 cargo test` in `src-tauri/`: 79 passed.
- Add resetCamera(), setProfileOpacity(), setSrgbReferenceOpacity(), and
setAxisOpacity() public API functions with JSDoc.
- Add Reset View button and per-layer opacity sliders to the gamut viewer
control panel.
- Add R keyboard shortcut to reset camera when Stage 5 is active.
- Add CSS for new gamut controls (sliders and reset button).
- Update AGENTS.md, README.md, and ROADMAP.md.
Generated with Devin
- Make parseGamutFile support multiple BEGIN_DATA blocks, inline #
comments, out-of-bounds vertex warnings, and user-visible parser
warnings (returned in { vertices, faces, warnings }).
- Harden profcheck report parsing: prefer the last JSON object with
avg_de/max_de/rms_de keys, then fall back to a wider set of regex
patterns for legacy plain-text output.
- Add parser warnings to the process log when metrics cannot be found.
- Fix loadGamutMesh call signature and add try/catch around gamut load.
- Add manual gamut parser tests in src/js/gamut_viewer.test.js.
- Update AGENTS.md, README.md, and ROADMAP.md.
Generated with Devin
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Closes #185.
This branch stacks on
enh/176-colprof-fwaand adds interactive controls and documentation to the 3D CIELAB gamut viewer.Changes
gamut_viewer.jsAPI functions:resetCamera()— returns camera to the default orbit position.setProfileOpacity(opacity),setSrgbReferenceOpacity(opacity),setAxisOpacity(opacity)— live opacity updates for each layer.Rkeyboard shortcut to reset the camera while Stage 5 is active.AGENTS.md,README.md, andROADMAP.md.Verification
CARGO_INCREMENTAL=0 cargo testinsrc-tauri/: 79 passed.- Make parseGamutFile support multiple BEGIN_DATA blocks, inline # comments, out-of-bounds vertex warnings, and user-visible parser warnings (returned in { vertices, faces, warnings }). - Harden profcheck report parsing: prefer the last JSON object with avg_de/max_de/rms_de keys, then fall back to a wider set of regex patterns for legacy plain-text output. - Add parser warnings to the process log when metrics cannot be found. - Fix loadGamutMesh call signature and add try/catch around gamut load. - Add manual gamut parser tests in src/js/gamut_viewer.test.js. - Update AGENTS.md, README.md, and ROADMAP.md. Generated with DevinPull request closed