mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-28 03:57:44 -06:00
Scripting: a stroke's Dashes use After Effects' match names (#815)
Dashes reported its children as `dash`, `gap`, `offset`, so
`property("ADBE Vector Stroke Dash 1")` was null and addProperty threw.
They now report ADBE Vector Stroke Dash 1-3 / Gap 1-3 / Offset.
addProperty with one of those names returns the existing property
(EffectCraft's Dashes always holds Dash 1, Gap 1 and Offset) or adds the
Dash/Gap 2 or 3 pair through shape.dashes.add. Lookups by the old ids
still work.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
470ea7a3af
commit
f816cd5e38
@@ -626,6 +626,15 @@ fn resolve_add(s: &Session, a: &J) -> R {
|
||||
}
|
||||
}
|
||||
"animators" => json!({"kind": "animator"}),
|
||||
// A stroke always holds Dash 1, Gap 1 and Offset (Dash 0 draws no dashes); adding one of
|
||||
// them returns it, Dash/Gap 2 and 3 are added as a pair (`shape.dashes.add`) (#815).
|
||||
"dashes" if in_group => match matchnames::stroke_dash(name) {
|
||||
Some(id) => match g.children.iter().find(|n| n.match_id() == id) {
|
||||
Some(n) => json!({"kind": "existing", "uid": n.uid()}),
|
||||
None => json!({"kind": "dash", "id": id, "stroke": l.props.parent_of(g.uid).map(|p| p.uid)}),
|
||||
},
|
||||
None => json!({"error": format!("Can not add \"{name}\" to Dashes")}),
|
||||
},
|
||||
_ if in_contents && in_group => match matchnames::shape_kind(name) {
|
||||
Some(k) => {
|
||||
json!({"kind": "shape", "shape": k, "group": if l.props.sub("contents").is_some_and(|c| c.uid == g.uid) { J::Null } else { json!(g.uid) }})
|
||||
|
||||
Reference in New Issue
Block a user