mirror of
https://github.com/storytold/effectcraft.git
synced 2026-11-02 22:42:24 -06:00
S2.69: several objects in one Roto Brush instance, tracked in one SAM 2 pass
Strokes carry an object (0 for older projects, nothing written for 0). The tracker follows every object in one pass and the mattes are united; the confidence of a frame is the least sure object's. Object picker in the Layer panel's bar; roto.options/stroke/clearStrokes/status take or report objects. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5.5
parent
fd1d6e623f
commit
08bf6e43fe
@@ -51,6 +51,9 @@ pub struct RotoOptions {
|
||||
pub boundary_color: [f64; 3],
|
||||
/// Start propagating in the background after each stroke.
|
||||
pub auto_propagate: bool,
|
||||
/// The object new strokes belong to (0 is the first). With a tracker every object is followed on its own
|
||||
/// and their mattes are united; the classic engine treats all foreground strokes as one object.
|
||||
pub object: u32,
|
||||
}
|
||||
|
||||
impl Default for RotoOptions {
|
||||
@@ -63,10 +66,14 @@ impl Default for RotoOptions {
|
||||
overlay_opacity: 50.0,
|
||||
boundary_color: [1.0, 0.25, 0.75],
|
||||
auto_propagate: true,
|
||||
object: 0,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The highest object id (SAM 2 follows up to 32 objects in one pass).
|
||||
pub const MAX_OBJECT_ID: u32 = 31;
|
||||
|
||||
pub const VIEWS: [&str; 4] = ["alphaBoundary", "alpha", "alphaOverlay", "none"];
|
||||
|
||||
/// What a job does.
|
||||
|
||||
Reference in New Issue
Block a user