修掉 AGC 工具栏守卫:二级菜单不裁剪的断言改钉共享工具栏规则

- 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 是横向滚动条」注释,改成当前口径——换行与不裁剪由共享工具栏保证,这里只限宽
This commit is contained in:
2026-09-24 16:24:57 +08:00
parent ff38eb0308
commit 127e491ab0
2 changed files with 18 additions and 8 deletions
@@ -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%;
}
@@ -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,
);
});
}