feat(renaser): Fase 10 — alta y baja de aplicaciones en vivo

El censo de aplicaciones deja de fijarse en el arranque: una app puede
nacer o cerrarse con el reactor ya en marcha.

- El reactor admite NACIMIENTOS en vivo: cola `NACIMIENTOS` +
  `engendrar()`, drenada al inicio de cada vuelta de `run()`;
  `Task::adoptar` acoge un futuro ya empaquetado.
- `Alt+Q` (`Mando::Cerrar`): baja limpia. El compositor saca la
  ventana enfocada del teselado y del orden-Z; la app advierte la
  baja (`ventana_cerrada`) y concluye su tarea — su memoria, su
  combustible y su canal de teclado se liberan. Sin baliza.
- `Alt+N` (`Mando::Lanzar`): alta en vivo. `nacer_ventana` añade la
  ventana y entrega su índice; el orquestador instancia el WASM y
  engendra su tarea. Las apps de génesis dejan su bytecode cacheado
  como `Plantilla`; cada `Alt+N` instancia una en rotación.

Verificado en QEMU (sendkey): tres Alt+N hacen crecer el escritorio
de 5 a 8 ventanas; tres Alt+Q lo reducen de 8 a 5. Kernel estable.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
sergio
2026-05-22 20:26:25 +00:00
parent 8f946b449c
commit 089afccbbc
9 changed files with 395 additions and 16 deletions
+20 -2
View File
@@ -163,8 +163,26 @@ el teselado y FLOTAR sobre las demás. Verificada en QEMU (`sendkey`).
- El foco recorre todas las ventanas; al posarse en una flotante, la alza al
frente: la flotante enfocada está siempre delante.
Líneas abiertas posteriores: alta y baja de aplicaciones en vivo; más
capacidades del host (temporización, audio).
## Fase 10 — alta y baja de aplicaciones en vivo (completada)
Hasta la Fase 9 el censo de aplicaciones se fijaba en el arranque. La Fase 10
lo vuelve DINÁMICO: una app puede nacer o cerrarse con el reactor ya en marcha.
Verificada en QEMU (`sendkey`).
- El reactor admite NACIMIENTOS en vivo: una cola que `engendrar` alimenta y
que el ejecutor drena al inicio de cada vuelta, adoptando cada futuro como
tarea. El censo de tareas deja de ser inmutable tras el arranque.
- `Alt+Q` cierra la app enfocada: una baja LIMPIA. El compositor saca la
ventana del teselado y del orden-Z; la app, al advertir la baja, concluye su
tarea y `AplicacionWasm::drop` libera su memoria, su combustible y su canal.
- `Alt+N` lanza una app nueva: `nacer_ventana` la añade y entrega su índice; el
orquestador instancia el WASM y engendra su tarea. Las apps de génesis dejan
su bytecode cacheado como plantilla; cada `Alt+N` instancia una en rotación.
- El censo de ventanas sólo crece —los índices son la identidad, jamás se
reciclan—; una ventana cerrada queda como ranura inerte, fuera del teselado.
Líneas abiertas posteriores: más capacidades del host (temporización, audio);
reciclado de las ranuras de ventana cerradas.
## Principios que persisten entre fases