03be4fcc67
Adds `leaderboard_display_name: Option<String>` to `Settings` (serde default = None, backwards-compatible). When set, this name is submitted to the server on opt-in instead of the player's username, giving players a separate public identity on the leaderboard. Engine changes: - `handle_opt_in_button` prefers `leaderboard_display_name` over username - Leaderboard panel shows "Public name: X" row with "Set Name" button - "Set Name" opens a modal with a single text-input field (32-char max) - Save/Cancel buttons write to SettingsResource and persist to disk Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>