odiff_version() now correctly parses the version from odiff --version
output instead of --help, which did not contain version information.batch_report() with relative_paths = TRUE now produces correct relative
paths on Windows by normalizing path separators before computing relative
paths.batch_report() gains a relative_paths parameter. When TRUE, image
paths in HTML reports are relative to the report location, making reports
portable without embedding images.compare_image_dirs() now emits a message when files in current_dir
have no corresponding baseline, helping catch missing or extra images early.failed_pairs() and passed_pairs() make it
easy to filter batch comparison results.embed = TRUE,
show_all = TRUE, and relative_paths = TRUE.compare_dirs_report() convenience function combines compare_image_dirs()
and batch_report() into a single call for the common QA workflow of
comparing two directories and generating an HTML report.batch_report(): Generate standalone HTML reports from batch comparison
results. Reports include pass/fail statistics, failure reason breakdown,
diff statistics, and thumbnails of worst offenders.embed = TRUE for self-contained reports
with base64-encoded images, or embed = FALSE (default) to link to files.show_all = TRUE.compare_image_dirs(): Compare all images in two directories by matching
relative paths. Baseline directory is source of truth; missing files in
current directory trigger warnings and are excluded from results.summary() method for batch results: Get aggregate statistics including
pass/fail counts, failure reason breakdown, diff statistics (min, median,
mean, max), and worst offenders ranked by diff percentage.compare_images_batch() and compare_image_dirs() now return objects with
class odiffr_batch for S3 method dispatch.parallel parameter for compare_images_batch() and compare_image_dirs():
Set parallel = TRUE to compare images using multiple CPU cores.parallel::mclapply on Unix systems (macOS, Linux) for faster batch
comparisons.expect_images_match(): Assert two images are visually identicalexpect_images_differ(): Assert two images are visually differenttests/testthat/_odiffr/ on failureoptions(odiffr.save_diff) and options(odiffr.diff_dir)Initial release.
compare_images(): High-level image comparison returning tibble/data.framecompare_images_batch(): Batch comparison of multiple image pairsodiff_run(): Low-level CLI wrapper with full option controlignore_region(): Helper for creating ignore region specificationsfind_odiff(): Locate Odiff binary with priority-based searchodiff_available(): Check if Odiff is availableodiff_version(): Get Odiff version stringodiff_info(): Display full configuration informationodiffr_update(): Download Odiff binary to user cache (fallback option)odiffr_cache_path(): Get cache directory pathodiffr_clear_cache(): Remove cached binariesRequires Odiff (>= 3.0.0) to be installed. Install via:
npm install -g odiff-binAlternatively, use odiffr_update() to download to user cache.
Works on any platform where Odiff is available: