docs: close GPU particle time interpolation validation
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:
@@ -1,10 +1,10 @@
|
||||
# STEP-041 Android 双时间片 GPU 时间插值
|
||||
|
||||
- 状态:`IMPLEMENTED / WAITING FOR ANDROID VALIDATION`
|
||||
- 状态:`CLOSED / PASS`
|
||||
- 前置:STEP-040(40-01)已在 Android OpenGL 手工验收为 PASS。
|
||||
- 目标:在唯一正式链路 `RasterArraySource -> RasterParticleLayer -> GPU Simulation -> Trail -> Composite` 中,把单 Field 扩展为 T0/T1 两个独立 GPU Field,并在 State pass 对速度作 GPU `mix`。
|
||||
- 实现提交:`4675a8a29dd6fc7b684bfb64913a8c9075ad8583`(`feat: add GPU particle time interpolation`)。
|
||||
- 40-02C 最终修正:原实现的 MIX fallback、GPU identity 与 NORTH Mercator displacement 问题由 STEP-043 修正;在 Android T1--T10 前仍不得判 PASS。
|
||||
- 40-02C 最终修正:原实现的 MIX fallback、GPU identity 与 NORTH Mercator displacement 问题由 STEP-043/043A/043B 修正;Android T1--T10 已完成并全部 PASS。
|
||||
|
||||
## 本轮实现
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
|
||||
- Linux OpenGL 受影响 Core 与 source test object:通过。
|
||||
- shader generator、二次生成稳定性、C++ format、`git diff --check`:通过。
|
||||
- 未运行 Android Gradle、ADB、APK 安装或设备测试;T1--T10 必须由用户在 Android OpenGL 上验证。
|
||||
- Codex 未运行 Android Gradle、ADB、APK 安装或设备测试;用户已在 Android x86_64 OpenGL 完成 T1--T10,全部 PASS。
|
||||
|
||||
## 不在本 Step 范围
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# STEP-043A 40-02C 源码审查后最小修正
|
||||
|
||||
- 基线:`5dd4dbf4967c1238e1bde8fb66fe3dbd2c4fe52a`
|
||||
- 状态:`IMPLEMENTED / WAITING FOR ANDROID VALIDATION`
|
||||
- 状态:`CLOSED / PASS`
|
||||
- 修正:GPU texture reuse 保留旧 backing 但消费 wanted snapshot revision;MIX_REJECTED 不再改变 timeMix;增加 Layer/Resource/Field upload/reuse/reset 生命周期日志;所有 Style reload 调用点有具体 reason。
|
||||
- 检查:shader generator、Linux Core/source-test object、format、diff check 通过;未运行 Android Gradle、ADB 或设备。
|
||||
- Android 设备验证发现 Java peer lookup 对自定义 raster-particle 不适用,STEP-043B 以最小 Core property bridge 接续修正。
|
||||
- Android 设备验证发现 Java peer lookup 对自定义 raster-particle 不适用,STEP-043B 以最小 Core property bridge 接续修正;最终 T1--T10 均 PASS。
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
# STEP-043B Android 到 Core MIX 属性桥接
|
||||
|
||||
- 状态:`IMPLEMENTED / WAITING FOR ANDROID VALIDATION`
|
||||
- 状态:`CLOSED / PASS`
|
||||
- 根因:Android `Style.getLayer()` 需要自定义 layer 的 Java peer;raster-particle Core layer 无 peer,导致 false `LAYER_NOT_READY`。
|
||||
- 实现:最小 `NativeMapView.setStyleLayerFloatProperty(layerId, propertyName, value)`,JNI 通过 `Style::getLayer()` 与正式 `Layer::setProperty()` 更新 Core 属性;没有完整 RasterParticle Java peer。
|
||||
- Host:MIX 不再查询 Java Layer peer,bridge 成功后才更新 `timeMix`。
|
||||
- 未运行 Android Gradle/ADB;T4--T10 待用户验收。
|
||||
- Codex 未运行 Android Gradle/ADB;用户已在 Android x86_64 OpenGL 完成 T4--T10,全部 PASS。MIX bridge 成功且无 MIX 引起的 Style reload、Field upload 或 simulation reset。
|
||||
|
||||
## Android 编译修正
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# STEP-043 40-02C Android 双时间片 GPU 时间插值最终修正
|
||||
|
||||
- 状态:`IMPLEMENTED / WAITING FOR ANDROID VALIDATION`
|
||||
- 状态:`CLOSED / PASS`
|
||||
- 修正:MIX hard property-only guard、revision/content identity 分离、A/B→B/C content reuse、Mercator Y displacement 与 north-positive V 的边界转换。
|
||||
- 规则:generation 仍是 source revision;GPU reuse 比较 fixtureID、dataVersion、已验证 `fieldSha256` 和 grid compatibility。MIX 未就绪只记录 `MIX_REJECTED`,不 reload style。
|
||||
- 检查:shader generator、Linux Core/source test object、format、diff check 通过;未运行 Android Gradle/ADB。
|
||||
- Android:T1--T10 仍待用户执行,不能判 PASS。
|
||||
- Android:用户已完成 x86_64 OpenGL T1--T10,全部 PASS;MIX property-only、B→C reuse 与 lifecycle 均无异常 reset。
|
||||
- STEP-043A 源码审查发现 reuse revision、MIX reject state、diagnostics 与 Style reason 缺口,均已最小修正;状态不变。
|
||||
- STEP-043B 处理 Android Java Layer peer 缺失导致的 false LAYER_NOT_READY,改用 Android→Core property bridge;状态不变。
|
||||
|
||||
23
docs/报告/40-02_双时间片GPU时间插值_最终验收关闭_Codex完成报告_v1.md
Normal file
23
docs/报告/40-02_双时间片GPU时间插值_最终验收关闭_Codex完成报告_v1.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# 40-02 双时间片 GPU 时间插值最终验收关闭报告
|
||||
|
||||
## 最终状态
|
||||
|
||||
`40-02`、`40-02C`、`STEP-043B`:`CLOSED / PASS`。
|
||||
|
||||
最终代码基线为 `4703d87e2305c2f7c13d605c296e900d7a05e408`,STEP-043B 使用 `RasterParticleLayer::setTimeMix(float)` 完成 Android→Core property bridge。
|
||||
|
||||
用户已手工完成 Android x86_64 OpenGL Debug 编译、APK 安装和 App 启动;Codex 本收尾任务未运行 Android Gradle、ADB 或设备操作,未修改 runtime,也未加入/执行 Jest。
|
||||
|
||||
## T1--T10
|
||||
|
||||
- T1 EAST、T2 NORTH:PASS;`U=east-positive`、`V=north-positive` 且 shader Mercator 边界 `dy=-v` 正确。
|
||||
- T3 TIME_WINDOW:PASS;Layer/resource 保持,simulation 未 reset。
|
||||
- T4 MIX 50%、T5 MIX 100%、T6 MIX 0:PASS;均为 property-only,零 Style reload、Field upload、simulation reset。
|
||||
- T7 DISABLE→MIX:PASS;`MIX_REJECTED reason=DISABLED`,旧 timeMix 保持。
|
||||
- T8 DISABLE→ENABLE:PASS;资源重建符合 RESOURCE_CREATE 生命周期。
|
||||
- T9 ADVANCE B→C:PASS;`OLD_T1→NEW_T0` reuse,只上传 C,reset delta 为零。
|
||||
- T10 综合回归:PASS;Layer/resource identity 连续,未出现异常 simulation reset。
|
||||
|
||||
ADVANCE 后 `uniform-north + vortex` 的 MIX 50% 局部低速或近零速是逐点向量插值的正常结果:局部 north 与 vortex 向量可相反,不代表 GPU 卡死、reuse 污染或 reset。
|
||||
|
||||
APK x86_64 单 ABI 约 696.5 MiB;其中 `libmaplibre.so` 约 338 MiB。该 packaging/ZIP 中间产物体积技术债不影响安装、启动或本阶段功能验收,独立后续处理,不阻塞本次关闭。
|
||||
@@ -26,3 +26,7 @@ cd /mnt/sda1/MapLibreParticleLab/platform/android
|
||||
```
|
||||
|
||||
APK:`./MapLibreAndroidTestApp/build/intermediates/apk/opengl/debug/MapLibreAndroidTestApp-opengl-debug.apk`。
|
||||
|
||||
## 最终 Android 验收关闭
|
||||
|
||||
用户已完成 Android x86_64 OpenGL Debug 编译、安装、启动和 T4--T10:全部 PASS。MIX 0/50/100 均得到 bridge `SUCCESS` 与 `TIME_MIX_UPDATE`,没有 MIX 引起的 Style reload、Field upload 或 simulation reset;DISABLED reject 保持旧 timeMix;B→C 保持 OLD_T1→NEW_T0 reuse 且只上传 C。STEP-043B / 40-02C / 40-02 现为 `CLOSED / PASS`。Codex 未运行 Android Gradle、ADB 或设备操作,未加入/执行 Jest。
|
||||
|
||||
@@ -252,3 +252,9 @@
|
||||
## 2026-09-03 — STEP-043B Android→Core MIX 属性桥接
|
||||
|
||||
- 自定义 raster-particle 没有 Android Java Layer peer,`Style.getLayer()` 不能作为 Core layer readiness;新增最小 NativeMapView bridge 走正式 Core `Layer::setProperty`,MIX 仅 bridge 成功后更新状态。
|
||||
|
||||
## 2026-09-03 — 40-02 双时间片 GPU 时间插值 Android 最终验收完成
|
||||
|
||||
- STEP-043B 最终使用 `RasterParticleLayer::setTimeMix(float)`;Android x86_64 OpenGL Debug 编译、安装、启动通过,T1--T10 全部 PASS。
|
||||
- A/B→B/C GPU texture reuse、MIX property-only、DISABLE/ENABLE 生命周期通过;`uniform-north + vortex` 的 MIX 50% 局部低速/近零速是正常逐点插值。
|
||||
- 单 ABI APK 约 696.5 MiB 是独立 packaging 技术债,不阻塞本阶段。40-02 / 40-02C / STEP-043B 正式 `CLOSED / PASS`。
|
||||
|
||||
Reference in New Issue
Block a user