自审收口 #600:宽度上限与间距写回各自规则,去掉重复声明
Project CI / Backend tests (pull_request) Failing after 28s
Project CI / AI game creator shell Rust lane 1/2 (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 Rust crates (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 lane 2/2 (pull_request) Has been cancelled
Project CI / Native shell tests (pull_request) Has been cancelled

- 模型选择器 160px 上限、触发钮 160px 上限 / 64px 下限写回 `.conversation-model-select` 与 `.conversation-model-trigger` 的原有规则(单点声明,不再依赖文件末尾的源码顺序覆盖)
- 队列 chip 的 `margin: 0` 写回 `.project-chat-composer-queue` 原有规则;提示段落 `margin: 0` 与 96px 高度上限并入 `.project-chat-composer-notice` 原有规则(覆盖两个宿主,删掉新造的 72px)
- 推理档 `flex: 0 0 auto` 拆成 Direct 侧单条(策划面已有同值声明),末尾区块只留前文没有的新属性
- 更新末尾区块头注释:说明唯一的覆盖靠更长的选择器链而非源码顺序
This commit is contained in:
2026-10-04 00:12:38 +08:00
parent f5886560bd
commit ac2df9f123
+38 -61
View File
@@ -11177,7 +11177,9 @@ button.design-workspace-tree__entry:hover,
.project-chat-composer .project-chat-composer
.conversation-model-trigger { .conversation-model-trigger {
min-width: 0; min-width: 0;
max-width: 180px; /* 与下面控制排里那条同档(160px):模型名走省略号,宽度不够时由外层换行让位,
不再把整组控件推出输入盒。 */
max-width: 160px;
height: 30px; height: 30px;
} }
.project-chat-surface.is-direct-codex .project-chat-surface.is-direct-codex
@@ -11381,7 +11383,9 @@ button.design-workspace-tree__entry:hover,
position: relative !important; position: relative !important;
right: auto !important; right: auto !important;
bottom: auto !important; bottom: auto !important;
max-width: 180px; /* 上限与触发钮同档(160px):模型名、错误提示都在这一档里用省略号 / 折行收住,
「@ + · 推理档 · 模型 · 语音 · 发送」在 400px 以上的面板里保持一行。 */
max-width: 160px;
} }
.game-workbench-chat .game-workbench-chat
@@ -11390,8 +11394,9 @@ button.design-workspace-tree__entry:hover,
.project-chat-composer-controls .project-chat-composer-controls
.conversation-model-trigger { .conversation-model-trigger {
flex: 0 1 auto; flex: 0 1 auto;
min-width: 0; /* 下限只是「别缩到看不见」的兜底:最窄的 280px 面板下模型钮仍有 ~74px。 */
max-width: 180px; min-width: 64px;
max-width: 160px;
color: var(--platform-text-base) !important; color: var(--platform-text-base) !important;
} }
@@ -11684,7 +11689,8 @@ button.design-workspace-tree__entry:hover,
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
gap: 6px; gap: 6px;
margin: 0 0 6px; /* 与输入盒之间的间距归 composer 的行间距(`gap: 8px`),这里不再自带 6px。 */
margin: 0;
padding: 0; padding: 0;
list-style: none; list-style: none;
} }
@@ -11739,7 +11745,13 @@ button.design-workspace-tree__entry:hover,
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
} }
.game-workbench-layout--design .project-chat-composer-notice { .game-workbench-layout--design .project-chat-composer-notice,
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
.project-chat-composer-notice {
/* 两个宿主的提示区同一档:超过就自己滚,不把输入盒顶高(直接子元素由下面的
共享规则清零 margin,间距交给各自 composer 的 gap)。 */
max-height: 96px; max-height: 96px;
overflow: auto; overflow: auto;
overflow-wrap: anywhere; overflow-wrap: anywhere;
@@ -11750,7 +11762,7 @@ button.design-workspace-tree__entry:hover,
.project-chat-surface.is-direct-codex .project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex .project-chat-composer.is-direct-codex
.project-chat-composer-notice { .project-chat-composer-notice {
margin: 4px 0 0; margin: 0;
color: var(--platform-text-soft); color: var(--platform-text-soft);
font-size: 12px; font-size: 12px;
} }
@@ -13101,19 +13113,20 @@ details.design-agent-reasoning[open]
/* ============================================================ /* ============================================================
输入区工具栏与状态提示(2026-10 · issue #600) 输入区工具栏与状态提示(2026-10 · issue #600)
============================================================ ============================================================
三组规则,输入区三层布局的收尾: 三组规则,输入区三层布局的收尾。这里只补前文没有的属性:模型钮的 160px 上限 /
64px 下限、提示区 96px 上限、队列 chip 与提示段落的 `margin` 都写回前文各自那条
规则(`.conversation-model-select` / `.conversation-model-trigger` /
`.project-chat-composer-notice` / `.project-chat-composer-queue`),不在这里重复声明。
① 工具栏里的下拉控件(推理档 / 模型)要能收缩、模型名要能省略,宽度不够时靠换行 ① 工具栏里的下拉控件(推理档 / 模型)要能收缩、模型名要能省略,宽度不够时靠换行
让位,而不是把整组推到输入盒外面去和左边的 `@` `+` 重叠; 让位,而不是把整组推到输入盒外面去和左边的 `@` `+` 重叠;
② 模型控件自己的状态提示(`ConversationModelSelect` 的 `[role='alert']` / ② 模型控件自己的状态提示(`ConversationModelSelect` 的 `[role='alert']` /
`[role='status']`)从"浮在输入区上方"改成"控件排内独占一行":它原来的 `[role='status']`)从"浮在输入区上方"改成"控件排内独占一行":它原来的
`bottom: 36px` 正好把错误文案画在输入内容区第 3~4 行文字上(实测 70×36px `bottom: 36px` 正好把错误文案画在输入内容区第 3~4 行文字上(实测 70×36px
与编辑器相交); 与编辑器相交)——这条覆盖的是全局规则,靠更长的选择器链(多带
③ 状态提示区(队列 chip、提示段落)与输入盒、工具栏共用同一档行间距。 `.project-chat-composer-controls`)取胜,不依赖源码顺序;
③ 状态提示区(队列 chip、提示段落)与输入盒、工具栏共用同一档行间距。 */
这一组必须放在文件最后:`.conversation-model-select` 的定位与宽度由前面几条同 /* ① 下拉控件:可收缩 + 组内换行;模型名超长走省略号(上限已写回前文那条规则)。 */
选择器(或更高权重)的规则决定,同特异性下只有靠后写的才能盖回去。 */
/* ① 下拉控件:可收缩 + 组内换行;模型名超长走省略号,不再把触发钮撑到 180px。 */
.game-workbench-layout--design .game-workbench-layout--design
.project-chat-composer-controls .project-chat-composer-controls
.conversation-model-select, .conversation-model-select,
@@ -13148,13 +13161,21 @@ details.design-agent-reasoning[open]
.project-chat-composer.is-direct-codex .project-chat-composer.is-direct-codex
.project-chat-composer-controls .project-chat-composer-controls
.project-chat-reasoning-effort { .project-chat-reasoning-effort {
/* 档位文案很短(默认 / 高 / 中 / 低),不参与收缩——收缩会把它截成半个字。
要让位时由模型钮(名字走省略号)承担。 */
flex: 0 0 auto;
flex-wrap: wrap; flex-wrap: wrap;
justify-content: flex-end; justify-content: flex-end;
} }
/* 档位文案很短(默认 / 高 / 中 / 低),不参与收缩——收缩会把它截成半个字。
要让位时由模型钮(名字走省略号)承担。(策划面已经在 `.game-workbench-layout--design
.project-chat-reasoning-effort` 那条里写了 `flex: 0 0 auto`,这里只补 Direct 侧。) */
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
.project-chat-composer-controls
.project-chat-reasoning-effort {
flex: 0 0 auto;
}
.game-workbench-layout--design .game-workbench-layout--design
.project-chat-composer-controls .project-chat-composer-controls
.project-chat-reasoning-effort .project-chat-reasoning-effort
@@ -13204,47 +13225,3 @@ details.design-agent-reasoning[open]
text-align: right; text-align: right;
overflow-wrap: anywhere; overflow-wrap: anywhere;
} }
/* 模型控件的宽度上限与触发钮同档(160px):模型名、错误提示都在这一档里用省略号 /
折行收住,这样「@ + · 推理档 · 模型 · 语音 · 发送」在 400px 以上的面板里始终是一行,
更窄的面板由外层换行让位(左侧 `@` `+` 与右侧控件组各占一行)。 */
.game-workbench-layout--design
.project-chat-composer-controls
.conversation-model-select,
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
.project-chat-composer-controls
.conversation-model-select {
max-width: 160px;
}
.game-workbench-layout--design
.project-chat-composer-controls
.conversation-model-trigger,
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
.project-chat-composer-controls
.conversation-model-trigger {
max-width: 160px;
/* 下限只是「别缩到看不见」的兜底:最窄的 280px 面板下模型钮仍有 ~74px。 */
min-width: 64px;
}
/* ③ 状态提示区:队列 chip 与提示段落跟输入盒、工具栏共用同一档行间距。 */
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
.project-chat-composer-queue {
margin: 0;
}
.game-workbench-chat
.project-chat-surface.is-direct-codex
.project-chat-composer.is-direct-codex
> .project-chat-composer-notice {
margin: 0;
max-height: 72px;
overflow: auto;
}