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
26 changes: 26 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 @@ -89,6 +89,32 @@

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


## 原版 1049 可观察语义(三组实验汇总)

把本页三组独立实验合并成一份可直接引用的语义描述:

| 维度 | 进入 `1049h` | 备用屏内 | 退出 `1049l` | 证据 |
|---|---|---|---|---|
| 当前前景/背景 | **保留**进入时刻属性 | 可任意改(36/45/32 等) | **恢复**进入时刻属性,备用屏改动不泄漏 | 组 1/2/3 色块 |
| 光标位置 | **保留**(不归零) | 可移动 | **恢复**进入时刻位置 | 色块定位:红块在 (474,340)..(513,357)(第 8 行),退出后绿块同位置 |
| 默认调色板 | #1C1C1C 背景 / #E3E3DD 前景 | 不变 | 不变 | 四阶段色块 |
| 调色板项 | 41=#C4265E、42=#86B42B、44=#3465A4、45=#8C6BC8 | 同 | 同 | 色块采样 |

与自研核心的对照(`experiments/core/alternate_mode_test.cpp`):

| 行为 | 原版观察 | 自研核心 | 是否一致 |
|---|---|---|---|
| 退出恢复主屏文字/光标/颜色 | 恢复 | 恢复(第 30–35 行) | 一致 |
| 进入时是否归零光标 | **不归零** | 归零(第 25–27 行) | **不一致** |
| 进入时是否重置颜色为默认 | **不重置** | 重置(第 25–27 行) | **不一致** |

差异按 ADR-0006 需要用户确认后再改实现,本页只记录证据,不声称已对齐。

**采集身份**:光标实验三帧裁切 SHA-16 分别为 `e6f323395707b2bb`(进入前)、`242d869ae57799fc`(1049h 后)、`70f9f3683d0323c4`(1049l 后),阶段推进可验证。

**列位置局限**:色块 x=474 与设定列号不吻合,疑似 42 列终端下参考网格换行;行结论不受影响,列位置需另做一次宽终端实验。

## 解释与边界

- 在这套固定配置里,`1049` 的进入/重复进入/退出**不改变**默认前景/背景,也不改变所测的三个调色板颜色;备用屏重进渲染与首次进入一致。
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -117,5 +117,44 @@
}
],
"attribution_limit": "pipeline-level observation; layer attribution unknown"
},
"cursor_save_restore": {
"protocol": "10-row reference grid, cursor moved to row 9 column 10, red block after 1049h and green block after 1049l, located by exact palette colours",
"frames": {
"before_entry": {
"crop_sha16": "e6f323395707b2bb"
},
"after_entry": {
"crop_sha16": "242d869ae57799fc",
"red_block_bbox": [
474,
340,
513,
357
]
},
"after_exit": {
"crop_sha16": "70f9f3683d0323c4",
"green_block_bbox": [
474,
340,
513,
357
]
}
},
"interpretation": "1049 entry keeps the cursor position and 1049l restores the entry-time position; the column is not asserted because the reference grid may wrap.",
"limitation": "column position unresolved"
},
"core_comparison": {
"core_file": "experiments/core/alternate_mode_test.cpp",
"matching": [
"exit restores primary text/cursor/colours"
],
"differing": [
"core homes the cursor on 1049 entry (lines 25-27); observed original keeps it",
"core resets writing colours to default on 1049 entry (lines 25-27); observed original keeps them"
],
"policy": "ADR-0006: important deviations need user confirmation; no code change made"
}
}
Loading