The first release of GTK3 that could be considered stable was 3.20. Either way, I'm talking about GTK4, where the original plan was 6 months of breaking releases, stabilization in version 4.6, followed by starting work on the incompatible GTK5, to be released 2 years after the first GTK4 release.
The backlash was so big they at least changed the versioning scheme, but the "break shit every 2 years" is still in full force.
GTK3 did not break its C API. The CSS you could inject was arbitrary and undocumented. They stabilized and documented that in 3.20, yes. I think its very dishonest to say the toolkit was breaking, the vast majority of GTK3 apps didn’t have regressions IME.
Wayland is just an IPC protocol, so it imposes little. In practice compositors use mostly hardware agnostic Linux APIs. The driver needs to support things like KMS, DRM, GBM, etc.
So, is it correct to say Wayland, the process drawing everything on the screen by writing to a gpu framebuffer, is just another linux process with escalated privilege?
Wayland client and server share video memory buffers through libdrm GBM API (Mesa) and DRM was designed so that Wayland can use wl_drm protocol without escalated privileges.
You could describe WPE as WebKitGTK but you bring your own GTK.
GTK is sometimes inappropriate for embedded devices that have a unique display stack. Using WPE brings in minimal dependencies and can render to anything you desire.
libwpe is just used for some basic code sharing between the two, GTK is not based on WPE.