tawasuyu

tawasuyu/llimphi

Sovereign retained-mode GPU UI framework in Rust (wgpu+vello+taffy+parley), Elm loop, 40+ widgets.

Rust 660Markdown 302TOML 157RON 312382 Definiciones

⎇ main shared/app-bus/README.md Markdown · 38 líneas · 1.5 KB Historia crudo

chore: refresco desde el monorepo — 27 crates nuevos (anim, lottie, svg, mesh, image, layer, test, wire-view, widgets rag-sidebar/router/lazy-list/rive-button) y sync de los 95 existentes 93253cc22 · Sergio ·

1# app-bus — in-proc event bus for Llimphi apps
2
3A typed, synchronous, in-memory **publish/subscribe** bus to coordinate apps
4within the same process. It covers three families of cross-cutting events: **focus**
5(which app/window holds it), **navigation** (open/close/focus an app or route)
6and ephemeral **notifications**.
7
8## What it exposes
9
10- `AppBus` — shareable handle (`Clone`, internally `Arc<RwLock<…>>`).
11- `Event` — cross-cutting enum: `FocusChanged` / `Navigate` / `CloseApp` / `Notify`.
12- `NotifyLevel` — `Info` / `Warn` / `Error`.
13- `Subscription` — RAII guard: dropping it cancels the subscription.
14- `publish(Event)` delivers synchronously to all subscribers; nested delivery
15  if a callback publishes from its own handler.
16
17## Non-goals
18
19- It is not an inter-process or network bus (that is Akasha / app-channel).
20- It does not persist events nor guarantee delivery after restart.
21- It does not order by priority.
22
23## Status (2026-05-31)
24
25### Done
26- Complete pub/sub bus: `publish`, `subscribe`, cancellation via RAII guard.
27- `Event` enum with focus/navigation/close/notifications.
28- Consumed by `launcher-llimphi` (fires navigation/launch).
29
30### Pending
31- Multi-process adapter (today strictly in-proc).
32- Deferred delivery / queue (today synchronous nested reentrancy).
33- Filtering by event type in `subscribe` (today the callback filters).
34
35## Place in the repo
36
37`shared/app-bus` — fine-grained in-proc channel. The higher-level control plane
38is `shared/sandokan` (see its SDD.md).

README.md

app-bus — in-proc event bus for Llimphi apps

A typed, synchronous, in-memory publish/subscribe bus to coordinate apps within the same process. It covers three families of cross-cutting events: focus (which app/window holds it), navigation (open/close/focus an app or route) and ephemeral notifications.

What it exposes

Non-goals

Status (2026-05-31)

Done

Pending

Place in the repo

shared/app-bus — fine-grained in-proc channel. The higher-level control plane is shared/sandokan (see its SDD.md).