Repository navigation
Release 0.2.0 - #44
Merged
Merged
Conversation
A minor rather than a patch, because the release carries a new editing stage rather than only corrections: a finished cut can be trimmed, cropped for output and resized, and the result loops on screen so the loop can be judged before rendering. The stored frames are never touched; the transform is a spec applied at encode time. Windows gets GPU segmentation. The bundle ships ONNX Runtime with DirectML, which covers NVIDIA, AMD and Intel through DirectX 12, and falls back to the CPU when a card cannot create or run the session rather than failing the job. matteloop --providers reports what the runtime actually offers, so a report about missing acceleration now carries evidence. The model namespace moved to rembg 2.0.75, which invalidates every previously downloaded weight. Weights left behind under the old namespace are shown as outdated and can be deleted, or re-downloaded as a cancellable batch that removes each old copy only once its replacement has been verified. Three defects worth naming. A segmentation child that failed while preparing exited silently, so the parent reported a closed pipe instead of the real error. Every confirmation dialog was read as a refusal, because Qt returns an int and the code compared identity, so nothing could be deleted at all. And the overall render progress ignored the post-process stage, freezing the rate and the remaining time for a third of every run. The version lives in src/matteloop/__init__.py and hatch reads it from there. A local checkout needs uv sync --reinstall-package matteloop after the bump: the editable install keeps the old dist metadata, and the --version smoke test compares against exactly that. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
Summary
Bumps the version to 0.2.0. The tag
v0.2.0on the merge commit triggers the unsigned native packages and the draft release.A minor rather than a patch: the release carries a new editing stage, not only corrections.
Transform stage (#25, #27). A finished cut can be trimmed to a frame range, cropped for output and resized with the four mismatch modes, and the result canvas loops the transformed frames so the loop can be judged before rendering. The stored frames are never modified; the transform is a spec applied at encode time, so every step is reversible.
GPU segmentation on Windows (#20). The bundle ships ONNX Runtime with DirectML, covering NVIDIA, AMD and Intel through DirectX 12, and falls back to the CPU when a card cannot create or run the session instead of failing the job.
matteloop --providersreports what the runtime actually offers.Model namespace and outdated weights (#22, #24, #29). The pin moved to rembg 2.0.75, which invalidates every previously downloaded weight. Old weights are shown as outdated and can be deleted, or re-downloaded as a cancellable batch that removes each old copy only after its replacement verifies.
Fixes (#28, #36, #37, #23). A segmentation child that failed while preparing now reports why instead of a closed pipe. Every confirmation dialog was being read as a refusal, so nothing could be deleted at all. A model prepared once can be deleted again. The overall render progress counts the post-process stage, so the rate and the remaining time no longer freeze for a third of the run.
Known issue in this release
#32 is open: on Windows the model download can kill the interpreter with an access violation. It matters more for this release than the last, because the namespace move means every user re-downloads the whole set. The workaround, and a diagnostic branch, are in that issue. I will add a note to the draft release before it is published.
Test plan
uv sync --reinstall-package matteloop, thenuv run matteloop --versionprints 0.2.0.uv run ruff check . && uv run mypy src && QT_QPA_PLATFORM=offscreen uv run pytest -q: 1781 passed, 4 skipped.🤖 Generated with Claude Code