From 5ce6d8567bf31e09065642c29a23eb9529fff787 Mon Sep 17 00:00:00 2001 From: AskaEth Date: Thu, 12 Nov 2026 23:09:08 +0800 Subject: [PATCH] =?UTF-8?q?docs(app-iced):=20=E6=AE=8B=E4=BD=99=E6=B8=85?= =?UTF-8?q?=E5=8D=95=E6=94=B9=E6=88=90=E3=80=8C=E6=AE=8B=E7=95=99=E5=BF=AB?= =?UTF-8?q?=E7=85=A7=EF=BC=8C=E4=B8=8D=E6=98=AF=E5=A5=91=E7=BA=A6=E3=80=8D?= =?UTF-8?q?=EF=BC=88M285=20r3=20p2-1=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit r3 复审的判据改成「不假」而不是「穷尽」,按它给的结构重写这一段: - 删掉「**所有** components::selection 的 chip/switch 站点」(这个词两头都不准:字面上吞掉了 已接的 general/language.rs + general/theme.rs 那 6 枚,又把另一个页面 pages/content 的 chip 算了进来); - 第 3 条改成「还剩没搭线的那几处(已知:…;这一串会漂,接线时请更新)」,并补 java/view.rs 运行时的「设为默认」chip(action_chip 在非默认行返回可点的 Chip::filter, runtime_row 没有 forced 形参);同时明写 language/theme 那 6 枚已接、别算进残余; - 新增第 5 条:ai/view.rs 的 base_url / model / api_key 三只 Field(此前四处都不落); - 末尾加「这份清单是残留快照,不是契约:接上一处就划掉一处,判据只有『有没有拿到 forced』」。 顺带订正 r3 的两条 p3(同一段、纯注释): - 主题 chip 枚数 2 → 3(general/theme.rs 的 THEME_MODES: [ThemeMode; 3]); - 第 4 条去掉「下载按钮」:java/download_view.rs 里一个 Button 都没有(那两处是 chip,已在第 3 条)。 第 1 条(Downloads 组 + e283c585… 三态 md5)与「已经消费的」「没搭线≠组件库缺能力」两句一字未动。 纯 //! 注释,零代码行。harness.rs 347 → 356 行。 --- crates/app-iced/src/pages/harness.rs | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/crates/app-iced/src/pages/harness.rs b/crates/app-iced/src/pages/harness.rs index 03e2ed0..817ab19 100644 --- a/crates/app-iced/src/pages/harness.rs +++ b/crates/app-iced/src/pages/harness.rs @@ -44,22 +44,31 @@ //! **forced 能到哪儿(M285 订正)**:`--force-state` 只改**画出来的**态,不改状态机。它经 //! `pages::Model.forced` → `settings::view(.., forced)` → `Group.body` 递到各控件。 //! -//! **已经消费的**:外观区 11 处 `choice`、语言 3 枚 / 主题 2 枚 chip、日志 2 颗 `action_button` +//! **已经消费的**:外观区 11 处 `choice`、语言 3 枚 / 主题 3 枚 chip、日志 2 颗 `action_button` //! ——这几类(`choice` / chip / `action_button`)一律走 `settings::resolve_state` 这个唯一 resolve 点; //! 另有 `components::buttons::Button` 的 7 处 `.state(..)` 走 `settings::forced_button` //! (update 3 / ai 2 / java 2)。 //! -//! **仍然不消费的(残余清单——**别**把它们当成「已接」)**: +//! **仍然不消费的(残留快照——**别**把它们当成「已接」)**: //! //! 1. **Downloads 组整组**:`settings/download.rs` 的 `body` 形参就是 `_forced`(接住不用),组里的 //! `switch` / `chip` / 两颗 `Button::new` 都不看 forced。实测 `--screen=download` 加 //! `--force-state=rest|hover|pressed` **三张图 md5 全等**(`e283c585fc06a0dd08efaf5596c9aa6f`); //! 2. 外观区的**滑块 / 文本框 / 8 颗预设色块**(`ACCENT_PRESETS: [&str; 8]`;`accent::swatch` 是 //! 本地助手,没有 forced 形参,描边闭包只看 `button::Status`); -//! 3. 所有 `components::selection` 的 `chip` / `switch` 站点:update 的自动检查 filter chip、 -//! ai 的 provider chip / reveal chip / 开关、download 的两处、java 的 `prefs_view` 与 -//! `download_view`; -//! 4. java 的字段 / 预设 / 下载按钮(`java/fields.rs`、`java/prefs_view.rs`、`java/download_view.rs`)。 +//! 3. `components::selection` 的 `chip` / `switch` 站点里**还没搭线的那几处**(已知:update 的自动 +//! 检查 filter chip、ai 的 provider chip / reveal chip / 开关、download 的 switch 与 chip、java 的 +//! `prefs_view` 两对上下移 chip 与 `download_view` 的三处 chip、以及 **`java/view.rs` 运行时的 +//! 「设为默认」chip**——`action_chip` 在非默认行返回可点的 `Chip::filter`,`runtime_row` 没有 +//! forced 形参。这一串会漂,接线时请更新)。**同源 chip 里 `general/language.rs` 与 +//! `general/theme.rs` 那 6 枚是已接的**(见上一段),别算进这里; +//! 4. java 的字段 / 预设按钮(`java/fields.rs`、`java/prefs_view.rs`)——`java/download_view.rs` 里 +//! 一个 `Button` 都没有,它的下载控件是 chip,已在第 3 条; +//! 5. **其它组的文本框**:`ai/view.rs` 的 base_url / model / api_key 三只 `Field`(java 的两样在第 4 +//! 条、download 的整组在第 1 条)。`Field` 本来就有 `.state(..)`,这里是没搭线。 +//! +//! 这份清单是**残留快照,不是契约**:接上任何一处就把它从清单里划掉,别让它变成「文档说没接所以 +//! 不用接」;也别把它当穷举——判据只有一条:**这个控件有没有拿到 `forced`**。 //! //! ⚠️ **别把「没搭线」说成「组件库缺能力」**:`Slider::state` / `Field::state` / `Chip::state` / //! `Switch::state` 全都存在且**在被消费**(它们本来就是 gallery 状态矩阵用的「强制视觉态」)。