diff --git a/docs/github-tracking/pr-145-cold-start-first-paint.md b/docs/github-tracking/pr-145-cold-start-first-paint.md index 27bfc582..d74843df 100644 --- a/docs/github-tracking/pr-145-cold-start-first-paint.md +++ b/docs/github-tracking/pr-145-cold-start-first-paint.md @@ -1,40 +1,46 @@ -## 摘要 +## 摘要 -Closes #98 +Closes #98 References #143 -这个 draft PR 继续承接 Windows cold-start first paint 生命周期问题,但状态已经从“纯问题定义”推进到“主线修复已见效、继续观察”。 +这条 PR 已经不再只是 tracking 入口,而是承接本轮 Windows startup lifecycle 主线修复的实际变更。 -本轮最新结论: +当前结论: -- 之前可见的一闪,主要与测试入口使用 backend immediate show 有关 -- 冷启动脚本改成 frontend-managed first show 后,首屏体验明显更顺 -- 实测主观体验是“几乎没有问题,人眼很难分辨” -- 但为了避免把 startup latency 优化和 lifecycle contract 修复混成一团,这条 PR 仍保持 draft -- `#143` 更适合作为已收敛的 first-paint 症状票;当前主线 closure 由 `#98` 承接 +- `visible / ready` 脱钩的主问题已收敛 +- 冷启动入口已从 backend immediate show 调整为 frontend-managed first show +- 最新人工回归反馈是:启动过程基本流畅,人眼很难再分辨出明显的一闪 +- `#143` 现在更适合作为已收敛的 first-paint 症状票引用,而不是继续作为主 closure 目标 ## 修复 / 新增 / 改进 -- 保持 draft 角色,继续跟踪 `created -> shown -> first stable paint -> ready` -- 记录测试入口从 backend immediate show 切换到 frontend-managed first show 的影响 -- 作为后续 cold-start visual smoke 与更细粒度 startup latency 优化的承接入口 +- 收口 Windows 启动阶段的 first-show ownership +- 在 `checking -> ready` 之间加入明确 gate,避免正式壳层在 startup transient phase 过早暴露 +- 增加冷启动测试脚本,默认优先拉最新 debug build,并区分: + - frontend-managed first show + - backend immediate show(仅调试用) +- 增加 startup lifecycle contract test,锁住 hidden-on-create 与 readiness gate 语义 ## 兼容 -- 不包含:主窗口圆角 / 外框 / 其他视觉适配 -- 对现有用户 / 本地环境 / 构建流程的影响:继续只聚焦 startup lifecycle 主线 +- 不包含:主窗口圆角 / 外框 / titlebar frame 等纯视觉适配 +- 不包含:更细粒度 startup latency 优化 +- 对现有用户 / 本地环境 / 构建流程的影响:聚焦 startup lifecycle 主线,不扩张到 UI polish 线 ## 测试计划 +- [x] 命令:`node openless-all/app/scripts/windows-startup-lifecycle-contract.test.mjs` +- [x] 结果:通过 +- [x] 证据路径:本地命令输出 + +- [x] 命令:`npm run build` +- [x] 结果:通过 +- [x] 证据路径:本地命令输出 + - [x] 命令:`powershell -ExecutionPolicy Bypass -File openless-all/app/scripts/windows-cold-start.ps1 -PreferDebug -ShowMain` - [x] 结果:能够走 frontend-managed first show - [x] 证据路径:本地命令输出 -- [x] 命令:3 秒与 8 秒冷启动截图对比 -- [x] 结果:3 秒可见 startup shell;修正测试入口后正式首屏体验显著改善 -- [x] 证据路径:`artifacts-cold-start-screenshot.png`、`artifacts-cold-start-screenshot-8s.png`、`artifacts-cold-start-screenshot-front-managed.png` - -- [x] 命令:人工主观回归 -- [x] 结果:冷启动过程“几乎没有问题,至少人眼很难分辨” -- [x] 证据路径:当前线程回归记录 -关联 issue 建议标题:`[ui][windows] 冷启动前几秒出现 UI flash 和 layout drift` +- [x] 命令:冷启动截图与人工主观回归 +- [x] 结果:首屏体验明显改善,当前主观反馈为“几乎没有问题,人眼很难分辨” +- [x] 证据路径:`artifacts-cold-start-screenshot.png`、`artifacts-cold-start-screenshot-8s.png`、`artifacts-cold-start-screenshot-front-managed.png` 与当前线程回归记录