/// Returns the points that make up a lit segment between *a* and *b* including delay for the end
/// corner.
///
/// `excess_points` are distributed across the distance point count. This is used to allow the
/// interpolation process to evenly distribute left-over points across a frame.
Returns the points that make up a lit segment between *a* and *b* including delay for the end
corner.

`excess_points` are distributed across the distance point count. This is used to allow the
interpolation process to evenly distribute left-over points across a frame.
Returns the points that make up a lit segment between * a * and * b * including delay for the end corner . ` excess_points ` are distributed across the distance point count . This is used to allow the interpolation process to evenly distribute left - over points across a frame .
pub fn lit_segment_points(
    a: Point,
    br: RawPoint,
    corner_point_count: u32,
    distance_min_point_count: u32,
    excess_points: u32,
) -> impl Iterator<Item = RawPoint> {
    let dist_point_count = distance_min_point_count + excess_points;
    let weight_points = a.to_raw_weighted();
    let ar = a.to_raw();
    let dist_points = (0..dist_point_count).map(move |i| {
        let lerp_amt = i as f32 / dist_point_count as f32;
        ar.lerp(&br, lerp_amt)
    });
    let corner_points = (0..corner_point_count).map(move |_| br);
    weight_points.chain(dist_points).chain(corner_points)
}
pub fn lit_segment_points ( a : Point , br : RawPoint , corner_point_count : u32 , distance_min_point_count : u32 , excess_points : u32 , ) -> impl Iterator < Item = RawPoint > { let dist_point_count = distance_min_point_count + excess_points ; let weight_points = a . to_raw_weighted ( ) ; let ar = a . to_raw ( ) ; let dist_points = ( 0 .. dist_point_count ) . map ( move | i | { let lerp_amt = i as f32 / dist_point_count as f32 ; ar . lerp ( & br , lerp_amt ) } ) ; let corner_points = ( 0 .. corner_point_count ) . map ( move | _ | br ) ; weight_points . chain ( dist_points ) . chain ( corner_points ) }
Returns the points that make up a lit segment between *a* and *b* including delay for the end
corner.
Returns the points that make up a lit segment between * a * and * b * including delay for the end corner .
a
Point
br
RawPoint
corner_point_count
u32
distance_min_point_count
u32
excess_points
u32