1.8 KiB
1.8 KiB
STEP-043A 40-02C 源码审查后最小修正完成报告
开始基线为 5dd4dbf4967c1238e1bde8fb66fe3dbd2c4fe52a,状态为 IMPLEMENTED / WAITING FOR ANDROID VALIDATION。
- Reuse:旧 T0/T1 texture/image 可复用,但
resourcessnapshot 现在写入 wanted revision,避免下一帧重复 sourceChanged。 - MIX:guard 完成后才赋值
timeMix;拒绝时没有 state/property/style mutation。 - Diagnostics:新增 renderLayerInstanceId、LAYER_CREATE/DESTROY/CHANGED、FIELD_UPLOAD、FIELD_REUSE、SIMULATION_RESET/resetCount 与 TIME_MIX_UPDATE 关联字段。
- Style:INITIAL、ENABLE、DISABLE、UNIFORM_EAST、UNIFORM_NORTH、TIME_WINDOW、ADVANCE 等调用点均传明确 reason;MIX 不会触发 Style load。
- 检查:shader generator、Linux Core/source-test object、clang-format、diff check 通过。未运行 Android Gradle、ADB 或设备验证。
用户手工:
cd /mnt/sda1/MapLibreParticleLab/platform/android
./gradlew :MapLibreAndroidTestApp:assembleOpenglDebug --console=plain
随后以 adb -s 192.168.1.146 安装并验证 T1--T10;在用户设备验收前不得判 PASS。
代码/文档提交:de665212cac9e3bab771077f38e55604e4c28694(fix: correct particle time-window reuse state)。本报告更新后的最终文档提交与 origin/particle/main HEAD 见本次收尾提交。
Kotlin nullable Layer 编译修正
Android Kotlin 编译发现 Layer? 无法通过中间 rejectReason smart cast。setTimeMix() 现先直接检查 layer == null,记录 MIX_REJECTED reason=LAYER_NOT_READY 后 return;其余 STYLE_LOADING、DISABLED、TIME_WINDOW_OFF guards 同样在 timeMix 赋值前 return。未使用 !! 或安全调用静默跳过。修复提交:7a1ed80b0f870ff8c01b27d56f7890e53992b79e。