X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=commitid.scad.pl;h=3e813b2d3cdbb4f549e09e207ba31c615524bb59;hb=1f1a48c7ecc8938a779353150fa6a68b5da0c8ee;hp=b8d295af420f608546d09751f38b259986590a5c;hpb=e287f595aa0e4eab9544bd49907d20adc9b5e977;p=reprap-play.git diff --git a/commitid.scad.pl b/commitid.scad.pl index b8d295a..3e813b2 100755 --- a/commitid.scad.pl +++ b/commitid.scad.pl @@ -52,46 +52,52 @@ $SIG{__WARN__} = sub { die @_; }; # # We can generate these forms: # -# Tiny3: -# Tiny4: -# Tiny5: -# Tiny6: -# Tiny7: -# Tiny8: +# Small3: +# Small4: +# Small5: +# Small6: +# Small7: +# Small8: +# Small9: +# Small10: # git rev-list --first-parent --count HEAD # typically 3-4 characters but we allow for up to 6 # padded with zeroes; if too long we reduce mod 10^n # eg -# Tiny4 1070 +# Small4 1070 # If tree is dirty, + or * is suffixed, reducing number of # digits by 1. # -# Tiny4Q: -# Tiny6Q: -# Tiny9Q: -# same but in two lines eg -# Tiny4Q 10 +# Small4S: +# Small6S: +# Small8S: +# Small10S: +# same but split into two lines eg +# Small4S 10 # 70 # -# Git4 Git4Q -# Git6 Git6Q -# Git8 Git8Q +# Git4 Git4S +# Git6 Git6S +# Git8 Git8S +# Git10 Git10S # git-rev-parse HEAD (prefix of requested length) # eg # Git6 82f2a2 # If tree is dirty, + or * is suffixed to commitid, # reducing number of hex digits by 1. -# Small3 -# Small4 -# Small5 -# Small6 -# Small7 -# Small8 +# Full3 +# Full4 +# Full5 +# Full6 +# Full7 +# Full8 +# Full9 +# Full10 # git-rev-list --first-parent --count HEAD # git-rev-parse HEAD # eg -# Small6 1070 +# Full6 1070 # 82f2a2 # If tree is dirty, + or * is suffixed to count (but not to # commitid) reducing number of digits by 1. @@ -121,6 +127,16 @@ sub chrmodname ($) { return "Commitid__chr_$chrx"; } +our $gtm_demo_i = -1; +our $gtm_demo_j; +our @gtm_demo_o; + +sub gentextmodule_demo_next_batch(){ + $gtm_demo_i++; + $gtm_demo_j = 0; +} +gentextmodule_demo_next_batch(); + sub gentextmodule ($@) { my ($form, @lines) = @_; my $modb = "Commitid_$form"; @@ -146,8 +162,14 @@ sub gentextmodule ($@) { p " d=Commitid_depth();\n"; p " translate([0,0,-d]) linear_extrude(height=d*2) ${modb}_2D();\n"; p "}\n"; + p sprintf "function %s_sz() = Commitid__scale() * 0.1 * [ %d, %d ];\n", $modb, 2 * ($cols * 4 - 1), 2 * (@lines * 6 - 1); + + push @gtm_demo_o, + " translate([$gtm_demo_i * st[0], $gtm_demo_j * st[1]])". + " ${modb}_2D();\n"; + $gtm_demo_j++; } our @demo; @@ -247,7 +269,7 @@ sub gentextmodule_plusq ($$) { my $l = length $s; gentextmodule($form, $s); if (!($l & 1) && $l>=4) { - gentextmodule("${form}Q", substr($s,0,$l/2), substr($s,$l/2)); + gentextmodule("${form}S", substr($s,0,$l/2), substr($s,$l/2)); } } @@ -304,14 +326,16 @@ sub do_git () { $git_object = gitoutput qw(rev-parse HEAD); } - foreach my $sz (3..8) { - gentextmodule_plusq("Tiny$sz", rjustt($sz, $git_count.$git_dirty)) + foreach my $sz (3..10) { + gentextmodule_demo_next_batch(); + + gentextmodule_plusq("Small$sz", rjustt($sz, $git_count.$git_dirty)) if defined $git_count; gentextmodule_plusq("Git$sz", ljustt($sz, $git_object, $git_dirty)) if defined $git_object; - gentextmodule("Small$sz", + gentextmodule("Full$sz", rjustt($sz, $git_count.$git_dirty), ljustt($sz, $git_object, '')) if defined $git_count && defined $git_object; @@ -346,6 +370,11 @@ gentextmodule('FontDemo', @demo); do_git(); +p "module Commitid_2DDemo(){\n"; +p " st = Commitid__scale() * [ 10, 5 ];\n"; +p $_ foreach @gtm_demo_o; +p "}\n"; + flush STDOUT or die $!; close STDOUT or die $!;