v1.1.0
Reliability fixes for long videos in sandboxed environments, a shared download cache, and a new 2-up document layout. Driven by a second real-world run report.
Fixed
- Resume no longer crashes with
PermissionErrorafter a timeout. Frames now extract into a signature-keyed subdirectory (chunks/chunk_N/frames/<sig>/), so a re-run never has to delete a prior run's files: identical configs are overwritten by ffmpeg, different configs use a fresh directory. Long videos that auto-chunk can finally resume across timeouts. - Honest docx detection in setup.
setup.pynow checks every location the builder actually uses (DOCX_NODE_MODULES,NODE_PATH,scripts/node_modules, the per-user cache, and Node's default resolution) and prints a "docx pending" note instead of implying readiness when it can't be found. - Stale subtitle /
info.jsonartifacts are cleared before each re-download so they can't be paired with a freshly downloaded video.
Added
- Shared per-URL download cache (
~/.cache/analyze-video/downloads/<url-hash>/): the full video is downloaded once and reused across runs, so a focused--start/--endrerun (even in a different out-dir) doesn't re-download everything. Timestamps stay correct. Opt out with--no-download-cache; refresh with--force. - 2-up document layout: a
frame_layoutspec field ("1up"default, or"2up"for borderless side-by-side pairs), settable at the spec, video, or section level. Captions and required alt text are preserved in both layouts. - Interrupted-run visibility:
status.jsonrecords the in-flightcurrent_chunkand aresume_hint, and chunked runs print a re-run-to-resume note.
Full Changelog: v1.0.0...v1.1.0