docs(presenter): M116 r4 P3 —— settings_bridge 的「三个键」漂移对齐到四个字段
AppearanceBase 自 M116 起有四个字段(整窗 α / 标题栏三态 / 配色来源 / 窗口圆角), load_base 的文档与测试名还写着「三个键」。只改注释与测试函数名,行为零改动。
This commit is contained in:
1 parent
abc51a957b
commit
1cb36da1e2
1 file changed
+6
-5
@@ -101,12 +101,13 @@ impl SettingsBridge {
|
||||
)
|
||||
}
|
||||
|
||||
/// 外观**下层**的只读快照(D36·D37·D38):整窗 α / 标题栏三态 / 配色来源档。
|
||||
/// 外观**下层**的只读快照(D36·D37·D38 · M116):整窗 α / 标题栏三态 / 配色来源档 /
|
||||
/// 窗口圆角策略(`AppearanceBase` 的**四个**字段)。
|
||||
///
|
||||
/// 为什么不并进 [`SettingsBridge::load`] 的返回值:那个结构体(`AppearancePrefs`)是
|
||||
/// **UI 写入用**的(每个字段都会被 `persist` 回写),而这三个键**只读不写**——
|
||||
/// **UI 写入用**的(每个字段都会被 `persist` 回写),而这**四个**键**只读不写**——
|
||||
/// 落盘走 core 的 `Appearance::write`。并进去会让每个 `AppearancePrefs` 构造点都要补字段,
|
||||
/// 还会让「这三项只读」这件事在类型上消失。
|
||||
/// 还会让「这四项只读」这件事在类型上消失。
|
||||
///
|
||||
/// UI 侧(`crates/app-iced`)拿它读启动值:`app-iced` 不直接依赖 `unlucky-core`,
|
||||
/// 所以「把 core 的 `SettingDocument` 翻译成只读快照」这一步必须留在本 crate。
|
||||
@@ -311,13 +312,13 @@ mod tests {
|
||||
assert!(!appearance.bg_active(), "路径空也不算生效");
|
||||
}
|
||||
|
||||
/// `load_base()` 是「重启后读回整窗 α / 配色来源」的唯一通道(M93)。
|
||||
/// `load_base()` 是「重启后读回整窗 α / 配色来源 / 窗口圆角」的唯一通道(M93 · M116)。
|
||||
///
|
||||
/// 抓得住:①文件里写着 `window_opacity=0.6` / `palette_source=wallpaper` 时能被**新开的**
|
||||
/// bridge 读到(= 重启语义);②缺键时回出厂(1.0 / preset),而不是 `0.0` 或随机档。
|
||||
/// 抓不住:UI 侧是否真的用它来下发窗口 α(那由 `app-iced` 的日志与单测证明)。
|
||||
#[test]
|
||||
fn load_base_reads_the_three_read_only_keys_and_defaults_when_missing() {
|
||||
fn load_base_reads_the_four_read_only_keys_and_defaults_when_missing() {
|
||||
let path = temp_config("base");
|
||||
// 文件由「外部写者」(CLI / AI / 设置页的 SetSetting)产生,这里直接落 JSON。
|
||||
std::fs::write(
|
||||
|
||||
Reference in new issue
Block a user