Skip to content

test(conpty): verify styled cursor restoration and retain blank foreground gap - #102

Closed
JavaZeroo wants to merge 1 commit into
research/conpty-margin-controls-r56from
research/conpty-style-controls-r56
Closed

JavaZeroo wants to merge 1 commit into
research/conpty-margin-controls-r56from
research/conpty-style-controls-r56

Conversation

@JavaZeroo

@JavaZeroo JavaZeroo commented Oct 27, 2026 •

Copy link
Copy Markdown
Owner

为 #56 增加显式 styled-cursor 对照:主屏和备用屏设置不同的 16 色属性与非零光标,退出备用屏后直接写入 M,再滚动主屏。补丁版五个原生阶段全部通过;未修补版最后阶段符合事先固定的旧区域错误。两版末端仍有滚动空白格前景色差异,完整属性判据保持失败。

原生批次固定源码 485c3e2,Windows 11 x64 build 26200,两尺寸 × baseline/patched 共四次,每格一次,无重试。全部自然退出37、EOF109、outer Job active0/total4/terminated0、无force,5/15/5秒期限保持。原175B与默认三个controls入口不变,新场景须显式指定 --styled-cursor;source实验默认OFF。

首次判据把默认空单元编码错误地写成空格/width1,离线审计后按既有trace格式改为empty/width0。保留原批次和summary,不重跑原生程序;修正只排除1731/31格的编码错误,显式前景色预期不变。剩余144/8格仅fg不同(期望1、实际-1),文字、背景、光标和current_style通过。固定Alacritty上游清行逻辑保留背景、重置前景;这不证明WindTerm行为或批准产品策略。

验证:

  • 纯判据初始7/7;默认空单元反例先失败,修正后7/7(0.069s),包含前景/背景、光标、样式、文字、宽度和主屏状态拒绝。
  • 前批12份原始controls捕获离线复查通过;原生新批次仅上述四次,完整矩阵退出1。
  • 独立探针Release编译通过;实际探针、trace、双后端及每份原件的身份保留。
  • Standards:硬规则0、实质异味0;Spec:0。两路均独立复核原件及哈希,审查tree 36b21cd20cd57e800254502fbdcc186e3c4a1727。
  • 发布后的四条常规CI均成功,均为attempt1;它们属于各自system配置,不能代替source矩阵失败或完整产品验收。

基于 Draft #100,保持Draft,不合并#50;不关闭#56/#41。WindTerm对照、其他SGR/真彩色、终端中间阶段、历史/resize/查询/API、完整产品、性能及维护仍未完成。

报告与复验;脱敏验证。

常规 CI 实际结果
PR default 40473755050 Windows CTest53/53(257.60s),Linux34/34(15.45s);ASCII/Unicode回放通过
push default 40473694804 成功,Windows CTest53/53(276.52s),Linux成功
PR candidate 40473755055 Windows/Linux均成功
push candidate 40473694770 Windows/Linux均成功

PR实际checkout c3ebdc73be6e388ab7b48eb790d3e1ae85a027dc 的tree已核对与已审查/发布tree一致。未重跑,未切换source fork产品后端,Draft状态保持。

@JavaZeroo

Copy link
Copy Markdown
Owner Author

关闭原因:本 PR 挂在已被 main 取代的 ConPTY 后端上,对 main 冲突 16 处。

其结论(docs/research/conpty-source-margin-styles.md、conpty-source-margin-controls.md)与固定验证结果已在 #261 摘取入库。

@JavaZeroo JavaZeroo closed this Oct 31, 2026
JavaZeroo added a commit that referenced this pull request Oct 31, 2026
这些分支挂在已被 main 取代的 ConPTY 后端上,整体重基不可行(merge-tree 实测 16 处冲突),但它们的结论文档与固定验证身份在 main 上缺失。

本次只新增、不修改 main 已有文件(diff 全部为 A,0 处修改):

- docs/research/ 14 份:ConPTY 源 margin 的 runtime/controls/styles、experimental backend、
  native viewport resize、resize replay cost、Vim msys input/runtime、WindTerm styled margin reference、
  workflow record checkpoint、workspace native viewport、clipboard stage observation
- experiments/conpty/results/ 40 个固定结果与 validation 身份
- experiments/shell/results/ 25 个
- research/ui/results/ 2 个

代码侧(backend_probe.cpp、margin_controls.py 等基于旧后端的实现)不摘取,旧后端已由 main 的
cmake/ConptyBackend.cmake 取代。

摘取后即可关闭 #96/#98/#100/#102/#103/#101,并在各自评论中指向这些新位置。
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant