interface EngineSnapshot {
    board: Engine.BoardSquare[][];
    falling: {
        aox: number;
        aoy: number;
        fallingRotations: number;
        highestY: number;
        ihs: boolean;
        irs: number;
        keys: number;
        location: [number, number];
        locking: number;
        lockResets: number;
        rotation: Rotation;
        rotResets: number;
        safeLock: number;
        symbol: Engine.Mino;
        totalRotations: number;
    };
    frame: number;
    garbage: GarbageQueueSnapshot;
    glock: number;
    hold: null | Engine.Mino;
    holdLocked: boolean;
    ige: IGEHandlerSnapshot;
    input: {
        firstInputTime: number;
        keys: {
            hold: boolean;
            rotate180: boolean;
            rotateCCW: boolean;
            rotateCW: boolean;
            softDrop: boolean;
        };
        lastPieceTime: number;
        lastShift: number;
        lShift: {
            arr: number;
            das: number;
            dir: -1;
            held: boolean;
        };
        rShift: {
            arr: number;
            das: number;
            dir: 1;
            held: boolean;
        };
        time: {
            frameoffset: number;
            locked: boolean;
            prev: number;
            start: number;
            zero: boolean;
        };
    };
    lastSpin: null | {
        piece: Engine.Mino;
        type: SpinType;
    };
    lastWasClear: boolean;
    queue: number;
    state: number;
    stats: {
        b2b: number;
        combo: number;
        garbage: {
            attack: number;
            cleared: number;
            receive: number;
            sent: number;
        };
        lines: number;
        pieces: number;
    };
    subframe: number;
    targets?: number[];
}

Properties

board: Engine.BoardSquare[][]
falling: {
    aox: number;
    aoy: number;
    fallingRotations: number;
    highestY: number;
    ihs: boolean;
    irs: number;
    keys: number;
    location: [number, number];
    locking: number;
    lockResets: number;
    rotation: Rotation;
    rotResets: number;
    safeLock: number;
    symbol: Engine.Mino;
    totalRotations: number;
}
frame: number
glock: number
hold: null | Engine.Mino
holdLocked: boolean
ige: IGEHandlerSnapshot
input: {
    firstInputTime: number;
    keys: {
        hold: boolean;
        rotate180: boolean;
        rotateCCW: boolean;
        rotateCW: boolean;
        softDrop: boolean;
    };
    lastPieceTime: number;
    lastShift: number;
    lShift: {
        arr: number;
        das: number;
        dir: -1;
        held: boolean;
    };
    rShift: {
        arr: number;
        das: number;
        dir: 1;
        held: boolean;
    };
    time: {
        frameoffset: number;
        locked: boolean;
        prev: number;
        start: number;
        zero: boolean;
    };
}
lastSpin: null | {
    piece: Engine.Mino;
    type: SpinType;
}
lastWasClear: boolean
queue: number
state: number
stats: {
    b2b: number;
    combo: number;
    garbage: {
        attack: number;
        cleared: number;
        receive: number;
        sent: number;
    };
    lines: number;
    pieces: number;
}
subframe: number
targets?: number[]