I swear, so much complexity of my life right now comes from me wanting to be able to graphically draw out an interconnected hypergraph but also have a convenient textual representation of said hypergraph
I'm sure this makes zero sense to people. But ugh. It's so frustrating to have the ideas in your brain and just not be able to really tease them out in a useful way for others
Signed,
trying to figure out how to map "do the platform engineering thing more better" into strategy and architecture
Sometimes I just want to visually ontologize GADT type signatures, TLA+, nCat, or traits/interfaces/header files. Bonus if it spits out graphviz.
Sometimes I just want a hierarchical state machine or dag that hides detail.
Sometimes I dream about building a graph editor in the browser, based on a very particular set of solutions ( #veilid for p2p, #egui for editor, #bevy for data, and #rapier for deterministic physics based layout). Layout is the really tricky part for building a graph editor I've found.
Some widgets do not work anymore (thermal monitor & an older weather widget). That was expected.
Some settings were reset.
Took me a while until I figured out, that I had 'Breeze dark' for all design styles but the colors in 'Breeze classic'.
I deactivated shadows again but need to find some more animations.
Fixed a thin line around windows by changing the Breeze window decorations.
The performance feels smooth, although my hardware is really old now. I am especially happy, that my GPU is not outdated with this upgrade.
All in all no real game-breaking bugs for me.
Except one: My latest project is freezing after it starts. It is based on #egui / eframe with #webgpu, which might play into it.
I wanted to publish it in a couple of days. But not knowing, what causes this, and knowing, that my app will not run on all systems, will delay it.
I was asked to simulate one sphere and plot its energy to validate my physics implementation.
But since I use #Rust, I thought why not simulate 10000 spheres instead? 😂
I don't understand the energy spike at the beginning, but at least the energy is stable later.
I also ported the code to use f64 everywhere instead of f32 for physics.
2^14 spheres this time ✨
I also made the repository public but it will not be published as a library. It is just my educational progress with my thesis: https://codeberg.org/mo8it/master-thesis
For a while now i'm working on a Voxel game + Editor, that does have some unique mechanics, and is not just a copy of a popular game.
It's entirely written in rust, bevy and egui. I started the project last year in April
These images are mostly from my Discord Server, that i kinda use as a Dev Diary (let me know, if you're interested btw)
After complex filter chains for endless combinations in last version:
Now with a color rotator node like changing hue constantly. Using a trigonometric function allows to select upper and lower borders for some nice effects.
Also the fader (stacker) is finally there to create slideshows of connected nodes with blending.
Now with complex filter chains for endless combinations.
New color mixer node.
New monitor node to see intermediary results.
New snapshot node to write uncompressed PNGs.
Complete rework of most of the other nodes.
New FPS display and lots of GUI improvements.
(Technical details can be found in docs/concept.txt.)
Uploaded a preview of "pw-videomix" with a new render backend.
Amazing new possibilities!
Complex chains of mixers and mandala filter lead to marvelous animations. Even loopbacks between two mixers don't break anything. (Maybe keep an eye on GPU temps.)
Still more like a prototype, but the framework seems pretty solid.
Menu allows for a little bit more customization now.
My video mixer got a huge overhaul. I ripped everything apart until nothing worked anymore.
Then I started to build the picture loading again, but this time in a custom #Vulkan pipeline. A separate window shows this content, but now in a render callback.
Today I got my mandala filter node working, writing the result to a frame buffer. Now I can combine multiple filter in a chain!
It seems to be pretty performant.
Will upload it within the next few days hopefully.
Basic features are working: One artistic node and the mixer.
Now a lot of work is left to close and remove stuff and correctly connect all the other variables with the right places.
But holy cow, that was an adventure.
Color mixer and more in- and output options are on the list (write to files, #PipeWire, and that kind).
(Maybe a mandala as a template to create a mandala isn't the best example. :blobcatgooglytrash: )
#Vulkano, a "Safe wrapper for the #Vulkan graphics API" in #Rust released version 0.34 two days ago.
When I started using it, 0.33 was previously released. But there were changes with layouts from pipelines. And the version on crates.io was somehow out of sync with the examples and the git repository. There was stuff, I just couldn't get to work.
I am so happy now to hopefully be able to replace all the workarounds.
My project depends on #winit, #egui, #vulkano and the egui_winit_vulkan wrapper. Trying to use egui render callbacks with secondary pipelines, is really confusing sometimes. Searching and searching until I realized, what I tried to achieve, isn't part of egui but the wrapper. Same with egui and winit.
But that time needed to be spent.
Now I read so many different pipeline constructors and shader implementations, that they don't look confusing to me anymore.
Nice.
Went down the rabbit-hole of #egui & #bevy. Managed to get something "functional", but it was utterly unmaintainable code. I built a tileset palette and was able to draw on screen, but it was limited in how I was using egui.