This commit is contained in:
2026-04-29 20:56:59 +08:00
parent fb6f455530
commit 730f485f48
200 changed files with 9881 additions and 2221 deletions

View File

@@ -27,6 +27,10 @@ export interface PuzzleLeaderboardEntry {
isCurrentPlayer?: boolean;
}
export type PuzzleRuntimeLevelStatus = 'playing' | 'cleared' | 'failed';
export type PuzzleRuntimePropKind = 'hint' | 'reference' | 'freezeTime';
export interface PuzzleBoardSnapshot {
rows: number;
cols: number;
@@ -46,10 +50,17 @@ export interface PuzzleRuntimeLevelSnapshot {
themeTags: string[];
coverImageSrc: string | null;
board: PuzzleBoardSnapshot;
status: 'playing' | 'cleared';
status: PuzzleRuntimeLevelStatus;
startedAtMs: number;
clearedAtMs: number | null;
elapsedMs: number | null;
timeLimitMs: number;
remainingMs: number;
pausedAccumulatedMs: number;
pauseStartedAtMs: number | null;
freezeAccumulatedMs: number;
freezeStartedAtMs: number | null;
freezeUntilMs: number | null;
leaderboardEntries: PuzzleLeaderboardEntry[];
}
@@ -96,3 +107,11 @@ export interface DragPuzzlePieceRequest {
targetRow: number;
targetCol: number;
}
export interface UsePuzzleRuntimePropRequest {
propKind: PuzzleRuntimePropKind;
}
export interface UpdatePuzzleRuntimePauseRequest {
paused: boolean;
}