# FOUR screen changes, per frame, from the running game. 2026-08-30. # tools/re-capture/fade_decompose.sh (WHERE=menu | title | extras) # # Captures 2 and 4 are the SAME transition, title -> menu via (A), run twice. # They are the hold-vs-load test: a load varies with cache and contention, # a deterministic hold does not. The pair carries its own control -- the # press-to-first-change latency DIFFERS by ~12 frames between the two runs, # so conditions demonstrably were not identical, while the black gap is # exactly 3 frames in both. # # quantity run 1 (cap 2) run 2 (cap 4) # outgoing quad rise 67-70: 63,127,191,255 64-67: 63,127,191,255 # frames black ([255] alone) 70,71,72 = 3 67,68,69 = 3 # incoming appears frame 73 frame 70 # incoming decay 255,-,127,84,63 255,169,127,84,42 # press -> first change ~25 frames ~10 frames ############ 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), run 1 ############ frame untextured full-screen textured (distinct) draws tex 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 ############ CAPTURE 4 -- title -> menu, via (A), run 2 ############ frame untextured full-screen textured (distinct) draws tex 61 [] [137, 255] 7 6 62 [] [98, 255] 7 6 63 [] [78, 255] 7 6 64 [63] [19, 255] 8 4 65 [127] [255] 6 2 66 [191] [255] 6 2 67 [255] [255] 6 2 68 [255] [255] 6 2 69 [255] [255] 6 2 70 [64, 255] [255] 7 3 71 [64, 169] [1, 253, 255] 7 3 72 [64, 127] [2, 252, 255] 7 3 73 [64, 84] [3, 251, 255] 7 3 74 [64, 42] [4, 250, 255] 7 3 75 [64] [5, 249, 255] 7 3 76 [64] [6, 248, 255] 7 3 77 [64] [7, 32, 247, 255] 8 6 78 [64] [8, 96, 246, 255] 8 6 79 [64] [9, 192, 245, 255] 8 6 80 [64] [10, 244, 255] 8 6