LIVING ASCII SCENES · v0.4.0

Your interface,
but alive.

Drop a shark tank, a robot floor, a jellyfish bloom, or one very good robot dog behind your UI. Zero dependencies. One canvas.

$npm i ascii-things

TRY THE SCENE · click, type, or throw

›
yard@04 · awaiting commandUNIT 01 · IDLE · BALL READY
SCROLL ↓

01 / HABITATS

Four scenes.
One tiny runtime.

Each one is a small ecosystem, not a looped animation. Seeded, themeable, and capped so it stays fast on a real page.

01

Shark tank

OPEN ↗

Schools, hunts, panic, and settles. Eight sharks, five fish species.

BOIDS · PURSUIT · WAKE
02

Robot floor

OPEN ↗

A working factory floor. Patrols, jobs, charging bays, low batteries.

STATES · DOCKS · DISPATCH
03

Jellyfish bloom

OPEN ↗

Five kinds of bell, drifting on a live current. Click to send a shockwave.

PULSE · CURRENT · GLOW
04

Robot dog

OPEN ↗

A test yard with a ball, a dock, and a very good quadruped.

GAIT · FETCH · CHARGE

02 / INTEGRATE

One install.
Anywhere you render.

React, plain HTML, Astro, Vue, Svelte, or a static page. Canvas in, life out. The host app keeps its own UI.

  • Zero runtime dependencies
  • ESM, tree-shakeable subpath exports
  • Optional React ≥ 18 peer
  • Works with your design system — or ours
import { AsciiDog } from "ascii-things/react";

export function Hero() {
  return (
    <AsciiDog
      palette="abyss"
      seed={7}
      spread={[0.68, 0.68]}
      label="A live ASCII robot dog test yard"
    />
  );
}

Same API in every scene. Swap the import and the options.

03 / WHY IT FEELS ALIVE

Small simulations.
Serious defaults.

01

Zero dependencies

One canvas, no WebGL, no image pipeline. The whole runtime is yours to read.

02

Deterministic

Seed the world and it plays the same way twice. Screenshot it, test it, ship it.

03

Themeable

Abyss, paper, neon, mono, or a palette of your own. The scene follows your ink.

04

Accessible defaults

Reduced motion settles the world. Decorative canvases stay out of the a11y tree.

05

Built for 60fps

Cell caps and adaptive columns keep 4K pages from turning into a particle furnace.

06

MIT, forever

Use it in a portfolio, a product, or a pitch deck. No seat counts, no watermark.

THE PRINCIPLE

Not an animation.
A habitat.

Every scene runs on its own small rules. No two loads are quite the same.