I tried something similar a few months ago that acts more as a library to ratatui than a separate terminal emulator [0].
Was surprised how far one can get using some off the shelf characters like half-block when rasterizing.
The Glyph protocol mentioned in the blog post is interesting … perhaps custom glyphs could help smooth some of the (literal) rough edges from the low effective resolution of a terminals character grid.
[1] https://rapha.land/introducing-glyph-protocol-for-terminals/
That had me in stitches.
Seriously, though, when are we going to see the convergence of terminals and GUI remoting protocols? People have already departed far from Unix pipeline utilities. "TUI" programs are already GUIs in disguise. Why keep pretending that the terminal (as used by TUI programs) is a different kind of thing?
> When I first got introduced to [TempleOS], I was shocked and impressed by the flashy colors, graphical sprites and uncomprehensible UI. There are so many things that makes it so unique, weird and fascinating at the same time, somehow.... Basically, the command line becomes the direct interface for everything. You can write code, interact with the system and render graphics all in the same place, which is why TempleOS feels so unusual compared to conventional operating systems.
I think this could be a really cool approach. I enjoy tools like Chafa, imgcat, etc but something always feels a little clunky about the separation between text and images. Paradoxically having text and non-text all jumbled up like this feels better somehow.
You could also do really cool text highlights by working with light sources and shader effects
Another feature I'm looking for is smooth scrolling when you hit enter. I've had debates before where they claim it's not possible, that the text must jump one line. But I think it's possible, by shifting the frame buffer up.
My second reaction: "Oh wait is that TempleOS being cited? This is either awesome or terrible."
You'll soon may be able to implement overlapping graphics windows in TUI within GUI.
This is stupid af.
edit: But your spirit lives on ( based on the project:D )
Inline graphics from 1981,
Questions:
- rendering capabilities of this seem like it should also be able to handle 2d well, or am I mistaken? every solution I see for getting high quality 2d images or rasterization in terminal is all pretty bad. Could this do better than other solutions or is there a fundamental limit being hit somewhere?
- What happens with ssh given that this is gpu accelerated?
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
[2] https://github.com/orhun/ratty/blob/main/protocols/graphics....
Then spend their tokens on abominations like this
Make it make sense
Still giving me goosebumps
I agree, a REPL isn't Unixy in the streams of text kind of way... or is it?
What's overlooked here are the insane political and economic forces that were required to get anywhere close to the (sort of!) consistent implementation of plain text we have today. These projects try to piggyback off that success yet only contribute back harm. We have standards for a reason.
I'm not saying people can't have fun, but don't try to start a cyberpunk-inspired revolution and then blame the side effects of groupthink and software rot on everyone else when it goes sideways.
It's not hypocrisy when different people do different things.
Compiz 3d effects were ultimately a useless gimmick and I predict this is too.
This might overtake “a haiku+macOS mashup” as my idealised computing future.
Is that what you're looking for?
Super slow, but I guess thats what web devs want.
It's the ability to convey more information in less space.
Top-of-my-head notion: The cursor spins (or changes in another way) to reflect CPU use, or bandwidth use, instead of taking up space elsewhere on the screen.
[1]: github.com/eza-community/eza
Here is another video, this time with S-PACKAGE used to develop Nintendo 64.
https://www.youtube.com/watch?v=gV5obrYaogU
Which given the REPL capabilities, you can easily embedd them on it, just like the other video.
https://www.youtube.com/watch?v=o48KzPa42_o
Joking apart, the whole thing was both an exercise in madness and genius. Sometimes I wonder what he would have done if he had not gone crazy. We will never know...
https://github.com/vadimdemedes/ink
Which is what Claude Code CLI uses (or was using?) and it caused many issues such as flickering, thrashing, and latency.
At what point do you consider he had "gone crazy" relative to the development of TempleOS? Only when he committed suicide? Shortly before then? Last ____ years of his life?
Without trying to sound insensitive, I'd personally argue the entire OS was the byproduct of a "crazy" individual.
I kind of got the impression that whenever Terry didn't know how to do something, he would just convince himself that that's not what God wanted anyway and stop doing it.
also smalltalk
we used oberon in one class in university. i don't remember much unfortunately.
The entire thing may be the result of a person suffering from schizoaffective disorder, but that person still held a great deal of skill to implement that idea and enough of a touch with the reality of computer hardware to make it happen.