@gilboonet that is definitely something worth considering either as part of jscad or an addon library. I think we will have better idea after I have some time to cooperate with you on your project. It is definitely an interesting use-case, and a real project will give much needed insight on how to proceed with it.
@z3dev thanks. I think it makes most sense to use the tool to model objects that require parametric flexibility. I'd love to see basic configurable things modelled that people can adapt to their needs and export to STL for 3D printing using JSCAD or STEP when using OCCT. It's definitely not meant to be used as a Sculpting tool or a "hand drawing replacement" CAD.
I'm trying to keep general purpose nature to the tool as much as possible. Normalising various libraries to a common system. For example it helps sometimes to just have Verb NURBS curve or a surface as a backbone to place JSCAD meshes onto. Normalisation is still a bit of a challenge and my main goal, you still see way too many Draw components for different kinds of geometries. Just yesterday I coded a draw anything component that will replace all those (still need to release that) 😉
If you browse the examples you'll see that it's also possible to tie in some time based rules into the algorithms. In the future I'm hoping that it will become easier to code some robotic behaviours as I'm using BabylonJS to draw all the shapes and after CAD operations are applied BabylonJS can take over to do things like create GPU instances of meshes, animations, collision detection or apply realistic PBR materials and shadows.
I am also in the process of tying OCCT WASM kernel into the tool, which has a lot of potential to allow for bigger CAD models to be created. There I'm still experimenting with performance and what is possible, current OCCT API is a bit limited, but I'm working on extension 😉 My poor laptop really needs an update to push those limits.
@z3dev Yes I have a js script that I use to combine svg paths, but I cannot use it here because it needs svg text objects, but it is only useful to group digits to edit the pattern , most of times users will only use patterns as they are rendered. I will try to make a way to connect the digits, maybe by adding a bottom line.
@platypii@danmarshall I think both of will be able use your preferred engine, and get specific benefits depending on a task at hand. Actually I am planning to split the necessary code so that it becomes rather easy to use any of the 3 engines I found to be interesting (regl, threejs, babylon)
it is the current engine and is compact
CON: lack proper WEBGL2 support and there are NO plans for supporting it in the future
example for extremely compact page that has jscad script and render and all under 99kb is great example why regl is still very useful 🙂 by @platypiihttps://paradr.one/
threejs and babylon
larger but can be cut down for basic rendering (I managed to get 400k version of threejs that works with jscad)
support wegl2 instancing can bring performance regl just will not ever be able with webgl1
are working actively on great next thing: WebGPU
WebGPU might be the future for jscad if we can come up with ways to utilize compute shaders for performance
having also these big engines as an option is good for when we want build fancy stuff and ake advantage of huge knowhow of their communities
you can track progress of my new prototype that is supposed to provide the mentioned integrations of all 3 engines I found interesting. https://github.com/jscad/OpenJSCAD.org/discussions/944 ... I will post a topic as soon I have any rendering integrated .. it is still in testing of some ui concepts phase