I think this is an instance of "the future is already here, but it's unevenly distributed". All the tools I talk about in this post already exist in one way or another. Browser devtools already exist, rr and redux-replay already exist, pernosco already exists, etc.
But a lot of developers haven't heard about them (eg I suspect most Qt developers haven't heard of Gammaray), or can't use them for their specific use-case. And in the case of Rust UI, lots of greenfield frameworks are being developed that don't have these tools by default.
So Masonry isn't aiming to somehow be better than every existing desktop GUI framework. It's aiming to help Rust framework developers include these tools by default, so that developers always know to reach for them.
I wonder how common these things are, though, in other toolkits.
Also, accessibility tools like Microsoft's inspect[1] already allow people to see an app's widget tree.
With Qt it's also trivial to put together a tree view that renders your app's widget tree.
Qt also provides infrastructure to unit test widgets.[2]
Qt also uses UI form files to allow WYSIWYG access to their UI components.
From reading the article, I was left with the impression that the author's struggles with a Qt codebase was that he had little to no experience with desktop development in general and Qt in particular, and experienced issues trying to get his bearings.
[1] https://learn.microsoft.com/en-us/windows/win32/winauto/insp...
... Holy crap, how did I never hear of this? I did search for Qt testing infrastructure before writing this article too.
When I see posts like this, it only shows how little current generations know about native tooling, mostly because they only focus on FOSS stuff on GNU/Linux instead of what is available on other systems, or eventually paid for tooling.
The other issue is that most people are looking for cross-platform options outside the C/C++ ecosystem. While I understand the tradeoffs for cross-platform UX, the truth is that it's only the giant amount of money placed into browser development that has made it even remotely productive.
(Independently, I think we would be better off with a reinvention of the Java Web Start idea that disposes with the bad foundation we have for web applications, but that's a different blog post.)
It's documented as part of the official qt documentation https://doc.qt.io/GammaRay/ and is part of the commercial Qt for Automotive Suite.