diff --git a/apps/ai-game-creator-shell/src/styles.css b/apps/ai-game-creator-shell/src/styles.css index c87664904..af4501670 100644 --- a/apps/ai-game-creator-shell/src/styles.css +++ b/apps/ai-game-creator-shell/src/styles.css @@ -7519,3 +7519,16 @@ iframe.preview-frame { .game-workbench-chat .planning-lane-runtime-strip{ max-height: clamp(240px, 52dvh, 640px); } + +/* 做方案在拿到第一个已登记资源之前,左边的资源画布是空的;工作台此时收成单栏, + 对话铺满。类名由 view/project-development/index.tsx 的 conversationOnlyWorkbench + 拼上(planningStartMode && resources.length === 0),画布是 display: none 不是 + 不渲染——页签、缩放、选中状态都保留,第一个资源登记后自动恢复双栏。 + 同批规则曾与上面的策划样式一起被 #193 误删。 */ +.game-workbench-layout.is-conversation-only { + grid-template-columns: minmax(0, 1fr); +} + +.game-workbench-layout.is-conversation-only .game-workbench-stage { + display: none; +} diff --git a/apps/ai-game-creator-shell/tests/appSurface/plan-gdd.suite.ts b/apps/ai-game-creator-shell/tests/appSurface/plan-gdd.suite.ts index 14f38e183..d6ed7813b 100644 --- a/apps/ai-game-creator-shell/tests/appSurface/plan-gdd.suite.ts +++ b/apps/ai-game-creator-shell/tests/appSurface/plan-gdd.suite.ts @@ -569,5 +569,14 @@ export function registerPlanGddApprovalTests() { expect(styles).toMatch( /\.gdd-approval-card__dialog-backdrop\s*\{[^}]*position:\s*fixed/s, ); + // 做方案的单栏工作台不在上面两个组件文件里(类名由 + // view/project-development/index.tsx 拼出),显式钉住:没有这两条规则时, + // 策划项目一打开就是左边一整片空资源画布。它们和策划样式死在 #193 同一刀里。 + expect(styles).toMatch( + /\.game-workbench-layout\.is-conversation-only\s*\{[^}]*grid-template-columns:\s*minmax\(0, 1fr\)/s, + ); + expect(styles).toMatch( + /\.game-workbench-layout\.is-conversation-only \.game-workbench-stage\s*\{[^}]*display:\s*none/s, + ); }); }