Not so much constraints per-se, but from a CAD drafting perspective I use Illustrator with Astute's SubScribe [1] plugin (used to be free) and Hot Door's CADTools [2] (one-time cost ~$300). The former is lightweight (e.g. tangency/perpendicular, orient tools) which is pretty nice (especially if you have extend path options from VectorScribe, a separate plugin of theirs). The latter is very robust and probably has some features most people wouldn't need, but lets you get pretty technical with designs.
There's a new UI tool called Dora [3] that has a simple yet novel constraint system that you might like. Tool is still early alpha but growing quickly.
That being said, Graphite's node-based system makes it a viable foundation to build this on! I've helped contribute to the project and Keavon (the creator) definitely has some thoughts on constraint nodes (e.g. for snapping, but also for restraint/relationships).
Yes, that is very much the plan! I'm glad you asked because it's good to know people are needing that functionality in the real world. It'll probably start out with simple constraints but ideally turn to the constraint stack system like that in Fusion 360 and other CAD software over time. (I need to actually learn Fusion 360 so I have firsthand experience with that, though, plus then I could finally stop just lazily using Blender for all my 3D printing models.)
I'm working on a 2d vector editor that'll have that. It's basically a normal editor but where all properties can be expressions that refer to data or other objects. My first target use is for data visualization. What use cases are you interested in?
Cool! I’ve been using Inkscape for floor plans and landscaping lately. And before that designing a custom split keyboard body. And random things to cut out on my Cricut.
I don’t need a full CAD constraint solver. Just simple constraints would go a really long way (make X the same width as Y; make A spaced N units from B; etc.). Basically just a glorified spreadsheet where object properties can be accessed and read from cells and objects can have other properties assigned from the cells. Though it doesn’t have to be represented as an actual spreadsheet, of course.