You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: editor/src/messages/portfolio/document/node_graph/node_properties.rs
+2-1Lines changed: 2 additions & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -26,7 +26,7 @@ use graphene_std::text::{Font, TextAlign};
26
26
use graphene_std::transform::{Footprint,ReferencePoint,ScaleType,Transform};
27
27
use graphene_std::vector::QRCodeErrorCorrectionLevel;
28
28
use graphene_std::vector::misc::BooleanOperation;
29
-
use graphene_std::vector::misc::{ArcType,CentroidType,ExtrudeJoiningAlgorithm,GridType,MergeByDistanceAlgorithm,PointSpacingType,RowsOrColumns,SpiralType};
29
+
use graphene_std::vector::misc::{ArcType,CentroidType,ExtrudeJoiningAlgorithm,GridType,InterpolationDistribution,MergeByDistanceAlgorithm,PointSpacingType,RowsOrColumns,SpiralType};
30
30
use graphene_std::vector::style::{Fill,FillChoice,FillType,GradientStops,GradientType,PaintOrder,StrokeAlign,StrokeCap,StrokeJoin};
// The old version would zip the source and target table rows, interpoleating each pair together.
1670
1670
// The migrated version will instead deeply flatten both merged tables and morph sequentially between all source vectors and all target vector elements.
1671
1671
// This migration assumes most usages didn't involve multiple parallel vector elements, and instead morphed from a single source to a single target vector element.
1672
-
// The new signature has 3 inputs too, so we distinguish by checking if input 2 is an f64 (old `time` param) vs a Table<Vector> (new `path` param).
1672
+
// The new signature has 4 inputs too, so we distinguish by checking if input 2 is an f64 (old `time` param) vs an InterpolationSpacing (new `distribution` param).
1673
1673
let is_old_morph = reference == DefinitionIdentifier::ProtoNode(graphene_std::vector::morph::IDENTIFIER)
Copy file name to clipboardExpand all lines: node-graph/libraries/vector-types/src/vector/misc.rs
+18Lines changed: 18 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -554,3 +554,21 @@ pub enum SpiralType {
554
554
Archimedean,
555
555
Logarithmic,
556
556
}
557
+
558
+
/// Controls how the morph/blend progression spends its time along the interpolation path, allowing for constant speed/spacing with respect to different parameters of change.
/// All objects occupy an equal portion of the progression range, regardless of their changing distances, angles, sizes, or slants.
564
+
#[default]
565
+
Objects,
566
+
/// All distances along the interpolation path are covered at a constant rate, meaning more time is spent traversing further distances.
567
+
Distances,
568
+
/// All angles of rotation between objects are covered at a constant rate, meaning more time is spent turning through larger angles.
569
+
Angles,
570
+
/// All sizes of expansion/contraction between objects are covered at a constant rate, meaning more time is spent scaling through larger (logarithmic) changes in size.
571
+
Sizes,
572
+
/// All slants (changes in skew angle) between objects are covered at a constant rate, meaning more time is spent skewing through larger changes in slant.
0 commit comments