This is the March 2023 update for Niepce. This is not an April's fool, and this is not the year I can announce a release on April's fool day. Sorry about that.
Continuing with the renderer / previewer cache.
I had to move ncr to Rust. I didn't port it all, but the
widget and the main API are now in a Rust crate npc-craw, the
fourth one in the workspace. The goal of this crate is to provide the
interface to the rendering pipeline. Some of the work included moving
away from Cairo surface and using GdkTextures instead. The main
pipeline is still the original C++ code using GEGL, it's easier for me
to bind the C++ code than to write wrappers for GEGL.
In the same way, I also ported most of the darkroom module to Rust. This module is the one that will allow the image editing and currently only handle displaying the images.
All of this was necessary to finish the render / previewer integration and making it work asynchronously: the image rendering happen in the background without freezing the UI. There are still some issues but it on overall, it works well.