Triangle.js Docs
    Preparing search index...

    Interface EngineSnapshot

    interface EngineSnapshot {
        __meta: { isUndoRedo: boolean };
        _queue: QueueSnapshot;
        board: Tile[][];
        falling: TetrominoSnapshot;
        frame: number;
        garbage: GarbageQueueSnapshot;
        glock: number;
        hold: Engine.Mino | null;
        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: { locked: boolean; prev: number; start: number; zero: boolean };
        };
        lastSpin: SpinType
        | null;
        lastWasClear: boolean;
        practice: {
            lastPiece: EngineSnapshot | null;
            redo: EngineSnapshot[];
            retry: boolean;
            retryIter: number;
            undo: EngineSnapshot[];
        };
        queue: QueueSnapshot;
        resCache: {
            garbage: { received: OutgoingGarbage[]; sent: number[] };
            keys: Key[];
            lastLock: number;
            pieces: number;
        };
        spike: { count: number; timer: number };
        state: number;
        stats: {
            b2b: number;
            combo: number;
            garbage: {
                attack: number;
                cleared: number;
                receive: number;
                sent: number;
            };
            lines: number;
            pieces: number;
        };
        stock: number;
        subframe: number;
        targets?: number[];
        time: { frameOffset: number };
    }
    Index

    Properties

    __meta: { isUndoRedo: boolean }

    This data is relevant to the snapshot but not part of the engine's state

    board: Tile[][]
    frame: number
    glock: number
    hold: Engine.Mino | null
    holdLocked: boolean
    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: { locked: boolean; prev: number; start: number; zero: boolean };
    }
    lastSpin: SpinType | null
    lastWasClear: boolean
    practice: {
        lastPiece: EngineSnapshot | null;
        redo: EngineSnapshot[];
        retry: boolean;
        retryIter: number;
        undo: EngineSnapshot[];
    }
    resCache: {
        garbage: { received: OutgoingGarbage[]; sent: number[] };
        keys: Key[];
        lastLock: number;
        pieces: number;
    }
    spike: { count: number; timer: number }
    state: number
    stats: {
        b2b: number;
        combo: number;
        garbage: { attack: number; cleared: number; receive: number; sent: number };
        lines: number;
        pieces: number;
    }
    stock: number
    subframe: number
    targets?: number[]
    time: { frameOffset: number }