Skip to main content

Crate spicekit

Crate spicekit 

Source
Expand description

Pure-Rust readers (and writer) for NASA/NAIF SPICE kernel formats.

Implements the subset of SPICE this crate explicitly supports — DAF containers, SPK ephemerides, binary PCK rotations, and the supported text-kernel subset (body names, LSK DELTET/*, and the Earth→ITRF93 frame association) — with memory-mapped I/O and no FFI. The DAF parser (daf) is the shared container reader; the per-kernel-type parsers (spk, pck, text_kernel) build on top of it. spk_writer emits SPK Type 3 and Type 9 segments.

This crate does not link CSPICE. Bit-for-bit parity against CSPICE is asserted in the sibling spicekit-bench crate, which links cspice-sys behind a feature flag and exercises every numeric code path (spkez, pxform, sxform, bodc2n, bodn2c, plus the supported text-kernel semantics) at machine-epsilon tolerance.

Re-exports§

pub use daf::DafError;
pub use daf::DafFile;
pub use daf::Summary;
pub use frame::rotate_state;
pub use frame::NaifFrame;
pub use frame::OBLIQUITY_J2000_RAD;
pub use naif_ids::bodc2n;
pub use naif_ids::bodn2c;
pub use naif_ids::NaifIdError;
pub use pck::PckError;
pub use pck::PckFile;
pub use pck::PckSegment;
pub use spk::SpkError;
pub use spk::SpkFile;
pub use spk::SpkSegment;
pub use spk_writer::SpkWriter;
pub use spk_writer::SpkWriterError;
pub use spk_writer::Type3Record;
pub use spk_writer::Type3Segment;
pub use spk_writer::Type9Segment;
pub use text_kernel::parse_body_bindings;
pub use text_kernel::parse_body_bindings_from_str;
pub use text_kernel::parse_text_kernel;
pub use text_kernel::parse_text_kernel_from_str;
pub use text_kernel::BodyBinding;
pub use text_kernel::DeltaAtEntry;
pub use text_kernel::FrameAssociation;
pub use text_kernel::KernelDate;
pub use text_kernel::LeapSecondsKernel;
pub use text_kernel::TextKernelContent;
pub use text_kernel::TextKernelError;

Modules§

daf
NAIF DAF (Double-precision Array File) container reader.
frame
Frame rotations used by NAIF kernel consumers.
naif_ids
NAIF built-in body name ↔ integer ID lookup.
pck
Binary PCK (Planetary Constants Kernel) reader.
spk
SPK (Spacecraft and Planet Kernel) reader.
spk_writer
Pure-Rust DAF/SPK writer.
text_kernel
Minimal text-kernel parser for the supported NAIF kernel-pool subset.