-
-
Notifications
You must be signed in to change notification settings - Fork 119
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Split Fornjot into self-contained components #141
Comments
I started working on this yesterday, but forgot to mention it or to assign myself. |
I extracted quite a few new crates last week. I think next up would be I'd like to take a stab at cleaning this up, but that will require changes to the triangulation code. And I don't want to make changes to the triangulation code before cleaning that up first, and more importantly, putting it under a test suite. That work is tracked in #105, so I'm putting this issue on hold for a bit, while I go and address that. |
I had a thought: The purpose of both |
#105 (and some related issues) have been addressed. I'm back to working on this issue. |
I've done a bunch of work since yesterday, further cleaning up crates that have already been extracted (most of that centered on At this point, I think we're in pretty good shape. There are two more areas of functionality I'd like to extract from
Once those are extracted, I'll could declare victory and call this issue done. I might look into splitting up |
I've extracted the two crates that I mentioned in my comment yesterday (#472, #474), and I consider this issue done now. While, as mentioned yesterday, some further work could be done, I don't think it's worth the investment right now. I've added an entry about that to the feature wishlist. If anyone needs more crates to be extracted from other crates, feel free to comment here or in the wishlist. |
I want Fornjot to one day be the foundation of a thriving ecosystem of related software. To achieve that, it must be composed of self-contained components that can be reused in different contexts.
Right now, Fornjot consists of two components: A host application that loads models, and a library that models use to define geometry. Most of what is relevant lives in the monolithic host application, but I've had modularity in mind from early on. Splitting out the most important components, like the
kernel
andgraphics
modules, should be possible with little work, as their interfaces to the rest of the system are pretty clearly defined.Other components will require some more work to untangle (
main.rs
is a bit of a mess right now).While I see this as absolutely critical long-term, I do not intend to work on it any time soon, unless there is real demand. Having more and smaller crates will introduce friction to the development process, and I'd like to avoid that until there is actual need. If you have such a need, please speak up!
The text was updated successfully, but these errors were encountered: