Files
MapLibreParticleLab/docs/报告/STEP-074_QBIN2_V4_EncodedIngress与Decoder_Codex完成报告_v3.md
OpenAI Codex f4a495ff38
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
test: close STEP-074 QBIN2 decoder coverage
2026-09-13 11:51:45 +08:00

1.9 KiB
Raw Permalink Blame History

STEP-074 QBIN2 V4 Encoded Ingress 与 Decoder Codex 完成报告 v3

已完成

  • 基线为 56b8dab90f914438e6fcaec6278146c96c8df638;任务开始前已有 dirty/untracked 内容原样保留,未纳入本任务。
  • 新增 RejectsTooSmallInputBeforeMagic、RejectsBadMagicAfterCompleteHeader 与 RejectsInvalidRuntimeMetadataButAllowsZeroDataVersion,所有断言直接调用 production QbinV2Decoder::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 声明。