2.2 KiB
MapLibre 粒子 Android 发布与 React Native 包设计 v1
版本与坐标
真实基础为 MapLibre Native Android 13.4.1,共同 core commit 为 18545ca10d296704b2cba675b182ff2c8da24588,本发行只准备 Android OpenGL。正式规则为 <上游版本>-particle.<修订号>;首发为 13.4.1-particle.1。正式 npm 包为 @navsea/maplibre-particle-rn@13.4.1-particle.1,正式 Maven 坐标为 cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1。
step061 是已经完成验证的开发阶段制品编号,不是正式发行版本。release manifest 是 release/maplibre-particle/release-manifest.json;registry URL 暂不决定,manifest 中 npm/Maven server 字段均为 null。
Consumer 依赖关系
Consumer
↓ 直接安装
@navsea/maplibre-particle-rn
↓ 唯一 MapLibre RN native module
@maplibre/maplibre-react-native 11.3.6
↓ Gradle dependency substitution
cc.navsea.maplibre:android-sdk-particle-opengl:13.4.1-particle.1
正式包 re-export 已有 MLRN Map、Camera 等公共 API,并包含 WeatherRuntime TurboModule。它不是 MLRN 的完整 fork;@maplibre/maplibre-react-native 是正式包的内部依赖,而 Consumer 不应再直接安装第二份 MLRN。package plugin 把 MLRN 唯一的 org.maplibre.gl:android-sdk-opengl 请求替换为正式 NavSea AAR,避免官方 AAR 与 Particle AAR 同时进入 APK。
WeatherColorLayer 与 RasterParticleLayer 是 Core-only style layer,不是 React 组件;包公开 createParticleWeatherStyle() 和稳定 IDs 以声明样式。field 仍只经既有 metadataJson + local file:// payload → WeatherRuntime → RasterArraySource::submitHostField() 进入 Native/Core;不创建第二套 ingress、Timeline 或 Runtime Window。
发布与升级边界
Consumer 不编译 MapLibre Native 源码,也不使用 workspace、relative source path、CMake path 或软链接。registry 未决定时,.tgz 与 Maven Local/临时 staging 只用于预发布验证,不是最终部署决定。未来升级到新的上游版本时,按 13.5.0-particle.1 等新发行线重新完成 Native、tarball Consumer 和 APK 验证;通过后才单独创建 release tag。