docs: adopt Gio for V2 UI after spike passed on Windows; add T-306 migration

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-07-23 14:16:40 +08:00
co-authored by Claude Opus 4.8
parent 43ec154075
commit 8d71889d9c
3 changed files with 12 additions and 2 deletions
+9
View File
@@ -541,3 +541,12 @@
- 阻塞:窗口能否真正显示/关闭、无 `TTM_ADDTOOL`,需用户在 Windows 目视一次(Gio 不用 Win32 common controls,理论上不会出该错)。
- 决策:Gio 从根上规避 Walk 的 comctl/manifest 问题;`internal/render` 已出 `*image.RGBA`,Gio 用 `paint.NewImageOp` 直接贴,UI 层很薄。若 Windows 目视通过,则 V2 UI 由 Walk 迁 Gio;否则回退"给 Walk 嵌 Common Controls v6 清单"方案。
- 下一步:用户在 `v2/` 下 `go run ./cmd/gio-spike` 确认起窗;通过则据此把 `internal/ui` 迁 Gio、更新架构文档。
## 【2026-07-23】T-305 V2 UI Gio Spike(完成)
- 状态:DONE
- 变更:无(延续上一条 spike 实现)。
- 验证:用户在 Windows `go run ./cmd/gio-spike` 确认——窗口正常显示、有带红边的 `*image.RGBA` 图和顶部双 Tab、**未再出现 `TTM_ADDTOOL`**。结合本环境 `GOOS=windows CGO_ENABLED=0` 交叉编译通过(11MB 纯 Go 单 exe),Gio 方案在 Windows 上可行且自包含。
- 阻塞:无。
- 决策:**V2 UI 从 Walk 迁移到 Gio**。理由:Gio 从根上不用 Win32 common controls,规避 comctl/manifest 一类问题;`internal/render` 已出 `*image.RGBA`,Gio 直接 `paint.NewImageOp` 贴,UI 层薄;纯 Go 单 exe 符合"无 Go 环境运行"且不带 WebView2。已更新架构文档 `internal/ui` 为 Gio;新增迁移任务 T-306。
- 下一步:T-306 用 Gio 重写 `internal/ui`,保持 `NewWindow/Run/Present/PresentAlert/ReportIssue` 接口不变。