feat: add real WeatherV2 Android composite validation
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled

This commit is contained in:
OpenAI Codex
2026-09-05 01:24:18 +08:00
parent da71c8784e
commit 52600cd3be
26 changed files with 903 additions and 64 deletions

View File

@@ -0,0 +1,76 @@
# STEP-055 Android 真实 WeatherV2 风场综合可视化人工验收
状态:等待用户手工 Android 验收。Codex 不执行本文件中的 Gradle、APK 或 ADB 操作。
## Windows 11 构建与安装
在 Windows 11 项目目录执行既有 Android OpenGL Debug 构建命令,并保留 plain 控制台输出,例如:
```powershell
./gradlew :MapLibreAndroidTestApp:assembleOpenGLDebug --console=plain
```
安装、启动和日志均显式选择设备:
```powershell
adb -s 192.168.1.146 install -r <APK_PATH>
adb -s 192.168.1.146 logcat -c
adb -s 192.168.1.146 logcat | findstr /I "REAL_WEATHER WEATHER_COLOR HOST_FIELD ParticleTimeline FIELD_REUSE FIELD_UPLOAD ParticleRender simulationRebuild trailCleared"
```
## 入口
进入 `Particle Core Layer Validation`:
1. `MORE → REAL WEATHER`。
2. 等待地图自动 fit 到 112.5–157.5E、0–55.776573N;应看到 OSM 底图、半透明风速色场及其上的运动粒子。
3. `TIME → PLAY / RESTART`。真实 validTime 保持 6 小时步长;没有额外 Android 加速机制,可使用现有 `SPEED 2x`,或用 `STEP NEXT` 检查边界。
## V1–V8 视觉与行为矩阵
| 项 | 操作 | 期望 |
| --- | --- | --- |
| V1 | `REAL WEATHER` | 出现真实日本/西北太平洋覆盖范围、OSM 底图、风速色场和粒子;无黑屏/crash。 |
| V2 | 比较色场与粒子 | 色场强弱分布与粒子移动方向同源;U=eastward、V=northward,无明显横纵交换/符号反转。 |
| V3 | PLAY | Timeline READY 后 PLAY 成功;MIX 自动推进,颜色与粒子同时连续变化。 |
| V4 | 两次自动边界或 STEP NEXT | T0/T1→T1/T2→T2/T3;日志有 `OLD_T1_TO_NEW_T0` / `FIELD_REUSE`,只出现一个 `NEW_CONTENT` upload。 |
| V5 | 连续播放观察 | 正常 boundary 为 `simulationRebuild=false`、`trailCleared=false`;不得 style reload/layer rebuild。 |
| V6 | Pan/zoom/rotate/viewport resize | 底图、色场和粒子均保持地理对齐;旋转/恢复后自动可见,不按任何恢复按钮。 |
| V7 | `MORE → HOST DUPLICATE` | 对当前 Host window 得到 Duplicate NOOP,field upload/reset count 无增量。 |
| V8 | `MORE → HOST INVALID` | Host canonical invalid 被拒,最后有效 field、色场/Renderer 持续,无黑屏/crash。 |
## 必要日志
正常加载必须可见:
```text
REAL_WEATHER_DATASET_LOAD
HOST_FIELD_SUBMIT_REQUEST / HOST_FIELD_SUBMIT_ACCEPTED
HOST_FIELD_INITIAL_WINDOW_READY
ParticleTimeline: event=READY
REAL_WEATHER_INITIAL_WINDOW_READY
WEATHER_COLOR_FIELD_READY
REAL_WEATHER_COMPOSITE_READY
```
播放/边界检查:
```text
PLAYBACK_PLAY
TIME_MIX_UPDATE or PLAYBACK_TICK
WINDOW_BOUNDARY
FIELD_REUSE from=OLD_T1 to=NEW_T0
FIELD_UPLOAD reason=NEW_CONTENT
simulationRebuild=false
trailCleared=false
```
负向检查:
```text
HOST_FIELD_SUBMIT_REJECTED
ADAPTER_REJECTED
result=NOOP
```
请保存上述日志、V1–V8 结果,以及任何色场与粒子错位、黑屏、旋转后不可恢复或 crash 的时间点。MIX 文本显示可能滞后属于既知 NON-BLOCKING observability,不应替代 Core log 判断。