4796f2652d
- lapaloma-stream: feature `gpui` (default). LapalomaStreamElement pinta un RingBuffer en modo sweep — dos polilíneas split-at-head (segmento [head..cap) viejo + [0..head) nuevo) para evitar la línea horizontal del wraparound. Pre-fill (count < cap) sólo pinta [0, head) para evitar el flat-line del 1.0.2 fix. - y_range configurable, background opcional, padding. - crates/apps/lapaloma-stream-demo: osciloscopio sintético con RingBuffer cap=512. Timer en cx.background_executor que hace push(synthesize(t)) + cx.notify() cada 16ms (60 Hz). Señal = suma de dos sinusoides desfasadas + jitter determinístico. Header muestra cap / head / filled% / t / revision en vivo. - Workspace: registrada la app lapaloma-stream-demo. Showcase del P2 zero-alloc: push(v) son 2 writes + 2 increments, zero allocations per frame, ningún Vec se reasigna. 46 tests verdes (sin cambios; el stream se valida en runtime via demo). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
17 lines
748 B
TOML
17 lines
748 B
TOML
[package]
|
|
name = "lapaloma-stream-demo"
|
|
version = { workspace = true }
|
|
edition = { workspace = true }
|
|
license = { workspace = true }
|
|
authors = { workspace = true }
|
|
publish = { workspace = true }
|
|
description = "Lapaloma — demo de streaming: RingBuffer + timer 60 Hz + sweep render. Showcase del zero-alloc en hot path."
|
|
|
|
[dependencies]
|
|
gpui = { workspace = true }
|
|
yahweh-launcher = { path = "../../modules/ui_engine/libs/launcher" }
|
|
yahweh-theme = { path = "../../modules/ui_engine/libs/theme" }
|
|
lapaloma-core = { path = "../../modules/ui_engine/libs/lapaloma-core" }
|
|
lapaloma-render = { path = "../../modules/ui_engine/widgets/lapaloma-render", features = ["gpui"] }
|
|
lapaloma-stream = { path = "../../modules/ui_engine/widgets/lapaloma-stream" }
|