diff --git a/apps/ai-game-creator-shell/src-tauri/src/project/asset_canvas/generation.rs b/apps/ai-game-creator-shell/src-tauri/src/project/asset_canvas/generation.rs index 8c8ad923a..ee97bb107 100644 --- a/apps/ai-game-creator-shell/src-tauri/src/project/asset_canvas/generation.rs +++ b/apps/ai-game-creator-shell/src-tauri/src/project/asset_canvas/generation.rs @@ -8803,6 +8803,12 @@ mod tests { let public = serde_json::to_string(&public_draft).expect("serialize failed draft"); assert!(!public.contains(prompt)); assert!(!public.contains(&input.idempotency_key)); + assert!(public_draft + .generations + .iter() + .any(|record| record.generation_id == input.generation_id + && record.phase == AssetCanvasGenerationStatus::Failed + && record.error_code.as_deref() == Some("configuration-missing"))); let ledger = read_generation_ledger(directory.path(), &input.generation_id) .expect("read retryable generation ledger") .expect("missing-login ledger exists"); diff --git a/apps/ai-game-creator-shell/src/view/project-development/index.tsx b/apps/ai-game-creator-shell/src/view/project-development/index.tsx index 4fb7275a3..c8c48d411 100644 --- a/apps/ai-game-creator-shell/src/view/project-development/index.tsx +++ b/apps/ai-game-creator-shell/src/view/project-development/index.tsx @@ -199,6 +199,15 @@ type ResourceEditorRoute = { generationMode: 'create' | 'derive'; }; +function defaultCreatedResourceName( + editKind: ResourceEditorRoute['capability']['editKind'], +) { + if (editKind === 'video') return '新视频'; + if (editKind === 'sound-effect') return '新音效'; + if (editKind === 'background-music') return '新背景音乐'; + return '新资源'; +} + type UiEditorRoute = { resourceId: string; resourceLabel: string; @@ -2002,7 +2011,7 @@ export default function ProjectDevelopmentView({ } function closeOnEscape(event: KeyboardEvent) { if (event.key === 'Escape') { - restoreResourceListScrollRef.current = false; + restoreResourceListScrollRef.current = true; setFocusedResourceId(null); } } @@ -3332,7 +3341,7 @@ export default function ProjectDevelopmentView({ function closeResourceFocus() { advanceFocusGeneration(); - restoreResourceListScrollRef.current = false; + restoreResourceListScrollRef.current = true; setFocusedResourceId(null); } @@ -3516,12 +3525,13 @@ export default function ProjectDevelopmentView({ ) : null} {mode === 'resources' && uiEditorRoute ? ( -