From 127e491ab03eec94a02f3314e253b7bc826c0e59 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=8E=8B=E5=BE=B7=E5=AE=87?= Date: Thu, 24 Sep 2026 16:24:57 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=8E=89=20AGC=20=E5=B7=A5=E5=85=B7?= =?UTF-8?q?=E6=A0=8F=E5=AE=88=E5=8D=AB=EF=BC=9A=E4=BA=8C=E7=BA=A7=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E4=B8=8D=E8=A3=81=E5=89=AA=E7=9A=84=E6=96=AD=E8=A8=80?= =?UTF-8?q?=E6=94=B9=E9=92=89=E5=85=B1=E4=BA=AB=E5=B7=A5=E5=85=B7=E6=A0=8F?= =?UTF-8?q?=E8=A7=84=E5=88=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - apps/ai-game-creator-shell/tests/appSurface:`.game-resource-bottom-toolbar-strip` 的 `overflow: visible` 断言随宿主覆盖一起失效;改读 packages/image-canvas-react 的 `.genarrative-image-canvas__toolbar` 规则,断言「flex-wrap: wrap 且不声明任何 overflow 裁剪」——机制住在共享工具栏里,谁把横向滚动容器加回来,二级菜单就会被裁掉,这条先失败(已注入 overflow-x: auto 复验过会挂) - apps/ai-game-creator-shell/src/features/resource-canvas/resourceCanvasChrome.css:删掉已过期的「共享 chrome 是横向滚动条」注释,改成当前口径——换行与不裁剪由共享工具栏保证,这里只限宽 --- .../resource-canvas/resourceCanvasChrome.css | 7 +++---- .../appSurface/project-development.suite.ts | 19 +++++++++++++++---- 2 files changed, 18 insertions(+), 8 deletions(-) diff --git a/apps/ai-game-creator-shell/src/features/resource-canvas/resourceCanvasChrome.css b/apps/ai-game-creator-shell/src/features/resource-canvas/resourceCanvasChrome.css index b30a4b3ca..d52bfaa22 100644 --- a/apps/ai-game-creator-shell/src/features/resource-canvas/resourceCanvasChrome.css +++ b/apps/ai-game-creator-shell/src/features/resource-canvas/resourceCanvasChrome.css @@ -1266,10 +1266,9 @@ max-width: calc(100% - 28px); } -/* 共享 chrome 的 `.genarrative-image-canvas__toolbar` 是横向滚动条(`overflow-x:auto`), - 会把它自己弹出的二级菜单(`bottom:100%+6px`)裁掉。这里改成换行、不裁切: - 「生成规范」的二级菜单必须可见,窄屏用换行兜底而不是横向滚动。 */ -/* 换行与不裁剪已由共享工具栏保证(`@genarrative/image-canvas-react`),这里只限宽。 */ +/* 「生成规范」的二级菜单(`bottom:100%+6px`)必须可见:换行与不裁剪由共享工具栏保证 + (`@genarrative/image-canvas-react` 的 `.genarrative-image-canvas__toolbar` 已从 + `overflow-x: auto` 改成 `flex-wrap: wrap`),这里只限宽,不再重复覆盖 overflow。 */ .game-resource-bottom-toolbar-strip { max-width: 100%; } diff --git a/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts b/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts index 1d5ac535f..05ae80777 100644 --- a/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts +++ b/apps/ai-game-creator-shell/tests/appSurface/project-development.suite.ts @@ -8878,9 +8878,20 @@ export function registerProjectAgentStatusTests() { expect(dock).toMatch(/(?:^|[;\s])right:/u); expect(dock).not.toMatch(/(?:^|[;\s])left:/u); - // 二级菜单不能被工具栏自己的横向滚动裁掉(共享 chrome 默认 overflow-x: auto)。 - expect( - styleRuleBody(chromeStyles, '\\.game-resource-bottom-toolbar-strip'), - ).toMatch(/overflow:\s*visible/u); + // 二级菜单不能被工具栏自己的横向滚动裁掉。这个机制住在共享工具栏里:托管规则曾经是 + // `overflow-x: auto`(把它自己底部弹出的二级菜单裁掉,也把尾部工具滚出视野),现在 + // 换成「换行 + 不裁剪」,所以这里直接钉住共享规则本身 —— 谁把滚动容器加回来, + // 「生成规范」的二级菜单就会立刻被裁掉,这条断言先失败。 + const sharedToolbar = styleRuleBody( + readFileSync( + repoPath('packages/image-canvas-react/src/styles.css'), + 'utf8', + ), + '\\.genarrative-image-canvas__toolbar', + ); + expect(sharedToolbar).toMatch(/flex-wrap:\s*wrap/u); + expect(sharedToolbar).not.toMatch( + /overflow(?:-[xy])?\s*:\s*(?:auto|scroll|hidden)/u, + ); }); }