From 677a0d587b441e5b2ec565a11494cf7115d8b43f Mon Sep 17 00:00:00 2001 From: ila Date: Wed, 22 Jul 2026 22:49:01 +0800 Subject: [PATCH] chore(tasks): start T-305 V2 Gio UI spike (Walk TTM_ADDTOOL) Co-Authored-By: Claude Opus 4.8 --- docs/06-tasks.md | 1 + progress.md | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/docs/06-tasks.md b/docs/06-tasks.md index 4740b4f..f73a1c3 100644 --- a/docs/06-tasks.md +++ b/docs/06-tasks.md @@ -47,6 +47,7 @@ | T-302 | 完成 Go 推理与视频/UI 技术 Spike | T-301 | Windows 上可读取录像和 ONNX Pose;选定运行时与 UI 方案并记录取舍。 | DONE | | T-303 | 实现 Go 的事件引擎与 V1 回归对比 | T-302 | 同一录像的确认事件、无报警案例和延迟满足 V1 基线。 | DONE | | T-304 | 完成 Go 实时演示、报警和打包 | T-303 | 实时 RTSP、红色画面、声音、弹窗和截图可运行;新环境按文档启动。 | DOING | +| T-305 | V2 UI 框架评估:Gio Spike(应对 Walk TTM_ADDTOOL 启动故障) | T-302 | 以 Gio 搭 `cmd/gio-spike`:窗口可显示并关闭、无 TTM_ADDTOOL、能贴一张 `*image.RGBA`(V2 render 输出)并有双 Tab/按钮骨架;据此决定 V2 UI 是修 Walk manifest 还是迁移 Gio。 | DOING | ## Backlog diff --git a/progress.md b/progress.md index 01451a3..a7318f0 100644 --- a/progress.md +++ b/progress.md @@ -523,3 +523,12 @@ - 阻塞:最终验收需现场未跟踪 RTSP 凭证、可用海康流、现场网络与经同意的安全模拟动作;当前不能伪造实时画面、声音、弹窗、截图或 1–3 秒正例延迟。`demo/1.mp4` 继续只作为域外漏检风险样本。 - 决策:发布脚本不从 PATH、Python 包或 Go 缓存隐式取运行依赖,全部由显式参数输入并记录哈希;事件队列不随最新帧丢弃,确保 UI 不因慢刷新遗漏确认告警。 - 下一步:用本机 `config.local.json` 与现场 RTSP 启动发布目录程序,按 `docs/v2-demo-runbook.md` 逐项验证在线/反例/确认/断流恢复,再决定是否将 T-304 置 DONE。 + +## 【2026-07-22】T-305 V2 UI 框架评估:Gio Spike + +- 状态:DOING +- 变更:任务落 DOING;将在 `v2/cmd/gio-spike` 用 Gio 搭最小窗口,验证能否绕开 Walk 的 `TTM_ADDTOOL` 启动故障并贴 `*image.RGBA`。 +- 验证:开始前——WSL 为 Go 1.21.10 而 `v2/go.mod` 要求 go 1.24.0,且 Gio 的 Linux 构建需 CGo+X11、本环境无显示,故 Gio spike 无法在 WSL 编译/运行,必须在 Windows `go run ./cmd/gio-spike` 验证(与 PyQt5 同类环境限制)。V2 非 UI 链路(config/source/pose/fall/render/alert)此前已实现,仅 Walk UI 因缺 Common Controls v6 清单在 `ui.NewWindow` 崩溃(`TTM_ADDTOOL failed`,见 obsidian 笔记)。 +- 阻塞:Gio 依赖需在能联网且 Go≥1.24 的环境 `go get gioui.org`;真实窗口显示需 Windows 目视。 +- 决策:Gio 不用 Win32 common controls,从根上不存在 `TTM_ADDTOOL`/manifest 问题;`internal/render.Render` 已返回 `*image.RGBA`,Gio 用 `paint.NewImageOp` 直接贴,UI 层很薄;纯 Go 单 exe 符合"无 Go 环境运行"目标且不带 WebView2。新建 `cmd/gio-spike`,不动现有 Walk `cmd/ui-spike`(保留对照)。 +- 下一步:写 `cmd/gio-spike` 最小窗口(双 Tab + 贴一张 RGBA + 开始/停止按钮),给 Windows 运行命令;据结果决定修 Walk 还是迁 Gio。