3.4 KiB
STEP-062 RN Test Host 真实 WeatherV2 底图粒子综合验证 v1
状态:IMPLEMENTED / WAITING_ANDROID_VALIDATION
目标与冻结基线
- 分支:
particle/main;开工 HEAD:364596574a620037fa854cfea174075f8107a504。 - Test Host 固定消费
org.maplibre.gl:android-sdk-opengl:13.4.1-step061;没有修改、构建或发布 AAR。 - 范围仅
MapLibreParticleRNTestHost,不进入 NavSea,未改 Native/Core/JNI/WeatherRuntime/STEP-061 ingress,未加入或运行 Jest。
必做项
- GSI 标准 raster source/layer(256、maxzoom 18、国土地理院 attribution)置于 WeatherColor/RasterParticle 下方。
- 初始 Camera 聚焦
[135, 32]、zoom3.9,直接覆盖日本及相邻 WeatherV2 区域。 - 原样复制 ECMWF HRES
2026080700/06/12/18dataset、metadata、raw field.f32 到 Test Host 受控 assets。 expo-asset直接依赖与仅增加.f32的 Metro asset 配置。LOAD REAL WEATHER T0-T3:clear → materialize 四个file://URI → validTime 递增 submit → NativeREADY硬断言。- 显示 GSI/loading error、dataset identity、T0–T3 submit result、Runtime 与 FILE_REF/FLOAT32_LE/INTERLEAVED_UV transport 状态。
- 接线 playback/speed、timestamp seek、weather-local FPS、双层 visibility、冻结 stops、独立颜色和粒子视觉参数。
- Test Host README、开发记录、中文完成报告。
资产与 transport
每帧 grid=513×769,raw payload=3,155,976 bytes,canonical contract=maplibre-particle-field/v1 / float32-le / interleaved-uv(U eastward、V northward)。Expo Asset 只输出其 cache 中的本地 file:// URI;payload 不进入 JS number array、JSON、base64 或 hex。Expo/OS 管理 cache,代码没有另建或累积 .f32 临时文件。
预期 Core submit 顺序严格为:T0 ACCEPTED_PENDING_INITIAL_WINDOW、T1 INITIAL_WINDOW_READY、T2 ACCEPTED_NEXT_SNAPSHOT、T3 ACCEPTED_NEXT_SNAPSHOT,最终 READY。T0/T1/MIX runtime window 仍由 Core 独占,JS 只保留 producer timestamp 供 setForecastTime(timestampMs) 调用。
静态验证
npm run typecheck:PASS(经 build-output-throttle,log 位于/tmp/step062-build-logs/,未加入工作树)。node --check metro.config.js与实际 config.f32extension:PASS。npx expo export --platform android:PASS;Metro 实际导出四个3,155,976-byte.f32assets。- dataset、四个 metadata、四个 field.f32 的源/目标 SHA-256:逐文件一致,四个 field 复用相同 Git blob。
- transport static audit:PASS;源码层数组顺序为
rn-basemap → gsi-standard → rn-weather-color → rn-weather-particles;git diff --check:PASS。
当前结果、阻塞与下一步
代码状态为 IMPLEMENTED / WAITING_ANDROID_VALIDATION,绝不等同 Android PASS。Codex sandbox 的 .git/index.lock 只读限制已由 RDC 接管收尾;功能实现已提交并推送:a91e3601f37f3adfe5d8b7b6a6c3f7f04fcadb8f(feat: add STEP-062 real weather test map)。
后续 CARBON7i APK-only 周期需在同一冻结 13.4.1-step061 AAR 下验证:GSI tile 实际加载与 attribution、四帧 Asset file URI、T0–T3 硬断言/Native READY、WeatherColor/Particle 地理对齐、pan/zoom/bearing、seek/playback/FPS/visibility 独立性,以及连续提交下 OOM、卡死和异常 GC。Codex 未执行 Android Gradle、assembleDebug、ADB、安装或设备测试。