Hacker Newsnew | past | comments | ask | show | jobs | submit | BlueBerry2001's commentslogin

fair point

Fair point. I probably should have submitted it as Show HN.

I posted it more as a progress/update thread because I was mainly looking for feedback from people with heavy terminal or multi-window workflows, but I agree that the format fits Show HN better.


Do you mean the demo on website?


Yeah, that’s pretty much how I see it too.

Cate is not trying to compete with tiling/scolling WMs. Those are better if the main problem is arranging normal OS windows.

The goal here is more project-scoped: one spatial canvas where terminals, browser previews, editors, docs, notes, agents, git/worktrees, and saved layouts live together. More like a persistent workspace for a single project than a global desktop environment.


Thanks for the pointer, I actually didn’t know Haystack before. Looks like it belongs in the prior-art / inspiration section, so I’ll add it to the README.

From a quick look, I agree there is overlap around the canvas editor idea. Cate is aiming a bit more at the broader project workspace layer: terminals, browser previews, editors, notes, agents, git/worktrees, docking/tabs/splits, and persistent layouts around a project.

But yes, fair callout. Appreciate the input.


> Maybe the idea of having a "canvas editor" and building it on VS Code is not that unique...

Re-reading my comment made me realize it sounded condescending, where it was actually meant to emphasize that a canvas editor is a great idea! So I am very glad that there is development is this space.

Just felt the need to clarify this...


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.

Yeah, that was one of the main challenges and still is.

We chose Electron because the goal for v1 was to make Cate easy to try across macOS, Windows, and Linux without asking people to change their OS setup or use a specific window manager. A native implementation would probably give us more control and better performance in some areas, but it would also make iteration and cross-platform support much harder at this stage.

The HTML/canvas approach definitely has tradeoffs. Large canvases, XY transforms, terminals, browser previews, editors, and agents all in one workspace can get expensive if handled naively. We’ve been working on viewport-based rendering, transform handling, and avoiding unnecessary re-renders, but it is still an ongoing performance challenge.

So yes, we accounted for it, but I would not claim it is “solved”. v1 is much better than the early builds, and we’re continuing to improve it.


That’s fair. Infinite canvas is not for everyone. I think the important part is that it does not have to mean “everything everywhere forever”. Cate also has docking, tabs, splits, project-based layouts, and search, so you can use it more structured if you want. But yes, for some people a finite or stricter workspace model will feel better.

Yeah, I understand that direction. A more native/headless or Rust-based version could be interesting long term, especially for performance and battery life. For v1 I kept it as a cross-platform desktop app so people can try the workflow without changing their OS setup. But collaborative sessions, remote/headless workspaces, and AI-assisted sessions are definitely in the same general direction as what Cate is trying to explore.

I get that. A native WM version would be interesting, especially for performance and deeper OS integration. For now Cate is intentionally an app because it is easier to try, cross-platform, and focused on project-level workflow rather than managing the entire desktop. But I agree the boundary between spatial workspace and window manager is a real discussion.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: