@@ -821,16 +821,17 @@ async fn vec2_to_point(_: impl Ctx, vec2: DVec2) -> Table<Vector> {
821821async fn points_to_polyline ( _: impl Ctx , mut points : Table < Vector > , #[ default( true ) ] closed : bool ) -> Table < Vector > {
822822 for row in points. iter_mut ( ) {
823823 let mut segment_domain = SegmentDomain :: new ( ) ;
824+ let mut next_id = SegmentId :: ZERO ;
824825
825826 let points_count = row. element . point_domain . ids ( ) . len ( ) ;
826827
827828 if points_count > 2 {
828829 ( 0 ..points_count - 1 ) . for_each ( |i| {
829- segment_domain. push ( SegmentId :: generate ( ) , i, i + 1 , BezierHandles :: Linear , StrokeId :: generate ( ) ) ;
830+ segment_domain. push ( next_id . next_id ( ) , i, i + 1 , BezierHandles :: Linear , StrokeId :: generate ( ) ) ;
830831 } ) ;
831832
832833 if closed {
833- segment_domain. push ( SegmentId :: generate ( ) , points_count - 1 , 0 , BezierHandles :: Linear , StrokeId :: generate ( ) ) ;
834+ segment_domain. push ( next_id . next_id ( ) , points_count - 1 , 0 , BezierHandles :: Linear , StrokeId :: generate ( ) ) ;
834835
835836 row. element
836837 . region_domain
@@ -1394,6 +1395,7 @@ async fn spline(_: impl Ctx, content: Table<Vector>) -> Table<Vector> {
13941395 }
13951396
13961397 let mut segment_domain = SegmentDomain :: default ( ) ;
1398+ let mut next_id = SegmentId :: ZERO ;
13971399 for ( manipulator_groups, closed) in row. element . stroke_manipulator_groups ( ) {
13981400 let positions = manipulator_groups. iter ( ) . map ( |manipulators| manipulators. anchor ) . collect :: < Vec < _ > > ( ) ;
13991401 let closed = closed && positions. len ( ) > 2 ;
@@ -1418,7 +1420,7 @@ async fn spline(_: impl Ctx, content: Table<Vector>) -> Table<Vector> {
14181420 let handle_end = positions[ next_index] * 2. - first_handles[ next_index] ;
14191421 let handles = BezierHandles :: Cubic { handle_start, handle_end } ;
14201422
1421- segment_domain. push ( SegmentId :: generate ( ) , start_index, end_index, handles, stroke_id) ;
1423+ segment_domain. push ( next_id . next_id ( ) , start_index, end_index, handles, stroke_id) ;
14221424 }
14231425 }
14241426
0 commit comments