Skip to content

Concepts Overview

Termless has a small, deliberate vocabulary. Once you know it, every command, API, and doc page falls into place. It is three objects and four verbs — nothing else is a concept.

The three objects

ObjectIsSide
Backenda VT-emulator implementation (xterm.js, Ghostty, vt100, …)live
Terminala live session — Backend + PTY + buffer + a readable APIlive
Recordinga captured session — its commands, I/O, and frames over timecaptured

Backend and Terminal are the live side: a program running right now, its output flowing into an emulator you can inspect. Recording is the captured side: that same session frozen onto a timeline you can replay, scrub, animate, and diff.

That is the entire noun vocabulary. There is no Recorder, no Viewer, no Exporter — those are verbs, not things.

The four verbs

Everything you do with a Recording is one of four verbs:

VerbDoesDirection
recordcapture a Terminal into a RecordingTerminal → Recording
viewpresent a Recording (scrub / animate / web)Recording → presentation
playre-execute a Recording into a TerminalRecording → Terminal
comparediff one Recording across N backendsRecording → diff

The same four verbs appear in the CLI (termless record, termless view, termless play, termless compare), in the library API, and in the MCP server. Learn them once.

Renderer is a strategy, not an object

Turning a terminal buffer into pixels (PNG, SVG, canvas) is done by a Renderer — but a Renderer is an internal strategy, not a fifth domain object. Both record (frame capture) and view (per-frame display) use one internally. You pick a Renderer the way you pick a backend; you never learn it as a concept. Keeping it pluggable is what lets termless target the terminal today and canvas/DOM surfaces later without moving the three objects.

Where to go next

  • Backend — the emulator implementations you run against.
  • Terminal — the live session and its readable surface.
  • Recording — the captured session: its tracks and its formats.

For how-to material, see the Recording Sessions and Tracing Visual Bugs guides.