Files
Sylpheed/docs/port
Sylpheed port agent d0f6dfa861 port: the loading screens are black at EVERY instant, which disproves my layer rule
build_12 and build_15 have rendered blank since P3 and I had filed it as a rest()
casualty. It is not, and the corrected keyframe association makes it provable.

pgloading_eff00, a 1280x720 black quad, is opaque alpha 255 from t=0 to t=38 and
clears at t=48. Every other element on the screen peaks between t=8 and t=32 and
is gone by t=32-40. So the quad covers the entire span in which any content is
up, and clears only after everything else has faded. Rendered with the timeline
PLAYING at t = 20, 30, 36, 40, 42, 44, 46 and 50 units, the frame is mean 0 at
every one.

That is not a bad choice of pose. Under the port's current layer rule there is no
instant at which this screen shows anything, and a loading screen that is black
for its whole life is not what the game does -- a proof by contradiction rather
than a preference.

THE RULE UNDER SUSPICION IS MINE AND IT IS NARROW. pgloading_eff00 carries
layer_source "none" and the exporter sorts a layerless element LAST, on top.
Every other full-frame primitive in the export has a layer key (main_menu, extras
and title all give pteff00 0x00008030), so this only ever bites here -- which is
why it survived eight milestones behind two screens nobody draws.

Where a layerless element sorts is a DECODE and I have not answered it. If the
game sorts it first, behind everything, the screen renders and the quad becomes a
backdrop, which is consistent with the contradiction but not established. Asked
rather than flipped.

It does settle that verify-screen's BLANK verdict on those rows was right:
sylpheed-cli agrees with the port there precisely because it shares the
assumption under suspicion.

Also recorded: the Decoder has withdrawn "the game never draws eff3" -- it draws
all five -- and the mechanism is the one my developer-splash refutation caught a
layer down. A draw batches several quads and the log dumps only the first 8
vertices, so min/max merges them; eff3 lies entirely inside eff4 so the union is
exactly eff4's extent. My 525x259 was gamearts_eff merged with seta_eff the same
way. Nothing in the port changes: eff3 was never dropped and the splash still
draws three sprites.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01N7FiFFFwbvG2uxdcEh8HyF
2026-08-29 20:52:06 +00:00
..