2 ms·
Really fun project! Dude, I spent the last week implementing Kitty Graphics and Clipboard protocols in ghostty-web in the Canvas render. Then I added WebGL and
by neomantra 5mo ago
Really fun project! Dude, I spent the last week implementing Kitty Graphics and Clipboard protocols in ghostty-web in the Canvas render.
Then I added WebGL and WebGPU renderers [1], including support for Kitty.
Then I see this this project on a Monday morning... so now I have to implement Ratty Graphics Protocol?!?! [2].
ETA: I looked into this; Ghostty would need patched to support Ratty since Ghostty-Web now defers APC handling there. It would also require pulling in a 3D engine like three.js or otherwise implementing file parsing, lighting, etc. Finally, since local filenames are part of the protocol, a browser would need some file resolver helper, either to get the data over the APC channel or via a URL.
[1] https://github.com/NimbleMarkets/ghostty-web/tree/nm-webgpu https://github.com/NimbleMarkets/ghostty-web/tree/nm-webgpu
[2] https://github.com/orhun/ratty/blob/main/protocols/graphics.md https://github.com/orhun/ratty/blob/main/protocols/graphics....
- kokey 5mo agoI am a bit surprised that I had to look hard for someone to mention Ghostty in the comments.
- tikimcfee 5mo agoYour wish is my project. Glyph rendering in three.js, fully instanced and addressable and positionable instances. Handles tens of millions. Sample app loads up full GitHub repositories in the web in a few seconds. https://github.com/tikimcfee/glyph3d-js https://github.com/tikimcfee/glyph3d-js https://ivanlugo.dev/ide https://ivanlugo.dev/ide
- neomantra 5mo agoThat's pretty handy, thanks for the links. IDE is slick! Given the structure, I think one could make a threejs backend on for ghostty-web. Makes sense if one will pull in more of three.js anyway. I'm adding it to my backlog to explore.
- tikimcfee 5mo agoFirst off, from an internet rando: <3 Second: I would love to offer any assistance during your perusal. Happy to share ideas, what I tried, point out parts of the code that are rough and tumble, whatever helps. I'm in a place where any outside feedback and prodding is precious, so thanks very much for taking a look and keeping it in mind!