docs: record blocked gpu validation prerequisite
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-08-29 21:04:48 +08:00
parent a1bcea9bbc
commit 25072cff1b
4 changed files with 1360 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,71 @@
# 30-02 GPU Ping-Pong 与 Context Recreation 最小技术验证报告 v1
日期:2026-08-29
当前状态:`BLOCKED`
## 1. 阻塞结论
30-02 未进入 GPU 验证代码准备阶段。
`docs/40_任务/30_02_GPU_PingPong与ContextRecreation验证指令书_v1.md` 第 2 节规定:只有当前仓库存在 `30-01 = PASS` 的正式记录时,才允许开始 State A/B、Trail A/B、RenderTarget、Shader 或 context recreation 验证代码。
当前有效前置记录均为:
- `docs/60_测试/30_01_CoreRenderLayer接入最小技术验证报告_v2.md`:`WAITING_MANUAL_VALIDATION`;
- `docs/报告/30_01_CoreRenderLayer接入验证_Codex完成报告_v2.md`:`WAITING_MANUAL_VALIDATION`;
- `粒子开发记录.md`:修复后的 Android OpenGL 编译和实机运行仍待用户。
仓库中不存在 30-01 正式 PASS 记录,也不存在 30-01 PASS commit。因此 30-02 前置条件未满足。
## 2. 本轮实际执行
- 完整读取 30-02 指令书并执行前置门槛检查;
- 读取当前 30-01 技术报告、Codex 完成报告和开发记录;
- 检查分支、HEAD、工作区、远端同步与 submodule;
- 生成本阻塞报告和对应 Codex 完成报告;
- 追加开发记录。
## 3. 未开始的验证项
以下项目因前置门槛阻塞,均未实现、未运行、无结论:
- State A/B GPU resource;
- State A/B ping-pong;
- Trail A/B offscreen RenderTarget;
- previous trail → next trail pass;
- Trail composite;
- 多 pass 同步与 hazard;
- viewport resize 资源重建;
- disable/enable GPU 生命周期;
- context/resource generation;
- Android EGL/surface context recreation 运行验证。
不得把“未开始”解释为 PASS 或 FAIL。
## 4. 代码与构建
- 30-02 Core/gfx/renderer/shader/Test App 代码修改:无。
- 通用 gfx 修改:无。
- 生产代码修改:无。
- 新依赖:无。
- 编译:未执行。
- Android/Gradle/ADB:未执行。
- APK/AAR 或其他产物:无。
## 5. 解除阻塞条件
用户必须先在最新 `particle/main` 上完成 30-01 修复后的 Android OpenGL 手工编译和实机验证,并回传足够证据,使 30-01 正式报告更新为 PASS。至少需要确认:
- validation Drawable/Tweaker 真正进入 translucent render pass;
- 同帧 viewport、zoom、bearing、pitch、projection 证据有效;
- pan、zoom、rotate、pitch、resize 正常;
- ACTIVE 持续 repaint;
- STATIC 停止验证层额外 repaint;
- 地图正常且无 RenderThread crash。
只有 30-01 报告与开发记录正式更新为 PASS 并提交后,才能重新执行 30-02。
## 6. 30-03 状态
不允许进入 30-03。30-02 当前为 `BLOCKED`,且其自身尚未开始。

View File

