Git Product home page Git Product logo

Comments (4)

freylint avatar freylint commented on August 26, 2024

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.

from fornjot.

hannobraun avatar hannobraun commented on August 26, 2024

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.

providing an "code window next to preview window" workflow like openscad.

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!

This would probably also ease development of a traditional CAD workflow as we wouldn't need to embed a full rust toolchain.

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.

from fornjot.

hannobraun avatar hannobraun commented on August 26, 2024

I just saw this article, which looks light it might be useful: https://rustmagazine.org/issue-2/optimize-rust-comptime/

from fornjot.

hannobraun avatar hannobraun commented on August 26, 2024

Closing this issue as out of scope. See A New Direction for context.

from fornjot.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.