"*
Cope and Drag*" mini language for gradually constraining/improving diagrams 🍰. See
paper for details but as usual with PLT blog, the post gives good background.
They built this in context of formal methods, but I think the mixed approach of "user can drag nodes + partially automate via constraints" has wider applicability.