A3S Docs
A3S GUI

A3S GUI

Rust-native GUI renderer for RSX function components and native platform command streams.

A3S GUI

a3s-gui is the native UI renderer prototype for A3S applications. It accepts Rust-style .rsx function components backed by Rust hooks and lowers them into a compact native UI IR that platform adapters can render without a WebView.

The current local crate is a3s-gui 0.1.0. Its repository metadata points to A3S-Lab/GUI.

In the current monorepo worktree, crates/gui exists but is not tracked in .gitmodules. Treat this page as documenting the present local project shape, not a published submodule contract.

Capability Map

AreaCurrent capability
Authoring modelComponentCx Rust hooks, Rust-style .rsx function components, DOM-style props, inline style strings, aria/data attributes, and named event actions.
Native IRAccessibility-first tree of native roles, state, labels, values, style tokens, events, and children.
RuntimeGuiRuntime, keyed renderer diff engine, action registration, event routing, and headless recording backend for validation.
Command streamSerializable native commands such as create, update, insert child, remove, and set root.
Platform planningAppKit, WinUI, and GTK planning adapters map the IR to native widget blueprints.
Native pathsFeature-gated AppKit, WinUI, and GTK native adapter paths are present in the crate manifest.
Design systemrsx_ui provides shadcn-like RSX components backed by Vercel/Geist design tokens.

Start Here

  • Architecture explains the RSX-to-native pipeline, host boundary, command stream, and style contract.
  • Platforms maps supported semantic parts to AppKit, WinUI, and GTK planning/native backends.
  • Protocol And Events covers UiFrame, NativeProtocolSession, host events, action routing, and native input flow.

Boundary

A3S GUI is different from A3S WebView. WebView renders web content in an embedded browser. GUI renders RSX semantic UI directly as native controls.

On this page