From 18d4c6cf9fabc18282b29d103c8d30024f66e49b Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Thu, 19 Feb 2026 05:02:26 +0400 Subject: feat(render-parity): add deterministic frame comparison tool - Introduced `render-parity` crate for comparing rendered frames against reference images. - Added command-line options for specifying manifest and output directory. - Implemented image comparison metrics: mean absolute difference, maximum absolute difference, and changed pixel ratio. - Created a configuration file `cases.toml` for defining test cases with global defaults and specific parameters. - Added functionality to capture frames from `render-demo` and save diff images on discrepancies. - Updated documentation to include usage instructions and CI model for automated testing. --- parity/cases.toml | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 parity/cases.toml (limited to 'parity/cases.toml') diff --git a/parity/cases.toml b/parity/cases.toml new file mode 100644 index 0000000..62bb0e3 --- /dev/null +++ b/parity/cases.toml @@ -0,0 +1,27 @@ +[meta] +# Global defaults for all cases. +width = 1280 +height = 720 +lod = 0 +group = 0 +angle = 0.0 + +# Per-pixel change threshold for the "changed pixel ratio" metric. +diff_threshold = 8 + +# Allowed thresholds (case fails if any limit is exceeded). +max_mean_abs = 2.0 +max_changed_ratio = 0.010 + +# Add one block per model. +# +# [[case]] +# id = "animals_a_l_01" +# archive = "../testdata/Parkan - Iron Strategy/animals.rlb" +# model = "A_L_01.msh" +# reference = "reference/animals_a_l_01.png" +# lod = 0 +# group = 0 +# angle = 0.0 +# max_mean_abs = 2.0 +# max_changed_ratio = 0.010 -- cgit v1.2.3