Expand description
Pixel-art splash scene — a beanstalk growing out of its pot
(the ebman = Elastic Beanstalk gag: watch the thing sprout).
Used by the boot splash and the :about overlay.
Each glyph in a frame is a palette key, not a literal. The
renderer (splash_scene_lines) paints every non-. key as a
two-cell ██ block coloured via [splash_pixel] — two cells
wide so each logical pixel is roughly square (terminal cells are
~1:2). The . key is transparent (rendered as two blank cells).
14 frames take the env from bare pot to full bloom: 8 keyframes from the JSON design source (indices 0, 1, 3, 5, 7, 9, 11, 13) interleaved with 6 hand-drawn in-betweens (2, 4, 6, 8, 10, 12) that smooth the largest visual jumps. The pot stays rooted across every frame so the growing motion reads against a fixed anchor.
Palette keys: # outline (dark green) · G leaf · L leaf
highlight · F bud · P pot · T soil. All frames are 20×20.
Constants§
- SPLASH_
SCENE_ COLS - Number of art columns per frame. Every frame is exactly this wide; the renderer relies on that to avoid per-frame jitter when alignment recentres. Doubled (×2) at render time so logical pixels are roughly square in the terminal cell grid.
- SPLASH_
SCENE_ ROWS - Number of art rows in the splash scene (every frame is the same height). Used by callers to size the splash card / about popup.
Functions§
- draw_
splash - Draw one splash frame to the terminal. Composes the
splash_scene_linesbeanstalk-growth scene (when the terminal has room) with the tagline + byline + connecting-to-AWS spinner. In Powerline mode (resolved byfont_probebefore this runs) pills the tagline + byline + av{VERSION}tab on the top border; falls back to plain text otherwise. - splash_
scene_ lines - Build the coloured lines for the splash scene at
frame. Each non-transparent pixel is a two-cell██block in its palette colour, so the logical pixels are roughly square. Used by the boot splash and the:aboutoverlay. - splash_
shows_ scene - Pure: whether the boot splash has room for the pixel-art scene. Below this it falls back to the compact text-only card. Scene is 40 cells wide (20 px × 2) and 20 rows tall; the threshold is the card chrome budget (+ borders / padding) on top.