Files
MapLibreParticleLab/docs/报告/40-04_Runtime_Field动态更新接口_Codex完成报告_v2.md
OpenAI Codex eae8652486
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
docs: close runtime particle field validation
2026-09-03 19:23:38 +08:00

3.0 KiB
Raw Blame History

40-04 Runtime Field 动态更新接口 Codex 最终完成报告

状态

40-04:CLOSED / PASS

Android OpenGL 最终统一验证日期:2026-09-03。最终功能基线为 4e31163516ad77473df672e162f554223cd2f09e。

最终验收结论

  • T-RUNTIME-01:PASS
  • T-RUNTIME-02:PASS
  • T-RUNTIME-03:PASS
  • T-RUNTIME-04:PASS
  • T-RUNTIME-05:PASS
  • T-RUNTIME-06:PASS
问题 结论
A/B→B/C 是否通过 是
B/C→C/D 是否通过 是
OLD_T1→NEW_T0 是否连续复用 是
正常推进是否只上传新 T1 是
正常推进是否 reset simulation / clear trail 否 / 否
正常推进是否 Style reload / Layer recreate 否 / 否
MIX 是否 property-only 是
Duplicate 是否返回 NOOP、重复 upload 或 reset 是 / 否 / 否
Fail-closed 是否通过且 reject 后窗口可用 是
Android 最终验证是否通过 是

实机证据

初始窗口为 uniform-east/uniform-north。MIX 0/50/100 仅记录 TIME_MIX_UPDATE,不增加 Field upload/reset。两次运行时推进依次得到 north/vortex、vortex/nodata;均记录 FIELD_WINDOW_UPDATE_REQUEST、FIELD_WINDOW_UPDATE_APPLIED result=APPLIED、FIELD_REUSE from=OLD_T1 to=NEW_T0 与单个 FIELD_UPLOAD reason=NEW_CONTENT,并确认 simulationRebuild=false、trailCleared=false。

在 vortex/nodata,MIX 50/100/0 后 fieldUploadCount=5、resetCount=0 保持。连续 Duplicate 记录 FIELD_WINDOW_UPDATE_DUPLICATE_REQUEST、FIELD_WINDOW_UPDATE_APPLIED result=NOOP、T0=vortex/T1=nodata 和 duplicate bridge result=NOOP,没有 FIELD_UPLOAD、SIMULATION_RESET 或 STYLE_LOAD。候选耗尽返回 NO_PRELOADED_FIELD;之后 MIX 50 仍维持 C/D 与相同计数,证明 fail-closed 不污染当前窗口。

用户主动建立时间窗的 STYLE_LOAD reason=TIME_WINDOW 是允许初始化;后续所有 Runtime 操作的 styleEpoch=2 未变化。MIX 的 LAYER_CHANGED 是 property change 通知,非 Layer recreate;renderLayerInstanceId=1 稳定。

接口与责任边界

RasterArraySource::updateRuntimeFieldWindow(...) 是正式 Runtime API;repeatRuntimeFieldWindow() 仅为 Duplicate Validation 重提当前 T1 并复用同一 API 的 NOOP 分支。Source 持有正式 T0/T1;JNI 为薄桥;Android Validation 触发动作;Renderer 负责 GPU reuse/upload;RasterParticleLayer 持续 simulation/render。Kotlin 不持有 T0/T1 权威状态。

40-04 未改变 U/V、dy=-v、GPU interpolation/MIX property-only 或 40-03 full particle draw 和 capacity ≥ 1,048,576。真实天气网络、GRIB、provider、NavSea/React Native、粒子视觉阶段、WeatherColorLayer、Vulkan、iOS/Metal、生产 mask 与 APK 技术债均未实现。

收尾检查与 Git

  • 本收尾修改功能代码:否。
  • 新的 Android Gradle / ADB / Jest:均未运行。
  • git diff --check:通过。
  • 收尾 commit:待本次文档提交后记录于 Git 交付。
  • 建议 message:docs: close runtime particle field validation。
  • remote branch:origin/particle/main。