40d6e0ab17
Two regressions Quat caught in screenshot review of the picture-tile
rework:
1. Tofu boxes for 4 of 5 tiles. The earlier emoji picks (calendar,
cherry-blossom, lightning, stopwatch) live in Unicode planes that
most Linux desktop fonts don't cover, so they rendered as
missing-glyph rectangles. Swapped to BMP / Dingbats codepoints
that the system-default font fallback always has:
- Daily: \u{2605} (BLACK STAR)
- Zen: \u{2740} (WHITE FLORETTE)
- Challenge: \u{2726} (BLACK FOUR-POINTED STAR)
- TimeAttack: \u{231A} (WATCH, Misc Symbols / Unicode 1.1)
Classic keeps its club (\u{2663}) — already rendered correctly.
2. Cancel button pushed off the bottom of the viewport. The 3-row
tile grid alone is ~540 px; on the 800x600 minimum window the
modal exceeded the screen. Wrapped chips + draw row + grid in a
`HomeScrollable` Node with `max_height: 70vh` and `Overflow::scroll_y()`,
adding a `scroll_home_panel` system to drive `ScrollPosition` from
`MouseWheel`. Mirrors the existing Settings / Leaderboard /
Achievements scrollable pattern. Cancel sits outside the scroll
so it's always reachable.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>