refactor: extract platform media crates

This commit is contained in:
kdletters
2026-05-26 13:18:13 +08:00
parent 50f44489cd
commit 44c65df5c9
92 changed files with 7381 additions and 5848 deletions

View File

@@ -254,11 +254,7 @@ pub async fn checkpoint_wooden_fish_run(
let Json(payload) = wooden_fish_json(payload, &request_context, WOODEN_FISH_RUNTIME_PROVIDER)?;
let run = state
.spacetime_client()
.checkpoint_wooden_fish_run(
run_id,
principal.subject().to_string(),
payload,
)
.checkpoint_wooden_fish_run(run_id, principal.subject().to_string(), payload)
.await
.map_err(|error| {
wooden_fish_error_response(
@@ -285,11 +281,7 @@ pub async fn finish_wooden_fish_run(
let Json(payload) = wooden_fish_json(payload, &request_context, WOODEN_FISH_RUNTIME_PROVIDER)?;
let run = state
.spacetime_client()
.finish_wooden_fish_run(
run_id,
principal.subject().to_string(),
payload,
)
.finish_wooden_fish_run(run_id, principal.subject().to_string(), payload)
.await
.map_err(|error| {
wooden_fish_error_response(
@@ -655,8 +647,10 @@ async fn generate_wooden_fish_image_assets(
"message": "生成敲木鱼背景环境图失败:上游未返回图片",
}))
})?;
let background_reference_image =
downloaded_wooden_fish_reference_image(&background_image, "wooden-fish-generated-background");
let background_reference_image = downloaded_wooden_fish_reference_image(
&background_image,
"wooden-fish-generated-background",
);
let background_asset = persist_wooden_fish_image_asset(
state,
owner_user_id,
@@ -701,10 +695,8 @@ async fn generate_wooden_fish_image_assets(
"message": "生成敲木鱼返回按钮图失败:上游未返回图片",
}))
})?;
let back_button_image = prepare_wooden_fish_green_screen_image_for_persist(
back_button_image,
"敲木鱼返回按钮图",
)?;
let back_button_image =
prepare_wooden_fish_green_screen_image_for_persist(back_button_image, "敲木鱼返回按钮图")?;
let back_button_asset = persist_wooden_fish_image_asset(
state,
owner_user_id,
@@ -1234,7 +1226,9 @@ mod tests {
assert!(prompt.contains("圆形外沿加一圈和主题色搭配的干净外描边"));
assert!(prompt.contains("只保留一个清晰、简洁、居中的向左返回箭头"));
assert!(prompt.contains("不要继承复杂造型、花纹、浮雕边、异形外框或装饰图案"));
assert!(prompt.contains("不要出现文字、数字、水印、按钮外标签、额外 UI 面板、木槌或敲击道具"));
assert!(
prompt.contains("不要出现文字、数字、水印、按钮外标签、额外 UI 面板、木槌或敲击道具")
);
assert!(prompt.contains("按钮底色不要使用与绿幕接近的纯绿色"));
assert!(prompt.contains("主题为:玉米"));
}
@@ -1268,11 +1262,7 @@ mod tests {
assert_eq!(processed.mime_type, "image/png");
assert_eq!(processed.extension, "png");
assert_eq!(
decoded.get_pixel(0, 0).0[3],
0,
"绿幕背景必须在入库前去除"
);
assert_eq!(decoded.get_pixel(0, 0).0[3], 0, "绿幕背景必须在入库前去除");
assert_eq!(decoded.get_pixel(4, 4).0[3], 255);
assert_eq!(
decoded.get_pixel(6, 6).0[3],