Add diagonal PlayerAction variants (MoveNortheast, MoveNorthwest, MoveSoutheast, MoveSouthwest) and TilePosition::all_neighbors() returning all 8 surrounding tiles. Genre-expected for immersive sim. Establishes the movement pattern before pathfinding is built on top. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>