1.8 KiB
STEP-060 RN Test Host 与 WeatherRuntime 薄桥接
状态:完成(IMPLEMENTED / WAITING_ANDROID_VALIDATION)
目标与基线
基于 particle/main 的 b535d98263af58ac86845f15bb7c51bd85b59519,在仓库内建立独立 RN Test Host,证明 reactTag → MLRNMapView → MapLibreMap → per-map WeatherRuntime 的低频控制链路;不进入 STEP-061 Binary Field 或 NavSea 正式接入。
完成项
- 冻结 RN 0.85.2 / React 19.2.5 / Expo 56.0.4 / MLRN 11.3.6 / TypeScript 5.9.3 基线。
- 以 MLRN 实际 11.3.6 源码核对
nativeVersion/nativeVariant与 reactTag resolver;custom OpenGL SDK 只从 Maven Local 解析。 - Test Host style 明确含 host-field RasterArraySource、WeatherColor 与 RasterParticle layers。
- Phase A:getState、enabled、两层 visible、targetFps。
- Phase B:forecast timestamp、playback/speed、ramp、独立 particle/trail color、粒子视觉与 WeatherColor opacity。
- map-owned WeatherRuntime、style replacement、View detach 与 React unmount dispose 路径。
边界
Bridge 每次由 Fabric UIManager 解析 reactTag,不复制 MLRN 私有 mViews,不建立 global/current-map 或 timeline/playback registry。MapLibreMap.replaceWeatherRuntime / disposeWeatherRuntime 是为消除桥接 registry 所作的最小上游 Host ownership seam;它不改 WeatherRuntime 状态机或 C++ renderer。不存在 field payload、provider/network、RN JS state machine、iOS bridge 或 NavSea 业务代码。
验证与剩余
已执行 throttle 下 npx tsc --noEmit(PASS)、package-lock/config 一致性检查(PASS)、bridge boundary 搜索(PASS)与 git diff --check(PASS)。Android Gradle、artifact publish、APK、ADB、设备和 Jest 明确留给手工验收;本 Step 不宣称 Android 已验证。