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. --- crates/render-demo/Cargo.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'crates/render-demo/Cargo.toml') diff --git a/crates/render-demo/Cargo.toml b/crates/render-demo/Cargo.toml index 376a25e..aab041d 100644 --- a/crates/render-demo/Cargo.toml +++ b/crates/render-demo/Cargo.toml @@ -5,7 +5,7 @@ edition = "2021" [features] default = [] -demo = ["dep:sdl2", "dep:glow"] +demo = ["dep:sdl2", "dep:glow", "dep:image"] [dependencies] msh-core = { path = "../msh-core" } @@ -13,6 +13,7 @@ nres = { path = "../nres" } render-core = { path = "../render-core" } sdl2 = { version = "0.37", optional = true, default-features = false, features = ["bundled", "static-link"] } glow = { version = "0.16", optional = true } +image = { version = "0.25", optional = true, default-features = false, features = ["png"] } [[bin]] name = "parkan-render-demo" -- cgit v1.2.3