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.
This commit is contained in:
2026-02-19 05:02:26 +04:00
parent 0e19660eb5
commit 18d4c6cf9f
13 changed files with 1125 additions and 63 deletions

View File

@@ -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"