LIVING ASCII SCENES · v1.0.0-rc.0

Your interface,
but alive.

Drop a night lagoon, a shark tank, a robot floor, or a jellyfish bloom behind your UI. Zero dependencies. One canvas.

$npm i ascii-things

LIVE NIGHT REEF· ambient simulation

lagoon@night · moon currentREEF · TURTLE · MANTA · DOLPHIN
SCROLL ↓

COMPOSITIONS / LIVE

One scene. Every surface.

The same canvas in the paper, product, and immersive languages. Swap the scene; keep the surface.

Open compositions ↗

01 / HABITATS

Living 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

Lagoon

OPEN ↗

A full-canvas marine family: turtle, manta, seahorse, dolphin, hammerhead, tang.

MARINE · VARIANTS · IMMERSIVE
02

Shark tank

OPEN ↗

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

BOIDS · PURSUIT · WAKE
03

Robot floor

OPEN ↗

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

STATES · DOCKS · DISPATCH
04

Jellyfish bloom

OPEN ↗

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

PULSE · CURRENT · GLOW
05

Robot dog

OPEN ↗

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

GAIT · FETCH · CHARGE
06

Starling murmuration

OPEN ↗

A murmuration folds, ripples, and scatters around a hunting shadow.

BOIDS · ROOST · SCATTER
07

Firefly meadow

OPEN ↗

A dusk meadow where a few hundred small lights drift and blink.

DRIFT · BLINK · FLARE
08

Ant trail

OPEN ↗

A colony lays trails, finds crumbs, and carries food home.

TRAILS · FORAGE · NEST
09

Koi pond

OPEN ↗

A pond of koi, lily pads, and ripples that spread from every visit.

SCHOOL · RIPPLES · FEED
10

City grid

OPEN ↗

A night grid of towers, windows, traffic, and signals.

GRID · TRAFFIC · NIGHT
11

Server room

OPEN ↗

A rack room with fans, status LEDs, and packets crossing the aisle.

RACKS · PACKETS · PING

02 / KANJI

The alphabet
is the artwork.

Fifteen studies and two live marks. The same engine, switched to kanji: a live helix, fields, water, sky, land, a torii, seasons, a fan, an ink field, and a glyph murmuration.

Live 3D

Kanji helix

A double helix turning through a field of bright characters.

WEBGL · 龍神光
Open study ↗

03 / 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.

04 / 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.