Fix render-bounds EXACT verdict: enumerate floored models instead of trusting grid membership

Grid-ness of an edge was a proxy for "no floor could explain this count," not
the test itself — equal remainders on both edges cancel under a full floor. Now
checks all three floored models directly and corrects the SHORT/LONG
floor-signature docs.
This commit is contained in:
2026-08-02 16:21:46 -04:00
parent 5f971e60cd
commit bcdf97d6c4
6 changed files with 188 additions and 51 deletions
+5 -4
View File
@@ -563,10 +563,11 @@ CaptureResult OfflineRenderBackend::capture(const CaptureRequest& request) {
// because a verdict that appeared only on some outcomes would read its own absence
// on the rest as a pass. Auto/Manual are not judged against a frame count (they add
// frames by design) and the sentence says so rather than comparing anyway.
// SelectedItems/RazorArea derive their bounds from content and never consult the
// channel at all (render_settings::sourceBypassesBoundsChannel) — the batch-item
// path renders through SelectedItems on every capture, so without this the verdict
// would print an EXACT/SHORT/LONG claim about a channel that was never in play.
// SelectedItems/RazorArea are INFERRED (not SDK-confirmed) to derive their bounds
// from content and never consult the channel at all
// (render_settings::sourceBypassesBoundsChannel) — the batch-item path renders
// through SelectedItems on every capture, so without this the verdict would print an
// EXACT/SHORT/LONG claim about a channel that was never in play.
const char* boundsBypassLabel = sourceBypassesBoundsChannel(request.sourceMode)
? renderSourceLabel(request.sourceMode)
: nullptr;