Kadmo

kadmo / acid-shellscape

VISUAL IDENTITY / DESIGN SYSTEM

Acid Shellscape

Abstract landscapes made of terminal cells.

block · halftone · dots · character

MIT license · no dependencies · by k3v1nn

landscape.js
Sunset landscape made of terminal cells
[ 01 — THE NAME ]

One identity, three words.

Acid

the colors: acid yellow, coral, lilac and lime.

Shell

the language of the terminal: mono font, characters, code-style labels.

Scape

the landscape: sky, mountains and water, or a whole photo, become a grid of squares.

[ 02 — THEMES ]

Three times of day, one palette each.

const hour = 18;

    Besides these three, which follow the time of day, there are five hand-picked themes: neon, aurora, candy, desert and tropical. See them in the gallery below.

    [ 03 — RECIPES ]

    Each square is drawn in one of four ways.

    block

    flat square.

    use for: color mass, sky, middle mountain.

    halftone

    crossed diagonal hatching; density follows the light.

    use for: distance, haze, dense clouds.

    dots

    grid of small squares; size follows the light.

    use for: halos, light clouds, aurora.

    character

    a glyph from .:-=+*#%@$ in a mono font.

    use for: foreground, water, rock texture.

    plus the blob: overlapping circles that merge, the signature of the sun and the moon.

    [ 04 — PRINCIPLES ]

    Rules that hold the aesthetic together.

    1. The farther away, the lighter the recipe: far is halftone, middle is block, near is character.
    2. Choppy motion, 10–12 frames per second, always in layers. No smooth easing.
    3. Every “random” value comes from hash(column, row, seed), never from Math.random() on each frame.
    4. No smooth gradients, blur, shadows or rounded corners (only on blobs).
    5. Interface text sounds like code: lowercase, mono, const hour = 18;.
    6. At most five accent colors per scene, and one of them dominates.
    [ 05 — HOW TO USE ]

    Import the tokens, draw the cells.

    1 · colors and measures

    <link rel="stylesheet" href="tokens/acid-shellscape.css">
    
    <html data-theme="poente">  /* + dia, noite, neon, aurora,
                                    doce, deserto, tropical */

    2 · cells, on any 2D canvas

    import { block, halftone, dots, glyph, blob } from './src/cells.js';
    
    block(ctx, 0, 0, 16, '#1f74c4');
    halftone(ctx, 16, 0, 16, '#0e2f52', '#fff', .6);
    dots(ctx, 32, 0, 16, null, '#f4f6f8', .8);
    glyph(ctx, 48, 0, 16, '#', '#9cc3e4', '#0e2f52');
    blob(ctx, 64, 0, 16, '#e6e61e');

    the repository also ships the full landscape, an image-to-cells converter and an interactive wallpaper package.

    [ 06 — WINDOWS ]

    The system becomes an interface too.

    desktop
    Several terminal windows overlapping on a dark background: clock, weather, music player and landscape
    mobile
    Mobile version of the Acid Shellscape windows
    [ 07 — GALLERY ]

    More than a landscape.

    The system grew: five windows that react to touch (vida.cell, radar.sh, fogo.cell, cobra.sh and sistema.sh), six title-bar styles, seven palettes, new backgrounds and window sets. All with the same four recipes.

    Open source, MIT license.