b975dc7919
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>
1.8 KiB
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).LayoutMode—MasterStack,Monocle,Grid,Columns;tilecalcula el rectángulo de cada ventana.Workspace— ventanas en orden de teselado, foco cíclico, reordenado (move_focused_forward/backward) ylayoutque resuelve la geometría.- Determinista: misma pantalla + mismas ventanas → misma distribución.
Dependencias
mirada-layout← sóloserde.#![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.