4.0 KiB
4.0 KiB
STEP-060A RN Test Host 编译前修正 — Codex 完成报告
状态:READY_ANDROID_VALIDATION
实际修正
- RN
0.85.2当前安装的node_modules/@react-native/codegen/lib/generators/modules/GenerateModuleJavaSpec.js第 36 行生成public abstract class,第 526 与 536 行为必选方法生成@ReactMethod与abstract。Promise 返回在同一模板中追加Promise promise。这证明 STEP-060 的 Kotlin implementation 必须 override Spec 方法。 WeatherRuntimeBridgeModule.kt已为 attach、detach、getState、enabled/visible/target FPS、forecast、playback/speed、stops、particle/trail colors 及全部 visual controls 共 20 个 JS Spec 方法补齐override。逐项脚本比较NativeWeatherRuntimeBridge.ts的 20 个方法与 Kotlinoverride fun,没有缺失。View attach listener 的两个 override 是 Android 回调,不是 Spec 方法。- 未发现除 override 外的 Codegen signature mismatch;number→
Double、boolean→Boolean、string enum→String、ColorStop list→ReadableArray和 Promise 末参均保持现有最小实现,没有重构 bridge。 - Test Host 统一使用 npm,
packageManager为npm@10.9.4,锁文件是现有package-lock.json(lockfile v3);没有 yarn.lock。 - 实际
npm ci --ignore-scripts --no-audit --no-fund通过,未需要--legacy-peer-deps。当前环境 npm 为 11.19.0;packageManager声明保留任务指定的 npm 10.9.4 目标,人工验收以npm ci使用 lock。 - package/config 明确控制 package 版本、
app.json的 New Architecture 请求、MLRN native13.4.1/openglroot extras 与 Maven Local 防 fallback。AGP、Gradle、Kotlin、SDK、NDK、Hermes 和最终 New Architecture 生成值仍待首次 prebuild 后实际检查;文档不再把它们表述为已验证冻结。 - STEP-060 ownership/lifecycle 未改:每次 command 仍通过 Fabric UIManager 定位 concrete MLRNMapView,再到 MapLibreMap 的 map-owned WeatherRuntime。未新增 Adapter、Normalizer、global/current map 或第二 registry。
- 未实现 Binary Field,未加入 number[]/JSON/base64 field、JSI、NavSea、iOS、Core renderer/timeline 改动。
文件
integration/react-native/MapLibreParticleRNTestHost/modules/weather-runtime-bridge/android/src/main/java/org/maplibre/particle/rntesthost/weather/WeatherRuntimeBridgeModule.ktintegration/react-native/MapLibreParticleRNTestHost/package.jsonintegration/react-native/MapLibreParticleRNTestHost/README.mddocs/50_Step记录/STEP-060A_RNTestHost编译前修正_v1.mddocs/60_测试/STEP-060_RNTestHost_Android人工编译与验收_v1.mddocs/报告/STEP-060_RNTestHost与WeatherRuntime薄桥接_Codex完成报告_v1.md粒子开发记录.md与本报告。
实际验证
npm install --package-lock-only --ignore-scripts --no-audit --no-fund:PASS。npm ci --ignore-scripts --no-audit --no-fund:PASS(530 packages);不需 legacy peer deps。- throttle 下
npx tsc --noEmit:PASS。 - RN Codegen generator 语义、20 个 JS Spec 与 Kotlin override 一一检查、
node --check、package/lock 检查、yarn 残留搜索、git diff --check:PASS。
未执行与人工验收
未执行 Android Gradle、custom AAR publish、Expo prebuild、APK/AAB、ADB、安装、App launch、模拟器/真机、Jest。用户下一步按更新后的 STEP-060 人工验收说明:先记录 HEAD、清除旧 Maven Local 同版本 artifact、publish 当前 custom SDK、npm ci、Expo prebuild、核对实际工具链/Hermes/New Architecture 与 custom resolution,再进行 Phase A/B、style reload 和 remount 验收。
Git
- Starting HEAD:
6a99f1a1424ce7e30c26e825251df956a46bf4c4 - 功能 commit:
51b58024323aeb47103ccc08e50a53ac0ab75d43(fix: correct RN WeatherRuntime codegen bridge) - 文档 commit:
7c771709e012d3525aa07b766d36fedde12aed7c(docs: record STEP-060A prebuild fixes) - Final HEAD / Remote HEAD / push:由本报告元数据收尾 commit 与 push 后交付消息给出。