fix: stabilize particle visibility across zoom levels
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
Some checks failed
validate-scripts / validate-scripts (push) Has been cancelled
This commit is contained in:
16
docs/50_Step记录/STEP-055_Android真实WeatherV2风场综合可视化_v6.md
Normal file
16
docs/50_Step记录/STEP-055_Android真实WeatherV2风场综合可视化_v6.md
Normal file
@@ -0,0 +1,16 @@
|
||||
# STEP-055 Android 真实 WeatherV2 风场综合可视化 v6
|
||||
|
||||
状态:**IMPLEMENTED / WAITING_ANDROID_VALIDATION**
|
||||
|
||||
Starting HEAD:`067bfdc38baa32d6e474a502d67bc0910d18e247`
|
||||
|
||||
## 低缩放可见性与 Trail 稳定性修复
|
||||
|
||||
- visual scale 使用 `effectiveScale = clamp(1200 * 2^(9 - zoom), 300, 153600)`;simulation step 再限制为最多 `2400` seconds/frame。典型 60 FPS:z2≈2400(cap)、z5≈320、z9≈20 simulation seconds/frame。
|
||||
- canonical U/V=m/s 与 m/s→Web Mercator 物理换算未改;只是 validation visual clock 依据 zoom 保持可见的屏幕位移。
|
||||
- 生命周期改为 real seconds:base=12,hash jitter 后为 9–15 real seconds;State B 使用 wall delta,不再使用 simulation delta,因此 zoom、Timeline speed、Timeline Pause 不改变寿命。
|
||||
- 普通 camera transform 首次触发 `CAMERA_INVALIDATE`,暂停 Trail segment 累积而 State 继续;连续操作不重复重建 texture;150ms 稳定后 `CAMERA_STABLE_RESUME`。仅真正 viewport size 改变才 `VIEWPORT_RESIZE` 并重新分配 Trail A/B。
|
||||
|
||||
State Float、Trail UByte、真实 previous→current segment、respawn/hash stagger、time-based fade、canonical、Timeline、Runtime Window、WeatherColorLayer 和 REAL WEATHER UI 保持不变。
|
||||
|
||||
shader generator、Linux OpenGL 精确编译、既有非 Jest style layer 精确编译和 `git diff --check` 已通过;Android 与 Jest 未执行。
|
||||
20
docs/60_测试/STEP-055_Android真实WeatherV2风场综合可视化_人工验收指令_v6.md
Normal file
20
docs/60_测试/STEP-055_Android真实WeatherV2风场综合可视化_人工验收指令_v6.md
Normal file
@@ -0,0 +1,20 @@
|
||||
# STEP-055 Android 真实 WeatherV2 风场综合可视化人工验收指令 v6
|
||||
|
||||
环境:Windows 11;设备 `192.168.1.146`。Android 构建、安装和设备操作由用户手工执行。
|
||||
|
||||
```powershell
|
||||
cd platform\android
|
||||
$env:RENDERER='opengl'; $env:BUILDTYPE='Debug'; make apackage --console=plain
|
||||
adb -s 192.168.1.146 install -r <APK路径>
|
||||
adb -s 192.168.1.146 logcat -c
|
||||
adb -s 192.168.1.146 logcat | Select-String 'Particle(Motion|Lifecycle|Trail|Timeline|GPU|StateTarget)'
|
||||
```
|
||||
|
||||
1. REAL WEATHER 自动 fit(z≈2–3):粒子应持续可见和运动,不应只剩 WeatherColorLayer,也不得回到固定粗橙色短棍。
|
||||
2. z≈5:粒子仍可见,`ParticleMotion` 检查 `referenceZoom=9`、有效 scale 和 simulation delta。
|
||||
3. z≈9:不应飞跃或高频越界 respawn;日志中的 simulation delta 不得超过 2400。
|
||||
4. Timeline Pause:forecast 不推进,Particle simulation 与 wall-time lifecycle 继续;`ParticleLifecycle` 应为 `lifecycleBaseRealSeconds=12`,不含 simulation lifecycle 字段。
|
||||
5. 连续 pinch zoom/pan/rotate:每段交互最多一次 `CAMERA_INVALIDATE`,停止约 150ms 后一条 `CAMERA_STABLE_RESUME`;State/Field/Timeline 不重置。只有实际 size 变化才出现 `VIEWPORT_RESIZE`。
|
||||
6. PLAY 至 T3:继续确认 OLD_T1→NEW_T0 reuse、only NEW_T1 upload、`simulationRebuild=false`、`trailCleared=false`。
|
||||
|
||||
所有 ADB 命令必须显式使用 `adb -s 192.168.1.146 ...`。若失败,保留完整 Particle 日志;不要通过改回 world-length streak 或提高固定 speed scale 规避。
|
||||
Reference in New Issue
Block a user