Path Creation
Immediate
canvas.move_to(P2::new(430., 225.));
canvas.line_to(P2::new(83., 225.));
canvas.line_to(P2::new(256., 525.));
canvas.close_path();
canvas.set_stroke_width(2.);
canvas.stroke();
Held

Last updated
canvas.move_to(P2::new(430., 225.));
canvas.line_to(P2::new(83., 225.));
canvas.line_to(P2::new(256., 525.));
canvas.close_path();
canvas.set_stroke_width(2.);
canvas.stroke();

Last updated
let triangle = Ngon::triangle(world.center(), 200.);
let repeated = std::iter::successors(Some(triangle), |t| {
Some(t.clone().scale(0.9))
});
for triangle in repeated.take(15) {
canvas.paint(Stroked {
width: 2.,
element: triangle,
});
}