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/README.md | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'crates/render-demo/README.md') diff --git a/crates/render-demo/README.md b/crates/render-demo/README.md index b33b18c..0a1fb45 100644 --- a/crates/render-demo/README.md +++ b/crates/render-demo/README.md @@ -23,6 +23,25 @@ cargo run -p render-demo --features demo -- \ - `--model` (опционально): имя модели; если не задано, берётся первая `.msh`. - `--lod` (опционально, default `0`). - `--group` (опционально, default `0`). +- `--width`, `--height` (опционально, default `1280x720`). +- `--angle` (опционально): фиксированный угол поворота вокруг Y (в радианах). +- `--spin-rate` (опционально, default `0.35`): скорость вращения в интерактивном режиме. + +## Детерминированный снимок кадра + +Для parity-проверок используется headless-сценарий с фиксированными параметрами: + +```bash +cargo run -p render-demo --features demo -- \ + --archive "testdata/Parkan - Iron Strategy/animals.rlb" \ + --model "A_L_01.msh" \ + --lod 0 \ + --group 0 \ + --width 1280 \ + --height 720 \ + --angle 0.0 \ + --capture "target/render-parity/current/animals_a_l_01.png" +``` ## Ограничения -- cgit v1.2.3