fix: route WeatherColor opacity through typed API
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
@@ -4,13 +4,13 @@
|
||||
|
||||
1. 确认当前为 `particle/main`,并记录 `git rev-parse HEAD`。Gate C 封存 Linux 环境是 custom MapLibre Native AAR 的构建环境;不要为 Test Host 生成工程的版本修改它。
|
||||
2. 移走或清理 `~/.m2/repository/org/maplibre/gl/android-sdk-opengl/13.4.1/` 的旧 artifact,避免同坐标 provenance 混淆。2026-08-29 旧 AAR 的 SHA-256 是 `5c67d2751fafe211a0df4b82deded09ab1c07cf6ca0f4a12a880283287f85e5c`,只能作为 Gate C 历史证据。
|
||||
3. STEP-060D attach 精确诊断当前使用唯一坐标 `org.maplibre.gl:android-sdk-opengl:13.4.1-step060d`。Linux 已完成 OpenGL Release 四 ABI build 与 Maven Local publication;Maven Local 的同版本 AAR、POM、module metadata 均存在,且没有 `.asc`。Maven Central 正式 publication 仍要求签名。
|
||||
4. 此诊断 AAR 与 Linux build output AAR SHA-256 均为 `7391440f02e976f295caa265bc15e895a7c0183883a0e2cb08deef4cf42b0096`,并含 `WeatherRuntime.class`、`MapLibreMap.class` 与四 ABI。Windows 必须先以此版本和 SHA 更新 Maven Local,再运行 dependencyInsight / APK 流程;不得混用先前 `13.4.1` artifact(其 SHA `2e73e…`)。
|
||||
3. 本轮唯一坐标是 `org.maplibre.gl:android-sdk-opengl:13.4.1-step060f`。必须先在 Linux 手工构建并 publish 这个新 AAR,记录 build output 与 Maven Local AAR SHA-256 且两者一致;不得复用 `step060e` 或先前 `13.4.1` artifact。
|
||||
4. 将该 AAR 按发布流程复制到 `/mnt/nas/pbf/`,Win11 用每次不同的 `?v=<cache-busting-value>` 下载,核对 SHA-256 后安装 Maven Local。
|
||||
5. `cd integration/react-native/MapLibreParticleRNTestHost && npm ci && npx expo prebuild --platform android --clean`。`package-lock.json` 已在无 `--legacy-peer-deps` 的 npm 安装下通过;不要改用 Yarn 或生成 `yarn.lock`。本次 plugin 变更后必须 clean prebuild。
|
||||
6. 检查生成 root Gradle 有 `MapLibreParticleRNTestHost custom OpenGL SDK`、`nativeVersion=13.4.1`、`nativeVariant=opengl`;Maven Central 必须排除精确 custom module `org.maplibre.gl:android-sdk-opengl`,使该 AAR 缺失时失败而非 fallback。MLRN 的 turf/annotation/scalebar 不是 custom SDK,不应被这个模块级排除误伤。
|
||||
6. 检查生成 root Gradle 有 `MapLibreParticleRNTestHost custom OpenGL SDK`、`nativeVersion=13.4.1-step060f`、`nativeVariant=opengl`;MLRN 与 Bridge 两条 `dependencyInsight` 都必须解析到 `13.4.1-step060f`。Maven Central 必须排除精确 custom module `org.maplibre.gl:android-sdk-opengl`,使该 AAR 缺失时失败而非 fallback。
|
||||
7. 首次 prebuild 后实际记录 Test Host 的 Gradle wrapper、AGP、Kotlin plugin、min/compile/targetSdk、NDK、JDK、Hermes 与 New Architecture。当前观察到的 `9.3.1/8.12.0/2.1.20/24/36/36/27.1.12297006` 属于 Test Host 生成工程,不等于 Gate C 环境。
|
||||
8. 再按实际生成工程编译/安装 Test Host。启动后确认单一地图正常加载;style ready 后应显示 reactTag 和 `WAITING_FOR_FIELDS`,不提交 field 时粒子/色场为空是预期。
|
||||
8. 再按实际生成工程编译。`app.json` 的 landscape 配置在本次 clean prebuild 后应使 `MainActivity` 生成 `android:screenOrientation="landscape"`;核对后以 `scripts/05-install-and-run.ps1` 安装启动。该脚本必须同时保持 `adb -s 192.168.1.146 reverse tcp:8091 tcp:8091` 与 `adb -s 192.168.1.146 reverse tcp:8081 tcp:8091`。
|
||||
9. 对同一 reactTag 依次验证 Phase A:getState、enable、WeatherColor visible、particle visible、FPS 30 均得到结构化 Native result。
|
||||
10. 验证 Phase B:PLAY/PAUSE、HALF/NORMAL/DOUBLE、epoch-ms seek、stops、独立 particle/trail RGBA、count/line/length/opacity/fade/WeatherColor opacity。不得出现 JS `PLAYING/PAUSED` 第二状态机。
|
||||
10. 验证 Phase B:stops、独立 particle/trail RGBA、count/line/length/opacity/fade 与 WeatherColor opacity。`weather opacity` 必须为 `ACCEPTED`,且不再出现 `ParticleGPU: event=STYLE_PROPERTY_SET result=UNSUPPORTED_PROPERTY`。无 Binary Field 时 PLAY/PAUSE、HALF/NORMAL/DOUBLE 与 epoch-ms seek 仍可因 `TIMELINE_NOT_READY` 返回 `REJECTED`;不得改变这个 fail-closed 行为,也不得出现 JS `PLAYING/PAUSED` 第二状态机。
|
||||
11. 重载 style:旧 Runtime 必须 disposed;style ready attach 的新 Runtime 正常工作。remount Map 后,用旧 reactTag 调用必须返回 `MAP_VIEW_NOT_FOUND`,不得命中新 Map。
|
||||
12. 卸载 Host:确认 view detach dispose;无持续 Handler wake、无全局 current map。通过上述 Android 验收后才进入 STEP-061;此前不要尝试 number[]、JSON/base64 大 field。
|
||||
|
||||
Reference in New Issue
Block a user