fn qh(h: u32) -> u32
ponytail: 16 px steps so a track-height drag reuses cached thumbs instead of queueing a decode per pixel of height; rounding up means the texture is never upscaled on draw.