feat(renaser): Fase 8a — el compositor teselante

El kernel deja de colocar las ventanas a mano: las tesela. El motor es
mirada-layout — el mismo nucleo no_std que ordena el compositor Wayland
de brahman, enlazado por path cruzando la frontera de workspace. Es el
primer consumo REAL del nucleo compartido brahman <-> renaser.

- kernel/compositor.rs: enlaza mirada-layout y calcula un marco por app
  con el algoritmo MasterStack, dentro del area de pantalla.
- consola::volcar_marco centra el fotograma natural de la app dentro de
  su marco teselado (antes lo depositaba en region.x/y fijos).
- ContextoCapacidades lleva marco + natural_ancho/alto; sys_render_frame
  valida el fotograma contra el tamaño natural.
- cargar_userspace tesela con el compositor y pinta el escenario antes
  de encender las apps. Las apps NO cambian: el compositor reordena la
  pantalla sin que ninguna toque una instruccion.

Verificado en QEMU (screendump): las cinco apps de genesis teseladas en
MasterStack — hola como ventana maestra, el resto apiladas a la derecha,
cada lienzo centrado en su panel.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 18:56:40 +00:00
parent 8fc26b0c0c
commit 65c88ccf25
11 changed files with 393 additions and 77 deletions
+18 -2
View File
@@ -120,8 +120,24 @@ destierra — las aplicaciones pasan a ser objetos del grafo, gobernadas por un
y la app retoma donde quedó. Capacidades `sys_estado_cargar` /
`sys_estado_guardar`; el kernel custodia un manifiesto VIVO y mutable.
Líneas abiertas posteriores: más capacidades del host (temporización, audio);
la Fase 8 — el compositor sobre `mirada-layout`.
## Fase 8 — el compositor teselante
El kernel deja de colocar las ventanas a mano: las **tesela**. El motor es
`mirada-layout` —el mismo núcleo `no_std` que ordena el compositor Wayland de
brahman—, enlazado por `path` cruzando la frontera de workspace. Plan completo
en `FASE8.md`.
- **8a — el compositor tesela (completada).** `compositor.rs` calcula un marco
por app con el algoritmo `MasterStack`. El kernel centra el fotograma natural
de cada app dentro de su marco; las apps no cambian una instrucción.
`region_x/y` del manifiesto quedan vestigiales — la posición la decide el
compositor.
- **8b — teselado interactivo (pendiente).** El teclado cicla en caliente los
siete modos de teselado de `mirada-layout`.
- **8c — foco y `Workspace` (pendiente).** Foco, orden-Z y alta/baja de
ventanas en vivo, con el `Workspace` de `mirada-layout`.
Líneas abiertas posteriores: más capacidades del host (temporización, audio).
## Principios que persisten entre fases