60553bec44
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>
32 lines
1.1 KiB
TOML
32 lines
1.1 KiB
TOML
# =============================================================================
|
|
# renaser :: apps/bitacora — Fase 17 :: un editor de texto que persiste
|
|
# -----------------------------------------------------------------------------
|
|
# Tecleas, los caracteres se quedan. Y al reiniciar siguen ahi, porque viven en
|
|
# el grafo de objetos (Fase 7c, `sys_estado_*`). Renderizado con la tipografia
|
|
# 8x8 clasica (font8x8), embebida en el binario WASM — no depende del kernel.
|
|
# =============================================================================
|
|
|
|
[package]
|
|
name = "bitacora"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
description = "renaser :: app WASM — un editor de texto que persiste entre arranques"
|
|
|
|
[workspace]
|
|
|
|
[dependencies]
|
|
# Tipografia 8x8 pixel-perfect, public domain. La crate es `no_std` y compila
|
|
# limpiamente para `wasm32-unknown-unknown` con `default-features = false`.
|
|
font8x8 = { version = "0.3", default-features = false, features = ["unicode"] }
|
|
|
|
[lib]
|
|
crate-type = ["cdylib"]
|
|
|
|
[profile.dev]
|
|
panic = "abort"
|
|
|
|
[profile.release]
|
|
panic = "abort"
|
|
opt-level = "s"
|
|
lto = true
|