Files
brahman/crates/modules/mirada/SDD.md
T
sergio b975dc7919 feat(mirada): mirada-layout — motor de teselado del compositor Wayland
Rect + split (reparto exacto de píxeles), 4 modos de layout
(MasterStack, Monocle, Grid, Columns) con tile(), y Workspace:
ventanas en orden de teselado, foco cíclico, reordenado y
resolución de geometría. Determinista, agnóstico de Wayland/smithay.

22 tests. #![forbid(unsafe_code)].

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-20 17:24:48 +00:00

1.8 KiB

modules/mirada/ — Compositor Wayland

Propósito. Un compositor Wayland teselante con aislamiento de clientes (sobre arje-incarnate) y delegación de regiones. El cerebro espacial —cómo se reparte la pantalla— se mantiene puro y aislado de Wayland para poder probarlo sin un servidor gráfico.

Crates

crate tipo rol
mirada-layout lib Motor de teselado: Rect, modos de layout, Workspace (ventanas, foco)

mirada-layout

  • Rect + split — reparto exacto de píxeles (sin pérdidas).
  • LayoutModeMasterStack, Monocle, Grid, Columns; tile calcula el rectángulo de cada ventana.
  • Workspace — ventanas en orden de teselado, foco cíclico, reordenado (move_focused_forward/backward) y layout que resuelve la geometría.
  • Determinista: misma pantalla + mismas ventanas → misma distribución.

Dependencias

  • mirada-layout ← sólo serde. #![forbid(unsafe_code)].
  • Cero Wayland, cero smithay — ese acoplamiento vive en los crates de integración pendientes.

Estado

mirada-layout implementado y verde (22 tests). Pendiente (la capa que toca hardware/protocolo, no verificable en modo desatendido):

crate pendiente rol
mirada-compositor integración smithay: superficies, buffers, salidas
mirada-input teclado/ratón, atajos, asignación de foco
mirada-sandbox aislamiento de clientes sobre arje-incarnate

CRIU (congelar/restaurar ventanas) queda anotado como futuro.