POC: DOM-based terminal rendering with wterm and libghostty #313
Replies: 1 comment 3 replies
|
This is really cool work - wterm + libghostty sounds fun :) One thing I want to gently clarify, since it's kind of the premise for the whole POC: the current player doesn't actually render text to The practical upshot is that a few of the listed benefits already work today:
In fact our whole Playwright suite asserts terminal output by reading Just wanted to make sure we're comparing against what's actually there. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I built a proof-of-concept (POC) that swaps in vercel-labs/wterm as the terminal rendering engine for asciinema-player. The big change: it renders to real DOM elements instead of canvas.
.cast/.asciicastfile, use the file picker, or paste a URLdevelopbranch)The current player renders to
<canvas>, which is opaque to browsers and assistive technology. Switching to wterm's DOM renderer gives you:Ctrl+F) works on terminal contentOptional: @wterm/ghostty for full VT compliance (demo has ghostty)
wterm has a pluggable backend and they support ghostty
@wterm/ghosttywhich drops in libghostty-vt, the same parser powering the Ghostty terminal app. So you get:corepropThe POC uses
@wterm/ghosttycurrently.What the POC includes
I'd be happy to help integrate this into the player if there's interest. Let me know what you think!
CleanShot.2026-05-02.at.14.29.40.mp4
All reactions