Files
MapLibreParticleLab/docs/50_Step记录/STEP-075_QBIN2_V4_Binding与ProjectionIdentity_v2.md
OpenAI Codex 653e6f2f15
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
docs: record STEP-075 push result
2026-09-13 14:11:07 +08:00

2.3 KiB
Raw Blame History

STEP-075 — QBIN2 V4 Binding 与 Projection Identity v2

状态:完成

日期:2026-09-13

目标与基线

  • 基于 STEP-075 v1(3616daec30079395847cc6a538fbd963641b7e12)完成独立审计收口。
  • 仅修改 provider-neutral Core Binding/Projection、其离线单元测试与本 Step 文档;没有进入 STEP-076。

必做项

  • 新增 ProjectionFrameCoordinate,只以 fieldID + validTimeMs 表达 T0/T1 window coordinate;完整 FrameContentIdentity 仍保留在 resolved frame 中作 revision/runtime 诊断。
  • Color 和 Particle identity 均统一比较 binding、T0/T1 coordinate、各自 selected plane content identity 及 T0/T1 shared validity content identity。
  • 移除 Resolver 公共 InterpolationIncompatible 错误码;FieldSeries::submit 已拒绝不兼容相邻 frame,resolve 只返回已验证 window。
  • 通过 Store 的 same-valid-time ReplacedRevision 测试 Scalar-only、U/V-only、validity-only revision:分别为 Color-only change、Particle-only change、两者均 change。
  • 保持各 binding 独立 fieldKey/cadence、MIX 不进入 identity、in-window storage stable,以及 DirectionAngle success/failure coverage。

允许修改

  • include/mbgl/particle/field/field_binding.hpp
  • src/mbgl/particle/field/field_binding.cpp
  • test/particle/field_binding.test.cpp
  • 本 Step v2、完成报告 v2 与 粒子开发记录.md

禁止修改

  • 未修改 Decoder、FieldSeries、Profile Validator、Renderer、Host/JNI/RN、Android/iOS 或网络数据路径。
  • 未执行 Android Gradle/APK/ADB/Jest、iOS/Metal、Renderer/GPU 或真实 QBIN Golden 数据。

验证与当前结果

  • Linux OpenGL cmake --build build-linux-opengl --target mbgl-test-runner -j3 真实重建 PASS(输出节流)。
  • 规定 GTest XML /tmp/step075-gtest.xml:50 tests、0 failures、0 errors。Binding 4;Runtime/Profile 11;QBIN Decoder/Ingress 24;V3 Source 11。
  • git diff --check PASS。

Git

  • scoped commit:90d05f596a42c157502f9a2a5f20425c999cebab,fix: close STEP-075 projection identity audit。
  • 已成功 push:3616daec3..90d05f596 particle/main -> particle/main。

阻塞与下一步

  • 无实现阻塞。Android/Jest/iOS/Metal 等禁止范围没有验证,不能视为 PASS。
  • STEP-075 已关闭;按任务书停止,不进入 STEP-076。