Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

let-go-lab

Experiments on let-go — sixel graphics, terminal UI, wasm-in-the-browser — decoupled from any one client app.

Try the mandelbrot demo in your browser — live, no install (let-go compiled to WASM, running in xterm.js).

Mandelbrot sixel demo running in the browser via xterm.js

Quick start

just play            # native TUI (needs a sixel-capable terminal)
just serve           # build + serve in the browser; open the printed URL

Both default to the mandelbrot demo and to ./let-go/lg (the symlinked checkout) — use let-go ≥ 1.11.0. See CLAUDE.md for the lg requirement, cert setup for LAN/phone serving, and how to add a demo.

Demos

  • mandelbrot — an escape-time Mandelbrot rendered as sixel graphics in xterm.js (and any sixel-capable native terminal): interactive zoom / pan / maxiter, tap-to-recenter (a central tap zooms, an edge tap pans), a dim-while-computing cue, live phase timing, and a single-pass sixel encoder.

    Controls: +/- zoom · hjkl / arrows pan · ,/. maxiter · r reset · q quit · wheel to zoom. Click/tap to recenter — a central tap zooms in, an edge tap only pans (shift+click zooms out) — exact in the browser (the shell content-sizes the terminal), and native too where the terminal's cell size can be measured (under tmux, or a terminal that answers the xterm window-ops), with keyboard pan/zoom as the fallback.

    The same .lg runs natively in any sixel-capable terminal (just play):

    Mandelbrot demo zoomed in, running natively in iTerm2

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages