Files
brahman/renaser
sergio 6a29152feb feat(renaser): Fase 14 — identidad del escritorio (nombres + barra de tareas)
Las ventanas eran anónimas: el escritorio no sabía nombrar lo que
mostraba. Esta fase le pone un nombre a cada cuarto y una barra al
pie con la lista de quienes lo habitan.

- Cada `Ventana` lleva un `nombre: String` —del manifiesto, o del
  orquestador al engendrarla en vivo—. `Plantilla` lo guarda para las
  copias que `Alt+N` instancia.
- Franja `FRANJA_TASKBAR=40px` reservada al pie. `area_apps` la
  descuenta — las ventanas teselan y flotan sin tapar la barra.
- `consola`: tipos `Taskbar` / `CeldaTaskbar` + métodos `pintar_taskbar`
  y `pintar_etiqueta` (rasteriza una cadena en (x, base_y) sobre un
  fondo conocido, sin tocar la pluma). La pestaña enfocada se pinta con
  el índigo del foco, las desalojadas con su color de baliza, el resto
  con el slate del panel.
- `compositor::recomponer` arma las celdas y las pasa junto a las capas
  a la consola; un único repintado, una única presentación.
- `atender_raton`: si el clic cae en la franja de la barra,
  `celda_taskbar_en` localiza la pestaña pulsada y la enfoca (sin
  iniciar arrastre).

Verificado en QEMU: al arrancar, la barra al pie muestra las 7
pestañas con sus nombres; `tonada` enfocada en índigo, `discola` y
`glotona` en sus colores de baliza. Un clic sobre `pulso` traslada el
foco al instante — el borde del compositor envuelve `pulso` y su
pestaña se ilumina.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-05-23 02:05:51 +00:00
..

renaser

renaser es un kernel asíncrono de Espacio de Direccionamiento Único (SASOS), escrito en Rust #![no_std] para x86_64 bare-metal.

Es un sistema operativo disruptivo que rompe por completo con el paradigma POSIX de los años 70: no emula Linux, no usa archivos planos, no usa TTYs ni capas GNU. El aislamiento entre aplicaciones no descansa en la MMU ni en los anillos de privilegio de la CPU, sino en límites matemáticos sobre el bytecode — aislamiento por software (SFI). La interfaz es visual desde el primer microsegundo: el texto es, simplemente, un caso particular del dibujo.

Qué hace, hoy

  • Arranca por UEFI y adopta el framebuffer GOP con doble búfer sin parpadeo.
  • Se autoempaqueta en una imagen de disco UEFI y se lanza en QEMU.
  • Tiene reflejos de fallo: GDT/TSS, IDT y manejadores de excepción; si colapsa, lo dibuja (franja roja de pánico, naranja de memoria agotada).
  • Late con el hardware: PIC remapeado, temporizador (PIT) y teclado.
  • Gestiona memoria dinámica (heap de 64 MiB, asignador global).
  • Ejecuta un reactor asíncrono cooperativo sobre los Future nativos de Rust: las interrupciones no conmutan contexto, despiertan tareas.
  • Rasteriza texto vectorial al vuelo con fontdue.
  • Ejecuta un userspace WebAssembly aislado por capacidades (wasmi): las aplicaciones solo tocan el mundo a través de funciones de host concedidas.

Construir y ejecutar

Requisitos: rustup con toolchain nightly, QEMU y firmware OVMF.

cargo run

Compila el kernel para x86_64-unknown-none, forja la imagen de disco UEFI y abre QEMU. Ver CLAUDE.md para el resto de comandos y el flujo de la app WASM.

Documentación

Documento Contenido
ARCHITECTURE.md la arquitectura del sistema, subsistema a subsistema
ROADMAP.md fases completadas y plan de las siguientes
CLAUDE.md guía operativa: comandos, estructura y convenciones

Licencia

MPL-2.0