Overview
- Orbitron is organised as a Rust Cargo workspace where each crate owns a distinct layer: data backbone, query language, GPU renderer, services, UI shells, automation CLIs, and optional bridges (Python, plugin SDK).
- The user-facing binaries (
orbitron,orbitron-tui) are thin entrypoints over the sharedcore/*crates. The GUI viewer (ui/shell) composes the same services with an egui/WGPU frontend. - Public-facing library crates deny missing documentation locally. The central lint script denies warnings,
unwrap/expect, and unsafe code across production targets; audited FFI and OS-handle boundaries use narrow local allowances withSAFETYcomments. - Reusable libraries use typed errors when callers need to distinguish failure modes. CLI, UI, and orchestration boundaries may use
anyhowto add context. - Prefer fallible parsing with
Result/Optionin production code: avoidunwrap/expectoutside tests, log recoverable parser failures withtracing::warn, and surface actionableIoPipelineError::ParseErrormessages for malformed inputs.
Documentation layout
This Developer Guide is the authoritative architectural reference for contributors. For end-user workflows (installation, GUI usage, CLI commands), refer to the companion User Guide (published at https://orbitron.reackt.dev/user-guide/).