sylpheed-port's BLOCKED.md ask #1. They declined to suppress their uniform black_hold on the cancel path because (B) menu->title was one transition. The test says they were right. EXTRAS -> main menu, also via (B): the outgoing quad ramps frames 34-38 (5 frames, exactly build 6's declared 10 units), then frames 39 AND 40 are completely empty -- 3 draws, zero textured, a harder black than either earlier capture -- then the incoming menu's quad decays 41-45. So (B) does not imply a cross-fade; menu->title is the outlier of three, and the generalisation I was one step from publishing is false. The screen was verified, not assumed. screen_id.py cannot separate EXTRAS from the main menu, so which_title_screen.py checked the armed frame: extras 18.58 vs main_menu 29.85, margin 11.27, inside the 9.9-11.7 band its control sets on four known captures. Three transitions now agree on one thing and disagree on another: outgoing ramp = the declared final ramp, THREE FOR THREE, against three different declared values (10u/5f, 8u/4f, 10u/5f), and exactly linear where nothing overlaps it. Authorable from the file. black gap = none / 3 frames / 2 frames. Not a per-button property, not a per-direction property, not a constant. black_hold_units should not be authored as one. Build 5's incoming ramp is confirmed at 12 units by its RATE rather than its count: the count came out 5 against a predicted 6 in both runs -- reproducible, so not noise -- but capture 3's steps are -21, -42, -43, -42, i.e. 255/6 per frame after a half-step start. Capture 2's decay does not fit that and is unexplained. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Wuu56cE8vJGTBtn1ppsk8v
89 lines
5.5 KiB
Plaintext
89 lines
5.5 KiB
Plaintext
# THREE screen changes, per frame, from the running game. 2026-08-30.
|
|
# tools/re-capture/fade_decompose.sh (WHERE=menu | title | extras)
|
|
#
|
|
# Declared, per build (corrected keyframe association):
|
|
# build 4 title pteff00 [0:a255 16:a0 261:a0 269:a255] open 16u=8f close 8u=4f
|
|
# build 5 menu pteff00 [0:a255 12:a0 70:a0 80:a255] open 12u=6f close 10u=5f
|
|
# build 6 EXTRAS pteff00 [0:a255 12:a0 64:a0 74:a255] open 12u=6f close 10u=5f
|
|
#
|
|
# Capture 3's screen identity was checked, not assumed: which_title_screen.py
|
|
# on the armed frame gives extras rmse=18.58 vs main_menu 29.85, margin 11.27,
|
|
# inside the 9.9-11.7 band its control establishes on four known captures.
|
|
|
|
############ CAPTURE 1 -- menu -> title, via (B) ############
|
|
frame untextured full-screen textured (distinct) draws tex
|
|
28 [64] [142, 146, 192, 255] 12 10
|
|
29 [64] [143, 146, 192, 255] 12 10
|
|
30 [64] [143, 147, 192, 255] 12 10
|
|
31 [64] [143, 147, 192, 255] 12 10
|
|
32 [64] [144, 148, 192, 255] 12 10
|
|
34 [64, 255, 64] [144, 148, 169, 191, 254, 255] 15 12
|
|
35 [64, 223, 64] [84, 143, 145, 149, 191, 255] 15 12
|
|
36 [64, 207, 64] [42, 119, 145, 149, 159, 255] 15 12
|
|
37 [64, 175, 64] [71, 95, 145, 149, 191, 255] 14 11
|
|
39 [64, 95, 64] [146, 150, 255] 11 8
|
|
40 [64, 31, 64, 102] [146, 151, 255] 12 6
|
|
41 [64, 15, 64, 127] [146, 151, 255] 12 6
|
|
43 [64, 64, 255] [147, 152, 255] 12 6
|
|
44 [64, 64, 255] [147, 152, 255] 12 6
|
|
45 [64, 64, 255] [148, 152, 255] 12 6
|
|
46 [64] [255] 6 2
|
|
47 [64] [32, 255] 8 6
|
|
49 [64] [32, 96, 255] 8 6
|
|
50 [64] [48, 128, 255] 8 6
|
|
|
|
############ CAPTURE 2 -- title -> menu, via (A) ############
|
|
frame untextured full-screen textured (distinct) draws tex
|
|
55 [] [204, 221, 255] 10 9
|
|
57 [] [204, 221, 255] 10 9
|
|
58 [] [84, 135, 147, 254, 255] 10 9
|
|
59 [] [42, 118, 128, 212, 254, 255] 10 9
|
|
60 [] [42, 50, 55, 84, 255] 9 8
|
|
61 [] [16, 18, 255] 8 7
|
|
62 [] [235, 255] 7 6
|
|
63 [] [196, 255] 7 6
|
|
64 [] [156, 255] 7 6
|
|
65 [] [117, 255] 7 6
|
|
66 [] [78, 255] 7 6
|
|
67 [63] [19, 255] 8 4
|
|
68 [127] [255] 6 2
|
|
69 [191] [255] 6 2
|
|
70 [255] [255] 6 2
|
|
71 [255] [255] 6 2
|
|
72 [255] [255] 6 2
|
|
73 [64, 255] [255] 7 3
|
|
75 [64, 127] [2, 252, 255] 7 3
|
|
76 [64, 84] [3, 251, 255] 7 3
|
|
77 [64, 63] [3, 251, 255] 7 3
|
|
78 [64] [5, 249, 255] 7 3
|
|
79 [64] [5, 249, 255] 7 3
|
|
80 [64] [7, 32, 247, 255] 8 6
|
|
81 [64] [8, 96, 246, 255] 8 6
|
|
82 [64] [8, 160, 246, 255] 8 6
|
|
|
|
############ CAPTURE 3 -- EXTRAS -> menu, via (B) ############
|
|
frame untextured full-screen textured (distinct) draws tex
|
|
28 [64] [128, 171, 181, 255] 11 9
|
|
29 [64] [128, 172, 182, 255] 11 9
|
|
30 [64] [111, 127, 172, 182, 185, 255] 11 9
|
|
31 [64] [42, 79, 139, 172, 183, 223, 255] 11 9
|
|
32 [64] [31, 69, 127, 173, 183, 255] 10 8
|
|
33 [64] [31, 173, 184, 255] 9 7
|
|
34 [64, 51] [174, 184, 255] 8 4
|
|
35 [64, 102] [174, 184, 255] 8 4
|
|
36 [64, 178] [174, 185, 255] 8 4
|
|
37 [64, 229] [174, 185, 255] 8 4
|
|
38 [64, 255] [175, 186, 255] 8 4
|
|
39 [] [] 3 0
|
|
40 [] [] 3 0
|
|
41 [64, 169] [1, 253, 255] 7 3
|
|
42 [64, 148] [2, 252, 255] 7 3
|
|
43 [64, 106] [2, 252, 255] 7 3
|
|
44 [64, 63] [3, 251, 255] 7 3
|
|
45 [64, 21] [4, 250, 255] 7 3
|
|
46 [64] [5, 249, 255] 7 3
|
|
47 [64] [6, 248, 255] 7 3
|
|
48 [64] [7, 32, 247, 255] 8 6
|
|
49 [64] [8, 96, 246, 255] 8 6
|
|
50 [64] [9, 192, 245, 255] 8 6
|