tawasuyu

tawasuyu/brahman

Rust 582TOML 222Markdown 83JSON 198635 Sutichaykuna

⎇ 5c462e6d307addd58614a8c4495f4becda04e4b2 renaser/FASE8.md Markdown · 64 siq'ikuna · 3.1 KB Ñawpa willay ch'uya

feat(renaser): Fases 8b y 8c — el escritorio interactivo 5c462e6d3 · sergio ·

1# renaser — Fase 8 :: El compositor teselante
2
3Plan de ataque. Para el estado general ver `ROADMAP.md`; para la arquitectura,
4`ARCHITECTURE.md`.
5
6## El objetivo
7
8Hasta la Fase 7, cada aplicación llevaba su región escrita a mano en el
9Manifiesto de Génesis: cuatro coordenadas fijas (`region_x`, `region_y`,
10`region_ancho`, `region_alto`). El kernel las leía y componía cada app en su
11rectángulo, inmóvil — una disposición rígida, decidida en la siembra.
12
13La Fase 8 entrega esa decisión a un COMPOSITOR. El kernel deja de colocar las
14ventanas a mano: las **tesela**. El motor del teselado es `mirada-layout` — el
15mismo núcleo `no_std` que ordena las ventanas del compositor Wayland de
16brahman, enlazado por `path` cruzando la frontera de workspace. Una sola lógica
17de teselado sirve a dos mundos: el escritorio sobre Linux y el kernel
18bare-metal.
19
20## Sub-fases
21
22### 8a — El compositor tesela — ✅ HECHA
23
24- **`compositor.rs`** — enlaza `mirada-layout` y calcula un marco por app con
25  el algoritmo `MasterStack`, dentro del área de pantalla (todo menos la franja
26  superior reservada a la consola).
27- El kernel **centra** el fotograma natural de cada app dentro de su marco
28  teselado; las apps conservan su tamaño natural y no cambian una instrucción.
29- `EntradaApp.region_ancho/alto` pasa a significar el tamaño NATURAL del lienzo
30  de la app; `region_x/y` quedan vestigiales — el compositor decide la posición.
31
32### 8b — Teselado interactivo — ✅ HECHA
33
34- `Alt+Espacio` cicla en caliente los siete modos de teselado de
35  `mirada-layout` (`MasterStack`, `CenteredMaster`, `Spiral`, …).
36- Re-teselar exige re-componer. La solución: el kernel guarda una CACHÉ del
37  último fotograma de cada app —acotada al lienzo natural, reservada una sola
38  vez— y recompone desde ella. Una app que sólo pintó en su `init` conserva su
39  imagen a través de cualquier reordenación, sin enterarse del cambio.
40
41### 8c — Foco y enrutamiento selectivo — ✅ HECHA
42
43- Una ventana ENFOCADA, con borde índigo brillante; las demás, borde gris
44  mate. `Alt+J` / `Alt+K` pasean el foco entre las ventanas vivas.
45- El teclado deja de difundir a ciegas: una tecla ordinaria se entrega sólo a
46  la app enfocada; los mandos `Alt+…` se consumen en la IRQ.
47- El registro `ESCRITORIO` del compositor cumple el papel del `Workspace` de
48  `mirada-layout` —ventanas, marcos, foco— sin adoptar su tipo: el kernel
49  necesita además la caché de respaldo, que el `Workspace` no contempla.
50
51### Pendiente
52
53- Orden-Z y solapamiento (ventanas flotantes); alta y baja de apps en vivo.
54- Promover la app enfocada al área maestra (`Alt+Enter`).
55
56## Estructura de archivos
57
58| archivo | estado | rol en la Fase 8 |
59| --- | --- | --- |
60| `kernel/src/compositor.rs` | **nuevo (8a)** | teselado con `mirada-layout` |
61| `kernel/src/consola.rs` | a modificar (8a) | composición centrada en el marco |
62| `kernel/src/wasm/mod.rs` | a modificar (8a) | `marco` + tamaño natural |
63| `kernel/src/wasm/env.rs` | a modificar (8a) | validación contra el natural |
64| `kernel/src/main.rs` | a modificar (8a) | el compositor en el arranque |

FASE8.md

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

8b — Teselado interactivo — ✅ HECHA

8c — Foco y enrutamiento selectivo — ✅ HECHA

Pendiente

Estructura de archivos

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