# STEP-087 QBIN V3 解码与 13.4.1-particle.9 升级 ## 状态 CLOSED / PASS ## 已完成 - 已将用户提供的《WeatherV2 QBIN V3 通用天气场二进制格式与 React 独立 Render Binding 设计 v2.2 最终冻结稿》保存到 `docs/30_设计/`,原文件内容与 SHA-256 保持一致。 - 新增独立 `QbinV3Decoder`,生产 Block Geometry 冻结为 16×16。 - `EncodedFieldIngress` 改为 QBV2 / QBV3 显式 magic 分流;QBV2 兼容链保留。 - `RasterArraySource::submitEncodedField()` 改为统一走 `EncodedFieldIngress::decodeAndValidate()`。 - CMake / Bazel Core 已注册 V3 decoder;CMake test 已注册 V3 decoder tests。 - 新增 8 个 Current / Rain / Wave / Wind QBIN V3 Golden Fixtures、manifest 与中文校验脚本。 - 新增 C++ 定向测试,覆盖 block boundary、Direction wrap、all-invalid、非最优 Rice-K、CRC/descriptor/validity corruption、Rice padding、残差越界、Node grid 与 ingress 分流。 - Mac clang 定向构建并运行 8 个 V3 tests:8/8 PASS。 - Native / RN 版本声明已统一升级到 `13.4.1-particle.9`。 ## Block Geometry 真实 8 帧 benchmark:16×16 数值 payload 为 2,470,419 bytes;32×32 为 2,514,288 bytes,32×32 增加约 1.7758%。32×32 的 decode 总时间仅减少约 2.67 ms / 8 帧,因此最终冻结 16×16。详见 `docs/30_设计/MapLibreParticle_QBIN_V3_Decoder与BlockGeometry实施决策_v1.md`。 ## 最终验证与发布 - `verify-qbin-v3-golden-fixtures.py`:PASS(8 files,block=16×16)。 - QBIN V3 C++ 定向 tests:PASS 8 / FAIL 0。 - Android Release 四 ABI:armeabi-v7a、arm64-v8a、x86、x86_64 全部构建通过。 - iOS Metal `MapLibre.dynamic`:PASS;device-arm64 XCFramework 已生成并发布。 - RN tgz:已生成并发布。 - Android Maven / RN tgz / iOS XCFramework 公网 readback:PASS。 - SwiftPM `6.28.0-particle.9`:已发布。 - Release tag:`maplibre-particle/rn/13.4.1-particle.9`。 - Release Final HEAD:`63047540cba703c8efeae0df71e759e165315f85`。 - Android APK / ADB 仍按项目规则由用户手工执行,不属于本次自动发布门槛。