This branch stacks on enh/177-button-standardization and finalises the Stage 3 live swatch grid.
Changes
Added a clear comment explaining the is_pad guard: white reference patches (-e white steps) may also carry is_pad, but are preserved if they have measurement data or non-zero device values; true spacers with no data and all-zero device values are skipped.
Documented the row/patch ordering assumption: chartread rows A→Z and patches 1→N map to the physical left-to-right / top-to-bottom layout produced by printtarg.
Restructured the .swatch-patch tooltip to show intended Lab (or device %), measured Lab, and a Good / Warning / Bad ΔE₀₀ classification.
Added a classifyDeltaE() helper with default thresholds (2.0 / 5.0) in preparation for #184 configurable thresholds.
Added a manual smoke-test stub src/js/swatch_grid.test.js.
Updated AGENTS.md, README.md, and ROADMAP.md.
Verification
CARGO_INCREMENTAL=0 cargo test in src-tauri/: 75 passed.
Closes #178.
This branch stacks on `enh/177-button-standardization` and finalises the Stage 3 live swatch grid.
### Changes
- Added a clear comment explaining the `is_pad` guard: white reference patches (`-e` white steps) may also carry `is_pad`, but are preserved if they have measurement data or non-zero device values; true spacers with no data and all-zero device values are skipped.
- Documented the row/patch ordering assumption: `chartread` rows A→Z and patches 1→N map to the physical left-to-right / top-to-bottom layout produced by `printtarg`.
- Restructured the `.swatch-patch` tooltip to show intended Lab (or device %), measured Lab, and a `Good / Warning / Bad` ΔE₀₀ classification.
- Added a `classifyDeltaE()` helper with default thresholds (2.0 / 5.0) in preparation for #184 configurable thresholds.
- Added a manual smoke-test stub `src/js/swatch_grid.test.js`.
- Updated `AGENTS.md`, `README.md`, and `ROADMAP.md`.
### Verification
- `CARGO_INCREMENTAL=0 cargo test` in `src-tauri/`: 75 passed.
- Document the is_pad guard so legitimate white reference patches are
preserved while true spacer pads are skipped.
- Document row/patch ordering assumption (matches printtarg layout).
- Restructure patch tooltip to include intended Lab/device, measured Lab,
and a Good/Warning/Bad ΔE₀₀ classification.
- Add classifyDeltaE() helper with default thresholds (reused later by
configurable thresholds).
- Add a manual smoke-test stub in swatch_grid.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 #178.
This branch stacks on
enh/177-button-standardizationand finalises the Stage 3 live swatch grid.Changes
is_padguard: white reference patches (-ewhite steps) may also carryis_pad, but are preserved if they have measurement data or non-zero device values; true spacers with no data and all-zero device values are skipped.chartreadrows A→Z and patches 1→N map to the physical left-to-right / top-to-bottom layout produced byprinttarg..swatch-patchtooltip to show intended Lab (or device %), measured Lab, and aGood / Warning / BadΔE₀₀ classification.classifyDeltaE()helper with default thresholds (2.0 / 5.0) in preparation for #184 configurable thresholds.src/js/swatch_grid.test.js.AGENTS.md,README.md, andROADMAP.md.Verification
CARGO_INCREMENTAL=0 cargo testinsrc-tauri/: 75 passed.Pull request closed