1.8 KiB
1.8 KiB
STEP-047 Runtime Timeline 与 Playback
状态:IMPLEMENTED / WAITING FOR ANDROID VALIDATION
目标与边界
40-06 在已冻结的 40-04 Runtime Field Window 与 40-05 正式 streak 渲染之上增加 Core-owned Timeline/Playback。它不接入网络、GRIB、provider、HTTP 或 Android 定时器;Android 只通过 JNI 发送低频命令。
RasterArraySource 持有有界(最多 8 个)不可变 Field 快照、严格递增的逻辑时间、当前 T0/T1、cursor、播放状态、速度和 gap/invalid/recover 状态。渲染层每帧只取得 Core 给出的 T0/T1/mix;不会获知文件、provider 或网络。
实现
- Validation timeline 使用 6 个 fixture snapshot:east、north、vortex、nodata、east、north;逻辑间隔为 4 秒。
PLAY/PAUSE、0.5x/1x/2x、STEP PREV/NEXT、SEEK START/MID/END、GAP、INVALID、RECOVER 均为 Source Core 命令,经薄 JNI bridge 调用。- 自动边界维持
OLD_T1 → NEW_T0资源重用语义;只在窗口 revision 改变时交给既有 Renderer Field reuse/upload 路径处理。正常 MIX 是 Core clock 的 scalar 更新,不会触发 Style reload。 - Gap/invalid 到达边界时 fail-closed 保持当前有效 T0/T1;recover 后可继续操作;末尾进入 END。
- Validation UI 改为状态栏与
TIME | VIS | COUNT | MAP | MORE五个菜单入口,原动作仍可由菜单触达。
不变契约
- U=east-positive、V=north-positive、Mercator
dy=-v不变。 - 40-02 MIX property-only、40-03 full particle draw、40-04 runtime window reuse/noop/fail-closed 不变。
- 无未来 GPU 纹理预上传;仅 Source 内有界 CPU snapshot cache。
验证状态
已执行 Linux/OpenGL Core 精确编译与 Source 单元测试构建;未运行 Android Gradle、ADB、Jest 或实体机。Android x86_64 手工验收仍待执行。