shogiground
Version:
lishogi.org shogi ui
20 lines • 721 B
TypeScript
import type { State } from './state.js';
import type * as sg from './types.js';
export type Mutation<A> = (state: State) => A;
export type AnimVector = sg.NumberQuad;
export type AnimVectors = Map<sg.Key, AnimVector>;
export type AnimFadings = Map<sg.Key, sg.Piece>;
export type AnimPromotions = Map<sg.Key, sg.Piece>;
export interface AnimPlan {
anims: AnimVectors;
fadings: AnimFadings;
promotions: AnimPromotions;
}
export interface AnimCurrent {
start: DOMHighResTimeStamp;
frequency: sg.KHz;
plan: AnimPlan;
}
export declare function anim<A>(mutation: Mutation<A>, state: State): A;
export declare function render<A>(mutation: Mutation<A>, state: State): A;
//# sourceMappingURL=anim.d.ts.map