Skip to content

Roadmap

Nicolás Seijas edited this page Aug 3, 2026 · 3 revisions

Roadmap

The primary source is ROADMAP.md. The sequence of the phases is deliberate. Rambla shows the primary result first. Then it adds the other functions.

The current version is 0.5.1.

Available

  • Phase 1 — the state engine. RamblaState, thread-safe SetField, batches with BeginUpdate, one coalesced flush, and the schedulers. The ThrottlingStateScheduler applies RamblaOptions.MaxRefreshRate.
  • The [State] generator. It is a compile-time generator. It supports nullable types, nested types and generic types. The errors are RMB001 to RMB005.
  • The frozen V1 semantics. Refer to Core Semantics.
  • Phase 2 — the collections. RamblaList<T> and RamblaDictionary<TKey,TValue>. Refer to Collections.
  • Phase 3 — the async lifecycle. AsyncStateCommand and the [StateCommand] generator, with a busy property, an error property, a cancel command and the latest-wins policy. Refer to Async Commands.
  • Phase 4 — the diagnostics. StateDiagnostics.Attach, the rates, the coalescing ratio, the dispatcher latency, the hot properties and the recommendations. Refer to Diagnostics.
  • Phase 5 — the adapters (in work). Rambla.Wpf and Rambla.Avalonia are available.
  • The benchmarks and the market dashboard sample. Refer to Benchmarks.

In work

  • Phase 5 — the other adapters. WinUI, and possibly MAUI.

Not available in V1

Function Condition
Move notifications in the collections A change of the order gives Replace notifications.
Per-property data for a collection in the diagnostics Not available.
A Task<T> method with [StateCommand] The method must give a Task.
A parameter for a command Not available.
A CanExecute binding from the generator The AsyncStateCommand constructor accepts a canExecute delegate.

Deliberately delayed

These functions are not in V1: a refresh rate for each property, priority levels, derived state with an attribute, and a state type with a snapshot. Rambla shows the primary result first. Then it can add these functions with data from the users.

Clone this wiki locally