docs: close STEP-053 Android validation

This commit is contained in:
OpenAI Codex
2026-09-04 20:24:17 +08:00
parent c188d6b590
commit e98805524b
2 changed files with 40 additions and 1 deletions

View File

@@ -1,6 +1,6 @@
# STEP-053 Windy-style Canonical Field 与 Host→MapLibre Submission Contract
- 状态:`IMPLEMENTED / WAITING_ANDROID_VALIDATION`
- 状态:`CLOSED / PASS`
- Starting HEAD:`285d23a58f6ecb16f360748df688d9d03dad6b3d`
- 分支:`particle/main`
- 目标:让已经取得并规范化规则二维 U/V Field 的外部 Host,以低频 `metadata + contiguous binary payload` 提交给 MapLibre Native,并复用 STEP-049/051 的 Adapter、Snapshot、Timeline、Runtime Window 与 Renderer。
@@ -119,3 +119,34 @@ Android Validation Host 原有 STEP-053 控件和 JNI/API 已存在,但 MORE
- 未新增 JNI forwarding,复用既有 `MapLibreMap → NativeMapView → RasterArraySource::submitHostField()` 薄桥。未修改 Adapter、Timeline、Runtime Field Window、Renderer 或任何 provider/network 逻辑。
Android Gradle、APK、ADB 和设备验收仍由用户手工执行;状态继续为:`IMPLEMENTED / WAITING_ANDROID_VALIDATION`。
## Android Host Submission 最终验收
用户已在 Android Validation Host 完成综合技术验收:`STEP-053 Android Host Submission Validation: PASS`。
| 验收项 | 结果 |
| --- | --- |
| `HOST FIELD` 与 STEP-051 `PRODUCTION FEED` 路径分离 | PASS |
| canonical `production-wind-t00` ~ `production-wind-t03` | PASS |
| Host Submission → Adapter → Snapshot → Timeline → Runtime Window → GPU Renderer | PASS |
| T0/T1 Initial Window、T2/T3 Next Submission | PASS |
| `PLAYBACK_PLAY`、Automatic MIX | PASS |
| production→production Window Boundary(至少 2 次) | PASS |
| `OLD_T1 → NEW_T0` reuse、only NEW_T1 upload | PASS |
| 正常 boundary `simulationRebuild=false`、`trailCleared=false` | PASS |
| `HOST DUPLICATE` / `DUPLICATE_NOOP` | PASS |
| `HOST INVALID` / Adapter fail-closed / last valid field retained | PASS |
| Renderer continuity(`ParticleRender stateSeed=CONTINUE`)、无黑屏、无 crash | PASS |
两次已确认的连续 boundary 为:
`production-wind-t00 / production-wind-t01 → production-wind-t01 / production-wind-t02`,以及
`production-wind-t01 / production-wind-t02 → production-wind-t02 / production-wind-t03`。
正常 boundary 的 `fieldUploadCount` 从 `4 → 5 → 6`,每次只增加一个 NEW_T1 upload。`simulationResetCount=1` 仅来自旧 fixture `uniform-east / uniform-east` 首次切换到 Host `production-wind-t00 / production-wind-t01` 的允许初始化(该切换可出现 `simulationRebuild=true` 与 `trailCleared=true`);它不是 production→production boundary 回归。
用户正式风场数据集为 `NOT PROVIDED / NOT VALIDATED`。这不阻止本 Step 关闭:STEP-053 的目标是冻结并验证 Host→MapLibre canonical Field Submission Contract,已由本地 canonical T0~T3 驱动实际 Timeline、Runtime 和 GPU Renderer 完成验证。后续正式数据只是在同一 contract 下替换或追加验证。
Validation UI 的 MIX 文本可能滞后、WAITING/INVALID 视觉不够明显,继续归类为 `NON-BLOCKING observability`,不是 Core、Timeline、Runtime 或 Renderer 缺陷。本次仅文档收尾,未修改功能代码,也未执行 Android Gradle/APK/ADB/Jest。
最终状态:`CLOSED / PASS`。