Expand description
The --version banner: the grr crab, rendered as well as the
terminal allows.
Two renderings of one logo. On a terminal that advertises 24-bit
colour, the mascot is drawn as 60x22 cells of U+2580 UPPER HALF BLOCK,
each cell carrying the top pixel in the foreground and the bottom
pixel in the background — two pixels of vertical detail per character
row, which is the most a character cell can express. Everywhere else
(pipes, CI, TERM=dumb, NO_COLOR) the same mascot degrades to the
ASCII crab.
Both renderings put the bare semver on the FIRST line. clap prefixes
it with grr , and three consumers depend on that line alone:
scripts/benchmark.ts parses it as the measured version and the
workflow’s version gate compares it against Cargo.toml;
scripts/generate-demo.ts matches it against
/^grr \d+\.\d+\.\d+$/m; the Homebrew formula greps for the version as
a substring anywhere in the output. A crab-first layout would parse as
“version missing” and fail the gate open forever.
The pixel map below is the mascot’s idle pose, cropped to its
bounding box. site/scripts/generate-mascot.mjs holds the 64x64
original (buildIdleMap) and the sRGB values in [rgb] mirror its
PALETTE_LEGEND, so the CLI and the site speak one palette.
Functions§
- version_
banner - The whole
--versionbanner, in the richest form this terminal supports.