@neilberkman/sidereon 0.9.1 → 0.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/pkg/sidereon.d.ts +1022 -956
- package/pkg/sidereon.js +118 -0
- package/pkg/sidereon_bg.wasm +0 -0
- package/pkg/sidereon_bg.wasm.d.ts +936 -930
- package/pkg-node/sidereon.d.ts +60 -0
- package/pkg-node/sidereon.js +121 -0
- package/pkg-node/sidereon_bg.wasm +0 -0
- package/pkg-node/sidereon_bg.wasm.d.ts +936 -930
package/pkg/sidereon.js
CHANGED
|
@@ -9126,6 +9126,58 @@ export class PppFloatSolution {
|
|
|
9126
9126
|
}
|
|
9127
9127
|
if (Symbol.dispose) PppFloatSolution.prototype[Symbol.dispose] = PppFloatSolution.prototype.free;
|
|
9128
9128
|
|
|
9129
|
+
/**
|
|
9130
|
+
* A precise-ephemeris source built from samples rather than parsed SP3 text.
|
|
9131
|
+
*
|
|
9132
|
+
* Implements the same `ObservableEphemerisSource` contract as a parsed [`Sp3`]
|
|
9133
|
+
* product and shares its interpolation substrate, so [`predictRanges`] accepts
|
|
9134
|
+
* either handle. Build one with [`preciseEphemerisSamplesFromSamples`].
|
|
9135
|
+
*/
|
|
9136
|
+
export class PreciseEphemerisSampleSource {
|
|
9137
|
+
static __wrap(ptr) {
|
|
9138
|
+
const obj = Object.create(PreciseEphemerisSampleSource.prototype);
|
|
9139
|
+
obj.__wbg_ptr = ptr;
|
|
9140
|
+
PreciseEphemerisSampleSourceFinalization.register(obj, obj.__wbg_ptr, obj);
|
|
9141
|
+
return obj;
|
|
9142
|
+
}
|
|
9143
|
+
__destroy_into_raw() {
|
|
9144
|
+
const ptr = this.__wbg_ptr;
|
|
9145
|
+
this.__wbg_ptr = 0;
|
|
9146
|
+
PreciseEphemerisSampleSourceFinalization.unregister(this);
|
|
9147
|
+
return ptr;
|
|
9148
|
+
}
|
|
9149
|
+
free() {
|
|
9150
|
+
const ptr = this.__destroy_into_raw();
|
|
9151
|
+
wasm.__wbg_preciseephemerissamplesource_free(ptr, 0);
|
|
9152
|
+
}
|
|
9153
|
+
/**
|
|
9154
|
+
* Predict geometric ranges for many requests in one call. See the shared
|
|
9155
|
+
* [`predictRanges`](crate::precise_samples::predict_ranges_over) contract;
|
|
9156
|
+
* this is the sample-source entry point.
|
|
9157
|
+
* @param {any} requests
|
|
9158
|
+
* @param {any} options
|
|
9159
|
+
* @returns {any}
|
|
9160
|
+
*/
|
|
9161
|
+
predictRanges(requests, options) {
|
|
9162
|
+
const ret = wasm.preciseephemerissamplesource_predictRanges(this.__wbg_ptr, requests, options);
|
|
9163
|
+
if (ret[2]) {
|
|
9164
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
9165
|
+
}
|
|
9166
|
+
return takeFromExternrefTable0(ret[0]);
|
|
9167
|
+
}
|
|
9168
|
+
/**
|
|
9169
|
+
* The satellites this source can interpolate (e.g. `"G01"`), ascending.
|
|
9170
|
+
* @returns {string[]}
|
|
9171
|
+
*/
|
|
9172
|
+
get satellites() {
|
|
9173
|
+
const ret = wasm.preciseephemerissamplesource_satellites(this.__wbg_ptr);
|
|
9174
|
+
var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
|
|
9175
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
|
|
9176
|
+
return v1;
|
|
9177
|
+
}
|
|
9178
|
+
}
|
|
9179
|
+
if (Symbol.dispose) PreciseEphemerisSampleSource.prototype[Symbol.dispose] = PreciseEphemerisSampleSource.prototype.free;
|
|
9180
|
+
|
|
9129
9181
|
/**
|
|
9130
9182
|
* The per-request results of a batch observable prediction, index-aligned to
|
|
9131
9183
|
* the input requests. Each request independently either produced observables or
|
|
@@ -10728,6 +10780,25 @@ export class Sp3 {
|
|
|
10728
10780
|
}
|
|
10729
10781
|
return Sp3Interpolation.__wrap(ret[0]);
|
|
10730
10782
|
}
|
|
10783
|
+
/**
|
|
10784
|
+
* Predict geometric ranges for many `(satellite, receiver, epoch)` requests
|
|
10785
|
+
* against this ephemeris in one call. `requests` is an array of
|
|
10786
|
+
* `{ sat, receiverEcefM, tRxJ2000S }`; returns an array of
|
|
10787
|
+
* `{ geometricRangeM, satClockS, transmitTimeJ2000S, satPosEcefM }`
|
|
10788
|
+
* index-aligned to `requests`. The same call shape works on a
|
|
10789
|
+
* `PreciseEphemerisSampleSource`. Delegates to the serial reference kernel
|
|
10790
|
+
* `sidereon_core::observables::predict_ranges`.
|
|
10791
|
+
* @param {any} requests
|
|
10792
|
+
* @param {any} options
|
|
10793
|
+
* @returns {any}
|
|
10794
|
+
*/
|
|
10795
|
+
predictRanges(requests, options) {
|
|
10796
|
+
const ret = wasm.sp3_predictRanges(this.__wbg_ptr, requests, options);
|
|
10797
|
+
if (ret[2]) {
|
|
10798
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
10799
|
+
}
|
|
10800
|
+
return takeFromExternrefTable0(ret[0]);
|
|
10801
|
+
}
|
|
10731
10802
|
/**
|
|
10732
10803
|
* Satellite tokens present in the product (e.g. `"G01"`), ascending.
|
|
10733
10804
|
* @returns {string[]}
|
|
@@ -15967,6 +16038,27 @@ export function pppCorrections(sp3, epochs, receiver_ecef_m, options) {
|
|
|
15967
16038
|
return takeFromExternrefTable0(ret[0]);
|
|
15968
16039
|
}
|
|
15969
16040
|
|
|
16041
|
+
/**
|
|
16042
|
+
* Build a sample-backed precise-ephemeris source from an array of samples.
|
|
16043
|
+
*
|
|
16044
|
+
* `samples` is an array of `{ sat, epoch, positionEcefM, clockS?, clockEvent? }`
|
|
16045
|
+
* objects (see the sample field docs). Samples are grouped by satellite in their
|
|
16046
|
+
* supplied order; each satellite needs at least two strictly time-increasing
|
|
16047
|
+
* samples. Throws a `TypeError` for a malformed object or bad satellite token
|
|
16048
|
+
* and a `RangeError` for a non-finite epoch or a source validation failure
|
|
16049
|
+
* (empty input, a single-sample satellite, non-monotonic epochs, a non-finite
|
|
16050
|
+
* sample). Delegates to `sidereon_core::sp3::PreciseEphemerisSamples::from_samples`.
|
|
16051
|
+
* @param {any} samples
|
|
16052
|
+
* @returns {PreciseEphemerisSampleSource}
|
|
16053
|
+
*/
|
|
16054
|
+
export function preciseEphemerisSamplesFromSamples(samples) {
|
|
16055
|
+
const ret = wasm.preciseEphemerisSamplesFromSamples(samples);
|
|
16056
|
+
if (ret[2]) {
|
|
16057
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
16058
|
+
}
|
|
16059
|
+
return PreciseEphemerisSampleSource.__wrap(ret[0]);
|
|
16060
|
+
}
|
|
16061
|
+
|
|
15970
16062
|
/**
|
|
15971
16063
|
* Predict observables for many `(satellite, receiver, epoch)` requests from a
|
|
15972
16064
|
* broadcast ephemeris store, serially. See [`predictBatchSp3`] for the argument
|
|
@@ -16909,6 +17001,29 @@ export function solveWithFallback(precise, broadcast, request, policy) {
|
|
|
16909
17001
|
return SourcedSolution.__wrap(ret[0]);
|
|
16910
17002
|
}
|
|
16911
17003
|
|
|
17004
|
+
/**
|
|
17005
|
+
* Extract a parsed SP3 product as the canonical precise-ephemeris samples, one
|
|
17006
|
+
* per real position record in ascending epoch order.
|
|
17007
|
+
*
|
|
17008
|
+
* Returns an array of `{ sat, epoch, positionEcefM, clockS, clockEvent }`
|
|
17009
|
+
* objects. Round-tripping the result back through
|
|
17010
|
+
* [`preciseEphemerisSamplesFromSamples`] rebuilds an interpolatable source that
|
|
17011
|
+
* reproduces the SP3-parsed source's interpolated states and predicted ranges
|
|
17012
|
+
* to the documented round-trip precision (byte-identical for samples whose
|
|
17013
|
+
* meters are the faithful image of the fit nodes; see the core module docs).
|
|
17014
|
+
* Delegates to `sidereon_core::sp3::Sp3::precise_ephemeris_samples`.
|
|
17015
|
+
* @param {Sp3} sp3
|
|
17016
|
+
* @returns {any}
|
|
17017
|
+
*/
|
|
17018
|
+
export function sp3PreciseEphemerisSamples(sp3) {
|
|
17019
|
+
_assertClass(sp3, Sp3);
|
|
17020
|
+
const ret = wasm.sp3PreciseEphemerisSamples(sp3.__wbg_ptr);
|
|
17021
|
+
if (ret[2]) {
|
|
17022
|
+
throw takeFromExternrefTable0(ret[1]);
|
|
17023
|
+
}
|
|
17024
|
+
return takeFromExternrefTable0(ret[0]);
|
|
17025
|
+
}
|
|
17026
|
+
|
|
16912
17027
|
/**
|
|
16913
17028
|
* Continuous seconds since J2000 for a split Julian date.
|
|
16914
17029
|
* @param {number} jd_whole
|
|
@@ -18135,6 +18250,9 @@ const PppFixedSolutionFinalization = (typeof FinalizationRegistry === 'undefined
|
|
|
18135
18250
|
const PppFloatSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
18136
18251
|
? { register: () => {}, unregister: () => {} }
|
|
18137
18252
|
: new FinalizationRegistry(ptr => wasm.__wbg_pppfloatsolution_free(ptr, 1));
|
|
18253
|
+
const PreciseEphemerisSampleSourceFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
18254
|
+
? { register: () => {}, unregister: () => {} }
|
|
18255
|
+
: new FinalizationRegistry(ptr => wasm.__wbg_preciseephemerissamplesource_free(ptr, 1));
|
|
18138
18256
|
const PredictBatchFinalization = (typeof FinalizationRegistry === 'undefined')
|
|
18139
18257
|
? { register: () => {}, unregister: () => {} }
|
|
18140
18258
|
: new FinalizationRegistry(ptr => wasm.__wbg_predictbatch_free(ptr, 1));
|
package/pkg/sidereon_bg.wasm
CHANGED
|
Binary file
|