port: confirm no screen of mine carries a .tbm, and guard verify-screen anyway
The Decoder found that sylpheed-cli screen render silently omits the background of any .tbm-bearing build, and stated that none of my screens has one. That is a claim about my tree and it decides whether my regression baseline is sound, so I tested it: zero .tbm across all 16 builds in my manifest -- wider than the five they said. Both controls fired (GP_TUTORIAL build 0 -> pubase.tbm; GP_TITLE build 5 -> none); my first attempt's control printed nothing and I nearly read that as agreement. verify-screen now names the omission on any .tbm-bearing row. It cannot fire on a screen I ship -- which is how a guard goes dead -- so its expression is controlled directly in both directions. No verdict or bar changes. Regression unchanged: title max 6 / over3 790, main_menu max 4 / over3 0. Their identification (reading TUTORIAL off the framebuffer) and my edge correlation (run before their message, blind to the text) agree on GP_TUTORIAL build 0 from no shared assumption. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
@@ -114,6 +114,30 @@ print(json.load(open("export/"+f))["source"]["build"])' "$name")
|
||||
"$CLI" screen render "$DISC/dat/GP_TITLE.pak" "$OUT/$name.ref.png" \
|
||||
--build "$build" --all --black --primitives --animated >/dev/null
|
||||
|
||||
# 🔴 THE REFERENCE RENDERER SILENTLY OMITS A `.tbm` BACKGROUND.
|
||||
#
|
||||
# The Decoder reached and captured the TUTORIAL screen and found that
|
||||
# `screen render` draws every OTHER element of a `.tbm`-bearing build and
|
||||
# leaves the background out, with no diagnostic: their render of GP_TUTORIAL
|
||||
# build 0 is the correct layout on pure black, 6.0-6.4 % inked against the
|
||||
# game's 99.7 %. `docs/re/structures/tbm-submenu-not-reached.md`, their branch.
|
||||
#
|
||||
# I confirmed the shape of it here with both controls: `screen info` reports
|
||||
# `pubase.tbm` on GP_TUTORIAL build 0 and no `.tbm` on any of the 16 builds in
|
||||
# my manifest. So this trap CANNOT fire today.
|
||||
#
|
||||
# ⚠️ That is a fact about today's manifest, not a property of this script, and
|
||||
# the failure it would cause is the expensive kind: the port draws a
|
||||
# background the reference does not, the row reads DIFFERS, and the header
|
||||
# above tells the reader to go find out which renderer moved. Neither did.
|
||||
# The row would be a real disagreement caused by a KNOWN omission on the
|
||||
# reference side, and nothing on screen would say so.
|
||||
#
|
||||
# So the row says so. This does not change the verdict or the bar -- it
|
||||
# attaches the provenance to the one row that would otherwise mislead.
|
||||
tbm=$("$CLI" screen info "$DISC/dat/GP_TITLE.pak" --build "$build" --all 2>/dev/null \
|
||||
| grep -ioc '\.tbm' || true)
|
||||
|
||||
godot --path port --resolution 1280x720 -- \
|
||||
"--screen=$name" --pose=rest "--capture=$OUT/$name.godot.png" >"$OUT/$name.log" 2>&1
|
||||
|
||||
@@ -176,6 +200,9 @@ print(json.load(open("export/"+f))["source"]["build"])' "$name")
|
||||
verdict="ROUNDING -- max $max but NO pixel over the bar"
|
||||
fi
|
||||
fi
|
||||
if [ "${tbm:-0}" -gt 0 ]; then
|
||||
verdict="$verdict [build carries a .tbm: the REFERENCE omits that background, so a DIFFERS here is likely theirs]"
|
||||
fi
|
||||
printf '%-17s build %-3s max %-5s mean %-8s over3 %-7s %s\n' \
|
||||
"$name" "$build" "$max" "${mean:0:6}" "$over" "$verdict"
|
||||
done
|
||||
|
||||
Reference in New Issue
Block a user