Repository Layout

Path Crate / Artifact Responsibility
core/backbone orbitron-backbone Immutable scene graph (SceneGraph), editable molecular charge/multiplicity, periodic table, property registry, trajectories, and frequency data. crystal also holds the lattice geometry shared by selection queries and the force field: MinImageCtx (minimum-image displacement) and PeriodicAnchorGrid (periodic neighbour binning).
core/query orbitron-query Selection expression AST (SelectionExpr), parser (parse_expression), evaluator (evaluate_selection).
core/selection-engine orbitron-selection-engine Cached selection programs, scoring heuristics, bounding utilities for UI highlights.
core/render orbitron-render WGPU renderer, render data extraction (RenderSceneData), lighting presets, headless pipeline.
core/appearance orbitron-appearance Scene-bound themes, lighting, render flags, presentation bundles, and style application shared by desktop, CLI, and WASM.
core/edit orbitron-edit Editing command DSL, mutable scene wrappers, SMILES import, amino-acid mutation templates, Top8000-derived backbone-dependent rotamer previews, and the geometry/ builder engine: build templates, generated rings, Clean, coordination-sphere assessment, 3D embedding, and bounded UFF conformer search.
core/forcefield orbitron-forcefield UFF: parameter table, atom typing, all five energy terms, explicit-image fixed-cell periodic topology, and the minimiser behind Relax Geometry.
core/ribbon orbitron-ribbon Cartoon/ribbon mesh construction. Split out of viewer/core so the WASM viewer can build them too — it needs only backbone/render/math, none of egui or the parsing stack. viewer-core re-exports it as ribbon.
core/export-vector orbitron-export-vector Vector export (SVG/PDF/EPS) as real geometry with real text, rather than an embedded raster.
core/services orbitron-services Facade providing loader/analyzer/exporter/renderer/data source abstractions.
core/symmetry orbitron-symmetry Niggli reduction, 14 Bravais lattice identification, molecular point group detection.
core/inchi orbitron-inchi Safe wrapper around the vendored IUPAC reference implementation: converts a SceneGraph and returns InChI / InChIKey strings.
core/inchi-sys orbitron-inchi-sys Raw bindings to the vendored IUPAC InChI reference C sources (v1.07.5), built by cc at compile time.
core/math orbitron-math Pure-Rust math: Jacobi eigensolver, marching cubes/squares.
core/diagram orbitron-diagram 2D diagram generation.
core/diagram-render orbitron-diagram-render Shared diagram rendering utilities.
core/delta-types orbitron-delta-types Shared delta-protocol types for viewer synchronisation.
core/orbpack orbitron-orbpack The .orbpack bundle format: canonical document types, container, and scene conversion. Deliberately free of platform dependencies so it builds for wasm32 — the web viewer reads bundles with it.
core/periodic orbitron-periodic Program-neutral reciprocal-space scene construction: folds canonical band samples into the first Brillouin zone, splits paths at zone boundaries, and projects the same geometry for GUI, TUI, Python, and vector export.
io/pipelines orbitron-io-pipelines File format registry and loaders (XYZ, PDB/mmCIF/CIF, SDF/MOL, GROMACS GRO, Gaussian, ORCA, NWChem, VASP, CUBE/XSF, MRC2014/CCP4, NBO, MOLDEN, TREXIO, Molcas, Molpro, DIRAC, and Quantum ESPRESSO). XTC random access lives at the services boundary because it requires a topology-bearing companion.
automation/cli orbitron-cli Command-line interface for automation, viewer launching, batch jobs.
automation/tui orbitron-tui Terminal UI built on shared services for headless viewing and inspection.
ui/shell orbitron-ui-shell Desktop viewer (egui + winit + WGPU), panels, event loop, edit mode.
viewer/core orbitron-viewer-core Platform-neutral viewer core (UI state, camera, render styles) shared by ui/shell and automation/cli. viewer/wasm does not depend on it — it builds on orbitron-render/backbone directly.
viewer/wasm orbitron-viewer-wasm Web/WebGPU viewer.
extensions/rust-sdk orbitron-rust-sdk Embeddable SDK: the OrbitronSdk facade (scene/trajectory handles, selections, measurements, export, render options, delta-envelope builders) plus plugin trait definitions behind the experimental experimental-plugins feature.
extensions/python-bridge orbitron-python-bridge PyO3 bindings exposing loader/analyzer/render hooks to Python.
extensions (root) Houses bridges and SDK experiments; each crate owns its own binary or library.
tests/regression orbitron-regression Regression helpers, golden digest utilities, fixture accessors.
tests/render-parity orbitron-render-parity Headless golden-image render-regression harness (perceptual diff; baselines committed, regen via ORBITRON_REGEN_BASELINES=1).
fixtures/ Molecular datasets used by tests and demos.