+ my @small_enough = ();
+ while (my $t = shift @$triangles) {
+ if (!project_cylinder_triangle_need_subdivide $t) {
+ push @small_enough, $t;
+ } else {
+ local $output = $triangles;
+ subdivide_triangle $t, \&append_triangle;
+ }
+ }
+
+ $triangles = \@small_enough;