Files
Sylpheed/docs/re/data/ui-blend-extras-complete.txt
sylph-decoder fa887b4e5f re: EXTRAS complete -- ptframe4, pteff21/22/23 and pteff10 are all ADDITIVE
The four elements the port measured as the worst on EXTRAS, and which appeared
in no draw, were in a draw all along: the 24-index additive batch holds six
quads and Canary printed the first two. Cap raised to 64, screen re-captured,
all six named. Same draw as ptframe3, whose state was already measured -- the
one-way implication doing real work.

pteff10 is identified too, and it needed the resting SCALE: it ships as 409x144
and is drawn at 200 % x 500 % = 816x720. The matcher's 'try 1x and 2x' rule
could not name it at any scale and reported a near miss against something else,
which is a failure wearing the clothes of an answer. Candidates are now the
declaration's pivot*2 scaled by the resting keyframe as well as the texture at
1x and 2x, and the tolerance is the log's own NDC print quantisation rather than
a chosen number.

Flagged rather than buried: pteff10 measuring additive is in tension with the
port measuring it nearly exact under alpha-over. Both can be true for a dim
semi-transparent glow over a dark background, and it is the one row a rendering
check does not corroborate.

Also stated: the three full-screen alpha-over draws are NOT individually
identified -- four elements declare 1280x720 -- so the label on those rows is a
candidate, not an identification.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
2026-08-31 06:59:11 +00:00

148 lines
12 KiB
Plaintext

