@echecs/position
    Preparing search index...

    Interface PositionData

    Plain-data representation of a chess position. All fields are optional — omitted fields use defaults (standard starting position values).

    interface PositionData {
        board?: ReadonlyMap<Square, Piece>;
        castlingRights?: CastlingRights;
        enPassantSquare?: EnPassantSquare;
        fullmoveNumber?: number;
        halfmoveClock?: number;
        turn?: Color;
    }
    Index

    Properties

    board?: ReadonlyMap<Square, Piece>

    Piece placement as a map from square to piece. Defaults to an empty board.

    castlingRights?: CastlingRights

    Castling availability. Defaults to all four castling moves available.

    enPassantSquare?: EnPassantSquare

    En passant target square, if any.

    fullmoveNumber?: number

    Game 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.

    halfmoveClock?: number

    Number 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.

    turn?: Color

    Side to move. Defaults to 'white'.