@neilberkman/sidereon 0.19.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.
@@ -2042,6 +2042,43 @@ export class FrameStates {
2042
2042
  readonly velocityKmS: Float64Array;
2043
2043
  }
2044
2044
 
2045
+ /**
2046
+ * Recorded fusion forward-pass history accepted by `smoothFusionRts`.
2047
+ */
2048
+ export class FusionRtsHistory {
2049
+ private constructor();
2050
+ free(): void;
2051
+ [Symbol.dispose](): void;
2052
+ /**
2053
+ * Number of recorded epochs.
2054
+ */
2055
+ readonly epochCount: number;
2056
+ /**
2057
+ * Recorded epochs in forward time order.
2058
+ */
2059
+ readonly epochs: any;
2060
+ }
2061
+
2062
+ /**
2063
+ * Builder for recording a fusion forward pass before RTS smoothing.
2064
+ */
2065
+ export class FusionRtsHistoryBuilder {
2066
+ free(): void;
2067
+ [Symbol.dispose](): void;
2068
+ /**
2069
+ * Return a validated recorded history.
2070
+ */
2071
+ finish(): FusionRtsHistory;
2072
+ /**
2073
+ * Start a history from the filter's current checkpoint.
2074
+ */
2075
+ static fromFilter(filter: GnssInsFilter): FusionRtsHistoryBuilder;
2076
+ /**
2077
+ * Start an empty history for manual recording.
2078
+ */
2079
+ constructor();
2080
+ }
2081
+
2045
2082
  /**
2046
2083
  * WGS84 geodesic input failure class exposed as a stable enum symbol.
2047
2084
  */
@@ -2351,6 +2388,10 @@ export class GnssInsFilter {
2351
2388
  * Propagate the filter with a JS array of IMU samples.
2352
2389
  */
2353
2390
  propagateBatch(samples: any): any;
2391
+ /**
2392
+ * Propagate and record the transition for later fusion RTS smoothing.
2393
+ */
2394
+ propagateRecorded(sample: any, history: FusionRtsHistoryBuilder): any;
2354
2395
  /**
2355
2396
  * Restore this filter from versioned fusion-state bytes.
2356
2397
  */
@@ -2371,6 +2412,10 @@ export class GnssInsFilter {
2371
2412
  * Apply a loose position or position-velocity GNSS fix at the current epoch.
2372
2413
  */
2373
2414
  updateLoose(measurement: any): any;
2415
+ /**
2416
+ * Apply a loose GNSS fix and record checkpoints for fusion RTS smoothing.
2417
+ */
2418
+ updateLooseRecorded(measurement: any, history: FusionRtsHistoryBuilder): any;
2374
2419
  /**
2375
2420
  * Apply a loose GNSS fix, replaying retained IMU checkpoints when it is late.
2376
2421
  */
@@ -2379,6 +2424,10 @@ export class GnssInsFilter {
2379
2424
  * Apply a tight raw-observation epoch against a broadcast ephemeris source.
2380
2425
  */
2381
2426
  updateTightBroadcast(broadcast: BroadcastEphemeris, epoch: any): any;
2427
+ /**
2428
+ * Apply a tight broadcast update and record checkpoints for fusion RTS smoothing.
2429
+ */
2430
+ updateTightBroadcastRecorded(broadcast: BroadcastEphemeris, epoch: any, history: FusionRtsHistoryBuilder): any;
2382
2431
  /**
2383
2432
  * Apply a tight broadcast update, replaying retained IMU checkpoints when it is late.
2384
2433
  */
@@ -2387,6 +2436,10 @@ export class GnssInsFilter {
2387
2436
  * Apply a tight raw-observation epoch against an SP3 source.
2388
2437
  */
2389
2438
  updateTightSp3(sp3: Sp3, epoch: any): any;
2439
+ /**
2440
+ * Apply a tight SP3 update and record checkpoints for fusion RTS smoothing.
2441
+ */
2442
+ updateTightSp3Recorded(sp3: Sp3, epoch: any, history: FusionRtsHistoryBuilder): any;
2390
2443
  /**
2391
2444
  * Apply a tight SP3 update, replaying retained IMU checkpoints when it is late.
2392
2445
  */
@@ -6070,6 +6123,23 @@ export class SmoothCodeResult {
6070
6123
  readonly window: number;
6071
6124
  }
6072
6125
 
6126
+ /**
6127
+ * Smoothed fusion trajectory returned by fixed-interval RTS smoothing.
6128
+ */
6129
+ export class SmoothedFusionTrajectory {
6130
+ private constructor();
6131
+ free(): void;
6132
+ [Symbol.dispose](): void;
6133
+ /**
6134
+ * Number of smoothed epochs.
6135
+ */
6136
+ readonly epochCount: number;
6137
+ /**
6138
+ * Smoothed epochs in the same order as the recorded history.
6139
+ */
6140
+ readonly epochs: any;
6141
+ }
6142
+
6073
6143
  export class SmoothedTrack {
6074
6144
  private constructor();
6075
6145
  free(): void;
@@ -10303,6 +10373,11 @@ export function slipReasonLabel(reason: SlipReason): string;
10303
10373
  */
10304
10374
  export function smoothCode(arc: any, options: any, hatch_window_cap?: number | null): SmoothCodeResult[];
10305
10375
 
10376
+ /**
10377
+ * Apply fixed-interval RTS smoothing to recorded fusion history.
10378
+ */
10379
+ export function smoothFusionRts(history: FusionRtsHistory): SmoothedFusionTrajectory;
10380
+
10306
10381
  /**
10307
10382
  * Dual-frequency ionosphere-free Hatch carrier-smoothed code.
10308
10383
  */
@@ -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,49 @@ 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
+
15493
15696
  class SmoothedTrack {
15494
15697
  static __wrap(ptr) {
15495
15698
  const obj = Object.create(SmoothedTrack.prototype);
@@ -27076,6 +27279,21 @@ function smoothCode(arc, options, hatch_window_cap) {
27076
27279
  }
27077
27280
  exports.smoothCode = smoothCode;
27078
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
+
27079
27297
  /**
27080
27298
  * Dual-frequency ionosphere-free Hatch carrier-smoothed code.
27081
27299
  * @param {any} arc
@@ -29024,6 +29242,12 @@ const FrameScannerFinalization = (typeof FinalizationRegistry === 'undefined')
29024
29242
  const FrameStatesFinalization = (typeof FinalizationRegistry === 'undefined')
29025
29243
  ? { register: () => {}, unregister: () => {} }
29026
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));
29027
29251
  const GeofenceFinalization = (typeof FinalizationRegistry === 'undefined')
29028
29252
  ? { register: () => {}, unregister: () => {} }
29029
29253
  : new FinalizationRegistry(ptr => wasm.__wbg_geofence_free(ptr, 1));
@@ -29324,6 +29548,9 @@ const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
29324
29548
  const SmoothCodeResultFinalization = (typeof FinalizationRegistry === 'undefined')
29325
29549
  ? { register: () => {}, unregister: () => {} }
29326
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));
29327
29554
  const SmoothedTrackFinalization = (typeof FinalizationRegistry === 'undefined')
29328
29555
  ? { register: () => {}, unregister: () => {} }
29329
29556
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothedtrack_free(ptr, 1));
Binary file