Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions research/ui/results/2026-10-29-session-1049-palette/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,23 @@

**归因边界**:仍是 conhost + ConPTY + WindTerm 整条管线的可观察渲染,无法判定哪一层执行保存/恢复;与 #126 要求的应用内采集不同。


## 附加观察三:三组交叉验证"进入保存 / 退出恢复"

把两组观察再补一组反向用例,形成三组交叉验证:

| 组 | 进入时的属性 | 备用屏内的动作 | 退出后(不重设)的当前属性 | 结论 |
|---|---|---|---|---|
| 1 | 默认(脚本先 reset) | 设为 `32;45` | 默认 `#1C1C1C/#E3E3DD` | 备用屏改动**不泄漏**,恢复进入值 |
| 2 | `31;44`(进入前设置) | 不变 | `#3465A4/#C4265E`(=31;44) | 恢复进入值 |
| 3 | `32;45`(进入前设置) | reset 成默认 | `#8C6BC8/#86B42B`(=32;45) | 恢复进入值,备用屏的 reset 不带走主屏样式 |

第 3 组的三阶段像素:进入前 `#8C6BC8/#86B42B` → 备用屏内 reset 后 `#1C1C1C/#E3E3DD` → 退出后回到 `#8C6BC8/#86B42B`。

三组一致支持同一模型:**`1049h` 保存进入时刻的属性,`1049l` 恢复它**;备用屏内的任何 SGR 变更(设置或 reset)都不会影响主屏退出后的样式。

**归因边界**:conhost + ConPTY + WindTerm 整条管线的可观察渲染;不判定哪一层执行保存/恢复,也不等同于 #126 要求的应用内采集。

## 解释与边界

- 在这套固定配置里,`1049` 的进入/重复进入/退出**不改变**默认前景/背景,也不改变所测的三个调色板颜色;备用屏重进渲染与首次进入一致。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -96,5 +96,26 @@
},
"interpretation": "1049h saves the attribute state at entry, alternate-screen changes do not leak back, and 1049l restores the entry-time attributes.",
"attribution_limit": "pipeline-level observation; layer attribution unknown"
},
"attribute_save_restore": {
"model": "1049h saves the attribute state at entry; 1049l restores it; alternate-screen changes never leak to the main screen",
"cases": [
{
"entry": "default (reset by script)",
"alternate": "set 32;45",
"exit": "default 1C1C1C/E3E3DD"
},
{
"entry": "31;44",
"alternate": "unchanged",
"exit": "31;44 (#3465A4/#C4265E)"
},
{
"entry": "32;45",
"alternate": "reset to default",
"exit": "32;45 (#8C6BC8/#86B42B)"
}
],
"attribution_limit": "pipeline-level observation; layer attribution unknown"
}
}
Loading