From c3aa1778241259af4f6f812f2803e30f52a1df68 Mon Sep 17 00:00:00 2001 From: OpenAI Codex Date: Tue, 8 Sep 2026 22:15:47 +0800 Subject: [PATCH] docs: record STEP-060F source closeout --- ...Opacity与Android收尾修复_Codex完成报告_v1.md | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 docs/报告/STEP-060F_WeatherColorOpacity与Android收尾修复_Codex完成报告_v1.md diff --git a/docs/报告/STEP-060F_WeatherColorOpacity与Android收尾修复_Codex完成报告_v1.md b/docs/报告/STEP-060F_WeatherColorOpacity与Android收尾修复_Codex完成报告_v1.md new file mode 100644 index 000000000..6f96e275a --- /dev/null +++ b/docs/报告/STEP-060F_WeatherColorOpacity与Android收尾修复_Codex完成报告_v1.md @@ -0,0 +1,35 @@ +# STEP-060F WeatherColor Opacity 与 Android 收尾修复 — Codex完成报告 v1 + +状态:`IMPLEMENTED / WAITING_ANDROID_VALIDATION` + +## 完成内容 + +- 新增 `MapLibreMap.setWeatherColorOpacity(String layerId, float opacity): boolean`,通过 `NativeMap`、`NativeMapView`、JNI registration 与 `NativeMapView::setWeatherColorOpacity()` 到达 Core `WeatherColorLayer::setOpacity()`。 +- C++ 对不存在 layer、非 `WeatherColorLayer` 和非 finite opacity 返回 false;成功路径保持 WeatherColor CoreOnly,不创建 Java Layer peer。 +- `WeatherRuntime.setWeatherColorOpacity()` 已改为 typed WeatherColor API,保留 `ACCEPTED / REJECTED` 契约。 +- `setStyleLayerFloatProperty()` 仍只接受既有 raster-particle whitelist,仍只转换为 `RasterParticleLayer`;Timeline/Playback 语义未改。 +- 新增受控 Windows 启动脚本,保留 `tcp:8091 -> tcp:8091` 并增加 `tcp:8081 -> tcp:8091`;设备、package、activity 与 Metro 端口不变。 +- `app.json` 仍为 landscape;下次 Android prebuild/build 应生成 `MainActivity android:screenOrientation="landscape"`。 +- `platform/android/VERSION`、Bridge Gradle 与 Expo plugin 均更新到 `org.maplibre.gl:android-sdk-opengl:13.4.1-step060f`。 + +## 已知验证与边界 + +STEP-060E 的 Android attach 已 PASS,`WEATHER_OBJECTS_NOT_READY` 已解决。无 Binary Field 时 `TIMELINE_NOT_READY` 是预期 fail-closed 行为,本轮没有为此改变 Timeline。 + +已执行 JNI 声明/实现/registration 静态核对、WeatherColor setter 路径核对、particle whitelist 边界核对、版本/脚本/landscape 检查与 `git diff --check`。未执行 Android Gradle、AAR build、Maven Local publish、APK build、ADB、安装、设备测试或 Jest。 + +`AAR_BUILD_NOT_EXECUTED_BY_CODEX` + +## Git 交接 + +- Starting HEAD:`3f9f2456d636e7a013038ed69b8f392d6de4b197`。 +- Source commit SHA:`c91af1682574d1e7a24de1060b50f9a7e2e2e25d`。 +- Source commit message:`fix: route WeatherColor opacity through typed API`。 +- Source handoff local / remote HEAD:`c91af1682574d1e7a24de1060b50f9a7e2e2e25d` / `c91af1682574d1e7a24de1060b50f9a7e2e2e25d`。 +- Remote branch:`origin/particle/main`。 + +Codex CLI 运行在 `workspace-write` sandbox 中时,`.git` 被挂为只读:`git pull` 无法写 `FETCH_HEAD`,`git commit` 无法创建 `.git/index.lock`。因此源码与文档由 Codex 完成后,Git commit/push 由 ChatGPT 通过 RDC 在同一仓库审查后完成;不得把该限制误写成源码未提交。 + +## 后续人工链路 + +用户手工构建并发布 `13.4.1-step060f` OpenGL AAR,核对 Linux build/Maven Local 与 Win11 下载 SHA-256,确认 Bridge 与 MLRN 的 dependencyInsight 均解析该版本,随后 clean prebuild、APK 构建与双 reverse 安装。最终 Android gate 为横屏、attach、无 `WEATHER_OBJECTS_NOT_READY`、`weather opacity: ACCEPTED`、无 `UNSUPPORTED_PROPERTY`,同时无 field 下允许继续出现 `TIMELINE_NOT_READY`。在此之前不得标记 STEP-060 CLOSED / PASS,也不得进入 STEP-061。