diff --git a/assets/_zsheet.py b/assets/_zsheet.py
index 0a4cff7..d8ead2d 100644
--- a/assets/_zsheet.py
+++ b/assets/_zsheet.py
@@ -96,11 +96,28 @@ def cut(sheet, fam, outdir):
px = big[big[..., 3] > 200][:, :3]
pal = np.unique((px // 8) * 8, axis=0)
+ # A FALL ROW IS ANCHORED ON ITS OWN BUCKLE, not on the sheet. The generator draws the fall rows
+ # noticeably smaller than the standing rows — the brute's buckle came back at 190 px against a
+ # 224 px stance — and one global scale preserves that faithfully, so the body SHRANK the moment
+ # it started to fall ("the fall animation seems shrunken"). The first frame of a fall is a body
+ # still on its feet, so it must draw at standing height; the other three are scaled by the same
+ # factor, which keeps the collapse's own proportions intact. A row that was already right (the
+ # racket family's, at 224/224) gets a factor of 1.0 and is untouched — which is the check that
+ # this rule is the right one rather than a fudge for one bad sheet.
+ mult = [1.0] * len(crops)
+ i = 0
+ for row in want:
+ if row[0].endswith('fall1') and crops[i].shape[0]:
+ k_row = crops[0].shape[0] / crops[i].shape[0]
+ for j in range(i, i + len(row)):
+ mult[j] = k_row
+ i += len(row)
+
os.makedirs(outdir, exist_ok=True)
- for c, name in zip(crops, flat):
+ for c, name, m in zip(crops, flat, mult):
h, w = c.shape[:2]
snap = Image.fromarray(c, 'RGBA').resize((max(1, round(w / b)), max(1, round(h / b))), Image.BOX)
- im = snap.resize((max(1, round(snap.width * k)), max(1, round(snap.height * k))), Image.BOX)
+ im = snap.resize((max(1, round(snap.width * k * m)), max(1, round(snap.height * k * m))), Image.BOX)
arr = np.array(im).astype(int)
solid = arr[..., 3] > 110
f = arr[..., :3].reshape(-1, 3)
diff --git a/assets/z_bbfall1.png b/assets/z_bbfall1.png
index f5efda3..6aa9911 100644
Binary files a/assets/z_bbfall1.png and b/assets/z_bbfall1.png differ
diff --git a/assets/z_bbfall2.png b/assets/z_bbfall2.png
index fda1630..f4d3c29 100644
Binary files a/assets/z_bbfall2.png and b/assets/z_bbfall2.png differ
diff --git a/assets/z_bbfall3.png b/assets/z_bbfall3.png
index 8520012..52fb8c6 100644
Binary files a/assets/z_bbfall3.png and b/assets/z_bbfall3.png differ
diff --git a/assets/z_bbrise.png b/assets/z_bbrise.png
index fc7a23d..97a9c06 100644
Binary files a/assets/z_bbrise.png and b/assets/z_bbrise.png differ
diff --git a/assets/z_bbw1fall1.png b/assets/z_bbw1fall1.png
index d89cca6..e284221 100644
Binary files a/assets/z_bbw1fall1.png and b/assets/z_bbw1fall1.png differ
diff --git a/assets/z_bbw1fall2.png b/assets/z_bbw1fall2.png
index ba788c0..9c78b66 100644
Binary files a/assets/z_bbw1fall2.png and b/assets/z_bbw1fall2.png differ
diff --git a/assets/z_bbw1fall3.png b/assets/z_bbw1fall3.png
index 6bc1b16..5a612ef 100644
Binary files a/assets/z_bbw1fall3.png and b/assets/z_bbw1fall3.png differ
diff --git a/assets/z_bbw1rise.png b/assets/z_bbw1rise.png
index b99236c..58ac53d 100644
Binary files a/assets/z_bbw1rise.png and b/assets/z_bbw1rise.png differ
diff --git a/assets/z_bbw2fall1.png b/assets/z_bbw2fall1.png
index 9f08f96..bd79bc7 100644
Binary files a/assets/z_bbw2fall1.png and b/assets/z_bbw2fall1.png differ
diff --git a/assets/z_bbw2fall2.png b/assets/z_bbw2fall2.png
index 24274eb..e879c25 100644
Binary files a/assets/z_bbw2fall2.png and b/assets/z_bbw2fall2.png differ
diff --git a/assets/z_bbw2fall3.png b/assets/z_bbw2fall3.png
index 4d6dfa9..6a10871 100644
Binary files a/assets/z_bbw2fall3.png and b/assets/z_bbw2fall3.png differ
diff --git a/assets/z_bbw2rise.png b/assets/z_bbw2rise.png
index 03e324d..58e46f3 100644
Binary files a/assets/z_bbw2rise.png and b/assets/z_bbw2rise.png differ
diff --git a/assets/z_brfall1.png b/assets/z_brfall1.png
index 73f1429..3a383a3 100644
Binary files a/assets/z_brfall1.png and b/assets/z_brfall1.png differ
diff --git a/assets/z_brfall2.png b/assets/z_brfall2.png
index 0e4633d..99052c3 100644
Binary files a/assets/z_brfall2.png and b/assets/z_brfall2.png differ
diff --git a/assets/z_brfall3.png b/assets/z_brfall3.png
index 2b53db8..96be3b7 100644
Binary files a/assets/z_brfall3.png and b/assets/z_brfall3.png differ
diff --git a/assets/z_brrise.png b/assets/z_brrise.png
index daab3fc..ef37a4e 100644
Binary files a/assets/z_brrise.png and b/assets/z_brrise.png differ
diff --git a/assets/z_brw1fall1.png b/assets/z_brw1fall1.png
index 1b7aebb..10ebd61 100644
Binary files a/assets/z_brw1fall1.png and b/assets/z_brw1fall1.png differ
diff --git a/assets/z_brw1fall2.png b/assets/z_brw1fall2.png
index 1762d26..dea3241 100644
Binary files a/assets/z_brw1fall2.png and b/assets/z_brw1fall2.png differ
diff --git a/assets/z_brw1fall3.png b/assets/z_brw1fall3.png
index 2443705..3927889 100644
Binary files a/assets/z_brw1fall3.png and b/assets/z_brw1fall3.png differ
diff --git a/assets/z_brw1rise.png b/assets/z_brw1rise.png
index d9dfd62..2fa0c22 100644
Binary files a/assets/z_brw1rise.png and b/assets/z_brw1rise.png differ
diff --git a/assets/z_brw2fall1.png b/assets/z_brw2fall1.png
index 37fa161..8013db0 100644
Binary files a/assets/z_brw2fall1.png and b/assets/z_brw2fall1.png differ
diff --git a/assets/z_brw2fall2.png b/assets/z_brw2fall2.png
index 7aaa7ca..f8efab1 100644
Binary files a/assets/z_brw2fall2.png and b/assets/z_brw2fall2.png differ
diff --git a/assets/z_brw2fall3.png b/assets/z_brw2fall3.png
index c7e5cef..2148409 100644
Binary files a/assets/z_brw2fall3.png and b/assets/z_brw2fall3.png differ
diff --git a/assets/z_brw2rise.png b/assets/z_brw2rise.png
index cc75f59..9c4b96e 100644
Binary files a/assets/z_brw2rise.png and b/assets/z_brw2rise.png differ
diff --git a/assets/z_gkfall1.png b/assets/z_gkfall1.png
index 298f371..713e11b 100644
Binary files a/assets/z_gkfall1.png and b/assets/z_gkfall1.png differ
diff --git a/assets/z_gkfall2.png b/assets/z_gkfall2.png
index 7dd4b9f..27b3691 100644
Binary files a/assets/z_gkfall2.png and b/assets/z_gkfall2.png differ
diff --git a/assets/z_gkfall3.png b/assets/z_gkfall3.png
index e90f0f1..c595eca 100644
Binary files a/assets/z_gkfall3.png and b/assets/z_gkfall3.png differ
diff --git a/assets/z_gkrise.png b/assets/z_gkrise.png
index efa9208..0adc587 100644
Binary files a/assets/z_gkrise.png and b/assets/z_gkrise.png differ
diff --git a/assets/z_gkw1fall1.png b/assets/z_gkw1fall1.png
index dd0e984..12d987c 100644
Binary files a/assets/z_gkw1fall1.png and b/assets/z_gkw1fall1.png differ
diff --git a/assets/z_gkw1fall2.png b/assets/z_gkw1fall2.png
index 3cf0f8c..0e07425 100644
Binary files a/assets/z_gkw1fall2.png and b/assets/z_gkw1fall2.png differ
diff --git a/assets/z_gkw1fall3.png b/assets/z_gkw1fall3.png
index f0afd57..5ec56e3 100644
Binary files a/assets/z_gkw1fall3.png and b/assets/z_gkw1fall3.png differ
diff --git a/assets/z_gkw1rise.png b/assets/z_gkw1rise.png
index f701018..59fc6c4 100644
Binary files a/assets/z_gkw1rise.png and b/assets/z_gkw1rise.png differ
diff --git a/assets/z_gkw2fall1.png b/assets/z_gkw2fall1.png
index 9181e94..3711d14 100644
Binary files a/assets/z_gkw2fall1.png and b/assets/z_gkw2fall1.png differ
diff --git a/assets/z_gkw2fall2.png b/assets/z_gkw2fall2.png
index 6734e64..9ffcf35 100644
Binary files a/assets/z_gkw2fall2.png and b/assets/z_gkw2fall2.png differ
diff --git a/assets/z_gkw2fall3.png b/assets/z_gkw2fall3.png
index f3a2add..fb2b47b 100644
Binary files a/assets/z_gkw2fall3.png and b/assets/z_gkw2fall3.png differ
diff --git a/assets/z_gkw2rise.png b/assets/z_gkw2rise.png
index 771c207..461cb86 100644
Binary files a/assets/z_gkw2rise.png and b/assets/z_gkw2rise.png differ
diff --git a/assets/z_ljfall1.png b/assets/z_ljfall1.png
index 9f333c9..1fd2c2d 100644
Binary files a/assets/z_ljfall1.png and b/assets/z_ljfall1.png differ
diff --git a/assets/z_ljfall2.png b/assets/z_ljfall2.png
index c2d3503..8b9e8bf 100644
Binary files a/assets/z_ljfall2.png and b/assets/z_ljfall2.png differ
diff --git a/assets/z_ljfall3.png b/assets/z_ljfall3.png
index 12bf269..75a695c 100644
Binary files a/assets/z_ljfall3.png and b/assets/z_ljfall3.png differ
diff --git a/assets/z_ljrise.png b/assets/z_ljrise.png
index 0d24646..05936e3 100644
Binary files a/assets/z_ljrise.png and b/assets/z_ljrise.png differ
diff --git a/assets/z_ljw1fall1.png b/assets/z_ljw1fall1.png
index 6fb715e..0eb7738 100644
Binary files a/assets/z_ljw1fall1.png and b/assets/z_ljw1fall1.png differ
diff --git a/assets/z_ljw1fall2.png b/assets/z_ljw1fall2.png
index 4dc8f2a..6186562 100644
Binary files a/assets/z_ljw1fall2.png and b/assets/z_ljw1fall2.png differ
diff --git a/assets/z_ljw1fall3.png b/assets/z_ljw1fall3.png
index fec6d33..03a419e 100644
Binary files a/assets/z_ljw1fall3.png and b/assets/z_ljw1fall3.png differ
diff --git a/assets/z_ljw1rise.png b/assets/z_ljw1rise.png
index be0af32..4539915 100644
Binary files a/assets/z_ljw1rise.png and b/assets/z_ljw1rise.png differ
diff --git a/assets/z_ljw2fall1.png b/assets/z_ljw2fall1.png
index 78e337f..1f79ab5 100644
Binary files a/assets/z_ljw2fall1.png and b/assets/z_ljw2fall1.png differ
diff --git a/assets/z_ljw2fall2.png b/assets/z_ljw2fall2.png
index b114d49..9c13b9e 100644
Binary files a/assets/z_ljw2fall2.png and b/assets/z_ljw2fall2.png differ
diff --git a/assets/z_ljw2fall3.png b/assets/z_ljw2fall3.png
index 7a7975b..68ae3fb 100644
Binary files a/assets/z_ljw2fall3.png and b/assets/z_ljw2fall3.png differ
diff --git a/assets/z_ljw2rise.png b/assets/z_ljw2rise.png
index 1d386f2..e6f3887 100644
Binary files a/assets/z_ljw2rise.png and b/assets/z_ljw2rise.png differ
diff --git a/assets/z_rufall1.png b/assets/z_rufall1.png
index 6ac6a5a..359f1b5 100644
Binary files a/assets/z_rufall1.png and b/assets/z_rufall1.png differ
diff --git a/assets/z_rufall2.png b/assets/z_rufall2.png
index 9657e85..4a9e024 100644
Binary files a/assets/z_rufall2.png and b/assets/z_rufall2.png differ
diff --git a/assets/z_rufall3.png b/assets/z_rufall3.png
index 888b492..46c8c05 100644
Binary files a/assets/z_rufall3.png and b/assets/z_rufall3.png differ
diff --git a/assets/z_rurise.png b/assets/z_rurise.png
index 51c0f11..e129a5a 100644
Binary files a/assets/z_rurise.png and b/assets/z_rurise.png differ
diff --git a/assets/z_ruw1fall1.png b/assets/z_ruw1fall1.png
index 3eaf451..f107e73 100644
Binary files a/assets/z_ruw1fall1.png and b/assets/z_ruw1fall1.png differ
diff --git a/assets/z_ruw1fall2.png b/assets/z_ruw1fall2.png
index 915c0fc..0a1a01f 100644
Binary files a/assets/z_ruw1fall2.png and b/assets/z_ruw1fall2.png differ
diff --git a/assets/z_ruw1fall3.png b/assets/z_ruw1fall3.png
index 0e7c216..f0db581 100644
Binary files a/assets/z_ruw1fall3.png and b/assets/z_ruw1fall3.png differ
diff --git a/assets/z_ruw1rise.png b/assets/z_ruw1rise.png
index a633090..0106622 100644
Binary files a/assets/z_ruw1rise.png and b/assets/z_ruw1rise.png differ
diff --git a/assets/z_ruw2fall1.png b/assets/z_ruw2fall1.png
index d39aff2..b22d882 100644
Binary files a/assets/z_ruw2fall1.png and b/assets/z_ruw2fall1.png differ
diff --git a/assets/z_ruw2fall2.png b/assets/z_ruw2fall2.png
index 1f8c30f..22864d4 100644
Binary files a/assets/z_ruw2fall2.png and b/assets/z_ruw2fall2.png differ
diff --git a/assets/z_ruw2fall3.png b/assets/z_ruw2fall3.png
index e49f5a1..9b34085 100644
Binary files a/assets/z_ruw2fall3.png and b/assets/z_ruw2fall3.png differ
diff --git a/assets/z_ruw2rise.png b/assets/z_ruw2rise.png
index 12fe379..dec63f7 100644
Binary files a/assets/z_ruw2rise.png and b/assets/z_ruw2rise.png differ
diff --git a/assets/z_shfall1.png b/assets/z_shfall1.png
index 8cd41e2..f27ce42 100644
Binary files a/assets/z_shfall1.png and b/assets/z_shfall1.png differ
diff --git a/assets/z_shfall2.png b/assets/z_shfall2.png
index ab0a999..f5346a2 100644
Binary files a/assets/z_shfall2.png and b/assets/z_shfall2.png differ
diff --git a/assets/z_shfall3.png b/assets/z_shfall3.png
index 17cf9ae..5fcaedd 100644
Binary files a/assets/z_shfall3.png and b/assets/z_shfall3.png differ
diff --git a/assets/z_shrise.png b/assets/z_shrise.png
index b40f914..d2a6a45 100644
Binary files a/assets/z_shrise.png and b/assets/z_shrise.png differ
diff --git a/assets/z_shw1fall1.png b/assets/z_shw1fall1.png
index cfe1bb0..27f926c 100644
Binary files a/assets/z_shw1fall1.png and b/assets/z_shw1fall1.png differ
diff --git a/assets/z_shw1fall2.png b/assets/z_shw1fall2.png
index 186f3e1..8453a8f 100644
Binary files a/assets/z_shw1fall2.png and b/assets/z_shw1fall2.png differ
diff --git a/assets/z_shw1fall3.png b/assets/z_shw1fall3.png
index 71d06d8..48abda0 100644
Binary files a/assets/z_shw1fall3.png and b/assets/z_shw1fall3.png differ
diff --git a/assets/z_shw1rise.png b/assets/z_shw1rise.png
index 3ef94fa..b63fa36 100644
Binary files a/assets/z_shw1rise.png and b/assets/z_shw1rise.png differ
diff --git a/assets/z_shw2fall1.png b/assets/z_shw2fall1.png
index c30ca9a..35cfe49 100644
Binary files a/assets/z_shw2fall1.png and b/assets/z_shw2fall1.png differ
diff --git a/assets/z_shw2fall2.png b/assets/z_shw2fall2.png
index 18a6d12..bdb56df 100644
Binary files a/assets/z_shw2fall2.png and b/assets/z_shw2fall2.png differ
diff --git a/assets/z_shw2fall3.png b/assets/z_shw2fall3.png
index 3c9d6ea..f792acb 100644
Binary files a/assets/z_shw2fall3.png and b/assets/z_shw2fall3.png differ
diff --git a/assets/z_shw2rise.png b/assets/z_shw2rise.png
index 59fd9a4..a4673b4 100644
Binary files a/assets/z_shw2rise.png and b/assets/z_shw2rise.png differ
diff --git a/assets/z_stfall1.png b/assets/z_stfall1.png
index 3351177..cefdc75 100644
Binary files a/assets/z_stfall1.png and b/assets/z_stfall1.png differ
diff --git a/assets/z_stfall2.png b/assets/z_stfall2.png
index 67e3342..f4ba98b 100644
Binary files a/assets/z_stfall2.png and b/assets/z_stfall2.png differ
diff --git a/assets/z_stfall3.png b/assets/z_stfall3.png
index 73dc188..1c670d2 100644
Binary files a/assets/z_stfall3.png and b/assets/z_stfall3.png differ
diff --git a/assets/z_strise.png b/assets/z_strise.png
index 4a0dcb8..e6e80f3 100644
Binary files a/assets/z_strise.png and b/assets/z_strise.png differ
diff --git a/assets/z_stw1fall1.png b/assets/z_stw1fall1.png
index bd11494..966a4de 100644
Binary files a/assets/z_stw1fall1.png and b/assets/z_stw1fall1.png differ
diff --git a/assets/z_stw1fall2.png b/assets/z_stw1fall2.png
index c130d0d..859c6d6 100644
Binary files a/assets/z_stw1fall2.png and b/assets/z_stw1fall2.png differ
diff --git a/assets/z_stw1fall3.png b/assets/z_stw1fall3.png
index 1094171..9b9b9c4 100644
Binary files a/assets/z_stw1fall3.png and b/assets/z_stw1fall3.png differ
diff --git a/assets/z_stw1rise.png b/assets/z_stw1rise.png
index 28b0356..ad484d4 100644
Binary files a/assets/z_stw1rise.png and b/assets/z_stw1rise.png differ
diff --git a/assets/z_stw2fall1.png b/assets/z_stw2fall1.png
index 041662d..34dbb4c 100644
Binary files a/assets/z_stw2fall1.png and b/assets/z_stw2fall1.png differ
diff --git a/assets/z_stw2fall2.png b/assets/z_stw2fall2.png
index cced90c..7e5163a 100644
Binary files a/assets/z_stw2fall2.png and b/assets/z_stw2fall2.png differ
diff --git a/assets/z_stw2fall3.png b/assets/z_stw2fall3.png
index 7b46460..c76e6fb 100644
Binary files a/assets/z_stw2fall3.png and b/assets/z_stw2fall3.png differ
diff --git a/assets/z_stw2rise.png b/assets/z_stw2rise.png
index 5a5e431..cfae8db 100644
Binary files a/assets/z_stw2rise.png and b/assets/z_stw2rise.png differ
diff --git a/index.html b/index.html
index 59ee12a..7d23661 100644
--- a/index.html
+++ b/index.html
@@ -431,6 +431,6 @@ if (location.hostname !== 'splatter-tennis.wuwi.one') {
-
+