From 367100848adbb509c028c4649cfcd51947cac8f8 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Mon, 2 Nov 2026 00:13:42 +0800 Subject: [PATCH] =?UTF-8?q?docs(app-iced):=20P2-2=20M68=20=E4=BA=8B?= =?UTF-8?q?=E6=95=85=E5=8F=A3=E5=BE=84=E8=AE=A2=E6=AD=A3=EF=BC=88=E5=AE=9E?= =?UTF-8?q?=E6=B5=8B=20137=20=E5=AD=97=E7=AC=A6=EF=BC=8C=E4=B8=8D=E5=86=8D?= =?UTF-8?q?=E5=BC=95=E7=94=A8=E4=BC=B0=E7=AE=97=E5=80=BC=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 代码 reviewer 指出:712px ≈ 「118 字符」的那个数本身不是实测,是拿 0.5em 估的步进换算的, 和 P2-1 是同一个根因(高估了步进)。按实测重写事故描述: - M68 那张卡里的正文是 `BodySmall` **12px**,步进 = 14px 实测值 6.0526 × 12/14 = **5.19px/字符**, 所以 712px **实测 137 字符**(不是 118); - 补一条**订正记录**说明早期数错在哪:既高估了步进、也对错了字号,两条叠加把事故说轻了 16%; - `pages/mod.rs` 的历史判词同步改成 712px + 137 字符; - 全 `pages/` 已无「118 字符」这个数(`grep` 为空)。 --- crates/app-iced/src/pages/layout.rs | 12 ++++++++---- crates/app-iced/src/pages/mod.rs | 3 ++- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/crates/app-iced/src/pages/layout.rs b/crates/app-iced/src/pages/layout.rs index cc2d773..cf6000c 100644 --- a/crates/app-iced/src/pages/layout.rs +++ b/crates/app-iced/src/pages/layout.rs @@ -38,10 +38,14 @@ //! ## 3. 行宽约束(历史事故:M68 的全宽单卡) //! //! M68 骨架的内容区是**一张全宽卡**:1180 窗宽 − 88 rail − 2×24 留白 = **712px**。 -//! 那张卡里的正文是 `BodySmall` 12px,**实测步进 5.19px/字符 → 712px 装下了 137 字符** -//! (早期口径拿 14px 正文的步进换算,比实际渲染的字号少算了 16%,已按实测订正)。 -//! 视觉复审的判词因此是「**不能把全宽单卡当页面模板**,官方桌面口径是 -//! supporting-pane / list-detail」。 +//! 那张卡里的正文是 `BodySmall` 12px:步进 = 14px 实测值 6.0526 × 12/14 = **5.19px/字符**, +//! 所以 712px **实测装了 137 字符**。视觉复审的判词因此是「**不能把全宽单卡当页面模板**, +//! 官方桌面口径是 supporting-pane / list-detail」。 +//! +//! > **订正记录**:早期文档把同一段事故按 `0.5em` 估算的「14px 正文步进」换算,既高估了步进、 +//! > 也对错了字号(M68 那张卡实际渲染的是 12px 辅助字号),两条叠加把事故说轻了 16%。 +//! > 现在事故描述一律用**实测步进 × 实际字号**,不再用估算值——这也是 +//! > `line_length_is_capped_at_72_characters` 里那条「旧口径 504px 能放 83 字符」护栏的由来。 //! //! 所以正文列宽有**硬上限** [`measure_cap_px`]:按**实测**的 `BodyMedium` 14px 步进 //! 6.05px/字符(= 0.4323em)算出 **72 字符 = 435px**,由 [`content_column_width`] 与 diff --git a/crates/app-iced/src/pages/mod.rs b/crates/app-iced/src/pages/mod.rs index e3ecb1a..a5c3c52 100644 --- a/crates/app-iced/src/pages/mod.rs +++ b/crates/app-iced/src/pages/mod.rs @@ -7,7 +7,8 @@ //! //! M68 的骨架内容区是**一张全宽卡**。视觉复审的结论(用户认可): //! -//! > **不能把「全宽单卡」当页面模板** —— 正文单行 712px ≈ **118 字符**,远超舒适行宽; +//! > **不能把「全宽单卡」当页面模板** —— 正文单行 **712px**,那张卡里的 `BodySmall` 12px 文本 +//! > **实测装了 137 字符**(口径见 [`layout`] §3),远超舒适行宽; //! > 官方桌面口径是 **supporting-pane / list-detail**。 //! //! 所以这里先立三条规矩,页面照着用: