@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.
package/pkg/sidereon.js CHANGED
@@ -5042,6 +5042,104 @@ export class FrameStates {
5042
5042
  }
5043
5043
  if (Symbol.dispose) FrameStates.prototype[Symbol.dispose] = FrameStates.prototype.free;
5044
5044
 
5045
+ /**
5046
+ * Recorded fusion forward-pass history accepted by `smoothFusionRts`.
5047
+ */
5048
+ export class FusionRtsHistory {
5049
+ static __wrap(ptr) {
5050
+ const obj = Object.create(FusionRtsHistory.prototype);
5051
+ obj.__wbg_ptr = ptr;
5052
+ FusionRtsHistoryFinalization.register(obj, obj.__wbg_ptr, obj);
5053
+ return obj;
5054
+ }
5055
+ __destroy_into_raw() {
5056
+ const ptr = this.__wbg_ptr;
5057
+ this.__wbg_ptr = 0;
5058
+ FusionRtsHistoryFinalization.unregister(this);
5059
+ return ptr;
5060
+ }
5061
+ free() {
5062
+ const ptr = this.__destroy_into_raw();
5063
+ wasm.__wbg_fusionrtshistory_free(ptr, 0);
5064
+ }
5065
+ /**
5066
+ * Number of recorded epochs.
5067
+ * @returns {number}
5068
+ */
5069
+ get epochCount() {
5070
+ const ret = wasm.fusionrtshistory_epochCount(this.__wbg_ptr);
5071
+ return ret >>> 0;
5072
+ }
5073
+ /**
5074
+ * Recorded epochs in forward time order.
5075
+ * @returns {any}
5076
+ */
5077
+ get epochs() {
5078
+ const ret = wasm.fusionrtshistory_epochs(this.__wbg_ptr);
5079
+ if (ret[2]) {
5080
+ throw takeFromExternrefTable0(ret[1]);
5081
+ }
5082
+ return takeFromExternrefTable0(ret[0]);
5083
+ }
5084
+ }
5085
+ if (Symbol.dispose) FusionRtsHistory.prototype[Symbol.dispose] = FusionRtsHistory.prototype.free;
5086
+
5087
+ /**
5088
+ * Builder for recording a fusion forward pass before RTS smoothing.
5089
+ */
5090
+ export class FusionRtsHistoryBuilder {
5091
+ static __wrap(ptr) {
5092
+ const obj = Object.create(FusionRtsHistoryBuilder.prototype);
5093
+ obj.__wbg_ptr = ptr;
5094
+ FusionRtsHistoryBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
5095
+ return obj;
5096
+ }
5097
+ __destroy_into_raw() {
5098
+ const ptr = this.__wbg_ptr;
5099
+ this.__wbg_ptr = 0;
5100
+ FusionRtsHistoryBuilderFinalization.unregister(this);
5101
+ return ptr;
5102
+ }
5103
+ free() {
5104
+ const ptr = this.__destroy_into_raw();
5105
+ wasm.__wbg_fusionrtshistorybuilder_free(ptr, 0);
5106
+ }
5107
+ /**
5108
+ * Return a validated recorded history.
5109
+ * @returns {FusionRtsHistory}
5110
+ */
5111
+ finish() {
5112
+ const ret = wasm.fusionrtshistorybuilder_finish(this.__wbg_ptr);
5113
+ if (ret[2]) {
5114
+ throw takeFromExternrefTable0(ret[1]);
5115
+ }
5116
+ return FusionRtsHistory.__wrap(ret[0]);
5117
+ }
5118
+ /**
5119
+ * Start a history from the filter's current checkpoint.
5120
+ * @param {GnssInsFilter} filter
5121
+ * @returns {FusionRtsHistoryBuilder}
5122
+ */
5123
+ static fromFilter(filter) {
5124
+ _assertClass(filter, GnssInsFilter);
5125
+ const ret = wasm.fusionrtshistorybuilder_fromFilter(filter.__wbg_ptr);
5126
+ if (ret[2]) {
5127
+ throw takeFromExternrefTable0(ret[1]);
5128
+ }
5129
+ return FusionRtsHistoryBuilder.__wrap(ret[0]);
5130
+ }
5131
+ /**
5132
+ * Start an empty history for manual recording.
5133
+ */
5134
+ constructor() {
5135
+ const ret = wasm.fusionrtshistorybuilder_new();
5136
+ this.__wbg_ptr = ret;
5137
+ FusionRtsHistoryBuilderFinalization.register(this, this.__wbg_ptr, this);
5138
+ return this;
5139
+ }
5140
+ }
5141
+ if (Symbol.dispose) FusionRtsHistoryBuilder.prototype[Symbol.dispose] = FusionRtsHistoryBuilder.prototype.free;
5142
+
5045
5143
  /**
5046
5144
  * WGS84 geodesic input failure class exposed as a stable enum symbol.
5047
5145
  * @enum {0}
@@ -5755,6 +5853,20 @@ export class GnssInsFilter {
5755
5853
  }
5756
5854
  return takeFromExternrefTable0(ret[0]);
5757
5855
  }
5856
+ /**
5857
+ * Propagate and record the transition for later fusion RTS smoothing.
5858
+ * @param {any} sample
5859
+ * @param {FusionRtsHistoryBuilder} history
5860
+ * @returns {any}
5861
+ */
5862
+ propagateRecorded(sample, history) {
5863
+ _assertClass(history, FusionRtsHistoryBuilder);
5864
+ const ret = wasm.gnssinsfilter_propagateRecorded(this.__wbg_ptr, sample, history.__wbg_ptr);
5865
+ if (ret[2]) {
5866
+ throw takeFromExternrefTable0(ret[1]);
5867
+ }
5868
+ return takeFromExternrefTable0(ret[0]);
5869
+ }
5758
5870
  /**
5759
5871
  * Restore this filter from versioned fusion-state bytes.
5760
5872
  * @param {Uint8Array} bytes
@@ -5812,6 +5924,20 @@ export class GnssInsFilter {
5812
5924
  }
5813
5925
  return takeFromExternrefTable0(ret[0]);
5814
5926
  }
5927
+ /**
5928
+ * Apply a loose GNSS fix and record checkpoints for fusion RTS smoothing.
5929
+ * @param {any} measurement
5930
+ * @param {FusionRtsHistoryBuilder} history
5931
+ * @returns {any}
5932
+ */
5933
+ updateLooseRecorded(measurement, history) {
5934
+ _assertClass(history, FusionRtsHistoryBuilder);
5935
+ const ret = wasm.gnssinsfilter_updateLooseRecorded(this.__wbg_ptr, measurement, history.__wbg_ptr);
5936
+ if (ret[2]) {
5937
+ throw takeFromExternrefTable0(ret[1]);
5938
+ }
5939
+ return takeFromExternrefTable0(ret[0]);
5940
+ }
5815
5941
  /**
5816
5942
  * Apply a loose GNSS fix, replaying retained IMU checkpoints when it is late.
5817
5943
  * @param {any} measurement
@@ -5838,6 +5964,22 @@ export class GnssInsFilter {
5838
5964
  }
5839
5965
  return takeFromExternrefTable0(ret[0]);
5840
5966
  }
5967
+ /**
5968
+ * Apply a tight broadcast update and record checkpoints for fusion RTS smoothing.
5969
+ * @param {BroadcastEphemeris} broadcast
5970
+ * @param {any} epoch
5971
+ * @param {FusionRtsHistoryBuilder} history
5972
+ * @returns {any}
5973
+ */
5974
+ updateTightBroadcastRecorded(broadcast, epoch, history) {
5975
+ _assertClass(broadcast, BroadcastEphemeris);
5976
+ _assertClass(history, FusionRtsHistoryBuilder);
5977
+ const ret = wasm.gnssinsfilter_updateTightBroadcastRecorded(this.__wbg_ptr, broadcast.__wbg_ptr, epoch, history.__wbg_ptr);
5978
+ if (ret[2]) {
5979
+ throw takeFromExternrefTable0(ret[1]);
5980
+ }
5981
+ return takeFromExternrefTable0(ret[0]);
5982
+ }
5841
5983
  /**
5842
5984
  * Apply a tight broadcast update, replaying retained IMU checkpoints when it is late.
5843
5985
  * @param {BroadcastEphemeris} broadcast
@@ -5866,6 +6008,22 @@ export class GnssInsFilter {
5866
6008
  }
5867
6009
  return takeFromExternrefTable0(ret[0]);
5868
6010
  }
6011
+ /**
6012
+ * Apply a tight SP3 update and record checkpoints for fusion RTS smoothing.
6013
+ * @param {Sp3} sp3
6014
+ * @param {any} epoch
6015
+ * @param {FusionRtsHistoryBuilder} history
6016
+ * @returns {any}
6017
+ */
6018
+ updateTightSp3Recorded(sp3, epoch, history) {
6019
+ _assertClass(sp3, Sp3);
6020
+ _assertClass(history, FusionRtsHistoryBuilder);
6021
+ const ret = wasm.gnssinsfilter_updateTightSp3Recorded(this.__wbg_ptr, sp3.__wbg_ptr, epoch, history.__wbg_ptr);
6022
+ if (ret[2]) {
6023
+ throw takeFromExternrefTable0(ret[1]);
6024
+ }
6025
+ return takeFromExternrefTable0(ret[0]);
6026
+ }
5869
6027
  /**
5870
6028
  * Apply a tight SP3 update, replaying retained IMU checkpoints when it is late.
5871
6029
  * @param {Sp3} sp3
@@ -15313,6 +15471,85 @@ export class SmoothCodeResult {
15313
15471
  }
15314
15472
  if (Symbol.dispose) SmoothCodeResult.prototype[Symbol.dispose] = SmoothCodeResult.prototype.free;
15315
15473
 
15474
+ /**
15475
+ * Smoothed fusion trajectory returned by fixed-interval RTS smoothing.
15476
+ */
15477
+ export class SmoothedFusionTrajectory {
15478
+ static __wrap(ptr) {
15479
+ const obj = Object.create(SmoothedFusionTrajectory.prototype);
15480
+ obj.__wbg_ptr = ptr;
15481
+ SmoothedFusionTrajectoryFinalization.register(obj, obj.__wbg_ptr, obj);
15482
+ return obj;
15483
+ }
15484
+ __destroy_into_raw() {
15485
+ const ptr = this.__wbg_ptr;
15486
+ this.__wbg_ptr = 0;
15487
+ SmoothedFusionTrajectoryFinalization.unregister(this);
15488
+ return ptr;
15489
+ }
15490
+ free() {
15491
+ const ptr = this.__destroy_into_raw();
15492
+ wasm.__wbg_smoothedfusiontrajectory_free(ptr, 0);
15493
+ }
15494
+ /**
15495
+ * Number of smoothed epochs.
15496
+ * @returns {number}
15497
+ */
15498
+ get epochCount() {
15499
+ const ret = wasm.smoothedfusiontrajectory_epochCount(this.__wbg_ptr);
15500
+ return ret >>> 0;
15501
+ }
15502
+ /**
15503
+ * Smoothed epochs in the same order as the recorded history.
15504
+ * @returns {any}
15505
+ */
15506
+ get epochs() {
15507
+ const ret = wasm.smoothedfusiontrajectory_epochs(this.__wbg_ptr);
15508
+ if (ret[2]) {
15509
+ throw takeFromExternrefTable0(ret[1]);
15510
+ }
15511
+ return takeFromExternrefTable0(ret[0]);
15512
+ }
15513
+ }
15514
+ if (Symbol.dispose) SmoothedFusionTrajectory.prototype[Symbol.dispose] = SmoothedFusionTrajectory.prototype.free;
15515
+
15516
+ export class SmoothedTrack {
15517
+ static __wrap(ptr) {
15518
+ const obj = Object.create(SmoothedTrack.prototype);
15519
+ obj.__wbg_ptr = ptr;
15520
+ SmoothedTrackFinalization.register(obj, obj.__wbg_ptr, obj);
15521
+ return obj;
15522
+ }
15523
+ __destroy_into_raw() {
15524
+ const ptr = this.__wbg_ptr;
15525
+ this.__wbg_ptr = 0;
15526
+ SmoothedTrackFinalization.unregister(this);
15527
+ return ptr;
15528
+ }
15529
+ free() {
15530
+ const ptr = this.__destroy_into_raw();
15531
+ wasm.__wbg_smoothedtrack_free(ptr, 0);
15532
+ }
15533
+ /**
15534
+ * @returns {number}
15535
+ */
15536
+ get epochCount() {
15537
+ const ret = wasm.smoothedtrack_epochCount(this.__wbg_ptr);
15538
+ return ret >>> 0;
15539
+ }
15540
+ /**
15541
+ * @returns {any}
15542
+ */
15543
+ get epochs() {
15544
+ const ret = wasm.smoothedtrack_epochs(this.__wbg_ptr);
15545
+ if (ret[2]) {
15546
+ throw takeFromExternrefTable0(ret[1]);
15547
+ }
15548
+ return takeFromExternrefTable0(ret[0]);
15549
+ }
15550
+ }
15551
+ if (Symbol.dispose) SmoothedTrack.prototype[Symbol.dispose] = SmoothedTrack.prototype.free;
15552
+
15316
15553
  /**
15317
15554
  * A receiver solution paired with the provenance of the ephemeris that produced
15318
15555
  * it. Returned by [`solveWithFallback`].
@@ -19018,6 +19255,364 @@ export class TlePropagation {
19018
19255
  }
19019
19256
  if (Symbol.dispose) TlePropagation.prototype[Symbol.dispose] = TlePropagation.prototype.free;
19020
19257
 
19258
+ export class TrackFilter {
19259
+ static __wrap(ptr) {
19260
+ const obj = Object.create(TrackFilter.prototype);
19261
+ obj.__wbg_ptr = ptr;
19262
+ TrackFilterFinalization.register(obj, obj.__wbg_ptr, obj);
19263
+ return obj;
19264
+ }
19265
+ __destroy_into_raw() {
19266
+ const ptr = this.__wbg_ptr;
19267
+ this.__wbg_ptr = 0;
19268
+ TrackFilterFinalization.unregister(this);
19269
+ return ptr;
19270
+ }
19271
+ free() {
19272
+ const ptr = this.__destroy_into_raw();
19273
+ wasm.__wbg_trackfilter_free(ptr, 0);
19274
+ }
19275
+ /**
19276
+ * @returns {number}
19277
+ */
19278
+ get accelerationVarianceSpectralDensityM2S3() {
19279
+ const ret = wasm.trackfilter_accelerationVarianceSpectralDensityM2S3(this.__wbg_ptr);
19280
+ return ret;
19281
+ }
19282
+ /**
19283
+ * @returns {number}
19284
+ */
19285
+ get dimension() {
19286
+ const ret = wasm.trackfilter_dimension(this.__wbg_ptr);
19287
+ return ret >>> 0;
19288
+ }
19289
+ /**
19290
+ * Build a filter from a position fix and uncertain zero initial velocity.
19291
+ * @param {any} config
19292
+ * @returns {TrackFilter}
19293
+ */
19294
+ static fromPosition(config) {
19295
+ const ret = wasm.trackfilter_fromPosition(config);
19296
+ if (ret[2]) {
19297
+ throw takeFromExternrefTable0(ret[1]);
19298
+ }
19299
+ return TrackFilter.__wrap(ret[0]);
19300
+ }
19301
+ /**
19302
+ * Build a stateful no-IMU track filter from a `TrackFilterConfig`.
19303
+ * @param {TrackFilterConfig} config
19304
+ */
19305
+ constructor(config) {
19306
+ _assertClass(config, TrackFilterConfig);
19307
+ const ret = wasm.trackfilter_new(config.__wbg_ptr);
19308
+ if (ret[2]) {
19309
+ throw takeFromExternrefTable0(ret[1]);
19310
+ }
19311
+ this.__wbg_ptr = ret[0];
19312
+ TrackFilterFinalization.register(this, this.__wbg_ptr, this);
19313
+ return this;
19314
+ }
19315
+ /**
19316
+ * @param {any} request
19317
+ * @returns {any}
19318
+ */
19319
+ positionInnovation(request) {
19320
+ const ret = wasm.trackfilter_positionInnovation(this.__wbg_ptr, request);
19321
+ if (ret[2]) {
19322
+ throw takeFromExternrefTable0(ret[1]);
19323
+ }
19324
+ return takeFromExternrefTable0(ret[0]);
19325
+ }
19326
+ /**
19327
+ * @param {number} dt_s
19328
+ * @returns {any}
19329
+ */
19330
+ predict(dt_s) {
19331
+ const ret = wasm.trackfilter_predict(this.__wbg_ptr, dt_s);
19332
+ if (ret[2]) {
19333
+ throw takeFromExternrefTable0(ret[1]);
19334
+ }
19335
+ return takeFromExternrefTable0(ret[0]);
19336
+ }
19337
+ /**
19338
+ * @param {number} dt_s
19339
+ * @param {TrackRtsHistoryBuilder} history
19340
+ * @returns {any}
19341
+ */
19342
+ predictRecorded(dt_s, history) {
19343
+ _assertClass(history, TrackRtsHistoryBuilder);
19344
+ const ret = wasm.trackfilter_predictRecorded(this.__wbg_ptr, dt_s, history.__wbg_ptr);
19345
+ if (ret[2]) {
19346
+ throw takeFromExternrefTable0(ret[1]);
19347
+ }
19348
+ return takeFromExternrefTable0(ret[0]);
19349
+ }
19350
+ /**
19351
+ * @param {TrackRtsHistoryBuilder} history
19352
+ */
19353
+ recordPredictionOnly(history) {
19354
+ _assertClass(history, TrackRtsHistoryBuilder);
19355
+ const ret = wasm.trackfilter_recordPredictionOnly(this.__wbg_ptr, history.__wbg_ptr);
19356
+ if (ret[1]) {
19357
+ throw takeFromExternrefTable0(ret[0]);
19358
+ }
19359
+ }
19360
+ /**
19361
+ * @returns {any}
19362
+ */
19363
+ get state() {
19364
+ const ret = wasm.trackfilter_state(this.__wbg_ptr);
19365
+ if (ret[2]) {
19366
+ throw takeFromExternrefTable0(ret[1]);
19367
+ }
19368
+ return takeFromExternrefTable0(ret[0]);
19369
+ }
19370
+ /**
19371
+ * @param {any} request
19372
+ * @returns {any}
19373
+ */
19374
+ stateInnovation(request) {
19375
+ const ret = wasm.trackfilter_stateInnovation(this.__wbg_ptr, request);
19376
+ if (ret[2]) {
19377
+ throw takeFromExternrefTable0(ret[1]);
19378
+ }
19379
+ return takeFromExternrefTable0(ret[0]);
19380
+ }
19381
+ /**
19382
+ * @param {any} request
19383
+ * @returns {any}
19384
+ */
19385
+ updatePosition(request) {
19386
+ const ret = wasm.trackfilter_updatePosition(this.__wbg_ptr, request);
19387
+ if (ret[2]) {
19388
+ throw takeFromExternrefTable0(ret[1]);
19389
+ }
19390
+ return takeFromExternrefTable0(ret[0]);
19391
+ }
19392
+ /**
19393
+ * @param {any} request
19394
+ * @returns {any}
19395
+ */
19396
+ updatePositionGated(request) {
19397
+ const ret = wasm.trackfilter_updatePositionGated(this.__wbg_ptr, request);
19398
+ if (ret[2]) {
19399
+ throw takeFromExternrefTable0(ret[1]);
19400
+ }
19401
+ return takeFromExternrefTable0(ret[0]);
19402
+ }
19403
+ /**
19404
+ * @param {any} request
19405
+ * @param {TrackRtsHistoryBuilder} history
19406
+ * @returns {any}
19407
+ */
19408
+ updatePositionGatedRecorded(request, history) {
19409
+ _assertClass(history, TrackRtsHistoryBuilder);
19410
+ const ret = wasm.trackfilter_updatePositionGatedRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19411
+ if (ret[2]) {
19412
+ throw takeFromExternrefTable0(ret[1]);
19413
+ }
19414
+ return takeFromExternrefTable0(ret[0]);
19415
+ }
19416
+ /**
19417
+ * @param {any} request
19418
+ * @param {TrackRtsHistoryBuilder} history
19419
+ * @returns {any}
19420
+ */
19421
+ updatePositionRecorded(request, history) {
19422
+ _assertClass(history, TrackRtsHistoryBuilder);
19423
+ const ret = wasm.trackfilter_updatePositionRecorded(this.__wbg_ptr, request, history.__wbg_ptr);
19424
+ if (ret[2]) {
19425
+ throw takeFromExternrefTable0(ret[1]);
19426
+ }
19427
+ return takeFromExternrefTable0(ret[0]);
19428
+ }
19429
+ /**
19430
+ * @param {any} request
19431
+ * @returns {any}
19432
+ */
19433
+ updateState(request) {
19434
+ const ret = wasm.trackfilter_updateState(this.__wbg_ptr, request);
19435
+ if (ret[2]) {
19436
+ throw takeFromExternrefTable0(ret[1]);
19437
+ }
19438
+ return takeFromExternrefTable0(ret[0]);
19439
+ }
19440
+ }
19441
+ if (Symbol.dispose) TrackFilter.prototype[Symbol.dispose] = TrackFilter.prototype.free;
19442
+
19443
+ export class TrackFilterConfig {
19444
+ static __wrap(ptr) {
19445
+ const obj = Object.create(TrackFilterConfig.prototype);
19446
+ obj.__wbg_ptr = ptr;
19447
+ TrackFilterConfigFinalization.register(obj, obj.__wbg_ptr, obj);
19448
+ return obj;
19449
+ }
19450
+ __destroy_into_raw() {
19451
+ const ptr = this.__wbg_ptr;
19452
+ this.__wbg_ptr = 0;
19453
+ TrackFilterConfigFinalization.unregister(this);
19454
+ return ptr;
19455
+ }
19456
+ free() {
19457
+ const ptr = this.__destroy_into_raw();
19458
+ wasm.__wbg_trackfilterconfig_free(ptr, 0);
19459
+ }
19460
+ /**
19461
+ * @returns {number}
19462
+ */
19463
+ get dimension() {
19464
+ const ret = wasm.trackfilterconfig_dimension(this.__wbg_ptr);
19465
+ return ret >>> 0;
19466
+ }
19467
+ /**
19468
+ * @returns {string}
19469
+ */
19470
+ get frame() {
19471
+ let deferred1_0;
19472
+ let deferred1_1;
19473
+ try {
19474
+ const ret = wasm.trackfilterconfig_frame(this.__wbg_ptr);
19475
+ deferred1_0 = ret[0];
19476
+ deferred1_1 = ret[1];
19477
+ return getStringFromWasm0(ret[0], ret[1]);
19478
+ } finally {
19479
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
19480
+ }
19481
+ }
19482
+ /**
19483
+ * Build a config from a position fix and uncertain zero initial velocity.
19484
+ * @param {any} config
19485
+ * @returns {TrackFilterConfig}
19486
+ */
19487
+ static fromPosition(config) {
19488
+ const ret = wasm.trackfilterconfig_fromPosition(config);
19489
+ if (ret[2]) {
19490
+ throw takeFromExternrefTable0(ret[1]);
19491
+ }
19492
+ return TrackFilterConfig.__wrap(ret[0]);
19493
+ }
19494
+ /**
19495
+ * @returns {number}
19496
+ */
19497
+ get initialTS() {
19498
+ const ret = wasm.trackfilterconfig_initialTS(this.__wbg_ptr);
19499
+ return ret;
19500
+ }
19501
+ /**
19502
+ * Build a no-IMU track filter config from a JS object.
19503
+ * @param {any} config
19504
+ */
19505
+ constructor(config) {
19506
+ const ret = wasm.trackfilterconfig_new(config);
19507
+ if (ret[2]) {
19508
+ throw takeFromExternrefTable0(ret[1]);
19509
+ }
19510
+ this.__wbg_ptr = ret[0];
19511
+ TrackFilterConfigFinalization.register(this, this.__wbg_ptr, this);
19512
+ return this;
19513
+ }
19514
+ /**
19515
+ * @returns {any}
19516
+ */
19517
+ toObject() {
19518
+ const ret = wasm.trackfilterconfig_toObject(this.__wbg_ptr);
19519
+ if (ret[2]) {
19520
+ throw takeFromExternrefTable0(ret[1]);
19521
+ }
19522
+ return takeFromExternrefTable0(ret[0]);
19523
+ }
19524
+ }
19525
+ if (Symbol.dispose) TrackFilterConfig.prototype[Symbol.dispose] = TrackFilterConfig.prototype.free;
19526
+
19527
+ export class TrackRtsHistory {
19528
+ static __wrap(ptr) {
19529
+ const obj = Object.create(TrackRtsHistory.prototype);
19530
+ obj.__wbg_ptr = ptr;
19531
+ TrackRtsHistoryFinalization.register(obj, obj.__wbg_ptr, obj);
19532
+ return obj;
19533
+ }
19534
+ __destroy_into_raw() {
19535
+ const ptr = this.__wbg_ptr;
19536
+ this.__wbg_ptr = 0;
19537
+ TrackRtsHistoryFinalization.unregister(this);
19538
+ return ptr;
19539
+ }
19540
+ free() {
19541
+ const ptr = this.__destroy_into_raw();
19542
+ wasm.__wbg_trackrtshistory_free(ptr, 0);
19543
+ }
19544
+ /**
19545
+ * @returns {number}
19546
+ */
19547
+ get epochCount() {
19548
+ const ret = wasm.trackrtshistory_epochCount(this.__wbg_ptr);
19549
+ return ret >>> 0;
19550
+ }
19551
+ /**
19552
+ * @returns {any}
19553
+ */
19554
+ get epochs() {
19555
+ const ret = wasm.trackrtshistory_epochs(this.__wbg_ptr);
19556
+ if (ret[2]) {
19557
+ throw takeFromExternrefTable0(ret[1]);
19558
+ }
19559
+ return takeFromExternrefTable0(ret[0]);
19560
+ }
19561
+ }
19562
+ if (Symbol.dispose) TrackRtsHistory.prototype[Symbol.dispose] = TrackRtsHistory.prototype.free;
19563
+
19564
+ export class TrackRtsHistoryBuilder {
19565
+ static __wrap(ptr) {
19566
+ const obj = Object.create(TrackRtsHistoryBuilder.prototype);
19567
+ obj.__wbg_ptr = ptr;
19568
+ TrackRtsHistoryBuilderFinalization.register(obj, obj.__wbg_ptr, obj);
19569
+ return obj;
19570
+ }
19571
+ __destroy_into_raw() {
19572
+ const ptr = this.__wbg_ptr;
19573
+ this.__wbg_ptr = 0;
19574
+ TrackRtsHistoryBuilderFinalization.unregister(this);
19575
+ return ptr;
19576
+ }
19577
+ free() {
19578
+ const ptr = this.__destroy_into_raw();
19579
+ wasm.__wbg_trackrtshistorybuilder_free(ptr, 0);
19580
+ }
19581
+ /**
19582
+ * @returns {TrackRtsHistory}
19583
+ */
19584
+ finish() {
19585
+ const ret = wasm.trackrtshistorybuilder_finish(this.__wbg_ptr);
19586
+ if (ret[2]) {
19587
+ throw takeFromExternrefTable0(ret[1]);
19588
+ }
19589
+ return TrackRtsHistory.__wrap(ret[0]);
19590
+ }
19591
+ /**
19592
+ * Start a history from the filter's current state.
19593
+ * @param {TrackFilter} filter
19594
+ * @returns {TrackRtsHistoryBuilder}
19595
+ */
19596
+ static fromFilter(filter) {
19597
+ _assertClass(filter, TrackFilter);
19598
+ const ret = wasm.trackrtshistorybuilder_fromFilter(filter.__wbg_ptr);
19599
+ if (ret[2]) {
19600
+ throw takeFromExternrefTable0(ret[1]);
19601
+ }
19602
+ return TrackRtsHistoryBuilder.__wrap(ret[0]);
19603
+ }
19604
+ /**
19605
+ * Start an empty history for manual recording.
19606
+ */
19607
+ constructor() {
19608
+ const ret = wasm.trackrtshistorybuilder_new();
19609
+ this.__wbg_ptr = ret;
19610
+ TrackRtsHistoryBuilderFinalization.register(this, this.__wbg_ptr, this);
19611
+ return this;
19612
+ }
19613
+ }
19614
+ if (Symbol.dispose) TrackRtsHistoryBuilder.prototype[Symbol.dispose] = TrackRtsHistoryBuilder.prototype.free;
19615
+
19021
19616
  /**
19022
19617
  * Provenance and coverage of the embedded UT1-UTC / delta-T (EOP) table.
19023
19618
  */
