## 用户结果 为已确认的自主C++终端核心补齐可独立验证的双缓冲存储基础,后续按原版合同接入1049等模式。现有Parser::screen对象及默认行为保持兼容,避免终端模式、历史与选区状态互相污染。 ## 前置与范围 #115及原有Screen/TextDocument/Selection/Search/HistoryViewport公共接口已具备,原版#118已证明主屏文本/光标需要往返保存。该工程基础不等待#129颜色取证:只做状态拥有、激活和句柄失效,不接线任何private CSI,不选择未知原版样式、清空或历史浏览策略,也不宣称#27行为对比通过。 ## 工程验收(不是原版语义声明) - [x] Screen保留稳定对象地址和现有主屏公共接口,私有保存另一缓冲的文字、cursor/style/wrap/attachment及历史状态;切换以容器move/swap移交所有权,不复制整份保留历史,行ID分配器独立且全局单调。 - [x] 两缓冲状态互不覆盖,主屏原容量不变、备用存储有明确界限;物理resize复用现有策略并同时维护隐藏缓冲的尺寸,失败不产生半更新,不把该工程策略当原版reflow验收。 - [x] 缓冲世代防止主屏返回后旧TextPosition/selection/search/viewport句柄复活;普通未切换场景与现有JSON/ABI保持兼容,Parser/transport/Qt不改。 - [x] 在既有公开Screen、TextDocument/Selection/Search/HistoryViewport边界逐条红→绿验证值/稳定ID/版本/状态恢复、宽字/软硬行与resize交叉、历史界限及跨缓冲失效;已有核心回归通过,两平台CI与双轴审查后合入。 父项#27。协议接线、原版样式/重复进入清空/原生运输/完整模式仍由#27及相关调查任务验收;本项完成不能关闭R2或宣称备用屏已在产品中支持。 ## 限定完成与主线身份 [PR #134](https://github.com/JavaZeroo/termforge/pull/134)已合入 main `4f34146ab81f5b156537b080df2156f484793cc4`,运行代码 `63589fa21b68c3029501772b7bb415e66aa99e97`与后续仅文档 head `8350945f007d507069975c5f3342dd369c9184de`均已核对可达。[固定证据](https://github.com/JavaZeroo/termforge/blob/4f34146ab81f5b156537b080df2156f484793cc4/experiments/core/results/2026-10-29-buffer-state-r2/README.md):VS2022 x64 Release、Qt/candidate OFF,完整构建 exit0、CTest50/50/exit0,完整 LastTest 的12条内部skip逐条保留。最终head六条PR/push default、Qt、reference CI各自首次success,Spec0、Standards0硬违规,字段重复已简化并复核。 本项仅完成存储、稳定ID、双帧resize事务和公共文档世代;**没有接入CSI,不验收原版样式策略、产品备用屏、Qt完整工作流或#27/R2**。不同配置与历史失败仍独立,数值性能预算未确认。
Activity