@neilberkman/sidereon 0.17.0 → 0.19.0

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.
@@ -3545,6 +3545,22 @@ class DgnssSolution {
3545
3545
  if (Symbol.dispose) DgnssSolution.prototype[Symbol.dispose] = DgnssSolution.prototype.free;
3546
3546
  exports.DgnssSolution = DgnssSolution;
3547
3547
 
3548
+ /**
3549
+ * Early-late DLL processing mode for thermal-noise jitter.
3550
+ * @enum {0 | 1}
3551
+ */
3552
+ const DllProcessing = Object.freeze({
3553
+ /**
3554
+ * Coherent early-minus-late processing.
3555
+ */
3556
+ Coherent: 0, "0": "Coherent",
3557
+ /**
3558
+ * Non-coherent early-minus-late power processing with squaring loss.
3559
+ */
3560
+ NonCoherent: 1, "1": "NonCoherent",
3561
+ });
3562
+ exports.DllProcessing = DllProcessing;
3563
+
3548
3564
  /**
3549
3565
  * GNSS dilution-of-precision scalars.
3550
3566
  */
@@ -5713,6 +5729,230 @@ class GlonassRecordJs {
5713
5729
  if (Symbol.dispose) GlonassRecordJs.prototype[Symbol.dispose] = GlonassRecordJs.prototype.free;
5714
5730
  exports.GlonassRecordJs = GlonassRecordJs;
5715
5731
 
5732
+ /**
5733
+ * Stateful GNSS/INS filter resource.
5734
+ */
5735
+ class GnssInsFilter {
5736
+ static __wrap(ptr) {
5737
+ const obj = Object.create(GnssInsFilter.prototype);
5738
+ obj.__wbg_ptr = ptr;
5739
+ GnssInsFilterFinalization.register(obj, obj.__wbg_ptr, obj);
5740
+ return obj;
5741
+ }
5742
+ __destroy_into_raw() {
5743
+ const ptr = this.__wbg_ptr;
5744
+ this.__wbg_ptr = 0;
5745
+ GnssInsFilterFinalization.unregister(this);
5746
+ return ptr;
5747
+ }
5748
+ free() {
5749
+ const ptr = this.__destroy_into_raw();
5750
+ wasm.__wbg_gnssinsfilter_free(ptr, 0);
5751
+ }
5752
+ /**
5753
+ * Replace retained-history capacities for later time-sync replay.
5754
+ * @param {any} config
5755
+ */
5756
+ configureTimeSync(config) {
5757
+ const ret = wasm.gnssinsfilter_configureTimeSync(this.__wbg_ptr, config);
5758
+ if (ret[1]) {
5759
+ throw takeFromExternrefTable0(ret[0]);
5760
+ }
5761
+ }
5762
+ /**
5763
+ * Encode the current fusion state with the core versioned binary codec.
5764
+ * @returns {Uint8Array}
5765
+ */
5766
+ encodeState() {
5767
+ const ret = wasm.gnssinsfilter_encodeState(this.__wbg_ptr);
5768
+ if (ret[3]) {
5769
+ throw takeFromExternrefTable0(ret[2]);
5770
+ }
5771
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
5772
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
5773
+ return v1;
5774
+ }
5775
+ /**
5776
+ * Build a filter, then restore its state from versioned fusion-state bytes.
5777
+ * @param {any} config
5778
+ * @param {Uint8Array} bytes
5779
+ * @returns {GnssInsFilter}
5780
+ */
5781
+ static fromStateBytes(config, bytes) {
5782
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
5783
+ const len0 = WASM_VECTOR_LEN;
5784
+ const ret = wasm.gnssinsfilter_fromStateBytes(config, ptr0, len0);
5785
+ if (ret[2]) {
5786
+ throw takeFromExternrefTable0(ret[1]);
5787
+ }
5788
+ return GnssInsFilter.__wrap(ret[0]);
5789
+ }
5790
+ /**
5791
+ * Build a filter from a JS configuration object.
5792
+ * @param {any} config
5793
+ */
5794
+ constructor(config) {
5795
+ const ret = wasm.gnssinsfilter_new(config);
5796
+ if (ret[2]) {
5797
+ throw takeFromExternrefTable0(ret[1]);
5798
+ }
5799
+ this.__wbg_ptr = ret[0];
5800
+ GnssInsFilterFinalization.register(this, this.__wbg_ptr, this);
5801
+ return this;
5802
+ }
5803
+ /**
5804
+ * Propagate the filter with one IMU rate or increment sample.
5805
+ * @param {any} sample
5806
+ * @returns {any}
5807
+ */
5808
+ propagate(sample) {
5809
+ const ret = wasm.gnssinsfilter_propagate(this.__wbg_ptr, sample);
5810
+ if (ret[2]) {
5811
+ throw takeFromExternrefTable0(ret[1]);
5812
+ }
5813
+ return takeFromExternrefTable0(ret[0]);
5814
+ }
5815
+ /**
5816
+ * Propagate the filter with a JS array of IMU samples.
5817
+ * @param {any} samples
5818
+ * @returns {any}
5819
+ */
5820
+ propagateBatch(samples) {
5821
+ const ret = wasm.gnssinsfilter_propagateBatch(this.__wbg_ptr, samples);
5822
+ if (ret[2]) {
5823
+ throw takeFromExternrefTable0(ret[1]);
5824
+ }
5825
+ return takeFromExternrefTable0(ret[0]);
5826
+ }
5827
+ /**
5828
+ * Restore this filter from versioned fusion-state bytes.
5829
+ * @param {Uint8Array} bytes
5830
+ */
5831
+ restoreState(bytes) {
5832
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
5833
+ const len0 = WASM_VECTOR_LEN;
5834
+ const ret = wasm.gnssinsfilter_restoreState(this.__wbg_ptr, ptr0, len0);
5835
+ if (ret[1]) {
5836
+ throw takeFromExternrefTable0(ret[0]);
5837
+ }
5838
+ }
5839
+ /**
5840
+ * Current INS state, covariance, and last body-rate diagnostic.
5841
+ * @returns {any}
5842
+ */
5843
+ state() {
5844
+ const ret = wasm.gnssinsfilter_state(this.__wbg_ptr);
5845
+ if (ret[2]) {
5846
+ throw takeFromExternrefTable0(ret[1]);
5847
+ }
5848
+ return takeFromExternrefTable0(ret[0]);
5849
+ }
5850
+ /**
5851
+ * Current tight-coupling receiver-clock state.
5852
+ * @returns {any}
5853
+ */
5854
+ tightClockState() {
5855
+ const ret = wasm.gnssinsfilter_tightClockState(this.__wbg_ptr);
5856
+ if (ret[2]) {
5857
+ throw takeFromExternrefTable0(ret[1]);
5858
+ }
5859
+ return takeFromExternrefTable0(ret[0]);
5860
+ }
5861
+ /**
5862
+ * Current retained-history capacity and occupancy.
5863
+ * @returns {any}
5864
+ */
5865
+ timeSyncStatus() {
5866
+ const ret = wasm.gnssinsfilter_timeSyncStatus(this.__wbg_ptr);
5867
+ if (ret[2]) {
5868
+ throw takeFromExternrefTable0(ret[1]);
5869
+ }
5870
+ return takeFromExternrefTable0(ret[0]);
5871
+ }
5872
+ /**
5873
+ * Apply a loose position or position-velocity GNSS fix at the current epoch.
5874
+ * @param {any} measurement
5875
+ * @returns {any}
5876
+ */
5877
+ updateLoose(measurement) {
5878
+ const ret = wasm.gnssinsfilter_updateLoose(this.__wbg_ptr, measurement);
5879
+ if (ret[2]) {
5880
+ throw takeFromExternrefTable0(ret[1]);
5881
+ }
5882
+ return takeFromExternrefTable0(ret[0]);
5883
+ }
5884
+ /**
5885
+ * Apply a loose GNSS fix, replaying retained IMU checkpoints when it is late.
5886
+ * @param {any} measurement
5887
+ * @returns {any}
5888
+ */
5889
+ updateLooseTimeSync(measurement) {
5890
+ const ret = wasm.gnssinsfilter_updateLooseTimeSync(this.__wbg_ptr, measurement);
5891
+ if (ret[2]) {
5892
+ throw takeFromExternrefTable0(ret[1]);
5893
+ }
5894
+ return takeFromExternrefTable0(ret[0]);
5895
+ }
5896
+ /**
5897
+ * Apply a tight raw-observation epoch against a broadcast ephemeris source.
5898
+ * @param {BroadcastEphemeris} broadcast
5899
+ * @param {any} epoch
5900
+ * @returns {any}
5901
+ */
5902
+ updateTightBroadcast(broadcast, epoch) {
5903
+ _assertClass(broadcast, BroadcastEphemeris);
5904
+ const ret = wasm.gnssinsfilter_updateTightBroadcast(this.__wbg_ptr, broadcast.__wbg_ptr, epoch);
5905
+ if (ret[2]) {
5906
+ throw takeFromExternrefTable0(ret[1]);
5907
+ }
5908
+ return takeFromExternrefTable0(ret[0]);
5909
+ }
5910
+ /**
5911
+ * Apply a tight broadcast update, replaying retained IMU checkpoints when it is late.
5912
+ * @param {BroadcastEphemeris} broadcast
5913
+ * @param {any} epoch
5914
+ * @returns {any}
5915
+ */
5916
+ updateTightBroadcastTimeSync(broadcast, epoch) {
5917
+ _assertClass(broadcast, BroadcastEphemeris);
5918
+ const ret = wasm.gnssinsfilter_updateTightBroadcastTimeSync(this.__wbg_ptr, broadcast.__wbg_ptr, epoch);
5919
+ if (ret[2]) {
5920
+ throw takeFromExternrefTable0(ret[1]);
5921
+ }
5922
+ return takeFromExternrefTable0(ret[0]);
5923
+ }
5924
+ /**
5925
+ * Apply a tight raw-observation epoch against an SP3 source.
5926
+ * @param {Sp3} sp3
5927
+ * @param {any} epoch
5928
+ * @returns {any}
5929
+ */
5930
+ updateTightSp3(sp3, epoch) {
5931
+ _assertClass(sp3, Sp3);
5932
+ const ret = wasm.gnssinsfilter_updateTightSp3(this.__wbg_ptr, sp3.__wbg_ptr, epoch);
5933
+ if (ret[2]) {
5934
+ throw takeFromExternrefTable0(ret[1]);
5935
+ }
5936
+ return takeFromExternrefTable0(ret[0]);
5937
+ }
5938
+ /**
5939
+ * Apply a tight SP3 update, replaying retained IMU checkpoints when it is late.
5940
+ * @param {Sp3} sp3
5941
+ * @param {any} epoch
5942
+ * @returns {any}
5943
+ */
5944
+ updateTightSp3TimeSync(sp3, epoch) {
5945
+ _assertClass(sp3, Sp3);
5946
+ const ret = wasm.gnssinsfilter_updateTightSp3TimeSync(this.__wbg_ptr, sp3.__wbg_ptr, epoch);
5947
+ if (ret[2]) {
5948
+ throw takeFromExternrefTable0(ret[1]);
5949
+ }
5950
+ return takeFromExternrefTable0(ret[0]);
5951
+ }
5952
+ }
5953
+ if (Symbol.dispose) GnssInsFilter.prototype[Symbol.dispose] = GnssInsFilter.prototype.free;
5954
+ exports.GnssInsFilter = GnssInsFilter;
5955
+
5716
5956
  /**
5717
5957
  * One sampled rise/set/peak visibility pass, from `gnssPasses`.
5718
5958
  */
@@ -14820,111 +15060,345 @@ if (Symbol.dispose) SbasSisError.prototype[Symbol.dispose] = SbasSisError.protot
14820
15060
  exports.SbasSisError = SbasSisError;
14821
15061
 
14822
15062
  /**
14823
- * Per-constellation single-frequency pseudorange code-selection policy. Build
14824
- * with `new SignalPolicy()` then chain `.withSystem(system, codes)`, or use
14825
- * the static `defaultFor(version)`.
15063
+ * Stable GNSS signal modulation used by the analysis functions.
14826
15064
  */
14827
- class SignalPolicy {
15065
+ class SignalAnalysisModulation {
14828
15066
  static __wrap(ptr) {
14829
- const obj = Object.create(SignalPolicy.prototype);
15067
+ const obj = Object.create(SignalAnalysisModulation.prototype);
14830
15068
  obj.__wbg_ptr = ptr;
14831
- SignalPolicyFinalization.register(obj, obj.__wbg_ptr, obj);
15069
+ SignalAnalysisModulationFinalization.register(obj, obj.__wbg_ptr, obj);
14832
15070
  return obj;
14833
15071
  }
14834
15072
  __destroy_into_raw() {
14835
15073
  const ptr = this.__wbg_ptr;
14836
15074
  this.__wbg_ptr = 0;
14837
- SignalPolicyFinalization.unregister(this);
15075
+ SignalAnalysisModulationFinalization.unregister(this);
14838
15076
  return ptr;
14839
15077
  }
14840
15078
  free() {
14841
15079
  const ptr = this.__destroy_into_raw();
14842
- wasm.__wbg_signalpolicy_free(ptr, 0);
15080
+ wasm.__wbg_signalanalysismodulation_free(ptr, 0);
14843
15081
  }
14844
15082
  /**
14845
- * The core default pseudorange policy for a RINEX version.
14846
- * @param {number} version
14847
- * @returns {SignalPolicy}
15083
+ * Normalized in-band autocorrelation at a delay.
15084
+ * @param {number} delay_s
15085
+ * @param {number} receiver_bandwidth_hz
15086
+ * @returns {number}
14848
15087
  */
14849
- static defaultFor(version) {
14850
- const ret = wasm.signalpolicy_defaultFor(version);
15088
+ autocorrelation(delay_s, receiver_bandwidth_hz) {
15089
+ const ret = wasm.signalanalysismodulation_autocorrelation(this.__wbg_ptr, delay_s, receiver_bandwidth_hz);
14851
15090
  if (ret[2]) {
14852
15091
  throw takeFromExternrefTable0(ret[1]);
14853
15092
  }
14854
- return SignalPolicy.__wrap(ret[0]);
15093
+ return ret[0];
14855
15094
  }
14856
15095
  /**
14857
- * An empty policy with no constellation preferences.
15096
+ * Build a BPSK(n) modulation, where the code rate is `n * 1.023 MHz`.
15097
+ * @param {number} order
15098
+ * @returns {SignalAnalysisModulation}
14858
15099
  */
14859
- constructor() {
14860
- const ret = wasm.signalpolicy_new();
14861
- this.__wbg_ptr = ret;
14862
- SignalPolicyFinalization.register(this, this.__wbg_ptr, this);
14863
- return this;
15100
+ static bpsk(order) {
15101
+ const ret = wasm.signalanalysismodulation_bpsk(order);
15102
+ if (ret[2]) {
15103
+ throw takeFromExternrefTable0(ret[1]);
15104
+ }
15105
+ return SignalAnalysisModulation.__wrap(ret[0]);
14864
15106
  }
14865
15107
  /**
14866
- * Return a copy with one constellation's preference list set.
14867
- * @param {GnssSystem} system
14868
- * @param {string[]} codes
14869
- * @returns {SignalPolicy}
15108
+ * Build Galileo E1 CBOC(6,1,1/11) with the minus chip-pulse convention.
15109
+ * @returns {SignalAnalysisModulation}
14870
15110
  */
14871
- withSystem(system, codes) {
14872
- const ptr0 = passArrayJsValueToWasm0(codes, wasm.__wbindgen_malloc);
14873
- const len0 = WASM_VECTOR_LEN;
14874
- const ret = wasm.signalpolicy_withSystem(this.__wbg_ptr, system, ptr0, len0);
14875
- return SignalPolicy.__wrap(ret);
15111
+ static cboc611Over11Minus() {
15112
+ const ret = wasm.signalanalysismodulation_cboc611Over11Minus();
15113
+ return SignalAnalysisModulation.__wrap(ret);
14876
15114
  }
14877
- }
14878
- if (Symbol.dispose) SignalPolicy.prototype[Symbol.dispose] = SignalPolicy.prototype.free;
14879
- exports.SignalPolicy = SignalPolicy;
14880
-
14881
- /**
14882
- * Reason a carrier-phase arc split was flagged.
14883
- * @enum {0 | 1 | 2 | 3}
14884
- */
14885
- const SlipReason = Object.freeze({
14886
15115
  /**
14887
- * Loss-of-lock indicator bit 0 set on either band.
15116
+ * Build Galileo E1 CBOC(6,1,1/11) with the plus chip-pulse convention.
15117
+ * @returns {SignalAnalysisModulation}
14888
15118
  */
14889
- Lli: 0, "0": "Lli",
15119
+ static cboc611Over11Plus() {
15120
+ const ret = wasm.signalanalysismodulation_cboc611Over11Plus();
15121
+ return SignalAnalysisModulation.__wrap(ret);
15122
+ }
14890
15123
  /**
14891
- * Gap to the previous usable sample exceeded the threshold.
15124
+ * Code rate in hertz when the modulation has one unambiguous rate.
15125
+ * @returns {number}
14892
15126
  */
14893
- DataGap: 1, "1": "DataGap",
15127
+ get codeRateHz() {
15128
+ const ret = wasm.signalanalysismodulation_codeRateHz(this.__wbg_ptr);
15129
+ if (ret[2]) {
15130
+ throw takeFromExternrefTable0(ret[1]);
15131
+ }
15132
+ return ret[0];
15133
+ }
14894
15134
  /**
14895
- * Geometry-free phase step exceeded the threshold.
15135
+ * Build a cosine-phased BOC(m,n) modulation.
15136
+ * @param {number} m
15137
+ * @param {number} n
15138
+ * @returns {SignalAnalysisModulation}
14896
15139
  */
14897
- GeometryFree: 2, "2": "GeometryFree",
15140
+ static cosineBoc(m, n) {
15141
+ const ret = wasm.signalanalysismodulation_cosineBoc(m, n);
15142
+ if (ret[2]) {
15143
+ throw takeFromExternrefTable0(ret[1]);
15144
+ }
15145
+ return SignalAnalysisModulation.__wrap(ret[0]);
15146
+ }
14898
15147
  /**
14899
- * Melbourne-Wubbena step exceeded the threshold.
15148
+ * Published lower bound for DLL code-delay jitter.
15149
+ * @param {any} options
15150
+ * @returns {any}
14900
15151
  */
14901
- MelbourneWubbena: 3, "3": "MelbourneWubbena",
14902
- });
14903
- exports.SlipReason = SlipReason;
14904
-
14905
- /**
14906
- * Cycle-slip classification for one input epoch.
14907
- */
14908
- class SlipResult {
14909
- static __wrap(ptr) {
14910
- const obj = Object.create(SlipResult.prototype);
14911
- obj.__wbg_ptr = ptr;
14912
- SlipResultFinalization.register(obj, obj.__wbg_ptr, obj);
14913
- return obj;
14914
- }
14915
- __destroy_into_raw() {
14916
- const ptr = this.__wbg_ptr;
14917
- this.__wbg_ptr = 0;
14918
- SlipResultFinalization.unregister(this);
14919
- return ptr;
14920
- }
14921
- free() {
14922
- const ptr = this.__destroy_into_raw();
14923
- wasm.__wbg_slipresult_free(ptr, 0);
15152
+ dllLowerBound(options) {
15153
+ const ret = wasm.signalanalysismodulation_dllLowerBound(this.__wbg_ptr, options);
15154
+ if (ret[2]) {
15155
+ throw takeFromExternrefTable0(ret[1]);
15156
+ }
15157
+ return takeFromExternrefTable0(ret[0]);
14924
15158
  }
14925
15159
  /**
14926
- * Current geometry-free phase, metres, or `undefined`.
14927
- * @returns {number | undefined}
15160
+ * Early-late DLL thermal-noise jitter for this modulation.
15161
+ * @param {any} options
15162
+ * @param {DllProcessing} processing
15163
+ * @returns {any}
15164
+ */
15165
+ dllThermalNoiseJitter(options, processing) {
15166
+ const ret = wasm.signalanalysismodulation_dllThermalNoiseJitter(this.__wbg_ptr, options, processing);
15167
+ if (ret[2]) {
15168
+ throw takeFromExternrefTable0(ret[1]);
15169
+ }
15170
+ return takeFromExternrefTable0(ret[0]);
15171
+ }
15172
+ /**
15173
+ * Fraction of total signal power inside a two-sided receiver bandwidth.
15174
+ * @param {number} receiver_bandwidth_hz
15175
+ * @returns {number}
15176
+ */
15177
+ fractionPowerInBand(receiver_bandwidth_hz) {
15178
+ const ret = wasm.signalanalysismodulation_fractionPowerInBand(this.__wbg_ptr, receiver_bandwidth_hz);
15179
+ if (ret[2]) {
15180
+ throw takeFromExternrefTable0(ret[1]);
15181
+ }
15182
+ return ret[0];
15183
+ }
15184
+ /**
15185
+ * Stable core label for this modulation.
15186
+ * @returns {string}
15187
+ */
15188
+ get label() {
15189
+ let deferred1_0;
15190
+ let deferred1_1;
15191
+ try {
15192
+ const ret = wasm.signalanalysismodulation_label(this.__wbg_ptr);
15193
+ deferred1_0 = ret[0];
15194
+ deferred1_1 = ret[1];
15195
+ return getStringFromWasm0(ret[0], ret[1]);
15196
+ } finally {
15197
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
15198
+ }
15199
+ }
15200
+ /**
15201
+ * Build the normalized MBOC(6,1,1/11) spectrum.
15202
+ * @returns {SignalAnalysisModulation}
15203
+ */
15204
+ static mboc611Over11() {
15205
+ const ret = wasm.signalanalysismodulation_mboc611Over11();
15206
+ return SignalAnalysisModulation.__wrap(ret);
15207
+ }
15208
+ /**
15209
+ * One-path early-late multipath error envelope on a delay grid.
15210
+ * @param {any} options
15211
+ * @param {Float64Array} delay_chips
15212
+ * @returns {any}
15213
+ */
15214
+ multipathErrorEnvelope(options, delay_chips) {
15215
+ const ptr0 = passArrayF64ToWasm0(delay_chips, wasm.__wbindgen_malloc);
15216
+ const len0 = WASM_VECTOR_LEN;
15217
+ const ret = wasm.signalanalysismodulation_multipathErrorEnvelope(this.__wbg_ptr, options, ptr0, len0);
15218
+ if (ret[2]) {
15219
+ throw takeFromExternrefTable0(ret[1]);
15220
+ }
15221
+ return takeFromExternrefTable0(ret[0]);
15222
+ }
15223
+ /**
15224
+ * Signal power inside a two-sided receiver bandwidth.
15225
+ * @param {number} receiver_bandwidth_hz
15226
+ * @returns {number}
15227
+ */
15228
+ powerInBand(receiver_bandwidth_hz) {
15229
+ const ret = wasm.signalanalysismodulation_powerInBand(this.__wbg_ptr, receiver_bandwidth_hz);
15230
+ if (ret[2]) {
15231
+ throw takeFromExternrefTable0(ret[1]);
15232
+ }
15233
+ return ret[0];
15234
+ }
15235
+ /**
15236
+ * Normalized power spectral density at an offset frequency, in `1/Hz`.
15237
+ * @param {number} offset_hz
15238
+ * @returns {number}
15239
+ */
15240
+ psdHz(offset_hz) {
15241
+ const ret = wasm.signalanalysismodulation_psdHz(this.__wbg_ptr, offset_hz);
15242
+ if (ret[2]) {
15243
+ throw takeFromExternrefTable0(ret[1]);
15244
+ }
15245
+ return ret[0];
15246
+ }
15247
+ /**
15248
+ * RMS, or Gabor, bandwidth over a two-sided receiver bandwidth.
15249
+ * @param {number} receiver_bandwidth_hz
15250
+ * @returns {number}
15251
+ */
15252
+ rmsBandwidthHz(receiver_bandwidth_hz) {
15253
+ const ret = wasm.signalanalysismodulation_rmsBandwidthHz(this.__wbg_ptr, receiver_bandwidth_hz);
15254
+ if (ret[2]) {
15255
+ throw takeFromExternrefTable0(ret[1]);
15256
+ }
15257
+ return ret[0];
15258
+ }
15259
+ /**
15260
+ * Build a sine-phased BOC(m,n) modulation.
15261
+ * @param {number} m
15262
+ * @param {number} n
15263
+ * @returns {SignalAnalysisModulation}
15264
+ */
15265
+ static sineBoc(m, n) {
15266
+ const ret = wasm.signalanalysismodulation_sineBoc(m, n);
15267
+ if (ret[2]) {
15268
+ throw takeFromExternrefTable0(ret[1]);
15269
+ }
15270
+ return SignalAnalysisModulation.__wrap(ret[0]);
15271
+ }
15272
+ /**
15273
+ * Build the GPS L1C pilot TMBOC(6,1,4/33) spectrum.
15274
+ * @returns {SignalAnalysisModulation}
15275
+ */
15276
+ static tmboc614Over33() {
15277
+ const ret = wasm.signalanalysismodulation_tmboc614Over33();
15278
+ return SignalAnalysisModulation.__wrap(ret);
15279
+ }
15280
+ /**
15281
+ * SSC against white interference normalized over the receiver bandwidth.
15282
+ * @param {number} receiver_bandwidth_hz
15283
+ * @returns {number}
15284
+ */
15285
+ whiteNoiseSpectralSeparationHz(receiver_bandwidth_hz) {
15286
+ const ret = wasm.signalanalysismodulation_whiteNoiseSpectralSeparationHz(this.__wbg_ptr, receiver_bandwidth_hz);
15287
+ if (ret[2]) {
15288
+ throw takeFromExternrefTable0(ret[1]);
15289
+ }
15290
+ return ret[0];
15291
+ }
15292
+ }
15293
+ if (Symbol.dispose) SignalAnalysisModulation.prototype[Symbol.dispose] = SignalAnalysisModulation.prototype.free;
15294
+ exports.SignalAnalysisModulation = SignalAnalysisModulation;
15295
+
15296
+ /**
15297
+ * Per-constellation single-frequency pseudorange code-selection policy. Build
15298
+ * with `new SignalPolicy()` then chain `.withSystem(system, codes)`, or use
15299
+ * the static `defaultFor(version)`.
15300
+ */
15301
+ class SignalPolicy {
15302
+ static __wrap(ptr) {
15303
+ const obj = Object.create(SignalPolicy.prototype);
15304
+ obj.__wbg_ptr = ptr;
15305
+ SignalPolicyFinalization.register(obj, obj.__wbg_ptr, obj);
15306
+ return obj;
15307
+ }
15308
+ __destroy_into_raw() {
15309
+ const ptr = this.__wbg_ptr;
15310
+ this.__wbg_ptr = 0;
15311
+ SignalPolicyFinalization.unregister(this);
15312
+ return ptr;
15313
+ }
15314
+ free() {
15315
+ const ptr = this.__destroy_into_raw();
15316
+ wasm.__wbg_signalpolicy_free(ptr, 0);
15317
+ }
15318
+ /**
15319
+ * The core default pseudorange policy for a RINEX version.
15320
+ * @param {number} version
15321
+ * @returns {SignalPolicy}
15322
+ */
15323
+ static defaultFor(version) {
15324
+ const ret = wasm.signalpolicy_defaultFor(version);
15325
+ if (ret[2]) {
15326
+ throw takeFromExternrefTable0(ret[1]);
15327
+ }
15328
+ return SignalPolicy.__wrap(ret[0]);
15329
+ }
15330
+ /**
15331
+ * An empty policy with no constellation preferences.
15332
+ */
15333
+ constructor() {
15334
+ const ret = wasm.signalpolicy_new();
15335
+ this.__wbg_ptr = ret;
15336
+ SignalPolicyFinalization.register(this, this.__wbg_ptr, this);
15337
+ return this;
15338
+ }
15339
+ /**
15340
+ * Return a copy with one constellation's preference list set.
15341
+ * @param {GnssSystem} system
15342
+ * @param {string[]} codes
15343
+ * @returns {SignalPolicy}
15344
+ */
15345
+ withSystem(system, codes) {
15346
+ const ptr0 = passArrayJsValueToWasm0(codes, wasm.__wbindgen_malloc);
15347
+ const len0 = WASM_VECTOR_LEN;
15348
+ const ret = wasm.signalpolicy_withSystem(this.__wbg_ptr, system, ptr0, len0);
15349
+ return SignalPolicy.__wrap(ret);
15350
+ }
15351
+ }
15352
+ if (Symbol.dispose) SignalPolicy.prototype[Symbol.dispose] = SignalPolicy.prototype.free;
15353
+ exports.SignalPolicy = SignalPolicy;
15354
+
15355
+ /**
15356
+ * Reason a carrier-phase arc split was flagged.
15357
+ * @enum {0 | 1 | 2 | 3}
15358
+ */
15359
+ const SlipReason = Object.freeze({
15360
+ /**
15361
+ * Loss-of-lock indicator bit 0 set on either band.
15362
+ */
15363
+ Lli: 0, "0": "Lli",
15364
+ /**
15365
+ * Gap to the previous usable sample exceeded the threshold.
15366
+ */
15367
+ DataGap: 1, "1": "DataGap",
15368
+ /**
15369
+ * Geometry-free phase step exceeded the threshold.
15370
+ */
15371
+ GeometryFree: 2, "2": "GeometryFree",
15372
+ /**
15373
+ * Melbourne-Wubbena step exceeded the threshold.
15374
+ */
15375
+ MelbourneWubbena: 3, "3": "MelbourneWubbena",
15376
+ });
15377
+ exports.SlipReason = SlipReason;
15378
+
15379
+ /**
15380
+ * Cycle-slip classification for one input epoch.
15381
+ */
15382
+ class SlipResult {
15383
+ static __wrap(ptr) {
15384
+ const obj = Object.create(SlipResult.prototype);
15385
+ obj.__wbg_ptr = ptr;
15386
+ SlipResultFinalization.register(obj, obj.__wbg_ptr, obj);
15387
+ return obj;
15388
+ }
15389
+ __destroy_into_raw() {
15390
+ const ptr = this.__wbg_ptr;
15391
+ this.__wbg_ptr = 0;
15392
+ SlipResultFinalization.unregister(this);
15393
+ return ptr;
15394
+ }
15395
+ free() {
15396
+ const ptr = this.__destroy_into_raw();
15397
+ wasm.__wbg_slipresult_free(ptr, 0);
15398
+ }
15399
+ /**
15400
+ * Current geometry-free phase, metres, or `undefined`.
15401
+ * @returns {number | undefined}
14928
15402
  */
14929
15403
  get gfM() {
14930
15404
  const ret = wasm.slipresult_gfM(this.__wbg_ptr);
@@ -15016,6 +15490,44 @@ class SmoothCodeResult {
15016
15490
  if (Symbol.dispose) SmoothCodeResult.prototype[Symbol.dispose] = SmoothCodeResult.prototype.free;
15017
15491
  exports.SmoothCodeResult = SmoothCodeResult;
15018
15492
 
15493
+ class SmoothedTrack {
15494
+ static __wrap(ptr) {
15495
+ const obj = Object.create(SmoothedTrack.prototype);
15496
+ obj.__wbg_ptr = ptr;
15497
+ SmoothedTrackFinalization.register(obj, obj.__wbg_ptr, obj);
15498
+ return obj;
15499
+ }
15500
+ __destroy_into_raw() {
15501
+ const ptr = this.__wbg_ptr;
15502
+ this.__wbg_ptr = 0;
15503
+ SmoothedTrackFinalization.unregister(this);
15504
+ return ptr;
15505
+ }
15506
+ free() {
15507
+ const ptr = this.__destroy_into_raw();
15508
+ wasm.__wbg_smoothedtrack_free(ptr, 0);
15509
+ }
15510
+ /**
15511
+ * @returns {number}
15512
+ */
15513
+ get epochCount() {
15514
+ const ret = wasm.smoothedtrack_epochCount(this.__wbg_ptr);
15515
+ return ret >>> 0;
15516
+ }
15517
+ /**
15518
+ * @returns {any}
15519
+ */
15520
+ get epochs() {
15521
+ const ret = wasm.smoothedtrack_epochs(this.__wbg_ptr);
15522
+ if (ret[2]) {
15523
+ throw takeFromExternrefTable0(ret[1]);
15524
+ }
15525
+ return takeFromExternrefTable0(ret[0]);
15526
+ }
15527
+ }
15528
+ if (Symbol.dispose) SmoothedTrack.prototype[Symbol.dispose] = SmoothedTrack.prototype.free;
15529
+ exports.SmoothedTrack = SmoothedTrack;
15530
+
15019
15531
  /**
15020
15532
  * A receiver solution paired with the provenance of the ephemeris that produced
15021
15533
  * it. Returned by [`solveWithFallback`].
@@ -18625,39 +19137,362 @@ exports.Tle = Tle;
18625
19137
  */
18626
19138
  class TleFit {
18627
19139
  static __wrap(ptr) {
18628
- const obj = Object.create(TleFit.prototype);
19140
+ const obj = Object.create(TleFit.prototype);
19141
+ obj.__wbg_ptr = ptr;
19142
+ TleFitFinalization.register(obj, obj.__wbg_ptr, obj);
19143
+ return obj;
19144
+ }
19145
+ __destroy_into_raw() {
19146
+ const ptr = this.__wbg_ptr;
19147
+ this.__wbg_ptr = 0;
19148
+ TleFitFinalization.unregister(this);
19149
+ return ptr;
19150
+ }
19151
+ free() {
19152
+ const ptr = this.__destroy_into_raw();
19153
+ wasm.__wbg_tlefit_free(ptr, 0);
19154
+ }
19155
+ /**
19156
+ * @returns {any}
19157
+ */
19158
+ get elements() {
19159
+ const ret = wasm.tlefit_elements(this.__wbg_ptr);
19160
+ if (ret[2]) {
19161
+ throw takeFromExternrefTable0(ret[1]);
19162
+ }
19163
+ return takeFromExternrefTable0(ret[0]);
19164
+ }
19165
+ /**
19166
+ * @returns {string}
19167
+ */
19168
+ get line1() {
19169
+ let deferred1_0;
19170
+ let deferred1_1;
19171
+ try {
19172
+ const ret = wasm.tlefit_line1(this.__wbg_ptr);
19173
+ deferred1_0 = ret[0];
19174
+ deferred1_1 = ret[1];
19175
+ return getStringFromWasm0(ret[0], ret[1]);
19176
+ } finally {
19177
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19178
+ }
19179
+ }
19180
+ /**
19181
+ * @returns {string}
19182
+ */
19183
+ get line2() {
19184
+ let deferred1_0;
19185
+ let deferred1_1;
19186
+ try {
19187
+ const ret = wasm.tlefit_line2(this.__wbg_ptr);
19188
+ deferred1_0 = ret[0];
19189
+ deferred1_1 = ret[1];
19190
+ return getStringFromWasm0(ret[0], ret[1]);
19191
+ } finally {
19192
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19193
+ }
19194
+ }
19195
+ /**
19196
+ * @returns {Omm}
19197
+ */
19198
+ get omm() {
19199
+ const ret = wasm.tlefit_omm(this.__wbg_ptr);
19200
+ return Omm.__wrap(ret);
19201
+ }
19202
+ /**
19203
+ * @returns {any}
19204
+ */
19205
+ get stats() {
19206
+ const ret = wasm.tlefit_stats(this.__wbg_ptr);
19207
+ if (ret[2]) {
19208
+ throw takeFromExternrefTable0(ret[1]);
19209
+ }
19210
+ return takeFromExternrefTable0(ret[0]);
19211
+ }
19212
+ /**
19213
+ * @returns {string[]}
19214
+ */
19215
+ toLines() {
19216
+ const ret = wasm.tlefit_toLines(this.__wbg_ptr);
19217
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
19218
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
19219
+ return v1;
19220
+ }
19221
+ }
19222
+ if (Symbol.dispose) TleFit.prototype[Symbol.dispose] = TleFit.prototype.free;
19223
+ exports.TleFit = TleFit;
19224
+
19225
+ /**
19226
+ * TEME states from a batched SGP4 propagation. Each array is flat row-major,
19227
+ * length `3 * epochCount`.
19228
+ */
19229
+ class TlePropagation {
19230
+ static __wrap(ptr) {
19231
+ const obj = Object.create(TlePropagation.prototype);
19232
+ obj.__wbg_ptr = ptr;
19233
+ TlePropagationFinalization.register(obj, obj.__wbg_ptr, obj);
19234
+ return obj;
19235
+ }
19236
+ __destroy_into_raw() {
19237
+ const ptr = this.__wbg_ptr;
19238
+ this.__wbg_ptr = 0;
19239
+ TlePropagationFinalization.unregister(this);
19240
+ return ptr;
19241
+ }
19242
+ free() {
19243
+ const ptr = this.__destroy_into_raw();
19244
+ wasm.__wbg_tlepropagation_free(ptr, 0);
19245
+ }
19246
+ /**
19247
+ * Number of epochs propagated.
19248
+ * @returns {number}
19249
+ */
19250
+ get epochCount() {
19251
+ const ret = wasm.tlepropagation_epochCount(this.__wbg_ptr);
19252
+ return ret >>> 0;
19253
+ }
19254
+ /**
19255
+ * TEME positions, km, flat `[x0, y0, z0, x1, ...]`.
19256
+ * @returns {Float64Array}
19257
+ */
19258
+ get positionKm() {
19259
+ const ret = wasm.tlepropagation_positionKm(this.__wbg_ptr);
19260
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
19261
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
19262
+ return v1;
19263
+ }
19264
+ /**
19265
+ * TEME velocities, km/s, flat `[vx0, vy0, vz0, ...]`.
19266
+ * @returns {Float64Array}
19267
+ */
19268
+ get velocityKmS() {
19269
+ const ret = wasm.tlepropagation_velocityKmS(this.__wbg_ptr);
19270
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
19271
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
19272
+ return v1;
19273
+ }
19274
+ }
19275
+ if (Symbol.dispose) TlePropagation.prototype[Symbol.dispose] = TlePropagation.prototype.free;
19276
+ exports.TlePropagation = TlePropagation;
19277
+
19278
+ class TrackFilter {
19279
+ static __wrap(ptr) {
19280
+ const obj = Object.create(TrackFilter.prototype);
19281
+ obj.__wbg_ptr = ptr;
19282
+ TrackFilterFinalization.register(obj, obj.__wbg_ptr, obj);
19283
+ return obj;
19284
+ }
19285
+ __destroy_into_raw() {
19286
+ const ptr = this.__wbg_ptr;
19287
+ this.__wbg_ptr = 0;
19288
+ TrackFilterFinalization.unregister(this);
19289
+ return ptr;
19290
+ }
19291
+ free() {
19292
+ const ptr = this.__destroy_into_raw();
19293
+ wasm.__wbg_trackfilter_free(ptr, 0);
19294
+ }
19295
+ /**
19296
+ * @returns {number}
19297
+ */
19298
+ get accelerationVarianceSpectralDensityM2S3() {
19299
+ const ret = wasm.trackfilter_accelerationVarianceSpectralDensityM2S3(this.__wbg_ptr);
19300
+ return ret;
19301
+ }
19302
+ /**
19303
+ * @returns {number}
19304
+ */
19305
+ get dimension() {
19306
+ const ret = wasm.trackfilter_dimension(this.__wbg_ptr);
19307
+ return ret >>> 0;
19308
+ }
19309
+ /**
19310
+ * Build a filter from a position fix and uncertain zero initial velocity.
19311
+ * @param {any} config
19312
+ * @returns {TrackFilter}
19313
+ */
19314
+ static fromPosition(config) {
19315
+ const ret = wasm.trackfilter_fromPosition(config);
19316
+ if (ret[2]) {
19317
+ throw takeFromExternrefTable0(ret[1]);
19318
+ }
19319
+ return TrackFilter.__wrap(ret[0]);
19320
+ }
19321
+ /**
19322
+ * Build a stateful no-IMU track filter from a `TrackFilterConfig`.
19323
+ * @param {TrackFilterConfig} config
19324
+ */
19325
+ constructor(config) {
19326
+ _assertClass(config, TrackFilterConfig);
19327
+ const ret = wasm.trackfilter_new(config.__wbg_ptr);
19328
+ if (ret[2]) {
19329
+ throw takeFromExternrefTable0(ret[1]);
19330
+ }
19331
+ this.__wbg_ptr = ret[0];
19332
+ TrackFilterFinalization.register(this, this.__wbg_ptr, this);
19333
+ return this;
19334
+ }
19335
+ /**
19336
+ * @param {any} request
19337
+ * @returns {any}
19338
+ */
19339
+ positionInnovation(request) {
19340
+ const ret = wasm.trackfilter_positionInnovation(this.__wbg_ptr, request);
19341
+ if (ret[2]) {
19342
+ throw takeFromExternrefTable0(ret[1]);
19343
+ }
19344
+ return takeFromExternrefTable0(ret[0]);
19345
+ }
19346
+ /**
19347
+ * @param {number} dt_s
19348
+ * @returns {any}
19349
+ */
19350
+ predict(dt_s) {
19351
+ const ret = wasm.trackfilter_predict(this.__wbg_ptr, dt_s);
19352
+ if (ret[2]) {
19353
+ throw takeFromExternrefTable0(ret[1]);
19354
+ }
19355
+ return takeFromExternrefTable0(ret[0]);
19356
+ }
19357
+ /**
19358
+ * @param {number} dt_s
19359
+ * @param {TrackRtsHistoryBuilder} history
19360
+ * @returns {any}
19361
+ */
19362
+ predictRecorded(dt_s, history) {
19363
+ _assertClass(history, TrackRtsHistoryBuilder);
19364
+ const ret = wasm.trackfilter_predictRecorded(this.__wbg_ptr, dt_s, history.__wbg_ptr);
19365
+ if (ret[2]) {
19366
+ throw takeFromExternrefTable0(ret[1]);
19367
+ }
19368
+ return takeFromExternrefTable0(ret[0]);
19369
+ }
19370
+ /**
19371
+ * @param {TrackRtsHistoryBuilder} history
19372
+ */
19373
+ recordPredictionOnly(history) {
19374
+ _assertClass(history, TrackRtsHistoryBuilder);
19375
+ const ret = wasm.trackfilter_recordPredictionOnly(this.__wbg_ptr, history.__wbg_ptr);
19376
+ if (ret[1]) {
19377
+ throw takeFromExternrefTable0(ret[0]);
19378
+ }
19379
+ }
19380
+ /**
19381
+ * @returns {any}
19382
+ */
19383
+ get state() {
19384
+ const ret = wasm.trackfilter_state(this.__wbg_ptr);
19385
+ if (ret[2]) {
19386
+ throw takeFromExternrefTable0(ret[1]);
19387
+ }
19388
+ return takeFromExternrefTable0(ret[0]);
19389
+ }
19390
+ /**
19391
+ * @param {any} request
19392
+ * @returns {any}
19393
+ */
19394
+ stateInnovation(request) {
19395
+ const ret = wasm.trackfilter_stateInnovation(this.__wbg_ptr, request);
19396
+ if (ret[2]) {
19397
+ throw takeFromExternrefTable0(ret[1]);
19398
+ }
19399
+ return takeFromExternrefTable0(ret[0]);
19400
+ }
19401
+ /**
19402
+ * @param {any} request
19403
+ * @returns {any}
19404
+ */
19405
+ updatePosition(request) {
19406
+ const ret = wasm.trackfilter_updatePosition(this.__wbg_ptr, request);
19407
+ if (ret[2]) {
19408
+ throw takeFromExternrefTable0(ret[1]);
19409
+ }
19410
+ return takeFromExternrefTable0(ret[0]);
19411
+ }
19412
+ /**
19413
+ * @param {any} request
19414
+ * @returns {any}
19415
+ */
19416
+ updatePositionGated(request) {
19417
+ const ret = wasm.trackfilter_updatePositionGated(this.__wbg_ptr, request);
19418
+ if (ret[2]) {
19419
+ throw takeFromExternrefTable0(ret[1]);
19420
+ }
19421
+ return takeFromExternrefTable0(ret[0]);
19422
+ }
19423
+ /**
19424
+ * @param {any} request
19425
+ * @param {TrackRtsHistoryBuilder} history
19426
+ * @returns {any}
19427
+ */
19428
+ updatePositionGatedRecorded(request, history) {
19429
+ _assertClass(history, TrackRtsHistoryBuilder);
19430
+ const ret = wasm.trackfilter_updatePositionGatedRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19431
+ if (ret[2]) {
19432
+ throw takeFromExternrefTable0(ret[1]);
19433
+ }
19434
+ return takeFromExternrefTable0(ret[0]);
19435
+ }
19436
+ /**
19437
+ * @param {any} request
19438
+ * @param {TrackRtsHistoryBuilder} history
19439
+ * @returns {any}
19440
+ */
19441
+ updatePositionRecorded(request, history) {
19442
+ _assertClass(history, TrackRtsHistoryBuilder);
19443
+ const ret = wasm.trackfilter_updatePositionRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19444
+ if (ret[2]) {
19445
+ throw takeFromExternrefTable0(ret[1]);
19446
+ }
19447
+ return takeFromExternrefTable0(ret[0]);
19448
+ }
19449
+ /**
19450
+ * @param {any} request
19451
+ * @returns {any}
19452
+ */
19453
+ updateState(request) {
19454
+ const ret = wasm.trackfilter_updateState(this.__wbg_ptr, request);
19455
+ if (ret[2]) {
19456
+ throw takeFromExternrefTable0(ret[1]);
19457
+ }
19458
+ return takeFromExternrefTable0(ret[0]);
19459
+ }
19460
+ }
19461
+ if (Symbol.dispose) TrackFilter.prototype[Symbol.dispose] = TrackFilter.prototype.free;
19462
+ exports.TrackFilter = TrackFilter;
19463
+
19464
+ class TrackFilterConfig {
19465
+ static __wrap(ptr) {
19466
+ const obj = Object.create(TrackFilterConfig.prototype);
18629
19467
  obj.__wbg_ptr = ptr;
18630
- TleFitFinalization.register(obj, obj.__wbg_ptr, obj);
19468
+ TrackFilterConfigFinalization.register(obj, obj.__wbg_ptr, obj);
18631
19469
  return obj;
18632
19470
  }
18633
19471
  __destroy_into_raw() {
18634
19472
  const ptr = this.__wbg_ptr;
18635
19473
  this.__wbg_ptr = 0;
18636
- TleFitFinalization.unregister(this);
19474
+ TrackFilterConfigFinalization.unregister(this);
18637
19475
  return ptr;
18638
19476
  }
18639
19477
  free() {
18640
19478
  const ptr = this.__destroy_into_raw();
18641
- wasm.__wbg_tlefit_free(ptr, 0);
19479
+ wasm.__wbg_trackfilterconfig_free(ptr, 0);
18642
19480
  }
18643
19481
  /**
18644
- * @returns {any}
19482
+ * @returns {number}
18645
19483
  */
18646
- get elements() {
18647
- const ret = wasm.tlefit_elements(this.__wbg_ptr);
18648
- if (ret[2]) {
18649
- throw takeFromExternrefTable0(ret[1]);
18650
- }
18651
- return takeFromExternrefTable0(ret[0]);
19484
+ get dimension() {
19485
+ const ret = wasm.trackfilterconfig_dimension(this.__wbg_ptr);
19486
+ return ret >>> 0;
18652
19487
  }
18653
19488
  /**
18654
19489
  * @returns {string}
18655
19490
  */
18656
- get line1() {
19491
+ get frame() {
18657
19492
  let deferred1_0;
18658
19493
  let deferred1_1;
18659
19494
  try {
18660
- const ret = wasm.tlefit_line1(this.__wbg_ptr);
19495
+ const ret = wasm.trackfilterconfig_frame(this.__wbg_ptr);
18661
19496
  deferred1_0 = ret[0];
18662
19497
  deferred1_1 = ret[1];
18663
19498
  return getStringFromWasm0(ret[0], ret[1]);
@@ -18666,102 +19501,141 @@ class TleFit {
18666
19501
  }
18667
19502
  }
18668
19503
  /**
18669
- * @returns {string}
19504
+ * Build a config from a position fix and uncertain zero initial velocity.
19505
+ * @param {any} config
19506
+ * @returns {TrackFilterConfig}
18670
19507
  */
18671
- get line2() {
18672
- let deferred1_0;
18673
- let deferred1_1;
18674
- try {
18675
- const ret = wasm.tlefit_line2(this.__wbg_ptr);
18676
- deferred1_0 = ret[0];
18677
- deferred1_1 = ret[1];
18678
- return getStringFromWasm0(ret[0], ret[1]);
18679
- } finally {
18680
- wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19508
+ static fromPosition(config) {
19509
+ const ret = wasm.trackfilterconfig_fromPosition(config);
19510
+ if (ret[2]) {
19511
+ throw takeFromExternrefTable0(ret[1]);
18681
19512
  }
19513
+ return TrackFilterConfig.__wrap(ret[0]);
18682
19514
  }
18683
19515
  /**
18684
- * @returns {Omm}
19516
+ * @returns {number}
18685
19517
  */
18686
- get omm() {
18687
- const ret = wasm.tlefit_omm(this.__wbg_ptr);
18688
- return Omm.__wrap(ret);
19518
+ get initialTS() {
19519
+ const ret = wasm.trackfilterconfig_initialTS(this.__wbg_ptr);
19520
+ return ret;
18689
19521
  }
18690
19522
  /**
18691
- * @returns {any}
19523
+ * Build a no-IMU track filter config from a JS object.
19524
+ * @param {any} config
18692
19525
  */
18693
- get stats() {
18694
- const ret = wasm.tlefit_stats(this.__wbg_ptr);
19526
+ constructor(config) {
19527
+ const ret = wasm.trackfilterconfig_new(config);
18695
19528
  if (ret[2]) {
18696
19529
  throw takeFromExternrefTable0(ret[1]);
18697
19530
  }
18698
- return takeFromExternrefTable0(ret[0]);
19531
+ this.__wbg_ptr = ret[0];
19532
+ TrackFilterConfigFinalization.register(this, this.__wbg_ptr, this);
19533
+ return this;
18699
19534
  }
18700
19535
  /**
18701
- * @returns {string[]}
19536
+ * @returns {any}
18702
19537
  */
18703
- toLines() {
18704
- const ret = wasm.tlefit_toLines(this.__wbg_ptr);
18705
- var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
18706
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
18707
- return v1;
19538
+ toObject() {
19539
+ const ret = wasm.trackfilterconfig_toObject(this.__wbg_ptr);
19540
+ if (ret[2]) {
19541
+ throw takeFromExternrefTable0(ret[1]);
19542
+ }
19543
+ return takeFromExternrefTable0(ret[0]);
18708
19544
  }
18709
19545
  }
18710
- if (Symbol.dispose) TleFit.prototype[Symbol.dispose] = TleFit.prototype.free;
18711
- exports.TleFit = TleFit;
19546
+ if (Symbol.dispose) TrackFilterConfig.prototype[Symbol.dispose] = TrackFilterConfig.prototype.free;
19547
+ exports.TrackFilterConfig = TrackFilterConfig;
18712
19548
 
18713
- /**
18714
- * TEME states from a batched SGP4 propagation. Each array is flat row-major,
18715
- * length `3 * epochCount`.
18716
- */
18717
- class TlePropagation {
19549
+ class TrackRtsHistory {
18718
19550
  static __wrap(ptr) {
18719
- const obj = Object.create(TlePropagation.prototype);
19551
+ const obj = Object.create(TrackRtsHistory.prototype);
18720
19552
  obj.__wbg_ptr = ptr;
18721
- TlePropagationFinalization.register(obj, obj.__wbg_ptr, obj);
19553
+ TrackRtsHistoryFinalization.register(obj, obj.__wbg_ptr, obj);
18722
19554
  return obj;
18723
19555
  }
18724
19556
  __destroy_into_raw() {
18725
19557
  const ptr = this.__wbg_ptr;
18726
19558
  this.__wbg_ptr = 0;
18727
- TlePropagationFinalization.unregister(this);
19559
+ TrackRtsHistoryFinalization.unregister(this);
18728
19560
  return ptr;
18729
19561
  }
18730
19562
  free() {
18731
19563
  const ptr = this.__destroy_into_raw();
18732
- wasm.__wbg_tlepropagation_free(ptr, 0);
19564
+ wasm.__wbg_trackrtshistory_free(ptr, 0);
18733
19565
  }
18734
19566
  /**
18735
- * Number of epochs propagated.
18736
19567
  * @returns {number}
18737
19568
  */
18738
19569
  get epochCount() {
18739
- const ret = wasm.tlepropagation_epochCount(this.__wbg_ptr);
19570
+ const ret = wasm.trackrtshistory_epochCount(this.__wbg_ptr);
18740
19571
  return ret >>> 0;
18741
19572
  }
18742
19573
  /**
18743
- * TEME positions, km, flat `[x0, y0, z0, x1, ...]`.
18744
- * @returns {Float64Array}
19574
+ * @returns {any}
18745
19575
  */
18746
- get positionKm() {
18747
- const ret = wasm.tlepropagation_positionKm(this.__wbg_ptr);
18748
- var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
18749
- wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
18750
- return v1;
19576
+ get epochs() {
19577
+ const ret = wasm.trackrtshistory_epochs(this.__wbg_ptr);
19578
+ if (ret[2]) {
19579
+ throw takeFromExternrefTable0(ret[1]);
19580
+ }
19581
+ return takeFromExternrefTable0(ret[0]);
19582
+ }
19583
+ }
19584
+ if (Symbol.dispose) TrackRtsHistory.prototype[Symbol.dispose] = TrackRtsHistory.prototype.free;
19585
+ exports.TrackRtsHistory = TrackRtsHistory;
19586
+
19587
+ class TrackRtsHistoryBuilder {
19588
+ static __wrap(ptr) {
19589
+ const obj = Object.create(TrackRtsHistoryBuilder.prototype);
19590
+ obj.__wbg_ptr = ptr;
19591
+ TrackRtsHistoryBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
19592
+ return obj;
19593
+ }
19594
+ __destroy_into_raw() {
19595
+ const ptr = this.__wbg_ptr;
19596
+ this.__wbg_ptr = 0;
19597
+ TrackRtsHistoryBuilderFinalization.unregister(this);
19598
+ return ptr;
19599
+ }
19600
+ free() {
19601
+ const ptr = this.__destroy_into_raw();
19602
+ wasm.__wbg_trackrtshistorybuilder_free(ptr, 0);
18751
19603
  }
18752
19604
  /**
18753
- * TEME velocities, km/s, flat `[vx0, vy0, vz0, ...]`.
18754
- * @returns {Float64Array}
19605
+ * @returns {TrackRtsHistory}
18755
19606
  */
18756
- get velocityKmS() {
18757
- const ret = wasm.tlepropagation_velocityKmS(this.__wbg_ptr);
18758
- var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
18759
- wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
18760
- return v1;
19607
+ finish() {
19608
+ const ret = wasm.trackrtshistorybuilder_finish(this.__wbg_ptr);
19609
+ if (ret[2]) {
19610
+ throw takeFromExternrefTable0(ret[1]);
19611
+ }
19612
+ return TrackRtsHistory.__wrap(ret[0]);
19613
+ }
19614
+ /**
19615
+ * Start a history from the filter's current state.
19616
+ * @param {TrackFilter} filter
19617
+ * @returns {TrackRtsHistoryBuilder}
19618
+ */
19619
+ static fromFilter(filter) {
19620
+ _assertClass(filter, TrackFilter);
19621
+ const ret = wasm.trackrtshistorybuilder_fromFilter(filter.__wbg_ptr);
19622
+ if (ret[2]) {
19623
+ throw takeFromExternrefTable0(ret[1]);
19624
+ }
19625
+ return TrackRtsHistoryBuilder.__wrap(ret[0]);
19626
+ }
19627
+ /**
19628
+ * Start an empty history for manual recording.
19629
+ */
19630
+ constructor() {
19631
+ const ret = wasm.trackrtshistorybuilder_new();
19632
+ this.__wbg_ptr = ret;
19633
+ TrackRtsHistoryBuilderFinalization.register(this, this.__wbg_ptr, this);
19634
+ return this;
18761
19635
  }
18762
19636
  }
18763
- if (Symbol.dispose) TlePropagation.prototype[Symbol.dispose] = TlePropagation.prototype.free;
18764
- exports.TlePropagation = TlePropagation;
19637
+ if (Symbol.dispose) TrackRtsHistoryBuilder.prototype[Symbol.dispose] = TrackRtsHistoryBuilder.prototype.free;
19638
+ exports.TrackRtsHistoryBuilder = TrackRtsHistoryBuilder;
18765
19639
 
18766
19640
  /**
18767
19641
  * Provenance and coverage of the embedded UT1-UTC / delta-T (EOP) table.
@@ -20213,6 +21087,24 @@ function defaultPair(system) {
20213
21087
  }
20214
21088
  exports.defaultPair = defaultPair;
20215
21089
 
21090
+ /**
21091
+ * Default scenario seed as a hexadecimal string.
21092
+ * @returns {string}
21093
+ */
21094
+ function defaultScenarioSeedHex() {
21095
+ let deferred1_0;
21096
+ let deferred1_1;
21097
+ try {
21098
+ const ret = wasm.defaultScenarioSeedHex();
21099
+ deferred1_0 = ret[0];
21100
+ deferred1_1 = ret[1];
21101
+ return getStringFromWasm0(ret[0], ret[1]);
21102
+ } finally {
21103
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
21104
+ }
21105
+ }
21106
+ exports.defaultScenarioSeedHex = defaultScenarioSeedHex;
21107
+
20216
21108
  /**
20217
21109
  * Single-frequency carrier used by the SPP ionosphere-scaling policy.
20218
21110
  * @param {GnssSystem} system
@@ -20543,6 +21435,26 @@ function eclipseStatus(satellite_position_km, sun_position_km) {
20543
21435
  }
20544
21436
  exports.eclipseStatus = eclipseStatus;
20545
21437
 
21438
+ /**
21439
+ * Effective C/N0 degradation for one finite-band interference term.
21440
+ * @param {SignalAnalysisModulation} desired
21441
+ * @param {SignalAnalysisModulation} interference
21442
+ * @param {number} cn0_db_hz
21443
+ * @param {number} receiver_bandwidth_hz
21444
+ * @param {number} power_ratio_to_carrier
21445
+ * @returns {any}
21446
+ */
21447
+ function effectiveCn0Degradation(desired, interference, cn0_db_hz, receiver_bandwidth_hz, power_ratio_to_carrier) {
21448
+ _assertClass(desired, SignalAnalysisModulation);
21449
+ _assertClass(interference, SignalAnalysisModulation);
21450
+ const ret = wasm.effectiveCn0Degradation(desired.__wbg_ptr, interference.__wbg_ptr, cn0_db_hz, receiver_bandwidth_hz, power_ratio_to_carrier);
21451
+ if (ret[2]) {
21452
+ throw takeFromExternrefTable0(ret[1]);
21453
+ }
21454
+ return takeFromExternrefTable0(ret[0]);
21455
+ }
21456
+ exports.effectiveCn0Degradation = effectiveCn0Degradation;
21457
+
20546
21458
  /**
20547
21459
  * Ellipsoidal height `h = H + N` (metres above the WGS84 ellipsoid) from an
20548
21460
  * orthometric height and a geodetic position in radians, using the embedded
@@ -21594,6 +22506,24 @@ function fspl(distance_km, frequency_mhz) {
21594
22506
  }
21595
22507
  exports.fspl = fspl;
21596
22508
 
22509
+ /**
22510
+ * Decode and re-encode fusion-state bytes through the core codec.
22511
+ * @param {Uint8Array} bytes
22512
+ * @returns {Uint8Array}
22513
+ */
22514
+ function fusionStateBytesRoundTrip(bytes) {
22515
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
22516
+ const len0 = WASM_VECTOR_LEN;
22517
+ const ret = wasm.fusionStateBytesRoundTrip(ptr0, len0);
22518
+ if (ret[3]) {
22519
+ throw takeFromExternrefTable0(ret[2]);
22520
+ }
22521
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
22522
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
22523
+ return v2;
22524
+ }
22525
+ exports.fusionStateBytesRoundTrip = fusionStateBytesRoundTrip;
22526
+
21597
22527
  /**
21598
22528
  * Galileo NeQuick-G single-frequency ionospheric group delay (positive metres).
21599
22529
  *
@@ -25711,6 +26641,34 @@ function sbasProtectionLevels(geometry, model, k) {
25711
26641
  }
25712
26642
  exports.sbasProtectionLevels = sbasProtectionLevels;
25713
26643
 
26644
+ /**
26645
+ * Core scenario engine version string used in deterministic outputs.
26646
+ * @returns {string}
26647
+ */
26648
+ function scenarioEngineVersion() {
26649
+ let deferred1_0;
26650
+ let deferred1_1;
26651
+ try {
26652
+ const ret = wasm.scenarioEngineVersion();
26653
+ deferred1_0 = ret[0];
26654
+ deferred1_1 = ret[1];
26655
+ return getStringFromWasm0(ret[0], ret[1]);
26656
+ } finally {
26657
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
26658
+ }
26659
+ }
26660
+ exports.scenarioEngineVersion = scenarioEngineVersion;
26661
+
26662
+ /**
26663
+ * Core scenario schema version accepted by the binding.
26664
+ * @returns {number}
26665
+ */
26666
+ function scenarioSchemaVersion() {
26667
+ const ret = wasm.scenarioSchemaVersion();
26668
+ return ret >>> 0;
26669
+ }
26670
+ exports.scenarioSchemaVersion = scenarioSchemaVersion;
26671
+
25714
26672
  /**
25715
26673
  * Screen a primary satellite against a secondary TLE catalog for threshold TCAs.
25716
26674
  *
@@ -25995,6 +26953,70 @@ function sigmas(entries, options) {
25995
26953
  }
25996
26954
  exports.sigmas = sigmas;
25997
26955
 
26956
+ /**
26957
+ * Simulate a scenario from a JS object or JSON string and return JS arrays.
26958
+ * @param {any} value
26959
+ * @returns {any}
26960
+ */
26961
+ function simulateScenario(value) {
26962
+ const ret = wasm.simulateScenario(value);
26963
+ if (ret[2]) {
26964
+ throw takeFromExternrefTable0(ret[1]);
26965
+ }
26966
+ return takeFromExternrefTable0(ret[0]);
26967
+ }
26968
+ exports.simulateScenario = simulateScenario;
26969
+
26970
+ /**
26971
+ * Simulate a scenario from a JS object or JSON string and return deterministic JSON bytes.
26972
+ * @param {any} value
26973
+ * @returns {Uint8Array}
26974
+ */
26975
+ function simulateScenarioBytes(value) {
26976
+ const ret = wasm.simulateScenarioBytes(value);
26977
+ if (ret[3]) {
26978
+ throw takeFromExternrefTable0(ret[2]);
26979
+ }
26980
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
26981
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
26982
+ return v1;
26983
+ }
26984
+ exports.simulateScenarioBytes = simulateScenarioBytes;
26985
+
26986
+ /**
26987
+ * Simulate a scenario from JSON text and return JS arrays.
26988
+ * @param {string} text
26989
+ * @returns {any}
26990
+ */
26991
+ function simulateScenarioJson(text) {
26992
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
26993
+ const len0 = WASM_VECTOR_LEN;
26994
+ const ret = wasm.simulateScenarioJson(ptr0, len0);
26995
+ if (ret[2]) {
26996
+ throw takeFromExternrefTable0(ret[1]);
26997
+ }
26998
+ return takeFromExternrefTable0(ret[0]);
26999
+ }
27000
+ exports.simulateScenarioJson = simulateScenarioJson;
27001
+
27002
+ /**
27003
+ * Simulate a scenario from JSON text and return deterministic JSON bytes.
27004
+ * @param {string} text
27005
+ * @returns {Uint8Array}
27006
+ */
27007
+ function simulateScenarioJsonBytes(text) {
27008
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
27009
+ const len0 = WASM_VECTOR_LEN;
27010
+ const ret = wasm.simulateScenarioJsonBytes(ptr0, len0);
27011
+ if (ret[3]) {
27012
+ throw takeFromExternrefTable0(ret[2]);
27013
+ }
27014
+ var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
27015
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
27016
+ return v2;
27017
+ }
27018
+ exports.simulateScenarioJsonBytes = simulateScenarioJsonBytes;
27019
+
25998
27020
  /**
25999
27021
  * Sample skewness of a residual set.
26000
27022
  *
@@ -26072,6 +27094,20 @@ function smoothIonoFreeCode(arc, options, hatch_window_cap) {
26072
27094
  }
26073
27095
  exports.smoothIonoFreeCode = smoothIonoFreeCode;
26074
27096
 
27097
+ /**
27098
+ * @param {TrackRtsHistory} history
27099
+ * @returns {SmoothedTrack}
27100
+ */
27101
+ function smoothTrackRts(history) {
27102
+ _assertClass(history, TrackRtsHistory);
27103
+ const ret = wasm.smoothTrackRts(history.__wbg_ptr);
27104
+ if (ret[2]) {
27105
+ throw takeFromExternrefTable0(ret[1]);
27106
+ }
27107
+ return SmoothedTrack.__wrap(ret[0]);
27108
+ }
27109
+ exports.smoothTrackRts = smoothTrackRts;
27110
+
26075
27111
  /**
26076
27112
  * Post-correlation predetection SNR in decibels.
26077
27113
  * @param {number} cn0_dbhz
@@ -26576,6 +27612,42 @@ function sp3PreciseEphemerisSamples(sp3) {
26576
27612
  }
26577
27613
  exports.sp3PreciseEphemerisSamples = sp3PreciseEphemerisSamples;
26578
27614
 
27615
+ /**
27616
+ * Spectral separation coefficient between two modulations, in dB-Hz.
27617
+ * @param {SignalAnalysisModulation} desired
27618
+ * @param {SignalAnalysisModulation} interference
27619
+ * @param {number} receiver_bandwidth_hz
27620
+ * @returns {number}
27621
+ */
27622
+ function spectralSeparationCoefficientDbHz(desired, interference, receiver_bandwidth_hz) {
27623
+ _assertClass(desired, SignalAnalysisModulation);
27624
+ _assertClass(interference, SignalAnalysisModulation);
27625
+ const ret = wasm.spectralSeparationCoefficientDbHz(desired.__wbg_ptr, interference.__wbg_ptr, receiver_bandwidth_hz);
27626
+ if (ret[2]) {
27627
+ throw takeFromExternrefTable0(ret[1]);
27628
+ }
27629
+ return ret[0];
27630
+ }
27631
+ exports.spectralSeparationCoefficientDbHz = spectralSeparationCoefficientDbHz;
27632
+
27633
+ /**
27634
+ * Spectral separation coefficient between two modulations, in hertz.
27635
+ * @param {SignalAnalysisModulation} desired
27636
+ * @param {SignalAnalysisModulation} interference
27637
+ * @param {number} receiver_bandwidth_hz
27638
+ * @returns {number}
27639
+ */
27640
+ function spectralSeparationCoefficientHz(desired, interference, receiver_bandwidth_hz) {
27641
+ _assertClass(desired, SignalAnalysisModulation);
27642
+ _assertClass(interference, SignalAnalysisModulation);
27643
+ const ret = wasm.spectralSeparationCoefficientHz(desired.__wbg_ptr, interference.__wbg_ptr, receiver_bandwidth_hz);
27644
+ if (ret[2]) {
27645
+ throw takeFromExternrefTable0(ret[1]);
27646
+ }
27647
+ return ret[0];
27648
+ }
27649
+ exports.spectralSeparationCoefficientHz = spectralSeparationCoefficientHz;
27650
+
26579
27651
  /**
26580
27652
  * Continuous seconds since J2000 for a split Julian date.
26581
27653
  * @param {number} jd_whole
@@ -27964,6 +29036,9 @@ const GeometryQualityFinalization = (typeof FinalizationRegistry === 'undefined'
27964
29036
  const GlonassRecordJsFinalization = (typeof FinalizationRegistry === 'undefined')
27965
29037
  ? { register: () => {}, unregister: () => {} }
27966
29038
  : new FinalizationRegistry(ptr => wasm.__wbg_glonassrecordjs_free(ptr, 1));
29039
+ const GnssInsFilterFinalization = (typeof FinalizationRegistry === 'undefined')
29040
+ ? { register: () => {}, unregister: () => {} }
29041
+ : new FinalizationRegistry(ptr => wasm.__wbg_gnssinsfilter_free(ptr, 1));
27967
29042
  const GnssPassFinalization = (typeof FinalizationRegistry === 'undefined')
27968
29043
  ? { register: () => {}, unregister: () => {} }
27969
29044
  : new FinalizationRegistry(ptr => wasm.__wbg_gnsspass_free(ptr, 1));
@@ -28237,6 +29312,9 @@ const SbasProtectionFinalization = (typeof FinalizationRegistry === 'undefined')
28237
29312
  const SbasSisErrorFinalization = (typeof FinalizationRegistry === 'undefined')
28238
29313
  ? { register: () => {}, unregister: () => {} }
28239
29314
  : new FinalizationRegistry(ptr => wasm.__wbg_sbassiserror_free(ptr, 1));
29315
+ const SignalAnalysisModulationFinalization = (typeof FinalizationRegistry === 'undefined')
29316
+ ? { register: () => {}, unregister: () => {} }
29317
+ : new FinalizationRegistry(ptr => wasm.__wbg_signalanalysismodulation_free(ptr, 1));
28240
29318
  const SignalPolicyFinalization = (typeof FinalizationRegistry === 'undefined')
28241
29319
  ? { register: () => {}, unregister: () => {} }
28242
29320
  : new FinalizationRegistry(ptr => wasm.__wbg_signalpolicy_free(ptr, 1));
@@ -28246,6 +29324,9 @@ const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
28246
29324
  const SmoothCodeResultFinalization = (typeof FinalizationRegistry === 'undefined')
28247
29325
  ? { register: () => {}, unregister: () => {} }
28248
29326
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothcoderesult_free(ptr, 1));
29327
+ const SmoothedTrackFinalization = (typeof FinalizationRegistry === 'undefined')
29328
+ ? { register: () => {}, unregister: () => {} }
29329
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedtrack_free(ptr, 1));
28249
29330
  const SourcedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
28250
29331
  ? { register: () => {}, unregister: () => {} }
28251
29332
  : new FinalizationRegistry(ptr => wasm.__wbg_sourcedsolution_free(ptr, 1));
@@ -28354,6 +29435,18 @@ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
28354
29435
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
28355
29436
  ? { register: () => {}, unregister: () => {} }
28356
29437
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));
29438
+ const TrackFilterFinalization = (typeof FinalizationRegistry === 'undefined')
29439
+ ? { register: () => {}, unregister: () => {} }
29440
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilter_free(ptr, 1));
29441
+ const TrackFilterConfigFinalization = (typeof FinalizationRegistry === 'undefined')
29442
+ ? { register: () => {}, unregister: () => {} }
29443
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilterconfig_free(ptr, 1));
29444
+ const TrackRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
29445
+ ? { register: () => {}, unregister: () => {} }
29446
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistory_free(ptr, 1));
29447
+ const TrackRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
29448
+ ? { register: () => {}, unregister: () => {} }
29449
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistorybuilder_free(ptr, 1));
28357
29450
  const Ut1CoverageFinalization = (typeof FinalizationRegistry === 'undefined')
28358
29451
  ? { register: () => {}, unregister: () => {} }
28359
29452
  : new FinalizationRegistry(ptr => wasm.__wbg_ut1coverage_free(ptr, 1));