Hacker News new | ask | show | jobs
by aleda145 19 days ago
Really nice! I tried out a similar thing but with tldraw as the canvas engine: https://github.com/aleda145/terminaldraw

I see Cate also uses node-pty. I didn't know what psuedo terminals were before, it's cool stuff

1 comments

Nice, I just checked terminaldraw. Very similar core idea, but interesting that you used tldraw more directly as the canvas engine.

Cate is a bit broader in scope: Electron desktop app, persistent project workspaces, node-pty/xterm terminals, browser panels, Monaco editors, docs, git/worktrees, docked tabs/splits, and now agent panels as well.

PTYs were a fun rabbit hole. The basic idea is simple, but making terminals feel native inside a canvas is where it gets tricky: lifecycle, resize behavior, restoring sessions, shell fallback, scrollback, performance, and not breaking when panels are moved/docked/detached.

Cool to see someone else exploring the terminal + canvas direction too. I’ll take a closer look at your repo.

If you haven't already it may be worth looking at https://github.com/coder/ghostty-web which wraps libghostty in an xterm.js compatible wrapper, the focus for Ghostty has very much been the sort of things you're mentioning so it'll hopefully make a solid foundation.