-
Notifications
You must be signed in to change notification settings - Fork 0
Home
High-frequency observable state for real-time .NET desktop applications. Thread-safe updates, batching, coalescing and diagnostics for UI state that changes faster than it can be rendered.
Rambla separates state mutation from UI notification. You write state from any thread; Rambla decides when and how the UI is told — coalescing intermediate values and batching notifications into a single dispatcher hop per frame.
public partial class MarketViewModel : RamblaState
{
[State] private decimal _bid;
[State] private decimal _ask;
[State] private decimal _pnl;
}
// from any background worker:
vm.Bid = 1.2345m; // no Dispatcher.Invoke, no OnPropertyChanged- Getting Started — install, first view model, schedulers
- Philosophy — Rambla is for state, not events (read this first)
-
Architecture — the framework-agnostic core +
IStateScheduler - Core Semantics — the frozen V1 behavioural contract
- Benchmarks — the honest, layered evidence
- Roadmap — what's done and what's next
- FAQ — when to use Rambla (and when not to)
Rambla does not make the notification cheaper. It avoids emitting it — when the state changes faster than the UI can render it.
Rambla does not compete with CommunityToolkit.Mvvm (boilerplate), ReactiveUI (reactive composition) or DynamicData (change-set collections). It owns one sharp problem: making the background → UI boundary safe and cheap under sustained, high-frequency load — trading terminals, dashboards, telemetry, monitoring, poker tables, market data, WebSocket-driven UIs.
This wiki is a reader-facing guide. The canonical, versioned docs live in the
repository: README, VISION.md,
BENCHMARKS.md, SEMANTICS.md, docs/philosophy.md, ROADMAP.md.
Rambla — state for real-time .NET desktop applications · MIT · github.com/nicoseijas/Rambla · This wiki follows ASD-STE100.
Use Rambla
Reference