Skip to content

Commit a8d6160

Browse files
committed
docs: refresh R2 remaining work and confirmed delivery scope
1 parent 3effd6d commit a8d6160

10 files changed

Lines changed: 169 additions & 150 deletions

File tree

‎README.md‎

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
An independent, fully open-source terminal project targeting WindTerm 2.7.0 feature, behavior, UI and performance parity. Windows 11 x64 first; Windows, Linux and macOS ultimately. Not affiliated with WindTerm or KingToolbox.
66

7-
当前是有限 Windows 本地终端原型,**R1 基础文字交互已按限定合同验收,正在推进 R2 可靠本地终端与开发版**。已有 Win32 原型、有限多会话与配置恢复,以及独立 Alacritty 参考实验。正式路线已确定为自主 C++ 核心、当前采用 Qt Widgets GUI 与随包固定微软 ConPTY;[最小单会话整合](https://github.com/JavaZeroo/termforge/issues/115)和[固定依赖专用 CI](https://github.com/JavaZeroo/termforge/issues/117)已合入 main,核心能力缺口、Qt 工作区迁移、完整 TUI/输入、真实不同 DPI、性能预算和开发包仍需闭合。现状见[能力矩阵](docs/FEATURES.md),接续顺序见 [R2 交付路线与验收](docs/milestones/R2-local-terminal.md)。SSH/SFTP 属于 R3,完整 UI 与 WindTerm 性能等价均未验收。`TermForge` 是暂名。
7+
当前是有限 Windows 本地终端原型,**R1 基础文字交互已按限定合同验收,正在推进 R2 可靠本地终端与开发版**。已有 Win32 原型、有限多会话与配置恢复,以及独立 Alacritty 参考实验。正式路线已确定为自主 C++ 核心、当前采用 Qt Widgets GUI 与随包固定微软 ConPTY;[最小单会话整合](https://github.com/JavaZeroo/termforge/issues/115)和[固定依赖专用 CI](https://github.com/JavaZeroo/termforge/issues/117)已合入 main,核心模式、resize/历史、Qt 文字与输入、可靠性和最终包仍需闭合。按 [ADR-0009](docs/adr/0009-r2-scope-decisions.md),R2 交付为“本地终端基础+已知差异清单”,保留单屏 96/144 DPI,跨屏转 R4;不宣称日常可用或与 WindTerm 等价。现状见[能力矩阵](docs/FEATURES.md),接续顺序见 [R2 交付路线与验收](docs/milestones/R2-local-terminal.md)。SSH/SFTP 属于 R3,完整 UI 与 WindTerm 性能等价均未验收。`TermForge` 是暂名。
88

99
方向已经用户确认,依据见 [ADR-0006](docs/adr/0006-confirmed-project-direction.md):原版行为优先,内部结构不强求一致,但认真研究、借鉴原版;用户已确认[自主 C++ 核心与当前 Qt Widgets GUI 路线](docs/adr/0008-cpp-core-qt-widgets.md),Windows 本地 Shell 后端采用[随包固定微软 ConPTY](docs/adr/0007-bundled-microsoft-conpty.md)。Alacritty 保留为参考,路线确认与实现验收分开。关键性能指标分别验收,具体允许波动范围后续与用户明确。
1010

@@ -22,7 +22,7 @@ An independent, fully open-source terminal project targeting WindTerm 2.7.0 feat
2222

2323
## 项目地图
2424

25-
新的[自主 C++ / Qt 会话入口](src/qt/README.md)以显式构建开关提供默认 80×24、随可用区域变化的 cmd 标签,可新增、切换、独立关闭并在应用退出前核对会话回收;[基础动态尺寸验证](experiments/shell/results/2026-10-29-qt-resize/README.md)分离窗口、核心、transport 完成和真实 child 尺寸,不继承旧配置能力。当前默认入口和上面的操作说明仍属于既有 Win32 原型。分屏、其他 shell、工作区恢复、完整文字交互及完整 resize/reflow 尚待迁移,不能据此声明完整开发版。
25+
新的[自主 C++ / Qt 会话入口](src/qt/README.md)以显式构建开关提供默认 80×24、随可用区域变化的 cmd 标签,可新增、切换、独立关闭并在应用退出前核对会话回收;[基础动态尺寸验证](experiments/shell/results/2026-10-29-qt-resize/README.md)分离窗口、核心、transport 完成和真实 child 尺寸,不继承旧配置能力。当前默认入口和上面的操作说明仍属于既有 Win32 原型。已接入 IME 组合/提交/取消并有固定微软拼音证据;分屏、其他 shell、工作区恢复、历史/选择/Find、完整字素与 resize/reflow 尚有缺口。它们须在正式产品交付声明中逐项列明,旧 Win32 能力不自动计入 Qt。
2626

2727
| 要了解什么 | 唯一入口 |
2828
|---|---|

‎docs/FEATURES.md‎

Lines changed: 14 additions & 8 deletions
Large diffs are not rendered by default.

‎docs/PLAN.md‎

Lines changed: 12 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,9 +18,9 @@
1818

1919
## 当前站位与下一次交付
2020

21-
**R1 基础文字交互已按限定合同验收,当前推进 R2,尚未达到开发版出口。** 下一次产品交付是在明确支持的 Windows 环境中可靠运行本地 shell 和固定 TUI、恢复工作配置,并提供可复建的开发包。当前各构建配置已做什么见 [FEATURES](FEATURES.md);R2 的接续顺序、并行工作和出口检查只在 [R2 交付路线与验收](milestones/R2-local-terminal.md)维护,实时进度由 [GitHub 执行项](TRACKING.md)承接。
21+
**R1 基础文字交互已按限定合同验收,当前推进 R2,尚未达到开发包出口。** 按 [ADR-0009](adr/0009-r2-scope-decisions.md),下一次交付为自主 C++ / Qt / 固定 ConPTY 的“本地终端基础 + 已知差异清单”,不宣称日常可用或与 WindTerm 对等。单屏 96/144 DPI 保留在 R2;跨屏迁移转入 R4。当前能力见 [FEATURES](FEATURES.md),详细合同见 [R2 交付路线与验收](milestones/R2-local-terminal.md),实时进度由 [#7](https://github.com/JavaZeroo/termforge/issues/7)承接。
2222

23-
[平台范围](../research/windterm-2.7.0-platform-scope.md)与 [ADR-0003](adr/0003-core-reference-and-reuse.md)保存已有调查和核心比较。Alacritty 的代码与证据保留为参考,不继续作为正式产品核心扩展;其字素、TUI 与历史结果不能转记到自主 C++ 核心。#34 接续已确认路线的接口、迁移、支持配置与证据收敛,重要原版差异和数值性能容差仍须用户确认;原型或 Alpha 均不代表可日常替代 WindTerm。
23+
[平台范围](../research/windterm-2.7.0-platform-scope.md)与 [ADR-0003](adr/0003-core-reference-and-reuse.md)保存已有调查和核心比较。Alacritty 的代码与证据保留为参考,不继续作为正式产品核心扩展;其字素、TUI 与历史结果不能转记到自主 C++ 核心。[#34 的架构收敛说明](https://github.com/JavaZeroo/termforge/issues/34#issuecomment-6554932972)已按用户决定收口,未完成的功能和产物验证分别由 #28/#29/#30/#35 承担。重要原版差异和数值性能容差仍须用户确认;原型或 Alpha 均不代表可日常替代 WindTerm。
2424

2525
“完整复刻”同时包含功能、行为、UI、性能和交付,不能用单一完成比例概括。全量目标台账必须提前建立;性能测量和定向逆向从现在持续进行,远期路标表示验收位置,而不是推迟开始的日期。
2626

@@ -33,7 +33,7 @@
3333
| R5 完整 2.7.0 复刻验收 | 先在 Windows 11 x64 完整替代,再扩展 Linux/macOS | Windows 和全平台分别验收全功能、行为、UI、性能及交付;Windows 通过不关闭全平台总项 |
3434
| R4 高级工作流、多协议与性能收敛 | 在 Windows 完成高级文本、自动化、多协议和完整工作区 | Windows 高级功能整合及性能收敛;跨平台可行性调查可提前推进 |
3535
| R3 Windows 远程日常版 | 可靠使用 SSH、文件传输和多会话完成远程工作 | 认证与身份、传输完整性、异常恢复、会话管理及持续运行 |
36-
| R2 可靠本地终端与开发版 | 日常使用本地 shell 和常见 TUI,重启后恢复工作配置 | 终端兼容、复杂文字、实际 DPI、持久化、真实应用与可分发构建 |
36+
| R2 可靠本地终端与开发版 | 可复建的本地终端基础开发包,随附逐项已知差异 | 保留核心/TUI、resize/历史、文字输入任务;声明能力在最终包复验,单屏 96/144 DPI;不宣称日常可用或性能等价 |
3737
| R1 基础文字交互 | 浏览历史、选择复制、粘贴、搜索,并完成基础中文输入 | 文字与输入正确,多个会话隔离,持续输出时仍可操作 |
3838

3939
性能与原版研究贯穿所有路标,终端基础能力及性能是当前优先工作。R3 协议库、受控环境及 Linux/macOS 可行性调查可以提前并行;完整 Linux/macOS 客户端不作为 Windows 完整版本的前置,仍是最终必需交付。
@@ -78,6 +78,7 @@
7878
- **文件与远程工作流。** 扩展 SCP、本地/远程文件操作、传输队列和关联操作;明确完整性、覆盖、冲突、取消和重试语义。WSL 文件与系统信息联动按参考版本实际行为验收。
7979
- **高级文本与自动化。** 补齐高亮、折叠、标记/大纲、补全、命令历史、命令面板、Sender、QuickBar、Free Type Mode(用户可见的自由输入模式,具体行为待取证)、同步输入、自动执行及其他已确认的工作流;后台分析必须有预算并可取消。
8080
- **完整工作区。** 完成剩余面板、对话框、模式、主题/颜色、快捷键上下文、多语言、日志及会话操作;分清参考版本支持、参考版本已知限制和本项目额外能力。
81+
- **跨显示器迁移。** [#297](https://github.com/JavaZeroo/termforge/issues/297)承接从 R2 移出的真实异 DPI 跨屏、焦点/IME/Find 命中与隐藏会话迁移;单屏结果不替代这一合同。
8182
- **tmux 深度整合。** 按 2.7.0 的会话、窗口、面板与操作合同实现整合,而不是把“能在终端里运行 tmux”作为完成。参考版本已知不支持的组合不自动升级为本路标必须实现的增强。
8283
- **跨平台准备。** 提前调查 Linux/macOS 的 PTY、输入法、字体、窗口、剪贴板和打包适配,识别影响长期选型的障碍。完整客户端整合与验收在 R5 的 Windows 出口之后完成,不以放弃跨平台换取当前选型便利。
8384
- **性能收敛。** 对大历史、后台搜索、多会话、慢连接、大量小文件及持续输出识别瓶颈,再比较数据布局、缓存、压缩、批处理和调度方案。采用能保持正确性与维护成本的方案,不以恢复 WindTerm 的私有内部结构为前提。
@@ -104,7 +105,7 @@
104105

105106
## R2:可靠本地终端、持久化与可发布开发版
106107

107-
**用户结果:** 使用 cmd、PowerShell、WSL 等明确支持的本地入口,运行常见分页器和编辑器;中文及复杂字符可用,窗口和工作配置能够稳定恢复。
108+
**用户结果:** 从公开源码复建或解压开发包,使用清单声明的本地终端能力,能查明每项已实现、未实现、未验证及经确认的差异。按 [ADR-0009 决策 5](adr/0009-r2-scope-decisions.md),不以“全部历史 R2 issue 关闭”或“日常可替代 WindTerm”作为该阶段出口;也不因附上差异清单就豁免仍保留的实现任务。用户明确保留 #29 的 resize/逻辑行与 #30 的 Unicode/IME,#27/#28 的核心及真实 TUI 合同继续执行。
108109

109110
| 工作包 | 具体事项 | 完成条件 |
110111
|---|---|---|
@@ -113,15 +114,15 @@
113114
| TUI 与终端回复 | 按固定真实应用补查询回复、插删、输入/输出模式和必要样式;定义模式与 UI 选择/粘贴的关系 | 应用可进入、操作、退出并恢复主屏;维护明确应用/协议支持矩阵 |
114115
| resize 与历史语义 | 核对逻辑行、软硬换行、裁剪/重排、宽字符边界及历史关系;处理与备用屏/滚动区交叉 | 当前物理行 resize 的限制被明确保留或由经验证的新合同取代;状态与真实子进程尺寸一致 |
115116
| 复杂文字与输入 | 在 R1 基础 IME 上补组合/取消边界、字素/复杂 emoji、字体 fallback、键盘模式和选择复制语义 | 文字内容、光标、单元格及选择一致;输入法状态不因刷新/切换丢失;已知策略差异可复现 |
116-
| 字体与真实 DPI | 明确终端字体来源、网格度量、缺字处理;完成真实显示设置和跨显示器切换 | 实际环境中布局、焦点、编辑框、输入命中和隐藏标签正确;受控消息测试不冒充跨屏验收 |
117-
| 本地会话与工作区 | shell 类型、目录/参数、启动失败、退出;真正分屏、标签操作和焦点;核对参考动作上下文 | 固定本地 shell 与多会话真实任务通过;布局存在不等于面板业务完成 |
118-
| 持久化 | 会话配置、工作区布局、标题/比例等状态的明确保存范围;原子替换、版本迁移、损坏回退 | 新进程恢复与异常配置场景通过;不会把当前仅保存布局说成完整会话恢复 |
119-
| 已定路线的架构与迁移 | 按 ADR-0007/0008 整合自主 C++、Qt Widgets 与固定微软 ConPTY;明确历史/快照、传输/呈现、依赖和维护边界 | #34 保留实现与证据收敛责任;重大替换或重要行为差异另经用户确认,性能容差后续明确 |
120-
| 开发版构建与交付 | 清理实验与产品入口、可分发构建、字体/依赖来源、使用说明、诊断与长时回归 | 干净机器可以构建和使用;功能声明对应可下载产物与真实测试;重复开关会话资源稳定 |
117+
| 字体与单屏 DPI | 明确正式 Qt 路线的字体来源、网格、缺字处理;验收单显示器 96/144 DPI | #35 收口正式产品渲染与声明交互,旧探针不代替产品流程;真实跨屏由 #297 在 R4 验收 |
118+
| 本地会话与工作区 | 在最终包声明 shell 类型、目录/参数、标签/分屏、焦点及退出的实际支持范围 | 声明能力在同一产品配置复验;旧 Win32 多会话结果不转记为 Qt,未迁移能力写入差异清单 |
119+
| 持久化 | 明确最终包的保存范围、原子替换、版本迁移和损坏回退 | 声明恢复的配置须有新进程与异常场景证据;未迁移部分如实列出,不称完整会话恢复 |
120+
| 已定路线的架构与迁移 | ADR-0007/0008 的自主 C++、Qt Widgets 与固定微软 ConPTY 路线已定;#34/#47 的收口不代替产品验收 | #35 接续产品默认入口切换后的重建和复验;重大替换、重要差异和性能数值另经用户确认 |
121+
| 开发版构建与交付 | 可分发构建、字体/依赖来源、使用说明、诊断和声明范围内的可靠性 | 干净环境构建与解压运行;产物身份、能力声明、差异清单一致;按预先明确的资源与持续运行合同验证,不推断长期稳定 |
121122

122-
**前置与架构门槛:** [平台切片 #23](https://github.com/JavaZeroo/termforge/issues/23)和[核心比较 #20](https://github.com/JavaZeroo/termforge/issues/20)的限定证据保留为参考;[全量目标台账 #19](https://github.com/JavaZeroo/termforge/issues/19)继续并行调查。#34 按已确认的 [ADR-0007](adr/0007-bundled-microsoft-conpty.md) / [ADR-0008](adr/0008-cpp-core-qt-widgets.md)收敛接口、迁移与证据,不重复申请相同路线;功能验收、重要差异及性能数值门槛仍分别闭合。
123+
**前置与架构边界:** [平台切片 #23](https://github.com/JavaZeroo/termforge/issues/23)和[核心比较 #20](https://github.com/JavaZeroo/termforge/issues/20)的限定证据保留为参考;[全量目标台账 #19](https://github.com/JavaZeroo/termforge/issues/19)继续并行调查。#34/#47 已按用户决定分别以架构说明和路线整合收口,不重新作为全功能硬前置。R2 性能采用回归型治理,可靠基线、测量方法和数值容差仍需明确;当前不能启用未经确认的数值门禁,也不等待 WindTerm 性能等价才交付基础包。
123124

124-
**出口条件:** 固定本地真实任务、TUI、文字输入、配置恢复、真实 DPI 和干净环境发布全部通过;实际支持与已知差异进入功能矩阵。详细验收、证据边界与近期执行顺序见 [R2 出口检查表](milestones/R2-local-terminal.md)。仅普通命令可运行不等同于可靠本地终端。
125+
**出口条件:** #27/#28/#29/#30 的保留合同与 #38 的未决可靠性项有明确结论;#35 在最终 C++/Qt/固定 ConPTY 产物上复验声明的本地任务、文字输入、配置范围和单屏显示,完成干净构建/解压使用、来源许可及已知差异清单。用户已接受的范围调整不要求重新验收被移出的能力;新的豁免仍需确认。详细验收见 [R2 出口检查表](milestones/R2-local-terminal.md)。
125126

126127
## R1:基础文字交互闭环
127128

0 commit comments

Comments
 (0)