mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-02 18:08:02 +00:00
f15b619a92
* Follow-up to #2823: box each of several objects around its whole matte on correction frames With several objects, a correction frame's box came from the model's cut of that object's strokes on the frame alone. A stroke on part of the object boxed only that part, and SAM 2 followed only that part from there on. Each object's matte is now carried to the frame with its own strokes, from its first prompted frame or its nearest tracked frame, by the walk Chain::ensure uses (now Chain::carry). These mattes are not cached, since object keys hold tracked results. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Follow-up to #2823: carry corrections before the base from the base outwards Prompt frames were visited in ascending order, but before the base the carry walks towards it, so each correction there re-walked from the root. Visit each side from the base outwards and sort the prompts back into frame order for the tracker. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Follow-up to #2823: find an object's carry root in one pass over its strokes The root search scanned every frame's strokes from the prompt frame to the base, for every prompt. Take the object's foreground stroke on the way that is nearest the base in one pass instead; the root is the same. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * M13.35: reproduce an earlier object correction losing tracked matte * M13.35: carry earlier object corrections from valid tracked mattes --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com> Co-authored-by: FredApps <FredApps@users.noreply.github.com>