feat(mirada): mirada-compositor — el Cuerpo, compositor Wayland sobre smithay
Compositor Wayland teselante real sobre smithay, backend winit (corre anidado como ventana dentro de la sesión X11/Wayland actual). Habla wl_compositor/xdg_shell/wl_shm/wl_seat/wl_data_device y compone las superficies de los clientes con GlesRenderer. Dos modos: autónomo (Cerebro Desktop embebido, un solo proceso) o enlazado (MIRADA_SOCKET → la app mirada decide la geometría). Reusa mirada-body para la contabilidad y mirada-link para el cable. Actualiza el SDD: el Cuerpo deja de ser pendiente. Añade README. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -26,6 +26,7 @@ ejecuta operaciones de geometría".
|
||||
| `mirada-link` | lib | Transporte: el socket Unix con hilo lector + canal |
|
||||
| `mirada-body` | lib | Contabilidad del Cuerpo: `BodyState`, traduce comandos a `BodyOp` |
|
||||
| `mirada` (app) | bin/GPUI | El Cerebro: ventana que tesela el escritorio y manda geometría |
|
||||
| `mirada-compositor`| bin/smithay | El Cuerpo: compositor Wayland real (backend `winit`, anidado) |
|
||||
|
||||
## Flujo
|
||||
|
||||
@@ -72,8 +73,7 @@ ejecuta operaciones de geometría".
|
||||
|
||||
- Todos los `lib` con `#![forbid(unsafe_code)]`. Cero Wayland, cero
|
||||
`smithay` en los seis crates de arriba.
|
||||
- El acoplamiento a hardware vive sólo en `mirada-compositor`
|
||||
(pendiente).
|
||||
- El acoplamiento a Wayland/hardware vive sólo en `mirada-compositor`.
|
||||
|
||||
## Estado
|
||||
|
||||
@@ -81,15 +81,24 @@ Implementado y verde: `mirada-layout` (22 tests), `mirada-protocol`
|
||||
(9), `mirada-brain` (17), `mirada-link` (7), `mirada-body` (13), y la
|
||||
app `mirada` (compila; verificación visual manual).
|
||||
|
||||
**Pendiente** — la capa que toca hardware/protocolo, no verificable en
|
||||
modo desatendido:
|
||||
El **Cuerpo** ya existe: `mirada-compositor` es un compositor Wayland
|
||||
teselante real sobre `smithay`, con backend `winit` — corre **anidado**
|
||||
como una ventana dentro de la sesión gráfica actual. Habla
|
||||
`wl_compositor`/`xdg_shell`/`wl_shm`/`wl_seat`/`wl_data_device`, compone
|
||||
las superficies de los clientes con `GlesRenderer` y aplica la geometría
|
||||
del Cerebro. Reusa `mirada-body` (contabilidad) y `mirada-link` (cable).
|
||||
Dos modos: **autónomo** (Cerebro `Desktop` embebido, un solo proceso) o
|
||||
**enlazado** (`MIRADA_SOCKET` → la app `mirada` decide la geometría).
|
||||
Compila y pasa clippy; verificación visual manual — ver
|
||||
`crates/apps/mirada-compositor/README.md`.
|
||||
|
||||
| crate pendiente | rol |
|
||||
| ------------------- | --------------------------------------------------------- |
|
||||
| `mirada-compositor` | el Cuerpo: `smithay` — superficies, buffers, salidas, DRM |
|
||||
| `mirada-input` | libinput → teclado/ratón, intercepción de atajos |
|
||||
| `mirada-sandbox` | aislamiento de clientes sobre `arje-incarnate` |
|
||||
**Pendiente** — refinamientos del Cuerpo, no verificables en modo
|
||||
desatendido:
|
||||
|
||||
El Cuerpo reusará `mirada-body` para su contabilidad y `mirada-link`
|
||||
para el cable; sólo le falta el *backend* `smithay`. CRIU
|
||||
(congelar/restaurar ventanas) queda anotado como futuro.
|
||||
| capa pendiente | rol |
|
||||
| -------------------- | -------------------------------------------------------- |
|
||||
| backend DRM/libinput | de `winit` anidado a sesión nativa: superficies KMS, GPU |
|
||||
| `mirada-input` | puntero/ratón completo, repetición de teclas, gestos |
|
||||
| `mirada-sandbox` | aislamiento de clientes sobre `arje-incarnate` |
|
||||
|
||||
CRIU (congelar/restaurar ventanas) queda anotado como futuro.
|
||||
|
||||
Reference in New Issue
Block a user