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

@@ -2459,6 +2459,14 @@ pub(crate) fn map_puzzle_run_snapshot(snapshot: DomainPuzzleRunSnapshot) -> Puzz
.current_level
.map(map_puzzle_runtime_level_snapshot),
recommended_next_profile_id: snapshot.recommended_next_profile_id,
next_level_mode: snapshot.next_level_mode,
next_level_profile_id: snapshot.next_level_profile_id,
next_level_id: snapshot.next_level_id,
recommended_next_works: snapshot
.recommended_next_works
.into_iter()
.map(map_puzzle_recommended_next_work)
.collect(),
leaderboard_entries: snapshot
.leaderboard_entries
.into_iter()
@@ -2467,12 +2475,26 @@ pub(crate) fn map_puzzle_run_snapshot(snapshot: DomainPuzzleRunSnapshot) -> Puzz
}
}
fn map_puzzle_recommended_next_work(
snapshot: module_puzzle::PuzzleRecommendedNextWork,
) -> PuzzleRecommendedNextWorkRecord {
PuzzleRecommendedNextWorkRecord {
profile_id: snapshot.profile_id,
level_name: snapshot.level_name,
author_display_name: snapshot.author_display_name,
theme_tags: snapshot.theme_tags,
cover_image_src: snapshot.cover_image_src,
similarity_score: snapshot.similarity_score,
}
}
pub(crate) fn map_puzzle_runtime_level_snapshot(
snapshot: DomainPuzzleRuntimeLevelSnapshot,
) -> PuzzleRuntimeLevelRecord {
PuzzleRuntimeLevelRecord {
run_id: snapshot.run_id,
level_index: snapshot.level_index,
level_id: snapshot.level_id,
grid_size: snapshot.grid_size,
profile_id: snapshot.profile_id,
level_name: snapshot.level_name,
@@ -4400,6 +4422,7 @@ pub struct PuzzleGeneratedImagesSaveRecordInput {
pub session_id: String,
pub owner_user_id: String,
pub level_id: Option<String>,
pub levels_json: Option<String>,
pub candidates_json: String,
pub saved_at_micros: i64,
}
@@ -4739,10 +4762,21 @@ pub struct PuzzleBoardRecord {
pub all_tiles_resolved: bool,
}
#[derive(Clone, Debug, PartialEq)]
pub struct PuzzleRecommendedNextWorkRecord {
pub profile_id: String,
pub level_name: String,
pub author_display_name: String,
pub theme_tags: Vec<String>,
pub cover_image_src: Option<String>,
pub similarity_score: f32,
}
#[derive(Clone, Debug, PartialEq, Eq)]
pub struct PuzzleRuntimeLevelRecord {
pub run_id: String,
pub level_index: u32,
pub level_id: Option<String>,
pub grid_size: u32,
pub profile_id: String,
pub level_name: String,
@@ -4764,7 +4798,7 @@ pub struct PuzzleRuntimeLevelRecord {
pub leaderboard_entries: Vec<PuzzleLeaderboardEntryRecord>,
}
#[derive(Clone, Debug, PartialEq, Eq)]
#[derive(Clone, Debug, PartialEq)]
pub struct PuzzleRunRecord {
pub run_id: String,
pub entry_profile_id: String,
@@ -4775,6 +4809,10 @@ pub struct PuzzleRunRecord {
pub previous_level_tags: Vec<String>,
pub current_level: Option<PuzzleRuntimeLevelRecord>,
pub recommended_next_profile_id: Option<String>,
pub next_level_mode: String,
pub next_level_profile_id: Option<String>,
pub next_level_id: Option<String>,
pub recommended_next_works: Vec<PuzzleRecommendedNextWorkRecord>,
pub leaderboard_entries: Vec<PuzzleLeaderboardEntryRecord>,
}