收口统一创作流程一期

This commit is contained in:
2026-05-31 14:46:32 +00:00
parent 724d8be405
commit 23dec91bd6
36 changed files with 919 additions and 469 deletions

View File

@@ -2856,10 +2856,10 @@ const CustomWorldGenerationView = lazy(async () => {
};
});
const UnifiedCreationPage = lazy(async () => {
const module = await import('../unified-creation/UnifiedCreationPage');
const UnifiedCreationWorkspace = lazy(async () => {
const module = await import('../unified-creation/UnifiedCreationWorkspace');
return {
default: module.UnifiedCreationPage,
default: module.UnifiedCreationWorkspace,
};
});
@@ -2907,13 +2907,6 @@ const BigFishRuntimeShell = lazy(async () => {
};
});
const Match3DAgentWorkspace = lazy(async () => {
const module = await import('../match3d-creation/Match3DAgentWorkspace');
return {
default: module.Match3DAgentWorkspace,
};
});
const Match3DResultView = lazy(async () => {
const module = await import('../match3d-result/Match3DResultView');
return {
@@ -2951,13 +2944,6 @@ const SquareHoleRuntimeShell = lazy(async () => {
};
});
const JumpHopWorkspace = lazy(async () => {
const module = await import('../jump-hop-creation/JumpHopWorkspace');
return {
default: module.JumpHopWorkspace,
};
});
const JumpHopResultView = lazy(async () => {
const module = await import('../jump-hop-result/JumpHopResultView');
return {
@@ -2972,13 +2958,6 @@ const JumpHopRuntimeShell = lazy(async () => {
};
});
const WoodenFishWorkspace = lazy(async () => {
const module = await import('../wooden-fish-creation/WoodenFishWorkspace');
return {
default: module.WoodenFishWorkspace,
};
});
const WoodenFishResultView = lazy(async () => {
const module = await import('../wooden-fish-result/WoodenFishResultView');
return {
@@ -3032,13 +3011,6 @@ const CustomWorldCreationHub = lazy(async () => {
};
});
const PuzzleAgentWorkspace = lazy(async () => {
const module = await import('../puzzle-agent/PuzzleAgentWorkspace');
return {
default: module.PuzzleAgentWorkspace,
};
});
const CreativeAgentWorkspace = lazy(async () => {
const module = await import('../creative-agent/CreativeAgentWorkspace');
return {
@@ -15732,37 +15704,33 @@ export function PlatformEntryFlowShellImpl({
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -12 }}
className="flex h-full min-h-0 flex-col overflow-y-auto overflow-x-hidden"
className="flex h-full min-h-0 flex-col"
>
<Suspense
fallback={
<LazyPanelFallback label="正在加载抓大鹅共创工作区..." />
}
>
<UnifiedCreationPage
<UnifiedCreationWorkspace
playId="match3d"
spec={getUnifiedCreationSpec(
'match3d',
unifiedCreationConfigById.get('match3d'),
)}
>
<Match3DAgentWorkspace
session={match3dSession}
isBusy={isStreamingMatch3DReply}
error={match3dError}
onBack={leaveMatch3DFlow}
onExecuteAction={(payload) => {
void executeMatch3DAction(payload);
}}
initialFormPayload={match3dFormDraftPayload}
title={null}
unifiedChrome
onCreateFromForm={(payload) => {
runProtectedAction(() => {
void createMatch3DDraftFromForm(payload);
});
}}
/>
</UnifiedCreationPage>
session={match3dSession}
isBusy={isStreamingMatch3DReply}
error={match3dError}
onBack={leaveMatch3DFlow}
onExecuteAction={(payload) => {
void executeMatch3DAction(payload);
}}
initialFormPayload={match3dFormDraftPayload}
onCreateFromForm={(payload) => {
runProtectedAction(() => {
void createMatch3DDraftFromForm(payload);
});
}}
/>
</Suspense>
</motion.div>
)}
@@ -16398,7 +16366,12 @@ export function PlatformEntryFlowShellImpl({
<Suspense
fallback={<LazyPanelFallback label="正在加载跳一跳创作..." />}
>
<JumpHopWorkspace
<UnifiedCreationWorkspace
playId="jump-hop"
spec={getUnifiedCreationSpec(
'jump-hop',
unifiedCreationConfigById.get('jump-hop'),
)}
isBusy={isJumpHopBusy}
error={jumpHopError}
onBack={leaveJumpHopFlow}
@@ -16421,7 +16394,8 @@ export function PlatformEntryFlowShellImpl({
<Suspense
fallback={<LazyPanelFallback label="正在加载跳一跳生成面板..." />}
>
<CustomWorldGenerationView
<UnifiedGenerationPage
playId="jump-hop"
settingText={
jumpHopSession?.draft?.workTitle?.trim() ||
jumpHopSession?.draft?.workDescription?.trim() ||
@@ -16441,16 +16415,6 @@ export function PlatformEntryFlowShellImpl({
setSelectionStage('jump-hop-workspace');
}}
onRetry={retryJumpHopDraftGeneration}
onInterrupt={undefined}
backLabel="返回创作中心"
settingActionLabel={null}
retryLabel="重新生成草稿"
settingTitle="当前跳一跳信息"
settingDescription={null}
progressTitle="跳一跳草稿生成进度"
activeBadgeLabel="素材生成中"
pausedBadgeLabel="素材生成已暂停"
idleBadgeLabel="等待返回工作区"
/>
</Suspense>
</motion.div>
@@ -16540,26 +16504,24 @@ export function PlatformEntryFlowShellImpl({
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -12 }}
className="flex h-full min-h-0 flex-col overflow-y-auto overflow-x-hidden"
className="flex h-full min-h-0 flex-col"
>
<Suspense
fallback={<LazyPanelFallback label="正在加载敲木鱼创作..." />}
>
<UnifiedCreationPage
<UnifiedCreationWorkspace
playId="wooden-fish"
spec={getUnifiedCreationSpec(
'wooden-fish',
unifiedCreationConfigById.get('wooden-fish'),
)}
>
<WoodenFishWorkspace
isBusy={isWoodenFishBusy}
error={woodenFishError}
onBack={leaveWoodenFishFlow}
onSubmitted={(result, payload) => {
void compileWoodenFishSession(result, payload);
}}
/>
</UnifiedCreationPage>
isBusy={isWoodenFishBusy}
error={woodenFishError}
onBack={leaveWoodenFishFlow}
onSubmitted={(result, payload) => {
void compileWoodenFishSession(result, payload);
}}
/>
</Suspense>
</motion.div>
)}
@@ -16695,39 +16657,35 @@ export function PlatformEntryFlowShellImpl({
initial={{ opacity: 0, y: 12 }}
animate={{ opacity: 1, y: 0 }}
exit={{ opacity: 0, y: -12 }}
className="flex h-full min-h-0 flex-col overflow-y-auto overflow-x-hidden"
className="flex h-full min-h-0 flex-col"
>
<Suspense
fallback={<LazyPanelFallback label="正在加载拼图创作..." />}
>
<UnifiedCreationPage
<UnifiedCreationWorkspace
playId="puzzle"
spec={getUnifiedCreationSpec(
'puzzle',
unifiedCreationConfigById.get('puzzle'),
)}
>
<PuzzleAgentWorkspace
session={puzzleSession}
isBusy={isStreamingPuzzleReply}
error={puzzleError}
onBack={leavePuzzleFlow}
onSubmitMessage={(payload) => {
void submitPuzzleMessage(payload);
}}
onExecuteAction={(payload) => {
executePuzzleWorkspaceAction(payload);
}}
initialFormPayload={puzzleFormDraftPayload}
title={null}
unifiedChrome
onCreateFromForm={(payload) => {
void createPuzzleDraftFromForm(payload);
}}
onAutoSaveForm={(payload) => {
void savePuzzleFormDraft(payload);
}}
/>
</UnifiedCreationPage>
session={puzzleSession}
isBusy={isStreamingPuzzleReply}
error={puzzleError}
onBack={leavePuzzleFlow}
onSubmitMessage={(payload) => {
void submitPuzzleMessage(payload);
}}
onExecuteAction={(payload) => {
executePuzzleWorkspaceAction(payload);
}}
initialFormPayload={puzzleFormDraftPayload}
onCreateFromForm={(payload) => {
void createPuzzleDraftFromForm(payload);
}}
onAutoSaveForm={(payload) => {
void savePuzzleFormDraft(payload);
}}
/>
</Suspense>
</motion.div>
)}