New week, new Rust! What are you folks up to?
Yesterday I uploaded a tool for managing Finite State Machines (FSM)
Local text in forum here
(Sorry for all links and references and duplicates. It's not that easy when you are some 72-years)
I'm trying to implement an async aware DataLock and DataRWLock in bare-metal
no_std environment for my Raspberry Pi bare-metal OS
The aim is that if mutual exclusive access is requested this lock could be
awaited in an
async fashion without blocking the current thread. As soon as the lock would be available the waiting lock request will be woken and can continue..
Still working towards the 2.0.0 release of the schema_registry_converter crate. Replacing curl by reqwest was a fun exercise, especially since it was consuming a json api, I could remove a lot of code. Adding options to set header and proxy, and maybe some cache.
I've been working on the gtk+ version of FlowBetween. Specifically, I've been replacing the old Cairo/NanoVG renderers with a new renderer based on Lyon and OpenGL. This is something that I'll eventually move to the other platforms as well - FlowBetween needs a reliable and fast cross-platform off-screen renderer and that's something that's actually missing regardless of implementation language.
I'm hopeful I can get enough of the renderer working in webasm that it can be used in the browser UI as it's a lot faster than any of the software canvas renderers. I need to decide between using wgpu or plain Metal for supporting the new renderer on OS X: I had a hard time getting gfx or wgpu to work decently well with gtk+ so I'm leaning towards skipping the middle man.
I really want to ditch gtk+ - it's overcomplicated for FlowBetween's needs and often quite janky (for instance, one bug I need to fix is that you can't click buttons if the keyboard layout is set to anything other than US...). I've revisited the options for writing Rust UIs, and it still kind of seems the best option annoyingly, so I imagine some time fixing weird glitches is in my future.
I've also written another new library driven by some other requirements in FlowBetween: flo_rope is an implementation of the rope data structure that's not restricted to just ropes of characters (FlowBetween wants to use ropes of controls to represent UI layouts, I think it'll work better than the usual 'diff' algorithm), has attached attributes (for rich text representations) and has support for pushing and pulling changes (for building reactive-style user interfaces where changes are put on a stream). When I'm done with the canvas, I'm going to use this to add text areas to FlowBetween's UI.