fix(app-iced): 版本行节距/列表 chrome 标定重算(44/97)+ 中性说明挪到版本菜单之后

三审给了独立量测,两处都按它的数字收敛:

1. `ROW_PITCH` 278/6=46.33 → **44.0**(278 里含列表与面板之间的 8px `Space::X2`);
   `LIST_CHROME` 93 → **97**(列顶 156 → 列表顶 253)。1180×760 分隔线 492 → **481**、
   列表视口 **220px = 5 整行**;1180×900 加测 = 308px = 7 整行,三审报的 900 高残影不复发。
2. S7 钉页脚引入的新问题:面板上半块的滚动切点压在字形上(宽窗切「加载器版本」标签上沿、
   窄窗把 chips 切成 4px 条)。把中性说明从菜单**之前**移到**之后**——它两行高,排前面正是把
   唯一的加载器专属控件顶出首屏的元凶。

顺带纠正一处文档:面板结构不是「头部 + 可滚上半 + 钉页脚」,head(版本 id + 安装按钮)是上半块
的第一个子项、**安装按钮也在滚动区**,只有实例名是钉死的。
This commit is contained in:
AskaEth committed 2026-11-10 19:34:14 +08:00
1 parent 954281d71a
commit 0ca28d24ff
2 files changed
+21 -16

No files matched your search

@@ -108,16 +108,6 @@ pub(crate) fn section<'a>(
// 中性说明(M222):只解释这一页能装到哪一层,不套错误色、不影响确认键。
// 换行由 iced 的文本布局负责,长句不会横向溢出;但**视觉验收仍需截图确认**(D30)。
if let Some(note) = &options.note {
body = body.push(frame::text_role(
ui,
TypeRole::BodySmall,
false,
note.as_str(),
ui.color(Role::OnSurfaceVariant),
));
}
// 「加载器版本」这一段只在**真该有列表**时出现:原版没有、静态不兼容没有(原因在下面那行)、
// 取不到也没有(同样在原因行)。留一个空标题只会让人以为界面缺了一块。
if show_versions(options) {
@@ -131,6 +121,19 @@ pub(crate) fn section<'a>(
body = body.push(version_list(ui, catalog, options));
}
// 中性说明排在**版本菜单之后**(D30 三审 S7-clip):说明两行高,排在菜单前面会把
// 「加载器版本」这个本页唯一的加载器专属控件顶出首屏,而面板上半块是滚动区,切点会落在
// 字形上。挪到菜单后面之后 1180×760 首屏能装下 head + chips + 标签 + 菜单,切点不再切字。
if let Some(note) = &options.note {
body = body.push(frame::text_role(
ui,
TypeRole::BodySmall,
false,
note.as_str(),
ui.color(Role::OnSurfaceVariant),
));
}
if let Some(problem) = &options.problem {
body = body.push(frame::text_role(
ui,