Files
MapLibreParticleLab/docs/50_Step记录/STEP-055_Android真实WeatherV2风场综合可视化_v3.md
OpenAI Codex 7f66b10013
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
fix: fail closed on particle target creation exceptions
2026-09-05 09:22:44 +08:00

1.3 KiB
Raw Permalink Blame History

STEP-055 Android 真实 WeatherV2 风场综合可视化 v3

状态:IMPLEMENTED / WAITING_ANDROID_VALIDATION

Starting HEAD:f8027312e6e06d539e9ad222b60ac9a496b1758d

Float State fail-closed 小修复

createValidationTarget() 现在将 RenderTarget 的创建、FBO validation、sampler 设置和 LayerGroup 接线置于局部 try 边界内。

  • std::exception(包括 std::runtime_error 和 std::bad_alloc)记录 stage=exception error=... 后返回空 target。
  • 未知异常记录 stage=unknown_exception 后返回空 target。
  • validation 失败记录 stage=validation 后返回空 target。
  • 没有回退到 UnsignedByte:State A/B 仍为 Float,Trail A/B 仍为 UnsignedByte。

调用方已有空 target 检查,因而 Float framebuffer 创建异常会 fail-closed,不继续向 Renderer 上层传播异常。

不变边界

未修改 canonical Field、Timeline、Runtime Field Window、WeatherColorLayer、REAL WEATHER UI 或 visualSpeedScale=6000。

验证

Linux OpenGL 精确编译 render_particle_validation_layer.cpp 及既有非 Jest style_layer.test.cpp 均通过;git diff --check 通过。未执行 Android Gradle、APK、ADB、设备测试或 Jest。

下一步仍是用户 Android 手工验收 Float State target 创建与 Pause 下粒子运动。