Quilt Rust v0.2.0
The second release of the Rust port. The engine is now production-grade with full test coverage, 10 working end-to-end examples, and complete embedding surfaces (TUI, web server, MCP).
Highlights
- 68 tests pass, 2 ignored, 0 failed. All 5 pre-existing test failures from v0.1.0-alpha are now fixed.
- 5 production binaries:
quilt(CLI),quilt-tui(terminal UI),quilt-web(HTTP+SSE), plus the lib and MCP server. - 10 examples (4 original + 6 new) all load and evaluate end-to-end with 0 errors.
- Zero compiler warnings across the workspace.
- Sensor
defaultfield lets demo sheets work without an adapter.
What's in this release
Engine
- All 8 cell kinds (value, formula, api, program, sensor, listener, router, io) work end-to-end
- Chained formulas:
feels_like_f = (feels_like_c * 9 / 5) + 32recomputes when either input changes - Per-context memoization: same cell called from different contexts can return different cached values
- Effectful cell evaluators are
Send + 'static, so the engine works correctly inside async runtimes - rhai-sandboxed program cells with
qget/qset/qcall/qlistruntime helpers - Formula helpers accept both binary and array forms:
max(a, b)andmax([a, b, c])
New crates
- quilt-tui: terminal UI built on crossterm. j/k navigate, s to set, r to reload, q to quit. tmux-friendly.
- quilt-web: axum-based HTTP server. REST API + SSE for live updates. Bundled HTML/JS client at
/.
New examples
- weather-monitor — three sensors → heat-index → listener alerts → caller-aware router
- chat-router — LLM routing by tier (premium/standard/free) and message length
- ab-test-router — deterministic A/B split using FNV-1a hash
- iot-dashboard — three thermometers → room status → building status
- rate-limiter — token-bucket rate limiter with per-caller state
- task-scheduler — reactive task scheduler with overdue listener
What you can do with v0.2.0
- Ship an MCP server backed by a sheet:
quilt serve --mcp sheet.yaml - Embed Quilt in a long-running daemon — the engine is
Arc-safe - Run the TUI for an interactive terminal view
- Serve over HTTP for browser-based dashboards (with SSE for live updates)
- Drop a sheet into an edge device —
no_std-friendly build
What's next (v0.3.0)
- Full WebAssembly build with all cell evaluators working in-browser
- A bytecode VM for the formula DSL
- A gRPC protocol so any language can talk to the engine
- A persistence layer (snapshot to disk, restore on startup)