From 46dfa2cffbff079f934fdfd0cb510da48444e4a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Tue, 15 Sep 2026 20:45:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E8=B5=84=E6=BA=90=E6=9E=9A?= =?UTF-8?q?=E4=B8=BE=E8=BF=81=E7=A7=BB=E5=90=8E=E7=9A=84=E6=B5=8B=E8=AF=95?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 将字体、角色和资源图 fixture 改为 AssetKind 枚举。 将资源 kind 回传到字符串字段时显式使用 to_string。 --- apps/ai-game-creator-shell/src-tauri/src/commands.rs | 2 +- .../src-tauri/src/project/manifest/recovery_tests.rs | 2 +- .../src/project/resource_dependency_graph.rs | 2 +- .../src-tauri/src/project/resource_editor.rs | 12 ++++++------ 4 files changed, 9 insertions(+), 9 deletions(-) diff --git a/apps/ai-game-creator-shell/src-tauri/src/commands.rs b/apps/ai-game-creator-shell/src-tauri/src/commands.rs index faf059c48..fb2e64306 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/commands.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/commands.rs @@ -2887,7 +2887,7 @@ mod ui_editor_font_tests { symlink(fixture_font_path(), &target).expect("create font symlink"); let entry = GameCreationAppAssetManifestEntry { id: "font-linked".to_string(), - kind: "font".to_string(), + kind: GameCreationAppAssetKind::Font, media_type: "font/ttf".to_string(), local_path: relative_path.to_string(), image_sequence_frames: None, diff --git a/apps/ai-game-creator-shell/src-tauri/src/project/manifest/recovery_tests.rs b/apps/ai-game-creator-shell/src-tauri/src/project/manifest/recovery_tests.rs index 43f967d42..6b1c7f12e 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/project/manifest/recovery_tests.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/project/manifest/recovery_tests.rs @@ -180,7 +180,7 @@ fn successful_first_playable_registration_creates_one_initial_version_with_asset let mut manifest = new_game_creation_app_manifest("project-first-playable", "首板项目"); manifest.assets.push(GameCreationAppAssetManifestEntry { id: "asset-player".to_string(), - kind: "character".to_string(), + kind: GameCreationAppAssetKind::Character, media_type: "image/png".to_string(), local_path: "assets/player.png".to_string(), image_sequence_frames: None, diff --git a/apps/ai-game-creator-shell/src-tauri/src/project/resource_dependency_graph.rs b/apps/ai-game-creator-shell/src-tauri/src/project/resource_dependency_graph.rs index 8d32d431a..5221396f2 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/project/resource_dependency_graph.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/project/resource_dependency_graph.rs @@ -652,7 +652,7 @@ mod tests { ) -> GameCreationAppAssetManifestEntry { GameCreationAppAssetManifestEntry { id: id.to_string(), - kind: "test".to_string(), + kind: GameCreationAppAssetKind::Unknown, media_type: "image/png".to_string(), local_path: format!("assets/{id}.png"), image_sequence_frames: None, diff --git a/apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs b/apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs index d7a8a58a7..6a1df9f8d 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/project/resource_editor.rs @@ -6623,7 +6623,7 @@ mod tests { first_request.source_asset_id = Some(source_asset.id.clone()); first_request.source_path = Some(source_asset.local_path.clone()); first_request.source_media_type = Some(source_asset.media_type.clone()); - first_request.source_subtype = Some(source_asset.kind.clone()); + first_request.source_subtype = Some(source_asset.kind.to_string()); let mut second_request = first_request.clone(); second_request.operation_id = Uuid::new_v4().to_string(); second_request.idempotency_key = Uuid::new_v4().to_string(); @@ -6770,7 +6770,7 @@ mod tests { request.source_asset_id = Some(source_asset.id.clone()); request.source_path = Some(source_asset.local_path.clone()); request.source_media_type = Some(source_asset.media_type.clone()); - request.source_subtype = Some(source_asset.kind.clone()); + request.source_subtype = Some(source_asset.kind.to_string()); let source = resolve_resource_edit_source(root, &manifest, &request) .expect("resolve character source"); let mut ledger = ledger_for(&request, &source, ResourceEditLedgerPhase::Prepared); @@ -6894,7 +6894,7 @@ mod tests { request.source_asset_id = Some(source_asset.id.clone()); request.source_path = Some(source_asset.local_path.clone()); request.source_media_type = Some(source_asset.media_type.clone()); - request.source_subtype = Some(source_asset.kind.clone()); + request.source_subtype = Some(source_asset.kind.to_string()); let source = resolve_resource_edit_source(root, &manifest, &request).expect("resolve switch source"); let mut ledger = ledger_for(&request, &source, ResourceEditLedgerPhase::Prepared); @@ -7736,7 +7736,7 @@ mod tests { request.source_asset_id = Some(source_asset.id.clone()); request.source_path = Some(source_asset.local_path.clone()); request.source_media_type = Some(source_asset.media_type.clone()); - request.source_subtype = Some(source_asset.kind.clone()); + request.source_subtype = Some(source_asset.kind.to_string()); let source = resolve_resource_edit_source(root, &manifest, &request) .expect("resolve unowned source"); let prompt = normalize_resource_edit_prompt(&request.edit_kind, &request.prompt) @@ -9269,7 +9269,7 @@ mod tests { request.source_asset_id = Some(source_asset.id.clone()); request.source_path = Some(source_asset.local_path.clone()); request.source_media_type = Some(source_asset.media_type.clone()); - request.source_subtype = Some(source_asset.kind.clone()); + request.source_subtype = Some(source_asset.kind.to_string()); let source = resolve_resource_edit_source( root, &read_existing_manifest_for_project(root).expect("reread manifest"), @@ -9330,7 +9330,7 @@ mod tests { request.source_asset_id = Some(source_asset.id.clone()); request.source_path = Some(source_asset.local_path.clone()); request.source_media_type = Some(source_asset.media_type.clone()); - request.source_subtype = Some(source_asset.kind.clone()); + request.source_subtype = Some(source_asset.kind.to_string()); let source = resolve_resource_edit_source(root, &manifest, &request).expect("resolve commit source"); let mut ledger = ledger_for(&request, &source, ResourceEditLedgerPhase::MediaDownloaded);