Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

WASM Terminal

A Ghostty-based terminal compiled to WebAssembly. This surface belongs to the Gaius-era visualization track. The hub control plane is signals-ui on :9889.

User instructions in the terminal transit gRPC to a product engine and responses stream back to the client.

Design

The terminal provides a familiar command-line experience in the browser. Users type natural language instructions or structured commands, which are sent to the gRPC engine. The engine processes the instruction, potentially directing compute workloads, and streams responses back to the terminal.

This approach provides:

  • Zero install — runs entirely in the browser via WASM
  • Full terminal capabilities — Ghostty’s terminal emulation compiled to WASM
  • Bidirectional streaming — gRPC streams carry instructions and responses
  • Session persistence — terminal state survives page navigation

WASM Toolchain

The build toolchain (configured in devenv.nix):

ToolPurpose
wasmtimeWASM runtime for testing
wasm-packBuild Rust → WASM packages
wasm-bindgen-cliGenerate JS bindings
binaryenWASM optimization (wasm-opt)

Web Interface Layout

Instructions flow from the terminal through gRPC to the engine. The engine directs Dask/Datashader to recompute views, which are streamed to the visualization panel above the terminal.