Architecture overview
You do not need to understand the architecture to use Lattice. These boundaries explain why the app can stay local-first, interoperable, and responsive as it adds richer resources.
Lattice uses Tauri 2 for the native desktop shell.
- Rust owns canonical resource state, storage, validation, semantic commands, search, indexing, data orchestration, and capability enforcement.
- React and TypeScript coordinate the shell, navigation, dialogs, command discovery, lifecycle, and accessibility.
- Specialized renderers own hot loops: ProseMirror/Tiptap for pages, PixiJS for canvas, and a production grid engine for large tables.
The frontend loads bounded views lazily and sends coarse typed messages across Tauri IPC. Large tabular or binary data does not become a pile of JSON objects or per-cell React components.
The optional latticed service hosts longer-lived workspace sessions, file
watching, search, voice supervision, and local API/MCP access. The desktop can
still perform core interactive work without a remote server.
Read the full system architecture and frontend performance contract.