@rybosome/tspice-backend-contract
Classes
SpiceBackendContractError
Defined in: packages/backend-contract/src/shared/errors.ts:2
Error thrown when a backend violates a contract invariant or postcondition.
Extends
Error
Constructors
Constructor
new SpiceBackendContractError(
message):SpiceBackendContractError
Defined in: packages/backend-contract/src/shared/errors.ts:5
Parameters
message
string
Returns
Overrides
Error.constructor
Properties
cause?
optionalcause:unknown
Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es2022.error.d.ts:26
Inherited from
Error.cause
message
message:
string
Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1077
Inherited from
Error.message
name
name:
string="SpiceBackendContractError"
Defined in: packages/backend-contract/src/shared/errors.ts:3
Overrides
Error.name
stack?
optionalstack:string
Defined in: node_modules/.pnpm/typescript@5.9.3/node_modules/typescript/lib/lib.es5.d.ts:1078
Inherited from
Error.stack
stackTraceLimit
staticstackTraceLimit:number
Defined in: node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/globals.d.ts:68
The Error.stackTraceLimit property specifies the number of stack frames collected by a stack trace (whether generated by new Error().stack or Error.captureStackTrace(obj)).
The default value is 10 but may be set to any valid JavaScript number. Changes will affect any stack trace captured after the value has been changed.
If set to a non-number value, or set to a negative number, stack traces will not capture any frames.
Inherited from
Error.stackTraceLimit
Methods
captureStackTrace()
staticcaptureStackTrace(targetObject,constructorOpt?):void
Defined in: node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/globals.d.ts:52
Creates a .stack property on targetObject, which when accessed returns a string representing the location in the code at which Error.captureStackTrace() was called.
const myObject = {};
Error.captureStackTrace(myObject);
myObject.stack; // Similar to `new Error().stack`The first line of the trace will be prefixed with ${myObject.name}: ${myObject.message}.
The optional constructorOpt argument accepts a function. If given, all frames above constructorOpt, including constructorOpt, will be omitted from the generated stack trace.
The constructorOpt argument is useful for hiding implementation details of error generation from the user. For instance:
function a() {
b();
}
function b() {
c();
}
function c() {
// Create an error without stack trace to avoid calculating the stack trace twice.
const { stackTraceLimit } = Error;
Error.stackTraceLimit = 0;
const error = new Error();
Error.stackTraceLimit = stackTraceLimit;
// Capture the stack trace above function b
Error.captureStackTrace(error, b); // Neither function c, nor b is included in the stack trace
throw error;
}
a();Parameters
targetObject
object
constructorOpt?
Function
Returns
void
Inherited from
Error.captureStackTrace
prepareStackTrace()
staticprepareStackTrace(err,stackTraces):any
Defined in: node_modules/.pnpm/@types+node@22.19.6/node_modules/@types/node/globals.d.ts:56
Parameters
err
Error
stackTraces
CallSite[]
Returns
any
See
https://v8.dev/docs/stack-trace-api#customizing-stack-traces
Inherited from
Error.prepareStackTrace
Interfaces
CellsWindowsApi
Defined in: packages/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: packages/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: packages/backend-contract/src/domains/cells-windows.ts:113
Insert a string into a character set cell. (insrtc_c)
Parameters
item
string
cell
Returns
void
insrtd()
insrtd(
item,cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:110
Insert a double into a double set cell. (insrtd_c)
Parameters
item
number
cell
Returns
void
insrti()
insrti(
item,cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:107
Insert an integer into an integer set cell. (insrti_c)
Parameters
item
number
cell
Returns
void
scard()
scard(
card,cell):void
Defined in: packages/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: packages/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: packages/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: packages/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: packages/backend-contract/src/domains/cells-windows.ts:121
Return the number of intervals in a DP window. (wncard_c)
Parameters
window
Returns
number
wnfetd()
wnfetd(
window,index): readonly [number,number]
Defined in: packages/backend-contract/src/domains/cells-windows.ts:124
Fetch the indexth interval from a DP window. (wnfetd_c)
Parameters
window
index
number
Returns
readonly [number, number]
wninsd()
wninsd(
left,right,window):void
Defined in: packages/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
Returns
void
wnvald()
wnvald(
size,n,window):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:127
Validate and normalize a DP window. (wnvald_c)
Parameters
size
number
n
number
window
Returns
void
CellsWindowsKitApi
Defined in: packages/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: packages/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
index
number
Returns
string
cellGetd()
cellGetd(
cell,index):number
Defined in: packages/backend-contract/src/domains/cells-windows.ts:72
Fetch the indexth element of a double cell.
Parameters
cell
index
number
Returns
number
cellGeti()
cellGeti(
cell,index):number
Defined in: packages/backend-contract/src/domains/cells-windows.ts:69
Fetch the indexth element of an integer cell.
Parameters
cell
index
number
Returns
number
freeCell()
freeCell(
cell):void
Defined in: packages/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: packages/backend-contract/src/domains/cells-windows.ts:56
Free a previously-created window handle.
Parameters
window
Returns
void
newCharCell()
newCharCell(
size,length):SpiceCharCell
Defined in: packages/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
newDoubleCell()
newDoubleCell(
size):SpiceDoubleCell
Defined in: packages/backend-contract/src/domains/cells-windows.ts:39
Create an empty double-precision set cell with the given capacity.
Parameters
size
number
Returns
newIntCell()
newIntCell(
size):SpiceIntCell
Defined in: packages/backend-contract/src/domains/cells-windows.ts:36
Create an empty integer set cell with the given capacity.
Parameters
size
number
Returns
newWindow()
newWindow(
maxIntervals):SpiceWindow
Defined in: packages/backend-contract/src/domains/cells-windows.ts:50
Create an empty DP window with capacity for maxIntervals intervals.
Parameters
maxIntervals
number
Returns
CoordsVectorsApi
Defined in: packages/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: packages/backend-contract/src/domains/coords-vectors.ts:67
Convert an axis and angle to a rotation matrix.
Parameters
axis
angle
number
Returns
georec()
georec(
lon,lat,alt,re,f):SpiceVector3
Defined in: packages/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
latrec()
latrec(
radius,lon,lat):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:14
SPICE latrec_c: latitudinal -> rectangular coordinates.
Parameters
radius
number
lon
number
lat
number
Returns
mtxv()
mtxv(
m,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:77
SPICE mtxv_c: multiply transpose(matrix) by vector.
Parameters
m
v
Returns
mxm()
mxm(
a,b):Mat3RowMajor
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:48
SPICE mxm_c: matrix-matrix multiplication.
Parameters
a
b
Returns
mxv()
mxv(
m,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:75
SPICE mxv_c: multiply matrix by vector.
Parameters
m
v
Returns
recgeo()
recgeo(
rect,re,f):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:72
SPICE recgeo_c: rectangular -> geodetic lon/lat/alt coordinates.
Parameters
rect
re
number
f
number
Returns
object
alt
alt:
number
lat
lat:
number
lon
lon:
number
reclat()
reclat(
rect):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:12
SPICE reclat_c: rectangular -> latitudinal coordinates.
Parameters
rect
Returns
object
lat
lat:
number
lon
lon:
number
radius
radius:
number
recsph()
recsph(
rect):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:17
SPICE recsph_c: rectangular -> spherical coordinates.
Parameters
rect
Returns
object
colat
colat:
number
lon
lon:
number
radius
radius:
number
rotate()
rotate(
angle,axis):Mat3RowMajor
Defined in: packages/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
rotmat()
rotmat(
m,angle,axis):Mat3RowMajor
Defined in: packages/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
angle
number
axis
number
Returns
sphrec()
sphrec(
radius,colat,lon):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:19
SPICE sphrec_c: spherical -> rectangular coordinates.
Parameters
radius
number
colat
number
lon
number
Returns
vadd()
vadd(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:39
SPICE vadd_c: vector addition.
Parameters
a
b
Returns
vcrss()
vcrss(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:36
SPICE vcrss_c: cross product of two vectors.
Parameters
a
b
Returns
vdot()
vdot(
a,b):number
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:34
SPICE vdot_c: dot product of two vectors.
Parameters
a
b
Returns
number
vhat()
vhat(
v):SpiceVector3
Defined in: packages/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
Returns
vminus()
vminus(
v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:43
SPICE vminus_c: negate a vector.
Parameters
v
Returns
vnorm()
vnorm(
v):number
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:22
SPICE vnorm_c: vector magnitude (Euclidean norm).
Parameters
v
Returns
number
vscl()
vscl(
s,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:45
SPICE vscl_c: multiply vector by scalar.
Parameters
s
number
v
Returns
vsub()
vsub(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:41
SPICE vsub_c: vector subtraction.
Parameters
a
b
Returns
DskApi
Defined in: packages/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: packages/backend-contract/src/domains/dsk.ts:59
Return the type 2 DSK segment bookkeeping parameters.
Parameters
handle
dladsc
Returns
dskgd()
dskgd(
handle,dladsc):DskDescriptor
Defined in: packages/backend-contract/src/domains/dsk.ts:56
Return the descriptor of a DSK segment.
Parameters
handle
dladsc
Returns
dskobj()
dskobj(
dsk,bodids):void
Defined in: packages/backend-contract/src/domains/dsk.ts:50
Return the set of body IDs for which the specified DSK has segments.
Parameters
dsk
string
bodids
Returns
void
dsksrf()
dsksrf(
dsk,bodyid,srfids):void
Defined in: packages/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
Returns
void
EkApi
Defined in: packages/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: packages/backend-contract/src/domains/ek.ts:219
Add a character column's data to a fast-write segment (see ekaclc_c).
Packing:
entszs,nlflgs, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).cvalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsocvals.length === sum(entszs)remains true.
Parameters
handle
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: packages/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, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).dvalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsodvals.length === sum(entszs)remains true.
Parameters
handle
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: packages/backend-contract/src/domains/ek.ts:173
Add an integer column's data to a fast-write segment (see ekacli_c).
Packing:
entszs,nlflgs, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).ivalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsoivals.length === sum(entszs)remains true.
Parameters
handle
segno
number
column
string
ivals
readonly number[]
entszs
readonly number[]
nlflgs
readonly boolean[]
rcptrs
readonly number[]
Returns
void
ekcls()
ekcls(
handle):void
Defined in: packages/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
pathwas backed by byte-staged temp bytes, close EK handles before callingunload()/kclear()to allow best-effort temp file deletion (especially on Windows).
Parameters
handle
Returns
void
ekffld()
ekffld(
handle,segno,rcptrs):void
Defined in: packages/backend-contract/src/domains/ek.ts:230
Complete a fast-write segment (see ekffld_c).
Parameters
handle
segno
number
rcptrs
readonly number[]
Returns
void
ekfind()
ekfind(
query):EkFindResult
Defined in: packages/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
ekifldcan invalidate the active selection/result set. Avoid interleavingekfind/ekg*reads with fast-write; rerunekfindafter fast-write if you need to read again.
Parameters
query
string
Returns
ekgc()
ekgc(
selidx,row,elment):EkGetResult<string>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<string>
ekgd()
ekgd(
selidx,row,elment):EkGetResult<number>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<number>
ekgi()
ekgi(
selidx,row,elment):EkGetResult<number>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<number>
ekifld()
ekifld(
handle,tabnam,nrows,cnames,decls):object
Defined in: packages/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
ekifldmay invalidate the active EK query selection (fromekfind). If you need to read query results after starting fast-write, rerunekfind.
Parameters
handle
tabnam
string
nrows
number
cnames
readonly string[]
decls
readonly string[]
Returns
object
rcptrs
rcptrs:
number[]
segno
segno:
number
eknseg()
eknseg(
handle):number
Defined in: packages/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
nwith0 <= n <= 2_147_483_647. - Backends should validate this postcondition and throw if violated.
Parameters
handle
Returns
number
ekntab()
ekntab():
number
Defined in: packages/backend-contract/src/domains/ek.ts:79
Number of EK tables currently loaded (see ekntab_c).
Postconditions:
- Returns an integer count
nwith0 <= n <= 2_147_483_647. - Backends should validate this postcondition and throw if violated.
Returns
number
ekopn()
ekopn(
path,ifname,ncomch):SpiceHandle
Defined in: packages/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
ekopr()
ekopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/ek.ts:50
Open an existing EK file for read (see ekopr_c).
Parameters
path
string
Returns
ekopw()
ekopw(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/ek.ts:53
Open an existing EK file for write (see ekopw_c).
Parameters
path
string
Returns
ektnam()
ektnam(
n):string
Defined in: packages/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: packages/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: packages/backend-contract/src/domains/ephemeris.ts:203
Close an SPK file previously opened by spkopn/spkopa (see spkcls_c).
Parameters
handle
Returns
void
spkcov()
spkcov(
spk,idcode,cover):void
Defined in: packages/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:
spkis a host filesystem path. - WASM backend:
spkis an Emscripten FS (virtual) path/id (typically thepathyou used infurnsh({ 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
Returns
void
spkez()
spkez(
target,et,ref,abcorr,observer):SpkezrResult
Defined in: packages/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
spkezp()
spkezp(
target,et,ref,abcorr,observer):SpkposResult
Defined in: packages/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
spkezr()
spkezr(
target,et,ref,abcorr,observer):SpkezrResult
Defined in: packages/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
spkgeo()
spkgeo(
target,et,ref,observer):SpkezrResult
Defined in: packages/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
spkgps()
spkgps(
target,et,ref,observer):SpkposResult
Defined in: packages/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
spkobj()
spkobj(
spk,ids):void
Defined in: packages/backend-contract/src/domains/ephemeris.ts:150
Find the set of objects present in an SPK via spkobj.
Path semantics (backend-dependent):
- Node backend:
spkis a host filesystem path. - WASM backend:
spkis an Emscripten FS (virtual) path/id (typically thepathyou used infurnsh({ 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
Returns
void
spkopa()
spkopa(
file):SpiceHandle
Defined in: packages/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
spkopn()
spkopn(
file,ifname,ncomch):SpiceHandle
Defined in: packages/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: stringis 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.bspspkopn("/kernels/out.bsp", ...)refers to the same filespkopn("/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
spkpds()
spkpds(
body,center,frame,type,first,last):SpkPackedDescriptor
Defined in: packages/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
spkpos()
spkpos(
target,et,ref,abcorr,observer):SpkposResult
Defined in: packages/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
spksfs()
spksfs(
body,et):Found<{descr:SpkPackedDescriptor;handle:number;ident:string; }>
Defined in: packages/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: packages/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
spkuds()
spkuds(
descr):SpkUnpackedDescriptor
Defined in: packages/backend-contract/src/domains/ephemeris.ts:170
Unpack a packed SPK segment descriptor via spkuds.
Parameters
descr
Returns
spkw08()
spkw08(
handle,body,center,frame,first,last,segid,degree,states,epoch1,step):void
Defined in: packages/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
body
number
center
number
frame
string
first
number
last
number
segid
string
degree
number
states
Float64Array<ArrayBufferLike> | readonly number[]
epoch1
number
step
number
Returns
void
ErrorApi
Defined in: packages/backend-contract/src/domains/error.ts:41
Backend contract for SPICE error/status utilities (failed/reset/getmsg/etc).
Extended by
Methods
chkin()
chkin(
name):void
Defined in: packages/backend-contract/src/domains/error.ts:58
Add name to the CSPICE traceback stack.
Parameters
name
string
Returns
void
chkout()
chkout(
name):void
Defined in: packages/backend-contract/src/domains/error.ts:61
Remove name from the CSPICE traceback stack.
Parameters
name
string
Returns
void
failed()
failed():
boolean
Defined in: packages/backend-contract/src/domains/error.ts:43
Return true if the CSPICE error status is currently set.
Returns
boolean
getmsg()
getmsg(
which):string
Defined in: packages/backend-contract/src/domains/error.ts:49
Get a CSPICE error message component.
Parameters
which
"SHORT" | "LONG" | "EXPLAIN"
Returns
string
reset()
reset():
void
Defined in: packages/backend-contract/src/domains/error.ts:46
Reset/clear the CSPICE error status and messages.
Returns
void
setmsg()
setmsg(
message):void
Defined in: packages/backend-contract/src/domains/error.ts:52
Set the long error message text used by sigerr().
Parameters
message
string
Returns
void
sigerr()
sigerr(
short):void
Defined in: packages/backend-contract/src/domains/error.ts:55
Signal a CSPICE error with the provided short error code (e.g. "SPICE(BADTIME)").
Parameters
short
string
Returns
void
FileIoApi
Defined in: packages/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: packages/backend-contract/src/domains/file-io.ts:73
Begin a forward search for arrays in the given DAF file (see dafbfs_c).
Parameters
handle
Returns
void
dafcls()
dafcls(
handle):void
Defined in: packages/backend-contract/src/domains/file-io.ts:70
Close a DAF file previously opened by dafopr().
Parameters
handle
Returns
void
daffna()
daffna(
handle):boolean
Defined in: packages/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
Returns
boolean
dafopr()
dafopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/file-io.ts:67
Open a DAF file for read (see dafopr_c).
Parameters
path
string
Returns
dascls()
dascls(
handle):void
Defined in: packages/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
Returns
void
dasopr()
dasopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/file-io.ts:86
Open a DAS file for read (see dasopr_c).
Parameters
path
string
Returns
dlabfs()
dlabfs(
handle):FoundDlaDescriptor
Defined in: packages/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
Returns
dlacls()
dlacls(
handle):void
Defined in: packages/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
Returns
void
dlafns()
dlafns(
handle,descr):FoundDlaDescriptor
Defined in: packages/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
descr
Returns
dlaopn()
dlaopn(
path,ftype,ifname,ncomch):SpiceHandle
Defined in: packages/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
dskmi2()
dskmi2(
nv,vrtces,np,plates,finscl,corscl,worksz,voxpsz,voxlsz,makvtl,spxisz):object
Defined in: packages/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: packages/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
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: packages/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
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: packages/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: packages/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: packages/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: packages/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
Returns
Uint8Array
FramesApi
Defined in: packages/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: packages/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: packages/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: packages/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
tol
number
timsys
cover
Returns
void
ckgp()
ckgp(
inst,sclkdp,tol,ref):Found<{clkout:number;cmat:Mat3RowMajor; }>
Defined in: packages/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: packages/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: packages/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: packages/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
Returns
void
ckupf()
ckupf(
handle):void
Defined in: packages/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: packages/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: packages/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: packages/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: packages/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: packages/backend-contract/src/domains/frames.ts:78
Compute a 3x3 frame transformation matrix (row-major).
Parameters
from
string
to
string
et
number
Returns
sxform()
sxform(
from,to,et):SpiceMatrix6x6
Defined in: packages/backend-contract/src/domains/frames.ts:81
Compute a 6x6 state transformation matrix (row-major).
Parameters
from
string
to
string
et
number
Returns
GeometryApi
Defined in: packages/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: packages/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
Returns
illumg()
illumg(
method,target,ilusrc,et,fixref,abcorr,observer,spoint):IluminResult
Defined in: packages/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
Returns
ilumin()
ilumin(
method,target,et,fixref,abcorr,observer,spoint):IluminResult
Defined in: packages/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
Returns
nvc2pl()
nvc2pl(
normal,konst):SpicePlane
Defined in: packages/backend-contract/src/domains/geometry.ts:107
Convert a normal vector + constant to a plane.
Parameters
normal
konst
number
Returns
occult()
occult(
targ1,shape1,frame1,targ2,shape2,frame2,abcorr,observer,et):number
Defined in: packages/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: packages/backend-contract/src/domains/geometry.ts:110
Convert a plane to a unit normal vector + constant.
Parameters
plane
Returns
sincpt()
sincpt(
method,target,et,fixref,abcorr,observer,dref,dvec):Found<SubPointResult>
Defined in: packages/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
Returns
subpnt()
subpnt(
method,target,et,fixref,abcorr,observer):SubPointResult
Defined in: packages/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
subslr()
subslr(
method,target,et,fixref,abcorr,observer):SubPointResult
Defined in: packages/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
GeometryGfApi
Defined in: packages/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: packages/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
result
Returns
void
gfrefn()
gfrefn(
t1,t2,s1,s2):number
Defined in: packages/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: packages/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: packages/backend-contract/src/domains/geometry-gf.ts:35
Initialize the default console progress reporter (gfrepi_c).
Parameters
window
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: packages/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
result
Returns
void
gfsstp()
gfsstp(
step):void
Defined in: packages/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: packages/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: packages/backend-contract/src/domains/geometry-gf.ts:29
Override the GF convergence tolerance (gfstol_c).
Parameters
value
number
Returns
void
IdsNamesApi
Defined in: packages/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: packages/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: packages/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: packages/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: packages/backend-contract/src/domains/ids-names.ts:32
Return true if a body constant exists in the kernel pool.
Normalization:
itemis normalized asnormalizeBodItem(item)(trim ASCII whitespace + ASCII-only uppercase) before lookup.
Parameters
body
number
item
string
Returns
boolean
bodn2c()
bodn2c(
name):Found<{code:number; }>
Defined in: packages/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: packages/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: packages/backend-contract/src/domains/ids-names.ts:45
Return values of a body constant from the kernel pool.
Normalization:
itemis normalized asnormalizeBodItem(item)(trim ASCII whitespace + ASCII-only uppercase) before lookup.
Missing-item semantics:
- If
itemis not found forbody(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: packages/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: packages/backend-contract/src/domains/kernel-pool.ts:128
Check whether watched variables for agent have been updated since the last call.
Validation semantics:
agentmust not be empty or whitespace-only.
Parameters
agent
string
Returns
boolean
dtpool()
dtpool(
name):Found<{n:number;type:KernelPoolVarType; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:75
Get kernel pool variable type (C or N) and size.
Validation semantics:
namemust not be empty or whitespace-only.
Parameters
name
string
Returns
Found<{ n: number; type: KernelPoolVarType; }>
expool()
expool(
name):boolean
Defined in: packages/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:
namemust not be empty or whitespace-only.
Parameters
name
string
Returns
boolean
gcpool()
gcpool(
name,start,room):Found<{values:string[]; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:53
Get character kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust 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: packages/backend-contract/src/domains/kernel-pool.ts:33
Get numeric (double) kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust 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: packages/backend-contract/src/domains/kernel-pool.ts:43
Get numeric (integer) kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust 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: packages/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:
templatemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust be a finite integer > 0.
Parameters
template
string
start
number
room
number
Returns
Found<{ values: string[]; }>
pcpool()
pcpool(
name,values):void
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:107
Put character values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay be empty (sets an empty value list).
Parameters
name
string
values
readonly string[]
Returns
void
pdpool()
pdpool(
name,values):void
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:87
Put numeric (double) values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay 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: packages/backend-contract/src/domains/kernel-pool.ts:98
Put numeric (integer) values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay 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: packages/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:
agentmust not be empty or whitespace-only.namesmay be empty (watch nothing).
Parameters
agent
string
names
readonly string[]
Returns
void
KernelsApi
Defined in: packages/backend-contract/src/domains/kernels.ts:26
Backend contract for kernel management and kernel metadata queries.
Extended by
Methods
furnsh()
furnsh(
kernel):void
Defined in: packages/backend-contract/src/domains/kernels.ts:34
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
pathbefore calling into SPICE.
Parameters
kernel
Returns
void
kclear()
kclear():
void
Defined in: packages/backend-contract/src/domains/kernels.ts:42
Clear all loaded kernels.
Returns
void
kdata()
kdata(
which,kind?):Found<KernelData>
Defined in: packages/backend-contract/src/domains/kernels.ts:66
Retrieve kernel metadata at position which for a given kind.
Parameters
which
number
kind?
Returns
kinfo()
kinfo(
path):Found<KernelInfo>
Defined in: packages/backend-contract/src/domains/kernels.ts:45
Retrieve information about a currently loaded kernel by filename.
Parameters
path
string
Returns
kplfrm()
kplfrm(
frmcls,idset):void
Defined in: packages/backend-contract/src/domains/kernels.ts:60
Return kernel-pool frame IDs for the given frame class.
Parameters
frmcls
number
idset
Returns
void
ktotal()
ktotal(
kind?):number
Defined in: packages/backend-contract/src/domains/kernels.ts:63
Count loaded kernels of a given kind.
Parameters
kind?
Returns
number
kxtrct()
kxtrct(
keywd,terms,wordsq):Found<{substr:string;wordsq:string; }>
Defined in: packages/backend-contract/src/domains/kernels.ts:53
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: packages/backend-contract/src/domains/kernels.ts:39
Unload a SPICE kernel previously loaded via furnsh().
Parameters
path
string
Returns
void
SpiceBackend
Defined in: packages/backend-contract/src/index.ts:138
Unified backend contract
Properties
kind
readonlykind:SpiceBackendKind
Defined in: packages/backend-contract/src/index.ts:146
Which backend implementation is in use.
kit
kit:
SpiceKitBackend
Defined in: packages/backend-contract/src/index.ts:143
Higher-level, tspice-defined functions.
raw
raw:
SpiceRawBackend
Defined in: packages/backend-contract/src/index.ts:140
Low-level, CSPICE-analogous functions.
SpiceKitBackend
Defined in: packages/backend-contract/src/index.ts:132
Composition of all kit domain APIs.
Extends
Methods
cellGetc()
cellGetc(
cell,index):string
Defined in: packages/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
index
number
Returns
string
Inherited from
cellGetd()
cellGetd(
cell,index):number
Defined in: packages/backend-contract/src/domains/cells-windows.ts:72
Fetch the indexth element of a double cell.
Parameters
cell
index
number
Returns
number
Inherited from
cellGeti()
cellGeti(
cell,index):number
Defined in: packages/backend-contract/src/domains/cells-windows.ts:69
Fetch the indexth element of an integer cell.
Parameters
cell
index
number
Returns
number
Inherited from
freeCell()
freeCell(
cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:53
Free a previously-created cell handle.
Parameters
cell
SpiceIntCell | SpiceDoubleCell | SpiceCharCell
Returns
void
Inherited from
freeWindow()
freeWindow(
window):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:56
Free a previously-created window handle.
Parameters
window
Returns
void
Inherited from
newCharCell()
newCharCell(
size,length):SpiceCharCell
Defined in: packages/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
Inherited from
CellsWindowsKitApi.newCharCell
newDoubleCell()
newDoubleCell(
size):SpiceDoubleCell
Defined in: packages/backend-contract/src/domains/cells-windows.ts:39
Create an empty double-precision set cell with the given capacity.
Parameters
size
number
Returns
Inherited from
CellsWindowsKitApi.newDoubleCell
newIntCell()
newIntCell(
size):SpiceIntCell
Defined in: packages/backend-contract/src/domains/cells-windows.ts:36
Create an empty integer set cell with the given capacity.
Parameters
size
number
Returns
Inherited from
newWindow()
newWindow(
maxIntervals):SpiceWindow
Defined in: packages/backend-contract/src/domains/cells-windows.ts:50
Create an empty DP window with capacity for maxIntervals intervals.
Parameters
maxIntervals
number
Returns
Inherited from
readVirtualOutput()
readVirtualOutput(
output):Uint8Array
Defined in: packages/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
Returns
Uint8Array
Inherited from
FileIoKitApi.readVirtualOutput
spiceVersion()
spiceVersion():
string
Defined in: packages/backend-contract/src/domains/time.ts:9
Return the underlying SPICE toolkit version string.
Returns
string
Inherited from
SpiceRawBackend
Defined in: packages/backend-contract/src/index.ts:115
Composition of all raw domain APIs.
Extends
TimeApi.KernelsApi.KernelPoolApi.EkApi.IdsNamesApi.FramesApi.EphemerisApi.GeometryApi.GeometryGfApi.CoordsVectorsApi.FileIoApi.ErrorApi.CellsWindowsApi.DskApi
Methods
axisar()
axisar(
axis,angle):Mat3RowMajor
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:67
Convert an axis and angle to a rotation matrix.
Parameters
axis
angle
number
Returns
Inherited from
bodc2n()
bodc2n(
code):Found<{name:string; }>
Defined in: packages/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
bodc2s()
bodc2s(
code):string
Defined in: packages/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
boddef()
boddef(
name,code):void
Defined in: packages/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
bodfnd()
bodfnd(
body,item):boolean
Defined in: packages/backend-contract/src/domains/ids-names.ts:32
Return true if a body constant exists in the kernel pool.
Normalization:
itemis normalized asnormalizeBodItem(item)(trim ASCII whitespace + ASCII-only uppercase) before lookup.
Parameters
body
number
item
string
Returns
boolean
Inherited from
bodn2c()
bodn2c(
name):Found<{code:number; }>
Defined in: packages/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
bods2c()
bods2c(
name):Found<{code:number; }>
Defined in: packages/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
bodvar()
bodvar(
body,item):number[]
Defined in: packages/backend-contract/src/domains/ids-names.ts:45
Return values of a body constant from the kernel pool.
Normalization:
itemis normalized asnormalizeBodItem(item)(trim ASCII whitespace + ASCII-only uppercase) before lookup.
Missing-item semantics:
- If
itemis not found forbody(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
card()
card(
cell):number
Defined in: packages/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
ccifrm()
ccifrm(
frameClass,classId):Found<{center:number;frcode:number;frname:string; }>
Defined in: packages/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
chkin()
chkin(
name):void
Defined in: packages/backend-contract/src/domains/error.ts:58
Add name to the CSPICE traceback stack.
Parameters
name
string
Returns
void
Inherited from
chkout()
chkout(
name):void
Defined in: packages/backend-contract/src/domains/error.ts:61
Remove name from the CSPICE traceback stack.
Parameters
name
string
Returns
void
Inherited from
cidfrm()
cidfrm(
center):Found<{frcode:number;frname:string; }>
Defined in: packages/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
ckcov()
ckcov(
ck,idcode,needav,level,tol,timsys,cover):void
Defined in: packages/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
tol
number
timsys
cover
Returns
void
Inherited from
ckgp()
ckgp(
inst,sclkdp,tol,ref):Found<{clkout:number;cmat:Mat3RowMajor; }>
Defined in: packages/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
ckgpav()
ckgpav(
inst,sclkdp,tol,ref):Found<{av:SpiceVector3;clkout:number;cmat:Mat3RowMajor; }>
Defined in: packages/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
cklpf()
cklpf(
ck):number
Defined in: packages/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
ckobj()
ckobj(
ck,ids):void
Defined in: packages/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
Returns
void
Inherited from
ckupf()
ckupf(
handle):void
Defined in: packages/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
cnmfrm()
cnmfrm(
centerName):Found<{frcode:number;frname:string; }>
Defined in: packages/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
cvpool()
cvpool(
agent):boolean
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:128
Check whether watched variables for agent have been updated since the last call.
Validation semantics:
agentmust not be empty or whitespace-only.
Parameters
agent
string
Returns
boolean
Inherited from
dafbfs()
dafbfs(
handle):void
Defined in: packages/backend-contract/src/domains/file-io.ts:73
Begin a forward search for arrays in the given DAF file (see dafbfs_c).
Parameters
handle
Returns
void
Inherited from
dafcls()
dafcls(
handle):void
Defined in: packages/backend-contract/src/domains/file-io.ts:70
Close a DAF file previously opened by dafopr().
Parameters
handle
Returns
void
Inherited from
daffna()
daffna(
handle):boolean
Defined in: packages/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
Returns
boolean
Inherited from
dafopr()
dafopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/file-io.ts:67
Open a DAF file for read (see dafopr_c).
Parameters
path
string
Returns
Inherited from
dascls()
dascls(
handle):void
Defined in: packages/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
Returns
void
Inherited from
dasopr()
dasopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/file-io.ts:86
Open a DAS file for read (see dasopr_c).
Parameters
path
string
Returns
Inherited from
deltet()
deltet(
epoch,eptype):number
Defined in: packages/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
dlabfs()
dlabfs(
handle):FoundDlaDescriptor
Defined in: packages/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
Returns
Inherited from
dlacls()
dlacls(
handle):void
Defined in: packages/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
Returns
void
Inherited from
dlafns()
dlafns(
handle,descr):FoundDlaDescriptor
Defined in: packages/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
descr
Returns
Inherited from
dlaopn()
dlaopn(
path,ftype,ifname,ncomch):SpiceHandle
Defined in: packages/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
Inherited from
dskb02()
dskb02(
handle,dladsc):DskType2Bookkeeping
Defined in: packages/backend-contract/src/domains/dsk.ts:59
Return the type 2 DSK segment bookkeeping parameters.
Parameters
handle
dladsc
Returns
Inherited from
dskgd()
dskgd(
handle,dladsc):DskDescriptor
Defined in: packages/backend-contract/src/domains/dsk.ts:56
Return the descriptor of a DSK segment.
Parameters
handle
dladsc
Returns
Inherited from
dskmi2()
dskmi2(
nv,vrtces,np,plates,finscl,corscl,worksz,voxpsz,voxlsz,makvtl,spxisz):object
Defined in: packages/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
dskobj()
dskobj(
dsk,bodids):void
Defined in: packages/backend-contract/src/domains/dsk.ts:50
Return the set of body IDs for which the specified DSK has segments.
Parameters
dsk
string
bodids
Returns
void
Inherited from
dskopn()
dskopn(
path,ifname,ncomch):SpiceHandle
Defined in: packages/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
Inherited from
dsksrf()
dsksrf(
dsk,bodyid,srfids):void
Defined in: packages/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
Returns
void
Inherited from
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: packages/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
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
dtpool()
dtpool(
name):Found<{n:number;type:KernelPoolVarType; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:75
Get kernel pool variable type (C or N) and size.
Validation semantics:
namemust not be empty or whitespace-only.
Parameters
name
string
Returns
Found<{ n: number; type: KernelPoolVarType; }>
Inherited from
ekaclc()
ekaclc(
handle,segno,column,cvals,entszs,nlflgs,rcptrs):void
Defined in: packages/backend-contract/src/domains/ek.ts:219
Add a character column's data to a fast-write segment (see ekaclc_c).
Packing:
entszs,nlflgs, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).cvalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsocvals.length === sum(entszs)remains true.
Parameters
handle
segno
number
column
string
cvals
readonly string[]
entszs
readonly number[]
nlflgs
readonly boolean[]
rcptrs
readonly number[]
Returns
void
Inherited from
ekacld()
ekacld(
handle,segno,column,dvals,entszs,nlflgs,rcptrs):void
Defined in: packages/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, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).dvalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsodvals.length === sum(entszs)remains true.
Parameters
handle
segno
number
column
string
dvals
readonly number[]
entszs
readonly number[]
nlflgs
readonly boolean[]
rcptrs
readonly number[]
Returns
void
Inherited from
ekacli()
ekacli(
handle,segno,column,ivals,entszs,nlflgs,rcptrs):void
Defined in: packages/backend-contract/src/domains/ek.ts:173
Add an integer column's data to a fast-write segment (see ekacli_c).
Packing:
entszs,nlflgs, andrcptrsare per-row arrays and must have the same lengthnrows(thenrowspassed toekifld, i.e.rcptrs.length).ivalsis a packed array containing exactlysum(entszs)values.
NULL rows (nlflgs[i] === true):
- Variable-size columns: set
entszs[i] = 0and do not include any values for that row. - Fixed-size columns (
SIZE = N): include/padNplaceholder values for that row and setentszs[i] = Nsoivals.length === sum(entszs)remains true.
Parameters
handle
segno
number
column
string
ivals
readonly number[]
entszs
readonly number[]
nlflgs
readonly boolean[]
rcptrs
readonly number[]
Returns
void
Inherited from
ekcls()
ekcls(
handle):void
Defined in: packages/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
pathwas backed by byte-staged temp bytes, close EK handles before callingunload()/kclear()to allow best-effort temp file deletion (especially on Windows).
Parameters
handle
Returns
void
Inherited from
ekffld()
ekffld(
handle,segno,rcptrs):void
Defined in: packages/backend-contract/src/domains/ek.ts:230
Complete a fast-write segment (see ekffld_c).
Parameters
handle
segno
number
rcptrs
readonly number[]
Returns
void
Inherited from
ekfind()
ekfind(
query):EkFindResult
Defined in: packages/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
ekifldcan invalidate the active selection/result set. Avoid interleavingekfind/ekg*reads with fast-write; rerunekfindafter fast-write if you need to read again.
Parameters
query
string
Returns
Inherited from
ekgc()
ekgc(
selidx,row,elment):EkGetResult<string>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<string>
Inherited from
ekgd()
ekgd(
selidx,row,elment):EkGetResult<number>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<number>
Inherited from
ekgi()
ekgi(
selidx,row,elment):EkGetResult<number>
Defined in: packages/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'sSELECTclause.row: 0-based row index in the result set (0..nmrows-1from the last successfulekfind).elment: 0-based element index within the cell entry (0for scalar entries).
Parameters
selidx
number
row
number
elment
number
Returns
EkGetResult<number>
Inherited from
ekifld()
ekifld(
handle,tabnam,nrows,cnames,decls):object
Defined in: packages/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
ekifldmay invalidate the active EK query selection (fromekfind). If you need to read query results after starting fast-write, rerunekfind.
Parameters
handle
tabnam
string
nrows
number
cnames
readonly string[]
decls
readonly string[]
Returns
object
rcptrs
rcptrs:
number[]
segno
segno:
number
Inherited from
eknseg()
eknseg(
handle):number
Defined in: packages/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
nwith0 <= n <= 2_147_483_647. - Backends should validate this postcondition and throw if violated.
Parameters
handle
Returns
number
Inherited from
ekntab()
ekntab():
number
Defined in: packages/backend-contract/src/domains/ek.ts:79
Number of EK tables currently loaded (see ekntab_c).
Postconditions:
- Returns an integer count
nwith0 <= n <= 2_147_483_647. - Backends should validate this postcondition and throw if violated.
Returns
number
Inherited from
ekopn()
ekopn(
path,ifname,ncomch):SpiceHandle
Defined in: packages/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
Inherited from
ekopr()
ekopr(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/ek.ts:50
Open an existing EK file for read (see ekopr_c).
Parameters
path
string
Returns
Inherited from
ekopw()
ekopw(
path):SpiceHandle
Defined in: packages/backend-contract/src/domains/ek.ts:53
Open an existing EK file for write (see ekopw_c).
Parameters
path
string
Returns
Inherited from
ektnam()
ektnam(
n):string
Defined in: packages/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
et2utc()
et2utc(
et,format,prec):string
Defined in: packages/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
exists()
exists(
path):boolean
Defined in: packages/backend-contract/src/domains/file-io.ts:59
Returns whether a file exists at path.
Parameters
path
string
Returns
boolean
Inherited from
expool()
expool(
name):boolean
Defined in: packages/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:
namemust not be empty or whitespace-only.
Parameters
name
string
Returns
boolean
Inherited from
failed()
failed():
boolean
Defined in: packages/backend-contract/src/domains/error.ts:43
Return true if the CSPICE error status is currently set.
Returns
boolean
Inherited from
frinfo()
frinfo(
frameId):Found<{center:number;classId:number;frameClass:number; }>
Defined in: packages/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
frmnam()
frmnam(
code):Found<{name:string; }>
Defined in: packages/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
furnsh()
furnsh(
kernel):void
Defined in: packages/backend-contract/src/domains/kernels.ts:34
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
pathbefore calling into SPICE.
Parameters
kernel
Returns
void
Inherited from
gcpool()
gcpool(
name,start,room):Found<{values:string[]; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:53
Get character kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust be a finite integer > 0.
Parameters
name
string
start
number
room
number
Returns
Found<{ values: string[]; }>
Inherited from
gdpool()
gdpool(
name,start,room):Found<{values:number[]; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:33
Get numeric (double) kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust be a finite integer > 0.
Parameters
name
string
start
number
room
number
Returns
Found<{ values: number[]; }>
Inherited from
georec()
georec(
lon,lat,alt,re,f):SpiceVector3
Defined in: packages/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
Inherited from
getfat()
getfat(
path):object
Defined in: packages/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
getmsg()
getmsg(
which):string
Defined in: packages/backend-contract/src/domains/error.ts:49
Get a CSPICE error message component.
Parameters
which
"SHORT" | "LONG" | "EXPLAIN"
Returns
string
Inherited from
gfdist()
gfdist(
target,abcorr,obsrvr,relate,refval,adjust,step,nintvls,cnfine,result):void
Defined in: packages/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
result
Returns
void
Inherited from
gfrefn()
gfrefn(
t1,t2,s1,s2):number
Defined in: packages/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
gfrepf()
gfrepf():
void
Defined in: packages/backend-contract/src/domains/geometry-gf.ts:38
Finalize the default console progress reporter (gfrepf_c).
Returns
void
Inherited from
gfrepi()
gfrepi(
window,begmss,endmss):void
Defined in: packages/backend-contract/src/domains/geometry-gf.ts:35
Initialize the default console progress reporter (gfrepi_c).
Parameters
window
begmss
string
endmss
string
Returns
void
Inherited from
gfsep()
gfsep(
targ1,shape1,frame1,targ2,shape2,frame2,abcorr,obsrvr,relate,refval,adjust,step,nintvls,cnfine,result):void
Defined in: packages/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
result
Returns
void
Inherited from
gfsstp()
gfsstp(
step):void
Defined in: packages/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
gfstep()
gfstep(
time):number
Defined in: packages/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
gfstol()
gfstol(
value):void
Defined in: packages/backend-contract/src/domains/geometry-gf.ts:29
Override the GF convergence tolerance (gfstol_c).
Parameters
value
number
Returns
void
Inherited from
gipool()
gipool(
name,start,room):Found<{values:number[]; }>
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:43
Get numeric (integer) kernel pool values.
Validation semantics:
namemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust be a finite integer > 0.
Parameters
name
string
start
number
room
number
Returns
Found<{ values: number[]; }>
Inherited from
gnpool()
gnpool(
template,start,room):Found<{values:string[]; }>
Defined in: packages/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:
templatemust not be empty or whitespace-only.startmust be a finite integer >= 0 (0-based).roommust be a finite integer > 0.
Parameters
template
string
start
number
room
number
Returns
Found<{ values: string[]; }>
Inherited from
illumf()
illumf(
method,target,ilusrc,et,fixref,abcorr,observer,spoint):IllumfResult
Defined in: packages/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
Returns
Inherited from
illumg()
illumg(
method,target,ilusrc,et,fixref,abcorr,observer,spoint):IluminResult
Defined in: packages/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
Returns
Inherited from
ilumin()
ilumin(
method,target,et,fixref,abcorr,observer,spoint):IluminResult
Defined in: packages/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
Returns
Inherited from
insrtc()
insrtc(
item,cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:113
Insert a string into a character set cell. (insrtc_c)
Parameters
item
string
cell
Returns
void
Inherited from
insrtd()
insrtd(
item,cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:110
Insert a double into a double set cell. (insrtd_c)
Parameters
item
number
cell
Returns
void
Inherited from
insrti()
insrti(
item,cell):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:107
Insert an integer into an integer set cell. (insrti_c)
Parameters
item
number
cell
Returns
void
Inherited from
kclear()
kclear():
void
Defined in: packages/backend-contract/src/domains/kernels.ts:42
Clear all loaded kernels.
Returns
void
Inherited from
kdata()
kdata(
which,kind?):Found<KernelData>
Defined in: packages/backend-contract/src/domains/kernels.ts:66
Retrieve kernel metadata at position which for a given kind.
Parameters
which
number
kind?
Returns
Inherited from
kinfo()
kinfo(
path):Found<KernelInfo>
Defined in: packages/backend-contract/src/domains/kernels.ts:45
Retrieve information about a currently loaded kernel by filename.
Parameters
path
string
Returns
Inherited from
kplfrm()
kplfrm(
frmcls,idset):void
Defined in: packages/backend-contract/src/domains/kernels.ts:60
Return kernel-pool frame IDs for the given frame class.
Parameters
frmcls
number
idset
Returns
void
Inherited from
ktotal()
ktotal(
kind?):number
Defined in: packages/backend-contract/src/domains/kernels.ts:63
Count loaded kernels of a given kind.
Parameters
kind?
Returns
number
Inherited from
kxtrct()
kxtrct(
keywd,terms,wordsq):Found<{substr:string;wordsq:string; }>
Defined in: packages/backend-contract/src/domains/kernels.ts:53
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
latrec()
latrec(
radius,lon,lat):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:14
SPICE latrec_c: latitudinal -> rectangular coordinates.
Parameters
radius
number
lon
number
lat
number
Returns
Inherited from
mtxv()
mtxv(
m,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:77
SPICE mtxv_c: multiply transpose(matrix) by vector.
Parameters
m
v
Returns
Inherited from
mxm()
mxm(
a,b):Mat3RowMajor
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:48
SPICE mxm_c: matrix-matrix multiplication.
Parameters
a
b
Returns
Inherited from
mxv()
mxv(
m,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:75
SPICE mxv_c: multiply matrix by vector.
Parameters
m
v
Returns
Inherited from
namfrm()
namfrm(
name):Found<{code:number; }>
Defined in: packages/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
nvc2pl()
nvc2pl(
normal,konst):SpicePlane
Defined in: packages/backend-contract/src/domains/geometry.ts:107
Convert a normal vector + constant to a plane.
Parameters
normal
konst
number
Returns
Inherited from
occult()
occult(
targ1,shape1,frame1,targ2,shape2,frame2,abcorr,observer,et):number
Defined in: packages/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
pcpool()
pcpool(
name,values):void
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:107
Put character values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay be empty (sets an empty value list).
Parameters
name
string
values
readonly string[]
Returns
void
Inherited from
pdpool()
pdpool(
name,values):void
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:87
Put numeric (double) values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay 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
pipool()
pipool(
name,values):void
Defined in: packages/backend-contract/src/domains/kernel-pool.ts:98
Put numeric (integer) values into the kernel pool.
Validation semantics:
namemust not be empty or whitespace-only.valuesmay 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
pl2nvc()
pl2nvc(
plane):Pl2nvcResult
Defined in: packages/backend-contract/src/domains/geometry.ts:110
Convert a plane to a unit normal vector + constant.
Parameters
plane
Returns
Inherited from
pxform()
pxform(
from,to,et):Mat3RowMajor
Defined in: packages/backend-contract/src/domains/frames.ts:78
Compute a 3x3 frame transformation matrix (row-major).
Parameters
from
string
to
string
et
number
Returns
Inherited from
recgeo()
recgeo(
rect,re,f):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:72
SPICE recgeo_c: rectangular -> geodetic lon/lat/alt coordinates.
Parameters
rect
re
number
f
number
Returns
object
alt
alt:
number
lat
lat:
number
lon
lon:
number
Inherited from
reclat()
reclat(
rect):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:12
SPICE reclat_c: rectangular -> latitudinal coordinates.
Parameters
rect
Returns
object
lat
lat:
number
lon
lon:
number
radius
radius:
number
Inherited from
recsph()
recsph(
rect):object
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:17
SPICE recsph_c: rectangular -> spherical coordinates.
Parameters
rect
Returns
object
colat
colat:
number
lon
lon:
number
radius
radius:
number
Inherited from
reset()
reset():
void
Defined in: packages/backend-contract/src/domains/error.ts:46
Reset/clear the CSPICE error status and messages.
Returns
void
Inherited from
rotate()
rotate(
angle,axis):Mat3RowMajor
Defined in: packages/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
Inherited from
rotmat()
rotmat(
m,angle,axis):Mat3RowMajor
Defined in: packages/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
angle
number
axis
number
Returns
Inherited from
scard()
scard(
card,cell):void
Defined in: packages/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
scdecd()
scdecd(
sc,sclkdp):string
Defined in: packages/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
sce2c()
sce2c(
sc,et):number
Defined in: packages/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
sce2s()
sce2s(
sc,et):string
Defined in: packages/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
scencd()
scencd(
sc,sclkch):number
Defined in: packages/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
scs2e()
scs2e(
sc,sclkch):number
Defined in: packages/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
sct2e()
sct2e(
sc,sclkdp):number
Defined in: packages/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
setmsg()
setmsg(
message):void
Defined in: packages/backend-contract/src/domains/error.ts:52
Set the long error message text used by sigerr().
Parameters
message
string
Returns
void
Inherited from
sigerr()
sigerr(
short):void
Defined in: packages/backend-contract/src/domains/error.ts:55
Signal a CSPICE error with the provided short error code (e.g. "SPICE(BADTIME)").
Parameters
short
string
Returns
void
Inherited from
sincpt()
sincpt(
method,target,et,fixref,abcorr,observer,dref,dvec):Found<SubPointResult>
Defined in: packages/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
Returns
Inherited from
size()
size(
cell):number
Defined in: packages/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
sphrec()
sphrec(
radius,colat,lon):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:19
SPICE sphrec_c: spherical -> rectangular coordinates.
Parameters
radius
number
colat
number
lon
number
Returns
Inherited from
spkcls()
spkcls(
handle):void
Defined in: packages/backend-contract/src/domains/ephemeris.ts:203
Close an SPK file previously opened by spkopn/spkopa (see spkcls_c).
Parameters
handle
Returns
void
Inherited from
spkcov()
spkcov(
spk,idcode,cover):void
Defined in: packages/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:
spkis a host filesystem path. - WASM backend:
spkis an Emscripten FS (virtual) path/id (typically thepathyou used infurnsh({ 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
Returns
void
Inherited from
spkez()
spkez(
target,et,ref,abcorr,observer):SpkezrResult
Defined in: packages/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
Inherited from
spkezp()
spkezp(
target,et,ref,abcorr,observer):SpkposResult
Defined in: packages/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
Inherited from
spkezr()
spkezr(
target,et,ref,abcorr,observer):SpkezrResult
Defined in: packages/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
Inherited from
spkgeo()
spkgeo(
target,et,ref,observer):SpkezrResult
Defined in: packages/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
Inherited from
spkgps()
spkgps(
target,et,ref,observer):SpkposResult
Defined in: packages/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
Inherited from
spkobj()
spkobj(
spk,ids):void
Defined in: packages/backend-contract/src/domains/ephemeris.ts:150
Find the set of objects present in an SPK via spkobj.
Path semantics (backend-dependent):
- Node backend:
spkis a host filesystem path. - WASM backend:
spkis an Emscripten FS (virtual) path/id (typically thepathyou used infurnsh({ 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
Returns
void
Inherited from
spkopa()
spkopa(
file):SpiceHandle
Defined in: packages/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
Inherited from
spkopn()
spkopn(
file,ifname,ncomch):SpiceHandle
Defined in: packages/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: stringis 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.bspspkopn("/kernels/out.bsp", ...)refers to the same filespkopn("/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
Inherited from
spkpds()
spkpds(
body,center,frame,type,first,last):SpkPackedDescriptor
Defined in: packages/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
Inherited from
spkpos()
spkpos(
target,et,ref,abcorr,observer):SpkposResult
Defined in: packages/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
Inherited from
spksfs()
spksfs(
body,et):Found<{descr:SpkPackedDescriptor;handle:number;ident:string; }>
Defined in: packages/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
spkssb()
spkssb(
target,et,ref):SpiceStateVector
Defined in: packages/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
Inherited from
spkuds()
spkuds(
descr):SpkUnpackedDescriptor
Defined in: packages/backend-contract/src/domains/ephemeris.ts:170
Unpack a packed SPK segment descriptor via spkuds.
Parameters
descr
Returns
Inherited from
spkw08()
spkw08(
handle,body,center,frame,first,last,segid,degree,states,epoch1,step):void
Defined in: packages/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
body
number
center
number
frame
string
first
number
last
number
segid
string
degree
number
states
Float64Array<ArrayBufferLike> | readonly number[]
epoch1
number
step
number
Returns
void
Inherited from
ssize()
ssize(
size,cell):void
Defined in: packages/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
str2et()
str2et(
time):number
Defined in: packages/backend-contract/src/domains/time.ts:24
Convert a time string to ET seconds past J2000.
Parameters
time
string
Returns
number
Inherited from
subpnt()
subpnt(
method,target,et,fixref,abcorr,observer):SubPointResult
Defined in: packages/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
Inherited from
subslr()
subslr(
method,target,et,fixref,abcorr,observer):SubPointResult
Defined in: packages/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
Inherited from
swpool()
swpool(
agent,names):void
Defined in: packages/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:
agentmust not be empty or whitespace-only.namesmay be empty (watch nothing).
Parameters
agent
string
names
readonly string[]
Returns
void
Inherited from
sxform()
sxform(
from,to,et):SpiceMatrix6x6
Defined in: packages/backend-contract/src/domains/frames.ts:81
Compute a 6x6 state transformation matrix (row-major).
Parameters
from
string
to
string
et
number
Returns
Inherited from
timdef()
Call Signature
timdef(
action,item):string
Defined in: packages/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
Call Signature
timdef(
action,item,value):void
Defined in: packages/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
timout()
timout(
et,picture):string
Defined in: packages/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
tkvrsn()
tkvrsn(
item):string
Defined in: packages/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
tparse()
tparse(
timstr):number
Defined in: packages/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:
timstrmust 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
tpictr()
tpictr(
sample,pictur):string
Defined in: packages/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
unitim()
unitim(
epoch,insys,outsys):number
Defined in: packages/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
unload()
unload(
path):void
Defined in: packages/backend-contract/src/domains/kernels.ts:39
Unload a SPICE kernel previously loaded via furnsh().
Parameters
path
string
Returns
void
Inherited from
vadd()
vadd(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:39
SPICE vadd_c: vector addition.
Parameters
a
b
Returns
Inherited from
valid()
valid(
size,n,cell):void
Defined in: packages/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
vcrss()
vcrss(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:36
SPICE vcrss_c: cross product of two vectors.
Parameters
a
b
Returns
Inherited from
vdot()
vdot(
a,b):number
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:34
SPICE vdot_c: dot product of two vectors.
Parameters
a
b
Returns
number
Inherited from
vhat()
vhat(
v):SpiceVector3
Defined in: packages/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
Returns
Inherited from
vminus()
vminus(
v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:43
SPICE vminus_c: negate a vector.
Parameters
v
Returns
Inherited from
vnorm()
vnorm(
v):number
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:22
SPICE vnorm_c: vector magnitude (Euclidean norm).
Parameters
v
Returns
number
Inherited from
vscl()
vscl(
s,v):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:45
SPICE vscl_c: multiply vector by scalar.
Parameters
s
number
v
Returns
Inherited from
vsub()
vsub(
a,b):SpiceVector3
Defined in: packages/backend-contract/src/domains/coords-vectors.ts:41
SPICE vsub_c: vector subtraction.
Parameters
a
b
Returns
Inherited from
wncard()
wncard(
window):number
Defined in: packages/backend-contract/src/domains/cells-windows.ts:121
Return the number of intervals in a DP window. (wncard_c)
Parameters
window
Returns
number
Inherited from
wnfetd()
wnfetd(
window,index): readonly [number,number]
Defined in: packages/backend-contract/src/domains/cells-windows.ts:124
Fetch the indexth interval from a DP window. (wnfetd_c)
Parameters
window
index
number
Returns
readonly [number, number]
Inherited from
wninsd()
wninsd(
left,right,window):void
Defined in: packages/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
Returns
void
Inherited from
wnvald()
wnvald(
size,n,window):void
Defined in: packages/backend-contract/src/domains/cells-windows.ts:127
Validate and normalize a DP window. (wnvald_c)
Parameters
size
number
n
number
window
Returns
void
Inherited from
StringArrayResult
Defined in: packages/backend-contract/src/shared/types.ts:141
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: packages/backend-contract/src/shared/types.ts:143
values
values:
string[]
Defined in: packages/backend-contract/src/shared/types.ts:142
TimeApi
Defined in: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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: packages/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:
timstrmust 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: packages/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: packages/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: packages/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: packages/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: packages/backend-contract/src/shared/types.ts:83
SPICE aberration correction string accepted by spkezr/spkpos.
BrandMat3Options
BrandMat3Options =
object
Defined in: packages/backend-contract/src/shared/mat3.ts:5
Properties
freeze?
readonlyoptionalfreeze:FreezeMode
Defined in: packages/backend-contract/src/shared/mat3.ts:18
If set, freeze branded matrices to prevent mutation at runtime.
Defaults to "dev".
label?
readonlyoptionallabel:string
Defined in: packages/backend-contract/src/shared/mat3.ts:11
Used for error messages (e.g. "pxform()").
Defaults to "Mat3".
BrandMat6Options
BrandMat6Options =
object
Defined in: packages/backend-contract/src/shared/mat6.ts:5
Properties
freeze?
readonlyoptionalfreeze:FreezeMode
Defined in: packages/backend-contract/src/shared/mat6.ts:18
If set, freeze branded matrices to prevent mutation at runtime.
Defaults to "dev".
label?
readonlyoptionallabel:string
Defined in: packages/backend-contract/src/shared/mat6.ts:11
Used for error messages (e.g. "sxform()").
Defaults to "Mat6RowMajor".
BrandVecOptions
BrandVecOptions =
object
Defined in: packages/backend-contract/src/shared/vec.ts:5
Properties
freeze?
readonlyoptionalfreeze:FreezeMode
Defined in: packages/backend-contract/src/shared/vec.ts:18
If set, freeze branded values to prevent mutation at runtime.
Defaults to "dev".
label?
readonlyoptionallabel:string
Defined in: packages/backend-contract/src/shared/vec.ts:11
Used for error messages (e.g. "spkezr()").
Defaults to "Vec".
CkCoverageLevel
CkCoverageLevel =
"SEGMENT"|"INTERVAL"
Defined in: packages/backend-contract/src/domains/frames.ts:12
Coverage detail level returned by FramesApi.ckcov.
CkCoverageTimeSystem
CkCoverageTimeSystem =
"SCLK"|"TDB"
Defined in: packages/backend-contract/src/domains/frames.ts:15
Time system used for coverage windows returned by FramesApi.ckcov.
DlaDescriptor
DlaDescriptor =
object
Defined in: packages/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: packages/backend-contract/src/domains/file-io.ts:25
cbase
cbase:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:31
csize
csize:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:32
dbase
dbase:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:29
dsize
dsize:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:30
fwdptr
fwdptr:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:26
ibase
ibase:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:27
isize
isize:
number
Defined in: packages/backend-contract/src/domains/file-io.ts:28
DskDescriptor
DskDescriptor =
object
Defined in: packages/backend-contract/src/domains/dsk.ts:7
Segment descriptor returned by dskgd (CSPICE: SpiceDSKDescr).
Properties
center
center:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:10
co1max
co1max:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:19
co1min
co1min:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:18
co2max
co2max:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:21
co2min
co2min:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:20
co3max
co3max:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:23
co3min
co3min:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:22
corpar
corpar:
number[]
Defined in: packages/backend-contract/src/domains/dsk.ts:16
Coordinate system parameters (CSPICE: corpar[SPICE_DSK_NSYPAR]).
corsys
corsys:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:14
dclass
dclass:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:11
dtype
dtype:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:12
frmcde
frmcde:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:13
start
start:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:24
stop
stop:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:25
surfce
surfce:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:9
DskType2Bookkeeping
DskType2Bookkeeping =
object
Defined in: packages/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: packages/backend-contract/src/domains/dsk.ts:41
np
np:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:31
nv
nv:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:30
nvxtot
nvxtot:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:32
vgrext
vgrext:
SpiceVector3
Defined in: packages/backend-contract/src/domains/dsk.ts:39
voxnpl
voxnpl:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:44
voxnpt
voxnpt:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:43
voxori
voxori:
SpiceVector3
Defined in: packages/backend-contract/src/domains/dsk.ts:38
voxsiz
voxsiz:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:37
vtxbds
vtxbds: [[
number,number], [number,number], [number,number]]
Defined in: packages/backend-contract/src/domains/dsk.ts:35
Vertex bounds: [[xmin,xmax],[ymin,ymax],[zmin,zmax]] (CSPICE: vtxbds[3][2]).
vtxnpl
vtxnpl:
number
Defined in: packages/backend-contract/src/domains/dsk.ts:42
EkFindResult
EkFindResult = {
nmrows:number;ok:true; } | {errmsg:string;ok:false; }
Defined in: packages/backend-contract/src/domains/ek.ts:21
Result of running an EK query via ekfind.
Notes:
ekfindhas a non-standard error reporting mechanism: query parse/semantic failures are returned via anerror/errmsgoutput 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: packages/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 (commonlyelmentis 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: packages/backend-contract/src/shared/types.ts:133
Type Declaration
[___fixedStringMaxBrand]
readonly[___fixedStringMaxBrand]:Max
Type Parameters
Max
Max extends number
Found
Found<
T> = {found:false; } |object&T
Defined in: packages/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: packages/backend-contract/src/domains/file-io.ts:35
FoundDouble
FoundDouble =
FoundValue<number>
Defined in: packages/backend-contract/src/shared/types.ts:63
FoundInt
FoundInt =
FoundValue<number>
Defined in: packages/backend-contract/src/shared/types.ts:62
FoundPayload
FoundPayload<
T> =TextendsFound<infer P> ?P:never
Defined in: packages/backend-contract/src/shared/types.ts:66
Extract the payload type of a Found<...> result.
Type Parameters
T
T
FoundString
FoundString =
FoundValue<string>
Defined in: packages/backend-contract/src/shared/types.ts:61
FoundValue
FoundValue<
T> =Found<{value:T; }>
Defined in: packages/backend-contract/src/shared/types.ts:59
Convenience alias for the most common Found payload shape.
Type Parameters
T
T
GetmsgWhich
GetmsgWhich = typeof
GETMSG_WHICH_VALUES[number]
Defined in: packages/backend-contract/src/domains/error.ts:16
GfRelate
GfRelate =
">"|"<"|"="|"ABSMAX"|"ABSMIN"|"LOCMAX"|"LOCMIN"
Defined in: packages/backend-contract/src/domains/geometry-gf.ts:18
Relation operators accepted by many high-level GF searches.
IllumfResult
IllumfResult =
IluminResult&object
Defined in: packages/backend-contract/src/shared/types.ts:282
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: packages/backend-contract/src/shared/types.ts:279
Result payload for illumg().
IluminResult
IluminResult =
object
Defined in: packages/backend-contract/src/shared/types.ts:265
Properties
emissn
emissn:
number
Defined in: packages/backend-contract/src/shared/types.ts:275
Emission angle at spoint, radians.
incdnc
incdnc:
number
Defined in: packages/backend-contract/src/shared/types.ts:273
Solar incidence angle at spoint, radians.
phase
phase:
number
Defined in: packages/backend-contract/src/shared/types.ts:271
Phase angle at spoint, radians.
srfvec
srfvec:
SpiceVector3
Defined in: packages/backend-contract/src/shared/types.ts:269
Vector from observer to spoint, expressed in fixref at trgepc.
trgepc
trgepc:
number
Defined in: packages/backend-contract/src/shared/types.ts:267
Target epoch associated with spoint, in seconds past J2000 TDB.
KernelData
KernelData =
object
Defined in: packages/backend-contract/src/shared/types.ts:68
Properties
file
file:
string
Defined in: packages/backend-contract/src/shared/types.ts:69
filtyp
filtyp:
string
Defined in: packages/backend-contract/src/shared/types.ts:70
handle
handle:
number
Defined in: packages/backend-contract/src/shared/types.ts:72
source
source:
string
Defined in: packages/backend-contract/src/shared/types.ts:71
KernelInfo
KernelInfo =
object
Defined in: packages/backend-contract/src/shared/types.ts:76
Result payload for kinfo().
Properties
filtyp
filtyp:
string
Defined in: packages/backend-contract/src/shared/types.ts:77
handle
handle:
number
Defined in: packages/backend-contract/src/shared/types.ts:79
source
source:
string
Defined in: packages/backend-contract/src/shared/types.ts:78
KernelKind
KernelKind =
"ALL"|"SPK"|"CK"|"PCK"|"DSK"|"TEXT"|"LSK"|"FK"|"IK"|"SCLK"|"EK"|"META"
Defined in: packages/backend-contract/src/shared/types.ts:29
Kernel types used by summary/introspection APIs.
KernelKindInput
KernelKindInput =
KernelKind| readonlyKernelKind[] |string
Defined in: packages/backend-contract/src/domains/kernels.ts:23
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: packages/backend-contract/src/domains/kernel-pool.ts:19
KernelSource
KernelSource =
string| {bytes:Uint8Array;path:string; }
Defined in: packages/backend-contract/src/shared/types.ts:1
Mat3ColMajor
Mat3ColMajor = readonly [
number,number,number,number,number,number,number,number,number] &object
Defined in: packages/backend-contract/src/shared/types.ts:176
Type Declaration
[___mat3ColMajorBrand]
readonly[___mat3ColMajorBrand]:true
Mat3RowMajor
Mat3RowMajor = readonly [
number,number,number,number,number,number,number,number,number] &object
Defined in: packages/backend-contract/src/shared/types.ts:157
Type Declaration
[___mat3RowMajorBrand]
readonly[___mat3RowMajorBrand]:true
Mat6RowMajor
Mat6RowMajor =
Readonly<SpiceMatrix6x6> &object
Defined in: packages/backend-contract/src/shared/types.ts:235
Type Declaration
[___mat6RowMajorBrand]
readonly[___mat6RowMajorBrand]:true
Pl2nvcResult
Pl2nvcResult =
object
Defined in: packages/backend-contract/src/shared/types.ts:290
Result payload for pl2nvc().
Properties
konst
konst:
number
Defined in: packages/backend-contract/src/shared/types.ts:292
normal
normal:
SpiceVector3
Defined in: packages/backend-contract/src/shared/types.ts:291
SpiceBackendKind
SpiceBackendKind =
"node"|"wasm"|"fake"
Defined in: packages/backend-contract/src/index.ts:112
SpiceCharCell
SpiceCharCell =
number&object
Defined in: packages/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: packages/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 =
number&object
Defined in: packages/backend-contract/src/shared/types.ts:110
Opaque numeric handle returned by low-level SPICE file APIs (DAF/DAS/DLA).
Type Declaration
[___spiceHandleBrand]
readonly[___spiceHandleBrand]:true
SpiceHandleEntry
SpiceHandleEntry =
object
Defined in: packages/backend-contract/src/shared/spice-handles.ts:7
Properties
kind
kind:
SpiceHandleKind
Defined in: packages/backend-contract/src/shared/spice-handles.ts:8
nativeHandle
nativeHandle:
number
Defined in: packages/backend-contract/src/shared/spice-handles.ts:9
SpiceHandleKind
SpiceHandleKind =
"DAF"|"DAS"|"DLA"|"SPK"|"EK"
Defined in: packages/backend-contract/src/shared/spice-handles.ts:5
SpiceHandleRegistry
SpiceHandleRegistry =
object
Defined in: packages/backend-contract/src/shared/spice-handles.ts:12
Properties
__entries()?
optional__entries: () =>ReadonlyArray<readonly [SpiceHandle,SpiceHandleEntry]>
Defined in: packages/backend-contract/src/shared/spice-handles.ts:25
Returns
ReadonlyArray<readonly [SpiceHandle, SpiceHandleEntry]>
close()
close: (
handle,expected,closeNative,context) =>void
Defined in: packages/backend-contract/src/shared/spice-handles.ts:15
Parameters
handle
expected
readonly SpiceHandleKind[]
closeNative
(entry) => void
context
string
Returns
void
lookup()
lookup: (
handle,expected,context) =>SpiceHandleEntry
Defined in: packages/backend-contract/src/shared/spice-handles.ts:14
Parameters
handle
expected
readonly SpiceHandleKind[]
context
string
Returns
register()
register: (
kind,nativeHandle) =>SpiceHandle
Defined in: packages/backend-contract/src/shared/spice-handles.ts:13
Parameters
kind
nativeHandle
number
Returns
size()
size: () =>
number
Defined in: packages/backend-contract/src/shared/spice-handles.ts:21
Returns
number
SpiceIntCell
SpiceIntCell =
number&object
Defined in: packages/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: packages/backend-contract/src/shared/types.ts:189
SpicePlane
SpicePlane = [
number,number,number,number]
Defined in: packages/backend-contract/src/shared/types.ts:101
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: packages/backend-contract/src/shared/types.ts:237
SpiceVector3
SpiceVector3 = [
number,number,number]
Defined in: packages/backend-contract/src/shared/types.ts:94
SpiceWindow
SpiceWindow =
number&object
Defined in: packages/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: packages/backend-contract/src/shared/types.ts:246
Properties
lt
lt:
number
Defined in: packages/backend-contract/src/shared/types.ts:248
state
state:
SpiceStateVector
Defined in: packages/backend-contract/src/shared/types.ts:247
SpkPackedDescriptor
SpkPackedDescriptor = readonly [
number,number,number,number,number]
Defined in: packages/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: packages/backend-contract/src/shared/types.ts:251
Properties
lt
lt:
number
Defined in: packages/backend-contract/src/shared/types.ts:253
pos
pos:
SpiceVector3
Defined in: packages/backend-contract/src/shared/types.ts:252
SpkUnpackedDescriptor
SpkUnpackedDescriptor =
object
Defined in: packages/backend-contract/src/domains/ephemeris.ts:26
Unpacked SPK segment descriptor (see spkuds_c).
Properties
baddr
baddr:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:35
body
body:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:27
center
center:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:28
eaddr
eaddr:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:36
first
first:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:32
frame
frame:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:29
last
last:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:33
type
type:
number
Defined in: packages/backend-contract/src/domains/ephemeris.ts:30
SubPointResult
SubPointResult =
object
Defined in: packages/backend-contract/src/shared/types.ts:256
Properties
spoint
spoint:
SpiceVector3
Defined in: packages/backend-contract/src/shared/types.ts:258
Sub-point on target body surface, expressed in fixref at trgepc.
srfvec
srfvec:
SpiceVector3
Defined in: packages/backend-contract/src/shared/types.ts:262
Vector from observer to spoint, expressed in fixref at trgepc.
trgepc
trgepc:
number
Defined in: packages/backend-contract/src/shared/types.ts:260
Target epoch associated with spoint, in seconds past J2000 TDB.
Vec3
Vec3 = readonly [
number,number,number] &object
Defined in: packages/backend-contract/src/shared/types.ts:116
Type Declaration
[___vec3Brand]
readonly[___vec3Brand]:true
Vec6
Vec6 = readonly [
number,number,number,number,number,number] &object
Defined in: packages/backend-contract/src/shared/types.ts:120
Type Declaration
[___vec6Brand]
readonly[___vec6Brand]:true
VirtualOutput
VirtualOutput =
object
Defined in: packages/backend-contract/src/shared/types.ts:23
Virtual output reference used by writer APIs.
Lifecycle:
- A
VirtualOutputis only guaranteed to be readable viareadVirtualOutput()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:
pathis 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: packages/backend-contract/src/shared/types.ts:24
path
path:
string
Defined in: packages/backend-contract/src/shared/types.ts:25
Variables
GETMSG_WHICH_VALUES
constGETMSG_WHICH_VALUES: readonly ["SHORT","LONG","EXPLAIN"]
Defined in: packages/backend-contract/src/domains/error.ts:14
Subset of CSPICE error/status utilities exposed by tspice backends.
SPICE_INT32_MAX
constSPICE_INT32_MAX:2147483647=0x7fffffff
Defined in: packages/backend-contract/src/shared/spice-int.ts:2
SPICE_INT32_MIN
constSPICE_INT32_MIN:-2147483648=-0x80000000
Defined in: packages/backend-contract/src/shared/spice-int.ts:1
Functions
assertGetmsgWhich()
assertGetmsgWhich(
which): asserts which is "SHORT" | "LONG" | "EXPLAIN"
Defined in: packages/backend-contract/src/domains/error.ts:34
Runtime validation for getmsg(which).
Even though which is a narrow union type, callers may still pass arbitrary values at runtime (e.g. JS consumers, as any, etc.). Backends must reject invalid selectors rather than forwarding them to CSPICE.
Parameters
which
unknown
Returns
asserts which is "SHORT" | "LONG" | "EXPLAIN"
assertMat3ArrayLike9()
assertMat3ArrayLike9(
value,options?):asserts value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/mat3.ts:95
Runtime validation that an input is a length-9 array-like of finite numbers.
This is intentionally layout-agnostic; it is used by both row-major and column-major branded types.
Parameters
value
unknown
options?
label?
string
Returns
asserts value is ArrayLike<number>
assertMat6ArrayLike36()
assertMat6ArrayLike36(
value,options?):asserts value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/mat6.ts:87
Runtime validation that an input is a length-36 array-like of finite numbers.
Parameters
value
unknown
options?
label?
string
Returns
asserts value is ArrayLike<number>
assertSpiceInt32()
assertSpiceInt32(
value,label,opts?):asserts value is number
Defined in: packages/backend-contract/src/shared/spice-int.ts:31
Runtime validation for values that will cross the JS → native boundary as a CSPICE SpiceInt.
What this checks:
valueis a safe integer (no fractional values, noNaN, noInfinity).valueis within the signed 32-bit range.- Optional extra bounds (
opts.min/opts.max).
What this does not check:
- That the value is valid for a specific CSPICE call (e.g. an index being in range for a particular cell/window).
- That the host platform's
SpiceIntis 32-bit. (Many CSPICE builds use a wider integer type.) We intentionally validate to 32-bit because:- the Node addon reads numbers via
Int32Value(), and - the WASM backend consumes values as
i32.
- the Node addon reads numbers via
If callers pass values outside the 32-bit range, JS → native conversion would otherwise wrap/truncate.
Parameters
value
number
label
string
opts?
AssertSpiceInt32Options = {}
Returns
asserts value is number
assertSpiceInt32NonNegative()
assertSpiceInt32NonNegative(
value,label):asserts value is number
Defined in: packages/backend-contract/src/shared/spice-int.ts:51
Assert that a value is a non-negative signed 32-bit integer.
Parameters
value
number
label
string
Returns
asserts value is number
assertVec3ArrayLike3()
assertVec3ArrayLike3(
value,options?):asserts value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/vec.ts:134
Assert that a value is an array-like Vec3 (length 3) of finite numbers.
Parameters
value
unknown
options?
label?
string
Returns
asserts value is ArrayLike<number>
assertVec6ArrayLike6()
assertVec6ArrayLike6(
value,options?):asserts value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/vec.ts:139
Assert that a value is an array-like Vec6 (length 6) of finite numbers.
Parameters
value
unknown
options?
label?
string
Returns
asserts value is ArrayLike<number>
brandMat3ColMajor()
brandMat3ColMajor(
value,options?):Mat3ColMajor
Defined in: packages/backend-contract/src/shared/mat3.ts:172
Validate + brand a value as a column-major Mat3.
Parameters
value
unknown
options?
Returns
brandMat3RowMajor()
brandMat3RowMajor(
value,options?):Mat3RowMajor
Defined in: packages/backend-contract/src/shared/mat3.ts:157
Validate + brand a value as a row-major Mat3.
Used at backend boundaries (node/wasm/fake) to avoid ad-hoc as Mat3RowMajor casts.
Parameters
value
unknown
options?
Returns
brandMat6RowMajor()
brandMat6RowMajor(
value,options?):Mat6RowMajor
Defined in: packages/backend-contract/src/shared/mat6.ts:147
Validate + brand a value as a row-major 6x6 matrix.
Parameters
value
unknown
options?
Returns
brandVec3()
brandVec3(
value,options?):Vec3
Defined in: packages/backend-contract/src/shared/vec.ts:144
Validate and brand a value as a Vec3.
Parameters
value
unknown
options?
Returns
brandVec6()
brandVec6(
value,options?):Vec6
Defined in: packages/backend-contract/src/shared/vec.ts:156
Validate and brand a value as a Vec6.
Parameters
value
unknown
options?
Returns
createSpiceHandleRegistry()
createSpiceHandleRegistry():
SpiceHandleRegistry
Defined in: packages/backend-contract/src/shared/spice-handles.ts:51
Create an in-memory registry for opaque SpiceHandle values.
Used by backends to map stable JS handles to backend-native integer handles.
Returns
isBrandedMat3ColMajor()
isBrandedMat3ColMajor(
value):value is Mat3ColMajor
Defined in: packages/backend-contract/src/shared/mat3.ts:195
Brand-only check: verifies that a value was produced by brandMat3ColMajor().
Parameters
value
unknown
Returns
value is Mat3ColMajor
isBrandedMat3RowMajor()
isBrandedMat3RowMajor(
value):value is Mat3RowMajor
Defined in: packages/backend-contract/src/shared/mat3.ts:187
Brand-only check: verifies that a value was produced by brandMat3RowMajor().
Parameters
value
unknown
Returns
value is Mat3RowMajor
isBrandedMat6RowMajor()
isBrandedMat6RowMajor(
value):value is Mat6RowMajor
Defined in: packages/backend-contract/src/shared/mat6.ts:161
Brand-only check: verifies that a value was produced by brandMat6RowMajor().
Parameters
value
unknown
Returns
value is Mat6RowMajor
isBrandedVec3()
isBrandedVec3(
value):value is Vec3
Defined in: packages/backend-contract/src/shared/vec.ts:200
Brand-only check: verifies that a value was produced by brandVec3().
Note: this intentionally rejects structurally-valid TypedArrays.
Parameters
value
unknown
Returns
value is Vec3
isBrandedVec6()
isBrandedVec6(
value):value is Vec6
Defined in: packages/backend-contract/src/shared/vec.ts:210
Brand-only check: verifies that a value was produced by brandVec6().
Note: this intentionally rejects structurally-valid TypedArrays.
Parameters
value
unknown
Returns
value is Vec6
isGetmsgWhich()
isGetmsgWhich(
which): which is "SHORT" | "LONG" | "EXPLAIN"
Defined in: packages/backend-contract/src/domains/error.ts:19
Type guard for GetmsgWhich.
Parameters
which
unknown
Returns
which is "SHORT" | "LONG" | "EXPLAIN"
isMat3ArrayLike9()
isMat3ArrayLike9(
value):value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/mat3.ts:119
Structural check: accepts number[] and numeric TypedArrays (excludes DataView).
This does not assert/require that the value is branded as a row/col-major Mat3.
Parameters
value
unknown
Returns
value is ArrayLike<number>
isMat6ArrayLike36()
isMat6ArrayLike36(
value):value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/mat6.ts:114
Structural check: accepts number[] and numeric TypedArrays (excludes DataView).
This does not assert/require that the value is branded as a row-major Mat6.
Parameters
value
unknown
Returns
value is ArrayLike<number>
isVec3ArrayLike3()
isVec3ArrayLike3(
value):value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/vec.ts:172
Structural check: accepts number[] and numeric TypedArrays (excludes DataView).
This does not assert/require that the value is branded as a Vec3.
Parameters
value
unknown
Returns
value is ArrayLike<number>
isVec6ArrayLike6()
isVec6ArrayLike6(
value):value is ArrayLike<number>
Defined in: packages/backend-contract/src/shared/vec.ts:186
Structural check: accepts number[] and numeric TypedArrays (excludes DataView).
This does not assert/require that the value is branded as a Vec6.
Parameters
value
unknown
Returns
value is ArrayLike<number>
kxtrctJs()
kxtrctJs(
keywd,terms,wordsq):Found<{substr:string;wordsq:string; }>
Defined in: packages/backend-contract/src/domains/kernels-utils.ts:270
JS implementation of CSPICE kxtrct.
Notes on return values:
substris right-trimmed (trimEnd()).wordsqhas the extracted words removed, but otherwise preserves whitespace from the original input (so it may start with blanks).
Parameters
keywd
string
terms
readonly string[]
wordsq
string
Returns
Found<{ substr: string; wordsq: string; }>
matchesKernelKind()
matchesKernelKind(
requestedRaw,kernel):boolean
Defined in: packages/backend-contract/src/domains/kernels-utils.ts:215
Return whether a kernel matches the requested kind filter.
Requested kind tokens are treated as trim + case-insensitive. Empty tokens are ignored.
NOTE: Unlike normalizeKindInput, this helper is intentionally lenient: unknown requested tokens are treated as non-matching (and do not throw). Unknown/unsupported kernel.filtyp values never match (unless requested includes ALL).
TEXT-kernel subtypes (LSK/FK/IK/SCLK): SPICE reports these as filtyp: "TEXT". When callers request a subtype, we infer it from the kernel.file identifier's filename extension (best-effort). If the identifier is virtual or extension-less, subtype matching may fall back to "TEXT".
Parameters
requestedRaw
ReadonlySet<string>
kernel
Pick<KernelData, "file" | "filtyp">
Returns
boolean
nativeKindQueryOrNull()
nativeKindQueryOrNull(
kinds):string|null
Defined in: packages/backend-contract/src/domains/kernels-utils.ts:166
Returns a representable native kind-query string (e.g. "SPK CK") or null.
This is used by backends to decide whether they can forward a kind filter to their underlying CSPICE implementation, or whether they must fall back to querying ALL and filtering in JS.
NOTE: kinds is expected to be normalized (via normalizeKindInput). If non-normalized input slips through (e.g. empty arrays or ALL mixed with other tokens), this function is defensive and returns null.
Parameters
kinds
readonly KernelKind[]
Returns
string | null
normalizeBodItem()
normalizeBodItem(
item):string
Defined in: packages/backend-contract/src/domains/ids-names-normalize.ts:15
Normalize a body-constant item name for bodfnd / bodvar lookups.
Parameters
item
string
Returns
string
normalizeKindInput()
normalizeKindInput(
kind): readonlyKernelKind[]
Defined in: packages/backend-contract/src/domains/kernels-utils.ts:102
Normalize a ktotal/kdata kind input into a canonical, non-empty kernel kind list.
Parameters
kind
KernelKindInput | undefined
Returns
readonly KernelKind[]