1.9 KiB
1.9 KiB
40-04 T-RUNTIME-05 Duplicate NOOP 补验收 Codex 完成报告
状态
40-04:IMPLEMENTED / WAITING FOR ANDROID VALIDATION
用户已手工通过 T-RUNTIME-01~04、T-RUNTIME-06;本轮只补 T-RUNTIME-05 的 Android 验证入口,未执行 Android 构建或设备操作。
实现
- 新增
RasterArraySource::repeatRuntimeFieldWindow()。它读取 Source 权威Impl::nextField并调用既有正式updateRuntimeFieldWindow(),不直接操作 renderer 或 GPU。 - 当当前窗口为
T0=vortex / T1=nodata,这次重提交命中sameFieldGpuContent(currentT1, newT1),返回Noop;不调用onSourceChanged(),所以没有 Field upload、slot swap、simulation reset、trail clear、Style reload 或 Layer/Source recreate。 - Android 增加
DUPLICATE T1。调用链为MapLibreMap -> NativeMapView -> JNI -> Style::getSource() -> RasterArraySource;Kotlin/JNI 不持有 T0/T1,也不消费预加载候选。 - JNI 只在返回
Noop时报告 duplicate bridge 成功。日志应出现FIELD_WINDOW_UPDATE_DUPLICATE_REQUEST、Core 的FIELD_WINDOW_UPDATE_APPLIED result=NOOP与 bridgeresult=NOOP。
本地检查
- Linux/OpenGL:
raster_array_source.cpp.o、source.test.cpp.o精确-Werror编译通过。 - Source test 补充 C/D 后 duplicate assertion:结果
Noop、T0/T1 保持 vortex/nodata、Source changed count 不增加。 clang-format --dry-run --Werror、git diff --check通过。- Android Gradle、ADB、APK、实体机和 Jest:均未执行。
用户手工验收
在已通过 A/B→B/C→C/D 后,保持 T0=vortex / T1=nodata,点击 DUPLICATE T1 一次。必须确认:
FIELD_WINDOW_UPDATE_APPLIED result=NOOP
FIELD_UPLOAD delta=0
SIMULATION_RESET delta=0
trail clear delta=0
Style reload delta=0
当前 T0/T1、MIX、frame 持续不变/继续运行
随后仍可点击普通 ADVANCE WINDOW,它应继续保留既有 T-RUNTIME-06 的 NO_PRELOADED_FIELD fail-closed 语义。