Hacker News new | ask | show | jobs
by JrProgrammer 21 days ago
Cool project! I've been playing around with a couple of different implementations of an infinite canvas.

One of the reasons why I did not go with an HTML based approach is because the XY translation gets really laggy with a couple dozen items.

Is that something you thought about and accounted for?

1 comments

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.