Sprint 0 — industrialisation : CI, tracing, tests xdg-shell, GPLv3

5 livrables d'industrialisation posés avant la phase 13 (client réel).

- .gitlab-ci.yml : pipeline minimal (fmt-check + tests core +
  tests frontend nightly). Pas de cross-compile Redox dans le MVP.
- rustfmt.toml + fmt.sh : config formatter racine + boucle sur les 23
  crates ; fmt sweep appliqué (d'où les diffs cosmétiques).
- tracing dans wayland-frontend : 22 println/eprintln remplacés par
  debug/info/warn/error selon sévérité. Préfixe "[frontend]"
  supprimé (le target tracing le fournit).
- tracing-subscriber dans le compositor : TeeWriter écrit sur
  stdout + /scheme/debug, filtre via RUST_LOG (défaut info).
  DebugSink/dlog supprimés.
- 15 tests unitaires xdg-shell après extraction de 2 helpers libres
  (clamp_to_min_max + should_throttle_configure). Couvre
  compute_resize_geom, contraintes min/max et throttling configure.
- LICENSE (GPLv3 texte officiel FSF) + .editorconfig.

Total tests : 27 → 42 automatisés (compositor-core + frontend).

Leyoda 2026 – GPLv3
This commit is contained in:
Votre Nom 2026-05-14 20:46:07 +02:00
parent 2150f31d82
commit 8795f39f08
30 changed files with 1373 additions and 298 deletions

View file

@ -63,9 +63,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
thread::sleep(Duration::from_millis(300));
// Prend le CRTC, peint un fond bleu marine pour signaler "on est là"
output
.take_crtc()
.map_err(|e| format!("take_crtc: {e}"))?;
output.take_crtc().map_err(|e| format!("take_crtc: {e}"))?;
{
let pixels = output.pixels_mut()?;
for p in pixels.iter_mut() {
@ -111,10 +109,14 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
));
}
InputEvent::TextInput { character } => {
dlog(&format!("[input] #{event_count:04} TextInput '{character}'"));
dlog(&format!(
"[input] #{event_count:04} TextInput '{character}'"
));
}
InputEvent::PointerMotion { x, y } => {
dlog(&format!("[input] #{event_count:04} PointerMotion abs=({x},{y})"));
dlog(&format!(
"[input] #{event_count:04} PointerMotion abs=({x},{y})"
));
}
InputEvent::PointerMotionRelative { dx, dy } => {
dlog(&format!(
@ -131,7 +133,9 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
));
}
InputEvent::PointerScroll { dx, dy } => {
dlog(&format!("[input] #{event_count:04} PointerScroll d=({dx},{dy})"));
dlog(&format!(
"[input] #{event_count:04} PointerScroll d=({dx},{dy})"
));
}
InputEvent::Quit => {
dlog(&format!("[input] #{event_count:04} Quit demandé"));