Files
brahman/renaser/FASE8.md
T
sergio 65c88ccf25 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>
2026-05-22 18:56:40 +00:00

2.5 KiB

renaser — Fase 8 :: El compositor teselante

Plan de ataque. Para el estado general ver ROADMAP.md; para la arquitectura, ARCHITECTURE.md.

El objetivo

Hasta la Fase 7, cada aplicación llevaba su región escrita a mano en el Manifiesto de Génesis: cuatro coordenadas fijas (region_x, region_y, region_ancho, region_alto). El kernel las leía y componía cada app en su rectángulo, inmóvil — una disposición rígida, decidida en la siembra.

La Fase 8 entrega esa decisión a un COMPOSITOR. El kernel deja de colocar las ventanas a mano: las tesela. El motor del teselado es mirada-layout — el mismo núcleo no_std que ordena las ventanas del compositor Wayland de brahman, enlazado por path cruzando la frontera de workspace. Una sola lógica de teselado sirve a dos mundos: el escritorio sobre Linux y el kernel bare-metal.

Sub-fases

8a — El compositor tesela — HECHA

  • compositor.rs — enlaza mirada-layout y calcula un marco por app con el algoritmo MasterStack, dentro del área de pantalla (todo menos la franja superior reservada a la consola).
  • El kernel centra el fotograma natural de cada app dentro de su marco teselado; las apps conservan su tamaño natural y no cambian una instrucción.
  • EntradaApp.region_ancho/alto pasa a significar el tamaño NATURAL del lienzo de la app; region_x/y quedan vestigiales — el compositor decide la posición.

8b — Teselado interactivo

  • El teclado cicla en caliente los siete modos de mirada-layout (MasterStack, CenteredMaster, Spiral, Grid, Columns, Rows, Monocle).
  • Re-teselar exige re-componer: las apps que sólo pintan en init necesitan una señal de redibujado, o el kernel debe conservar su último fotograma para recomponerlo en el marco nuevo.

8c — Foco y Workspace

  • Adoptar el Workspace de mirada-layout: foco, orden-Z, alta y baja de ventanas en vivo.
  • Una ventana enfocada, resaltada; el teclado mueve el foco y promueve apps al área maestra.

Estructura de archivos

archivo estado rol en la Fase 8
kernel/src/compositor.rs nuevo (8a) teselado con mirada-layout
kernel/src/consola.rs a modificar (8a) composición centrada en el marco
kernel/src/wasm/mod.rs a modificar (8a) marco + tamaño natural
kernel/src/wasm/env.rs a modificar (8a) validación contra el natural
kernel/src/main.rs a modificar (8a) el compositor en el arranque