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

27 lines
1.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 下粒子运动。