Repository navigation
Conversation
Lithe Review结论: 未发现需要阻塞合并的问题。以下两项按 P2 建议修复。 Findings
Scope Check
Suggestions
Summary迁移整体保持了 macOS 平台适配边界,打包脚本与资源笔记调整一致。主要缺口在错误提示本地化和焦点回归验证;现有证据不足以确认真实渲染效果及正式分发行为。 Verification
|
|
咦,我之前还尝试过 1.99,2.0 这么快就端上来了么 |
|
#1491 顺路帮忙看看这个能不能解决呢?我之前1.99 没解决 |
|
Metal 渲染老版本我好像是开了一部分的,终端这边体验不是很好么?要是ghostty 有渲染内核稳定版发布了就好了哎 |
@xiaoyumuxi 晚点我再看下,我没用 codex 没法实测, 但这个版本莫名其妙把我 oh-my-pi 的进程 ctrl c ctrl d 修复好了😂 |
|
Metal 渲染老版本我好像是开了一部分的,终端这边体验不是很好么?要是ghostty 有渲染内核稳定版发布了就好了哎
要不你等等,等 2.0 正式 release 再迁移,我刚看了还没有发 2.0 还是 1.99.1 |
可行呀,也不是很着急; 等正式发了就不用盯 commit 了; |
背景
Lithe 的 macOS 终端一直停留在 SwiftTerm 1.15, 上游 2.0 preview 已重写渲染与 IO 层, 长期不升级会让 Lithe 偏离上游越来越远。
旧引擎下有两个实际问题:
迁移到 2.0 的过程中, Metal 首帧会闪一帧黑屏; 根因在 SwiftTerm 本身, 已在上游修复并合并 (migueldeicaza/SwiftTerm#778), 本分支把依赖钉在该修复所在的提交上。
顺带一提: 升级到 2.0 后, 上面第 2 个问题也一并消失了, omp 内 Ctrl+C / Ctrl+D 恢复正常退出。
实现
引擎与渲染
MacTerminalTransport适配 2.0: 改用自有的 PTY host, DA/DSR/OSC 响应保持 1.15 的同步语义, OSC 52 剪贴板行为与 1.15 对齐。setUseMetal(true)启用 Metal 渲染; 设备或着色器管线不可用时降级 Core Graphics, 并按窗口只记录一次降级日志。依赖
https://github.com/migueldeicaza/SwiftTerm.git(上游)revision: 367958a(首帧修复 #778 的合并提交)from:配套改动
SwiftTerm_SwiftTerm.bundle: 2.0 将 Metal shader 内嵌在源码中运行时编译, 不再产出该资源包; 打包安全校验与 worktree 复用笔记同步更新。影响
TerminalInputFocusTests中 2 个光标失效断言在本分支仍失败 (focusChangesInvalidateTheMetalCursorWithoutShellOutput、windowFocusChangesInvalidateBothCursorSurfaces), 为迁移遗留, 后续单独排查。验证
package-app.sh正式打包与分发安装验证。