Files
MapLibreParticleLab/docs/报告/STEP-043A_40-02C源码审查后最小修正_Codex完成报告_v1.md
OpenAI Codex 0ab94c4eab
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
docs: record Kotlin layer guard fix
2026-09-03 08:42:25 +08:00

1.8 KiB
Raw Permalink Blame History

STEP-043A 40-02C 源码审查后最小修正完成报告

开始基线为 5dd4dbf4967c1238e1bde8fb66fe3dbd2c4fe52a,状态为 IMPLEMENTED / WAITING FOR ANDROID VALIDATION。

  • Reuse:旧 T0/T1 texture/image 可复用,但 resources snapshot 现在写入 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。