OptionalcastlingCastling availability. Defaults to all four castling moves available.
OptionalchangesPiece changes as [square, piece] tuples. Set piece to undefined to
clear a square. Only changed squares need to be listed.
OptionalenEn passant target square, if any.
OptionalfullmoveGame turn counter — starts at 1 and increments after each black move.
After 1. e4 e5 2. Nf3 the fullmove number is 2. Defaults to 1.
OptionalhalfmoveNumber of half-moves since the last pawn advance or capture. Resets to
0 on every pawn move or capture. When it reaches 100 (50 full moves
per side) either player may claim a draw. Defaults to 0.
OptionalturnSide to move. Defaults to 'white'.
Options accepted by Position.derive. Extends PositionData (minus
board) with achangesfield for applying piece changes.