3 ms·
Howdy HN audience, wanted to share a revamped proof-of-concept that I originally wrote in 2013 for GPU accelerated text rendering in WebGL. This isn't intended
by aappleby 4y ago
Howdy HN audience, wanted to share a revamped proof-of-concept that I originally wrote in 2013 for GPU accelerated text rendering in WebGL.
This isn't intended to be a real text editor prototype, just a demonstration of how much text you can push through a modern GPU if your shaders are reasonably efficient. The original PoC could handle ~800 megs of text at 60 fps on the integrated GPU of a 2012 Macbook Pro, this one has been tested with 1.2 gigs of text on a 3080ti, where it uses only a few percent of the GPU's capacity and nearly zero CPU.
And yes, I know there's no syntax highlighting or kerning or vector font support in Wideboard - that's not the point, and those features could be added without majorly affecting performance.
My hope is that this will spark a bit of discussion about text rendering and IDE design. How would our programming habits change if we could view our entire codebase - even an enormous one - in a single view ala Google Maps? I don't currently have the spare time to investigate something as sizable as an IDE project, but I'm curious to see what other folks come up with.
-Austin
- turtleyacht 4y agoThis reminds me of jart's Blinkenlights [1], where debugging can be visualized. It would be neat to see each line or line-chunk as flashes that happen across every file in the Linux kernel since the first commit, all at once. I think there was also a visualization for Minecraft source that used graphs to show the evolution of that code. [1] https://justine.lol/blinkenlights https://justine.lol/blinkenlights
- tikimcfee 4y agoI have this mostly working for Swift by thread and execution tracing matched to syntax analysis in https://github.com/tikimcfee/LookAtThat https://github.com/tikimcfee/LookAtThat. You can record app execution, and then play it back thread and line and by line to see each line executing in time. It’s kinda fun to see millions of lines flash and highlight and move at 60fps and seeing implicit relationships between executing files and high level functional flows
- jimmySixDOF 4y ago>How would our programming habits change if we could view our entire codebase - even an enormous one - in a single view ala Google Maps? One way is to use a 3D approach to the visualization problem [1]. Primitive has some videos out showing this in practice and its still very much work in progress. Text rendering in XR is such a neglected backwater of the UI shell although some projects like TrokiaJS are making progress. Will definitely look at your GLSL with someone more skilled in the art - thanks for sharing. [1] https://primitive.io https://primitive.io
- tikimcfee 4y agoI’ve tried desperately to get in contact with the folks at primitive to hash out some ideas and make suggestions, but they’re either not open to them, or too busy to have a conversation. I’ve been developing a SceneKit and metal backed GPU based text visualizer in a fully 3D space, but without all the bells and whistles of an IDE yet - although I can trace threads and do basic syntax analysis. If that interests you, check out: https://github.com/tikimcfee/LookAtThat https://github.com/tikimcfee/LookAtThat
- jimmySixDOF 4y agoI think Primitive started out with a bang under one of the many false dawns of XR and while it is still a side project, it is not super active although I did see JavaScript added in the last 6months so definitely not frozen. Your own project looks like a great experiment with Apple ecosystem and while I hope they join on to standards based WebXR it will be good to see this new development environment they are rumored to release this summer. I had not seen TapKit before so thats a great thing to be aware of thanks & it reminds me of a project called Lexting that was floated for a while using freespace inputs and still some demos on Youtube. Good luck with your prototyping!
- jmholla 4y agoZooming isn't working for me in Firefox with a trackpad. Any idea what's going on? It doesn't work even in the hosted version someone shared below:https://wideboard.stjo.dev/ https://wideboard.stjo.dev/
- aappleby 4y agoI think Firefox is doing something funny with mousewheel events. Chrome seems to work fine.