port: the loading screens are no longer black -- it was the paint order

verify-screen's header has said since P1 that build_12/build_15 render pure black
in both renderers, with an open question whether that was the port's bug or the
decoders' reading of rest. Measured today: max 214.5 on both sides, mean 1.949
port against 1.918 reference. Not blank, and they agree.

It was the paint order. My own earlier measurement had already answered it and I
had not connected them: removing the forced-backdrop pass makes the first element
pgloading_loop5 and the black screen returns. pgloading_eff00 carries layer: null,
layer_source: none -- the only elements in the export with neither a read nor an
implied key -- so its position rests entirely on the occlusion constraint.

The guard stays, with the stale paragraph kept as history. It was right when
written, and a guard that stops firing is the kind that rots out of a tool.

Refutation attempt on the Decoder's census scope: my six transient
ptlogo_back2eff* on title are also GP_TITLE, so if they were fallback fires their
count of four would be wrong. Their claim survives -- all six reach rest by the
plateau path, alpha 255->255 with identical pos and scale, so the fallback never
runs. The two censuses differ in scope, not in fact.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
This commit is contained in:
Sylpheed port agent
2026-08-30 12:14:43 +00:00
parent 9b30fdb279
commit a43dee3ab0
2 changed files with 64 additions and 1 deletions

View File

@@ -202,6 +202,20 @@ print(json.load(open("export/"+f))["source"]["build"])' "$name")
# is the port's bug or the decoders' reading of `rest` is open; what is not
# open is that a blank pair may not be scored.
#
# ✅ RESOLVED 2026-08-30, AND THE PARAGRAPH ABOVE IS NOW HISTORY. It was the
# PAINT ORDER, not `rest`. `pgloading_eff00` carries `layer: null`,
# `layer_source: none` -- the only elements in the export with neither a read
# nor an implied key -- so without the forced-backdrop pass the first element
# becomes `pgloading_loop5` and the opaque quad paints over everything. With
# the pass, both screens render at max 214.5 in BOTH renderers (mean 1.949
# port, 1.918 reference) and the rows read `OK` on a real comparison.
#
# ⚠️ The guard STAYS. It is not firing today, which is exactly when a guard
# quietly rots -- and it was right when it was written: two of sixteen rows
# were comparing nothing against nothing and reporting this script's
# strongest verdict. Leaving the reasoning above intact is deliberate; a
# reader who hits a blank pair tomorrow needs it.
#
# So blankness is checked FIRST and reported as its own verdict. It is not a
# failure -- the port may legitimately have nothing to draw -- but it is not a
# pass either, and `status` is left alone so an unrelated screen's DIFFERS is