@neilberkman/sidereon 0.19.0 → 0.20.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.
@@ -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);
@@ -20435,6 +20638,54 @@ function boundedIlsSearch(float_cycles, covariance, radius, candidate_limit, rat
20435
20638
  }
20436
20639
  exports.boundedIlsSearch = boundedIlsSearch;
20437
20640
 
20641
+ /**
20642
+ * Build dual-frequency RTK arc records from parsed RINEX OBS products.
20643
+ *
20644
+ * Defaults build the GPS `C1C`/`L1C` plus `C2W`/`L2W` arc used by the real
20645
+ * WTZR/WTZZ fixtures.
20646
+ * @param {Sp3} ephemeris
20647
+ * @param {RinexObs} base_obs
20648
+ * @param {RinexObs} rover_obs
20649
+ * @param {any | null} [options]
20650
+ * @returns {any}
20651
+ */
20652
+ function buildDualFrequencyRinexRtkArc(ephemeris, base_obs, rover_obs, options) {
20653
+ _assertClass(ephemeris, Sp3);
20654
+ _assertClass(base_obs, RinexObs);
20655
+ _assertClass(rover_obs, RinexObs);
20656
+ const ret = wasm.buildDualFrequencyRinexRtkArc(ephemeris.__wbg_ptr, base_obs.__wbg_ptr, rover_obs.__wbg_ptr, isLikeNone(options) ? 0 : addToExternrefTable0(options));
20657
+ if (ret[2]) {
20658
+ throw takeFromExternrefTable0(ret[1]);
20659
+ }
20660
+ return takeFromExternrefTable0(ret[0]);
20661
+ }
20662
+ exports.buildDualFrequencyRinexRtkArc = buildDualFrequencyRinexRtkArc;
20663
+
20664
+ /**
20665
+ * Build single-frequency RTK arc records from parsed RINEX OBS products.
20666
+ *
20667
+ * `ephemeris` is an SP3 precise ephemeris handle, `baseObs` and `roverObs`
20668
+ * are parsed RINEX observation files, and `options` may provide
20669
+ * `{ signalPairs, maxEpochs, minCommonSatellites, includePredictionTime }`.
20670
+ * Defaults build the GPS `C1C`/`L1C` arc used by the real WTZR/WTZZ fixtures.
20671
+ * @param {Sp3} ephemeris
20672
+ * @param {RinexObs} base_obs
20673
+ * @param {RinexObs} rover_obs
20674
+ * @param {any | null} [options]
20675
+ * @returns {any}
20676
+ */
20677
+ function buildRinexRtkArc(ephemeris, base_obs, rover_obs, options) {
20678
+ _assertClass(ephemeris, Sp3);
20679
+ _assertClass(base_obs, RinexObs);
20680
+ _assertClass(rover_obs, RinexObs);
20681
+ const ret = wasm.buildRinexRtkArc(ephemeris.__wbg_ptr, base_obs.__wbg_ptr, rover_obs.__wbg_ptr, isLikeNone(options) ? 0 : addToExternrefTable0(options));
20682
+ if (ret[2]) {
20683
+ throw takeFromExternrefTable0(ret[1]);
20684
+ }
20685
+ return takeFromExternrefTable0(ret[0]);
20686
+ }
20687
+ exports.buildRinexRtkArc = buildRinexRtkArc;
20688
+
20438
20689
  /**
20439
20690
  * One wrapping GPS C/A chip at a zero-based index.
20440
20691
  * @param {bigint} prn
@@ -21768,6 +22019,20 @@ function errorEllipse2(covariance, confidence) {
21768
22019
  }
21769
22020
  exports.errorEllipse2 = errorEllipse2;
21770
22021
 
22022
+ /**
22023
+ * Horizontal one-sigma ellipse from an ENU covariance in square metres.
22024
+ * @param {any} covariance_enu_m2
22025
+ * @returns {ErrorEllipse}
22026
+ */
22027
+ function errorEllipseFromEnuM2(covariance_enu_m2) {
22028
+ const ret = wasm.errorEllipseFromEnuM2(covariance_enu_m2);
22029
+ if (ret[2]) {
22030
+ throw takeFromExternrefTable0(ret[1]);
22031
+ }
22032
+ return ErrorEllipse.__wrap(ret[0]);
22033
+ }
22034
+ exports.errorEllipseFromEnuM2 = errorEllipseFromEnuM2;
22035
+
21771
22036
  /**
21772
22037
  * @param {DragForce} drag
21773
22038
  * @param {any} request
@@ -23229,6 +23494,21 @@ function hessianTrace(jacobian, m, n) {
23229
23494
  }
23230
23495
  exports.hessianTrace = hessianTrace;
23231
23496
 
23497
+ /**
23498
+ * Horizontal percentile circle radius from an ENU covariance.
23499
+ * @param {any} covariance_enu_m2
23500
+ * @param {number} probability
23501
+ * @returns {PercentileRadius}
23502
+ */
23503
+ function horizontalRadiusAt(covariance_enu_m2, probability) {
23504
+ const ret = wasm.horizontalRadiusAt(covariance_enu_m2, probability);
23505
+ if (ret[2]) {
23506
+ throw takeFromExternrefTable0(ret[1]);
23507
+ }
23508
+ return PercentileRadius.__wrap(ret[0]);
23509
+ }
23510
+ exports.horizontalRadiusAt = horizontalRadiusAt;
23511
+
23232
23512
  /**
23233
23513
  * Gauss angles-only orbit determination.
23234
23514
  *
@@ -24436,6 +24716,23 @@ function metricsFromKinematicSolution(solution) {
24436
24716
  }
24437
24717
  exports.metricsFromKinematicSolution = metricsFromKinematicSolution;
24438
24718
 
24719
+ /**
24720
+ * Compute position-error metrics from a position covariance object.
24721
+ *
24722
+ * The object must include `ecefM2` and `enuM2`, each a 3 by 3 covariance in
24723
+ * square metres.
24724
+ * @param {any} covariance
24725
+ * @returns {PositionErrorMetrics}
24726
+ */
24727
+ function metricsFromPositionCovariance(covariance) {
24728
+ const ret = wasm.metricsFromPositionCovariance(covariance);
24729
+ if (ret[2]) {
24730
+ throw takeFromExternrefTable0(ret[1]);
24731
+ }
24732
+ return PositionErrorMetrics.__wrap(ret[0]);
24733
+ }
24734
+ exports.metricsFromPositionCovariance = metricsFromPositionCovariance;
24735
+
24439
24736
  /**
24440
24737
  * Modified Allan deviation for explicit averaging factors.
24441
24738
  *
@@ -27076,6 +27373,21 @@ function smoothCode(arc, options, hatch_window_cap) {
27076
27373
  }
27077
27374
  exports.smoothCode = smoothCode;
27078
27375
 
27376
+ /**
27377
+ * Apply fixed-interval RTS smoothing to recorded fusion history.
27378
+ * @param {FusionRtsHistory} history
27379
+ * @returns {SmoothedFusionTrajectory}
27380
+ */
27381
+ function smoothFusionRts(history) {
27382
+ _assertClass(history, FusionRtsHistory);
27383
+ const ret = wasm.smoothFusionRts(history.__wbg_ptr);
27384
+ if (ret[2]) {
27385
+ throw takeFromExternrefTable0(ret[1]);
27386
+ }
27387
+ return SmoothedFusionTrajectory.__wrap(ret[0]);
27388
+ }
27389
+ exports.smoothFusionRts = smoothFusionRts;
27390
+
27079
27391
  /**
27080
27392
  * Dual-frequency ionosphere-free Hatch carrier-smoothed code.
27081
27393
  * @param {any} arc
@@ -27422,6 +27734,31 @@ function solveStatic(sp3, epochs, options) {
27422
27734
  }
27423
27735
  exports.solveStatic = solveStatic;
27424
27736
 
27737
+ /**
27738
+ * Solve one static RTK baseline directly from paired RINEX OBS plus SP3.
27739
+ *
27740
+ * `config.baseM` is the base antenna phase-center ECEF position in metres.
27741
+ * Optional `config.arcOptions` controls RINEX signal extraction; other fields
27742
+ * mirror `RtkStaticArcConfig` but the wavelength and offset maps are filled by
27743
+ * the RINEX builder.
27744
+ * @param {Sp3} ephemeris
27745
+ * @param {RinexObs} base_obs
27746
+ * @param {RinexObs} rover_obs
27747
+ * @param {any} config
27748
+ * @returns {any}
27749
+ */
27750
+ function solveStaticRinexRtkBaseline(ephemeris, base_obs, rover_obs, config) {
27751
+ _assertClass(ephemeris, Sp3);
27752
+ _assertClass(base_obs, RinexObs);
27753
+ _assertClass(rover_obs, RinexObs);
27754
+ const ret = wasm.solveStaticRinexRtkBaseline(ephemeris.__wbg_ptr, base_obs.__wbg_ptr, rover_obs.__wbg_ptr, config);
27755
+ if (ret[2]) {
27756
+ throw takeFromExternrefTable0(ret[1]);
27757
+ }
27758
+ return takeFromExternrefTable0(ret[0]);
27759
+ }
27760
+ exports.solveStaticRinexRtkBaseline = solveStaticRinexRtkBaseline;
27761
+
27425
27762
  /**
27426
27763
  * Solve a static RTK arc with one batch float solution and one validated fixed
27427
27764
  * solution over the whole arc.
@@ -27488,6 +27825,30 @@ function solveVelocityBroadcast(broadcast, observations, receiver_ecef_m, t_rx_j
27488
27825
  }
27489
27826
  exports.solveVelocityBroadcast = solveVelocityBroadcast;
27490
27827
 
27828
+ /**
27829
+ * Solve a static dual-frequency wide-lane fixed RTK baseline from RINEX OBS.
27830
+ *
27831
+ * The function builds the dual-frequency RINEX arc, fixes wide-lane
27832
+ * ambiguities, prepares ionosphere-free narrow-lane records, then runs the
27833
+ * static fixed baseline solver.
27834
+ * @param {Sp3} ephemeris
27835
+ * @param {RinexObs} base_obs
27836
+ * @param {RinexObs} rover_obs
27837
+ * @param {any} config
27838
+ * @returns {any}
27839
+ */
27840
+ function solveWideLaneFixedRinexRtkBaseline(ephemeris, base_obs, rover_obs, config) {
27841
+ _assertClass(ephemeris, Sp3);
27842
+ _assertClass(base_obs, RinexObs);
27843
+ _assertClass(rover_obs, RinexObs);
27844
+ const ret = wasm.solveWideLaneFixedRinexRtkBaseline(ephemeris.__wbg_ptr, base_obs.__wbg_ptr, rover_obs.__wbg_ptr, config);
27845
+ if (ret[2]) {
27846
+ throw takeFromExternrefTable0(ret[1]);
27847
+ }
27848
+ return takeFromExternrefTable0(ret[0]);
27849
+ }
27850
+ exports.solveWideLaneFixedRinexRtkBaseline = solveWideLaneFixedRinexRtkBaseline;
27851
+
27491
27852
  /**
27492
27853
  * Solve a receiver position, preferring precise SP3 products and falling back to
27493
27854
  * broadcast ephemeris, reporting which source was used and how stale it is.
@@ -27648,6 +28009,21 @@ function spectralSeparationCoefficientHz(desired, interference, receiver_bandwid
27648
28009
  }
27649
28010
  exports.spectralSeparationCoefficientHz = spectralSeparationCoefficientHz;
27650
28011
 
28012
+ /**
28013
+ * Three-dimensional percentile sphere radius from an ENU covariance.
28014
+ * @param {any} covariance_enu_m2
28015
+ * @param {number} probability
28016
+ * @returns {PercentileRadius}
28017
+ */
28018
+ function sphericalRadiusAt(covariance_enu_m2, probability) {
28019
+ const ret = wasm.sphericalRadiusAt(covariance_enu_m2, probability);
28020
+ if (ret[2]) {
28021
+ throw takeFromExternrefTable0(ret[1]);
28022
+ }
28023
+ return PercentileRadius.__wrap(ret[0]);
28024
+ }
28025
+ exports.sphericalRadiusAt = sphericalRadiusAt;
28026
+
27651
28027
  /**
27652
28028
  * Continuous seconds since J2000 for a split Julian date.
27653
28029
  * @param {number} jd_whole
@@ -28256,6 +28632,21 @@ function velocityMidas(series, options) {
28256
28632
  }
28257
28633
  exports.velocityMidas = velocityMidas;
28258
28634
 
28635
+ /**
28636
+ * Vertical one-dimensional percentile radius from an up variance.
28637
+ * @param {number} sigma_u_m2
28638
+ * @param {number} probability
28639
+ * @returns {number}
28640
+ */
28641
+ function verticalRadiusAt(sigma_u_m2, probability) {
28642
+ const ret = wasm.verticalRadiusAt(sigma_u_m2, probability);
28643
+ if (ret[2]) {
28644
+ throw takeFromExternrefTable0(ret[1]);
28645
+ }
28646
+ return ret[0];
28647
+ }
28648
+ exports.verticalRadiusAt = verticalRadiusAt;
28649
+
28259
28650
  /**
28260
28651
  * Satellites visible above `minElevationDeg` from `station` at a single instant,
28261
28652
  * from already-initialized [`Tle`]s: the opsmode-preserving constellation
@@ -29024,6 +29415,12 @@ const FrameScannerFinalization = (typeof FinalizationRegistry === 'undefined')
29024
29415
  const FrameStatesFinalization = (typeof FinalizationRegistry === 'undefined')
29025
29416
  ? { register: () => {}, unregister: () => {} }
29026
29417
  : new FinalizationRegistry(ptr => wasm.__wbg_framestates_free(ptr, 1));
29418
+ const FusionRtsHistoryFinalization = (typeof FinalizationRegistry === 'undefined')
29419
+ ? { register: () => {}, unregister: () => {} }
29420
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistory_free(ptr, 1));
29421
+ const FusionRtsHistoryBuilderFinalization = (typeof FinalizationRegistry === 'undefined')
29422
+ ? { register: () => {}, unregister: () => {} }
29423
+ : new FinalizationRegistry(ptr => wasm.__wbg_fusionrtshistorybuilder_free(ptr, 1));
29027
29424
  const GeofenceFinalization = (typeof FinalizationRegistry === 'undefined')
29028
29425
  ? { register: () => {}, unregister: () => {} }
29029
29426
  : new FinalizationRegistry(ptr => wasm.__wbg_geofence_free(ptr, 1));
@@ -29324,6 +29721,9 @@ const SlipResultFinalization = (typeof FinalizationRegistry === 'undefined')
29324
29721
  const SmoothCodeResultFinalization = (typeof FinalizationRegistry === 'undefined')
29325
29722
  ? { register: () => {}, unregister: () => {} }
29326
29723
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothcoderesult_free(ptr, 1));
29724
+ const SmoothedFusionTrajectoryFinalization = (typeof FinalizationRegistry === 'undefined')
29725
+ ? { register: () => {}, unregister: () => {} }
29726
+ : new FinalizationRegistry(ptr => wasm.__wbg_smoothedfusiontrajectory_free(ptr, 1));
29327
29727
  const SmoothedTrackFinalization = (typeof FinalizationRegistry === 'undefined')
29328
29728
  ? { register: () => {}, unregister: () => {} }
29329
29729
  : new FinalizationRegistry(ptr => wasm.__wbg_smoothedtrack_free(ptr, 1));
Binary file