Nouveau crate redox-wl-test-client-subcompositor : client Wayland qui crée un toplevel parent 300×200 bleu nuit avec bordure noire, et lui attache une subsurface 60×60 rouge à l'offset (50, 50). Si le rendering 13.2.b.2 fonctionne, on doit voir visuellement dans la fenêtre QEMU : la fenêtre bleue avec un carré rouge incrusté en haut- gauche, exactement 50px depuis le bord du parent. Cycle complet : 1. Bind 5 globals : wl_compositor, wl_shm, xdg_wm_base, wl_seat, wl_subcompositor (le client échouera si compositor manque l'un d'eux) 2. Parent xdg_toplevel avec ack_configure 3. SHM buffer 300×200 bleu + attach + commit parent 4. wl_compositor.create_surface pour le child 5. wl_subcompositor.get_subsurface(child, parent) + set_position(50,50) + set_desync (pour qu'un commit child suffise à rendre les changements) 6. SHM buffer 60×60 rouge + attach + commit child 7. Re-commit parent (force redraw) 8. Event loop avec ESC → exit propre Reprend le pattern d'event-loop tolérant Interrupted/BrokenPipe de la phase 13.1.b (5e adaptation Redox côté client). run-qemu.sh copie maintenant aussi ce binaire dans /usr/bin de l'image (optionnel, skip silencieux si non compilé). Les 2 tests natifs continuent de PASSer en non-régression. Leyoda 2026 – GPLv3
10 lines
422 B
TOML
10 lines
422 B
TOML
[package]
|
|
name = "redox-wl-test-client-subcompositor"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
wayland-client = { path = "../../../wayland-rs/wayland-client", default-features = false }
|
|
wayland-backend = { path = "../../../wayland-rs/wayland-backend", default-features = false }
|
|
wayland-protocols = { path = "../../../wayland-rs/wayland-protocols", default-features = false, features = ["client"] }
|
|
libc = "0.2"
|