Page:
Architecture
Pages
Architecture
Backups and Restore
Build and Test
Character Sheet
Codex and Mentions
Container Builds
Contributing
Data and Migrations
Developer Home
Dice Roller
FAQ and Troubleshooting
Getting Started
Graph and Relationships
Home
Images
Languages and Scripts
Local Assistant
Localization Workflow
Party
Privacy and Data
QA Scenarios
Release Process
Repository Map
Rules Wiki and SRD
Search and Summary
Session Journal
Sharing with a Server
Sync Client
Updates
No results
1
Architecture
Joël Jon Moix edited this page 2026-10-27 11:27:07 +01:00
Table of Contents
Architecture
React UI (src/features/*) ──invoke──▶ Tauri commands (src-tauri/src/commands)
▲ events │ validate payloads, narrow API
│ ▼
status / progress Domain modules (journal, knowledge, graph,
player, party, images, search, wiki, sync…)
│ parameterized SQL only
▼
Store: SQLite (WAL) + managed files
Layers
- UI (
src/): one folder per feature with itsapi.ts(typed wrappers aroundinvoke), components and tests. No SQL, no file paths from free text. - Commands (
src-tauri/src/commands): thin, validated entry points registered inlib.rs. Long work runs off the main thread (Database::run, async commands). - Domain (
src-tauri/src/*.rsand subfolders): rules, validation and SQL. Stable UUIDs are the relational keys everywhere, so references survive renames. - Store (
db.rs,backup.rs): the single writer. Versioned transactional migrations, profile generations after a restore, verified.nodexbackups.
Invariants (from AGENTS.md)
- Offline-first; network only from explicit user actions (plus the updater check).
- A mention and a factual relationship are different edge types; relationships carry source and certainty.
- Autosave persists reliably and surfaces failure; revisions refuse stale writes.
- No implicit mutation: no auto-consumption, no inferred facts, no AI-written facts.
- Every UI change passes the localization gate.
Optional subsystems
| Subsystem | Folder | Boundary |
|---|---|---|
| Local assistant | assistant/, ai_setup/ |
Fixed loopback Ollama, cloud verified off, GPU preflight, citations |
| Rules wiki | wiki.rs, wikidot/, wiki_provider.rs, catalog.rs |
Allowlisted hosts/paths, bounded caches, inert text |
| Updates | updates/ |
Tauri updater with signature, mandatory backup before install |
| Sharing | sync/ |
Opt-in, HTTPS, per-item scope; see Sync client |
| Automation | automation/ |
Hidden opt-in MCP adapter (docs/AUTOMATION.md) |
Using Chronexus
- Getting started
- Session journal
- Codex and mentions
- Graph and relationships
- Character sheet
- Party
- Dice roller
- Search and summary
- Rules wiki and SRD
- Images
- Local assistant
- Languages and scripts
- Backups and restore
- Updates
- Sharing with a server
- Privacy and data
- FAQ and troubleshooting
For developers