test(M00): add checkpoint perceptual comparison

Work-Package: M00-QAR-VISUAL-DIFF-001
Agent: sindo-main-codex
Tests: synthetic visual diff, M00 dry-run, coordination and documentation gates
Fidelity: automates paired metrics; approved 3.3.5a captures and human approval remain required
This commit is contained in:
2026-07-11 09:38:40 +04:00
parent fbe22f6a94
commit a4f60dcb06
8 changed files with 356 additions and 5 deletions
@@ -42,6 +42,11 @@ func _initialize() -> void:
var required := String(required_variant)
_expect(covered.has(required), "missing checkpoint coverage: %s" % required, failures)
var comparison_budgets: Dictionary = manifest.get("comparison_budgets", {})
for threshold_name in ["visual_mean_perceptual_error_max", "visual_changed_pixel_ratio_max", "visual_pixel_error_threshold"]:
var threshold := float(comparison_budgets.get(threshold_name, -1.0))
_expect(threshold >= 0.0 and threshold <= 1.0, "%s must be between 0 and 1" % threshold_name, failures)
var contract: Dictionary = manifest.get("cache_contract", {})
var actual_versions := {
"baked_terrain": STREAMING_LOADER.REQUIRED_BAKED_TILE_FORMAT_VERSION,