Fix band overlap -- measure the 3-5px gap edge-to-edge, not top-to-top

GLITCH_STATE_POOL computed top2 as top1 minus a 3-5px top-to-top gap,
which let magenta (band2) overlap cyan (band1) whenever band2's own
height exceeded that gap -- e.g. h2=4 with a 3px top-to-top gap put
magenta's bottom edge 1px into cyan's territory. Recomputed every entry
so the gap is measured edge-to-edge (top1 - (top2 + h2)), guaranteeing a
real 3-5px of clean space between the two bands regardless of height.

Verified 0 black-corner hits across 263 frames.
This commit is contained in:
poprhythm committed 2026-10-09 19:55:53 -04:00
1 parent c950b9db17
commit 68bd445303
1 file changed
+16 -10
+16 -10
View File
@@ -400,16 +400,22 @@ GLITCH_STATE_POOL = [
# two scanline rows; accepted, since the shorter height was the ask. # two scanline rows; accepted, since the shorter height was the ask.
# #
# hue2 (-60.0, magenta) is placed 3-5px *above* hue1 (150.0, cyan) in # hue2 (-60.0, magenta) is placed 3-5px *above* hue1 (150.0, cyan) in
# every entry (top2 = top1 - a 3-5px gap) -- a fixed relative offset # every entry -- a fixed relative offset rather than
# rather than independently-random positions, per request. # independently-random positions, per request. The gap is measured
(10, 3, -2, 150.0, 6, 4, 2, -60.0), # edge-to-edge (top1 - (top2 + h2)), not top-to-top (top1 - top2):
(14, 4, 2, 150.0, 11, 3, -3, -60.0), # an earlier version used top-to-top, which let band2 (magenta)
(8, 2, -3, 150.0, 3, 4, 1, -60.0), # overlap band1 (cyan) whenever h2 exceeded the top-to-top gap (e.g.
(20, 4, 1, 150.0, 16, 2, -2, -60.0), # h2=4 with a 3px top-to-top gap put magenta's bottom edge 1px into
(6, 3, -1, 150.0, 3, 3, 3, -60.0), # cyan's territory). top2 = top1 - h2 - gap guarantees a real 3-5px
(24, 2, 3, 150.0, 19, 4, -1, -60.0), # of clean space between them regardless of h2.
(12, 3, -2, 150.0, 8, 2, 1, -60.0), (12, 3, -2, 150.0, 4, 4, 2, -60.0),
(18, 4, 1, 150.0, 15, 3, -3, -60.0), (16, 4, 2, 150.0, 10, 3, -3, -60.0),
(14, 2, -3, 150.0, 5, 4, 1, -60.0),
(22, 4, 1, 150.0, 16, 2, -2, -60.0),
(10, 3, -1, 150.0, 3, 3, 3, -60.0),
(26, 2, 3, 150.0, 19, 4, -1, -60.0),
(14, 3, -2, 150.0, 8, 2, 1, -60.0),
(20, 4, 1, 150.0, 14, 3, -3, -60.0),
] ]
# render.Sequence doesn't loop on its own (see _glitch_scanlines below), so # render.Sequence doesn't loop on its own (see _glitch_scanlines below), so
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.