Files
MapLibreParticleLab/docs/50_Step记录/STEP-060D_WeatherRuntimeBridge_attach精确诊断_v1.md
2026-09-08 18:15:35 +08:00

2.9 KiB
Raw Permalink Blame History

STEP-060D WeatherRuntimeBridge attach 精确诊断

状态:进行中(IMPLEMENTED / WAITING_CARBON7I_ATTACH_DIAGNOSTICS)

目标与基线

在 particle/main 的 d1b1e890acdc291011d52e337a52c19a8f665e08 基线上,将 STEP-060 attach 的笼统 weather 对象缺失错误升级为可定位 source、两个 layer 与最终 Style 快照的稳定诊断。未进入 STEP-061 或 binary U/V transport。

完成项

  • attach() 分别计算 rn-weather-fields、rn-weather-color、rn-weather-particles 是否存在。
  • 任一对象缺失时以 WEATHER_OBJECTS_NOT_READY 返回 reactTag、MapView/MapLibreMap/Style present 状态及三个对象的独立 present/missing 状态。
  • 诊断含 styleSourceCount、styleLayerCount 和有界 source/layer ID 摘要;每类最多 24 个 ID,weather ID 优先保留,余项以 …+N 明示截断。
  • 早期分支保持 MAP_VIEW_NOT_FOUND、MAP_NOT_READY、STYLE_NOT_READY;三对象都在时仍走原有 replaceWeatherRuntime() 成功路径,未增加重试、timer 或新的控制语义。
  • 临时 Maven version 改为 13.4.1-step060d,避免新 AAR 复用旧 13.4.1 缓存;Test Host 的既有 version wiring 同步到该坐标,未改变业务流程。
  • Linux OpenGL Release 四 ABI make apackage 通过,Maven Local publication 通过;AAR/POM/module 坐标一致。

交付 AAR

  • group:org.maplibre.gl
  • artifact:android-sdk-opengl
  • version:13.4.1-step060d
  • build output:platform/android/MapLibreAndroid/build/outputs/aar/MapLibreAndroid-opengl-release.aar
  • Maven Local:/root/.m2/repository/org/maplibre/gl/android-sdk-opengl/13.4.1-step060d/android-sdk-opengl-13.4.1-step060d.aar
  • SHA-256(两者一致):7391440f02e976f295caa265bc15e895a7c0183883a0e2cb08deef4cf42b0096

验证与限制

  • JOBS=3 RENDERER=opengl BUILDTYPE=Release make apackage:PASS。
  • :MapLibreAndroid:publishOpenglreleasePublicationToMavenLocal --console=plain:PASS。
  • git diff --check:PASS。
  • :maplibre-particle_weather-runtime-bridge:compileDebugKotlin:当前 untracked Expo Android 生成工程没有 NativeWeatherRuntimeBridgeSpec,标准 :app:generateCodegenArtifactsFromSchema 也为 SKIPPED,故无法独立验证 bridge Kotlin。失败为已有 codegen 产物缺失而非本轮诊断源码的类型错误;本轮不修改生成工程、codegen 契约或 RN bridge 架构来掩盖它。

禁止范围确认

未修改 WeatherRuntime、MapLibreMap、Core renderer/shader、固定 weather ID、React Native 业务流程或 binary U/V transport;未执行 Windows Maven Local 更新、dependencyInsight、APK build/install、ADB 或 Android 运行验证。

下一步

将本记录的唯一 AAR 坐标/SHA 提供给 CARBON7i:更新其 Maven Local,确认 dependencyInsight 后由用户手工 Android 运行 attach,收集 WEATHER_OBJECTS_NOT_READY 精确诊断。仍属于 STEP-060;不得据此进入 STEP-061。