diff --git a/apps/ai-game-creator-shell/scripts/check-config.mjs b/apps/ai-game-creator-shell/scripts/check-config.mjs index 1989106a5..9732b34b5 100644 --- a/apps/ai-game-creator-shell/scripts/check-config.mjs +++ b/apps/ai-game-creator-shell/scripts/check-config.mjs @@ -127,6 +127,7 @@ const rustSharedContractSource = fs.readFileSync( const allowedUncalledTauriCommands = [ 'chat_with_game_creator_agent', 'check_ui_editor_font_glyph_coverage', + 'create_ui_design_resource', 'open_game_creator_launcher_window', 'open_game_creator_workspace_window', ]; @@ -1547,13 +1548,11 @@ if (!viteConfigSource.includes('allow: [repoRoot]')) { ); } -if ( - !( - tauriConfig.build?.beforeDevCommand?.includes( - 'run ai-game-creator-shell:dev-server', - ) || tauriConfig.build?.beforeDevCommand?.includes('run agc:serve') - ) -) { +if (!( + tauriConfig.build?.beforeDevCommand?.includes( + 'run ai-game-creator-shell:dev-server', + ) || tauriConfig.build?.beforeDevCommand?.includes('run agc:serve') +)) { throw new Error( 'AI game creator shell beforeDevCommand must start the selected Vite dev server', ); 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 c8c48d411..3551689db 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 @@ -106,8 +106,6 @@ import { type ProjectResourceEditCapability, resolveProjectCharacterAnimationCapability, resolveProjectResourceEditCapability, - type ResourceGenerationKind, - resourceGenerationOptions, } from './resourceEditModel'; import { type ResourceEditSubmitInput, @@ -213,12 +211,6 @@ type UiEditorRoute = { resourceLabel: string; }; -type CreateUiDesignResourceResult = { - asset: { id: string }; - manifest: GameCreationAppManifest; - committedProjectRevision: number; -}; - type DeriveLocalProjectResourceResult = { operationId: string; sourceResourceId: string; @@ -1606,8 +1598,7 @@ export default function ProjectDevelopmentView({ } const viewport = resolveViewport(event); const category = viewport?.dataset.resourceSectionScroll as - | ResourceCategory - | undefined; + ResourceCategory | undefined; if (!viewport || !category) { return; } @@ -1626,8 +1617,7 @@ export default function ProjectDevelopmentView({ const event = rawEvent as WebKitGestureEvent; const viewport = resolveViewport(event); const category = viewport?.dataset.resourceSectionScroll as - | ResourceCategory - | undefined; + ResourceCategory | undefined; if (!viewport || !category) { return; } @@ -1739,8 +1729,7 @@ export default function ProjectDevelopmentView({ .querySelectorAll('[data-resource-section-scroll]') .forEach((viewport) => { const category = viewport.dataset.resourceSectionScroll as - | ResourceCategory - | undefined; + ResourceCategory | undefined; if (!category) { return; } @@ -1760,8 +1749,7 @@ export default function ProjectDevelopmentView({ ?.querySelectorAll('[data-resource-section-scroll]') .forEach((viewport) => { const category = viewport.dataset.resourceSectionScroll as - | ResourceCategory - | undefined; + ResourceCategory | undefined; if (!category) { return; } @@ -2258,34 +2246,6 @@ export default function ProjectDevelopmentView({ ], ); - const createUiDesignResource = useCallback(async () => { - const invoke = window.__TAURI__?.core?.invoke; - if (!invoke) { - setAssetCanvasNotice('UI 设计资源需要在客户端内创建'); - return; - } - setAssetCanvasNotice('正在创建 UI 设计…'); - try { - const result = await invoke( - 'create_ui_design_resource', - { projectPath, expectedProjectId: manifest.projectId }, - ); - if (result.manifest.projectId !== manifest.projectId) { - throw new Error('UI 设计资源登记结果与当前项目不一致'); - } - onManifestChange?.(projectPath, result.manifest, { - projectId: result.manifest.projectId, - revision: result.committedProjectRevision, - source: 'asset-command', - }); - setAssetCanvasNotice('UI 设计已创建,正在同步资源与布局…'); - } catch (error) { - setAssetCanvasNotice( - error instanceof Error ? error.message : String(error), - ); - } - }, [manifest.projectId, onManifestChange, projectPath]); - const resetResourceCanvasViewport = useCallback(() => { const canvasSize = resourceCanvasElementSize(resourceCanvasRef.current); setConstrainedResourceCanvasViewport( @@ -2635,39 +2595,6 @@ export default function ProjectDevelopmentView({ [advanceFocusGeneration], ); - const openCreateResource = useCallback( - (kind: ResourceGenerationKind) => { - canvasOpenEpochRef.current += 1; - advanceFocusGeneration(); - const flowId = crypto.randomUUID(); - activeFocusFlowIdRef.current = flowId; - pendingResourceFocusRef.current = null; - setAssetCanvasRoute(null); - setAssetCanvasNotice(''); - const sourceMediaType = kind === 'video' ? 'video/mp4' : 'audio/mpeg'; - setResourceEditorRoute({ - flowId, - operationId: crypto.randomUUID(), - idempotencyKey: crypto.randomUUID(), - resource: null, - capability: { - route: 'derive', - editKind: kind, - sourceMediaType, - semanticNotice: - kind === 'background-music' - ? '将生成全新的背景音乐。' - : kind === 'sound-effect' - ? '将生成全新的音效。' - : '将生成全新的视频。', - generationMode: 'create', - }, - generationMode: 'create', - }); - }, - [advanceFocusGeneration], - ); - const cancelResourceEditor = useCallback(() => { if (resourceEditorRoute) { resourceEditorRevisionRef.current.delete(resourceEditorRoute.operationId); @@ -3277,16 +3204,16 @@ export default function ProjectDevelopmentView({ dependencyLayoutSettled: dependencyLayout.settled, dependencyPositioned: Boolean( intent.resourceId && - dependencyLayout.layout.positions.some( - (position) => position.resourceId === intent.resourceId, - ), + dependencyLayout.layout.positions.some( + (position) => position.resourceId === intent.resourceId, + ), ), typeLayoutSettled: typeLayout.settled, typePositioned: Boolean( intent.resourceId && - typeLayout.layout.positions.some( - (position) => position.resourceId === intent.resourceId, - ), + typeLayout.layout.positions.some( + (position) => position.resourceId === intent.resourceId, + ), ), visible: targetVisible, domRendered: Boolean(card), @@ -3457,23 +3384,6 @@ export default function ProjectDevelopmentView({ : `管理未完成编辑 (${pendingResourceEdits.length})`} ) : null} - {resourceGenerationOptions.map((option) => ( - - ))} -