Big restructuring day. Moved all game entities and managers under src/game/core/ and introduced a GameOperations facade that provides a clean CQRS-style API for the React layer to interact with game state through Jotai atoms. This separates selection state management from the game engine — atoms now derive from GameOperations rather than reaching into managers directly.

Slimmed down GameManager significantly by delegating responsibilities to the new operations layer. Removed the old E2E tests and callback bridge in favour of the new architecture. Added unit tests for Habitat and Mine entities with test helpers for creating game and asteroid instances.

Fixed mine hole cleanup when a mine is destroyed. Merged the separate vitest config into the main vite config and suppressed PixiJS deprecation warnings.