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/surface |
orbitron-surface |
Molecular surfaces: solvent-excluded, solvent-accessible, and van der Waals. Owns the nearest-atom field, the marching-cubes extraction, per-atom SASA, and the topology and cost budgets. Behind the Surfaces tab, orbitron sasa, and the Python surface calls — ui/shell, viewer/core, automation/cli and extensions/python-bridge all depend on it. |
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, and the 2D slice primitives (SlicePlane, ScalarField2D, sample_grid_slice, color_scale/diverging_color) that core/services re-exports, so the web viewer can build a slice without the parsing stack. |
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. |
core/plots |
orbitron-plots |
Headless data figures for orbitron plot and the desktop’s figure export: one SVG drawing, PNG rasterised from it by resvg with only the embedded Inter. Knows no chemistry; core/services/src/plot decides what is drawn. |
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, CP2K, QMCPACK, 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) used by ui/shell (the only crate that depends on it; the CLI builds on orbitron-appearance, orbitron-ribbon and orbitron-surface instead). viewer/wasm does not depend on it — it builds on orbitron-render/backbone directly. |
viewer/wasm |
orbitron-viewer-wasm |
Web/WebGPU viewer. |
viewer/web-page |
orbitron-web-page |
The self-contained Web View page (template, embedded WASM viewer, writer) shared by File > Export > Web View, orbitron web and Python’s export_html, which passes in its own copy of the viewer. Its build script copies the staged viewer assets into OUT_DIR, with empty placeholders when they are missing. |
extensions/python-bridge |
orbitron-python-bridge |
PyO3 bindings exposing loader/analyzer/render hooks to Python. |
extensions (root) |
— |
Houses the Python bridge (currently its only crate). |
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. |