Skip to content

flair v0.14.0 — lottery config font + stickers scale-1 fix

Choose a tag to compare

@JamesAwesome JamesAwesome released this 22 Jul 02:57
f9f7297

Lottery: config-selected font + crisp pixel fonts

flair.lottery now accepts a font in config (previously locked to Inter-Bold). Requires core ≥ 4.27 (the RESOLVES_OWN_FONT opt-out) — the widget auto-sizes the chosen font to each ball face; an unknown font name errors clearly, and omitting font keeps the Inter-Bold default.

When the chosen font is a pixel font (e.g. spleen-6x12, core ≥ 4.25), the ball-face auto-sizer snaps to the font's native grid (12/24/…) so the text renders exact 1-bit instead of blurring off-grid. Outline fonts keep the existing continuous auto-size.

[[playlist.section.widget]]
type = "flair.lottery"
words = ["HALAL", "GYRO", "RICE"]
font = "spleen-6x12"   # crisp pixel faces (core >= 4.27)

Fix: stickers crash at scale 1

flair.stickers crashed at scale 1 (min() iterable argument is empty). The standard-emoji pack (core ≥ 4.21) grew emoji_slugs() to ~1,400 slugs, ~1,360 of them hires-only — they render nothing at scale 1, so a smallsign firing could compose an empty sprite. The random-mode pool now filters to slugs that actually rasterize at the target scale; compose_sticker also guards an empty sprite as defense-in-depth.

Core floor raised to ≥ 4.27.