# Pixel SSH

An interactive retro portfolio with one Rust application core, a WebAssembly/WebGL2 browser canvas, and an ANSI terminal over SSH.

[Open in the WASM portfolio](https://yemelianov.dev/?project=pixel-ssh&detail=1)

Tags: rust, wasm, webgl, ssh, retro
Source: public
Repository: https://github.com/dmytro-yemelianov/pixel-ssh
Project: https://yemelianov.dev/

Pixel SSH powers the interactive portfolio at yemelianov.dev. The browser and SSH front ends share a Rust application core, project content, and navigation model.

The browser compiles to WebAssembly and renders an indexed-color framebuffer through WebGL2, with bitmap fonts, retro palettes, and optional CRT effects. Eight display systems provide native layouts from SVGA to ZX Spectrum. Keyboard, pointer, and touch controls navigate the same portfolio, and a service worker caches the interface and WASM bundle for offline use.

The SSH server renders ANSI terminal output and keeps independent application state for each channel. Guest sessions expose the portfolio application rather than a shell or remote commands.

The eight-crate Rust workspace separates the application core, view elements, framebuffer, WebGL and ANSI renderers, browser client, SSH server, and optional WebSocket bridge. Its regression suite covers display geometry, navigation, link activation, fragmented input, and real SSH session requests.
