More than anything, what I _really_ want is an interactive tool which allows me to work in both 2 and 3 dimensions, tagging points/coordinates with names and then referring to them by name while applying distances/lengths and modifications such as arcs and curves.

I've been using Open(Python)SCAD: https://github.com/WillAdams/gcodepreview but have wished for an interactive tool which would allow programmatic usage as well (apparently OnShape does this by having FeatureScript as the basis and the UI simply edits the script?).

This is really good feedback.

The data model supports solving dependencies like this on the data level.

TBH I don't know at the moment how to make something like this accessible but will definitely keep it in mind.

One thought --- could you export the file as a structured XML description?

BlockSCAD does this, and I've been thinking about parsing the XML and then using that 3D structure in my own project.

Theoretically, yes, but in practice a structured XML description of a parametric model is not useful in the general case without standardized format.

STEP XML would be probably the closest here.

To be realistic, I might wrap a CLI to AdaShape first, then the user could query the model and have their LLM backport the model tree to something like CadQuery :D

I am fine with a representational XML which depicts the contents of the tree with the data for each node --- my idea is I would parse the XML and re-create the structure inside my program (which is pretty much what I had in mind for supporting BlockSCAD).