@neilberkman/sidereon 0.18.0 → 0.19.1

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.
@@ -5103,6 +5103,106 @@ class FrameStates {
5103
5103
  if (Symbol.dispose) FrameStates.prototype[Symbol.dispose] = FrameStates.prototype.free;
5104
5104
  exports.FrameStates = FrameStates;
5105
5105
 
5106
+ /**
5107
+ * Recorded fusion forward-pass history accepted by `smoothFusionRts`.
5108
+ */
5109
+ class FusionRtsHistory {
5110
+ static __wrap(ptr) {
5111
+ const obj = Object.create(FusionRtsHistory.prototype);
5112
+ obj.__wbg_ptr = ptr;
5113
+ FusionRtsHistoryFinalization.register(obj, obj.__wbg_ptr, obj);
5114
+ return obj;
5115
+ }
5116
+ __destroy_into_raw() {
5117
+ const ptr = this.__wbg_ptr;
5118
+ this.__wbg_ptr = 0;
5119
+ FusionRtsHistoryFinalization.unregister(this);
5120
+ return ptr;
5121
+ }
5122
+ free() {
5123
+ const ptr = this.__destroy_into_raw();
5124
+ wasm.__wbg_fusionrtshistory_free(ptr, 0);
5125
+ }
5126
+ /**
5127
+ * Number of recorded epochs.
5128
+ * @returns {number}
5129
+ */
5130
+ get epochCount() {
5131
+ const ret = wasm.fusionrtshistory_epochCount(this.__wbg_ptr);
5132
+ return ret >>> 0;
5133
+ }
5134
+ /**
5135
+ * Recorded epochs in forward time order.
5136
+ * @returns {any}
5137
+ */
5138
+ get epochs() {
5139
+ const ret = wasm.fusionrtshistory_epochs(this.__wbg_ptr);
5140
+ if (ret[2]) {
5141
+ throw takeFromExternrefTable0(ret[1]);
5142
+ }
5143
+ return takeFromExternrefTable0(ret[0]);
5144
+ }
5145
+ }
5146
+ if (Symbol.dispose) FusionRtsHistory.prototype[Symbol.dispose] = FusionRtsHistory.prototype.free;
5147
+ exports.FusionRtsHistory = FusionRtsHistory;
5148
+
5149
+ /**
5150
+ * Builder for recording a fusion forward pass before RTS smoothing.
5151
+ */
5152
+ class FusionRtsHistoryBuilder {
5153
+ static __wrap(ptr) {
5154
+ const obj = Object.create(FusionRtsHistoryBuilder.prototype);
5155
+ obj.__wbg_ptr = ptr;
5156
+ FusionRtsHistoryBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
5157
+ return obj;
5158
+ }
5159
+ __destroy_into_raw() {
5160
+ const ptr = this.__wbg_ptr;
5161
+ this.__wbg_ptr = 0;
5162
+ FusionRtsHistoryBuilderFinalization.unregister(this);
5163
+ return ptr;
5164
+ }
5165
+ free() {
5166
+ const ptr = this.__destroy_into_raw();
5167
+ wasm.__wbg_fusionrtshistorybuilder_free(ptr, 0);
5168
+ }
5169
+ /**
5170
+ * Return a validated recorded history.
5171
+ * @returns {FusionRtsHistory}
5172
+ */
5173
+ finish() {
5174
+ const ret = wasm.fusionrtshistorybuilder_finish(this.__wbg_ptr);
5175
+ if (ret[2]) {
5176
+ throw takeFromExternrefTable0(ret[1]);
5177
+ }
5178
+ return FusionRtsHistory.__wrap(ret[0]);
5179
+ }
5180
+ /**
5181
+ * Start a history from the filter's current checkpoint.
5182
+ * @param {GnssInsFilter} filter
5183
+ * @returns {FusionRtsHistoryBuilder}
5184
+ */
5185
+ static fromFilter(filter) {
5186
+ _assertClass(filter, GnssInsFilter);
5187
+ const ret = wasm.fusionrtshistorybuilder_fromFilter(filter.__wbg_ptr);
5188
+ if (ret[2]) {
5189
+ throw takeFromExternrefTable0(ret[1]);
5190
+ }
5191
+ return FusionRtsHistoryBuilder.__wrap(ret[0]);
5192
+ }
5193
+ /**
5194
+ * Start an empty history for manual recording.
5195
+ */
5196
+ constructor() {
5197
+ const ret = wasm.fusionrtshistorybuilder_new();
5198
+ this.__wbg_ptr = ret;
5199
+ FusionRtsHistoryBuilderFinalization.register(this, this.__wbg_ptr, this);
5200
+ return this;
5201
+ }
5202
+ }
5203
+ if (Symbol.dispose) FusionRtsHistoryBuilder.prototype[Symbol.dispose] = FusionRtsHistoryBuilder.prototype.free;
5204
+ exports.FusionRtsHistoryBuilder = FusionRtsHistoryBuilder;
5205
+
5106
5206
  /**
5107
5207
  * WGS84 geodesic input failure class exposed as a stable enum symbol.
5108
5208
  * @enum {0}
@@ -5824,6 +5924,20 @@ class GnssInsFilter {
5824
5924
  }
5825
5925
  return takeFromExternrefTable0(ret[0]);
5826
5926
  }
5927
+ /**
5928
+ * Propagate and record the transition for later fusion RTS smoothing.
5929
+ * @param {any} sample
5930
+ * @param {FusionRtsHistoryBuilder} history
5931
+ * @returns {any}
5932
+ */
5933
+ propagateRecorded(sample, history) {
5934
+ _assertClass(history, FusionRtsHistoryBuilder);
5935
+ const ret = wasm.gnssinsfilter_propagateRecorded(this.__wbg_ptr, sample, history.__wbg_ptr);
5936
+ if (ret[2]) {
5937
+ throw takeFromExternrefTable0(ret[1]);
5938
+ }
5939
+ return takeFromExternrefTable0(ret[0]);
5940
+ }
5827
5941
  /**
5828
5942
  * Restore this filter from versioned fusion-state bytes.
5829
5943
  * @param {Uint8Array} bytes
@@ -5881,6 +5995,20 @@ class GnssInsFilter {
5881
5995
  }
5882
5996
  return takeFromExternrefTable0(ret[0]);
5883
5997
  }
5998
+ /**
5999
+ * Apply a loose GNSS fix and record checkpoints for fusion RTS smoothing.
6000
+ * @param {any} measurement
6001
+ * @param {FusionRtsHistoryBuilder} history
6002
+ * @returns {any}
6003
+ */
6004
+ updateLooseRecorded(measurement, history) {
6005
+ _assertClass(history, FusionRtsHistoryBuilder);
6006
+ const ret = wasm.gnssinsfilter_updateLooseRecorded(this.__wbg_ptr, measurement, history.__wbg_ptr);
6007
+ if (ret[2]) {
6008
+ throw takeFromExternrefTable0(ret[1]);
6009
+ }
6010
+ return takeFromExternrefTable0(ret[0]);
6011
+ }
5884
6012
  /**
5885
6013
  * Apply a loose GNSS fix, replaying retained IMU checkpoints when it is late.
5886
6014
  * @param {any} measurement
@@ -5907,6 +6035,22 @@ class GnssInsFilter {
5907
6035
  }
5908
6036
  return takeFromExternrefTable0(ret[0]);
5909
6037
  }
6038
+ /**
6039
+ * Apply a tight broadcast update and record checkpoints for fusion RTS smoothing.
6040
+ * @param {BroadcastEphemeris} broadcast
6041
+ * @param {any} epoch
6042
+ * @param {FusionRtsHistoryBuilder} history
6043
+ * @returns {any}
6044
+ */
6045
+ updateTightBroadcastRecorded(broadcast, epoch, history) {
6046
+ _assertClass(broadcast, BroadcastEphemeris);
6047
+ _assertClass(history, FusionRtsHistoryBuilder);
6048
+ const ret = wasm.gnssinsfilter_updateTightBroadcastRecorded(this.__wbg_ptr, broadcast.__wbg_ptr, epoch, history.__wbg_ptr);
6049
+ if (ret[2]) {
6050
+ throw takeFromExternrefTable0(ret[1]);
6051
+ }
6052
+ return takeFromExternrefTable0(ret[0]);
6053
+ }
5910
6054
  /**
5911
6055
  * Apply a tight broadcast update, replaying retained IMU checkpoints when it is late.
5912
6056
  * @param {BroadcastEphemeris} broadcast
@@ -5935,6 +6079,22 @@ class GnssInsFilter {
5935
6079
  }
5936
6080
  return takeFromExternrefTable0(ret[0]);
5937
6081
  }
6082
+ /**
6083
+ * Apply a tight SP3 update and record checkpoints for fusion RTS smoothing.
6084
+ * @param {Sp3} sp3
6085
+ * @param {any} epoch
6086
+ * @param {FusionRtsHistoryBuilder} history
6087
+ * @returns {any}
6088
+ */
6089
+ updateTightSp3Recorded(sp3, epoch, history) {
6090
+ _assertClass(sp3, Sp3);
6091
+ _assertClass(history, FusionRtsHistoryBuilder);
6092
+ const ret = wasm.gnssinsfilter_updateTightSp3Recorded(this.__wbg_ptr, sp3.__wbg_ptr, epoch, history.__wbg_ptr);
6093
+ if (ret[2]) {
6094
+ throw takeFromExternrefTable0(ret[1]);
6095
+ }
6096
+ return takeFromExternrefTable0(ret[0]);
6097
+ }
5938
6098
  /**
5939
6099
  * Apply a tight SP3 update, replaying retained IMU checkpoints when it is late.
5940
6100
  * @param {Sp3} sp3
@@ -15490,6 +15650,87 @@ class SmoothCodeResult {
15490
15650
  if (Symbol.dispose) SmoothCodeResult.prototype[Symbol.dispose] = SmoothCodeResult.prototype.free;
15491
15651
  exports.SmoothCodeResult = SmoothCodeResult;
15492
15652
 
15653
+ /**
15654
+ * Smoothed fusion trajectory returned by fixed-interval RTS smoothing.
15655
+ */
15656
+ class SmoothedFusionTrajectory {
15657
+ static __wrap(ptr) {
15658
+ const obj = Object.create(SmoothedFusionTrajectory.prototype);
15659
+ obj.__wbg_ptr = ptr;
15660
+ SmoothedFusionTrajectoryFinalization.register(obj, obj.__wbg_ptr, obj);
15661
+ return obj;
15662
+ }
15663
+ __destroy_into_raw() {
15664
+ const ptr = this.__wbg_ptr;
15665
+ this.__wbg_ptr = 0;
15666
+ SmoothedFusionTrajectoryFinalization.unregister(this);
15667
+ return ptr;
15668
+ }
15669
+ free() {
15670
+ const ptr = this.__destroy_into_raw();
15671
+ wasm.__wbg_smoothedfusiontrajectory_free(ptr, 0);
15672
+ }
15673
+ /**
15674
+ * Number of smoothed epochs.
15675
+ * @returns {number}
15676
+ */
15677
+ get epochCount() {
15678
+ const ret = wasm.smoothedfusiontrajectory_epochCount(this.__wbg_ptr);
15679
+ return ret >>> 0;
15680
+ }
15681
+ /**
15682
+ * Smoothed epochs in the same order as the recorded history.
15683
+ * @returns {any}
15684
+ */
15685
+ get epochs() {
15686
+ const ret = wasm.smoothedfusiontrajectory_epochs(this.__wbg_ptr);
15687
+ if (ret[2]) {
15688
+ throw takeFromExternrefTable0(ret[1]);
15689
+ }
15690
+ return takeFromExternrefTable0(ret[0]);
15691
+ }
15692
+ }
15693
+ if (Symbol.dispose) SmoothedFusionTrajectory.prototype[Symbol.dispose] = SmoothedFusionTrajectory.prototype.free;
15694
+ exports.SmoothedFusionTrajectory = SmoothedFusionTrajectory;
15695
+
15696
+ class SmoothedTrack {
15697
+ static __wrap(ptr) {
15698
+ const obj = Object.create(SmoothedTrack.prototype);
15699
+ obj.__wbg_ptr = ptr;
15700
+ SmoothedTrackFinalization.register(obj, obj.__wbg_ptr, obj);
15701
+ return obj;
15702
+ }
15703
+ __destroy_into_raw() {
15704
+ const ptr = this.__wbg_ptr;
15705
+ this.__wbg_ptr = 0;
15706
+ SmoothedTrackFinalization.unregister(this);
15707
+ return ptr;
15708
+ }
15709
+ free() {
15710
+ const ptr = this.__destroy_into_raw();
15711
+ wasm.__wbg_smoothedtrack_free(ptr, 0);
15712
+ }
15713
+ /**
15714
+ * @returns {number}
15715
+ */
15716
+ get epochCount() {
15717
+ const ret = wasm.smoothedtrack_epochCount(this.__wbg_ptr);
15718
+ return ret >>> 0;
15719
+ }
15720
+ /**
15721
+ * @returns {any}
15722
+ */
15723
+ get epochs() {
15724
+ const ret = wasm.smoothedtrack_epochs(this.__wbg_ptr);
15725
+ if (ret[2]) {
15726
+ throw takeFromExternrefTable0(ret[1]);
15727
+ }
15728
+ return takeFromExternrefTable0(ret[0]);
15729
+ }
15730
+ }
15731
+ if (Symbol.dispose) SmoothedTrack.prototype[Symbol.dispose] = SmoothedTrack.prototype.free;
15732
+ exports.SmoothedTrack = SmoothedTrack;
15733
+
15493
15734
  /**
15494
15735
  * A receiver solution paired with the provenance of the ephemeris that produced
15495
15736
  * it. Returned by [`solveWithFallback`].
@@ -19237,6 +19478,368 @@ class TlePropagation {
19237
19478
  if (Symbol.dispose) TlePropagation.prototype[Symbol.dispose] = TlePropagation.prototype.free;
19238
19479
  exports.TlePropagation = TlePropagation;
19239
19480
 
19481
+ class TrackFilter {
19482
+ static __wrap(ptr) {
19483
+ const obj = Object.create(TrackFilter.prototype);
19484
+ obj.__wbg_ptr = ptr;
19485
+ TrackFilterFinalization.register(obj, obj.__wbg_ptr, obj);
19486
+ return obj;
19487
+ }
19488
+ __destroy_into_raw() {
19489
+ const ptr = this.__wbg_ptr;
19490
+ this.__wbg_ptr = 0;
19491
+ TrackFilterFinalization.unregister(this);
19492
+ return ptr;
19493
+ }
19494
+ free() {
19495
+ const ptr = this.__destroy_into_raw();
19496
+ wasm.__wbg_trackfilter_free(ptr, 0);
19497
+ }
19498
+ /**
19499
+ * @returns {number}
19500
+ */
19501
+ get accelerationVarianceSpectralDensityM2S3() {
19502
+ const ret = wasm.trackfilter_accelerationVarianceSpectralDensityM2S3(this.__wbg_ptr);
19503
+ return ret;
19504
+ }
19505
+ /**
19506
+ * @returns {number}
19507
+ */
19508
+ get dimension() {
19509
+ const ret = wasm.trackfilter_dimension(this.__wbg_ptr);
19510
+ return ret >>> 0;
19511
+ }
19512
+ /**
19513
+ * Build a filter from a position fix and uncertain zero initial velocity.
19514
+ * @param {any} config
19515
+ * @returns {TrackFilter}
19516
+ */
19517
+ static fromPosition(config) {
19518
+ const ret = wasm.trackfilter_fromPosition(config);
19519
+ if (ret[2]) {
19520
+ throw takeFromExternrefTable0(ret[1]);
19521
+ }
19522
+ return TrackFilter.__wrap(ret[0]);
19523
+ }
19524
+ /**
19525
+ * Build a stateful no-IMU track filter from a `TrackFilterConfig`.
19526
+ * @param {TrackFilterConfig} config
19527
+ */
19528
+ constructor(config) {
19529
+ _assertClass(config, TrackFilterConfig);
19530
+ const ret = wasm.trackfilter_new(config.__wbg_ptr);
19531
+ if (ret[2]) {
19532
+ throw takeFromExternrefTable0(ret[1]);
19533
+ }
19534
+ this.__wbg_ptr = ret[0];
19535
+ TrackFilterFinalization.register(this, this.__wbg_ptr, this);
19536
+ return this;
19537
+ }
19538
+ /**
19539
+ * @param {any} request
19540
+ * @returns {any}
19541
+ */
19542
+ positionInnovation(request) {
19543
+ const ret = wasm.trackfilter_positionInnovation(this.__wbg_ptr, request);
19544
+ if (ret[2]) {
19545
+ throw takeFromExternrefTable0(ret[1]);
19546
+ }
19547
+ return takeFromExternrefTable0(ret[0]);
19548
+ }
19549
+ /**
19550
+ * @param {number} dt_s
19551
+ * @returns {any}
19552
+ */
19553
+ predict(dt_s) {
19554
+ const ret = wasm.trackfilter_predict(this.__wbg_ptr, dt_s);
19555
+ if (ret[2]) {
19556
+ throw takeFromExternrefTable0(ret[1]);
19557
+ }
19558
+ return takeFromExternrefTable0(ret[0]);
19559
+ }
19560
+ /**
19561
+ * @param {number} dt_s
19562
+ * @param {TrackRtsHistoryBuilder} history
19563
+ * @returns {any}
19564
+ */
19565
+ predictRecorded(dt_s, history) {
19566
+ _assertClass(history, TrackRtsHistoryBuilder);
19567
+ const ret = wasm.trackfilter_predictRecorded(this.__wbg_ptr, dt_s, history.__wbg_ptr);
19568
+ if (ret[2]) {
19569
+ throw takeFromExternrefTable0(ret[1]);
19570
+ }
19571
+ return takeFromExternrefTable0(ret[0]);
19572
+ }
19573
+ /**
19574
+ * @param {TrackRtsHistoryBuilder} history
19575
+ */
19576
+ recordPredictionOnly(history) {
19577
+ _assertClass(history, TrackRtsHistoryBuilder);
19578
+ const ret = wasm.trackfilter_recordPredictionOnly(this.__wbg_ptr, history.__wbg_ptr);
19579
+ if (ret[1]) {
19580
+ throw takeFromExternrefTable0(ret[0]);
19581
+ }
19582
+ }
19583
+ /**
19584
+ * @returns {any}
19585
+ */
19586
+ get state() {
19587
+ const ret = wasm.trackfilter_state(this.__wbg_ptr);
19588
+ if (ret[2]) {
19589
+ throw takeFromExternrefTable0(ret[1]);
19590
+ }
19591
+ return takeFromExternrefTable0(ret[0]);
19592
+ }
19593
+ /**
19594
+ * @param {any} request
19595
+ * @returns {any}
19596
+ */
19597
+ stateInnovation(request) {
19598
+ const ret = wasm.trackfilter_stateInnovation(this.__wbg_ptr, request);
19599
+ if (ret[2]) {
19600
+ throw takeFromExternrefTable0(ret[1]);
19601
+ }
19602
+ return takeFromExternrefTable0(ret[0]);
19603
+ }
19604
+ /**
19605
+ * @param {any} request
19606
+ * @returns {any}
19607
+ */
19608
+ updatePosition(request) {
19609
+ const ret = wasm.trackfilter_updatePosition(this.__wbg_ptr, request);
19610
+ if (ret[2]) {
19611
+ throw takeFromExternrefTable0(ret[1]);
19612
+ }
19613
+ return takeFromExternrefTable0(ret[0]);
19614
+ }
19615
+ /**
19616
+ * @param {any} request
19617
+ * @returns {any}
19618
+ */
19619
+ updatePositionGated(request) {
19620
+ const ret = wasm.trackfilter_updatePositionGated(this.__wbg_ptr, request);
19621
+ if (ret[2]) {
19622
+ throw takeFromExternrefTable0(ret[1]);
19623
+ }
19624
+ return takeFromExternrefTable0(ret[0]);
19625
+ }
19626
+ /**
19627
+ * @param {any} request
19628
+ * @param {TrackRtsHistoryBuilder} history
19629
+ * @returns {any}
19630
+ */
19631
+ updatePositionGatedRecorded(request, history) {
19632
+ _assertClass(history, TrackRtsHistoryBuilder);
19633
+ const ret = wasm.trackfilter_updatePositionGatedRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19634
+ if (ret[2]) {
19635
+ throw takeFromExternrefTable0(ret[1]);
19636
+ }
19637
+ return takeFromExternrefTable0(ret[0]);
19638
+ }
19639
+ /**
19640
+ * @param {any} request
19641
+ * @param {TrackRtsHistoryBuilder} history
19642
+ * @returns {any}
19643
+ */
19644
+ updatePositionRecorded(request, history) {
19645
+ _assertClass(history, TrackRtsHistoryBuilder);
19646
+ const ret = wasm.trackfilter_updatePositionRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19647
+ if (ret[2]) {
19648
+ throw takeFromExternrefTable0(ret[1]);
19649
+ }
19650
+ return takeFromExternrefTable0(ret[0]);
19651
+ }
19652
+ /**
19653
+ * @param {any} request
19654
+ * @returns {any}
19655
+ */
19656
+ updateState(request) {
19657
+ const ret = wasm.trackfilter_updateState(this.__wbg_ptr, request);
19658
+ if (ret[2]) {
19659
+ throw takeFromExternrefTable0(ret[1]);
19660
+ }
19661
+ return takeFromExternrefTable0(ret[0]);
19662
+ }
19663
+ }
19664
+ if (Symbol.dispose) TrackFilter.prototype[Symbol.dispose] = TrackFilter.prototype.free;
19665
+ exports.TrackFilter = TrackFilter;
19666
+
19667
+ class TrackFilterConfig {
19668
+ static __wrap(ptr) {
19669
+ const obj = Object.create(TrackFilterConfig.prototype);
19670
+ obj.__wbg_ptr = ptr;
19671
+ TrackFilterConfigFinalization.register(obj, obj.__wbg_ptr, obj);
19672
+ return obj;
19673
+ }
19674
+ __destroy_into_raw() {
19675
+ const ptr = this.__wbg_ptr;
19676
+ this.__wbg_ptr = 0;
19677
+ TrackFilterConfigFinalization.unregister(this);
19678
+ return ptr;
19679
+ }
19680
+ free() {
19681
+ const ptr = this.__destroy_into_raw();
19682
+ wasm.__wbg_trackfilterconfig_free(ptr, 0);
19683
+ }
19684
+ /**
19685
+ * @returns {number}
19686
+ */
19687
+ get dimension() {
19688
+ const ret = wasm.trackfilterconfig_dimension(this.__wbg_ptr);
19689
+ return ret >>> 0;
19690
+ }
19691
+ /**
19692
+ * @returns {string}
19693
+ */
19694
+ get frame() {
19695
+ let deferred1_0;
19696
+ let deferred1_1;
19697
+ try {
19698
+ const ret = wasm.trackfilterconfig_frame(this.__wbg_ptr);
19699
+ deferred1_0 = ret[0];
19700
+ deferred1_1 = ret[1];
19701
+ return getStringFromWasm0(ret[0], ret[1]);
19702
+ } finally {
19703
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19704
+ }
19705
+ }
19706
+ /**
19707
+ * Build a config from a position fix and uncertain zero initial velocity.
19708
+ * @param {any} config
19709
+ * @returns {TrackFilterConfig}
19710
+ */
19711
+ static fromPosition(config) {
19712
+ const ret = wasm.trackfilterconfig_fromPosition(config);
19713
+ if (ret[2]) {
19714
+ throw takeFromExternrefTable0(ret[1]);
19715
+ }
19716
+ return TrackFilterConfig.__wrap(ret[0]);
19717
+ }
19718
+ /**
19719
+ * @returns {number}
19720
+ */
19721
+ get initialTS() {
19722
+ const ret = wasm.trackfilterconfig_initialTS(this.__wbg_ptr);
19723
+ return ret;
19724
+ }
19725
+ /**
19726
+ * Build a no-IMU track filter config from a JS object.
19727
+ * @param {any} config
19728
+ */
19729
+ constructor(config) {
19730
+ const ret = wasm.trackfilterconfig_new(config);
19731
+ if (ret[2]) {
19732
+ throw takeFromExternrefTable0(ret[1]);
19733
+ }
19734
+ this.__wbg_ptr = ret[0];
19735
+ TrackFilterConfigFinalization.register(this, this.__wbg_ptr, this);
19736
+ return this;
19737
+ }
19738
+ /**
19739
+ * @returns {any}
19740
+ */
19741
+ toObject() {
19742
+ const ret = wasm.trackfilterconfig_toObject(this.__wbg_ptr);
19743
+ if (ret[2]) {
19744
+ throw takeFromExternrefTable0(ret[1]);
19745
+ }
19746
+ return takeFromExternrefTable0(ret[0]);
19747
+ }
19748
+ }
19749
+ if (Symbol.dispose) TrackFilterConfig.prototype[Symbol.dispose] = TrackFilterConfig.prototype.free;
19750
+ exports.TrackFilterConfig = TrackFilterConfig;
19751
+
19752
+ class TrackRtsHistory {
19753
+ static __wrap(ptr) {
19754
+ const obj = Object.create(TrackRtsHistory.prototype);
19755
+ obj.__wbg_ptr = ptr;
19756
+ TrackRtsHistoryFinalization.register(obj, obj.__wbg_ptr, obj);
19757
+ return obj;
19758
+ }
19759
+ __destroy_into_raw() {
19760
+ const ptr = this.__wbg_ptr;
19761
+ this.__wbg_ptr = 0;
19762
+ TrackRtsHistoryFinalization.unregister(this);
19763
+ return ptr;
19764
+ }
19765
+ free() {
19766
+ const ptr = this.__destroy_into_raw();
19767
+ wasm.__wbg_trackrtshistory_free(ptr, 0);
19768
+ }
19769
+ /**
19770
+ * @returns {number}
19771
+ */
19772
+ get epochCount() {
19773
+ const ret = wasm.trackrtshistory_epochCount(this.__wbg_ptr);
19774
+ return ret >>> 0;
19775
+ }
19776
+ /**
19777
+ * @returns {any}
19778
+ */
19779
+ get epochs() {
19780
+ const ret = wasm.trackrtshistory_epochs(this.__wbg_ptr);
19781
+ if (ret[2]) {
19782
+ throw takeFromExternrefTable0(ret[1]);
19783
+ }
19784
+ return takeFromExternrefTable0(ret[0]);
19785
+ }
19786
+ }
19787
+ if (Symbol.dispose) TrackRtsHistory.prototype[Symbol.dispose] = TrackRtsHistory.prototype.free;
19788
+ exports.TrackRtsHistory = TrackRtsHistory;
19789
+
19790
+ class TrackRtsHistoryBuilder {
19791
+ static __wrap(ptr) {
19792
+ const obj = Object.create(TrackRtsHistoryBuilder.prototype);
19793
+ obj.__wbg_ptr = ptr;
19794
+ TrackRtsHistoryBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
19795
+ return obj;
19796
+ }
19797
+ __destroy_into_raw() {
19798
+ const ptr = this.__wbg_ptr;
19799
+ this.__wbg_ptr = 0;
19800
+ TrackRtsHistoryBuilderFinalization.unregister(this);
19801
+ return ptr;
19802
+ }
19803
+ free() {
19804
+ const ptr = this.__destroy_into_raw();
19805
+ wasm.__wbg_trackrtshistorybuilder_free(ptr, 0);
19806
+ }
19807
+ /**
19808
+ * @returns {TrackRtsHistory}
19809
+ */
19810
+ finish() {
19811
+ const ret = wasm.trackrtshistorybuilder_finish(this.__wbg_ptr);
19812
+ if (ret[2]) {
19813
+ throw takeFromExternrefTable0(ret[1]);
19814
+ }
19815
+ return TrackRtsHistory.__wrap(ret[0]);
19816
+ }
19817
+ /**
19818
+ * Start a history from the filter's current state.
19819
+ * @param {TrackFilter} filter
19820
+ * @returns {TrackRtsHistoryBuilder}
19821
+ */
19822
+ static fromFilter(filter) {
19823
+ _assertClass(filter, TrackFilter);
19824
+ const ret = wasm.trackrtshistorybuilder_fromFilter(filter.__wbg_ptr);
19825
+ if (ret[2]) {
19826
+ throw takeFromExternrefTable0(ret[1]);
19827
+ }
19828
+ return TrackRtsHistoryBuilder.__wrap(ret[0]);
19829
+ }
19830
+ /**
19831
+ * Start an empty history for manual recording.
19832
+ */
19833
+ constructor() {
19834
+ const ret = wasm.trackrtshistorybuilder_new();
19835
+ this.__wbg_ptr = ret;
19836
+ TrackRtsHistoryBuilderFinalization.register(this, this.__wbg_ptr, this);
19837
+ return this;
19838
+ }
19839
+ }
19840
+ if (Symbol.dispose) TrackRtsHistoryBuilder.prototype[Symbol.dispose] = TrackRtsHistoryBuilder.prototype.free;
19841
+ exports.TrackRtsHistoryBuilder = TrackRtsHistoryBuilder;
19842
+
19240
19843
  /**
19241
19844
  * Provenance and coverage of the embedded UT1-UTC / delta-T (EOP) table.
19242
19845
  */
