This commit is contained in:
2026-05-01 00:33:39 +08:00
parent 61969c5116
commit fe02603ba1
68 changed files with 4586 additions and 748 deletions

View File

@@ -62,6 +62,7 @@ export type PuzzleAgentActionRequest =
promptText?: string | null;
referenceImageSrc?: string | null;
candidateCount?: number;
levelsJson?: string;
}
| {
action: 'select_puzzle_image';

View File

@@ -29,7 +29,11 @@ export interface PuzzleLeaderboardEntry {
export type PuzzleRuntimeLevelStatus = 'playing' | 'cleared' | 'failed';
export type PuzzleRuntimePropKind = 'hint' | 'reference' | 'freezeTime';
export type PuzzleRuntimePropKind =
| 'hint'
| 'reference'
| 'freezeTime'
| 'extendTime';
export interface PuzzleBoardSnapshot {
rows: number;
@@ -43,6 +47,7 @@ export interface PuzzleBoardSnapshot {
export interface PuzzleRuntimeLevelSnapshot {
runId: string;
levelIndex: number;
levelId: string | null;
gridSize: PuzzleGridSize;
profileId: string;
levelName: string;
@@ -64,6 +69,17 @@ export interface PuzzleRuntimeLevelSnapshot {
leaderboardEntries: PuzzleLeaderboardEntry[];
}
export type PuzzleNextLevelMode = 'sameWork' | 'similarWorks' | 'none';
export interface PuzzleRecommendedNextWork {
profileId: string;
levelName: string;
authorDisplayName: string;
themeTags: string[];
coverImageSrc: string | null;
similarityScore: number;
}
export interface PuzzleRunSnapshot {
runId: string;
entryProfileId: string;
@@ -74,6 +90,10 @@ export interface PuzzleRunSnapshot {
previousLevelTags: string[];
currentLevel: PuzzleRuntimeLevelSnapshot | null;
recommendedNextProfileId: string | null;
nextLevelMode?: PuzzleNextLevelMode;
nextLevelProfileId?: string | null;
nextLevelId?: string | null;
recommendedNextWorks?: PuzzleRecommendedNextWork[];
leaderboardEntries: PuzzleLeaderboardEntry[];
}

View File

@@ -24,11 +24,11 @@ export interface PuzzleWorkSummary {
likeCount?: number;
recentPlayCount7d?: number;
publishReady: boolean;
levels?: PuzzleDraftLevel[];
}
export interface PuzzleWorkProfile extends PuzzleWorkSummary {
anchorPack: PuzzleAnchorPack;
levels?: PuzzleDraftLevel[];
metadata?: JsonObject | null;
}