my $sum = Math::GSL::Vector->new(2);
$sum += $_->{Pos} foreach @$poly;
$rr->{Centre} = $sum * (1.0 / @$poly);
+ # xxx use mean edge location (ie weight by edge length)
}
}
my $pos = $rr->{Centre} + mkvec( 0, 0.5 * $sz * @$words );
if ($hs{$rr->{Name}}) {
print STDERR "adjust hs $rr->{Name}\n";
+ # xxx HS placements in regions >=5 sides, further
+ # xxx or maybe something involving total edge length
$pos -= mkvec(0, -$hs_sz/2);
my $hspos = $pos - mkvec(0, $sz * @$words + $hs_sz/2 + $hs_lw);
o(sprintf <<END
sub { $_ = 0.75 * $_ foreach @_ }),
psvec($hspos), $hs_sz/2);
}
+ # xxx water cubes
o(" /words {\n");
foreach my $word (@$words) {
$pos += mkvec(0,-$sz);
preamble();
fill_faces();
edge_faces();
+# xxx dykes
+# xxx dyke spots
label_faces();
+# xxx water track
+# xxx HS initial locations
+# xxx HS instructions
+# xxx overall instructions
+# xxx card decks
postamble();
print STDERR Dumper(\%region) if $ENV{'GENERATE_BOARD_DUP'};