27 lines
1.3 KiB
Markdown
27 lines
1.3 KiB
Markdown
# 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 下粒子运动。
|