1.9 KiB
1.9 KiB
STEP-074 QBIN2 V4 Encoded Ingress 与 Decoder Codex 完成报告 v3
已完成
- 基线为
56b8dab90f914438e6fcaec6278146c96c8df638;任务开始前已有 dirty/untracked 内容原样保留,未纳入本任务。 - 新增
RejectsTooSmallInputBeforeMagic、RejectsBadMagicAfterCompleteHeader与RejectsInvalidRuntimeMetadataButAllowsZeroDataVersion,所有断言直接调用 productionQbinV2Decoder::decode并验证具体 error code;dataVersion=0被明确验证为 Accepted。 - 新增
RejectsBigEndianHeaderWidthWithValidCrc:将 width=2 的四字节改为00 00 00 02、重算 CRC 后返回LimitExceeded,没有把它当作 Little Endian width=2。 - 新增
RejectsMixedEndianDescriptorCountWithValidCrc:将 descriptor count 的四字节改为00 00 00 04、重算 CRC 后返回InvalidDescriptor。 - 新增
AcceptsRawLimitWithCanonicalPaddingExcluded:1447×1449、7 Plane,raw sum=31,712,633,canonical payloadLength=31,712,648;测试显式断言 raw sum<= 32 MiB、payload 大于 raw sum 且 decoder Accepted。所有上限仍满足:cells=2,096,703、planes=7、QBIN 小于 64 MiB。
验证结果
- Linux OpenGL
mbgl-test-runner已实际重建及重链:PASS。 mbgl-test-runner --gtest_list_tests:PASS。ParticleQbinV2Decoder.*:ParticleEncodedFieldIngress.*:实际 Running 24 tests,24/24 PASS。- STEP-073
ParticleFieldRuntime.*:ParticleFieldProfileValidator.*:11/11 PASS。 - 既有 V3
Source.ParticleFieldDataAdapter*:Source.RasterArrayTimeline*:Source.HostField*:11/11 PASS。 git diff --check:PASS。
范围与未完成项
只修改 C++ Decoder tests 与本任务文档;未发现生产缺陷,因此 production Decoder 未改。未触及 Host、网络、JNI、Android/RN、Binding/Projection、Renderer、Store submission、iOS/Metal 或 Jest。上述平台与链路不在本 Step 范围,未验证且不作 PASS 声明。