feat(renaser): Fases 8b y 8c — el escritorio interactivo
El compositor de la 8a teselaba, pero era inmovil. Las 8b/8c lo hacen vivo: el teclado reordena el escritorio y mueve el foco en caliente. - Cache de fotogramas: cada ventana guarda en RAM del kernel su ultimo fotograma —reservada una vez, acotada al lienzo natural—. Al re-teselar o mover el foco, el kernel recompone desde la cache: las apps que solo pintan en init (cronista) conservan su imagen sin enterarse del cambio. - compositor: el registro ESCRITORIO (ventanas, marcos, caches, modo); presentar_fotograma, desalojar, atender_mandos, ciclar_layout, mover_foco. Foco en un AtomicUsize, mandos en una cola lock-free. - teclado: la IRQ1 deja de difundir. Alt es el modificador del sistema — Alt+Espacio cicla el teselado, Alt+J/K mueven el foco—; una tecla ordinaria va SOLO a la app enfocada (CANALES reindexado por indice_app). - consola: borde de foco (indigo / gris) en cada marco. Guardarrail anti-interbloqueo: la IRQ1 jamas bloquea ESCRITORIO; se comunica por dos atomicos y una cola lock-free. Las caches se reservan una sola vez, al tamaño natural — sin asignacion en el bucle del reactor. Verificado en QEMU (screendump + sendkey): arranque teselado con hola enfocada; Alt+Espacio cicla a CenteredMaster y las apps estaticas conservan su contenido; Alt+J mueve el foco; las teclas llegan solo a la app enfocada. Cierra la Fase 8 — el compositor teselante e interactivo. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+10
-6
@@ -120,7 +120,7 @@ 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.
|
||||
|
||||
## Fase 8 — el compositor teselante
|
||||
## Fase 8 — el compositor teselante e interactivo (completada)
|
||||
|
||||
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
|
||||
@@ -132,12 +132,16 @@ en `FASE8.md`.
|
||||
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`.
|
||||
- **8b — teselado interactivo (completada).** `Alt+Espacio` cicla los modos de
|
||||
teselado en caliente. El kernel cachea el último fotograma de cada app y
|
||||
recompone desde la caché: las apps estáticas sobreviven al re-teselado sin
|
||||
enterarse del cambio.
|
||||
- **8c — foco y enrutamiento selectivo (completada).** Una ventana enfocada,
|
||||
con borde índigo; `Alt+J` / `Alt+K` mueven el foco entre las ventanas vivas.
|
||||
El teclado deja de difundir: entrega cada tecla sólo a la app enfocada.
|
||||
|
||||
Líneas abiertas posteriores: más capacidades del host (temporización, audio).
|
||||
Líneas abiertas posteriores: orden-Z y ventanas flotantes; más capacidades del
|
||||
host (temporización, audio).
|
||||
|
||||
## Principios que persisten entre fases
|
||||
|
||||
|
||||
Reference in New Issue
Block a user