4.2 KiB
STEP-097 V13 修复后集中验证清单 v1
状态:PARTIAL:FZG1 A1 既有场景冒烟已执行,其余 NOT RUN。下方原清单编写于 Codex A1 部分交付时;后续 RDC 实际执行事实与边界见文末。A1 专用 stencil 像素、Metal 附件、render 异常注入与 19 GTest 仍待完成;A2/B/C 未实施,不得以设备冒烟替代正式验收。
通用 Core 与现有测试入口(RDC)
在本仓 Mac 当前 checkout,使用已配置的现有 build 目录;若目录不存在,先按当前构建规范配置。此处不自动运行:
cmake --build build-step088-opengl --target mbgl-test-runner -j3
build-step088-opengl/mbgl-test-runner --gtest_filter='RenderSegmentPlan.*:RenderSegmentDiagnostics.*:RetainedUnderlayCache.*:RetainedUnderlayRevision.*:ParticleFastPath.*'
新入口 RenderSegmentDiagnostics.OldCacheReleaseCannotChargeReplacementAtSameIndex 预期同 index 的旧 revision release 不计入新 topology,当前 revision release 计 1。RetainedUnderlayCache.UnsupportedAndResourceFailureFallBackSafely 为旧入口,用于资源失败后的基础状态;尚不能替代真实 layer render 异常注入。失败保留完整日志,回传首个错误和日志路径。
Android OpenGL(Particle-Android / RDC,NOT RUN)
./tools/particle_android_validation/build_validation_apk.sh
RDC 应使用同一 commit 生成 APK,再由后续授权的 Win11/模拟器操作按标准流水线安装。现有 Test Host 仅有 C-R 控制,尚缺同一 vector source/same tiles 的 R-R、R-C-R、C-R-R fixture,故该 APK 即使构建成功也不能关闭 01/03。需比较 cache ON/OFF 的首帧、重建、reuse、主目标与离屏目标像素;失败后 diagnostics 不得 Ready,下帧可恢复。记录 Renderer、ABI、SHA-256、截图与日志。不得引用 STEP-094 历史 43/43 作为本轮结果。
iOS Metal(Particle-iOS / RDC,NOT RUN)
cmake --build build-ios --target ios-sdk-static -- -quiet
同 commit 的 iOS simulator 与真机需开启 Metal API Validation,捕获 retained R-R/R-C-R 的 color/depth/stencil texture、load/clear/store,特别确认 simulator 的 Depth32Float_Stencil8 同时绑定 depth 和 stencil。故障注入覆盖附件创建失败、encoder 创建失败及 layer render 异常;预期不发布 Ready cache、后续能 fallback/retry。专用自动测试入口尚缺,不能因静态修改或 ios-sdk-static 成功就宣称 Metal runtime PASS。
后续 GPU 性能(粒子负责人协调,NOT RUN)
完成 A1/A2/B/C 代码与平台测试入口后,以相同设备、commit、Style、视口和场数据采样 cache ON/OFF、R×viewport×fieldKey 阶梯,记录 30/60 FPS、p50/p95/p99、GPU/CPU frame time、纹理创建/释放、峰值/长稳内存、方向/缩放/状态恢复。Metal capture 记录 waitUntilCompleted 的实际同步点及资源依赖。未经运行不填写数字;F06 multi-C 与 F08 精细失效另行设计。
Test Host 依赖(B 阶段后,NOT RUN)
目前默认 RN .10 与 Native .13 错配,阶段 B 未开始,不得运行安装并声称配对成功。B 修正 package/lock/SPM 后,RDC 再在 Test Host 目录执行:
npm ci
npm run typecheck
必须同时检查实际已安装 RN tgz、Android Gradle substitution、iOS SPM exactVersion 与 lockfile;不得以 node_modules 临时软链代替默认安装结果。本清单不含 Jest 命令。
2026-09-25 FZG1 A1 部分执行结果(覆盖上方 Codex 交付时的 NOT RUN 状态)
- 标准构建脚本已由 Mac RDC 实际执行;HEAD
91c2491b0,x86_64 OpenGL Debug APKBUILD SUCCESSFUL,SHA-2568677197c5f83a22747cb51f0c261edffc5db4678fc25b3f366474f6ecb94dc99。冻结于artifacts/maplibre-particle/step097-fzg1/。 - ADB
192.168.200.139:5555对 FZG1-2 实际执行覆盖安装、20 组截图/UI XML、既有 STEP-093 topology、CACHE OFF/ON、相机、非法范围恢复与 mutation/fail-closed,日志见docs/报告/STEP-097_A1_FZG1测试APK与实机验证报告_v1.md。 - 此处只是设备冒烟;A1 的同 tile stencil fixture、Metal 附件验证、真正 LayerGroup exception 注入与
OldCacheReleaseCannotChargeReplacementAtSameIndexGTest 仍 NOT RUN/缺专用入口;A2/B/C 和软件发布亦未执行。