2.3 KiB
STEP-067 MapLibreParticleLab V3-03 Scalar GPU 与 Generic Field Renderer Codex 完成报告
状态:CLOSED / PASS
生产代码修改
weather_color_layer.*与weather_color_stop.hpp:增加明确FieldValueSource(默认VectorMagnitude),将 color stop 的 C++ 内部字段改为 genericvalue。render_weather_color_layer.cpp:同一 renderer 按 source 显式上传 scalar 或 vector bundle,A 写 shared validity;source 不匹配时 unavailable。切换 source 不复用旧的不同编码,正常同 source rollover 继续重用 immutable decoded bundle。particle_gpu_validation.fragment.glsl与生成的 OpenGL header:Weather pass 用 UBO flag 选择 scalar 或 vector magnitude,分别对 T0/T1 做数值插值后进入通用 ramp;默认 ramp 保留旧 Wind 的 0..30 数值外观,但不再声明固定 m/s 单位。render_particle_validation_layer.cpp:Particle 仅接受 vector +Velocity;scalar 或Direction清理粒子资源、不可绘制。粒子 shader 的物理 U/V 计算未改变。
验证结果
shader generator、三个受影响 C++ 编译对象、Source.ParticleFieldV3* 与 WeatherColor layer 过滤测试、git diff --check 均 PASS,命令输出均经 build-output-throttle 限流。此前受限终端未完成的全量重链,已由用户在当前 HEAD(06fcbef9ccb820e595f06acbd356950de7e3a73f)手工执行 ninja -C build-linux-opengl -j3 mbgl-test mbgl-test-runner 收尾,输出为 ninja: no work to do.;因此确认 mbgl-test、mbgl-test-runner 的完整目标和依赖已最新,没有待处理的构建或重链接工作。
该手工 Ninja 结果不等于重新执行全量测试用例:本次未重跑完整测试套件,只确认构建/重链接目标无待处理工作。
未执行 Android Gradle、AAR、APK、ADB 或 Jest;未触碰 STEP-062 用户修改、历史 untracked、build/cache/tgz。
Git 收尾
实现基线提交为 06fcbef9ccb820e595f06acbd356950de7e3a73f(docs: record STEP-067 scalar GPU renderer)。本次关闭仅提交 STEP-067 任务归档、Step 记录、完成报告和开发记录;不会暂存 STEP-062 用户修改、历史未跟踪文件、build/cache 或 tgz。关闭提交 hash、push 结果与最终 HEAD == origin/particle/main 复核见本次交付终端回执。