2.3 KiB
2.3 KiB
STEP-047 Runtime Timeline 与 Playback 最终验收
状态:CLOSED / PASS
功能代码最终 Android 验证基线:1343929474796b1313489ee9fecbf23b949580a7(fix: keep particle timeline playback ticking)。本文件后续的文档收尾提交不是功能实现提交。
历史与最终结论
- 初次实现后 Android Round 1 为
PARTIAL / NEEDS FIX:主链和 reuse 通过,但 Timeline 过短、状态机交互、异常入口和可观测性需要修正。 - 集中修复后 Android Round 2 仍发现 tick 仅在非连续 layer update 中执行;
0609199c...修正 playback 验收控制,134392947...将 tick 接入连续 State drawable frame。 - Android 最终复验完成,STEP-047
CLOSED / PASS。
Android 最终验收 PASS
- 持续 Playback Tick、Pause/Resume、0.5x/1x/2x、Seek、Step Prev/Next 均通过。PAUSE 冻结 cursor/mix 而粒子 simulation 继续;Resume 不补算暂停时间。
- PLAYING seek 保持 PLAYING,PAUSED seek 保持 PAUSED,Seek END 进入 ENDED,ENDED seek 非末尾可回到可继续状态;跨非连续 window 的可解释 reset 合法。
- GAP 在 boundary
WAITING/GAP_HOLD、mix=1 时保持最后有效 Field 且不黑屏;RECOVER 后继续。INVALID NEXT 以TIMELINE_REJECTED reason=INVALID_NEXTfail-closed,当前有效窗口与 Renderer 保持,Recover 后继续。 - 自动推进保持 40-04 契约:
OLD_T1 → NEW_T0reuse,只上传 NEW_T1,simulationRebuild=false、trailCleared=false;正常播放不 reset simulation、不 clear trail。 - Preload/Cache PASS:
TIMELINE_PRELOAD与TIMELINE_CACHE_HIT可见。Validation timeline 为 snapshots=6、cacheCapacity=8,未出现 CACHE_EVICT 是容量未满的正常结果。 - VIS runtime、MAP/MORE 与 Compact Validation UI 均通过。
非阻塞记录
Validation 状态栏对自动 MIX、WAITING/INVALID 等状态的可观测性仍可优化,分类为 Validation UI observability 的 NON-BLOCKING 技术债;不是 Timeline Core 或 Renderer failure,不阻塞本阶段关闭。
TimeStats: RenderEngineTimes are already at its maximum size[64] 是 Android/RenderEngine 环境噪音;未伴随 crash、ANR、GL resource failure 或 Renderer failure,不判定为粒子系统失败。
本收尾未修改功能代码,未执行 Android Gradle、ADB 或 Jest。