Skip to content

@rybosome/tspice-backend-contract ​

Interfaces ​

CellsWindowsApi ​

Defined in: backend-contract/src/domains/cells-windows.ts:83

Backend contract for low-level raw SPICE cell/window operations.

Extended by ​

Methods ​

card() ​

card(cell): number

Defined in: backend-contract/src/domains/cells-windows.ts:94

Get the cardinality of a cell. (card_c)

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

number

insrtc() ​

insrtc(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:113

Insert a string into a character set cell. (insrtc_c)

Parameters ​
item ​

string

cell ​

SpiceCharCell

Returns ​

void

insrtd() ​

insrtd(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:110

Insert a double into a double set cell. (insrtd_c)

Parameters ​
item ​

number

cell ​

SpiceDoubleCell

Returns ​

void

insrti() ​

insrti(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:107

Insert an integer into an integer set cell. (insrti_c)

Parameters ​
item ​

number

cell ​

SpiceIntCell

Returns ​

void

scard() ​

scard(card, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:91

Set the cardinality of a cell. (scard_c)

Parameters ​
card ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

size() ​

size(cell): number

Defined in: backend-contract/src/domains/cells-windows.ts:97

Get the maximum cardinality of a cell. (size_c)

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

number

ssize() ​

ssize(size, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:88

Set the maximum cardinality of a cell. (ssize_c)

Parameters ​
size ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

valid() ​

valid(size, n, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:100

Validate and normalize a set cell. (valid_c)

Parameters ​
size ​

number

n ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

wncard() ​

wncard(window): number

Defined in: backend-contract/src/domains/cells-windows.ts:121

Return the number of intervals in a DP window. (wncard_c)

Parameters ​
window ​

SpiceWindow

Returns ​

number

wnfetd() ​

wnfetd(window, index): readonly [number, number]

Defined in: backend-contract/src/domains/cells-windows.ts:124

Fetch the indexth interval from a DP window. (wnfetd_c)

Parameters ​
window ​

SpiceWindow

index ​

number

Returns ​

readonly [number, number]

wninsd() ​

wninsd(left, right, window): void

Defined in: backend-contract/src/domains/cells-windows.ts:118

Insert an interval into a DP window, merging overlaps. (wninsd_c)

Parameters ​
left ​

number

number

window ​

SpiceWindow

Returns ​

void

wnvald() ​

wnvald(size, n, window): void

Defined in: backend-contract/src/domains/cells-windows.ts:127

Validate and normalize a DP window. (wnvald_c)

Parameters ​
size ​

number

n ​

number

window ​

SpiceWindow

Returns ​

void


CellsWindowsKitApi ​

Defined in: backend-contract/src/domains/cells-windows.ts:31

Backend-only cell/window helpers exposed to higher-level kit code.

These are intentionally split from CellsWindowsApi so raw/kit surfaces can evolve independently while backends still provide native hooks for allocation and inspection.

Extended by ​

Methods ​

cellGetc() ​

cellGetc(cell, index): string

Defined in: backend-contract/src/domains/cells-windows.ts:79

Fetch the indexth element of a character cell.

Backends may right-trim whitespace to match common CSPICE string handling.

Parameters ​
cell ​

SpiceCharCell

index ​

number

Returns ​

string

cellGetd() ​

cellGetd(cell, index): number

Defined in: backend-contract/src/domains/cells-windows.ts:72

Fetch the indexth element of a double cell.

Parameters ​
cell ​

SpiceDoubleCell

index ​

number

Returns ​

number

cellGeti() ​

cellGeti(cell, index): number

Defined in: backend-contract/src/domains/cells-windows.ts:69

Fetch the indexth element of an integer cell.

Parameters ​
cell ​

SpiceIntCell

index ​

number

Returns ​

number

freeCell() ​

freeCell(cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:53

Free a previously-created cell handle.

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell

Returns ​

void

freeWindow() ​

freeWindow(window): void

Defined in: backend-contract/src/domains/cells-windows.ts:56

Free a previously-created window handle.

Parameters ​
window ​

SpiceWindow

Returns ​

void

newCharCell() ​

newCharCell(size, length): SpiceCharCell

Defined in: backend-contract/src/domains/cells-windows.ts:47

Create an empty character set cell.

length is the maximum string length (including trailing NUL). CSPICE generally expects length >= 2 and recommends length >= 5.

Parameters ​
size ​

number

length ​

number

Returns ​

SpiceCharCell

newDoubleCell() ​

newDoubleCell(size): SpiceDoubleCell

Defined in: backend-contract/src/domains/cells-windows.ts:39

Create an empty double-precision set cell with the given capacity.

Parameters ​
size ​

number

Returns ​

SpiceDoubleCell

newIntCell() ​

newIntCell(size): SpiceIntCell

Defined in: backend-contract/src/domains/cells-windows.ts:36

Create an empty integer set cell with the given capacity.

Parameters ​
size ​

number

Returns ​

SpiceIntCell

newWindow() ​

newWindow(maxIntervals): SpiceWindow

Defined in: backend-contract/src/domains/cells-windows.ts:50

Create an empty DP window with capacity for maxIntervals intervals.

Parameters ​
maxIntervals ​

number

Returns ​

SpiceWindow


CoordsVectorsApi ​

Defined in: backend-contract/src/domains/coords-vectors.ts:10

Backend contract for basic coordinate transforms and vector/matrix math.

Extended by ​

Methods ​

axisar() ​

axisar(axis, angle): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:67

Convert an axis and angle to a rotation matrix.

Parameters ​
axis ​

SpiceVector3

angle ​

number

Returns ​

Mat3RowMajor

georec() ​

georec(lon, lat, alt, re, f): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:70

SPICE georec_c: geodetic lon/lat/alt -> rectangular coordinates.

Parameters ​
lon ​

number

lat ​

number

alt ​

number

re ​

number

f ​

number

Returns ​

SpiceVector3

latrec() ​

latrec(radius, lon, lat): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:14

SPICE latrec_c: latitudinal -> rectangular coordinates.

Parameters ​
radius ​

number

lon ​

number

lat ​

number

Returns ​

SpiceVector3

mtxv() ​

mtxv(m, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:77

SPICE mtxv_c: multiply transpose(matrix) by vector.

Parameters ​
m ​

Mat3RowMajor

v ​

SpiceVector3

Returns ​

SpiceVector3

mxm() ​

mxm(a, b): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:48

SPICE mxm_c: matrix-matrix multiplication.

Parameters ​
a ​

Mat3RowMajor

b ​

Mat3RowMajor

Returns ​

Mat3RowMajor

mxv() ​

mxv(m, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:75

SPICE mxv_c: multiply matrix by vector.

Parameters ​
m ​

Mat3RowMajor

v ​

SpiceVector3

Returns ​

SpiceVector3

recgeo() ​

recgeo(rect, re, f): object

Defined in: backend-contract/src/domains/coords-vectors.ts:72

SPICE recgeo_c: rectangular -> geodetic lon/lat/alt coordinates.

Parameters ​
rect ​

SpiceVector3

re ​

number

f ​

number

Returns ​

object

alt ​

alt: number

lat ​

lat: number

lon ​

lon: number

reclat() ​

reclat(rect): object

Defined in: backend-contract/src/domains/coords-vectors.ts:12

SPICE reclat_c: rectangular -> latitudinal coordinates.

Parameters ​
rect ​

SpiceVector3

Returns ​

object

lat ​

lat: number

lon ​

lon: number

radius ​

radius: number

recsph() ​

recsph(rect): object

Defined in: backend-contract/src/domains/coords-vectors.ts:17

SPICE recsph_c: rectangular -> spherical coordinates.

Parameters ​
rect ​

SpiceVector3

Returns ​

object

colat ​

colat: number

lon ​

lon: number

radius ​

radius: number

rotate() ​

rotate(angle, axis): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:55

Generate a rotation matrix representing a rotation about a coordinate axis.

Axis is 1=x, 2=y, 3=z.

Parameters ​
angle ​

number

axis ​

number

Returns ​

Mat3RowMajor

rotmat() ​

rotmat(m, angle, axis): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:62

Rotate a matrix about a coordinate axis.

Axis is 1=x, 2=y, 3=z.

Parameters ​
m ​

Mat3RowMajor

angle ​

number

axis ​

number

Returns ​

Mat3RowMajor

sphrec() ​

sphrec(radius, colat, lon): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:19

SPICE sphrec_c: spherical -> rectangular coordinates.

Parameters ​
radius ​

number

colat ​

number

lon ​

number

Returns ​

SpiceVector3

vadd() ​

vadd(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:39

SPICE vadd_c: vector addition.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3

vcrss() ​

vcrss(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:36

SPICE vcrss_c: cross product of two vectors.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3

vdot() ​

vdot(a, b): number

Defined in: backend-contract/src/domains/coords-vectors.ts:34

SPICE vdot_c: dot product of two vectors.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

number

vhat() ​

vhat(v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:32

Compute the unit vector of v.

Zero-vector behavior: if v is [0, 0, 0], this returns [0, 0, 0] and does not throw.

This matches the NAIF CSPICE vhat_c definition.

Parameters ​
v ​

SpiceVector3

Returns ​

SpiceVector3

vminus() ​

vminus(v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:43

SPICE vminus_c: negate a vector.

Parameters ​
v ​

SpiceVector3

Returns ​

SpiceVector3

vnorm() ​

vnorm(v): number

Defined in: backend-contract/src/domains/coords-vectors.ts:22

SPICE vnorm_c: vector magnitude (Euclidean norm).

Parameters ​
v ​

SpiceVector3

Returns ​

number

vscl() ​

vscl(s, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:45

SPICE vscl_c: multiply vector by scalar.

Parameters ​
s ​

number

v ​

SpiceVector3

Returns ​

SpiceVector3

vsub() ​

vsub(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:41

SPICE vsub_c: vector subtraction.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3


DskApi ​

Defined in: backend-contract/src/domains/dsk.ts:48

Backend contract for DSK (Digital Shape Kernel) segment queries.

Extended by ​

Methods ​

dskb02() ​

dskb02(handle, dladsc): DskType2Bookkeeping

Defined in: backend-contract/src/domains/dsk.ts:59

Return the type 2 DSK segment bookkeeping parameters.

Parameters ​
handle ​

SpiceHandle

dladsc ​

DlaDescriptor

Returns ​

DskType2Bookkeeping

dskgd() ​

dskgd(handle, dladsc): DskDescriptor

Defined in: backend-contract/src/domains/dsk.ts:56

Return the descriptor of a DSK segment.

Parameters ​
handle ​

SpiceHandle

dladsc ​

DlaDescriptor

Returns ​

DskDescriptor

dskobj() ​

dskobj(dsk, bodids): void

Defined in: backend-contract/src/domains/dsk.ts:50

Return the set of body IDs for which the specified DSK has segments.

Parameters ​
dsk ​

string

bodids ​

SpiceIntCell

Returns ​

void

dsksrf() ​

dsksrf(dsk, bodyid, srfids): void

Defined in: backend-contract/src/domains/dsk.ts:53

Return the set of surface IDs for which the specified DSK has segments.

Parameters ​
dsk ​

string

bodyid ​

number

srfids ​

SpiceIntCell

Returns ​

void


EkApi ​

Defined in: backend-contract/src/domains/ek.ts:48

Backend contract for EK (Events Kernel) file/query operations.

Extended by ​

Methods ​

ekaclc() ​

ekaclc(handle, segno, column, cvals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:219

Add a character column's data to a fast-write segment (see ekaclc_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • cvals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so cvals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

cvals ​

readonly string[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

ekacld() ​

ekacld(handle, segno, column, dvals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:196

Add a double-precision column's data to a fast-write segment (see ekacld_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • dvals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so dvals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

dvals ​

readonly number[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

ekacli() ​

ekacli(handle, segno, column, ivals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:173

Add an integer column's data to a fast-write segment (see ekacli_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • ivals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so ivals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

ivals ​

readonly number[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

ekcls() ​

ekcls(handle): void

Defined in: backend-contract/src/domains/ek.ts:70

Close an EK file opened via ekopr / ekopw / ekopn (see ekcls_c).

Notes:

  • EK handles are explicit resources and are not automatically closed by unload() / kclear().
  • If path was backed by byte-staged temp bytes, close EK handles before calling unload() / kclear() to allow best-effort temp file deletion (especially on Windows).
Parameters ​
handle ​

SpiceHandle

Returns ​

void

ekffld() ​

ekffld(handle, segno, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:230

Complete a fast-write segment (see ekffld_c).

Parameters ​
handle ​

SpiceHandle

segno ​

number

rcptrs ​

readonly number[]

Returns ​

void

ekfind() ​

ekfind(query): EkFindResult

Defined in: backend-contract/src/domains/ek.ts:108

Execute an EK query (see ekfind_c).

Notes:

  • EK query results live in CSPICE global state.
  • Beginning fast-write via ekifld can invalidate the active selection/result set. Avoid interleaving ekfind/ekg* reads with fast-write; rerun ekfind after fast-write if you need to read again.
Parameters ​
query ​

string

Returns ​

EkFindResult

ekgc() ​

ekgc(selidx, row, elment): EkGetResult<string>

Defined in: backend-contract/src/domains/ek.ts:118

Fetch a character-valued element from the active query result set (see ekgc_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<string>

ekgd() ​

ekgd(selidx, row, elment): EkGetResult<number>

Defined in: backend-contract/src/domains/ek.ts:128

Fetch a double-valued element from the active query result set (see ekgd_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<number>

ekgi() ​

ekgi(selidx, row, elment): EkGetResult<number>

Defined in: backend-contract/src/domains/ek.ts:138

Fetch an integer-valued element from the active query result set (see ekgi_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<number>

ekifld() ​

ekifld(handle, tabnam, nrows, cnames, decls): object

Defined in: backend-contract/src/domains/ek.ts:152

Begin fast-write for a new EK segment (see ekifld_c).

Returns segno (new segment number) and the rcptrs workspace array. rcptrs must be passed to the subsequent column-add calls and to ekffld.

Notes:

  • Calling ekifld may invalidate the active EK query selection (from ekfind). If you need to read query results after starting fast-write, rerun ekfind.
Parameters ​
handle ​

SpiceHandle

tabnam ​

string

nrows ​

number

cnames ​

readonly string[]

decls ​

readonly string[]

Returns ​

object

rcptrs ​

rcptrs: number[]

segno ​

segno: number

eknseg() ​

eknseg(handle): number

Defined in: backend-contract/src/domains/ek.ts:95

Number of segments in an EK file opened via handle (see eknseg_c).

Postconditions:

  • Returns an integer count n with 0 <= n <= 2_147_483_647.
  • Backends should validate this postcondition and throw if violated.
Parameters ​
handle ​

SpiceHandle

Returns ​

number

ekntab() ​

ekntab(): number

Defined in: backend-contract/src/domains/ek.ts:79

Number of EK tables currently loaded (see ekntab_c).

Postconditions:

  • Returns an integer count n with 0 <= n <= 2_147_483_647.
  • Backends should validate this postcondition and throw if violated.
Returns ​

number

ekopn() ​

ekopn(path, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:60

Create and open a new EK file for write (see ekopn_c).

ncomch is the number of comment characters to allocate for the EK.

Parameters ​
path ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

ekopr() ​

ekopr(path): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:50

Open an existing EK file for read (see ekopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

ekopw() ​

ekopw(path): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:53

Open an existing EK file for write (see ekopw_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

ektnam() ​

ektnam(n): string

Defined in: backend-contract/src/domains/ek.ts:86

Retrieve the EK table name by 0-based index (see ektnam_c).

n must be in the range 0..ekntab()-1.

Parameters ​
n ​

number

Returns ​

string


EphemerisApi ​

Defined in: backend-contract/src/domains/ephemeris.ts:40

Backend contract for SPK/ephemeris computations (positions, states, segment inspection).

Extended by ​

Methods ​

spkcls() ​

spkcls(handle): void

Defined in: backend-contract/src/domains/ephemeris.ts:203

Close an SPK file previously opened by spkopn/spkopa (see spkcls_c).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

spkcov() ​

spkcov(spk, idcode, cover): void

Defined in: backend-contract/src/domains/ephemeris.ts:125

Compute the coverage window for an object in an SPK via spkcov.

Path semantics (backend-dependent):

  • Node backend: spk is a host filesystem path.
  • WASM backend: spk is an Emscripten FS (virtual) path/id (typically the path you used in furnsh({ path, bytes })).

Output window requirements: cover must be a valid, initialized window handle created by the backend (e.g. newWindow(maxIntervals)) and must have sufficient capacity for the merged output.

Error safety note: Like CSPICE spkcov_c, if this routine throws while updating cover (including due to insufficient capacity), the contents of cover may be left in a corrupted/undefined state. If an error is thrown, do not keep using cover; free it and create a fresh window.

Window semantics: cover is updated in place. Like CSPICE spkcov_c, coverage is merged with any intervals already present in cover. Clear the window first (e.g. scard(0, cover)) if you want to avoid accumulation.

Parameters ​
spk ​

string

idcode ​

number

cover ​

SpiceWindow

Returns ​

void

spkez() ​

spkez(target, et, ref, abcorr, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:67

Compute state (6-vector) and light time via spkez (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

abcorr ​

string

observer ​

number

Returns ​

SpkezrResult

spkezp() ​

spkezp(target, et, ref, abcorr, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:76

Compute position (3-vector) and light time via spkezp (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

abcorr ​

string

observer ​

number

Returns ​

SpkposResult

spkezr() ​

spkezr(target, et, ref, abcorr, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:47

Compute state relative to observer using loaded kernels (see spkezr_c).

Note: abcorr is a known set of SPICE aberration correction strings, but we allow arbitrary strings for forward-compatibility.

Parameters ​
target ​

string

et ​

number

ref ​

string

abcorr ​

string

observer ​

string

Returns ​

SpkezrResult

spkgeo() ​

spkgeo(target, et, ref, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:85

Compute geometric state (6-vector) and light time via spkgeo (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

observer ​

number

Returns ​

SpkezrResult

spkgps() ​

spkgps(target, et, ref, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:93

Compute geometric position (3-vector) and light time via spkgps (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

observer ​

number

Returns ​

SpkposResult

spkobj() ​

spkobj(spk, ids): void

Defined in: backend-contract/src/domains/ephemeris.ts:150

Find the set of objects present in an SPK via spkobj.

Path semantics (backend-dependent):

  • Node backend: spk is a host filesystem path.
  • WASM backend: spk is an Emscripten FS (virtual) path/id (typically the path you used in furnsh({ path, bytes })).

Output cell requirements: ids must be a valid, initialized set cell handle created by the backend (e.g. newIntCell(size)) and must have sufficient capacity for the unioned output.

Error safety note: Like CSPICE spkobj_c, if this routine throws while updating ids (including due to insufficient capacity), the contents of ids may be left in a corrupted/undefined state. If an error is thrown, do not keep using ids; free it and create a fresh cell.

Cell semantics: ids is updated in place. Like CSPICE spkobj_c, the output is the union of the IDs already present in ids and the IDs found in spk. Clear the cell first (e.g. scard(0, ids)) if you want to avoid accumulation.

Parameters ​
spk ​

string

ids ​

SpiceIntCell

Returns ​

void

spkopa() ​

spkopa(file): SpiceHandle

Defined in: backend-contract/src/domains/ephemeris.ts:200

Open an existing SPK for append (see spkopa_c). Same file semantics as spkopn.

Parameters ​
file ​

string | VirtualOutput

Returns ​

SpiceHandle

spkopn() ​

spkopn(file, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/ephemeris.ts:197

Open a new SPK file for write (see spkopn_c).

file interpretation is backend-dependent:

  • Node: OS filesystem path

  • WASM: virtual id under the backend's virtual filesystem (currently normalized into /kernels/...).

    In other words, for the WASM backend, file: string is not a raw Emscripten absolute path. It is treated like other "kernel-ish" paths and is normalized into /kernels.

    Examples (WASM backend):

    • spkopn("out.bsp", ...) writes to /kernels/out.bsp
    • spkopn("/kernels/out.bsp", ...) refers to the same file
    • spkopn("/tmp/out.bsp", ...) throws (OS paths/URLs are rejected)

When file is a VirtualOutput, backends should allow reading bytes back via readVirtualOutput() after closing the file handle.

Callers should retain the VirtualOutput they passed to spkopn/spkopa. It is the identifier used to read bytes back later.

Parameters ​
file ​

string | VirtualOutput

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

spkpds() ​

spkpds(body, center, frame, type, first, last): SpkPackedDescriptor

Defined in: backend-contract/src/domains/ephemeris.ts:160

Pack an SPK segment descriptor via spkpds.

Parameters ​
body ​

number

center ​

number

frame ​

string

type ​

number

first ​

number

last ​

number

Returns ​

SpkPackedDescriptor

spkpos() ​

spkpos(target, et, ref, abcorr, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:58

Compute position relative to observer using loaded kernels (see spkpos_c).

Parameters ​
target ​

string

et ​

number

ref ​

string

abcorr ​

string

observer ​

string

Returns ​

SpkposResult

spksfs() ​

spksfs(body, et): Found<{ descr: SpkPackedDescriptor; handle: number; ident: string; }>

Defined in: backend-contract/src/domains/ephemeris.ts:157

Search loaded SPK files for the highest-priority segment applicable to body and et.

Note: handle is the native SPICE DAF handle for the file containing the segment.

Parameters ​
body ​

number

et ​

number

Returns ​

Found<{ descr: SpkPackedDescriptor; handle: number; ident: string; }>

spkssb() ​

spkssb(target, et, ref): SpiceStateVector

Defined in: backend-contract/src/domains/ephemeris.ts:101

Compute state (6-vector) of target relative to the solar system barycenter via spkssb.

Parameters ​
target ​

number

et ​

number

ref ​

string

Returns ​

SpiceStateVector

spkuds() ​

spkuds(descr): SpkUnpackedDescriptor

Defined in: backend-contract/src/domains/ephemeris.ts:170

Unpack a packed SPK segment descriptor via spkuds.

Parameters ​
descr ​

SpkPackedDescriptor

Returns ​

SpkUnpackedDescriptor

spkw08() ​

spkw08(handle, body, center, frame, first, last, segid, degree, states, epoch1, step): void

Defined in: backend-contract/src/domains/ephemeris.ts:211

Write a type 8 SPK segment (see spkw08_c).

states is a flat array with layout [x,y,z, dx,dy,dz] for each record. The number of records n is derived as states.length / 6.

Parameters ​
handle ​

SpiceHandle

body ​

number

center ​

number

frame ​

string

first ​

number

last ​

number

segid ​

string

degree ​

number

states ​

readonly number[] | Float64Array<ArrayBufferLike>

epoch1 ​

number

step ​

number

Returns ​

void


ErrorApi ​

Defined in: backend-contract/src/domains/error.ts:19

Backend contract for SPICE error/status utilities (failed/reset/getmsg/...).

Runtime selector validation helpers (e.g. assertGetmsgWhich) live in @rybosome/tspice-core.

Extended by ​

Methods ​

chkin() ​

chkin(name): void

Defined in: backend-contract/src/domains/error.ts:36

Add name to the CSPICE traceback stack.

Parameters ​
name ​

string

Returns ​

void

chkout() ​

chkout(name): void

Defined in: backend-contract/src/domains/error.ts:39

Remove name from the CSPICE traceback stack.

Parameters ​
name ​

string

Returns ​

void

failed() ​

failed(): boolean

Defined in: backend-contract/src/domains/error.ts:21

Return true if the CSPICE error status is currently set.

Returns ​

boolean

getmsg() ​

getmsg(which): string

Defined in: backend-contract/src/domains/error.ts:27

Get a CSPICE error message component.

Parameters ​
which ​

"SHORT" | "LONG" | "EXPLAIN"

Returns ​

string

reset() ​

reset(): void

Defined in: backend-contract/src/domains/error.ts:24

Reset/clear the CSPICE error status and messages.

Returns ​

void

setmsg() ​

setmsg(message): void

Defined in: backend-contract/src/domains/error.ts:30

Set the long error message text used by sigerr().

Parameters ​
message ​

string

Returns ​

void

sigerr() ​

sigerr(short): void

Defined in: backend-contract/src/domains/error.ts:33

Signal a CSPICE error with the provided short error code (e.g. "SPICE(BADTIME)").

Parameters ​
short ​

string

Returns ​

void


FileIoApi ​

Defined in: backend-contract/src/domains/file-io.ts:57

Backend contract for SPICE file I/O primitives (DAF/DAS/DLA).

Extended by ​

Methods ​

dafbfs() ​

dafbfs(handle): void

Defined in: backend-contract/src/domains/file-io.ts:73

Begin a forward search for arrays in the given DAF file (see dafbfs_c).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

dafcls() ​

dafcls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:70

Close a DAF file previously opened by dafopr().

Parameters ​
handle ​

SpiceHandle

Returns ​

void

daffna() ​

daffna(handle): boolean

Defined in: backend-contract/src/domains/file-io.ts:81

Find the next DAF array (see daffna_c).

Backend implementations should select the current DAF via dafcs_c(handle) before calling daffna_c to support interleaving multiple DAF searches.

Parameters ​
handle ​

SpiceHandle

Returns ​

boolean

dafopr() ​

dafopr(path): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:67

Open a DAF file for read (see dafopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

dascls() ​

dascls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:96

Close a DAS-backed file handle.

In CSPICE, dascls_c closes both DAS and DLA handles, and dlacls_c is an alias. We mirror that behavior: dascls and dlacls are interchangeable and accept handles returned from either dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

dasopr() ​

dasopr(path): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:86

Open a DAS file for read (see dasopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

dlabfs() ​

dlabfs(handle): FoundDlaDescriptor

Defined in: backend-contract/src/domains/file-io.ts:109

Begin a forward search for DLA segments (see dlabfs_c).

DLA is DAS-backed: handle must be a DAS handle to a DLA file, opened via dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

Returns ​

FoundDlaDescriptor

dlacls() ​

dlacls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:125

Close a DAS-backed DLA handle.

Provided for parity with CSPICE dlacls_c, but implemented as an alias of dascls (same handle compatibility).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

dlafns() ​

dlafns(handle, descr): FoundDlaDescriptor

Defined in: backend-contract/src/domains/file-io.ts:117

Find the next DLA segment after descr (see dlafns_c).

DLA is DAS-backed: handle must be a DAS handle to a DLA file, opened via dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

descr ​

DlaDescriptor

Returns ​

FoundDlaDescriptor

dlaopn() ​

dlaopn(path, ftype, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:101

Create and open a DLA file for write (see dlaopn_c).

Parameters ​
path ​

string

ftype ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

dskmi2() ​

dskmi2(nv, vrtces, np, plates, finscl, corscl, worksz, voxpsz, voxlsz, makvtl, spxisz): object

Defined in: backend-contract/src/domains/file-io.ts:133

Build the spatial index for a type 2 DSK segment (see dskmi2_c).

Parameters ​
nv ​

number

vrtces ​

readonly number[]

np ​

number

plates ​

readonly number[]

finscl ​

number

corscl ​

number

worksz ​

number

voxpsz ​

number

voxlsz ​

number

makvtl ​

boolean

spxisz ​

number

Returns ​

object

spaixd ​

spaixd: number[]

spaixi ​

spaixi: number[]

dskopn() ​

dskopn(path, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:130

Create and open a DSK file for write (see dskopn_c).

Parameters ​
path ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

dskw02() ​

dskw02(handle, center, surfid, dclass, frame, corsys, corpar, mncor1, mxcor1, mncor2, mxcor2, mncor3, mxcor3, first, last, nv, vrtces, np, plates, spaixd, spaixi): void

Defined in: backend-contract/src/domains/file-io.ts:148

Write a type 2 segment to a DSK file opened by dskopn (see dskw02_c).

Parameters ​
handle ​

SpiceHandle

center ​

number

surfid ​

number

dclass ​

number

frame ​

string

corsys ​

number

corpar ​

readonly number[]

mncor1 ​

number

mxcor1 ​

number

mncor2 ​

number

mxcor2 ​

number

mncor3 ​

number

mxcor3 ​

number

first ​

number

last ​

number

nv ​

number

vrtces ​

readonly number[]

np ​

number

plates ​

readonly number[]

spaixd ​

readonly number[]

spaixi ​

readonly number[]

Returns ​

void

exists() ​

exists(path): boolean

Defined in: backend-contract/src/domains/file-io.ts:59

Returns whether a file exists at path.

Parameters ​
path ​

string

Returns ​

boolean

getfat() ​

getfat(path): object

Defined in: backend-contract/src/domains/file-io.ts:62

Determine SPICE file architecture + type (see getfat_c).

Parameters ​
path ​

string

Returns ​

object

arch ​

arch: string

type ​

type: string


FileIoKitApi ​

Defined in: backend-contract/src/domains/file-io.ts:43

Backend-only file I/O helpers exposed to higher-level kit code.

Extended by ​

Methods ​

readVirtualOutput() ​

readVirtualOutput(output): Uint8Array

Defined in: backend-contract/src/domains/file-io.ts:53

Read back bytes for a previously-created virtual output file.

Notes:

  • Virtual outputs are only guaranteed to be readable after their associated writer handle has been closed (e.g. spkcls(handle) for SPK outputs).
  • Backends may reject reads for outputs they did not create via a writer API. This is intentionally not a general filesystem read.
Parameters ​
output ​

VirtualOutput

Returns ​

Uint8Array


FramesApi ​

Defined in: backend-contract/src/domains/frames.ts:18

Backend contract for frame/name lookups, CK access, and frame transformations.

Extended by ​

Methods ​

ccifrm() ​

ccifrm(frameClass, classId): Found<{ center: number; frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:33

SPICE ccifrm_c: map frame class + class ID to a frame code/name/center triple.

Parameters ​
frameClass ​

number

classId ​

number

Returns ​

Found<{ center: number; frcode: number; frname: string; }>

cidfrm() ​

cidfrm(center): Found<{ frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:25

SPICE cidfrm_c: look up frame information for a center body ID.

Parameters ​
center ​

number

Returns ​

Found<{ frcode: number; frname: string; }>

ckcov() ​

ckcov(ck, idcode, needav, level, tol, timsys, cover): void

Defined in: backend-contract/src/domains/frames.ts:67

Return coverage for an instrument/object in a CK file (ckcov_c).

Parameters ​
ck ​

string

idcode ​

number

needav ​

boolean

level ​

CkCoverageLevel

tol ​

number

timsys ​

CkCoverageTimeSystem

cover ​

SpiceWindow

Returns ​

void

ckgp() ​

ckgp(inst, sclkdp, tol, ref): Found<{ clkout: number; cmat: Mat3RowMajor; }>

Defined in: backend-contract/src/domains/frames.ts:36

Get pointing (attitude) for a CK instrument at a given encoded spacecraft clock time.

Parameters ​
inst ​

number

sclkdp ​

number

tol ​

number

ref ​

string

Returns ​

Found<{ clkout: number; cmat: Mat3RowMajor; }>

ckgpav() ​

ckgpav(inst, sclkdp, tol, ref): Found<{ av: SpiceVector3; clkout: number; cmat: Mat3RowMajor; }>

Defined in: backend-contract/src/domains/frames.ts:44

Get pointing + angular velocity for a CK instrument at a given encoded spacecraft clock time.

Parameters ​
inst ​

number

sclkdp ​

number

tol ​

number

ref ​

string

Returns ​

Found<{ av: SpiceVector3; clkout: number; cmat: Mat3RowMajor; }>

cklpf() ​

cklpf(ck): number

Defined in: backend-contract/src/domains/frames.ts:58

Load a CK file for access by pointing routines (cklpf_c).

Returns a CK file handle suitable for FramesApi.ckupf.

Parameters ​
ck ​

string

Returns ​

number

ckobj() ​

ckobj(ck, ids): void

Defined in: backend-contract/src/domains/frames.ts:64

Return the set of instrument/object IDs for which the specified CK has segments (ckobj_c).

Parameters ​
ck ​

string

ids ​

SpiceIntCell

Returns ​

void

ckupf() ​

ckupf(handle): void

Defined in: backend-contract/src/domains/frames.ts:61

Unload a CK file previously loaded by FramesApi.cklpf (ckupf_c).

Parameters ​
handle ​

number

Returns ​

void

cnmfrm() ​

cnmfrm(centerName): Found<{ frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:27

SPICE cnmfrm_c: look up frame information for a center body name.

Parameters ​
centerName ​

string

Returns ​

Found<{ frcode: number; frname: string; }>

frinfo() ​

frinfo(frameId): Found<{ center: number; classId: number; frameClass: number; }>

Defined in: backend-contract/src/domains/frames.ts:30

SPICE frinfo_c: get center + frame class info for a frame ID.

Parameters ​
frameId ​

number

Returns ​

Found<{ center: number; classId: number; frameClass: number; }>

frmnam() ​

frmnam(code): Found<{ name: string; }>

Defined in: backend-contract/src/domains/frames.ts:22

SPICE frmnam_c: look up a frame name by frame code.

Parameters ​
code ​

number

Returns ​

Found<{ name: string; }>

namfrm() ​

namfrm(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/frames.ts:20

SPICE namfrm_c: look up a frame code by frame name.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

pxform() ​

pxform(from, to, et): Mat3RowMajor

Defined in: backend-contract/src/domains/frames.ts:78

Compute a 3x3 frame transformation matrix (row-major).

Parameters ​
from ​

string

to ​

string

et ​

number

Returns ​

Mat3RowMajor

sxform() ​

sxform(from, to, et): SpiceMatrix6x6

Defined in: backend-contract/src/domains/frames.ts:81

Compute a 6x6 state transformation matrix (row-major).

Parameters ​
from ​

string

to ​

string

et ​

number

Returns ​

SpiceMatrix6x6


GeometryApi ​

Defined in: backend-contract/src/domains/geometry.ts:20

Backend contract for common SPICE geometry computations (subpoints, intercepts, illumination, etc).

Extended by ​

Methods ​

illumf() ​

illumf(method, target, ilusrc, et, fixref, abcorr, observer, spoint): IllumfResult

Defined in: backend-contract/src/domains/geometry.ts:82

Compute illumination angles + visibility/lighting flags at a surface point.

Parameters ​
method ​

string

target ​

string

ilusrc ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IllumfResult

illumg() ​

illumg(method, target, ilusrc, et, fixref, abcorr, observer, spoint): IluminResult

Defined in: backend-contract/src/domains/geometry.ts:68

Compute illumination angles at a surface point, with a caller-specified illumination source body.

Parameters ​
method ​

string

target ​

string

ilusrc ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IluminResult

ilumin() ​

ilumin(method, target, et, fixref, abcorr, observer, spoint): IluminResult

Defined in: backend-contract/src/domains/geometry.ts:54

Compute illumination angles at a surface point.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IluminResult

nvc2pl() ​

nvc2pl(normal, konst): SpicePlane

Defined in: backend-contract/src/domains/geometry.ts:107

Convert a normal vector + constant to a plane.

Parameters ​
normal ​

SpiceVector3

konst ​

number

Returns ​

SpicePlane

occult() ​

occult(targ1, shape1, frame1, targ2, shape2, frame2, abcorr, observer, et): number

Defined in: backend-contract/src/domains/geometry.ts:94

Determine the occultation condition code for one target vs another.

Parameters ​
targ1 ​

string

shape1 ​

string

frame1 ​

string

targ2 ​

string

shape2 ​

string

frame2 ​

string

abcorr ​

string

observer ​

string

et ​

number

Returns ​

number

pl2nvc() ​

pl2nvc(plane): Pl2nvcResult

Defined in: backend-contract/src/domains/geometry.ts:110

Convert a plane to a unit normal vector + constant.

Parameters ​
plane ​

SpicePlane

Returns ​

Pl2nvcResult

sincpt() ​

sincpt(method, target, et, fixref, abcorr, observer, dref, dvec): Found<SubPointResult>

Defined in: backend-contract/src/domains/geometry.ts:42

Compute the surface intercept point of a ray.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

dref ​

string

dvec ​

SpiceVector3

Returns ​

Found<SubPointResult>

subpnt() ​

subpnt(method, target, et, fixref, abcorr, observer): SubPointResult

Defined in: backend-contract/src/domains/geometry.ts:22

Compute the sub-observer point on a target body's surface.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

Returns ​

SubPointResult

subslr() ​

subslr(method, target, et, fixref, abcorr, observer): SubPointResult

Defined in: backend-contract/src/domains/geometry.ts:32

Compute the sub-solar point on a target body's surface.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

Returns ​

SubPointResult


GeometryGfApi ​

Defined in: backend-contract/src/domains/geometry-gf.ts:21

Backend contract for Geometry Finder (GF) event-finding routines.

Extended by ​

Methods ​

gfdist() ​

gfdist(target, abcorr, obsrvr, relate, refval, adjust, step, nintvls, cnfine, result): void

Defined in: backend-contract/src/domains/geometry-gf.ts:68

Observer-target distance search (gfdist_c).

refval and adjust are in km.

Parameters ​
target ​

string

abcorr ​

string

obsrvr ​

string

relate ​

string

refval ​

number

adjust ​

number

step ​

number

nintvls ​

number

cnfine ​

SpiceWindow

result ​

SpiceWindow

Returns ​

void

gfrefn() ​

gfrefn(t1, t2, s1, s2): number

Defined in: backend-contract/src/domains/geometry-gf.ts:32

Default refinement estimator used by the GF subsystem (gfrefn_c).

Parameters ​
t1 ​

number

t2 ​

number

s1 ​

boolean

s2 ​

boolean

Returns ​

number

gfrepf() ​

gfrepf(): void

Defined in: backend-contract/src/domains/geometry-gf.ts:38

Finalize the default console progress reporter (gfrepf_c).

Returns ​

void

gfrepi() ​

gfrepi(window, begmss, endmss): void

Defined in: backend-contract/src/domains/geometry-gf.ts:35

Initialize the default console progress reporter (gfrepi_c).

Parameters ​
window ​

SpiceWindow

begmss ​

string

endmss ​

string

Returns ​

void

gfsep() ​

gfsep(targ1, shape1, frame1, targ2, shape2, frame2, abcorr, obsrvr, relate, refval, adjust, step, nintvls, cnfine, result): void

Defined in: backend-contract/src/domains/geometry-gf.ts:45

Angular separation search (gfsep_c).

refval and adjust are in radians.

Parameters ​
targ1 ​

string

shape1 ​

string

frame1 ​

string

targ2 ​

string

shape2 ​

string

frame2 ​

string

abcorr ​

string

obsrvr ​

string

relate ​

string

refval ​

number

adjust ​

number

step ​

number

nintvls ​

number

cnfine ​

SpiceWindow

result ​

SpiceWindow

Returns ​

void

gfsstp() ​

gfsstp(step): void

Defined in: backend-contract/src/domains/geometry-gf.ts:23

Set the constant step size used by GeometryGfApi.gfstep (gfsstp_c).

Parameters ​
step ​

number

Returns ​

void

gfstep() ​

gfstep(time): number

Defined in: backend-contract/src/domains/geometry-gf.ts:26

Return the constant step size set by GeometryGfApi.gfsstp (gfstep_c).

Parameters ​
time ​

number

Returns ​

number

gfstol() ​

gfstol(value): void

Defined in: backend-contract/src/domains/geometry-gf.ts:29

Override the GF convergence tolerance (gfstol_c).

Parameters ​
value ​

number

Returns ​

void


IdsNamesApi ​

Defined in: backend-contract/src/domains/ids-names.ts:10

Backend contract for NAIF ID/name and body-constant lookups.

Extended by ​

Methods ​

bodc2n() ​

bodc2n(code): Found<{ name: string; }>

Defined in: backend-contract/src/domains/ids-names.ts:14

SPICE bodc2n_c: look up a body name by NAIF ID code.

Parameters ​
code ​

number

Returns ​

Found<{ name: string; }>

bodc2s() ​

bodc2s(code): string

Defined in: backend-contract/src/domains/ids-names.ts:17

Map a NAIF body ID code to a name (or decimal string if unknown).

Parameters ​
code ​

number

Returns ​

string

boddef() ​

boddef(name, code): void

Defined in: backend-contract/src/domains/ids-names.ts:23

Define a body name/code mapping (side effect).

Parameters ​
name ​

string

code ​

number

Returns ​

void

bodfnd() ​

bodfnd(body, item): boolean

Defined in: backend-contract/src/domains/ids-names.ts:33

Return true if a body constant exists in the kernel pool.

Normalization:

  • item is normalized as normalizeBodItem(item) from @rybosome/tspice-core (trim ASCII whitespace + ASCII-only uppercase) before lookup.
Parameters ​
body ​

number

item ​

string

Returns ​

boolean

bodn2c() ​

bodn2c(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/ids-names.ts:12

SPICE bodn2c_c: look up a NAIF body ID code by name.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

bods2c() ​

bods2c(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/ids-names.ts:20

Map a body name or numeric string to a NAIF body ID code.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

bodvar() ​

bodvar(body, item): number[]

Defined in: backend-contract/src/domains/ids-names.ts:47

Return values of a body constant from the kernel pool.

Normalization:

  • item is normalized as normalizeBodItem(item) from @rybosome/tspice-core (trim ASCII whitespace + ASCII-only uppercase) before lookup.

Missing-item semantics:

  • If item is not found for body (or is non-numeric), returns [].
  • Call bodfnd(body, item) if you need a strict presence check.
Parameters ​
body ​

number

item ​

string

Returns ​

number[]


KernelPoolApi ​

Defined in: backend-contract/src/domains/kernel-pool.ts:22

Backend contract for reading/writing kernel pool variables.

Extended by ​

Methods ​

cvpool() ​

cvpool(agent): boolean

Defined in: backend-contract/src/domains/kernel-pool.ts:128

Check whether watched variables for agent have been updated since the last call.

Validation semantics:

  • agent must not be empty or whitespace-only.
Parameters ​
agent ​

string

Returns ​

boolean

dtpool() ​

dtpool(name): Found<{ n: number; type: KernelPoolVarType; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:75

Get kernel pool variable type (C or N) and size.

Validation semantics:

  • name must not be empty or whitespace-only.
Parameters ​
name ​

string

Returns ​

Found<{ n: number; type: KernelPoolVarType; }>

expool() ​

expool(name): boolean

Defined in: backend-contract/src/domains/kernel-pool.ts:139

Check existence of a numeric kernel pool variable.

NOTE: This does not detect character-valued variables; use dtpool if you need a general existence/type check.

Validation semantics:

  • name must not be empty or whitespace-only.
Parameters ​
name ​

string

Returns ​

boolean

gcpool() ​

gcpool(name, start, room): Found<{ values: string[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:53

Get character kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: string[]; }>

gdpool() ​

gdpool(name, start, room): Found<{ values: number[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:33

Get numeric (double) kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: number[]; }>

gipool() ​

gipool(name, start, room): Found<{ values: number[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:43

Get numeric (integer) kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: number[]; }>

gnpool() ​

gnpool(template, start, room): Found<{ values: string[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:67

Get the names of kernel pool variables matching a template.

Wildcards:

  • * matches any substring
  • % matches any single character

Validation semantics:

  • template must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
template ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: string[]; }>

pcpool() ​

pcpool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:107

Put character values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
Parameters ​
name ​

string

values ​

readonly string[]

Returns ​

void

pdpool() ​

pdpool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:87

Put numeric (double) values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
  • Each value must be finite (no NaN / ±Infinity).
Parameters ​
name ​

string

values ​

readonly number[]

Returns ​

void

pipool() ​

pipool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:98

Put numeric (integer) values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
  • Each value must be a safe integer in the signed 32-bit range [-2147483648, 2147483647].
Parameters ​
name ​

string

values ​

readonly number[]

Returns ​

void

swpool() ​

swpool(agent, names): void

Defined in: backend-contract/src/domains/kernel-pool.ts:120

Set up a kernel pool "watch" for agent.

After calling swpool, the next cvpool(agent) call will return true.

Validation semantics:

  • agent must not be empty or whitespace-only.
  • names may be empty (watch nothing).
Parameters ​
agent ​

string

names ​

readonly string[]

Returns ​

void


KernelsApi ​

Defined in: backend-contract/src/domains/kernels.ts:27

Backend contract for kernel management and kernel metadata queries.

Extended by ​

Methods ​

furnsh() ​

furnsh(kernel): void

Defined in: backend-contract/src/domains/kernels.ts:35

Load a SPICE kernel.

  • If a string is provided, it is treated as a filesystem path.
  • If bytes are provided, the backend may write them to a virtual filesystem at path before calling into SPICE.
Parameters ​
kernel ​

KernelSource

Returns ​

void

kclear() ​

kclear(): void

Defined in: backend-contract/src/domains/kernels.ts:43

Clear all loaded kernels.

Returns ​

void

kdata() ​

kdata(which, kind?): Found<KernelData>

Defined in: backend-contract/src/domains/kernels.ts:67

Retrieve kernel metadata at position which for a given kind.

Parameters ​
which ​

number

kind? ​

KernelKindInput

Returns ​

Found<KernelData>

kinfo() ​

kinfo(path): Found<KernelInfo>

Defined in: backend-contract/src/domains/kernels.ts:46

Retrieve information about a currently loaded kernel by filename.

Parameters ​
path ​

string

Returns ​

Found<KernelInfo>

kplfrm() ​

kplfrm(frmcls, idset): void

Defined in: backend-contract/src/domains/kernels.ts:61

Return kernel-pool frame IDs for the given frame class.

Parameters ​
frmcls ​

number

idset ​

SpiceIntCell

Returns ​

void

ktotal() ​

ktotal(kind?): number

Defined in: backend-contract/src/domains/kernels.ts:64

Count loaded kernels of a given kind.

Parameters ​
kind? ​

KernelKindInput

Returns ​

number

kxtrct() ​

kxtrct(keywd, terms, wordsq): Found<{ substr: string; wordsq: string; }>

Defined in: backend-contract/src/domains/kernels.ts:54

Extract a substring from a word sequence.

This is a string-parsing utility (used by some NAIF kernels and tooling). It does not extract kernel bytes.

Parameters ​
keywd ​

string

terms ​

readonly string[]

wordsq ​

string

Returns ​

Found<{ substr: string; wordsq: string; }>

unload() ​

unload(path): void

Defined in: backend-contract/src/domains/kernels.ts:40

Unload a SPICE kernel previously loaded via furnsh().

Parameters ​
path ​

string

Returns ​

void


SpiceBackend ​

Defined in: backend-contract/src/index.ts:103

Unified backend contract

Properties ​

kind ​

readonly kind: SpiceBackendKind

Defined in: backend-contract/src/index.ts:111

Which backend implementation is in use.

kit ​

kit: SpiceKitBackend

Defined in: backend-contract/src/index.ts:108

Higher-level, tspice-defined functions.

raw ​

raw: SpiceRawBackend

Defined in: backend-contract/src/index.ts:105

Low-level, CSPICE-analogous functions.


SpiceKitBackend ​

Defined in: backend-contract/src/index.ts:97

Composition of all kit domain APIs.

Extends ​

Methods ​

cellGetc() ​

cellGetc(cell, index): string

Defined in: backend-contract/src/domains/cells-windows.ts:79

Fetch the indexth element of a character cell.

Backends may right-trim whitespace to match common CSPICE string handling.

Parameters ​
cell ​

SpiceCharCell

index ​

number

Returns ​

string

Inherited from ​

CellsWindowsKitApi.cellGetc

cellGetd() ​

cellGetd(cell, index): number

Defined in: backend-contract/src/domains/cells-windows.ts:72

Fetch the indexth element of a double cell.

Parameters ​
cell ​

SpiceDoubleCell

index ​

number

Returns ​

number

Inherited from ​

CellsWindowsKitApi.cellGetd

cellGeti() ​

cellGeti(cell, index): number

Defined in: backend-contract/src/domains/cells-windows.ts:69

Fetch the indexth element of an integer cell.

Parameters ​
cell ​

SpiceIntCell

index ​

number

Returns ​

number

Inherited from ​

CellsWindowsKitApi.cellGeti

freeCell() ​

freeCell(cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:53

Free a previously-created cell handle.

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell

Returns ​

void

Inherited from ​

CellsWindowsKitApi.freeCell

freeWindow() ​

freeWindow(window): void

Defined in: backend-contract/src/domains/cells-windows.ts:56

Free a previously-created window handle.

Parameters ​
window ​

SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsKitApi.freeWindow

newCharCell() ​

newCharCell(size, length): SpiceCharCell

Defined in: backend-contract/src/domains/cells-windows.ts:47

Create an empty character set cell.

length is the maximum string length (including trailing NUL). CSPICE generally expects length >= 2 and recommends length >= 5.

Parameters ​
size ​

number

length ​

number

Returns ​

SpiceCharCell

Inherited from ​

CellsWindowsKitApi.newCharCell

newDoubleCell() ​

newDoubleCell(size): SpiceDoubleCell

Defined in: backend-contract/src/domains/cells-windows.ts:39

Create an empty double-precision set cell with the given capacity.

Parameters ​
size ​

number

Returns ​

SpiceDoubleCell

Inherited from ​

CellsWindowsKitApi.newDoubleCell

newIntCell() ​

newIntCell(size): SpiceIntCell

Defined in: backend-contract/src/domains/cells-windows.ts:36

Create an empty integer set cell with the given capacity.

Parameters ​
size ​

number

Returns ​

SpiceIntCell

Inherited from ​

CellsWindowsKitApi.newIntCell

newWindow() ​

newWindow(maxIntervals): SpiceWindow

Defined in: backend-contract/src/domains/cells-windows.ts:50

Create an empty DP window with capacity for maxIntervals intervals.

Parameters ​
maxIntervals ​

number

Returns ​

SpiceWindow

Inherited from ​

CellsWindowsKitApi.newWindow

readVirtualOutput() ​

readVirtualOutput(output): Uint8Array

Defined in: backend-contract/src/domains/file-io.ts:53

Read back bytes for a previously-created virtual output file.

Notes:

  • Virtual outputs are only guaranteed to be readable after their associated writer handle has been closed (e.g. spkcls(handle) for SPK outputs).
  • Backends may reject reads for outputs they did not create via a writer API. This is intentionally not a general filesystem read.
Parameters ​
output ​

VirtualOutput

Returns ​

Uint8Array

Inherited from ​

FileIoKitApi.readVirtualOutput

spiceVersion() ​

spiceVersion(): string

Defined in: backend-contract/src/domains/time.ts:9

Return the underlying SPICE toolkit version string.

Returns ​

string

Inherited from ​

TimeKitApi.spiceVersion


SpiceRawBackend ​

Defined in: backend-contract/src/index.ts:80

Composition of all raw domain APIs.

Extends ​

Methods ​

axisar() ​

axisar(axis, angle): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:67

Convert an axis and angle to a rotation matrix.

Parameters ​
axis ​

SpiceVector3

angle ​

number

Returns ​

Mat3RowMajor

Inherited from ​

CoordsVectorsApi.axisar

bodc2n() ​

bodc2n(code): Found<{ name: string; }>

Defined in: backend-contract/src/domains/ids-names.ts:14

SPICE bodc2n_c: look up a body name by NAIF ID code.

Parameters ​
code ​

number

Returns ​

Found<{ name: string; }>

Inherited from ​

IdsNamesApi.bodc2n

bodc2s() ​

bodc2s(code): string

Defined in: backend-contract/src/domains/ids-names.ts:17

Map a NAIF body ID code to a name (or decimal string if unknown).

Parameters ​
code ​

number

Returns ​

string

Inherited from ​

IdsNamesApi.bodc2s

boddef() ​

boddef(name, code): void

Defined in: backend-contract/src/domains/ids-names.ts:23

Define a body name/code mapping (side effect).

Parameters ​
name ​

string

code ​

number

Returns ​

void

Inherited from ​

IdsNamesApi.boddef

bodfnd() ​

bodfnd(body, item): boolean

Defined in: backend-contract/src/domains/ids-names.ts:33

Return true if a body constant exists in the kernel pool.

Normalization:

  • item is normalized as normalizeBodItem(item) from @rybosome/tspice-core (trim ASCII whitespace + ASCII-only uppercase) before lookup.
Parameters ​
body ​

number

item ​

string

Returns ​

boolean

Inherited from ​

IdsNamesApi.bodfnd

bodn2c() ​

bodn2c(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/ids-names.ts:12

SPICE bodn2c_c: look up a NAIF body ID code by name.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

Inherited from ​

IdsNamesApi.bodn2c

bods2c() ​

bods2c(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/ids-names.ts:20

Map a body name or numeric string to a NAIF body ID code.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

Inherited from ​

IdsNamesApi.bods2c

bodvar() ​

bodvar(body, item): number[]

Defined in: backend-contract/src/domains/ids-names.ts:47

Return values of a body constant from the kernel pool.

Normalization:

  • item is normalized as normalizeBodItem(item) from @rybosome/tspice-core (trim ASCII whitespace + ASCII-only uppercase) before lookup.

Missing-item semantics:

  • If item is not found for body (or is non-numeric), returns [].
  • Call bodfnd(body, item) if you need a strict presence check.
Parameters ​
body ​

number

item ​

string

Returns ​

number[]

Inherited from ​

IdsNamesApi.bodvar

card() ​

card(cell): number

Defined in: backend-contract/src/domains/cells-windows.ts:94

Get the cardinality of a cell. (card_c)

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

number

Inherited from ​

CellsWindowsApi.card

ccifrm() ​

ccifrm(frameClass, classId): Found<{ center: number; frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:33

SPICE ccifrm_c: map frame class + class ID to a frame code/name/center triple.

Parameters ​
frameClass ​

number

classId ​

number

Returns ​

Found<{ center: number; frcode: number; frname: string; }>

Inherited from ​

FramesApi.ccifrm

chkin() ​

chkin(name): void

Defined in: backend-contract/src/domains/error.ts:36

Add name to the CSPICE traceback stack.

Parameters ​
name ​

string

Returns ​

void

Inherited from ​

ErrorApi.chkin

chkout() ​

chkout(name): void

Defined in: backend-contract/src/domains/error.ts:39

Remove name from the CSPICE traceback stack.

Parameters ​
name ​

string

Returns ​

void

Inherited from ​

ErrorApi.chkout

cidfrm() ​

cidfrm(center): Found<{ frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:25

SPICE cidfrm_c: look up frame information for a center body ID.

Parameters ​
center ​

number

Returns ​

Found<{ frcode: number; frname: string; }>

Inherited from ​

FramesApi.cidfrm

ckcov() ​

ckcov(ck, idcode, needav, level, tol, timsys, cover): void

Defined in: backend-contract/src/domains/frames.ts:67

Return coverage for an instrument/object in a CK file (ckcov_c).

Parameters ​
ck ​

string

idcode ​

number

needav ​

boolean

level ​

CkCoverageLevel

tol ​

number

timsys ​

CkCoverageTimeSystem

cover ​

SpiceWindow

Returns ​

void

Inherited from ​

FramesApi.ckcov

ckgp() ​

ckgp(inst, sclkdp, tol, ref): Found<{ clkout: number; cmat: Mat3RowMajor; }>

Defined in: backend-contract/src/domains/frames.ts:36

Get pointing (attitude) for a CK instrument at a given encoded spacecraft clock time.

Parameters ​
inst ​

number

sclkdp ​

number

tol ​

number

ref ​

string

Returns ​

Found<{ clkout: number; cmat: Mat3RowMajor; }>

Inherited from ​

FramesApi.ckgp

ckgpav() ​

ckgpav(inst, sclkdp, tol, ref): Found<{ av: SpiceVector3; clkout: number; cmat: Mat3RowMajor; }>

Defined in: backend-contract/src/domains/frames.ts:44

Get pointing + angular velocity for a CK instrument at a given encoded spacecraft clock time.

Parameters ​
inst ​

number

sclkdp ​

number

tol ​

number

ref ​

string

Returns ​

Found<{ av: SpiceVector3; clkout: number; cmat: Mat3RowMajor; }>

Inherited from ​

FramesApi.ckgpav

cklpf() ​

cklpf(ck): number

Defined in: backend-contract/src/domains/frames.ts:58

Load a CK file for access by pointing routines (cklpf_c).

Returns a CK file handle suitable for FramesApi.ckupf.

Parameters ​
ck ​

string

Returns ​

number

Inherited from ​

FramesApi.cklpf

ckobj() ​

ckobj(ck, ids): void

Defined in: backend-contract/src/domains/frames.ts:64

Return the set of instrument/object IDs for which the specified CK has segments (ckobj_c).

Parameters ​
ck ​

string

ids ​

SpiceIntCell

Returns ​

void

Inherited from ​

FramesApi.ckobj

ckupf() ​

ckupf(handle): void

Defined in: backend-contract/src/domains/frames.ts:61

Unload a CK file previously loaded by FramesApi.cklpf (ckupf_c).

Parameters ​
handle ​

number

Returns ​

void

Inherited from ​

FramesApi.ckupf

cnmfrm() ​

cnmfrm(centerName): Found<{ frcode: number; frname: string; }>

Defined in: backend-contract/src/domains/frames.ts:27

SPICE cnmfrm_c: look up frame information for a center body name.

Parameters ​
centerName ​

string

Returns ​

Found<{ frcode: number; frname: string; }>

Inherited from ​

FramesApi.cnmfrm

cvpool() ​

cvpool(agent): boolean

Defined in: backend-contract/src/domains/kernel-pool.ts:128

Check whether watched variables for agent have been updated since the last call.

Validation semantics:

  • agent must not be empty or whitespace-only.
Parameters ​
agent ​

string

Returns ​

boolean

Inherited from ​

KernelPoolApi.cvpool

dafbfs() ​

dafbfs(handle): void

Defined in: backend-contract/src/domains/file-io.ts:73

Begin a forward search for arrays in the given DAF file (see dafbfs_c).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

FileIoApi.dafbfs

dafcls() ​

dafcls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:70

Close a DAF file previously opened by dafopr().

Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

FileIoApi.dafcls

daffna() ​

daffna(handle): boolean

Defined in: backend-contract/src/domains/file-io.ts:81

Find the next DAF array (see daffna_c).

Backend implementations should select the current DAF via dafcs_c(handle) before calling daffna_c to support interleaving multiple DAF searches.

Parameters ​
handle ​

SpiceHandle

Returns ​

boolean

Inherited from ​

FileIoApi.daffna

dafopr() ​

dafopr(path): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:67

Open a DAF file for read (see dafopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

Inherited from ​

FileIoApi.dafopr

dascls() ​

dascls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:96

Close a DAS-backed file handle.

In CSPICE, dascls_c closes both DAS and DLA handles, and dlacls_c is an alias. We mirror that behavior: dascls and dlacls are interchangeable and accept handles returned from either dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

FileIoApi.dascls

dasopr() ​

dasopr(path): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:86

Open a DAS file for read (see dasopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

Inherited from ​

FileIoApi.dasopr

deltet() ​

deltet(epoch, eptype): number

Defined in: backend-contract/src/domains/time.ts:44

Return the difference ET - UTC at a given epoch.

Kernel prerequisites:

  • Requires an LSK (leapseconds) kernel to be loaded.

Wrapper around CSPICE deltet_c.

Parameters ​
epoch ​

number

eptype ​

"ET" | "UTC"

Returns ​

number

Inherited from ​

TimeApi.deltet

dlabfs() ​

dlabfs(handle): FoundDlaDescriptor

Defined in: backend-contract/src/domains/file-io.ts:109

Begin a forward search for DLA segments (see dlabfs_c).

DLA is DAS-backed: handle must be a DAS handle to a DLA file, opened via dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

Returns ​

FoundDlaDescriptor

Inherited from ​

FileIoApi.dlabfs

dlacls() ​

dlacls(handle): void

Defined in: backend-contract/src/domains/file-io.ts:125

Close a DAS-backed DLA handle.

Provided for parity with CSPICE dlacls_c, but implemented as an alias of dascls (same handle compatibility).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

FileIoApi.dlacls

dlafns() ​

dlafns(handle, descr): FoundDlaDescriptor

Defined in: backend-contract/src/domains/file-io.ts:117

Find the next DLA segment after descr (see dlafns_c).

DLA is DAS-backed: handle must be a DAS handle to a DLA file, opened via dasopr() (read) or dlaopn() (write).

Parameters ​
handle ​

SpiceHandle

descr ​

DlaDescriptor

Returns ​

FoundDlaDescriptor

Inherited from ​

FileIoApi.dlafns

dlaopn() ​

dlaopn(path, ftype, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:101

Create and open a DLA file for write (see dlaopn_c).

Parameters ​
path ​

string

ftype ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

Inherited from ​

FileIoApi.dlaopn

dskb02() ​

dskb02(handle, dladsc): DskType2Bookkeeping

Defined in: backend-contract/src/domains/dsk.ts:59

Return the type 2 DSK segment bookkeeping parameters.

Parameters ​
handle ​

SpiceHandle

dladsc ​

DlaDescriptor

Returns ​

DskType2Bookkeeping

Inherited from ​

DskApi.dskb02

dskgd() ​

dskgd(handle, dladsc): DskDescriptor

Defined in: backend-contract/src/domains/dsk.ts:56

Return the descriptor of a DSK segment.

Parameters ​
handle ​

SpiceHandle

dladsc ​

DlaDescriptor

Returns ​

DskDescriptor

Inherited from ​

DskApi.dskgd

dskmi2() ​

dskmi2(nv, vrtces, np, plates, finscl, corscl, worksz, voxpsz, voxlsz, makvtl, spxisz): object

Defined in: backend-contract/src/domains/file-io.ts:133

Build the spatial index for a type 2 DSK segment (see dskmi2_c).

Parameters ​
nv ​

number

vrtces ​

readonly number[]

np ​

number

plates ​

readonly number[]

finscl ​

number

corscl ​

number

worksz ​

number

voxpsz ​

number

voxlsz ​

number

makvtl ​

boolean

spxisz ​

number

Returns ​

object

spaixd ​

spaixd: number[]

spaixi ​

spaixi: number[]

Inherited from ​

FileIoApi.dskmi2

dskobj() ​

dskobj(dsk, bodids): void

Defined in: backend-contract/src/domains/dsk.ts:50

Return the set of body IDs for which the specified DSK has segments.

Parameters ​
dsk ​

string

bodids ​

SpiceIntCell

Returns ​

void

Inherited from ​

DskApi.dskobj

dskopn() ​

dskopn(path, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/file-io.ts:130

Create and open a DSK file for write (see dskopn_c).

Parameters ​
path ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

Inherited from ​

FileIoApi.dskopn

dsksrf() ​

dsksrf(dsk, bodyid, srfids): void

Defined in: backend-contract/src/domains/dsk.ts:53

Return the set of surface IDs for which the specified DSK has segments.

Parameters ​
dsk ​

string

bodyid ​

number

srfids ​

SpiceIntCell

Returns ​

void

Inherited from ​

DskApi.dsksrf

dskw02() ​

dskw02(handle, center, surfid, dclass, frame, corsys, corpar, mncor1, mxcor1, mncor2, mxcor2, mncor3, mxcor3, first, last, nv, vrtces, np, plates, spaixd, spaixi): void

Defined in: backend-contract/src/domains/file-io.ts:148

Write a type 2 segment to a DSK file opened by dskopn (see dskw02_c).

Parameters ​
handle ​

SpiceHandle

center ​

number

surfid ​

number

dclass ​

number

frame ​

string

corsys ​

number

corpar ​

readonly number[]

mncor1 ​

number

mxcor1 ​

number

mncor2 ​

number

mxcor2 ​

number

mncor3 ​

number

mxcor3 ​

number

first ​

number

last ​

number

nv ​

number

vrtces ​

readonly number[]

np ​

number

plates ​

readonly number[]

spaixd ​

readonly number[]

spaixi ​

readonly number[]

Returns ​

void

Inherited from ​

FileIoApi.dskw02

dtpool() ​

dtpool(name): Found<{ n: number; type: KernelPoolVarType; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:75

Get kernel pool variable type (C or N) and size.

Validation semantics:

  • name must not be empty or whitespace-only.
Parameters ​
name ​

string

Returns ​

Found<{ n: number; type: KernelPoolVarType; }>

Inherited from ​

KernelPoolApi.dtpool

ekaclc() ​

ekaclc(handle, segno, column, cvals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:219

Add a character column's data to a fast-write segment (see ekaclc_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • cvals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so cvals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

cvals ​

readonly string[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

Inherited from ​

EkApi.ekaclc

ekacld() ​

ekacld(handle, segno, column, dvals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:196

Add a double-precision column's data to a fast-write segment (see ekacld_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • dvals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so dvals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

dvals ​

readonly number[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

Inherited from ​

EkApi.ekacld

ekacli() ​

ekacli(handle, segno, column, ivals, entszs, nlflgs, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:173

Add an integer column's data to a fast-write segment (see ekacli_c).

Packing:

  • entszs, nlflgs, and rcptrs are per-row arrays and must have the same length nrows (the nrows passed to ekifld, i.e. rcptrs.length).
  • ivals is a packed array containing exactly sum(entszs) values.

NULL rows (nlflgs[i] === true):

  • Variable-size columns: set entszs[i] = 0 and do not include any values for that row.
  • Fixed-size columns (SIZE = N): include/pad N placeholder values for that row and set entszs[i] = N so ivals.length === sum(entszs) remains true.
Parameters ​
handle ​

SpiceHandle

segno ​

number

column ​

string

ivals ​

readonly number[]

entszs ​

readonly number[]

nlflgs ​

readonly boolean[]

rcptrs ​

readonly number[]

Returns ​

void

Inherited from ​

EkApi.ekacli

ekcls() ​

ekcls(handle): void

Defined in: backend-contract/src/domains/ek.ts:70

Close an EK file opened via ekopr / ekopw / ekopn (see ekcls_c).

Notes:

  • EK handles are explicit resources and are not automatically closed by unload() / kclear().
  • If path was backed by byte-staged temp bytes, close EK handles before calling unload() / kclear() to allow best-effort temp file deletion (especially on Windows).
Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

EkApi.ekcls

ekffld() ​

ekffld(handle, segno, rcptrs): void

Defined in: backend-contract/src/domains/ek.ts:230

Complete a fast-write segment (see ekffld_c).

Parameters ​
handle ​

SpiceHandle

segno ​

number

rcptrs ​

readonly number[]

Returns ​

void

Inherited from ​

EkApi.ekffld

ekfind() ​

ekfind(query): EkFindResult

Defined in: backend-contract/src/domains/ek.ts:108

Execute an EK query (see ekfind_c).

Notes:

  • EK query results live in CSPICE global state.
  • Beginning fast-write via ekifld can invalidate the active selection/result set. Avoid interleaving ekfind/ekg* reads with fast-write; rerun ekfind after fast-write if you need to read again.
Parameters ​
query ​

string

Returns ​

EkFindResult

Inherited from ​

EkApi.ekfind

ekgc() ​

ekgc(selidx, row, elment): EkGetResult<string>

Defined in: backend-contract/src/domains/ek.ts:118

Fetch a character-valued element from the active query result set (see ekgc_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<string>

Inherited from ​

EkApi.ekgc

ekgd() ​

ekgd(selidx, row, elment): EkGetResult<number>

Defined in: backend-contract/src/domains/ek.ts:128

Fetch a double-valued element from the active query result set (see ekgd_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<number>

Inherited from ​

EkApi.ekgd

ekgi() ​

ekgi(selidx, row, elment): EkGetResult<number>

Defined in: backend-contract/src/domains/ek.ts:138

Fetch an integer-valued element from the active query result set (see ekgi_c).

Indices are 0-based per NAIF:

  • selidx: 0-based index of the selected item in the query's SELECT clause.
  • row: 0-based row index in the result set (0..nmrows-1 from the last successful ekfind).
  • elment: 0-based element index within the cell entry (0 for scalar entries).
Parameters ​
selidx ​

number

row ​

number

elment ​

number

Returns ​

EkGetResult<number>

Inherited from ​

EkApi.ekgi

ekifld() ​

ekifld(handle, tabnam, nrows, cnames, decls): object

Defined in: backend-contract/src/domains/ek.ts:152

Begin fast-write for a new EK segment (see ekifld_c).

Returns segno (new segment number) and the rcptrs workspace array. rcptrs must be passed to the subsequent column-add calls and to ekffld.

Notes:

  • Calling ekifld may invalidate the active EK query selection (from ekfind). If you need to read query results after starting fast-write, rerun ekfind.
Parameters ​
handle ​

SpiceHandle

tabnam ​

string

nrows ​

number

cnames ​

readonly string[]

decls ​

readonly string[]

Returns ​

object

rcptrs ​

rcptrs: number[]

segno ​

segno: number

Inherited from ​

EkApi.ekifld

eknseg() ​

eknseg(handle): number

Defined in: backend-contract/src/domains/ek.ts:95

Number of segments in an EK file opened via handle (see eknseg_c).

Postconditions:

  • Returns an integer count n with 0 <= n <= 2_147_483_647.
  • Backends should validate this postcondition and throw if violated.
Parameters ​
handle ​

SpiceHandle

Returns ​

number

Inherited from ​

EkApi.eknseg

ekntab() ​

ekntab(): number

Defined in: backend-contract/src/domains/ek.ts:79

Number of EK tables currently loaded (see ekntab_c).

Postconditions:

  • Returns an integer count n with 0 <= n <= 2_147_483_647.
  • Backends should validate this postcondition and throw if violated.
Returns ​

number

Inherited from ​

EkApi.ekntab

ekopn() ​

ekopn(path, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:60

Create and open a new EK file for write (see ekopn_c).

ncomch is the number of comment characters to allocate for the EK.

Parameters ​
path ​

string

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

Inherited from ​

EkApi.ekopn

ekopr() ​

ekopr(path): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:50

Open an existing EK file for read (see ekopr_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

Inherited from ​

EkApi.ekopr

ekopw() ​

ekopw(path): SpiceHandle

Defined in: backend-contract/src/domains/ek.ts:53

Open an existing EK file for write (see ekopw_c).

Parameters ​
path ​

string

Returns ​

SpiceHandle

Inherited from ​

EkApi.ekopw

ektnam() ​

ektnam(n): string

Defined in: backend-contract/src/domains/ek.ts:86

Retrieve the EK table name by 0-based index (see ektnam_c).

n must be in the range 0..ekntab()-1.

Parameters ​
n ​

number

Returns ​

string

Inherited from ​

EkApi.ektnam

et2utc() ​

et2utc(et, format, prec): string

Defined in: backend-contract/src/domains/time.ts:27

Convert ET seconds past J2000 to a formatted UTC string.

Parameters ​
et ​

number

format ​

string

prec ​

number

Returns ​

string

Inherited from ​

TimeApi.et2utc

exists() ​

exists(path): boolean

Defined in: backend-contract/src/domains/file-io.ts:59

Returns whether a file exists at path.

Parameters ​
path ​

string

Returns ​

boolean

Inherited from ​

FileIoApi.exists

expool() ​

expool(name): boolean

Defined in: backend-contract/src/domains/kernel-pool.ts:139

Check existence of a numeric kernel pool variable.

NOTE: This does not detect character-valued variables; use dtpool if you need a general existence/type check.

Validation semantics:

  • name must not be empty or whitespace-only.
Parameters ​
name ​

string

Returns ​

boolean

Inherited from ​

KernelPoolApi.expool

failed() ​

failed(): boolean

Defined in: backend-contract/src/domains/error.ts:21

Return true if the CSPICE error status is currently set.

Returns ​

boolean

Inherited from ​

ErrorApi.failed

frinfo() ​

frinfo(frameId): Found<{ center: number; classId: number; frameClass: number; }>

Defined in: backend-contract/src/domains/frames.ts:30

SPICE frinfo_c: get center + frame class info for a frame ID.

Parameters ​
frameId ​

number

Returns ​

Found<{ center: number; classId: number; frameClass: number; }>

Inherited from ​

FramesApi.frinfo

frmnam() ​

frmnam(code): Found<{ name: string; }>

Defined in: backend-contract/src/domains/frames.ts:22

SPICE frmnam_c: look up a frame name by frame code.

Parameters ​
code ​

number

Returns ​

Found<{ name: string; }>

Inherited from ​

FramesApi.frmnam

furnsh() ​

furnsh(kernel): void

Defined in: backend-contract/src/domains/kernels.ts:35

Load a SPICE kernel.

  • If a string is provided, it is treated as a filesystem path.
  • If bytes are provided, the backend may write them to a virtual filesystem at path before calling into SPICE.
Parameters ​
kernel ​

KernelSource

Returns ​

void

Inherited from ​

KernelsApi.furnsh

gcpool() ​

gcpool(name, start, room): Found<{ values: string[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:53

Get character kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: string[]; }>

Inherited from ​

KernelPoolApi.gcpool

gdpool() ​

gdpool(name, start, room): Found<{ values: number[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:33

Get numeric (double) kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: number[]; }>

Inherited from ​

KernelPoolApi.gdpool

georec() ​

georec(lon, lat, alt, re, f): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:70

SPICE georec_c: geodetic lon/lat/alt -> rectangular coordinates.

Parameters ​
lon ​

number

lat ​

number

alt ​

number

re ​

number

f ​

number

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.georec

getfat() ​

getfat(path): object

Defined in: backend-contract/src/domains/file-io.ts:62

Determine SPICE file architecture + type (see getfat_c).

Parameters ​
path ​

string

Returns ​

object

arch ​

arch: string

type ​

type: string

Inherited from ​

FileIoApi.getfat

getmsg() ​

getmsg(which): string

Defined in: backend-contract/src/domains/error.ts:27

Get a CSPICE error message component.

Parameters ​
which ​

"SHORT" | "LONG" | "EXPLAIN"

Returns ​

string

Inherited from ​

ErrorApi.getmsg

gfdist() ​

gfdist(target, abcorr, obsrvr, relate, refval, adjust, step, nintvls, cnfine, result): void

Defined in: backend-contract/src/domains/geometry-gf.ts:68

Observer-target distance search (gfdist_c).

refval and adjust are in km.

Parameters ​
target ​

string

abcorr ​

string

obsrvr ​

string

relate ​

string

refval ​

number

adjust ​

number

step ​

number

nintvls ​

number

cnfine ​

SpiceWindow

result ​

SpiceWindow

Returns ​

void

Inherited from ​

GeometryGfApi.gfdist

gfrefn() ​

gfrefn(t1, t2, s1, s2): number

Defined in: backend-contract/src/domains/geometry-gf.ts:32

Default refinement estimator used by the GF subsystem (gfrefn_c).

Parameters ​
t1 ​

number

t2 ​

number

s1 ​

boolean

s2 ​

boolean

Returns ​

number

Inherited from ​

GeometryGfApi.gfrefn

gfrepf() ​

gfrepf(): void

Defined in: backend-contract/src/domains/geometry-gf.ts:38

Finalize the default console progress reporter (gfrepf_c).

Returns ​

void

Inherited from ​

GeometryGfApi.gfrepf

gfrepi() ​

gfrepi(window, begmss, endmss): void

Defined in: backend-contract/src/domains/geometry-gf.ts:35

Initialize the default console progress reporter (gfrepi_c).

Parameters ​
window ​

SpiceWindow

begmss ​

string

endmss ​

string

Returns ​

void

Inherited from ​

GeometryGfApi.gfrepi

gfsep() ​

gfsep(targ1, shape1, frame1, targ2, shape2, frame2, abcorr, obsrvr, relate, refval, adjust, step, nintvls, cnfine, result): void

Defined in: backend-contract/src/domains/geometry-gf.ts:45

Angular separation search (gfsep_c).

refval and adjust are in radians.

Parameters ​
targ1 ​

string

shape1 ​

string

frame1 ​

string

targ2 ​

string

shape2 ​

string

frame2 ​

string

abcorr ​

string

obsrvr ​

string

relate ​

string

refval ​

number

adjust ​

number

step ​

number

nintvls ​

number

cnfine ​

SpiceWindow

result ​

SpiceWindow

Returns ​

void

Inherited from ​

GeometryGfApi.gfsep

gfsstp() ​

gfsstp(step): void

Defined in: backend-contract/src/domains/geometry-gf.ts:23

Set the constant step size used by GeometryGfApi.gfstep (gfsstp_c).

Parameters ​
step ​

number

Returns ​

void

Inherited from ​

GeometryGfApi.gfsstp

gfstep() ​

gfstep(time): number

Defined in: backend-contract/src/domains/geometry-gf.ts:26

Return the constant step size set by GeometryGfApi.gfsstp (gfstep_c).

Parameters ​
time ​

number

Returns ​

number

Inherited from ​

GeometryGfApi.gfstep

gfstol() ​

gfstol(value): void

Defined in: backend-contract/src/domains/geometry-gf.ts:29

Override the GF convergence tolerance (gfstol_c).

Parameters ​
value ​

number

Returns ​

void

Inherited from ​

GeometryGfApi.gfstol

gipool() ​

gipool(name, start, room): Found<{ values: number[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:43

Get numeric (integer) kernel pool values.

Validation semantics:

  • name must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
name ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: number[]; }>

Inherited from ​

KernelPoolApi.gipool

gnpool() ​

gnpool(template, start, room): Found<{ values: string[]; }>

Defined in: backend-contract/src/domains/kernel-pool.ts:67

Get the names of kernel pool variables matching a template.

Wildcards:

  • * matches any substring
  • % matches any single character

Validation semantics:

  • template must not be empty or whitespace-only.
  • start must be a finite integer >= 0 (0-based).
  • room must be a finite integer > 0.
Parameters ​
template ​

string

start ​

number

room ​

number

Returns ​

Found<{ values: string[]; }>

Inherited from ​

KernelPoolApi.gnpool

illumf() ​

illumf(method, target, ilusrc, et, fixref, abcorr, observer, spoint): IllumfResult

Defined in: backend-contract/src/domains/geometry.ts:82

Compute illumination angles + visibility/lighting flags at a surface point.

Parameters ​
method ​

string

target ​

string

ilusrc ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IllumfResult

Inherited from ​

GeometryApi.illumf

illumg() ​

illumg(method, target, ilusrc, et, fixref, abcorr, observer, spoint): IluminResult

Defined in: backend-contract/src/domains/geometry.ts:68

Compute illumination angles at a surface point, with a caller-specified illumination source body.

Parameters ​
method ​

string

target ​

string

ilusrc ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IluminResult

Inherited from ​

GeometryApi.illumg

ilumin() ​

ilumin(method, target, et, fixref, abcorr, observer, spoint): IluminResult

Defined in: backend-contract/src/domains/geometry.ts:54

Compute illumination angles at a surface point.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

spoint ​

SpiceVector3

Returns ​

IluminResult

Inherited from ​

GeometryApi.ilumin

insrtc() ​

insrtc(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:113

Insert a string into a character set cell. (insrtc_c)

Parameters ​
item ​

string

cell ​

SpiceCharCell

Returns ​

void

Inherited from ​

CellsWindowsApi.insrtc

insrtd() ​

insrtd(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:110

Insert a double into a double set cell. (insrtd_c)

Parameters ​
item ​

number

cell ​

SpiceDoubleCell

Returns ​

void

Inherited from ​

CellsWindowsApi.insrtd

insrti() ​

insrti(item, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:107

Insert an integer into an integer set cell. (insrti_c)

Parameters ​
item ​

number

cell ​

SpiceIntCell

Returns ​

void

Inherited from ​

CellsWindowsApi.insrti

kclear() ​

kclear(): void

Defined in: backend-contract/src/domains/kernels.ts:43

Clear all loaded kernels.

Returns ​

void

Inherited from ​

KernelsApi.kclear

kdata() ​

kdata(which, kind?): Found<KernelData>

Defined in: backend-contract/src/domains/kernels.ts:67

Retrieve kernel metadata at position which for a given kind.

Parameters ​
which ​

number

kind? ​

KernelKindInput

Returns ​

Found<KernelData>

Inherited from ​

KernelsApi.kdata

kinfo() ​

kinfo(path): Found<KernelInfo>

Defined in: backend-contract/src/domains/kernels.ts:46

Retrieve information about a currently loaded kernel by filename.

Parameters ​
path ​

string

Returns ​

Found<KernelInfo>

Inherited from ​

KernelsApi.kinfo

kplfrm() ​

kplfrm(frmcls, idset): void

Defined in: backend-contract/src/domains/kernels.ts:61

Return kernel-pool frame IDs for the given frame class.

Parameters ​
frmcls ​

number

idset ​

SpiceIntCell

Returns ​

void

Inherited from ​

KernelsApi.kplfrm

ktotal() ​

ktotal(kind?): number

Defined in: backend-contract/src/domains/kernels.ts:64

Count loaded kernels of a given kind.

Parameters ​
kind? ​

KernelKindInput

Returns ​

number

Inherited from ​

KernelsApi.ktotal

kxtrct() ​

kxtrct(keywd, terms, wordsq): Found<{ substr: string; wordsq: string; }>

Defined in: backend-contract/src/domains/kernels.ts:54

Extract a substring from a word sequence.

This is a string-parsing utility (used by some NAIF kernels and tooling). It does not extract kernel bytes.

Parameters ​
keywd ​

string

terms ​

readonly string[]

wordsq ​

string

Returns ​

Found<{ substr: string; wordsq: string; }>

Inherited from ​

KernelsApi.kxtrct

latrec() ​

latrec(radius, lon, lat): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:14

SPICE latrec_c: latitudinal -> rectangular coordinates.

Parameters ​
radius ​

number

lon ​

number

lat ​

number

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.latrec

mtxv() ​

mtxv(m, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:77

SPICE mtxv_c: multiply transpose(matrix) by vector.

Parameters ​
m ​

Mat3RowMajor

v ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.mtxv

mxm() ​

mxm(a, b): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:48

SPICE mxm_c: matrix-matrix multiplication.

Parameters ​
a ​

Mat3RowMajor

b ​

Mat3RowMajor

Returns ​

Mat3RowMajor

Inherited from ​

CoordsVectorsApi.mxm

mxv() ​

mxv(m, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:75

SPICE mxv_c: multiply matrix by vector.

Parameters ​
m ​

Mat3RowMajor

v ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.mxv

namfrm() ​

namfrm(name): Found<{ code: number; }>

Defined in: backend-contract/src/domains/frames.ts:20

SPICE namfrm_c: look up a frame code by frame name.

Parameters ​
name ​

string

Returns ​

Found<{ code: number; }>

Inherited from ​

FramesApi.namfrm

nvc2pl() ​

nvc2pl(normal, konst): SpicePlane

Defined in: backend-contract/src/domains/geometry.ts:107

Convert a normal vector + constant to a plane.

Parameters ​
normal ​

SpiceVector3

konst ​

number

Returns ​

SpicePlane

Inherited from ​

GeometryApi.nvc2pl

occult() ​

occult(targ1, shape1, frame1, targ2, shape2, frame2, abcorr, observer, et): number

Defined in: backend-contract/src/domains/geometry.ts:94

Determine the occultation condition code for one target vs another.

Parameters ​
targ1 ​

string

shape1 ​

string

frame1 ​

string

targ2 ​

string

shape2 ​

string

frame2 ​

string

abcorr ​

string

observer ​

string

et ​

number

Returns ​

number

Inherited from ​

GeometryApi.occult

pcpool() ​

pcpool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:107

Put character values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
Parameters ​
name ​

string

values ​

readonly string[]

Returns ​

void

Inherited from ​

KernelPoolApi.pcpool

pdpool() ​

pdpool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:87

Put numeric (double) values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
  • Each value must be finite (no NaN / ±Infinity).
Parameters ​
name ​

string

values ​

readonly number[]

Returns ​

void

Inherited from ​

KernelPoolApi.pdpool

pipool() ​

pipool(name, values): void

Defined in: backend-contract/src/domains/kernel-pool.ts:98

Put numeric (integer) values into the kernel pool.

Validation semantics:

  • name must not be empty or whitespace-only.
  • values may be empty (sets an empty value list).
  • Each value must be a safe integer in the signed 32-bit range [-2147483648, 2147483647].
Parameters ​
name ​

string

values ​

readonly number[]

Returns ​

void

Inherited from ​

KernelPoolApi.pipool

pl2nvc() ​

pl2nvc(plane): Pl2nvcResult

Defined in: backend-contract/src/domains/geometry.ts:110

Convert a plane to a unit normal vector + constant.

Parameters ​
plane ​

SpicePlane

Returns ​

Pl2nvcResult

Inherited from ​

GeometryApi.pl2nvc

pxform() ​

pxform(from, to, et): Mat3RowMajor

Defined in: backend-contract/src/domains/frames.ts:78

Compute a 3x3 frame transformation matrix (row-major).

Parameters ​
from ​

string

to ​

string

et ​

number

Returns ​

Mat3RowMajor

Inherited from ​

FramesApi.pxform

recgeo() ​

recgeo(rect, re, f): object

Defined in: backend-contract/src/domains/coords-vectors.ts:72

SPICE recgeo_c: rectangular -> geodetic lon/lat/alt coordinates.

Parameters ​
rect ​

SpiceVector3

re ​

number

f ​

number

Returns ​

object

alt ​

alt: number

lat ​

lat: number

lon ​

lon: number

Inherited from ​

CoordsVectorsApi.recgeo

reclat() ​

reclat(rect): object

Defined in: backend-contract/src/domains/coords-vectors.ts:12

SPICE reclat_c: rectangular -> latitudinal coordinates.

Parameters ​
rect ​

SpiceVector3

Returns ​

object

lat ​

lat: number

lon ​

lon: number

radius ​

radius: number

Inherited from ​

CoordsVectorsApi.reclat

recsph() ​

recsph(rect): object

Defined in: backend-contract/src/domains/coords-vectors.ts:17

SPICE recsph_c: rectangular -> spherical coordinates.

Parameters ​
rect ​

SpiceVector3

Returns ​

object

colat ​

colat: number

lon ​

lon: number

radius ​

radius: number

Inherited from ​

CoordsVectorsApi.recsph

reset() ​

reset(): void

Defined in: backend-contract/src/domains/error.ts:24

Reset/clear the CSPICE error status and messages.

Returns ​

void

Inherited from ​

ErrorApi.reset

rotate() ​

rotate(angle, axis): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:55

Generate a rotation matrix representing a rotation about a coordinate axis.

Axis is 1=x, 2=y, 3=z.

Parameters ​
angle ​

number

axis ​

number

Returns ​

Mat3RowMajor

Inherited from ​

CoordsVectorsApi.rotate

rotmat() ​

rotmat(m, angle, axis): Mat3RowMajor

Defined in: backend-contract/src/domains/coords-vectors.ts:62

Rotate a matrix about a coordinate axis.

Axis is 1=x, 2=y, 3=z.

Parameters ​
m ​

Mat3RowMajor

angle ​

number

axis ​

number

Returns ​

Mat3RowMajor

Inherited from ​

CoordsVectorsApi.rotmat

scard() ​

scard(card, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:91

Set the cardinality of a cell. (scard_c)

Parameters ​
card ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsApi.scard

scdecd() ​

scdecd(sc, sclkdp): string

Defined in: backend-contract/src/domains/time.ts:126

Decode SCLK "ticks" into an SCLK string.

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.

Wrapper around CSPICE scdecd_c.

Parameters ​
sc ​

number

sclkdp ​

number

Returns ​

string

Inherited from ​

TimeApi.scdecd

sce2c() ​

sce2c(sc, et): number

Defined in: backend-contract/src/domains/time.ts:148

Convert ET seconds past J2000 to SCLK "ticks".

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.
  • Often requires an LSK (leapseconds) kernel as well (see NAIF docs).

Wrapper around CSPICE sce2c_c.

Parameters ​
sc ​

number

et ​

number

Returns ​

number

Inherited from ​

TimeApi.sce2c

sce2s() ​

sce2s(sc, et): string

Defined in: backend-contract/src/domains/time.ts:106

Convert ET seconds past J2000 to an encoded SCLK string.

Parameters ​
sc ​

number

et ​

number

Returns ​

string

Inherited from ​

TimeApi.sce2s

scencd() ​

scencd(sc, sclkch): number

Defined in: backend-contract/src/domains/time.ts:116

Encode an SCLK string into "ticks".

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.

Wrapper around CSPICE scencd_c.

Parameters ​
sc ​

number

sclkch ​

string

Returns ​

number

Inherited from ​

TimeApi.scencd

scs2e() ​

scs2e(sc, sclkch): number

Defined in: backend-contract/src/domains/time.ts:103

Convert an encoded SCLK string to ET seconds past J2000.

Parameters ​
sc ​

number

sclkch ​

string

Returns ​

number

Inherited from ​

TimeApi.scs2e

sct2e() ​

sct2e(sc, sclkdp): number

Defined in: backend-contract/src/domains/time.ts:137

Convert SCLK "ticks" to ET seconds past J2000.

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.
  • Often requires an LSK (leapseconds) kernel as well (see NAIF docs).

Wrapper around CSPICE sct2e_c.

Parameters ​
sc ​

number

sclkdp ​

number

Returns ​

number

Inherited from ​

TimeApi.sct2e

setmsg() ​

setmsg(message): void

Defined in: backend-contract/src/domains/error.ts:30

Set the long error message text used by sigerr().

Parameters ​
message ​

string

Returns ​

void

Inherited from ​

ErrorApi.setmsg

sigerr() ​

sigerr(short): void

Defined in: backend-contract/src/domains/error.ts:33

Signal a CSPICE error with the provided short error code (e.g. "SPICE(BADTIME)").

Parameters ​
short ​

string

Returns ​

void

Inherited from ​

ErrorApi.sigerr

sincpt() ​

sincpt(method, target, et, fixref, abcorr, observer, dref, dvec): Found<SubPointResult>

Defined in: backend-contract/src/domains/geometry.ts:42

Compute the surface intercept point of a ray.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

dref ​

string

dvec ​

SpiceVector3

Returns ​

Found<SubPointResult>

Inherited from ​

GeometryApi.sincpt

size() ​

size(cell): number

Defined in: backend-contract/src/domains/cells-windows.ts:97

Get the maximum cardinality of a cell. (size_c)

Parameters ​
cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

number

Inherited from ​

CellsWindowsApi.size

sphrec() ​

sphrec(radius, colat, lon): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:19

SPICE sphrec_c: spherical -> rectangular coordinates.

Parameters ​
radius ​

number

colat ​

number

lon ​

number

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.sphrec

spkcls() ​

spkcls(handle): void

Defined in: backend-contract/src/domains/ephemeris.ts:203

Close an SPK file previously opened by spkopn/spkopa (see spkcls_c).

Parameters ​
handle ​

SpiceHandle

Returns ​

void

Inherited from ​

EphemerisApi.spkcls

spkcov() ​

spkcov(spk, idcode, cover): void

Defined in: backend-contract/src/domains/ephemeris.ts:125

Compute the coverage window for an object in an SPK via spkcov.

Path semantics (backend-dependent):

  • Node backend: spk is a host filesystem path.
  • WASM backend: spk is an Emscripten FS (virtual) path/id (typically the path you used in furnsh({ path, bytes })).

Output window requirements: cover must be a valid, initialized window handle created by the backend (e.g. newWindow(maxIntervals)) and must have sufficient capacity for the merged output.

Error safety note: Like CSPICE spkcov_c, if this routine throws while updating cover (including due to insufficient capacity), the contents of cover may be left in a corrupted/undefined state. If an error is thrown, do not keep using cover; free it and create a fresh window.

Window semantics: cover is updated in place. Like CSPICE spkcov_c, coverage is merged with any intervals already present in cover. Clear the window first (e.g. scard(0, cover)) if you want to avoid accumulation.

Parameters ​
spk ​

string

idcode ​

number

cover ​

SpiceWindow

Returns ​

void

Inherited from ​

EphemerisApi.spkcov

spkez() ​

spkez(target, et, ref, abcorr, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:67

Compute state (6-vector) and light time via spkez (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

abcorr ​

string

observer ​

number

Returns ​

SpkezrResult

Inherited from ​

EphemerisApi.spkez

spkezp() ​

spkezp(target, et, ref, abcorr, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:76

Compute position (3-vector) and light time via spkezp (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

abcorr ​

string

observer ​

number

Returns ​

SpkposResult

Inherited from ​

EphemerisApi.spkezp

spkezr() ​

spkezr(target, et, ref, abcorr, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:47

Compute state relative to observer using loaded kernels (see spkezr_c).

Note: abcorr is a known set of SPICE aberration correction strings, but we allow arbitrary strings for forward-compatibility.

Parameters ​
target ​

string

et ​

number

ref ​

string

abcorr ​

string

observer ​

string

Returns ​

SpkezrResult

Inherited from ​

EphemerisApi.spkezr

spkgeo() ​

spkgeo(target, et, ref, observer): SpkezrResult

Defined in: backend-contract/src/domains/ephemeris.ts:85

Compute geometric state (6-vector) and light time via spkgeo (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

observer ​

number

Returns ​

SpkezrResult

Inherited from ​

EphemerisApi.spkgeo

spkgps() ​

spkgps(target, et, ref, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:93

Compute geometric position (3-vector) and light time via spkgps (numeric IDs).

Parameters ​
target ​

number

et ​

number

ref ​

string

observer ​

number

Returns ​

SpkposResult

Inherited from ​

EphemerisApi.spkgps

spkobj() ​

spkobj(spk, ids): void

Defined in: backend-contract/src/domains/ephemeris.ts:150

Find the set of objects present in an SPK via spkobj.

Path semantics (backend-dependent):

  • Node backend: spk is a host filesystem path.
  • WASM backend: spk is an Emscripten FS (virtual) path/id (typically the path you used in furnsh({ path, bytes })).

Output cell requirements: ids must be a valid, initialized set cell handle created by the backend (e.g. newIntCell(size)) and must have sufficient capacity for the unioned output.

Error safety note: Like CSPICE spkobj_c, if this routine throws while updating ids (including due to insufficient capacity), the contents of ids may be left in a corrupted/undefined state. If an error is thrown, do not keep using ids; free it and create a fresh cell.

Cell semantics: ids is updated in place. Like CSPICE spkobj_c, the output is the union of the IDs already present in ids and the IDs found in spk. Clear the cell first (e.g. scard(0, ids)) if you want to avoid accumulation.

Parameters ​
spk ​

string

ids ​

SpiceIntCell

Returns ​

void

Inherited from ​

EphemerisApi.spkobj

spkopa() ​

spkopa(file): SpiceHandle

Defined in: backend-contract/src/domains/ephemeris.ts:200

Open an existing SPK for append (see spkopa_c). Same file semantics as spkopn.

Parameters ​
file ​

string | VirtualOutput

Returns ​

SpiceHandle

Inherited from ​

EphemerisApi.spkopa

spkopn() ​

spkopn(file, ifname, ncomch): SpiceHandle

Defined in: backend-contract/src/domains/ephemeris.ts:197

Open a new SPK file for write (see spkopn_c).

file interpretation is backend-dependent:

  • Node: OS filesystem path

  • WASM: virtual id under the backend's virtual filesystem (currently normalized into /kernels/...).

    In other words, for the WASM backend, file: string is not a raw Emscripten absolute path. It is treated like other "kernel-ish" paths and is normalized into /kernels.

    Examples (WASM backend):

    • spkopn("out.bsp", ...) writes to /kernels/out.bsp
    • spkopn("/kernels/out.bsp", ...) refers to the same file
    • spkopn("/tmp/out.bsp", ...) throws (OS paths/URLs are rejected)

When file is a VirtualOutput, backends should allow reading bytes back via readVirtualOutput() after closing the file handle.

Callers should retain the VirtualOutput they passed to spkopn/spkopa. It is the identifier used to read bytes back later.

Parameters ​
file ​

string | VirtualOutput

ifname ​

string

ncomch ​

number

Returns ​

SpiceHandle

Inherited from ​

EphemerisApi.spkopn

spkpds() ​

spkpds(body, center, frame, type, first, last): SpkPackedDescriptor

Defined in: backend-contract/src/domains/ephemeris.ts:160

Pack an SPK segment descriptor via spkpds.

Parameters ​
body ​

number

center ​

number

frame ​

string

type ​

number

first ​

number

last ​

number

Returns ​

SpkPackedDescriptor

Inherited from ​

EphemerisApi.spkpds

spkpos() ​

spkpos(target, et, ref, abcorr, observer): SpkposResult

Defined in: backend-contract/src/domains/ephemeris.ts:58

Compute position relative to observer using loaded kernels (see spkpos_c).

Parameters ​
target ​

string

et ​

number

ref ​

string

abcorr ​

string

observer ​

string

Returns ​

SpkposResult

Inherited from ​

EphemerisApi.spkpos

spksfs() ​

spksfs(body, et): Found<{ descr: SpkPackedDescriptor; handle: number; ident: string; }>

Defined in: backend-contract/src/domains/ephemeris.ts:157

Search loaded SPK files for the highest-priority segment applicable to body and et.

Note: handle is the native SPICE DAF handle for the file containing the segment.

Parameters ​
body ​

number

et ​

number

Returns ​

Found<{ descr: SpkPackedDescriptor; handle: number; ident: string; }>

Inherited from ​

EphemerisApi.spksfs

spkssb() ​

spkssb(target, et, ref): SpiceStateVector

Defined in: backend-contract/src/domains/ephemeris.ts:101

Compute state (6-vector) of target relative to the solar system barycenter via spkssb.

Parameters ​
target ​

number

et ​

number

ref ​

string

Returns ​

SpiceStateVector

Inherited from ​

EphemerisApi.spkssb

spkuds() ​

spkuds(descr): SpkUnpackedDescriptor

Defined in: backend-contract/src/domains/ephemeris.ts:170

Unpack a packed SPK segment descriptor via spkuds.

Parameters ​
descr ​

SpkPackedDescriptor

Returns ​

SpkUnpackedDescriptor

Inherited from ​

EphemerisApi.spkuds

spkw08() ​

spkw08(handle, body, center, frame, first, last, segid, degree, states, epoch1, step): void

Defined in: backend-contract/src/domains/ephemeris.ts:211

Write a type 8 SPK segment (see spkw08_c).

states is a flat array with layout [x,y,z, dx,dy,dz] for each record. The number of records n is derived as states.length / 6.

Parameters ​
handle ​

SpiceHandle

body ​

number

center ​

number

frame ​

string

first ​

number

last ​

number

segid ​

string

degree ​

number

states ​

readonly number[] | Float64Array<ArrayBufferLike>

epoch1 ​

number

step ​

number

Returns ​

void

Inherited from ​

EphemerisApi.spkw08

ssize() ​

ssize(size, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:88

Set the maximum cardinality of a cell. (ssize_c)

Parameters ​
size ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsApi.ssize

str2et() ​

str2et(time): number

Defined in: backend-contract/src/domains/time.ts:24

Convert a time string to ET seconds past J2000.

Parameters ​
time ​

string

Returns ​

number

Inherited from ​

TimeApi.str2et

subpnt() ​

subpnt(method, target, et, fixref, abcorr, observer): SubPointResult

Defined in: backend-contract/src/domains/geometry.ts:22

Compute the sub-observer point on a target body's surface.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

Returns ​

SubPointResult

Inherited from ​

GeometryApi.subpnt

subslr() ​

subslr(method, target, et, fixref, abcorr, observer): SubPointResult

Defined in: backend-contract/src/domains/geometry.ts:32

Compute the sub-solar point on a target body's surface.

Parameters ​
method ​

string

target ​

string

et ​

number

fixref ​

string

abcorr ​

string

observer ​

string

Returns ​

SubPointResult

Inherited from ​

GeometryApi.subslr

swpool() ​

swpool(agent, names): void

Defined in: backend-contract/src/domains/kernel-pool.ts:120

Set up a kernel pool "watch" for agent.

After calling swpool, the next cvpool(agent) call will return true.

Validation semantics:

  • agent must not be empty or whitespace-only.
  • names may be empty (watch nothing).
Parameters ​
agent ​

string

names ​

readonly string[]

Returns ​

void

Inherited from ​

KernelPoolApi.swpool

sxform() ​

sxform(from, to, et): SpiceMatrix6x6

Defined in: backend-contract/src/domains/frames.ts:81

Compute a 6x6 state transformation matrix (row-major).

Parameters ​
from ​

string

to ​

string

et ​

number

Returns ​

SpiceMatrix6x6

Inherited from ​

FramesApi.sxform

timdef() ​
Call Signature ​

timdef(action, item): string

Defined in: backend-contract/src/domains/time.ts:96

Get or set time conversion defaults.

Kernel prerequisites:

  • None.

Wrapper around CSPICE timdef_c.

Parameters ​
action ​

"GET"

item ​

string

Returns ​

string

Inherited from ​

TimeApi.timdef

Call Signature ​

timdef(action, item, value): void

Defined in: backend-contract/src/domains/time.ts:98

Set a time conversion default (see timdef_c).

Parameters ​
action ​

"SET"

item ​

string

value ​

string

Returns ​

void

Inherited from ​

TimeApi.timdef

timout() ​

timout(et, picture): string

Defined in: backend-contract/src/domains/time.ts:34

Format an ephemeris time using a NAIF time picture.

Wrapper around CSPICE timout_c.

Parameters ​
et ​

number

picture ​

string

Returns ​

string

Inherited from ​

TimeApi.timout

tkvrsn() ​

tkvrsn(item): string

Defined in: backend-contract/src/domains/time.ts:19

Thin wrapper over the SPICE primitive tkvrsn().

Currently, only the TOOLKIT item is exposed.

Parameters ​
item ​

"TOOLKIT"

Returns ​

string

Inherited from ​

TimeApi.tkvrsn

tparse() ​

tparse(timstr): number

Defined in: backend-contract/src/domains/time.ts:73

Parse a UTC time string to UTC seconds past J2000.

This uses SPICE's "formal calendar" (fixed 86400-second days) and does not account for leap seconds.

Limitations:

  • UTC-only: timstr must not include time system labels (e.g. TDB) or time zone designators/offsets (e.g. PDT, UTC+05:00).

Kernel prerequisites:

  • None.

Wrapper around CSPICE tparse_c.

Parameters ​
timstr ​

string

Returns ​

number

Inherited from ​

TimeApi.tparse

tpictr() ​

tpictr(sample, pictur): string

Defined in: backend-contract/src/domains/time.ts:86

Transform a NAIF time picture to match a sample time string.

Statefulness: this is affected by TIMDEF defaults (SYSTEM/CALENDAR/ZONE), since sample is interpreted under the current TIMDEF state.

Kernel prerequisites:

  • None.

Wrapper around CSPICE tpictr_c.

Parameters ​
sample ​

string

pictur ​

string

Returns ​

string

Inherited from ​

TimeApi.tpictr

unitim() ​

unitim(epoch, insys, outsys): number

Defined in: backend-contract/src/domains/time.ts:54

Convert a time epoch from one system to another.

Kernel prerequisites:

  • Requires an LSK (leapseconds) kernel to be loaded.

Wrapper around CSPICE unitim_c.

Parameters ​
epoch ​

number

insys ​

string

outsys ​

string

Returns ​

number

Inherited from ​

TimeApi.unitim

unload() ​

unload(path): void

Defined in: backend-contract/src/domains/kernels.ts:40

Unload a SPICE kernel previously loaded via furnsh().

Parameters ​
path ​

string

Returns ​

void

Inherited from ​

KernelsApi.unload

vadd() ​

vadd(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:39

SPICE vadd_c: vector addition.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vadd

valid() ​

valid(size, n, cell): void

Defined in: backend-contract/src/domains/cells-windows.ts:100

Validate and normalize a set cell. (valid_c)

Parameters ​
size ​

number

n ​

number

cell ​

SpiceIntCell | SpiceDoubleCell | SpiceCharCell | SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsApi.valid

vcrss() ​

vcrss(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:36

SPICE vcrss_c: cross product of two vectors.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vcrss

vdot() ​

vdot(a, b): number

Defined in: backend-contract/src/domains/coords-vectors.ts:34

SPICE vdot_c: dot product of two vectors.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

number

Inherited from ​

CoordsVectorsApi.vdot

vhat() ​

vhat(v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:32

Compute the unit vector of v.

Zero-vector behavior: if v is [0, 0, 0], this returns [0, 0, 0] and does not throw.

This matches the NAIF CSPICE vhat_c definition.

Parameters ​
v ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vhat

vminus() ​

vminus(v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:43

SPICE vminus_c: negate a vector.

Parameters ​
v ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vminus

vnorm() ​

vnorm(v): number

Defined in: backend-contract/src/domains/coords-vectors.ts:22

SPICE vnorm_c: vector magnitude (Euclidean norm).

Parameters ​
v ​

SpiceVector3

Returns ​

number

Inherited from ​

CoordsVectorsApi.vnorm

vscl() ​

vscl(s, v): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:45

SPICE vscl_c: multiply vector by scalar.

Parameters ​
s ​

number

v ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vscl

vsub() ​

vsub(a, b): SpiceVector3

Defined in: backend-contract/src/domains/coords-vectors.ts:41

SPICE vsub_c: vector subtraction.

Parameters ​
a ​

SpiceVector3

b ​

SpiceVector3

Returns ​

SpiceVector3

Inherited from ​

CoordsVectorsApi.vsub

wncard() ​

wncard(window): number

Defined in: backend-contract/src/domains/cells-windows.ts:121

Return the number of intervals in a DP window. (wncard_c)

Parameters ​
window ​

SpiceWindow

Returns ​

number

Inherited from ​

CellsWindowsApi.wncard

wnfetd() ​

wnfetd(window, index): readonly [number, number]

Defined in: backend-contract/src/domains/cells-windows.ts:124

Fetch the indexth interval from a DP window. (wnfetd_c)

Parameters ​
window ​

SpiceWindow

index ​

number

Returns ​

readonly [number, number]

Inherited from ​

CellsWindowsApi.wnfetd

wninsd() ​

wninsd(left, right, window): void

Defined in: backend-contract/src/domains/cells-windows.ts:118

Insert an interval into a DP window, merging overlaps. (wninsd_c)

Parameters ​
left ​

number

right ​

number

window ​

SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsApi.wninsd

wnvald() ​

wnvald(size, n, window): void

Defined in: backend-contract/src/domains/cells-windows.ts:127

Validate and normalize a DP window. (wnvald_c)

Parameters ​
size ​

number

n ​

number

window ​

SpiceWindow

Returns ​

void

Inherited from ​

CellsWindowsApi.wnvald


StringArrayResult ​

Defined in: backend-contract/src/shared/types.ts:122

Result wrapper for APIs that return an array of strings.

truncated is backend-dependent and should only be set to true when the backend can detect truncation (for example: when reading fixed-width output buffers).

Properties ​

truncated ​

truncated: boolean

Defined in: backend-contract/src/shared/types.ts:124

values ​

values: string[]

Defined in: backend-contract/src/shared/types.ts:123


TimeApi ​

Defined in: backend-contract/src/domains/time.ts:13

Time-domain backend API surface over SPICE primitives.

Extended by ​

Methods ​

deltet() ​

deltet(epoch, eptype): number

Defined in: backend-contract/src/domains/time.ts:44

Return the difference ET - UTC at a given epoch.

Kernel prerequisites:

  • Requires an LSK (leapseconds) kernel to be loaded.

Wrapper around CSPICE deltet_c.

Parameters ​
epoch ​

number

eptype ​

"ET" | "UTC"

Returns ​

number

et2utc() ​

et2utc(et, format, prec): string

Defined in: backend-contract/src/domains/time.ts:27

Convert ET seconds past J2000 to a formatted UTC string.

Parameters ​
et ​

number

format ​

string

prec ​

number

Returns ​

string

scdecd() ​

scdecd(sc, sclkdp): string

Defined in: backend-contract/src/domains/time.ts:126

Decode SCLK "ticks" into an SCLK string.

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.

Wrapper around CSPICE scdecd_c.

Parameters ​
sc ​

number

sclkdp ​

number

Returns ​

string

sce2c() ​

sce2c(sc, et): number

Defined in: backend-contract/src/domains/time.ts:148

Convert ET seconds past J2000 to SCLK "ticks".

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.
  • Often requires an LSK (leapseconds) kernel as well (see NAIF docs).

Wrapper around CSPICE sce2c_c.

Parameters ​
sc ​

number

et ​

number

Returns ​

number

sce2s() ​

sce2s(sc, et): string

Defined in: backend-contract/src/domains/time.ts:106

Convert ET seconds past J2000 to an encoded SCLK string.

Parameters ​
sc ​

number

et ​

number

Returns ​

string

scencd() ​

scencd(sc, sclkch): number

Defined in: backend-contract/src/domains/time.ts:116

Encode an SCLK string into "ticks".

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.

Wrapper around CSPICE scencd_c.

Parameters ​
sc ​

number

sclkch ​

string

Returns ​

number

scs2e() ​

scs2e(sc, sclkch): number

Defined in: backend-contract/src/domains/time.ts:103

Convert an encoded SCLK string to ET seconds past J2000.

Parameters ​
sc ​

number

sclkch ​

string

Returns ​

number

sct2e() ​

sct2e(sc, sclkdp): number

Defined in: backend-contract/src/domains/time.ts:137

Convert SCLK "ticks" to ET seconds past J2000.

Kernel prerequisites:

  • Requires an SCLK kernel to be loaded.
  • Often requires an LSK (leapseconds) kernel as well (see NAIF docs).

Wrapper around CSPICE sct2e_c.

Parameters ​
sc ​

number

sclkdp ​

number

Returns ​

number

str2et() ​

str2et(time): number

Defined in: backend-contract/src/domains/time.ts:24

Convert a time string to ET seconds past J2000.

Parameters ​
time ​

string

Returns ​

number

timdef() ​
Call Signature ​

timdef(action, item): string

Defined in: backend-contract/src/domains/time.ts:96

Get or set time conversion defaults.

Kernel prerequisites:

  • None.

Wrapper around CSPICE timdef_c.

Parameters ​
action ​

"GET"

item ​

string

Returns ​

string

Call Signature ​

timdef(action, item, value): void

Defined in: backend-contract/src/domains/time.ts:98

Set a time conversion default (see timdef_c).

Parameters ​
action ​

"SET"

item ​

string

value ​

string

Returns ​

void

timout() ​

timout(et, picture): string

Defined in: backend-contract/src/domains/time.ts:34

Format an ephemeris time using a NAIF time picture.

Wrapper around CSPICE timout_c.

Parameters ​
et ​

number

picture ​

string

Returns ​

string

tkvrsn() ​

tkvrsn(item): string

Defined in: backend-contract/src/domains/time.ts:19

Thin wrapper over the SPICE primitive tkvrsn().

Currently, only the TOOLKIT item is exposed.

Parameters ​
item ​

"TOOLKIT"

Returns ​

string

tparse() ​

tparse(timstr): number

Defined in: backend-contract/src/domains/time.ts:73

Parse a UTC time string to UTC seconds past J2000.

This uses SPICE's "formal calendar" (fixed 86400-second days) and does not account for leap seconds.

Limitations:

  • UTC-only: timstr must not include time system labels (e.g. TDB) or time zone designators/offsets (e.g. PDT, UTC+05:00).

Kernel prerequisites:

  • None.

Wrapper around CSPICE tparse_c.

Parameters ​
timstr ​

string

Returns ​

number

tpictr() ​

tpictr(sample, pictur): string

Defined in: backend-contract/src/domains/time.ts:86

Transform a NAIF time picture to match a sample time string.

Statefulness: this is affected by TIMDEF defaults (SYSTEM/CALENDAR/ZONE), since sample is interpreted under the current TIMDEF state.

Kernel prerequisites:

  • None.

Wrapper around CSPICE tpictr_c.

Parameters ​
sample ​

string

pictur ​

string

Returns ​

string

unitim() ​

unitim(epoch, insys, outsys): number

Defined in: backend-contract/src/domains/time.ts:54

Convert a time epoch from one system to another.

Kernel prerequisites:

  • Requires an LSK (leapseconds) kernel to be loaded.

Wrapper around CSPICE unitim_c.

Parameters ​
epoch ​

number

insys ​

string

outsys ​

string

Returns ​

number


TimeKitApi ​

Defined in: backend-contract/src/domains/time.ts:7

Contract conventions:

  • Inputs are assumed validated at the backend boundary; the contract itself is primarily type-level.
  • Methods throw on invalid arguments or SPICE errors.
  • Lookups that may legitimately miss return Found<T> ({ found: false }) instead of throwing.

Extended by ​

Methods ​

spiceVersion() ​

spiceVersion(): string

Defined in: backend-contract/src/domains/time.ts:9

Return the underlying SPICE toolkit version string.

Returns ​

string

Type Aliases ​

AbCorr ​

AbCorr = "NONE" | "LT" | "LT+S" | "CN" | "CN+S" | "XLT" | "XLT+S" | "XCN" | "XCN+S"

Defined in: backend-contract/src/shared/types.ts:74

SPICE aberration correction string accepted by spkezr/spkpos.


AssertSpiceInt32Options ​

AssertSpiceInt32Options = object

Defined in: core/dist/spice-runtime/shared/spice-int.d.ts:3

Properties ​

max? ​

optional max: number

Defined in: core/dist/spice-runtime/shared/spice-int.d.ts:7

If provided, enforce value <= max.

min? ​

optional min: number

Defined in: core/dist/spice-runtime/shared/spice-int.d.ts:5

If provided, enforce value >= min.


CkCoverageLevel ​

CkCoverageLevel = "SEGMENT" | "INTERVAL"

Defined in: backend-contract/src/domains/frames.ts:12

Coverage detail level returned by FramesApi.ckcov.


CkCoverageTimeSystem ​

CkCoverageTimeSystem = "SCLK" | "TDB"

Defined in: backend-contract/src/domains/frames.ts:15

Time system used for coverage windows returned by FramesApi.ckcov.


DlaDescriptor ​

DlaDescriptor = object

Defined in: backend-contract/src/domains/file-io.ts:24

Plain-object representation of CSPICE SpiceDLADescr.

These are the 8 integer components of a DLA descriptor.

Portability ​

Each field is an int32 (32-bit signed integer). Backend implementations must reject (throw) non-integers and values outside the int32 range to prevent silent truncation across native/WASM boundaries.

This matches tspice's project-wide assumption that SpiceInt is 32-bit (sizeof(SpiceInt) == 4) in all supported builds.

Properties ​

bwdptr ​

bwdptr: number

Defined in: backend-contract/src/domains/file-io.ts:25

cbase ​

cbase: number

Defined in: backend-contract/src/domains/file-io.ts:31

csize ​

csize: number

Defined in: backend-contract/src/domains/file-io.ts:32

dbase ​

dbase: number

Defined in: backend-contract/src/domains/file-io.ts:29

dsize ​

dsize: number

Defined in: backend-contract/src/domains/file-io.ts:30

fwdptr ​

fwdptr: number

Defined in: backend-contract/src/domains/file-io.ts:26

ibase ​

ibase: number

Defined in: backend-contract/src/domains/file-io.ts:27

isize ​

isize: number

Defined in: backend-contract/src/domains/file-io.ts:28


DskDescriptor ​

DskDescriptor = object

Defined in: backend-contract/src/domains/dsk.ts:7

Segment descriptor returned by dskgd (CSPICE: SpiceDSKDescr).

Properties ​

center ​

center: number

Defined in: backend-contract/src/domains/dsk.ts:10

co1max ​

co1max: number

Defined in: backend-contract/src/domains/dsk.ts:19

co1min ​

co1min: number

Defined in: backend-contract/src/domains/dsk.ts:18

co2max ​

co2max: number

Defined in: backend-contract/src/domains/dsk.ts:21

co2min ​

co2min: number

Defined in: backend-contract/src/domains/dsk.ts:20

co3max ​

co3max: number

Defined in: backend-contract/src/domains/dsk.ts:23

co3min ​

co3min: number

Defined in: backend-contract/src/domains/dsk.ts:22

corpar ​

corpar: number[]

Defined in: backend-contract/src/domains/dsk.ts:16

Coordinate system parameters (CSPICE: corpar[SPICE_DSK_NSYPAR]).

corsys ​

corsys: number

Defined in: backend-contract/src/domains/dsk.ts:14

dclass ​

dclass: number

Defined in: backend-contract/src/domains/dsk.ts:11

dtype ​

dtype: number

Defined in: backend-contract/src/domains/dsk.ts:12

frmcde ​

frmcde: number

Defined in: backend-contract/src/domains/dsk.ts:13

start ​

start: number

Defined in: backend-contract/src/domains/dsk.ts:24

stop ​

stop: number

Defined in: backend-contract/src/domains/dsk.ts:25

surfce ​

surfce: number

Defined in: backend-contract/src/domains/dsk.ts:9


DskType2Bookkeeping ​

DskType2Bookkeeping = object

Defined in: backend-contract/src/domains/dsk.ts:29

Summary bookkeeping parameters for a type 2 DSK segment (CSPICE: dskb02_c).

Properties ​

cgscal ​

cgscal: number

Defined in: backend-contract/src/domains/dsk.ts:41

np ​

np: number

Defined in: backend-contract/src/domains/dsk.ts:31

nv ​

nv: number

Defined in: backend-contract/src/domains/dsk.ts:30

nvxtot ​

nvxtot: number

Defined in: backend-contract/src/domains/dsk.ts:32

vgrext ​

vgrext: SpiceVector3

Defined in: backend-contract/src/domains/dsk.ts:39

voxnpl ​

voxnpl: number

Defined in: backend-contract/src/domains/dsk.ts:44

voxnpt ​

voxnpt: number

Defined in: backend-contract/src/domains/dsk.ts:43

voxori ​

voxori: SpiceVector3

Defined in: backend-contract/src/domains/dsk.ts:38

voxsiz ​

voxsiz: number

Defined in: backend-contract/src/domains/dsk.ts:37

vtxbds ​

vtxbds: [[number, number], [number, number], [number, number]]

Defined in: backend-contract/src/domains/dsk.ts:35

Vertex bounds: [[xmin,xmax],[ymin,ymax],[zmin,zmax]] (CSPICE: vtxbds[3][2]).

vtxnpl ​

vtxnpl: number

Defined in: backend-contract/src/domains/dsk.ts:42


EkFindResult ​

EkFindResult = { nmrows: number; ok: true; } | { errmsg: string; ok: false; }

Defined in: backend-contract/src/domains/ek.ts:21

Result of running an EK query via ekfind.

Notes:

  • ekfind has a non-standard error reporting mechanism: query parse/semantic failures are returned via an error/errmsg output pair rather than SPICE's global error state.
  • Backend implementations should surface that query-specific failure via this return type (no throw).
  • SPICE-signaled failures (e.g. no loaded EKs) should still throw.

Type Declaration ​

{ nmrows: number; ok: true; }

nmrows ​

nmrows: number

Number of matching rows.

ok ​

ok: true

{ errmsg: string; ok: false; }

errmsg ​

errmsg: string

Query language parse/semantic error message returned by ekfind_c.

ok ​

ok: false


EkGetResult ​

EkGetResult<T> = { found: false; } | { found: true; isNull: true; } | { found: true; isNull: false; value: T; }

Defined in: backend-contract/src/domains/ek.ts:42

Result of fetching an element from an EK query result set.

This is a tri-state:

  • { found: false }: the requested element doesn't exist (commonly elment is out of range for the entry).
  • { found: true, isNull: true }: the entry exists but is SQL NULL.
  • { found: true, isNull: false, value: T }: a concrete value.

Type Parameters ​

T ​

T


FixedString ​

FixedString<Max> = string & object

Defined in: backend-contract/src/shared/types.ts:114

Type Declaration ​

[___fixedStringMaxBrand] ​

readonly [___fixedStringMaxBrand]: Max

Type Parameters ​

Max ​

Max extends number


Found ​

Found<T> = CoreFound<T>

Defined in: backend-contract/src/shared/types.ts:52

Optional-return convention for lookups where "not found" is a normal outcome.

Conventions:

  • Return { found: false } when the underlying value simply doesn't exist (e.g. name-to-code lookups for names that aren't present in loaded kernels).
  • Throw for invalid arguments, SPICE errors, and other exceptional failures.
  • When found: true, extra fields are present on the returned object.

Type Parameters ​

T ​

T


FoundDlaDescriptor ​

FoundDlaDescriptor = { found: false; } | { descr: DlaDescriptor; found: true; }

Defined in: backend-contract/src/domains/file-io.ts:35


FoundDouble ​

FoundDouble = FoundValue<number>

Defined in: backend-contract/src/shared/types.ts:59


FoundInt ​

FoundInt = FoundValue<number>

Defined in: backend-contract/src/shared/types.ts:58


FoundPayload ​

FoundPayload<T> = T extends Found<infer P> ? P : never

Defined in: backend-contract/src/shared/types.ts:62

Extract the payload type of a Found<...> result.

Type Parameters ​

T ​

T


FoundString ​

FoundString = FoundValue<string>

Defined in: backend-contract/src/shared/types.ts:57


FoundValue ​

FoundValue<T> = Found<{ value: T; }>

Defined in: backend-contract/src/shared/types.ts:55

Convenience alias for the most common Found payload shape.

Type Parameters ​

T ​

T


GetmsgWhich ​

GetmsgWhich = typeof GETMSG_WHICH_VALUES[number]

Defined in: backend-contract/src/domains/error.ts:11


GfRelate ​

GfRelate = ">" | "<" | "=" | "ABSMAX" | "ABSMIN" | "LOCMAX" | "LOCMIN"

Defined in: backend-contract/src/domains/geometry-gf.ts:18

Relation operators accepted by many high-level GF searches.


IllumfResult ​

IllumfResult = IluminResult & object

Defined in: backend-contract/src/shared/types.ts:237

Result payload for illumf().

Type Declaration ​

lit ​

lit: boolean

True if spoint is lit by ilusrc.

visibl ​

visibl: boolean

True if spoint is visible to obsrvr.


IllumgResult ​

IllumgResult = IluminResult

Defined in: backend-contract/src/shared/types.ts:234

Result payload for illumg().


IluminResult ​

IluminResult = object

Defined in: backend-contract/src/shared/types.ts:220

Properties ​

emissn ​

emissn: number

Defined in: backend-contract/src/shared/types.ts:230

Emission angle at spoint, radians.

incdnc ​

incdnc: number

Defined in: backend-contract/src/shared/types.ts:228

Solar incidence angle at spoint, radians.

phase ​

phase: number

Defined in: backend-contract/src/shared/types.ts:226

Phase angle at spoint, radians.

srfvec ​

srfvec: SpiceVector3

Defined in: backend-contract/src/shared/types.ts:224

Vector from observer to spoint, expressed in fixref at trgepc.

trgepc ​

trgepc: number

Defined in: backend-contract/src/shared/types.ts:222

Target epoch associated with spoint, in seconds past J2000 TDB.


KernelData ​

KernelData = CoreKernelData

Defined in: backend-contract/src/shared/types.ts:64


KernelInfo ​

KernelInfo = object

Defined in: backend-contract/src/shared/types.ts:67

Result payload for kinfo().

Properties ​

filtyp ​

filtyp: string

Defined in: backend-contract/src/shared/types.ts:68

handle ​

handle: number

Defined in: backend-contract/src/shared/types.ts:70

source ​

source: string

Defined in: backend-contract/src/shared/types.ts:69


KernelKind ​

KernelKind = CoreKernelKind

Defined in: backend-contract/src/shared/types.ts:41

Kernel types used by summary/introspection APIs.


KernelKindInput ​

KernelKindInput = CoreKernelKindInput

Defined in: backend-contract/src/domains/kernels.ts:24

Kernel kind selector used by ktotal() / kdata().

Supports:

  • a single KernelKind
  • an array of KernelKind (treated as an OR query)
  • a CSPICE-style multi-kind string (whitespace-separated, e.g. "SPK CK")

Tokens are validated case-insensitively and normalized to canonical uppercase. Unknown/empty tokens throw RangeError. An empty array ([]) is invalid and throws RangeError.


KernelPoolVarType ​

KernelPoolVarType = "C" | "N"

Defined in: backend-contract/src/domains/kernel-pool.ts:19


KernelSource ​

KernelSource = string | { bytes: Uint8Array; path: string; }

Defined in: backend-contract/src/shared/types.ts:13


Mat3ColMajor ​

Mat3ColMajor = CoreMat3ColMajor

Defined in: backend-contract/src/shared/types.ts:143

3x3 matrix encoded as a length-9 array in column-major order.

Column-major layout: [m00,m10,m20, m01,m11,m21, m02,m12,m22].


Mat3RowMajor ​

Mat3RowMajor = CoreMat3RowMajor

Defined in: backend-contract/src/shared/types.ts:136

3x3 matrix encoded as a length-9 array in row-major order.

Row-major layout: [m00,m01,m02, m10,m11,m12, m20,m21,m22].


Mat6RowMajor ​

Mat6RowMajor = CoreMat6RowMajor

Defined in: backend-contract/src/shared/types.ts:190

6x6 matrix encoded as a length-36 array in row-major order.

Row-major layout: [m00,m01,...,m05, m10,m11,...,m15, ..., m50,...,m55].


Pl2nvcResult ​

Pl2nvcResult = object

Defined in: backend-contract/src/shared/types.ts:245

Result payload for pl2nvc().

Properties ​

konst ​

konst: number

Defined in: backend-contract/src/shared/types.ts:247

normal ​

normal: SpiceVector3

Defined in: backend-contract/src/shared/types.ts:246


SpiceBackendKind ​

SpiceBackendKind = "node" | "wasm" | "fake"

Defined in: backend-contract/src/index.ts:77


SpiceCharCell ​

SpiceCharCell = number & object

Defined in: backend-contract/src/domains/cells-windows.ts:20

Opaque handle to a CSPICE SpiceCell of type SPICE_CHR.

Type Declaration ​

[___spiceCharCellBrand] ​

readonly [___spiceCharCellBrand]: true


SpiceDoubleCell ​

SpiceDoubleCell = number & object

Defined in: backend-contract/src/domains/cells-windows.ts:18

Opaque handle to a CSPICE SpiceCell of type SPICE_DP.

Type Declaration ​

[___spiceDoubleCellBrand] ​

readonly [___spiceDoubleCellBrand]: true


SpiceHandle ​

SpiceHandle = CoreSpiceHandle

Defined in: backend-contract/src/shared/types.ts:98

Opaque numeric handle returned by low-level SPICE file APIs (DAF/DAS/DLA).


SpiceHandleEntry ​

SpiceHandleEntry = object

Defined in: core/dist/spice-runtime/shared/types.d.ts:38

Properties ​

kind ​

kind: SpiceHandleKind

Defined in: core/dist/spice-runtime/shared/types.d.ts:39

nativeHandle ​

nativeHandle: number

Defined in: core/dist/spice-runtime/shared/types.d.ts:40


SpiceHandleKind ​

SpiceHandleKind = "DAF" | "DAS" | "DLA" | "SPK" | "EK"

Defined in: core/dist/spice-runtime/shared/types.d.ts:37


SpiceHandleRegistry ​

SpiceHandleRegistry = object

Defined in: core/dist/spice-runtime/shared/types.d.ts:42

Properties ​

close() ​

close: (handle, expected, closeNative, context) => void

Defined in: core/dist/spice-runtime/shared/types.d.ts:45

Parameters ​
handle ​

SpiceHandle

expected ​

readonly SpiceHandleKind[]

closeNative ​

(entry) => void

context ​

string

Returns ​

void

lookup() ​

lookup: (handle, expected, context) => SpiceHandleEntry

Defined in: core/dist/spice-runtime/shared/types.d.ts:44

Parameters ​
handle ​

SpiceHandle

expected ​

readonly SpiceHandleKind[]

context ​

string

Returns ​

SpiceHandleEntry

register() ​

register: (kind, nativeHandle) => SpiceHandle

Defined in: core/dist/spice-runtime/shared/types.d.ts:43

Parameters ​
kind ​

SpiceHandleKind

nativeHandle ​

number

Returns ​

SpiceHandle

size() ​

size: () => number

Defined in: core/dist/spice-runtime/shared/types.d.ts:46

Returns ​

number


SpiceIntCell ​

SpiceIntCell = number & object

Defined in: backend-contract/src/domains/cells-windows.ts:16

Opaque handle to a CSPICE SpiceCell of type SPICE_INT.

Type Declaration ​

[___spiceIntCellBrand] ​

readonly [___spiceIntCellBrand]: true


SpiceMatrix6x6 ​

SpiceMatrix6x6 = [number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number, number]

Defined in: backend-contract/src/shared/types.ts:146


SpicePlane ​

SpicePlane = [number, number, number, number]

Defined in: backend-contract/src/shared/types.ts:92

A plane encoded as [normalX, normalY, normalZ, constant].

This matches CSPICE's SpicePlane ABI layout (normal[3] + constant).


SpiceStateVector ​

SpiceStateVector = [number, number, number, number, number, number]

Defined in: backend-contract/src/shared/types.ts:192


SpiceVector3 ​

SpiceVector3 = [number, number, number]

Defined in: backend-contract/src/shared/types.ts:85


SpiceWindow ​

SpiceWindow = number & object

Defined in: backend-contract/src/domains/cells-windows.ts:22

Opaque handle to a CSPICE DP window (a SPICE_DP cell interpreted as intervals).

Type Declaration ​

[___spiceWindowBrand] ​

readonly [___spiceWindowBrand]: true


SpkezrResult ​

SpkezrResult = object

Defined in: backend-contract/src/shared/types.ts:201

Properties ​

lt ​

lt: number

Defined in: backend-contract/src/shared/types.ts:203

state ​

state: SpiceStateVector

Defined in: backend-contract/src/shared/types.ts:202


SpkPackedDescriptor ​

SpkPackedDescriptor = readonly [number, number, number, number, number]

Defined in: backend-contract/src/domains/ephemeris.ts:23

Packed SPK segment descriptor (DAF summary) as a 5-double array.

This is the packed form returned by spksfs and accepted by spkuds.


SpkposResult ​

SpkposResult = object

Defined in: backend-contract/src/shared/types.ts:206

Properties ​

lt ​

lt: number

Defined in: backend-contract/src/shared/types.ts:208

pos ​

pos: SpiceVector3

Defined in: backend-contract/src/shared/types.ts:207


SpkUnpackedDescriptor ​

SpkUnpackedDescriptor = object

Defined in: backend-contract/src/domains/ephemeris.ts:26

Unpacked SPK segment descriptor (see spkuds_c).

Properties ​

baddr ​

baddr: number

Defined in: backend-contract/src/domains/ephemeris.ts:35

body ​

body: number

Defined in: backend-contract/src/domains/ephemeris.ts:27

center ​

center: number

Defined in: backend-contract/src/domains/ephemeris.ts:28

eaddr ​

eaddr: number

Defined in: backend-contract/src/domains/ephemeris.ts:36

first ​

first: number

Defined in: backend-contract/src/domains/ephemeris.ts:32

frame ​

frame: number

Defined in: backend-contract/src/domains/ephemeris.ts:29

last ​

last: number

Defined in: backend-contract/src/domains/ephemeris.ts:33

type ​

type: number

Defined in: backend-contract/src/domains/ephemeris.ts:30


SubPointResult ​

SubPointResult = object

Defined in: backend-contract/src/shared/types.ts:211

Properties ​

spoint ​

spoint: SpiceVector3

Defined in: backend-contract/src/shared/types.ts:213

Sub-point on target body surface, expressed in fixref at trgepc.

srfvec ​

srfvec: SpiceVector3

Defined in: backend-contract/src/shared/types.ts:217

Vector from observer to spoint, expressed in fixref at trgepc.

trgepc ​

trgepc: number

Defined in: backend-contract/src/shared/types.ts:215

Target epoch associated with spoint, in seconds past J2000 TDB.


Vec3 ​

Vec3 = CoreVec3

Defined in: backend-contract/src/shared/types.ts:102


Vec6 ​

Vec6 = CoreVec6

Defined in: backend-contract/src/shared/types.ts:103


VirtualOutput ​

VirtualOutput = object

Defined in: backend-contract/src/shared/types.ts:35

Virtual output reference used by writer APIs.

Lifecycle:

  • A VirtualOutput is only guaranteed to be readable via readVirtualOutput()after the writer handle has been closed (e.g. spkcls(handle) for SPKs).
  • Backends may reject reads for outputs they did not create via a writer API. readVirtualOutput() is not intended to be a generic filesystem read.

Backend notes:

  • WASM: path is treated as a virtual identifier under the backend's virtual filesystem (currently rooted at /kernels).
  • Node: implementations may stage virtual outputs to a temp file and allow reading bytes back via readVirtualOutput().

Properties ​

kind ​

kind: "virtual-output"

Defined in: backend-contract/src/shared/types.ts:36

path ​

path: string

Defined in: backend-contract/src/shared/types.ts:37

Variables ​

GETMSG_WHICH_VALUES ​

const GETMSG_WHICH_VALUES: readonly ["SHORT", "LONG", "EXPLAIN"]

Defined in: backend-contract/src/domains/error.ts:9

Subset of CSPICE error/status utilities exposed by tspice backends.


SPICE_INT32_MAX ​

const SPICE_INT32_MAX: 2147483647 = 2147483647

Defined in: core/dist/spice-runtime/shared/spice-int.d.ts:2


SPICE_INT32_MIN ​

const SPICE_INT32_MIN: -2147483648 = -2147483648

Defined in: core/dist/spice-runtime/shared/spice-int.d.ts:1