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
2 changes: 1 addition & 1 deletion docs/FEATURES.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ Qt 构建显式准备并部署[固定微软 CRT 14.51.36247.0](../third_party/ms
| 主区/底部多标签与分屏 | **限定验收**:两个区域独立选中标签,共计最多 8 个真实本地会话;主区可有一个真实左右 split,Alt+- 创建、Alt+Z 隐藏/恢复、Alt+Left/Right 切换、Alt+X 关闭,[两轮独立输出/后台/焦点/回收证据](../experiments/shell/results/2026-10-24-r2-main-split/validation.json) | 仅主区一个 split;任意嵌套、标签排序/拖放、复制会话、标签搜索/颜色未完成;分屏持久化范围见配置行 | R2 / R3 / R4 |
| 基础窗口操作 | **限定验收**:新建/切换/关闭/重命名、五条分隔线、面板显隐、底部焦点模式 | 完整会话动作/快捷键、命令面板、目标 Focus/SyncInput 行为 | R1 / R4 |
| 工作区外观 | **实现中,未验收**:当前 Qt Widgets 路线待迁移,以下为既有 Win32 原型证据;两种逻辑尺寸下部分外框/层级依据直接取证;UI 字体来自独立 OFL 来源,私有加载、实际 GDI face/em/行高与缺失资产失败有自动检查 | 不是像素等价;图标、主题/透明度、多语言及所有状态仍缺。Explorer/Filer/Outline 当前为空区域 | R2 / R3 / R4 |
| DPI 与文字缩放 | **限定验收**:每会话 50%–200%,受控 96→144→192→96;[字体/显示合同](milestones/R2-font-display.md)明确 12×26 基准网格。两台真实 96-DPI 显示器间往返两次保持窗口、rename 焦点、隐藏标签和网格,[证据](../experiments/shell/results/2026-10-24-r2-monitor-font/validation.json)明确 `distinct_dpi=false`;v2 会话恢复另覆盖 100%/150%/75% zoom。[隔离 Windows 11 环境](research/r2-win11-display-environment.md)另有两个实际 96/120-DPI 输出和独立 Win32 窗口两轮往返,仅属环境基础 | 正式 Qt 产品不同 DPI 的完整交互、实际呈现和真实 IME 跨屏仍未验收;旧恢复证据为同一 96-DPI 私有 desktop,目标字形/逐字形 fallback 未等价 | R2 |
| DPI 与文字缩放 | **限定验收**:每会话 50%–200%,受控 96→144→192→96;[字体/显示合同](milestones/R2-font-display.md)明确 12×26 基准网格。两台真实 96-DPI 显示器间往返两次保持窗口、rename 焦点、隐藏标签和网格,[证据](../experiments/shell/results/2026-10-24-r2-monitor-font/validation.json)明确 `distinct_dpi=false`;v2 会话恢复另覆盖 100%/150%/75% zoom。[隔离 Windows 11 环境](research/r2-win11-display-environment.md)另有两个实际 96/120-DPI 输出和独立 Win32 窗口两轮往返,仅属环境基础 | 正式 Qt 产品**单显示器 96/144 DPI** 的完整交互与实际呈现仍未验收;真实跨屏迁移已按[决策 4C](adr/0009-r2-scope-decisions.md)移出 R2、推迟 R4,由 [#297](https://github.com/JavaZeroo/termforge/issues/297) 跟踪。旧恢复证据为同一 96-DPI 私有 desktop,目标字形/逐字形 fallback 未等价 | R2 |
| 配置与会话持久化 | **限定验收**:有界 v2、原子替换、v1 迁移、空会话与损坏/未知版本保护;[多会话恢复](../experiments/shell/results/2026-10-25-workspace-restore-multi/validation.json)覆盖 shell 类型/目录/标题/zoom/split/窗口,[迁移回退](../experiments/shell/results/2026-10-25-workspace-recovery-guards/validation.json)及[写失败与关闭策略](../experiments/shell/results/2026-10-25-workspace-write-failure/validation.json)均有真实验证。[#61 的合法编辑 BS 前缀](../experiments/shell/results/2026-10-26-workspace-restore-bs/validation.json)与 [#72 的空记录 CR 重绘](../experiments/shell/results/2026-10-27-workspace-empty-cr/validation.json)已限定修正;后者同源码三配置共 18 次保存/恢复/钳制通过;目录/版本完成按[独立输出与新提示符合同](research/workspace-restore-transport-oracle.md)核对;只重建白名单 shell,不恢复原进程/历史;保存失败保留窗口,显式放弃保存才跳过 | 仅当前单工作区、正常窗口和白名单本地会话;偏好、分组/搜索、最大化/多窗口与文字标记恢复归后续。真实 DPI、呈现和 #38 等独立回归不因此视为通过,R2 出口未宣告完成 | R2 / R3 / R4 |
| 文本增强与辅助面板 | **未实现** | 高亮/时间戳/折叠/outline、补全与 Fish 增强、命令历史、Sender/QuickBar、Free Type Mode(输入模式,行为待取证)、vim 本地/远程键位、锁屏、Sysmon | R4 |

Expand Down
2 changes: 1 addition & 1 deletion docs/milestones/R2-local-terminal.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@ flowchart LR
| 终端模式:#27、#41 | **VT/transport/末端层**:自主 C++ 核心主/备用屏、各自滚动区域、origin/wrap、光标/样式、历史隔离及 resize 交叉符合原版合同;**原生控制台层**:CHAR_INFO 的每屏 margin 记为[已知差异](../adr/0007-bundled-microsoft-conpty.md#已知差异),依赖原生 Console API 的应用与末端不同步属已声明边界 | 历史候选 feed 正确不等于 C++ 已实现;末端不能猜测补回宿主已丢失的信息;固定 ConPTY 末端正确不等于原生 API 状态已修复 |
| resize 与真实 TUI:#29、#28 | 逻辑/物理行、宽字符、历史与淘汰有明确策略;窗口、核心和真实子进程尺寸一致;固定应用逐一完成进入、操作、resize、退出、主屏恢复;回复、输入模式和 bracketed paste 字节经独立预期验证 | 离线回放、单独 Vim 成功或默认核心通过,不能代表整个候选产品矩阵;未声明应用不计完成 |
| 复杂文字与输入:#30(参考 #39) | 在自主 C++ 和 Qt 声明配置核对原始标量、字素边界、宽度/光标、实际 glyph、复制与子进程接收,完成固定 IME 与同次八会话交叉 | #39 的 Alacritty/DWrite 限定结果不代表新核心或 Qt 已具备对应能力;未知 WindTerm 行为继续调查 |
| 真实显示:#31 | **R2 范围限定单显示器**(96/144 DPI 的渲染正确性);真实跨屏迁移**移出 R2**,推迟到 R4(决策 4C,见 [ADR-0009](../adr/0009-r2-scope-decisions.md))。单屏部分仍需按[字体/显示合同](R2-font-display.md)记录实际 DPI、焦点、IME/Find/rename、命中、隐藏会话及子进程尺寸;环境身份和重复结果可核对 | 相同 96 DPI 的两台显示器、受控消息、DIB 或实际提交时刻不能代替不同 DPI 或实际上屏证据;不得修改个人显示设置制造验收。跨屏证据缺失不构成 R2 阻塞,但也不能被表述为已验证 |
| 真实显示:#31 | **R2 范围限定单显示器**(96/144 DPI 的渲染正确性);真实跨屏迁移**移出 R2**,推迟到 R4 并由 [#297](https://github.com/JavaZeroo/termforge/issues/297) 跟踪(决策 4C,见 [ADR-0009](../adr/0009-r2-scope-decisions.md))。单屏部分仍需按[字体/显示合同](R2-font-display.md)记录实际 DPI、焦点、IME/Find/rename、命中、隐藏会话及子进程尺寸;环境身份和重复结果可核对 | 相同 96 DPI 的两台显示器、受控消息、DIB 或实际提交时刻不能代替不同 DPI 或实际上屏证据;不得修改个人显示设置制造验收。跨屏证据缺失不构成 R2 阻塞,但也不能被表述为已验证 |
| 产品架构:#34 | 按 ADR-0007/0008 已定路线,以实际工作流、原版对标及成本证据收敛核心/历史/GUI/传输接口、资源与维护边界;记录实际支持配置 | 路线已确认不等于功能、平台、长期资源或性能验收通过;重大替换、重要差异和数值门槛仍需用户确认 |
| 开发版交付:#35 | 按**决策 5C**:R2 交付范围为"本地终端基础 + 已知差异清单"(见 [ADR-0009](../adr/0009-r2-scope-decisions.md)),产物需通过干净构建、依赖/字体许可与清单审计、解压运行、shell/TUI/文字/配置升级工作流,并随附逐条列出的未实现/未验证项 | Alpha 1、源码构建成功、短驻留或某一 CI 通过,不代表 R2 日常开发包、长期稳定或 WindTerm 性能等价;已知差异清单不完整则该交付不成立 |

Expand Down