proc loopRegion {edges vertices width color} { set instances [list] set color [getColor $color] foreach edge $edges { set from [lindex $vertices [lindex $edge 0]] set to [lindex $vertices [lindex $edge 1]] lappend instances [list $from $to $width $color] } Wish the GPU draws pipeline "line" with instances $instances } When /someone/ wishes /thing/ is outlined /color/ & /thing/ has region /region/ { lassign $region vertices edges loopRegion $edges $vertices 3 $color } When /someone/ wishes /thing/ is outlined thick /color/ & /thing/ has region /region/ { # FIXME: assumes path lassign $region vertices edges loopRegion $edges $vertices 6 $color }