3fb516af2b
LanSpreadState now owns its empty initialization through Default. This keeps the root runtime state construction in one place instead of building each Arc<RwLock<_>> value inline before registering it with Tauri. The setup hook now retrieves peer_game_db from the managed state and clones the Arc before spawning async peer initialization. That preserves the existing lifetime boundary while removing the separate outer peer_game_db binding. There is no user-visible behavior change. The peer database, game list, download tracking, games folder, and peer control channel still start empty and are populated through the same setup and command paths. Test Plan: - cargo clippy - cargo clippy --benches - cargo clippy --tests - cargo +nightly fmt Refs: none