feat(renaser): Fase 11 — el reloj del sistema como capacidad de host
El userspace gana un sentido del tiempo: hasta ahora una app solo sabía cuántas veces la habían llamado, no cuánto tiempo había pasado. - Capacidad `sys_tiempo_mono() -> u64` — la décima función del host: los milisegundos monótonos desde el arranque. `reloj` expone la cuenta del PIT (100 Hz) como `milisegundos()`; `env` la inyecta. Lectura pura, no toca la memoria del módulo, jamás retrocede. - App nueva `pulso` (`apps/pulso/`, wasm32): un compás visual cuya escena es una función PURA de `sys_tiempo_mono` — sin estado entre fotogramas—. Dos instancias laten al unísono nazcan cuando nazcan. - `GENESIS` crece de 5 a 6 apps; `pulso` es la maestra del escritorio. Verificado en QEMU (sendkey): la barra de `pulso` avanza con el tiempo de pared; un segundo `pulso` lanzado con Alt+N ~15 s después aparece sincronizado con el primero — el compás se rige por el reloj absoluto, no por una cuenta de fotogramas. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# =============================================================================
|
||||
# renaser :: apps/pulso — Fase 11 :: el compas visual del reloj del host
|
||||
# -----------------------------------------------------------------------------
|
||||
# Un modulo WebAssembly puro que no guarda estado alguno: su escena es una
|
||||
# funcion pura del reloj monotono del sistema (`sys_tiempo_mono`). Por eso dos
|
||||
# instancias de `pulso`, nazcan cuando nazcan, laten al unisono. Tiene su
|
||||
# propio `[workspace]`: queda fuera del espacio de trabajo del kernel.
|
||||
# =============================================================================
|
||||
|
||||
[package]
|
||||
name = "pulso"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
description = "renaser :: app WASM — un compas visual gobernado por el reloj del host"
|
||||
|
||||
[workspace]
|
||||
|
||||
# `cdylib` produce un modulo `.wasm` que exporta funciones — el formato que
|
||||
# wasmi instancia. La aplicacion solo habla con el kernel por funciones del host.
|
||||
[lib]
|
||||
crate-type = ["cdylib"]
|
||||
|
||||
[profile.dev]
|
||||
panic = "abort"
|
||||
|
||||
[profile.release]
|
||||
panic = "abort"
|
||||
opt-level = "s"
|
||||
lto = true
|
||||
Reference in New Issue
Block a user