@@ -0,0 +1,95 @@
# 30-02 GPU Ping-Pong 与 Context Recreation 验证 Codex 完成报告 v1
日期:2026-08-29
执行结论:`BLOCKED`
## 1. 30-01 前置状态
当前仓库不存在 `30-01 = PASS` 的正式记录:
- 最新 30-01 技术验证报告 v2:`WAITING_MANUAL_VALIDATION`;
- 最新 30-01 Codex 完成报告 v2:`WAITING_MANUAL_VALIDATION`;
- 开发记录仍要求用户完成修复后的 Android OpenGL 手工编译和实机验证。
30-01 PASS commit:不存在。
因此触发 30-02 指令书第 2 节停止条件:不得开始 GPU 代码,只生成阻塞说明。
## 2. Git 基线
- 分支:`particle/main`。
- 任务开始 HEAD:`a1bcea9bbcbac18b884e647a92775f568d96d0df`。
- 开始时本地与 `origin/particle/main`:`0 0`,同步。
- 开始时无已跟踪修改。
- 开始时存在用户提供的未跟踪 30-02 指令书。
- submodule:已查询,无本任务修改。
- origin:`ssh://git@192.168.200.230:2222/tei/MapLibreParticleLab.git`。
- 目标分支:`particle/main`。
- 本次 commit hash:因本报告与阻塞文档同一提交,在最终回复记录。
- commit message:`docs: record blocked gpu validation prerequisite`。
- push 结果与最终远端 HEAD:提交后在最终回复记录。
## 3. 前置文档读取
已读取 `AGENTS.md`、`PARTICLE_BASELINE.md`、`docs/00_项目总则/`、`docs/00_项目规范/`、当前 STEP-000、30-02 指令书、架构调查/设计、前置完成报告、全部当前 30-01 技术/完成报告和 `粒子开发记录.md`。
## 4. 实际修改文件
- 纳入用户提供的 `docs/40_任务/30_02_GPU_PingPong与ContextRecreation验证指令书_v1.md`;
- 新增 `docs/60_测试/30_02_GPU_PingPong与ContextRecreation最小技术验证报告_v1.md`;
- 新增本 Codex 完成报告;
- 追加 `粒子开发记录.md`。
未创建或修改 Step,符合 30-02 指令书第 28 节。
## 5. State A/B
未实现、未验证。阻塞发生在允许开始 GPU 代码之前。
## 6. Trail A/B 与 RenderTarget
未实现、未验证。没有创建 texture、RenderTarget、validation shader 或 composite pass。
## 7. Ping-pong、pass 顺序与 hazard
未实现、未验证。没有形成 State/Trail swap,也没有得出 Android OpenGL 同步语义结论。
## 8. resize、disable/enable 与 generation
未实现、未验证。没有增加 resource generation 或生命周期代码。
## 9. context/surface lifecycle
未进入源码实现或设备验证阶段;没有声称普通 Activity lifecycle 等同于真实 context recreation。
## 10. Test App 与用户命令
30-02 Test App 入口未创建。当前唯一动作是先完成 30-01 手工验证;本轮不提供 30-02 编译/运行步骤,以免用户误以为 30-02 已具备可运行代码。
## 11. 构建、测试与产物
- 编译:未执行。
- 测试:只执行文档/Git 静态检查。
- Android/Gradle/ADB:未执行。
- APK/AAR:无。
- 用户此前要求 Codex 不编译,本轮同时遵守该要求。
## 12. 修改边界
- 通用 gfx:未修改。
- 生产代码:未修改。
- shader:未新增。
- 依赖/SDK/NDK/Gradle/MapLibre baseline:未修改。
- GPU ping-pong、Mask、Vulkan、iOS:未实现。
- 架构范围:未扩大。
## 13. BLOCKED 依据与未验证项
阻塞依据是 30-02 指令书第 2 节的硬前置门槛,而不是 GPU/gfx 技术失败。State、Trail、同步、resize、disable/enable、context recreation 等全部仍为未验证。
解除阻塞需要先用最新 30-01 修复提交完成 Android OpenGL 实机验证,并把 30-01 正式更新为 PASS。
## 14. 是否允许进入 30-03
否。30-02 当前为 `BLOCKED`,不得进入 30-03。

View File

@@ -62,3 +62,13 @@
- 版本条用于人工验证时区分旧 APK 与当前源码构建,避免只凭安装时间或文件名判断。
- `git diff --check` 与 Android XML 标准库解析通过;按用户要求未执行任何编译。
- 等待用户手工构建、安装后确认设备端显示。
## 2026-08-29 — 30-02 GPU Ping-Pong 与 Context Recreation(前置阻塞)
- 开始执行 `docs/40_任务/30_02_GPU_PingPong与ContextRecreation验证指令书_v1.md` 并首先检查硬前置门槛。
- 30-01 最新技术报告与完成报告均仍为 `WAITING_MANUAL_VALIDATION`,不存在正式 PASS 记录或 PASS commit。
- 按 30-02 指令书第 2 节停止:未创建 State A/B、Trail A/B、RenderTarget、Shader、ping-pong、generation 或 context recreation 验证代码。
- State A/B、Trail A/B、gfx 同步、resize、disable/enable 和 context recreation 均未验证,无 PASS/FAIL 技术结论。
- 当前 30-02 状态为 `BLOCKED`;不允许进入 30-03。
- 阻塞报告:`docs/60_测试/30_02_GPU_PingPong与ContextRecreation最小技术验证报告_v1.md`。
- Codex 完成报告:`docs/报告/30_02_GPU_PingPong与ContextRecreation验证_Codex完成报告_v1.md`。