The world needs another CAD program.

Weekly Release - Realization

Had I written this paragraph a few days ago, I'd been all apologetic, explaining how I really meant to work on the bug that's currently blocking further work on the union operation (#1162), but how I let myself be distracted by cleanups (#1249). Now I realize, I've been thinking about this all wrong. Before I explain, let's recap.

Arguably, the core function of Fornjot's CAD kernel is to construct geometry in a robust and convenient way. Over recent months, I've managed to significantly increase the robustness, at the cost of convenience. The APIs we have aren't well-suited to construct geometry using the new, more robust techniques. As a result, doing so is a big pain. All code that successfully does, is messy and way more complicated than it should be.

I figured I can clean this up as I go, but this problem keeps getting in the way. Constructing geometry is a core function of the kernel, after all. I've realized that this isn't a distraction from what really matters. Right now, it is what really matters. This needs to be solved, or it will keep hanging over my head, no matter what I work on.

Starting immediately, I'm switching my focus to addressing this. I have a bunch of ideas that I can try out, and I keep getting new ones as I work on this. The goal is to create an API that supports creating geometry robustly and conveniently, whether in production code, or to set up a test scenario.

Meanwhile, @kopackiw fixed some issues in the release automation and simplified how models are passed to the Fornjot application. @MartinKavik added a feature that allows users to generate a new model using the Fornjot app, and added Windows support to an internal developer tool.


Fornjot is supported by @webtrax-oz, @lthiery, @ahdinosaur, @Yatekii, @martindederer, @hobofan, @thawkins, @bollian, @rozgo, @reivilibre, and my other awesome sponsors. Thank you!

If you want Fornjot to be sustainable long-term, please consider supporting me too.

End-user improvements

Improvements to Fornjot and its documentation that are visible to end users.

Ecosystem improvements

Improvements to Fornjot components that are relevant to developers building on top of those. These have an indirect effect on end users, through fixed bugs and improved robustness.



Internal Improvements

Improvements that are relevant to developers working on Fornjot itself.