-
-
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
Try to optimize model compile times #14
Comments
Another possible approach to this could be utilizing a crate like HVM to create shapes and providing an "code window next to preview window" workflow like openscad. This would probably also ease development of a traditional CAD workflow as we wouldn't need to embed a full rust toolchain. |
Thank you for the suggestion, @freylint. I've seen HVM, but haven't looked into it deeply enough to judge whether it's an option. Just note that web support is a priority for this project (#73), and for that reason the current plan is to use WebAssembly for the plugin system (#71). In concrete terms, this would probably mean embedding something like Wasmtime on the desktop, and use native browser capabilities to load WASM on the web. I'd also like to note that Fornjot is modular, so for example the kernel just doesn't care who defined the geometry. It's possible to have alternative frontends that could be based on something else than WASM, although I don't think I would like to maintain those within this repository.
I'd like to see that in some form. I do think that using an external editor should always have first-class support, as it is likely to be the preferred option for power users. But I do think it would be a huge accessibility advantage if people had everything they need in a single package. This is one of these areas that are unlikely to see much attention from me for a long while, so any help is appreciated!
Yes, absolutely. Rust certainly isn't the ideal option for a CAD modeling language, and the toolchain required is one of the reasons for that. Rust is just the easiest thing to support right now, and I also think there's value in providing an alternative that is so different from the other Code-CAD options. Switching to WASM will open up the options. I assume that Fornjot will switch to another language as the preferred one at some point; something that is accessible, easy to integrate into a web-based demo, etc. I don't have a clear vision for what that could look like. Previous iterations of Fornjot used a custom language, but I don't think that's a good option from a cost/benefit perspective. |
I just saw this article, which looks light it might be useful: https://rustmagazine.org/issue-2/optimize-rust-comptime/ |
Closing this issue as out of scope. See A New Direction for context. |
I've gone through @mre's excellent article on faster Rust compile times, and I've found a few that might be applicable:
There might be more applicable tips in there, but these seems like a good place to start.
The text was updated successfully, but these errors were encountered: