Repository navigation
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info
📝 Walkthrough
Merge Risk: ⚪ Minimal · up to
|
4f299db to
9881b0c
Compare
…nown length The timeline sheet should cover a whole recording, whose length is not known while it runs. Tiles are kept every half second; when they exceed 40, every other one is dropped and the interval doubles, so the sheet stays within 40 tiles at a near-even pace. Dropped tiles' arrays are reused.
Stopping a recording now also writes <stem>_timeline.png (5 columns, top-left first) with evenly spaced tiles from the whole recording, and the stop response carries TimelineSheetPath, TimelineSheetColumns, and TimelineFrames. Unlike the burst, it is written even when nothing changed and from a single tile, so an agent can see what a recording showed without opening the video.
9881b0c to
69389f2
Compare
The long-recording test kept passing when only the first thinning doubled the interval, which leaves old stretches sparse and recent ones dense. It now checks the final interval and that every gap between kept tiles equals it.
ed5b6cc
into
feature/record-video-readable-evidence
Summary
User Impact
TimelineSheetPath(5 columns, top-left first),TimelineSheetColumns, andTimelineFrames(frame number and seconds of each tile). The sheet is written for any recording with at least one captured frame, including still ones.Changes
<stem>_timeline.pngand in the sidecar JSON'sTimeline.Verification
uloop compile: 0 errors.uloop run-tests(regex over the timeline sampler, session, session analysis, response mapper, burst buffer, sidecar, and last-recording store tests): 72 passed, 0 failed.