feat(renaser): Fase 17 — bitácora, el editor que recuerda
memoriosa (Fase 7c) demostró que un app podía persistir su huella. Esta fase la lleva al gesto natural: un editor de texto. Tecleas, reinicias renaser, el texto sigue ahí. La huella vive en el grafo de objetos como todo lo demás. - Nuevo crate `apps/bitacora/`: lienzo 480×280, tipografía 8×8 embebida (`font8x8 = "0.3"`) escalada x2 a 16×16, render pixel a pixel desde la memoria del propio app. Buffer 512 bytes con wrap automático a 28 columnas; `Enter` salta línea, Backspace borra; al desbordar el buffer se descartan los 64 primeros para amortizar la mudanza. Cada cambio invoca `sys_estado_guardar`; al arrancar, `init` llama a `sys_estado_cargar` y reconstruye. - Mapeo de scancodes US a ASCII (letras, dígitos, puntuación básica, espacio). Sin shift ni mayúsculas — minimalismo. - `GENESIS` crece de 7 a 8 apps; `bitacora` es la PRIMERA — gana la celda maestra al arrancar y te invita a teclear. - `CELDA_TASKBAR_ANCHO` baja de 150 a 130 px para que las ocho pestañas + lanzador + reloj quepan holgadas en 1280 px. Verificado en QEMU: tras escribir "hola renaser" y reiniciar el kernel con el mismo disk.img, bitácora muestra el texto donde lo dejó. El `almacen` reporta 24 objetos en el grafo (frente a 9 antes de escribir) y `raiz presente` — cada `guardar` anexó una versión al log direccionado por contenido. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1085,3 +1085,37 @@ a la derecha, y le pone el reloj a latir cada segundo.
|
||||
reloj `0:17` a la derecha (el tiempo que el kernel lleva vivo al capturar).
|
||||
Diez segundos después, el reloj marca `0:29` — la barra se ha refrescado
|
||||
doce veces sin intervención del ratón ni del teclado.
|
||||
|
||||
## Fase 17 — `bitacora` :: el editor que recuerda — 2026-05-23
|
||||
|
||||
`memoriosa` (Fase 7c) demostró que un app podía persistir un contador a
|
||||
través de los reinicios. `bitacora` extiende esa demostración a un EDITOR de
|
||||
texto: tecleas, los caracteres aparecen; reinicias el kernel, el texto
|
||||
sigue ahí. La huella vive en el grafo de objetos, como todo lo demás.
|
||||
|
||||
### Añadido — app `bitacora` (`apps/bitacora/`)
|
||||
- **Lienzo 480×280** con título "bitacora :: el texto persiste" en índigo
|
||||
arriba y, debajo, las últimas líneas del buffer. Wrap automático a 28
|
||||
columnas; `Enter` salta de línea; Backspace borra el último carácter.
|
||||
- **Tipografía 8×8** embebida (crate `font8x8 = "0.3"`), escalada x2 a 16×16.
|
||||
El app rasteriza cada glifo pixel a pixel desde su propia memoria lineal.
|
||||
- **Persistencia automática**: cada cambio invoca `sys_estado_guardar`. Al
|
||||
arrancar, `init` llama a `sys_estado_cargar` y restaura el buffer.
|
||||
- Buffer de 512 bytes; al desbordarse descarta los 64 primeros para hacer
|
||||
hueco (amortiza el coste — no es una mudanza por cada pulsación).
|
||||
- Mapeo de scancodes US a ASCII para letras, dígitos y puntuación común;
|
||||
Enter genera `\n`, Backspace borra. Sin mayúsculas ni modificadores.
|
||||
|
||||
### Cambiado
|
||||
- **`GENESIS` crece de 7 a 8 apps** con `bitacora` como la PRIMERA — gana
|
||||
la celda maestra al arrancar, así que la primera ventana grande del
|
||||
escritorio te invita a teclear.
|
||||
- **`CELDA_TASKBAR_ANCHO`** baja de 150 a 130 píxeles para que las ocho
|
||||
pestañas + el lanzador + el reloj quepan holgadas en 1280 px.
|
||||
|
||||
### Verificado
|
||||
- QEMU (`sendkey` del monitor): tras escribir `hola renaser` y `quit` →
|
||||
relanzar QEMU con el mismo `disk.img`, la `bitacora` muestra de nuevo el
|
||||
texto justo donde quedó. El `almacen` reporta 24 objetos en el grafo
|
||||
(frente a 9 antes de escribir) y `raiz presente`: cada `guardar` anexó
|
||||
una versión al log direccionado por contenido.
|
||||
|
||||
Reference in New Issue
Block a user