1.9 KiB
1.9 KiB
STEP-074 — QBIN2 V4 Encoded Ingress 与 Decoder v2
状态:完成
日期:2026-09-13
基线
- 开始 HEAD:
83a84452f23d019cbb143630eac04631552fef89。 - 开始前已有 STEP-062 文档修改及历史 untracked 文件;未清理、覆盖、暂存或提交。
完成项
- per-plane
contentIdentity改为 raw bytes 加 descriptor 的明确 Little Endian canonical byte stream;不含byteOffset。 - 64 MiB 为整份 QBIN 上限,32 MiB 为各 Plane raw
byteLength总和上限;canonical padding 不计入 decoded data。 - BITSET 与
VALIDITY双向强制;构造后以DecodedFieldFrame::isStructurallyValid()作最终 fail-closed 自检。 - test-only fixture writer 对整数、float32、float64 明确写 Little Endian。
- decoder/ingress runner 扩为实际 18 tests,包含 header、descriptor、limits、packing、padding、CRC、validity、invalid-cell、identity、513×769 与 Contract 矩阵。
- unknown Scalar opaque unit、unknown field semantic 与
validTimeUtc < referenceTimeUtc的 decoder 容器行为均通过。
验证
cmake --build build-linux-opengl --target mbgl-test-runner -j3:PASS(实际重编译/重链)。mbgl-test-runner --gtest_list_tests:PASS,确认 suites 已注册。ParticleQbinV2Decoder.*:ParticleEncodedFieldIngress.*:18/18 PASS。ParticleFieldRuntime.*:ParticleFieldProfileValidator.*:STEP-073 11/11 PASS。Source.ParticleFieldDataAdapter*:Source.RasterArrayTimeline*:Source.HostField*:既有 V3 11/11 PASS。git diff --check:PASS。
范围确认
只修改 QBIN decoder/header 与 C++ test,未进入 Store submission、Binding/Projection、Renderer/shader、JNI、Android、RN、Test Host、URL/HTTP/download/gzip、iOS/Metal 或 Jest。
阻塞与下一步
无范围内阻塞。本 Step 到此关闭;提交并 push 后停止,不进入下一 Step。