#pragma once // Helper minimo para comparar dos imagenes PNG con tolerancia. // Usa stb_image (vendored en cpp/vendor/stb). #include namespace fn_test { struct PngDiffResult { bool loaded_a = false; bool loaded_b = false; int width_a = 0, height_a = 0; int width_b = 0, height_b = 0; long pixels_total = 0; long pixels_different = 0; double diff_ratio = 0.0; // pixels_different / pixels_total }; // Carga ambos PNG, compara pixel a pixel con `channel_threshold` (0..255) por // canal RGBA. Si la diferencia de cualquier canal supera el umbral, el pixel // se marca como distinto. `diff_ratio` = pixels distintos / total. // // Si las dimensiones no coinciden devuelve loaded_*=true pero diff_ratio=1.0 // y pixels_total = max(area_a, area_b). PngDiffResult pixel_diff_ratio(const std::string& path_a, const std::string& path_b, int channel_threshold = 5); } // namespace fn_test