1.6 KiB
STEP-056 React Native 天气渲染桥接现状调查
状态:INVESTIGATED / READY_FOR_HOST_BRIDGE_FOUNDATION。
Starting HEAD:44a50e6e4a4e79fae7ddf36af007b5e35e969a92。
本阶段为只读调查,未修改 C++、Kotlin/Java、JNI、shader 或 Android UI;未执行 Android Gradle、APK、ADB、设备测试或 Jest。
结论:仓库没有现成 React Native/TurboModule/Fabric/JSI binding。可复用的稳定 seam 是 Android MapLibreMap.submitRasterArraySourceHostField() → JNI → RasterArraySource::submitHostField();它已严格复用 canonical Descriptor、Adapter、Snapshot、Core Timeline 与 Runtime Window。
当前 byte[] Host path 适合 RN v1 先以 ArrayBuffer/Uint8Array materialize 为 byte[] 后接入;单帧 513×769 U/V 为 3,155,976 bytes,存在 Java/C++ Snapshot 多次 copy,direct ByteBuffer/zero-copy 仅在 profiling 后另行优化。
下一实现建议为 STEP-057 Android Host Weather Runtime Bridge Foundation:补齐 typed lifecycle/clear、timestamp time control、visibility/style、structured low-frequency result/event,以及 dynamic WeatherColor stops 和独立 particle/trail color contract。RN package 本身因本仓库没有 RN host/dependency 不应凭空创建;未来 React 层薄包裹该 facade。
targetFps 应另列性能批次:现有约 60 FPS 来自两层 needsRepaint() → Map update/requestRender;MapView#setMaximumFps() 是全图上限,不是天气专属节流点。STEP-057 不应改变既有 Renderer scheduling。
调查报告:docs/20_调查/STEP-056_RN天气渲染桥接现状调查_v1.md。