# EXTRAS, COMPLETE. Every element named, every blend measured. 2026-08-31, run 2.
#
# The first EXTRAS capture reported four of this screen's elements as appearing in
# NO draw. They were in a draw all along: the 24-index additive batch holds SIX
# quads and Canary's vertex dump was capped at 8 vertices = two. Cap raised to 64.
#
# Two changes to the matcher, both because it had been dressing a failure up as a
# near miss:
#
# * a candidate size is now the declaration's `pivot * 2` scaled by the RESTING
# keyframe's scale, as well as the texture's own size at 1x and 2x. That is
# the only thing that names `pteff10` -- it ships as 409x144 and is drawn at
# 200 % x 500 % = 816x720. Scale-guessing could not name it at all and offered
# a near miss against something else.
# * the tolerance is the NDC PRINT QUANTISATION, not a fudge factor. The log
# prints NDC to two decimals, so a width is quantised to 6.4 px and a height to
# 3.6 px, and a match is reported in units of that.
#
# CONTROL: the two rotated sweep strips, measured independently at 1134 and 1303
# px in data/title-sweep-drawn-at-rest.txt, reproduce on every screen.
#
# ⚠️ The three full-screen 1280x720 alpha-over draws are NOT individually
# identified: ptbase, pteff05, pteff02.prm and pteff00.prm all declare 1280x720,
# so size cannot separate them. Two of the three carry a bound texture and one
# does not, which narrows it and does not close it. All four are alpha-over, so
# nothing in the answer turns on it -- but the label the tool prints for those
# rows is A candidate, not an identification.
=== EXTRAS (GP_TITLE entry 6), 55 draws over 6 frames, vertex cap 64 ===
draw prim idx blend state quad px (w x h) best name match
1 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
2 13 4 0x01010101 ADDITIVE 883.2 x 1134.0 (no match, nearest pteff10.t32 [declared] off 125.5 quanta)
3 13 4 0x01010101 ADDITIVE 1299.2 x 1303.2 (no match, nearest ptbase.t32 [declared] off 165.0 quanta)
4 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
5 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
6 13 4 0x01010101 ADDITIVE 819.2 x 720.0 pteff10.t32 [declared]
7 13 24 0x01010101 ADDITIVE 614.4 x 518.4 pteff20.t32 [texture@2x]
7 13 24 0x01010101 ADDITIVE 243.2 x 219.6 ptframe3.t32 [declared]
7 13 24 0x01010101 ADDITIVE 256.0 x 212.4 ptframe4.t32 [declared]
7 13 24 0x01010101 ADDITIVE 403.2 x 3.6 pteff21.t32 [texture]
7 13 24 0x01010101 ADDITIVE 422.4 x 7.2 pteff22.t32 [texture]
7 13 24 0x01010101 ADDITIVE 435.2 x 7.2 pteff23.t32 [texture]
8 13 24 0x07010701 alpha-over(premul) 352.0 x 39.6 ptmsg2.t32 [texture]
8 13 24 0x07010701 alpha-over(premul) 179.2 x 32.4 pttitle.t32 [texture]
8 13 24 0x07010701 alpha-over(premul) 268.8 x 57.6 ptbtn11f.t32 [texture]
8 13 24 0x07010701 alpha-over(premul) 64.0 x 61.2 (no match, nearest ptbtn13.rat [declared] off 7.6 quanta)
8 13 24 0x07010701 alpha-over(premul) 249.6 x 43.2 ptbtn12.t32 [texture]
8 13 24 0x07010701 alpha-over(premul) 108.8 x 43.2 ptbtn13.t32 [texture]
12 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
13 13 4 0x01010101 ADDITIVE 889.6 x 1134.0 (no match, nearest pteff10.t32 [declared] off 126.5 quanta)
14 13 4 0x01010101 ADDITIVE 1305.6 x 1303.2 (no match, nearest ptbase.t32 [declared] off 166.0 quanta)
15 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
16 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
17 13 4 0x01010101 ADDITIVE 819.2 x 720.0 pteff10.t32 [declared]
18 13 24 0x01010101 ADDITIVE 614.4 x 518.4 pteff20.t32 [texture@2x]
18 13 24 0x01010101 ADDITIVE 243.2 x 219.6 ptframe3.t32 [declared]
18 13 24 0x01010101 ADDITIVE 256.0 x 212.4 ptframe4.t32 [declared]
18 13 24 0x01010101 ADDITIVE 403.2 x 3.6 pteff21.t32 [texture]
18 13 24 0x01010101 ADDITIVE 422.4 x 7.2 pteff22.t32 [texture]
18 13 24 0x01010101 ADDITIVE 435.2 x 7.2 pteff23.t32 [texture]
19 13 24 0x07010701 alpha-over(premul) 352.0 x 39.6 ptmsg2.t32 [texture]
19 13 24 0x07010701 alpha-over(premul) 179.2 x 32.4 pttitle.t32 [texture]
19 13 24 0x07010701 alpha-over(premul) 268.8 x 57.6 ptbtn11f.t32 [texture]
19 13 24 0x07010701 alpha-over(premul) 64.0 x 64.8 (no match, nearest ptbtn13.rat [declared] off 8.6 quanta)
19 13 24 0x07010701 alpha-over(premul) 249.6 x 43.2 ptbtn12.t32 [texture]
19 13 24 0x07010701 alpha-over(premul) 108.8 x 43.2 ptbtn13.t32 [texture]
23 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
24 13 4 0x01010101 ADDITIVE 883.2 x 1134.0 (no match, nearest pteff10.t32 [declared] off 125.5 quanta)
25 13 4 0x01010101 ADDITIVE 1299.2 x 1303.2 (no match, nearest ptbase.t32 [declared] off 165.0 quanta)
26 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
27 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
28 13 4 0x01010101 ADDITIVE 819.2 x 720.0 pteff10.t32 [declared]
29 13 24 0x01010101 ADDITIVE 614.4 x 518.4 pteff20.t32 [texture@2x]
29 13 24 0x01010101 ADDITIVE 243.2 x 219.6 ptframe3.t32 [declared]
29 13 24 0x01010101 ADDITIVE 256.0 x 212.4 ptframe4.t32 [declared]
29 13 24 0x01010101 ADDITIVE 403.2 x 3.6 pteff21.t32 [texture]
29 13 24 0x01010101 ADDITIVE 422.4 x 7.2 pteff22.t32 [texture]
29 13 24 0x01010101 ADDITIVE 435.2 x 7.2 pteff23.t32 [texture]
30 13 24 0x07010701 alpha-over(premul) 352.0 x 39.6 ptmsg2.t32 [texture]
30 13 24 0x07010701 alpha-over(premul) 179.2 x 32.4 pttitle.t32 [texture]
30 13 24 0x07010701 alpha-over(premul) 268.8 x 57.6 ptbtn11f.t32 [texture]
30 13 24 0x07010701 alpha-over(premul) 64.0 x 64.8 (no match, nearest ptbtn13.rat [declared] off 8.6 quanta)
30 13 24 0x07010701 alpha-over(premul) 249.6 x 43.2 ptbtn12.t32 [texture]
30 13 24 0x07010701 alpha-over(premul) 108.8 x 43.2 ptbtn13.t32 [texture]
34 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
35 13 4 0x01010101 ADDITIVE 889.6 x 1134.0 (no match, nearest pteff10.t32 [declared] off 126.5 quanta)
36 13 4 0x01010101 ADDITIVE 1305.6 x 1303.2 (no match, nearest ptbase.t32 [declared] off 166.0 quanta)
37 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
38 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
39 13 4 0x01010101 ADDITIVE 819.2 x 720.0 pteff10.t32 [declared]
40 13 24 0x01010101 ADDITIVE 614.4 x 518.4 pteff20.t32 [texture@2x]
40 13 24 0x01010101 ADDITIVE 243.2 x 219.6 ptframe3.t32 [declared]
40 13 24 0x01010101 ADDITIVE 256.0 x 212.4 ptframe4.t32 [declared]
40 13 24 0x01010101 ADDITIVE 403.2 x 3.6 pteff21.t32 [texture]
40 13 24 0x01010101 ADDITIVE 422.4 x 7.2 pteff22.t32 [texture]
40 13 24 0x01010101 ADDITIVE 435.2 x 7.2 pteff23.t32 [texture]
41 13 24 0x07010701 alpha-over(premul) 352.0 x 39.6 ptmsg2.t32 [texture]
41 13 24 0x07010701 alpha-over(premul) 179.2 x 32.4 pttitle.t32 [texture]
41 13 24 0x07010701 alpha-over(premul) 268.8 x 57.6 ptbtn11f.t32 [texture]
41 13 24 0x07010701 alpha-over(premul) 64.0 x 61.2 (no match, nearest ptbtn13.rat [declared] off 7.6 quanta)
41 13 24 0x07010701 alpha-over(premul) 249.6 x 43.2 ptbtn12.t32 [texture]
41 13 24 0x07010701 alpha-over(premul) 108.8 x 43.2 ptbtn13.t32 [texture]
45 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
46 13 4 0x01010101 ADDITIVE 883.2 x 1134.0 (no match, nearest pteff10.t32 [declared] off 125.5 quanta)
47 13 4 0x01010101 ADDITIVE 1299.2 x 1303.2 (no match, nearest ptbase.t32 [declared] off 165.0 quanta)
48 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
49 13 4 0x07010701 alpha-over(premul) 1280.0 x 720.0 ptbase.t32 [declared]
50 13 4 0x01010101 ADDITIVE 819.2 x 720.0 pteff10.t32 [declared]
51 13 24 0x01010101 ADDITIVE 614.4 x 518.4 pteff20.t32 [texture@2x]
51 13 24 0x01010101 ADDITIVE 243.2 x 219.6 ptframe3.t32 [declared]
51 13 24 0x01010101 ADDITIVE 256.0 x 212.4 ptframe4.t32 [declared]
51 13 24 0x01010101 ADDITIVE 403.2 x 3.6 pteff21.t32 [texture]
51 13 24 0x01010101 ADDITIVE 422.4 x 7.2 pteff22.t32 [texture]
51 13 24 0x01010101 ADDITIVE 435.2 x 7.2 pteff23.t32 [texture]
52 13 24 0x07010701 alpha-over(premul) 352.0 x 39.6 ptmsg2.t32 [texture]
52 13 24 0x07010701 alpha-over(premul) 179.2 x 32.4 pttitle.t32 [texture]
52 13 24 0x07010701 alpha-over(premul) 268.8 x 57.6 ptbtn11f.t32 [texture]
52 13 24 0x07010701 alpha-over(premul) 51.2 x 57.6 (no match, nearest ptbtneff02.t32 [texture] off 4.7 quanta)
52 13 24 0x07010701 alpha-over(premul) 249.6 x 43.2 ptbtn12.t32 [texture]
52 13 24 0x07010701 alpha-over(premul) 108.8 x 43.2 ptbtn13.t32 [texture]
CONTROL — the two rotated sweep strips measured independently at 1134 and 1303 px:
tall quads found: ['1134', '1303']
PASS
=== the resting scale that makes pteff10 identifiable ===
=== GP_TITLE entry 6 ===
element pivot(w,h) sx% sy% drawn px at 1x/2x of pivot*2
ptframe3.t32 246,220 100 100 246.0x220.0 492.0x440.0
ptframe4.t32 256,210 100 100 256.0x210.0 512.0x420.0
ptbtn11.rat 256,44 100 100 256.0x44.0 512.0x88.0
ptbtn12.rat 252,44 100 100 252.0x44.0 504.0x88.0
ptbtn13.rat 82,44 100 100 82.0x44.0 164.0x88.0
ptmsg2.t32 384,38 100 100 384.0x38.0 768.0x76.0
pteff20.t32 308,260 200 200 616.0x520.0 1232.0x1040.0
pteff21.t32 404,6 100 100 404.0x6.0 808.0x12.0
pteff22.t32 424,8 100 100 424.0x8.0 848.0x16.0
pteff23.t32 440,8 100 100 440.0x8.0 880.0x16.0
pttitle.t32 194,36 100 100 194.0x36.0 388.0x72.0
ptbase.t32 640,360 200 200 1280.0x720.0 2560.0x1440.0
pteff05.t32 1280,720 100 100 1280.0x720.0 2560.0x1440.0
pteff02.prm 1280,720 100 100 1280.0x720.0 2560.0x1440.0
ptloop01.rat 400,180 100 100 400.0x180.0 800.0x360.0
ptloop02.rat 400,180 100 100 400.0x180.0 800.0x360.0
pteff10.t32 408,144 200 500 816.0x720.0 1632.0x1440.0
pteff00.prm 1280,720 100 100 1280.0x720.0 2560.0x1440.0