I am trying to think of an example, declarative constraints are usually the domain of a graphical cad system(like solvespace). but I suspect it would look like a set of relationships you can enter in any order and it solves for the missing one. so... prolog? has there ever been a cad system in prolog?
https://github.com/openscad/openscad/pull/4478#issuecomment-...
My pet use case is: "My naive approach as a programmer would be: `pen := new Pen(q,r,s,t); box := new Box( pen.L, pen.W, pen.H )`" along with being able to sometimes work with the whole pen, and sometimes touch the pen vs. the cap separately.
Since it's all javascript, it seems like there's a chance that this use case would work (ie: `p = Pen(...).render().getWidth()`)? Additionally, your intermediate step screenshots really makes it seem like a SketchUp-ish GUI would be perfect! Obviously a ton of work, but SketchUp's "grab face + extrude / push", but if it were "sticky" to the underlying parametric components seems like it'd be an awesome combo... something like group/components, but backed by code instead of GUI-only (or GUI-centric) editing.
I've been revisiting OpenSCAD recently but find it very frustrating. I just got started with build123d which is great but I'll definitely be trying this. The workflow is exactly what I'm looking for.
I'll drop an issue if I have feedback. Are you open to PRs?
This looks like it could do the same thing for constraint modeling. That's awesome!
Irrespective - This project is pretty cool to see!
Which operations are supported? (Booleans? ...)
Where's the API link?
...finally, was this vibe-coded?
Inquiring minds want to know!
> Features in the docs
The Docs section of the website has "Installation", "Editor setup", and "Your First Model".
Not a list of operations/features.
The front page lists some (extrusion, fillets), but not all.
Is the entirety of OpenCASCADE exposed to the user via the JS API, or are you only supporting a curated subset?
There is a guide section and one tutorial: https://fluidcad.io/docs/guides/
This week will be all for documentation.
It is only a subset of features focused on solid modeling. Surface modeling will come in future versions
Reminds me the days when I created a Windows app for accounting and someone asked did you code it in C++ Builder? As if writing form scaffolding by hand was sign of a skilled developer.
What I am trying to say - who cares? Most software create by one person is vibe coded, just with the AI, you don't have to spend ages typing actual code that you would have eventually typed anyway.