@@ -26094,6 +26689,20 @@ export function smoothCode(arc, options, hatch_window_cap) {
26094
26689
  return v1;
26095
26690
  }
26096
26691
 
26692
+ /**
26693
+ * Apply fixed-interval RTS smoothing to recorded fusion history.
26694
+ * @param {FusionRtsHistory} history
26695
+ * @returns {SmoothedFusionTrajectory}
26696
+ */
26697
+ export function smoothFusionRts(history) {
26698
+ _assertClass(history, FusionRtsHistory);
26699
+ const ret = wasm.smoothFusionRts(history.__wbg_ptr);
26700
+ if (ret[2]) {
26701
+ throw takeFromExternrefTable0(ret[1]);
26702
+ }
26703
+ return SmoothedFusionTrajectory.__wrap(ret[0]);
26704
+ }
26705
+
26097
26706
  /**
26098
26707
  * Dual-frequency ionosphere-free Hatch carrier-smoothed code.
26099
26708
  * @param {any} arc
@@ -26111,6 +26720,19 @@ export function smoothIonoFreeCode(arc, options, hatch_window_cap) {
26111
26720
  return v1;
26112
26721
  }
26113
26722
 
26723
+ /**
26724
+ * @param {TrackRtsHistory} history
26725
+ * @returns {SmoothedTrack}
26726
+ */
26727
+ export function smoothTrackRts(history) {
26728
+ _assertClass(history, TrackRtsHistory);
26729
+ const ret = wasm.smoothTrackRts(history.__wbg_ptr);
26730
+ if (ret[2]) {
26731
+ throw takeFromExternrefTable0(ret[1]);
26732
+ }
26733
+ return SmoothedTrack.__wrap(ret[0]);
26734
+ }
26735
+
26114
26736
  /**
26115
26737
  * Post-correlation predetection SNR in decibels.
26116
26738
  * @param {number} cn0_dbhz
@@ -27963,6 +28585,12 @@ const FrameScannerFinalization = (typeof FinalizationRegistry === 'undefined')
27963
28585
  const FrameStatesFinalization = (typeof FinalizationRegistry === 'undefined')
27964
28586
  ? { register: () => {}, unregister: () => {} }
27965
28587
  : new FinalizationRegistry(ptr => wasm.__wbg_framestates_free(ptr, 1));
28588
+ const FusionRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
28589
+ ? { register: () => {}, unregister: () => {} }
28590
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistory_free(ptr, 1));
28591
+ const FusionRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
28592
+ ? { register: () => {}, unregister: () => {} }
28593
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistorybuilder_free(ptr, 1));
27966
28594
  const GeofenceFinalization = (typeof FinalizationRegistry === 'undefined')
27967
28595
  ? { register: () => {}, unregister: () => {} }
27968
28596
  : new FinalizationRegistry(ptr => wasm.__wbg_geofence_free(ptr, 1));
@@ -28263,6 +28891,12 @@ const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
28263
28891
  const SmoothCodeResultFinalization = (typeof FinalizationRegistry === 'undefined')
28264
28892
  ? { register: () => {}, unregister: () => {} }
28265
28893
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothcoderesult_free(ptr, 1));
28894
+ const SmoothedFusionTrajectoryFinalization = (typeof FinalizationRegistry === 'undefined')
28895
+ ? { register: () => {}, unregister: () => {} }
28896
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedfusiontrajectory_free(ptr, 1));
28897
+ const SmoothedTrackFinalization = (typeof FinalizationRegistry === 'undefined')
28898
+ ? { register: () => {}, unregister: () => {} }
28899
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedtrack_free(ptr, 1));
28266
28900
  const SourcedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
28267
28901
  ? { register: () => {}, unregister: () => {} }
28268
28902
  : new FinalizationRegistry(ptr => wasm.__wbg_sourcedsolution_free(ptr, 1));
@@ -28371,6 +29005,18 @@ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
28371
29005
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
28372
29006
  ? { register: () => {}, unregister: () => {} }
28373
29007
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));
29008
+ const TrackFilterFinalization = (typeof FinalizationRegistry === 'undefined')
29009
+ ? { register: () => {}, unregister: () => {} }
29010
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilter_free(ptr, 1));
29011
+ const TrackFilterConfigFinalization = (typeof FinalizationRegistry === 'undefined')
29012
+ ? { register: () => {}, unregister: () => {} }
29013
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackfilterconfig_free(ptr, 1));
29014
+ const TrackRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
29015
+ ? { register: () => {}, unregister: () => {} }
29016
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistory_free(ptr, 1));
29017
+ const TrackRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
29018
+ ? { register: () => {}, unregister: () => {} }
29019
+ : new FinalizationRegistry(ptr => wasm.__wbg_trackrtshistorybuilder_free(ptr, 1));
28374
29020
  const Ut1CoverageFinalization = (typeof FinalizationRegistry === 'undefined')
28375
29021
  ? { register: () => {}, unregister: () => {} }
28376
29022
  : new FinalizationRegistry(ptr => wasm.__wbg_ut1coverage_free(ptr, 1));