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
12 changes: 12 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@ add_executable(resize_combined_test experiments/core/resize_combined_test.cpp)
target_link_libraries(resize_combined_test PRIVATE termforge_core)
termforge_warnings(resize_combined_test)

add_executable(resize_dual_axis_test experiments/core/resize_dual_axis_test.cpp)
target_link_libraries(resize_dual_axis_test PRIVATE termforge_core)
termforge_warnings(resize_dual_axis_test)

add_executable(resize_preserving_transaction_test experiments/core/resize_preserving_transaction_test.cpp)
target_link_libraries(resize_preserving_transaction_test PRIVATE termforge_core)
termforge_warnings(resize_preserving_transaction_test)
Expand Down Expand Up @@ -451,6 +455,8 @@ add_test(NAME resize_height_measured_core COMMAND resize_height_measured_test)
set_tests_properties(resize_height_measured_core PROPERTIES TIMEOUT 10)
add_test(NAME resize_combined_core COMMAND resize_combined_test)
set_tests_properties(resize_combined_core PROPERTIES TIMEOUT 10)
add_test(NAME resize_dual_axis_core COMMAND resize_dual_axis_test)
set_tests_properties(resize_dual_axis_core PROPERTIES TIMEOUT 10)
add_test(NAME resize_preserving_transaction_core COMMAND resize_preserving_transaction_test)
set_tests_properties(resize_preserving_transaction_core PROPERTIES TIMEOUT 60)
add_test(NAME retained_resize_unicode_core COMMAND resize_unicode_test)
Expand Down Expand Up @@ -540,6 +546,8 @@ add_test(NAME edit_csi_core COMMAND edit_csi_test)
termforge_add_python_test(windterm_resize_height_measured_optimized -O -m unittest research.ui.test_resize_height_measured_reference research.ui.test_export_resize_height_measured_reference -v)
termforge_add_python_test(windterm_resize_combined_reference -m unittest research.ui.test_resize_combined_reference research.ui.test_export_resize_combined_reference -v)
termforge_add_python_test(windterm_resize_combined_optimized -O -m unittest research.ui.test_resize_combined_reference research.ui.test_export_resize_combined_reference -v)
termforge_add_python_test(windterm_resize_dual_axis_reference -m unittest research.ui.test_resize_dual_axis_reference research.ui.test_export_resize_dual_axis_reference -v)
termforge_add_python_test(windterm_resize_dual_axis_optimized -O -m unittest research.ui.test_resize_dual_axis_reference research.ui.test_export_resize_dual_axis_reference -v)
termforge_add_python_test(windterm_resize_hidden_height_reference -m unittest research.ui.test_resize_hidden_height_reference research.ui.test_export_resize_hidden_height_reference research.ui.test_audit_resize_hidden_height_tail -v)
termforge_add_python_test(windterm_resize_hidden_height_optimized -O -m unittest research.ui.test_resize_hidden_height_reference research.ui.test_export_resize_hidden_height_reference research.ui.test_audit_resize_hidden_height_tail -v)
find_program(TERMFORGE_NODE_EXECUTABLE NAMES node)
Expand Down Expand Up @@ -592,6 +600,10 @@ add_test(NAME edit_csi_core COMMAND edit_csi_test)
${CMAKE_SOURCE_DIR}/research/ui/test_resize_combined_stages.js
${CMAKE_SOURCE_DIR}/research/ui/resize_combined_reference.js)
set_tests_properties(windterm_resize_combined_controller PROPERTIES TIMEOUT 15)
add_test(NAME windterm_resize_dual_axis_controller COMMAND ${TERMFORGE_NODE_EXECUTABLE}
${CMAKE_SOURCE_DIR}/research/ui/test_resize_dual_axis_stages.js
${CMAKE_SOURCE_DIR}/research/ui/resize_dual_axis_reference.js)
set_tests_properties(windterm_resize_dual_axis_controller PROPERTIES TIMEOUT 15)
add_test(NAME windterm_resize_hidden_height_controller COMMAND ${TERMFORGE_NODE_EXECUTABLE}
${CMAKE_SOURCE_DIR}/research/ui/test_resize_hidden_height_stages.js
${CMAKE_SOURCE_DIR}/research/ui/resize_hidden_height_reference.js)
Expand Down
1 change: 1 addition & 0 deletions docs/EVIDENCE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@
| 增量显示投影与跨步骤源身份 | [旧停滞诊断、13工程用例及身份](../experiments/core/results/2026-11-02-projection-job/README.md):500单列片段按200/200/100步完成一行,跨200边界反向选择/复制/Find一致,取消/同身份导入/旧owner等拒绝 | 新API无先行RED;旧诊断exit0表示复现停滞,归档于运行后。每步仍限200,不发布半页;源锚点非全局视觉行号。持续输出可能反复取消,任意定位/Qt调度未交付 |
| 原版窗口高度分配及纯高度行为 | [独立两状态几何](../research/ui/results/2026-11-02-resize-geometry-reference/README.md)、[三阶段原版正文/DSR](../research/ui/results/2026-11-02-resize-height-measured-reference/README.md)和[核心12阶段回放](../experiments/core/results/2026-11-02-height-measured/README.md):window749→569实际改变180px,终端区域少120px;20→14→20行时正文不变,DSR19→14→14、scroll0→5→5 | 原10行预测失败保留,不回填缺失窗口测量;不把两状态比例推广。原top=null且非完整grid,scroll不证明内部物理历史。核心首轮夹具source_end越界保留,修夹具后1/1;没有生产修复或宽高组合/Qt验收 |
| 自主 C++ 共 owner 宽高组合保留事务(#27/#29 显式入口) | [原版五阶段记录](../research/ui/results/2026-11-02-resize-combined-reference/README.md)、[字面回放、分配失败 sweep 与身份](../experiments/core/results/2026-11-02-retained-combined/README.md):`13186bf` 的旧"宽度保留 + 旧高度"路径 8/20 阶段、80/560 断言失败;`resize_preserving` 后 20/20、0/560,映射/选择 20/20、744 断言零失败;活动主屏/备用屏缩增各 151/42 次注入失败后重试一致 | 固定 75 B ASCII 主屏五阶段、后续仅 DSR;只走显式入口。默认 `Screen::resize` 与 Qt 仍物理裁剪,隐藏主屏、Unicode、resize 后写入、历史淘汰、Qt/固定 ConPTY 与性能未验收;工程不变量不是原版 oracle |
| 原版主屏双轴缩放+后续 CUP 写入后的视口/行/DSR(#27/#29) | [直接 Telnet 三阶段观察、严格出口与核心回放](../research/ui/results/2026-11-04-resize-dual-axis-reference/README.md):一次窗口动作 `91×20→61×14`(本次 NAWS 1→2),随后固定 `CUP(7;2)+DQ` 的**写后端点**为 `scroll=5`、DSR `7;4`、文档行 11 ` DQ`+58 空格+`w`(62);恢复 `91×20` 后写后端点仍 DSR `7;4`/scroll `5`/62 字符行;`resize_dual_axis_core` 11 项工程回放通过(pre-write 保留仅产品不变量) | 单次固定 75 B ASCII 主屏样本;**写后端点不能把裁剪/物化归因于 resize;没有 pre-write 原版正文观测;#308 无同样后续写入,不能作为裁剪差异对照**;不推断内部 history 条数/完整活动网格,不证明单窗口请求原子;不解释或放宽旧六阶段 B/CD native-sync 失败,ConPTY 原生网格与其它尺寸/顺序仍未观察;#27/#29 不关闭 |
| 自主 C++ 区域续接、历史结构通知与每屏 origin | [模式交叉与红绿](../experiments/core/results/2026-11-02-r27-mode-cross/README.md)、[每屏 origin 修正](../experiments/core/results/2026-11-02-origin-frame/README.md)、[原版固定控制对照](../research/ui/results/2026-11-02-mode-state-reference/README.md) | 区域自动换行的跨行复制/Find、RIS/ED3 结构通知、Unicode/分块/重复/异常输入与独立主屏 origin 恢复;当前物理 resize 策略测试不冒充原版匹配,完整 #27 继续开放 |
| Qt / 固定 ConPTY 模式与正文 resize 差异 | [独立字面预期及失败运输证据](../experiments/shell/results/2026-11-02-qt-terminal-modes/README.md) | 模式阶段经公开 Qt 按键和原生网格核对;缩窄后原生 reflow 与核心物理裁剪不同步,独立运输捕获未见重排字节。失败诊断与模式回归分列,#29 的正文重排和完整 #27 不由基础尺寸通过代替 |
| 固定 ConPTY resize 与输出机制 | [1.25.260930003 包身份及 pinned 源码核查](research/conpty-resize-output-2026-11-02.md) | 当前 0x18 是字宽,旧 resize quirk 已删除;signal 成功非完成屏障,内部 reflow 不保证重发整屏,DSR 光标同步不证明正文一致。静态解释不替代同次 Qt 动态证据或原版 oracle;本次未新增运行或改 flags |
Expand Down
Loading