app/game_record.h¶
the archived form of a finished game (review-docs/PLAN.md §3).
THE TRUTH IS startFen + moves (UCI). Everything else a reviewer wants — SAN, PGN, the per-ply FEN, the per-ply PieceTracker identity snapshot, the eval graph — is derived from those two by replaying them. Storing the derived forms would be storing the same fact several times, in several places that can disagree.
That the identity snapshot is derivable is what makes physical review work at all: the target of a board setup is a piece-identity state, never a FEN (PLAN §2.2 — promotion is physically faked, so a FEN can describe positions the board cannot hold).
-
namespace kirin
Enums
-
struct GameRecord¶
- #include <game_record.h>
Public Functions
-
inline int plyCount() const¶
Public Members
-
std::string id¶
-
GameSource source = GameSource::Solo¶
-
std::string deviceId¶
-
std::string startFen¶
-
std::vector<std::string> moves¶
-
GameResult result = GameResult::Ongoing¶
-
std::string reason¶
-
std::string startedAt¶
-
std::string endedAt¶
-
bool pendingUpload = false¶
-
bool pendingAnalysisUpload = false¶
-
inline int plyCount() const¶
-
struct Seat¶
- #include <game_record.h>
-
struct GameRecord¶