$ account rust-windowing
This is a Rust library, `softbuffer`, that provides a cross-platform API for software-rendering a pixel buffer to a window. The core abstraction is a `Context` (associated with a display), a `Surface` (associated with a window), and a `Buffer` (a writable pixel array). The user gets a buffer, fills it with pixels (via `&mut [Pixel]`), and presents it to the compositor. The library supports multiple platforms (Wayland, X11, Windows, macOS/iOS, WebAssembly, Android, DRM/KMS, Orbital) using a clean trait-based backend dispatch mechanism. It does not provide its own rendering primitives; instead it focuses on efficiently transferring CPU-written pixel data to the display server, aiming for zero-copy where possible. The codebase is well-structured with thorough documentation, error handling, and CI testing across many targets.