Add a move Generation database, serialized through JSON. It contains all valid moves for non-pawn pieces, if we ignore pieces existin on the board.
Cleanup
Properly parse the .json to the move generation database
Generate valid moves for the queen
Change the representation of the board to use bit boards
Add some comments explaining how my bit counting algorithm works
Delete unused file
Remove no longer necessary BoardPosition type
Clean up some dead code
Make the MainLoop be a 'bit' less CPU intensive, by defining how often we want to refresh
Add an assert to our Least Significant Bit finder function in the case of 0 (which is not handled)
Change the clock used for syncingframes to steady_clock - we don't need a high resolution one. Make visual board not copyiable - we don't need it, and it would be a bug.
Delete unused class ChessPiece. Moved the ChessPiece::Type enum to a namespace ChessPiece inside GameEnums.h, and kept the types the same.
Clean up some unused headers
Implement an extremely basic entity-component like system. Separate some logic into different containers. Start a UI BoardInput component