Ok so from what I gather it looks something like this (please correct me if I'm wrong about any of this):
Code:
+ Wayland system compositor
+--- Splash screen
+--- Display manager
+--+ Wayland compositor
+--- XWayland
Wayland is the standard that defines how these parts interact. The implementation of these different parts can vary. The system compositor can be the default reference implementation or something else. The display manager can be LightDM, GDM, KDM or something else. The Wayland compositor can be Weston or something else.
The system compositor is at the bottom of the stack, and basically doesn't do any actual compositing per se, it just switches inputs between splash screen, display manager and the actual compositor.