I prefer to produce documents using LaTeX (and other TeX friends), and draw figures using MetaPost. A long, long time ago (when I did my PhD), I even created a MetaPost package, aaobj (documentation).
Recently, I have moved towards using the Lua implementation of TeX more and more (see also the LuaLaTeX documentation). I will not discuss why in details here, but one of the reasons is that inline MetaPost in LaTeX documents works better for me with LuaLaTeX.
To use MetaPost with LuaLaTeX, you should use the luamplib package. See this example of an embedded MetaPost diagram in LaTeX.
Last updated: May 19, 2022