Most compositors use a common framework like wlroots. Those that don't, like kwin, provide their own API support which their own tools consume.
It, along with the more modern wlroots-based alternative Cage, have become the de-facto Wayland window manager for when you don't actually want to display framed windows, and just want to fork the codebase and display some fullscreen GLES-based graphics in a kiosk instead. These IoT use cases were part of the original motivation for Wayland in the first place.
There should be plenty of alternatives you can run in windowed mode if Weston stops working: https://wiki.archlinux.org/title/Wayland#Compositors