gap icon indicating copy to clipboard operation
gap copied to clipboard

Modify the GAP banner to show a rendition of the logo

Open fingolfin opened this issue 3 months ago • 10 comments

First iteration -- based on the sketches in https://github.com/gap-system/gap-logo/blob/main/gap-logo-ascii.txt but using a "rotated" / "flipped" version of the logo in anticipation of us changing the logo orientation (clearly we could also flip it back).

I am sure this could be improved. Perhaps e.g. @mtorpey would be interested in that ;-).

Here is a "preview" of the current state:

$ ./gap
   . - O
  /   /  \    GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 O---O    |   Architecture: aarch64-apple-darwin24-default64-kv10
  \   \  /    Web: https://www.gap-system.org
   ` - O
 Configuration:  gmp 6.3.0, GASMAN, readline
 Loading the library and packages ...
 Packages:   AClib 1.3.3, Alnuth 3.2.1, AtlasRep 2.1.9, AutoDoc 2025.05.09,
             AutPGrp 1.11.1, Browse 1.8.21, CaratInterface 2.3.7, CRISP 1.4.8,
             Cryst 4.1.29, CrystCat 1.1.10, CTblLib 1.3.11,
             curlInterface 2.4.2, FactInt 1.6.3, FGA 1.5.0, Forms 1.2.13,
             GAPDoc 1.6.7, genss 1.6.9, IO 4.9.3, IRREDSOL 1.4.4,
             LAGUNA 3.9.7, orb 5.0.1, PackageManager 1.6.3, Polenta 1.3.11,
             Polycyclic 2.17, PrimGrp 4.0.0, RadiRoot 2.9, recog 1.4.4,
             ResClasses 4.7.3, SmallGrp 1.5.4, Sophus 1.27, SpinSym 1.5.2,
             StandardFF 1.0, TomLib 1.2.11, TransGrp 3.6.5, utils 0.91
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'
gap>

fingolfin avatar Sep 23 '25 20:09 fingolfin

Delightful! As you hinted, I've tried a few different things myself, and the best I could come up with was:

  ●    G  GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
   ● ● A  https://www.gap-system.org
  ●    P  Architecture: x86_64-pc-linux-gnu-default64-kv10
 Configuration:  gmp 6.3.0, GASMAN, readline
 Loading the library and packages ...
 Packages:   curlInterface 2.4.0, GAPDoc 1.6.7, IO 4.9.1, PackageManager 1.6.3, PrimGrp 3.4.4, SmallGrp 1.5.4, TransGrp 3.6.5
 Try '??help' for help. See also '?copyright', '?cite' and '?authors'

after struggling with getting the lines down. I'd certainly be in favour of the current pull request.

mtorpey avatar Sep 24 '25 08:09 mtorpey

As a bit of a side note, it occurs to me we could introduce colour using the old 033 codes. I did this for my first attempt, and it looked alright:

image

but there's a problem, which is that the line wrapping is based on the number of characters before colours are rendered, so in narrow windows it's weirdly cut off:

image

I tried looking into the line wrapping logic myself, but it was a bit beyond me. I just thought I'd mention it in case anyone had any expertise that might allow colour to be added to the ascii logo somehow.

EDIT: The above style is achieved by:

diff --git a/lib/init.g b/lib/init.g
index c99553b23..049606145 100644
--- a/lib/init.g
+++ b/lib/init.g
@@ -434,7 +434,7 @@ function( prefix, values, suffix )
 end);
 
 BindGlobal( "ShowKernelInformation", function()
-  local sysdate, btop, vert, bbot, config, str, gap;
+  local sysdate, btop, vert, bmid, bbot, config, str, gap;
 
   if GAPInfo.Date <> "today" then
     sysdate := " of ";
@@ -447,19 +447,25 @@ BindGlobal( "ShowKernelInformation", function()
   fi;
 
   if GAPInfo.TermEncoding = "UTF-8" then
-    btop := "┌───────┐\c"; vert := "│"; bbot := "└───────┘\c";
+  #btop := "┌───────┐\c"; vert := "│"; bbot := "└───────┘\c";
+    btop := "   \033[94m●\033[0m \033[1;31mG\033[0m";
+    bmid := "\033[92m●\033[0m \033[91m●\033[0m  \033[1;31mA\033[0m";
+    bbot := "   \033[93m●\033[0m \033[1;31mP\033[0m";
   else
-    btop := "*********"; vert := "*"; bbot := btop;
+    btop := "*********";
+    vert := "*";
+    bmid := "*  GAP  *";
+    bbot := btop;
   fi;
   if IsHPCGAP then
     gap := "HPC-GAP";
   else
     gap := "GAP";
   fi;
-  Print( " ",btop,"   ",gap," ", GAPInfo.BuildVersion,
+  Print( "  ",btop,"  ",gap," ", GAPInfo.BuildVersion,
          sysdate, "\n",
-         " ",vert,"  GAP  ",vert,"   https://www.gap-system.org\n",
-         " ",bbot,"   Architecture: ", GAPInfo.Architecture, "\n" );
+         "  ",bmid,"  https://www.gap-system.org\n",
+         "  ",bbot,"  Architecture: ", GAPInfo.Architecture, "\n" );
   if IsHPCGAP then
     Print( "             Maximum concurrent threads: ",
        GAPInfo.KernelInfo.NUM_CPUS, "\n");

if anyone wants to try debugging it.

mtorpey avatar Sep 24 '25 09:09 mtorpey

I like this one:

493245889-76f429b9-403d-436e-badb-712de88edf85

best. I'm sorry to say that the ascii art version look strictly worse than the current banner in my eyes (sorry!)

james-d-mitchell avatar Sep 24 '25 10:09 james-d-mitchell

@james-d-mitchell nothing is visible there

fingolfin avatar Sep 24 '25 10:09 fingolfin

@james-d-mitchell nothing is visible there

Sorry fixed it

james-d-mitchell avatar Sep 24 '25 12:09 james-d-mitchell

If we're still at the brainstorming stage, I could mention that we have a lot more of unicode at our disposal, which could improve things. Looking at Max's design above, we can use box-drawing characters and geometric shapes to smarten it up:

   . - O
  /   /  \    GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 O---O    |   Architecture: aarch64-apple-darwin24-default64-kv10
  \   \  /    Web: https://www.gap-system.org
   ` - O

   .───●.   G
  ╱   ╱  ╲     GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 ●───●    ) A  Architecture: aarch64-apple-darwin24-default64-kv10
  ╲   ╲  ╱     Web: https://www.gap-system.org
   `───●'   P

(I've also incorporated the vertical "G A P" letters, which look good in the real logo.)

Then again, there's something more playful and fun about pure ascii which is lost here. :)

Note that the current logo uses box-drawing characters, and ascii-only displays have a fallback:

 ┌───────┐   GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
 │  GAP  │   https://www.gap-system.org
 └───────┘   Architecture: x86_64-pc-linux-gnu-default64-kv10

 *********   GAP 4.15dev-74-g0a4774e built on 2025-02-06 12:48:35+0000
 *  GAP  *   https://www.gap-system.org
 *********   Architecture: x86_64-pc-linux-gnu-default64-kv10

and we could have a similar approach.

mtorpey avatar Sep 25 '25 13:09 mtorpey

I like this one:

493245889-76f429b9-403d-436e-badb-712de88edf85 best. I'm sorry to say that the ascii art version look strictly worse than the current banner in my eyes (sorry!)

I agree with James's comment. Good work though, everyone contributing! I certainly have no relevant skills in this area to contribute towards the effort.

wilfwilson avatar Sep 26 '25 09:09 wilfwilson

I do like @mtorpey version as well, although the black&white version less so.

@mtorpey could you also provide a render of a pure ASCII version, say with * for dots? Once in B&W and once in color?

We are also considering to flip/rotate the logo, like here https://github.com/gap-system/gap-logo/tree/mh/rotated-60?tab=readme-ov-file#preview so you could also do that

fingolfin avatar Sep 26 '25 10:09 fingolfin

UTF-8, b&w image

UTF-8, colour image

ASCII, b&w image

ASCII, colour image

I can make a pull request if that'd be helpful.

P.S. Code is at https://github.com/mtorpey/gap/commit/dba5b2318e92a281c8eadbac0efa4e0d1f76a94a

mtorpey avatar Sep 26 '25 10:09 mtorpey

This version is amazing! <3 @mtorpey love this ASCII.

   .───●.   
  ╱   ╱  ╲     GAP 4.16dev-15-g0b145d9-dirty built on 2025-09-23 13:50:33+0200
 ●───●    )    Architecture: aarch64-apple-darwin24-default64-kv10
  ╲   ╲  ╱     Web: https://www.gap-system.org
   `───●'   

limakzi avatar Nov 06 '25 17:11 limakzi