docs: correct 40-01 stage a report
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-08-31 12:17:19 +08:00
parent 39c7ae22ed
commit 9df9aef2aa

View File

@@ -12,15 +12,19 @@ Stage A 代码与静态检查完成,任务状态为 `WAITING_MANUAL_VALIDATION
- submodule:已记录,未修改。
- `git rerere.enabled`:`true`。
Stage A 实现提交:`0b076c6d52fffb2ee4411cac64f06d43cea260c8`(`feat: establish android particle field rendering loop`)。
初始 Stage A 实现提交:`0b076c6d52fffb2ee4411cac64f06d43cea260c8`(`feat: establish android particle field rendering loop`)。
首次 push:成功,`origin/particle/main` 从 `1ec447011` 更新为 `0b076c6d5`。本文件的 Git 元数据补记将作为独立 docs commit 推送到同一分支。
本轮修正实现提交:`39c7ae22ede51f4b755dc658e2e27b24b26b807e`(`feat: establish formal raster particle source chain`)。
首次 push:成功,`origin/particle/main` 从 `1ec447011` 更新为 `0b076c6d5`。本报告的修正元数据将作为独立 docs commit 推送到同一分支;最终远端 HEAD 在交付时报告。
## 3. 实际修改
- 新增隔离的 `mbgl::particle::OfflineFixtureParticleAdapter` 与 backend-neutral `ParticleFieldSnapshot`。
- 新增隔离的 `mbgl::particle::OfflineFixtureParticleAdapter` 与 backend-neutral `ParticleFieldSnapshot`,并新增正式 `RasterArraySource -> RenderRasterArraySource -> RasterParticleLayer -> RenderRasterParticleLayer`。正式 layer 为 `Source::Required`,不再由 source-less `particle-validation` 承担 40-01 闭环。
- 新增确定性 `uniform-east`、`uniform-north`、`vortex` fixture 及生成脚本;metadata 遵循架构文档 v1 contract。
- 在既有 Core RenderLayer 的 State A/B、Trail A/B、shared mask 和 canonical world composite 路线中接入 GPU field texture;没有新建 Android 侧粒子引擎。
- `RenderRasterParticleLayer` 复用已验证的 State A/B、Trail A/B、shared mask、camera transform、world wrap、antimeridian 与 canonical composite;没有新建 Android 侧或第二套 GPU 粒子引擎。历史 `ParticleValidationLayer` 仍可作 validation tool,但不是正式 source path。
- Android Test App 将 fixture 打包进 `src/main/assets/integration/particle-fixtures/`,Style 使用 `asset://` URI;Core 只通过 FileSource bytes loader,Linux helper 保留仓库 fixture 读取。
- NoData cell 不再使整个合法 field 无效。GPU field alpha 保存 validity,State sampling 命中 invalid cell 会确定性 respawn;NaN/Inf 仍 fail closed。
- 修复 STATIC/context recreation 的资源 bootstrap:field、mask、trail、state 和首帧 composite 均可在 STATIC 中建立,bootstrap 为零 simulation step。
- Test App 保存 fixture selection,并增加 east/north 最小切换控制。
@@ -28,15 +32,15 @@ Stage A 实现提交:`0b076c6d52fffb2ee4411cac64f06d43cea260c8`(`feat: estab
- Linux OpenGL 受影响对象编译:PASS。
- C++ 格式、`git diff --check`、fixture JSON/生成/sha256:PASS。
- adapter smoke test:PASS,三份 fixture 均成功 decode/validate。
- adapter smoke test:PASS,三份普通 fixture 成功 decode/validate;`nodata` fixture 的单 cell invalid 标记被保留且 field 整体合法。Android asset 与仓库 fixture byte parity:PASS。
- 未运行 Gradle、APK 安装、ADB 或 Android 实机验证,遵守任务书限制。
## 5. 已知问题与未完成事项
- Android OpenGL 的 T1-T12 仍待用户执行,T1 rotation 无按钮恢复是硬门槛。
- 未实现 iOS/Vulkan/真实在线数据/生产 coastline/性能结论。
- NoData cell 的实际 fixture 覆盖留待后续数据 fixture Step;本任务的 metadata/data validator 已拒绝无效结构、长度和 checksum。
- Android OpenGL 实机的 NoData visual/runtime evidence、T1-T12、Vulkan 和 iOS 均未执行。
## 6. 与指令书差异
无。Stage A 结束时保持 `WAITING_MANUAL_VALIDATION`,未新建或修改 `docs/50_Step记录/`。
此前报告错误地写为“无”:当时正式 Source/Layer/RenderLayer 链尚未建立,且 Android runtime fixture 仍错误依赖源码仓库相对路径。本轮已修正为正式 Source-required 链和 APK asset 输入边界,并新增 STEP-040 记录。Stage A 仍为 `WAITING_MANUAL_VALIDATION`,不声明 PASS。