Repository navigation
chore(release): 0.3.12, keycut v0.1.2 - #105
Merged
Merged
Conversation
keycut v0.1.2 sizes its probe, copy and concat timeouts to the file, and its re-encode fallback seeks on the input side. A 110 GB day master overran the flat 600 s keyframe probe, so every long-form range fell to a re-encode that decoded from the start of the file. reencode_range_argv mirrors the new argv.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Release 0.3.12, made with
tools/release.py 0.3.12. It pins keycut at v0.1.2 (Back-Road-Creative/keycut#9, tag → a1bba80).Why
The Ace Basin day master (110 GB on
/mnt/c) overran keycut v0.1.0's flat 600s keyframe probe on 2026-10-27 at 12:10 ET. Keyframes came back unknown, so every long-form range fell back to a CPU re-encode with an output-side seek, which decodes the master from byte 0 every time. Measured on the live job, that runs at ~3.1 s of footage per wall-second. A range near the end of the 11777 s day needs ~3800 s just to reach its start, past the flat 3600 s timeout, and LF2 has 49 ranges. keycut 0.1.2 sizes probe, copy and concat timeouts to the bytes read (20 MB/s floor). Its re-encode seeks on the input side (-ss S -i src -ss 0 -t D), decoding one GOP before the cut.Changes
pyproject.toml:keycut @ …@v0.1.2.montage_builder.reencode_range_argv(the trail opening's seam re-encode) mirrors keycut's new argv.tests/test_inserts.py::test_montage_helpers_extracted_keep_argvpins that equality.tests/test_trail_opening.py's seam assertions now read-t 1.0instead of-to 16.0.pyproject.tomlandgomoveshift/__init__.py,changelog.d/is folded intoCHANGELOG.md, and the README install line is@v0.3.12. The release also carries feat(stop-mask): motion states, creep policy and mask hysteresis #93-feat(photos): fuse 16-bit brackets without an 8-bit hop #104 (merged since 0.3.11).Tests
Run against keycut v0.1.2 (worktree at the tag): the 20 keycut-touching test files plus the version, changelog, docs-link and trail tests. 192 passed. One failed,
test_installed_vcs_pins_match_pyproject, because the local venv still has keycut v0.1.0 installed; CI installs fresh.After merge
Tag
v0.3.12on the merge commit. Then workspaces repins withtools/repin_framegrade.py v0.3.12, and Ace Basin is relaunched. Its day master is reused, so only the long-form cut, shorts and phase D run again.