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