J.D., more than happy to talk through this. If you don't mind, I tried to start a mailing list for the package just a few days ago, and I'm cc'ing the list so that others can see this and use it. If that's not okay for any reasons, then I'll delete it.
So... my understanding (and experience) is that mclust can specify models that MPlus cannot *and* that MPlus can specify models that mclust cannot.
What this leaves out is your exact question about which can be specified in mclust but not MPlus. Those are some of those listed here:
https://www.rdocumentation.org/packages/mclust/versions/5.4/topics/mclustModelNames. I'm not sure which exactly cannot be specified in MPlus; I think we could find out or may even be able to through elimination, but, in short, I think it will be some slightly more esoteric (i.e., with very uncommon covariance matrix structure) models. Part of the challenge of using mclust is that the models are described *geometrically*, rather than in terms of whether and how means, variances, and covariances between the variables are estimated. Sorry this answer isn't super satisfying; I'd be happy to dig into this more soon.
Regarding the two questions:
for TidyLPA am I correct in understanding that it just provides an interface to Mclust? That is, Mclust is what is running to execute the models etc.? If so, and perhaps a silly question, but did you develop TidyLPA to simply leverage the latent profile part of Mclust?
Yes, it just provides an interface to mclust (and to Mplus - which required more work because it has to dynamically generate the mplus syntax. In short, I think there's
two decent reasons why tidyLPA does / shoud exist: 1) it's not easy to work with mclust, especially the output, and 2) related to the reason I mentioned above - the mclust models are described geometrically, and it took a a bit
of work (including asking stack overflow questions [here!] and going back-and-forth with the developers of mclust, the Muthens, and other colleagues to make sure that the models were correctly corresponded (i.e., to make sure that a model with "Varying means, equal variances, and covariances fixed to 0" corresponded to the mclust model "EEI", which is described in the mclust documentation as "diagonal, equal volume and shape".
I noticed you had models 1-4 listed that you wanted to compare between the two, but need to look more closely at what model couldn't be parameterized in the other (I want to say it was model 3)...but I am wondering if you might have a quick answer to my question about what specifically made it not able to be parameterized in the other program.
Sorry, I think I (didn't) answer this a bit above. Without diving into understanding the models well and checking the output, I could guess that out of those available in mclust, it would be all of those except “EEI”, “EEE”, “VVI”, and “VVV”. But I'm not sure.
Look forward to continuing to talk and better understand the affordances of mclust - either in addition to or in replacement of some of the functionality of Mplus. I think both are powerful tools. I hope the package makes it easier to work with them and I hope my response helps a bit.
Josh