HackerLangs
TopNewTrendsCommentsPastAskShowJobs

BlueBerry2001

no profile record

Submissions

[untitled]

1 points·by BlueBerry2001·bulan lalu·0 comments

[untitled]

1 points·by BlueBerry2001·bulan lalu·0 comments

Cate v1.0 is out: The Infinite canvas workspace for developers

github.com
65 points·by BlueBerry2001·2 bulan yang lalu·66 comments

CATE – an open-source spatial workspace for terminals, browsers and dev tools

github.com
2 points·by BlueBerry2001·2 bulan yang lalu·0 comments

comments

BlueBerry2001
·bulan lalu·discuss
Pretty cool, tried something like this as well. But had a lot more than 150 loc.
BlueBerry2001
·bulan lalu·discuss
So true
BlueBerry2001
·bulan lalu·discuss
[flagged]
BlueBerry2001
·bulan lalu·discuss
GOATed plane, love the engine power.
BlueBerry2001
·bulan lalu·discuss
Actually very useful. Thanks
BlueBerry2001
·bulan lalu·discuss
fair point
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
[flagged]
BlueBerry2001
·bulan lalu·discuss
[flagged]
BlueBerry2001
·bulan lalu·discuss
Fair point. The wording was a bit clickbaity, I get that.

It’s definitely not dead though. Quite the opposite: the project is actively growing and improving. The first post didn’t get much traction, but we kept working on it, fixed a lot of rough edges, and v1 is in a much better state now.

I should have phrased that more clearly.
BlueBerry2001
·bulan lalu·discuss
[flagged]
BlueBerry2001
·bulan lalu·discuss
Do you mean the demo on website?
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
[flagged]
BlueBerry2001
·bulan lalu·discuss
That would be a really interesting direction, and I agree it fits the idea well.

Right now Cate is a local desktop app because we wanted the first version to work closely with local projects, shells, files, node-pty/xterm, browser panels, Monaco, git worktrees, etc.

A self-hosted web version would need a different architecture: a backend that owns the PTY sessions, keeps them alive when the browser disconnects, handles auth/security, and syncs the canvas state to the client. Definitely possible, but a bigger shift than just “put the current app in the browser”.

Long term I think remote/headless workspaces and reconnectable sessions would make a lot of sense.
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
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.
BlueBerry2001
·bulan lalu·discuss
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.