删除退役GDD交付入口
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 1/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 2/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 3/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust shard 4/4 (pull_request) Has been cancelled
Project CI / AI game creator shell Rust smoke (pull_request) Has been cancelled
Project CI / AI game creator shell Rust crates (pull_request) Has been cancelled
Project CI / Backend tests (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled
Project CI / Frontend tests (pull_request) Has been cancelled
Project CI / Repository checks (pull_request) Has been cancelled
Project CI / AI game creator shell web tests (pull_request) Has been cancelled
移除已批准 fast GDD 自动转建游戏流程 清理工作台与首页创建控制器中的旧策划回调 保留 DirectCodex 正常做游戏入口
This commit is contained in:
@@ -528,7 +528,6 @@ type AppProps = {
|
||||
summaries: ProjectAgentRuntimeSummary[],
|
||||
) => void;
|
||||
onAgentResultsChange?: (results: ProjectAgentResultSummary[]) => void;
|
||||
onMakeGameFromApprovedGdd?: (projectPath: string) => Promise<void>;
|
||||
};
|
||||
|
||||
type ExecuteChatAgentReplyInput = {
|
||||
@@ -571,7 +570,6 @@ export function App({
|
||||
onPreviewChange,
|
||||
onAgentRuntimeSummariesChange,
|
||||
onAgentResultsChange,
|
||||
onMakeGameFromApprovedGdd,
|
||||
}: AppProps = {}) {
|
||||
const { setTitle: setWindowTitle } = useWindowChrome();
|
||||
const [designAgentActive, setDesignAgentActive] = useState(planningStartMode);
|
||||
@@ -11494,14 +11492,6 @@ export function App({
|
||||
}
|
||||
: undefined
|
||||
}
|
||||
onMakeGameFromApprovedGdd={
|
||||
onMakeGameFromApprovedGdd
|
||||
? () =>
|
||||
onMakeGameFromApprovedGdd(
|
||||
localProject?.projectPath ?? projectPath,
|
||||
)
|
||||
: undefined
|
||||
}
|
||||
runtime={projectSupervisorRuntime}
|
||||
error={projectSupervisorRuntimeError}
|
||||
runtimeByAgentId={agentRuntimeById}
|
||||
|
||||
@@ -90,7 +90,6 @@ export function WorkspaceLauncherShell({
|
||||
activeProjectAgentResults,
|
||||
setAgentResults: setActiveProjectAgentResults,
|
||||
resetLauncherHomeDraft,
|
||||
startGameFromApprovedGdd,
|
||||
createHomeDraftAutomatically,
|
||||
openProject,
|
||||
homeCreationBusy,
|
||||
@@ -650,7 +649,6 @@ export function WorkspaceLauncherShell({
|
||||
setActiveProjectAgentRuntimeSummaries
|
||||
}
|
||||
onAgentResultsChange={setActiveProjectAgentResults}
|
||||
onMakeGameFromApprovedGdd={startGameFromApprovedGdd}
|
||||
onSwitchToGameRuntime={switchToGameRuntime}
|
||||
/>
|
||||
}
|
||||
|
||||
@@ -60,7 +60,6 @@ export type ProjectSupervisorComponentProps = {
|
||||
summaries: ProjectAgentRuntimeSummary[],
|
||||
) => void;
|
||||
onAgentResultsChange?: (results: ProjectAgentResultSummary[]) => void;
|
||||
onMakeGameFromApprovedGdd?: (projectPath: string) => Promise<void>;
|
||||
onSwitchToGameRuntime?: (projectPath: string) => Promise<void>;
|
||||
};
|
||||
|
||||
|
||||
@@ -19,7 +19,6 @@ import type {
|
||||
LauncherProjectContext,
|
||||
LocalGameProjectRevisionStatus,
|
||||
LocalProjectDirectoryStatus,
|
||||
LocalProjectFileResult,
|
||||
PendingNonEmptyProject,
|
||||
ProjectStartMode,
|
||||
RenameLocalProjectResult,
|
||||
@@ -56,27 +55,6 @@ type UseHomeProjectCreationOptions = {
|
||||
rememberRecentWorkspace: (projectPath: string) => void;
|
||||
};
|
||||
|
||||
const APPROVED_GDD_BUILD_PROMPT = [
|
||||
'请按照附件中的已批准 GDD 开始建造这款游戏。',
|
||||
'',
|
||||
'这份 GDD 已覆盖游戏定位与一句话概念、类型与美术方向、游戏支柱、核心循环、目标用户、平台与输入事实、MVP 系统、暂不纳入范围、创作者提示和原型验证项。',
|
||||
'',
|
||||
'请先阅读并理解附件中的 fast_gdd.md,以它作为本次建造的主要依据,优先实现其中 MVP 范围内的可运行游戏原型。',
|
||||
].join('\n');
|
||||
|
||||
function createTextAttachmentFile(content: string) {
|
||||
const file = new File([content], 'fast_gdd.md', {
|
||||
type: 'text/markdown',
|
||||
lastModified: Date.now(),
|
||||
});
|
||||
if (typeof file.arrayBuffer !== 'function') {
|
||||
Object.defineProperty(file, 'arrayBuffer', {
|
||||
value: async () => new TextEncoder().encode(content).buffer,
|
||||
});
|
||||
}
|
||||
return file;
|
||||
}
|
||||
|
||||
async function suggestAutomaticProjectName(
|
||||
invoke: TauriInvoke,
|
||||
draft: HomeDraft,
|
||||
@@ -152,7 +130,6 @@ export function useHomeProjectCreation({
|
||||
const resetLauncherHomeDraft = useLauncherHomeDraftStore(
|
||||
(state) => state.reset,
|
||||
);
|
||||
const approvedGddStartInFlightRef = useRef(false);
|
||||
const [homeCreationOperation, setHomeCreationOperation] =
|
||||
useState<ClientOperation<
|
||||
'home-create',
|
||||
@@ -199,51 +176,6 @@ export function useHomeProjectCreation({
|
||||
return trimmedProjectPath;
|
||||
}
|
||||
|
||||
async function startGameFromApprovedGdd(nextProjectPath: string) {
|
||||
if (approvedGddStartInFlightRef.current) {
|
||||
return;
|
||||
}
|
||||
approvedGddStartInFlightRef.current = true;
|
||||
const invoke = resolveTauriInvoke();
|
||||
try {
|
||||
if (!invoke) {
|
||||
throw new Error('需要在陶泥儿客户端内运行');
|
||||
}
|
||||
const projectPath = nextProjectPath.trim();
|
||||
if (!projectPath) {
|
||||
throw new Error('当前项目路径无效');
|
||||
}
|
||||
|
||||
setStatus('正在读取已批准 GDD');
|
||||
const result = await invoke<LocalProjectFileResult>(
|
||||
'read_local_project_file',
|
||||
{
|
||||
projectPath,
|
||||
relativePath: 'game/fast_gdd.md',
|
||||
commandId: 'file.read',
|
||||
},
|
||||
);
|
||||
const file = createTextAttachmentFile(result.content);
|
||||
|
||||
await createHomeDraftAutomaticallyWithOptions(
|
||||
{
|
||||
creationType: 'game',
|
||||
prompt: APPROVED_GDD_BUILD_PROMPT,
|
||||
attachments: [
|
||||
{
|
||||
id: `approved-gdd-${Date.now().toString(36)}`,
|
||||
file,
|
||||
},
|
||||
],
|
||||
},
|
||||
'direct-build',
|
||||
{ suggestName: false },
|
||||
);
|
||||
} finally {
|
||||
approvedGddStartInFlightRef.current = false;
|
||||
}
|
||||
}
|
||||
|
||||
async function enterProjectDevelopment(context: LauncherProjectContext) {
|
||||
const entryToken = (projectEntryTokenRef.current += 1);
|
||||
/**
|
||||
@@ -962,7 +894,6 @@ export function useHomeProjectCreation({
|
||||
),
|
||||
pendingNonEmptyProject,
|
||||
resetLauncherHomeDraft,
|
||||
startGameFromApprovedGdd,
|
||||
createHomeDraft,
|
||||
createHomeDraftAutomatically,
|
||||
openProject,
|
||||
|
||||
Reference in New Issue
Block a user