mirror of
https://github.com/storytold/effectcraft.git
synced 2026-10-14 19:27:05 -04:00
Scripting: Property.keyInSpatialTangent / keyOutSpatialTangent under their AE names
The getters were registered as keySpatialInTangent / keySpatialOutTangent, so scripts using the documented After Effects names failed with "TypeError: not a callable function" (setSpatialTangentsAtKey and the other keySpatial* methods already use AE's names). Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
1 parent
51c21931ca
commit
0a8cdfc67e
2 files changed
+18
-2
No files matched your search
@@ -865,8 +865,8 @@ Property.prototype.property = function () { return null; };
|
||||
P.setTemporalAutoBezierAtKey = function (i, b) { this.__select(i); __call("keys.interpolation", { comp: this.__layer.__comp, autoBezier: !!b }); };
|
||||
P.keyRoving = function (i) { return !!this.__key(i).roving; };
|
||||
P.setRovingAtKey = function (i, b) { this.__select(i); __call("keys.interpolation", { comp: this.__layer.__comp, roving: !!b }); };
|
||||
P.keySpatialInTangent = function (i) { return this.__key(i).spatialIn.slice(0, this.__info().dims); };
|
||||
P.keySpatialOutTangent = function (i) { return this.__key(i).spatialOut.slice(0, this.__info().dims); };
|
||||
P.keyInSpatialTangent = function (i) { return this.__key(i).spatialIn.slice(0, this.__info().dims); };
|
||||
P.keyOutSpatialTangent = function (i) { return this.__key(i).spatialOut.slice(0, this.__info().dims); };
|
||||
P.keySpatialContinuous = function (i) { return !!this.__key(i).spatialContinuous; };
|
||||
P.keySpatialAutoBezier = function (i) { return !!this.__key(i).spatialAutoBezier; };
|
||||
P.setSpatialTangentsAtKey = function (i, inT, outT) {
|
||||
|
||||
@@ -241,6 +241,22 @@ fn keyframes_eases_and_interpolation() {
|
||||
assert_eq!(v[9], json!(2));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn spatial_tangents_round_trip() {
|
||||
let mut s = session();
|
||||
let o = ok(
|
||||
&mut s,
|
||||
r#"
|
||||
var c = app.project.items.addComp("T", 100, 100, 1, 2, 25);
|
||||
var p = c.layers.addNull().transform.position;
|
||||
p.setValuesAtTimes([0, 1], [[0, 0], [100, 0]]);
|
||||
p.setSpatialTangentsAtKey(1, [0, 0], [30, 40]);
|
||||
[p.keyOutSpatialTangent(1)[0], p.keyOutSpatialTangent(1)[1], p.keyInSpatialTangent(1)[0]]
|
||||
"#,
|
||||
);
|
||||
assert_eq!(o.result, json!([30, 40, 0]));
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn text_documents() {
|
||||
let mut s = session();
|
||||
|
||||
Reference in new issue
Block a user