I started this blog a while ago (before Claude was a thing). So far, I haven’t made any posts about my side projects because I’ve preferred to spend my free time actually building things. The upside of this approach is that I’ll have a lot to share once I start publishing more meaningful posts.
Progress in the Vantage codebase has been great recently. Right now, I have an application that can render 3D objects using a simple, effect-based system for creating and managing scenes. Users can create primitives such as nodes, lines, and planes. Scripting with lua is also possible with a simple text editor included out of the box.
Just for everyone to get an idea of what the thing i am building looks like I made a screenshot:

Except for the limitation that mlua does not yet compile to wasm32-unknown-unknown it looks the exact same in any browser supporting webgpu. I chose to include scripting support for JS using webworkers for now although I hope that mlua will support the required target soon.
There are quite a few more features that are already implemented:
- (rectangle) selection
- positioning (translation and rotation) settings
- line thickness settings
- node size settings
- rendering shells from x,y,z csv files
- global search for actions and keyboard based navigation
- per tab scenes with the ability to rename tabs
- json api using a tcp socket
- alacritty terminal included in its own pane
Goal
I want this application to be a general purpose data visualization engine. I dont think that i will be able to compete with applications such as blender on the rendering quality of a given scene. However, I do think that a *simple* way to create even complex technical visualizations is currently needed but not available for a lot of engineers – just think about the following topics: algorithms and datastructures, graph theory, MRI, x-ray, signaling theory, quantum computing, optical engineering, stock prices, …
All of these require highly non-standard ways of displaying data. While there are a lot of tools that are able to create these, i don’t know a single one that allows the user to do it easily. To this end it will be important that vantage is able to produce all kinds of output (svg, pdf, gif, mp4, step, …).
With the rich output system in place, this is essentially an MVP. Maybe some easy way of adding various data sources is still needed but aside from that i think that I am already very far. Let me know if you’d like to test an alpha version.
Leave a Reply