redox-wayland-compositor/crates
Votre Nom bba2d7beb6 Phase 13.2.b.2 — wl_subsurface rendering : position absolue = parent + offset
Wire le SubsurfaceData (introduit en 13.2.b.1) au commit du child wl_surface :
- Ajout d'un champ subsurface_link: Mutex<Option<Arc<SubsurfaceData>>>
  à SurfaceData, peuplé par wl_subcompositor.GetSubsurface
- Au commit du child : on détecte le subsurface_link, on remonte la
  position absolue du parent depuis le registry, on additionne l'offset
  pending (modifiable via SetPosition), et on l'écrit sur pending state
  du child avant que registry.commit applique pending→current
- Skip raise() et set_focus() pour les subsurfaces : elles ne grabbent
  pas le focus, et leur z-order reste à parent.z+1 par construction
  (création après le parent dans le registry)

compose_into n'est pas modifié : il itère le z_order et dessine chaque
surface à son x/y absolu. Le child apparaît donc naturellement à la
bonne position après notre prep.

Limitations connues (à traiter en phase ultérieure si besoin) :
- Si le parent toplevel bouge (drag interactif phase 7.7), ses
  subsurfaces ne suivent pas tant que le client ne re-commit pas
  l'enfant. Pour les use-cases statiques (notre test 13.2.b.3 à venir),
  c'est OK ; pour Wayland conforme strict il faudra walker les enfants
  au move du parent.
- wl_subsurface.Destroy ne unmap pas le child (spec violation mineure).
  Si le client veut vraiment retirer la subsurface, il doit aussi
  destroy son wl_surface enfant — chemin déjà géré.
- Pas de cascade sync : un commit du parent en mode sync devrait
  flusher les pending states des subsurfaces sync. Ignoré pour l'instant
  (notre client de test commitera child directement).

Les tests natifs 13.2.a et 13.2.b.1 continuent de passer (vérifié).

Leyoda 2026 – GPLv3
2026-05-16 14:13:31 +02:00
..
redox-wl-compositor 🎉 Phase 13.1.c — curseur souris : conversion HID→pixel 2026-05-16 11:32:32 +02:00
redox-wl-compositor-core Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-display Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-fullscreen-paint Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-input Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-poc-pixels Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-real-client-simple-window 🎉 Phase 13.1.b — simple_window upstream validé runtime sur Redox 2026-05-16 10:59:35 +02:00
redox-wl-test-client-input Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-client-resize Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-client-shm Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-client-shm-two Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-compose-static Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-display-backend Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-fd-passing Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-fd-passing-fork Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-fuzz-protocol Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-handshake Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-input Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-introspect Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-poll-multifd Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-shm-open Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-shm-pipeline Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-unix-socket Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3 2026-05-14 20:46:07 +02:00
redox-wl-test-wl-output Phase 13.2.b.1 — wl_subcompositor protocole (sans rendering) 2026-05-16 13:01:45 +02:00
redox-wl-wayland-frontend Phase 13.2.b.2 — wl_subsurface rendering : position absolue = parent + offset 2026-05-16 14:13:31 +02:00