Overview
A terminal made of particles
AmberSSH is an SSH terminal in which every glyph on screen is a cluster of 32 to 256 GPU particles, more than eight million of them in a full 4K window, simulated and drawn on Direct3D 12 at 120 frames per second.
It is a native Windows build in C++20. The particle system is the display, not a decoration on top of one: text arrives over SSH, Telnet, Rlogin, a raw socket or a serial port, is laid out into cells, and the cells are what the particles settle into. Seventeen motion styles decide how they get there; eight interface skins decide what they look like once they do.
Around the terminal sit the tools you would expect from a working client: an SFTP browser, a command palette, asciinema recording, and an OSC 133 command journal that knows where each command started and ended. A Three.js web version also exists.
Specification
Tech spec
| Platform | Windows, native |
|---|---|
| Language | C++20 |
| API | Direct3D 12 |
| Particles | 8M+ live |
| Per glyph | 32 – 256 particles |
| Target | 120 fps at 3840x2160 |
| Motion styles | 17 |
| Interface skins | 8 |
| Protocols | SSH, Telnet, Rlogin, raw, serial |
| File transfer | SFTP browser |
| Recording | asciinema |
| Shell integration | OSC 133 command journal |
| Also | Command palette; Three.js web version |
Features
What it does
- Eight million particles, one window. The full 4K grid is resident on the GPU. Simulation and rendering both run there; the CPU only feeds text.
- 120 fps at 4K. Frame time is budgeted for a 120 Hz display at 3840x2160 on current hardware, with the terminal still responsive while the particles move.
- 17 motion styles. How glyphs assemble, dissolve and scroll is selectable at runtime, from a plain settle to full physical dispersal.
- 8 interface skins. Amber phosphor is the default; the rest cover the usual CRT and modern looks without changing the layout.
- 5 protocols. SSH, Telnet, Rlogin, raw TCP and serial, all through the same session model.
- SFTP browser. Remote file browsing and transfer beside the active session.
- Command palette. Every action reachable from the keyboard, searchable.
- asciinema recording. Sessions record to the standard cast format for playback anywhere.
- OSC 133 command journal. Shell integration marks prompt, command and output boundaries, so you can jump between commands and re-run or copy any of them.
- Web version. A Three.js build runs the same particle idea in the browser.
Media
Gallery