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.
Improvements to Fornjot and its documentation that are visible to end users.
- Don't require
--modelto pass a model (#1323; thank you, @kopackiw!)
- Add command to create a new model (#1344; thank you, @MartinKavik!)
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.
- Complete transition to new validation infrastructure (#1326, #1328, #1330)
- Continue cleaning up partial object API (#1331, #1334, #1337, #1338, #1339, #1340, #1343)
- Remove use of old validation infrastructure (#1329)
Improvements that are relevant to developers working on Fornjot itself.