@@ -26676,6 +27279,21 @@ function smoothCode(arc, options, hatch_window_cap) {
26676
27279
  }
26677
27280
  exports.smoothCode = smoothCode;
26678
27281
 
27282
+ /**
27283
+ * Apply fixed-interval RTS smoothing to recorded fusion history.
27284
+ * @param {FusionRtsHistory} history
27285
+ * @returns {SmoothedFusionTrajectory}
27286
+ */
27287
+ function smoothFusionRts(history) {
27288
+ _assertClass(history, FusionRtsHistory);
27289
+ const ret = wasm.smoothFusionRts(history.__wbg_ptr);
27290
+ if (ret[2]) {
27291
+ throw takeFromExternrefTable0(ret[1]);
27292
+ }
27293
+ return SmoothedFusionTrajectory.__wrap(ret[0]);
27294
+ }
27295
+ exports.smoothFusionRts = smoothFusionRts;
27296
+
26679
27297
  /**
26680
27298
  * Dual-frequency ionosphere-free Hatch carrier-smoothed code.
26681
27299
  * @param {any} arc
@@ -26694,6 +27312,20 @@ function smoothIonoFreeCode(arc, options, hatch_window_cap) {
26694
27312
  }
26695
27313
  exports.smoothIonoFreeCode = smoothIonoFreeCode;
26696
27314
 
27315
+ /**
27316
+ * @param {TrackRtsHistory} history
27317
+ * @returns {SmoothedTrack}
27318
+ */
27319
+ function smoothTrackRts(history) {
27320
+ _assertClass(history, TrackRtsHistory);
27321
+ const ret = wasm.smoothTrackRts(history.__wbg_ptr);
27322
+ if (ret[2]) {
27323
+ throw takeFromExternrefTable0(ret[1]);
27324
+ }
27325
+ return SmoothedTrack.__wrap(ret[0]);
27326
+ }
27327
+ exports.smoothTrackRts = smoothTrackRts;
27328
+
26697
27329
  /**
26698
27330
  * Post-correlation predetection SNR in decibels.
26699
27331
  * @param {number} cn0_dbhz
@@ -28610,6 +29242,12 @@ const FrameScannerFinalization = (typeof FinalizationRegistry === 'undefined')
28610
29242
  const FrameStatesFinalization = (typeof FinalizationRegistry === 'undefined')
28611
29243
  ? { register: () => {}, unregister: () => {} }
28612
29244
  : new FinalizationRegistry(ptr => wasm.__wbg_framestates_free(ptr, 1));
29245
+ const FusionRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
29246
+ ? { register: () => {}, unregister: () => {} }
29247
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistory_free(ptr, 1));
29248
+ const FusionRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
29249
+ ? { register: () => {}, unregister: () => {} }
29250
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistorybuilder_free(ptr, 1));
28613
29251
  const GeofenceFinalization = (typeof FinalizationRegistry === 'undefined')
28614
29252
  ? { register: () => {}, unregister: () => {} }
28615
29253
  : new FinalizationRegistry(ptr => wasm.__wbg_geofence_free(ptr, 1));
@@ -28910,6 +29548,12 @@ const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
28910
29548
  const SmoothCodeResultFinalization = (typeof FinalizationRegistry === 'undefined')
28911
29549
  ? { register: () => {}, unregister: () => {} }
28912
29550
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothcoderesult_free(ptr, 1));
29551
+ const SmoothedFusionTrajectoryFinalization = (typeof FinalizationRegistry === 'undefined')
29552
+ ? { register: () => {}, unregister: () => {} }
29553
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedfusiontrajectory_free(ptr, 1));
29554
+ const SmoothedTrackFinalization = (typeof FinalizationRegistry === 'undefined')
29555
+ ? { register: () => {}, unregister: () => {} }
29556
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedtrack_free(ptr, 1));
28913
29557
  const SourcedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
28914
29558
  ? { register: () => {}, unregister: () => {} }
28915
29559
  : new FinalizationRegistry(ptr => wasm.__wbg_sourcedsolution_free(ptr, 1));
@@ -29018,6 +29662,18 @@ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
29018
29662
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
29019
29663
  ? { register: () => {}, unregister: () => {} }
29020
29664
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));
29665
+ const TrackFilterFinalization = (typeof FinalizationRegistry === 'undefined')
29666
+ ? { register: () => {}, unregister: () => {} }
29667
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilter_free(ptr, 1));
29668
+ const TrackFilterConfigFinalization = (typeof FinalizationRegistry === 'undefined')
29669
+ ? { register: () => {}, unregister: () => {} }
29670
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilterconfig_free(ptr, 1));
29671
+ const TrackRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
29672
+ ? { register: () => {}, unregister: () => {} }
29673
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistory_free(ptr, 1));
29674
+ const TrackRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
29675
+ ? { register: () => {}, unregister: () => {} }
29676
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistorybuilder_free(ptr, 1));
29021
29677
  const Ut1CoverageFinalization = (typeof FinalizationRegistry === 'undefined')
29022
29678
  ? { register: () => {}, unregister: () => {} }
29023
29679
  : new FinalizationRegistry(ptr => wasm.__wbg_ut1coverage_free(ptr, 1));