@neilberkman/sidereon 0.10.1 → 0.11.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
@@ -726,6 +726,24 @@ export class BiasSet {
726
726
  }
727
727
  if (Symbol.dispose) BiasSet.prototype[Symbol.dispose] = BiasSet.prototype.free;
728
728
 
729
+ /**
730
+ * Broadcast group-delay term selector.
731
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10}
732
+ */
733
+ export const BroadcastDelayTerm = Object.freeze({
734
+ GpsTgd: 0, "0": "GpsTgd",
735
+ GalileoBgdE5aE1: 1, "1": "GalileoBgdE5aE1",
736
+ GalileoBgdE5bE1: 2, "2": "GalileoBgdE5bE1",
737
+ BeidouTgd1: 3, "3": "BeidouTgd1",
738
+ BeidouTgd2: 4, "4": "BeidouTgd2",
739
+ CnavIscL1Ca: 5, "5": "CnavIscL1Ca",
740
+ CnavIscL2C: 6, "6": "CnavIscL2C",
741
+ CnavIscL5I5: 7, "7": "CnavIscL5I5",
742
+ CnavIscL5Q5: 8, "8": "CnavIscL5Q5",
743
+ CnavIscL1Cd: 9, "9": "CnavIscL1Cd",
744
+ CnavIscL1Cp: 10, "10": "CnavIscL1Cp",
745
+ });
746
+
729
747
  /**
730
748
  * A parsed broadcast ephemeris store from a RINEX NAV file. `records` are the
731
749
  * usable GPS/Galileo/BeiDou records selected by the core default SPP policy.
@@ -807,6 +825,22 @@ export class BroadcastEphemeris {
807
825
  }
808
826
  return takeFromExternrefTable0(ret[0]);
809
827
  }
828
+ /**
829
+ * Evaluate the store-selected broadcast state for `satellite` at GPST-like
830
+ * J2000 seconds. Returns `undefined` when no usable record covers the query.
831
+ * @param {string} satellite
832
+ * @param {number} t_j2000_s
833
+ * @returns {BroadcastStoreEvaluation | undefined}
834
+ */
835
+ evaluate(satellite, t_j2000_s) {
836
+ const ptr0 = passStringToWasm0(satellite, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
837
+ const len0 = WASM_VECTOR_LEN;
838
+ const ret = wasm.broadcastephemeris_evaluate(this.__wbg_ptr, ptr0, len0, t_j2000_s);
839
+ if (ret[2]) {
840
+ throw takeFromExternrefTable0(ret[1]);
841
+ }
842
+ return ret[0] === 0 ? undefined : BroadcastStoreEvaluation.__wrap(ret[0]);
843
+ }
810
844
  /**
811
845
  * Number of usable GLONASS records.
812
846
  * @returns {number}
@@ -1005,6 +1039,45 @@ export class BroadcastEvaluation {
1005
1039
  }
1006
1040
  if (Symbol.dispose) BroadcastEvaluation.prototype[Symbol.dispose] = BroadcastEvaluation.prototype.free;
1007
1041
 
1042
+ /**
1043
+ * Per-signal broadcast group-delay terms retained from a NAV record.
1044
+ */
1045
+ export class BroadcastGroupDelaysJs {
1046
+ static __wrap(ptr) {
1047
+ const obj = Object.create(BroadcastGroupDelaysJs.prototype);
1048
+ obj.__wbg_ptr = ptr;
1049
+ BroadcastGroupDelaysJsFinalization.register(obj, obj.__wbg_ptr, obj);
1050
+ return obj;
1051
+ }
1052
+ __destroy_into_raw() {
1053
+ const ptr = this.__wbg_ptr;
1054
+ this.__wbg_ptr = 0;
1055
+ BroadcastGroupDelaysJsFinalization.unregister(this);
1056
+ return ptr;
1057
+ }
1058
+ free() {
1059
+ const ptr = this.__destroy_into_raw();
1060
+ wasm.__wbg_broadcastgroupdelaysjs_free(ptr, 0);
1061
+ }
1062
+ /**
1063
+ * @param {CnavSignal} signal
1064
+ * @returns {number | undefined}
1065
+ */
1066
+ cnavSingleFrequencyCorrectionS(signal) {
1067
+ const ret = wasm.broadcastgroupdelaysjs_cnavSingleFrequencyCorrectionS(this.__wbg_ptr, signal);
1068
+ return ret[0] === 0 ? undefined : ret[1];
1069
+ }
1070
+ /**
1071
+ * @param {BroadcastDelayTerm} term
1072
+ * @returns {number | undefined}
1073
+ */
1074
+ get(term) {
1075
+ const ret = wasm.broadcastgroupdelaysjs_get(this.__wbg_ptr, term);
1076
+ return ret[0] === 0 ? undefined : ret[1];
1077
+ }
1078
+ }
1079
+ if (Symbol.dispose) BroadcastGroupDelaysJs.prototype[Symbol.dispose] = BroadcastGroupDelaysJs.prototype.free;
1080
+
1008
1081
  /**
1009
1082
  * One GPS, Galileo, or BeiDou broadcast ephemeris record from RINEX NAV.
1010
1083
  */
@@ -1033,6 +1106,14 @@ export class BroadcastRecordJs {
1033
1106
  const ret = wasm.broadcastrecordjs_clock(this.__wbg_ptr);
1034
1107
  return ClockPolynomialJs.__wrap(ret);
1035
1108
  }
1109
+ /**
1110
+ * CNAV-family extension fields, or `undefined` for legacy records.
1111
+ * @returns {CnavParametersJs | undefined}
1112
+ */
1113
+ get cnav() {
1114
+ const ret = wasm.broadcastrecordjs_cnav(this.__wbg_ptr);
1115
+ return ret === 0 ? undefined : CnavParametersJs.__wrap(ret);
1116
+ }
1036
1117
  /**
1037
1118
  * Keplerian orbital elements in SI units.
1038
1119
  * @returns {KeplerianElementsJs}
@@ -1071,6 +1152,30 @@ export class BroadcastRecordJs {
1071
1152
  const ret = wasm.broadcastrecordjs_groupDelayS(this.__wbg_ptr);
1072
1153
  return ret;
1073
1154
  }
1155
+ /**
1156
+ * Broadcast group-delay terms carried by this record.
1157
+ * @returns {BroadcastGroupDelaysJs}
1158
+ */
1159
+ get groupDelays() {
1160
+ const ret = wasm.broadcastrecordjs_groupDelays(this.__wbg_ptr);
1161
+ return BroadcastGroupDelaysJs.__wrap(ret);
1162
+ }
1163
+ /**
1164
+ * Native issue-of-data value.
1165
+ * @returns {number}
1166
+ */
1167
+ get issue() {
1168
+ const ret = wasm.broadcastrecordjs_issue(this.__wbg_ptr);
1169
+ return ret >>> 0;
1170
+ }
1171
+ /**
1172
+ * Message family attached to the issue-of-data value.
1173
+ * @returns {NavMessage}
1174
+ */
1175
+ get issueMessage() {
1176
+ const ret = wasm.broadcastrecordjs_issueMessage(this.__wbg_ptr);
1177
+ return ret;
1178
+ }
1074
1179
  /**
1075
1180
  * Broadcast message type.
1076
1181
  * @returns {NavMessage}
@@ -1122,6 +1227,67 @@ export class BroadcastRecordJs {
1122
1227
  }
1123
1228
  if (Symbol.dispose) BroadcastRecordJs.prototype[Symbol.dispose] = BroadcastRecordJs.prototype.free;
1124
1229
 
1230
+ /**
1231
+ * Store-level broadcast ephemeris evaluation at a J2000 query epoch.
1232
+ */
1233
+ export class BroadcastStoreEvaluation {
1234
+ static __wrap(ptr) {
1235
+ const obj = Object.create(BroadcastStoreEvaluation.prototype);
1236
+ obj.__wbg_ptr = ptr;
1237
+ BroadcastStoreEvaluationFinalization.register(obj, obj.__wbg_ptr, obj);
1238
+ return obj;
1239
+ }
1240
+ __destroy_into_raw() {
1241
+ const ptr = this.__wbg_ptr;
1242
+ this.__wbg_ptr = 0;
1243
+ BroadcastStoreEvaluationFinalization.unregister(this);
1244
+ return ptr;
1245
+ }
1246
+ free() {
1247
+ const ptr = this.__destroy_into_raw();
1248
+ wasm.__wbg_broadcaststoreevaluation_free(ptr, 0);
1249
+ }
1250
+ /**
1251
+ * @returns {number}
1252
+ */
1253
+ get clockS() {
1254
+ const ret = wasm.broadcaststoreevaluation_clockS(this.__wbg_ptr);
1255
+ return ret;
1256
+ }
1257
+ /**
1258
+ * @returns {Float64Array}
1259
+ */
1260
+ get positionM() {
1261
+ const ret = wasm.broadcaststoreevaluation_positionM(this.__wbg_ptr);
1262
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
1263
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
1264
+ return v1;
1265
+ }
1266
+ /**
1267
+ * @returns {string}
1268
+ */
1269
+ get satellite() {
1270
+ let deferred1_0;
1271
+ let deferred1_1;
1272
+ try {
1273
+ const ret = wasm.broadcaststoreevaluation_satellite(this.__wbg_ptr);
1274
+ deferred1_0 = ret[0];
1275
+ deferred1_1 = ret[1];
1276
+ return getStringFromWasm0(ret[0], ret[1]);
1277
+ } finally {
1278
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
1279
+ }
1280
+ }
1281
+ /**
1282
+ * @returns {number}
1283
+ */
1284
+ get tJ2000S() {
1285
+ const ret = wasm.broadcaststoreevaluation_tJ2000S(this.__wbg_ptr);
1286
+ return ret;
1287
+ }
1288
+ }
1289
+ if (Symbol.dispose) BroadcastStoreEvaluation.prototype[Symbol.dispose] = BroadcastStoreEvaluation.prototype.free;
1290
+
1125
1291
  /**
1126
1292
  * A canonical GNSS carrier band. The JS value matches the variant order below.
1127
1293
  * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15}
@@ -2258,6 +2424,124 @@ export class ClockSeries {
2258
2424
  }
2259
2425
  if (Symbol.dispose) ClockSeries.prototype[Symbol.dispose] = ClockSeries.prototype.free;
2260
2426
 
2427
+ /**
2428
+ * CNAV/CNAV-2 fields with no legacy LNAV counterpart.
2429
+ */
2430
+ export class CnavParametersJs {
2431
+ static __wrap(ptr) {
2432
+ const obj = Object.create(CnavParametersJs.prototype);
2433
+ obj.__wbg_ptr = ptr;
2434
+ CnavParametersJsFinalization.register(obj, obj.__wbg_ptr, obj);
2435
+ return obj;
2436
+ }
2437
+ __destroy_into_raw() {
2438
+ const ptr = this.__wbg_ptr;
2439
+ this.__wbg_ptr = 0;
2440
+ CnavParametersJsFinalization.unregister(this);
2441
+ return ptr;
2442
+ }
2443
+ free() {
2444
+ const ptr = this.__destroy_into_raw();
2445
+ wasm.__wbg_cnavparametersjs_free(ptr, 0);
2446
+ }
2447
+ /**
2448
+ * @returns {number}
2449
+ */
2450
+ get adotMS() {
2451
+ const ret = wasm.cnavparametersjs_adotMS(this.__wbg_ptr);
2452
+ return ret;
2453
+ }
2454
+ /**
2455
+ * @returns {number}
2456
+ */
2457
+ get deltaN0DotRadS2() {
2458
+ const ret = wasm.cnavparametersjs_deltaN0DotRadS2(this.__wbg_ptr);
2459
+ return ret;
2460
+ }
2461
+ /**
2462
+ * @returns {number | undefined}
2463
+ */
2464
+ get flags() {
2465
+ const ret = wasm.cnavparametersjs_flags(this.__wbg_ptr);
2466
+ return ret === Number.MAX_SAFE_INTEGER ? undefined : ret;
2467
+ }
2468
+ /**
2469
+ * @returns {number}
2470
+ */
2471
+ get topTowS() {
2472
+ const ret = wasm.cnavparametersjs_topTowS(this.__wbg_ptr);
2473
+ return ret;
2474
+ }
2475
+ /**
2476
+ * @returns {number}
2477
+ */
2478
+ get topWeek() {
2479
+ const ret = wasm.cnavparametersjs_topWeek(this.__wbg_ptr);
2480
+ return ret >>> 0;
2481
+ }
2482
+ /**
2483
+ * @returns {number}
2484
+ */
2485
+ get transmissionTimeSow() {
2486
+ const ret = wasm.cnavparametersjs_transmissionTimeSow(this.__wbg_ptr);
2487
+ return ret;
2488
+ }
2489
+ /**
2490
+ * @returns {number}
2491
+ */
2492
+ get uraEdIndex() {
2493
+ const ret = wasm.cnavparametersjs_uraEdIndex(this.__wbg_ptr);
2494
+ return ret;
2495
+ }
2496
+ /**
2497
+ * @returns {number}
2498
+ */
2499
+ get uraNed0Index() {
2500
+ const ret = wasm.cnavparametersjs_uraNed0Index(this.__wbg_ptr);
2501
+ return ret;
2502
+ }
2503
+ /**
2504
+ * @returns {number}
2505
+ */
2506
+ get uraNed1Index() {
2507
+ const ret = wasm.cnavparametersjs_uraNed1Index(this.__wbg_ptr);
2508
+ return ret;
2509
+ }
2510
+ /**
2511
+ * @returns {number}
2512
+ */
2513
+ get uraNed2Index() {
2514
+ const ret = wasm.cnavparametersjs_uraNed2Index(this.__wbg_ptr);
2515
+ return ret;
2516
+ }
2517
+ /**
2518
+ * @param {number} week
2519
+ * @param {number} tow_s
2520
+ * @returns {number | undefined}
2521
+ */
2522
+ uraNedM(week, tow_s) {
2523
+ const ret = wasm.cnavparametersjs_uraNedM(this.__wbg_ptr, week, tow_s);
2524
+ if (ret[3]) {
2525
+ throw takeFromExternrefTable0(ret[2]);
2526
+ }
2527
+ return ret[0] === 0 ? undefined : ret[1];
2528
+ }
2529
+ }
2530
+ if (Symbol.dispose) CnavParametersJs.prototype[Symbol.dispose] = CnavParametersJs.prototype.free;
2531
+
2532
+ /**
2533
+ * GPS/QZSS signal used for CNAV inter-signal correction accessors.
2534
+ * @enum {0 | 1 | 2 | 3 | 4 | 5}
2535
+ */
2536
+ export const CnavSignal = Object.freeze({
2537
+ L1Ca: 0, "0": "L1Ca",
2538
+ L2C: 1, "1": "L2C",
2539
+ L5I5: 2, "2": "L5I5",
2540
+ L5Q5: 3, "3": "L5Q5",
2541
+ L1Cp: 4, "4": "L1Cp",
2542
+ L1Cd: 5, "5": "L1Cd",
2543
+ });
2544
+
2261
2545
  /**
2262
2546
  * Collision-probability result and encounter-plane summary.
2263
2547
  */
@@ -2607,91 +2891,233 @@ export class CorrelationResult {
2607
2891
  if (Symbol.dispose) CorrelationResult.prototype[Symbol.dispose] = CorrelationResult.prototype.free;
2608
2892
 
2609
2893
  /**
2610
- * A computed look-angle grid for a set of satellites and ground stations at one
2611
- * epoch. Build with [`coverageLookAngles`].
2894
+ * Propagated state plus covariance nodes.
2612
2895
  */
2613
- export class CoverageGrid {
2896
+ export class CovarianceEphemeris {
2614
2897
  static __wrap(ptr) {
2615
- const obj = Object.create(CoverageGrid.prototype);
2898
+ const obj = Object.create(CovarianceEphemeris.prototype);
2616
2899
  obj.__wbg_ptr = ptr;
2617
- CoverageGridFinalization.register(obj, obj.__wbg_ptr, obj);
2900
+ CovarianceEphemerisFinalization.register(obj, obj.__wbg_ptr, obj);
2618
2901
  return obj;
2619
2902
  }
2620
2903
  __destroy_into_raw() {
2621
2904
  const ptr = this.__wbg_ptr;
2622
2905
  this.__wbg_ptr = 0;
2623
- CoverageGridFinalization.unregister(this);
2906
+ CovarianceEphemerisFinalization.unregister(this);
2624
2907
  return ptr;
2625
2908
  }
2626
2909
  free() {
2627
2910
  const ptr = this.__destroy_into_raw();
2628
- wasm.__wbg_coveragegrid_free(ptr, 0);
2629
- }
2630
- /**
2631
- * Number of visible satellites per station at `minElevationDeg`, as a flat
2632
- * array of length `stationCount`. Delegates to
2633
- * `sidereon_core::astro::coverage::access_counts`.
2634
- * @param {number} min_elevation_deg
2635
- * @returns {Uint32Array}
2636
- */
2637
- accessCounts(min_elevation_deg) {
2638
- const ret = wasm.coveragegrid_accessCounts(this.__wbg_ptr, min_elevation_deg);
2639
- var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
2640
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
2641
- return v1;
2911
+ wasm.__wbg_covarianceephemeris_free(ptr, 0);
2642
2912
  }
2643
2913
  /**
2644
- * The look angle for one satellite/station pair as `[azimuthDeg,
2645
- * elevationDeg, rangeKm]`, or `undefined` when that cell failed (the
2646
- * satellite was below the horizon geometry the kernel rejects) or the
2647
- * indices are out of range.
2648
- * @param {number} satellite_index
2649
- * @param {number} station_index
2650
- * @returns {Float64Array | undefined}
2914
+ * @returns {Float64Array}
2651
2915
  */
2652
- lookAngle(satellite_index, station_index) {
2653
- const ret = wasm.coveragegrid_lookAngle(this.__wbg_ptr, satellite_index, station_index);
2654
- let v1;
2655
- if (ret[0] !== 0) {
2656
- v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2657
- wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2658
- }
2916
+ get covariance() {
2917
+ const ret = wasm.covarianceephemeris_covariance(this.__wbg_ptr);
2918
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2919
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2659
2920
  return v1;
2660
2921
  }
2661
2922
  /**
2662
- * Maximum successful elevation per station, degrees, as a flat array of
2663
- * length `stationCount`. A station with no successful cell reports `NaN`.
2664
- * Delegates to `sidereon_core::astro::coverage::max_elevation`.
2923
+ * @param {number} epoch_tdb_seconds
2665
2924
  * @returns {Float64Array}
2666
2925
  */
2667
- maxElevationDeg() {
2668
- const ret = wasm.coveragegrid_maxElevationDeg(this.__wbg_ptr);
2926
+ covarianceAt(epoch_tdb_seconds) {
2927
+ const ret = wasm.covarianceephemeris_covarianceAt(this.__wbg_ptr, epoch_tdb_seconds);
2928
+ if (ret[3]) {
2929
+ throw takeFromExternrefTable0(ret[2]);
2930
+ }
2669
2931
  var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2670
2932
  wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2671
2933
  return v1;
2672
2934
  }
2673
2935
  /**
2674
- * Number of satellites (grid rows).
2675
2936
  * @returns {number}
2676
2937
  */
2677
- get satelliteCount() {
2678
- const ret = wasm.coveragegrid_satelliteCount(this.__wbg_ptr);
2938
+ get epochCount() {
2939
+ const ret = wasm.covarianceephemeris_epochCount(this.__wbg_ptr);
2679
2940
  return ret >>> 0;
2680
2941
  }
2681
2942
  /**
2682
- * Number of ground stations (grid columns).
2683
- * @returns {number}
2943
+ * @returns {string}
2684
2944
  */
2685
- get stationCount() {
2686
- const ret = wasm.coveragegrid_stationCount(this.__wbg_ptr);
2687
- return ret >>> 0;
2945
+ get frame() {
2946
+ let deferred1_0;
2947
+ let deferred1_1;
2948
+ try {
2949
+ const ret = wasm.covarianceephemeris_frame(this.__wbg_ptr);
2950
+ deferred1_0 = ret[0];
2951
+ deferred1_1 = ret[1];
2952
+ return getStringFromWasm0(ret[0], ret[1]);
2953
+ } finally {
2954
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
2955
+ }
2688
2956
  }
2689
2957
  /**
2690
- * Row-major `[satellite][station]` visibility mask at `minElevationDeg`, as a
2691
- * flat `Uint8Array` of `1` (visible) / `0`. Error cells are not visible.
2692
- * Delegates to `sidereon_core::astro::coverage::visible_mask`.
2693
- * @param {number} min_elevation_deg
2694
- * @returns {Uint8Array}
2958
+ * @returns {Float64Array}
2959
+ */
2960
+ get positionKm() {
2961
+ const ret = wasm.covarianceephemeris_positionKm(this.__wbg_ptr);
2962
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2963
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2964
+ return v1;
2965
+ }
2966
+ /**
2967
+ * @returns {Float64Array}
2968
+ */
2969
+ get timesS() {
2970
+ const ret = wasm.covarianceephemeris_timesS(this.__wbg_ptr);
2971
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2972
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2973
+ return v1;
2974
+ }
2975
+ /**
2976
+ * @returns {Float64Array}
2977
+ */
2978
+ get velocityKmS() {
2979
+ const ret = wasm.covarianceephemeris_velocityKmS(this.__wbg_ptr);
2980
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
2981
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
2982
+ return v1;
2983
+ }
2984
+ }
2985
+ if (Symbol.dispose) CovarianceEphemeris.prototype[Symbol.dispose] = CovarianceEphemeris.prototype.free;
2986
+
2987
+ /**
2988
+ * Frame a 6x6 state covariance is expressed in.
2989
+ * @enum {0 | 1}
2990
+ */
2991
+ export const CovarianceFrame = Object.freeze({
2992
+ Inertial: 0, "0": "Inertial",
2993
+ Rtn: 1, "1": "Rtn",
2994
+ });
2995
+
2996
+ /**
2997
+ * Covariances returned by explicit STM transport.
2998
+ */
2999
+ export class CovarianceTransportResult {
3000
+ static __wrap(ptr) {
3001
+ const obj = Object.create(CovarianceTransportResult.prototype);
3002
+ obj.__wbg_ptr = ptr;
3003
+ CovarianceTransportResultFinalization.register(obj, obj.__wbg_ptr, obj);
3004
+ return obj;
3005
+ }
3006
+ __destroy_into_raw() {
3007
+ const ptr = this.__wbg_ptr;
3008
+ this.__wbg_ptr = 0;
3009
+ CovarianceTransportResultFinalization.unregister(this);
3010
+ return ptr;
3011
+ }
3012
+ free() {
3013
+ const ptr = this.__destroy_into_raw();
3014
+ wasm.__wbg_covariancetransportresult_free(ptr, 0);
3015
+ }
3016
+ /**
3017
+ * @returns {Float64Array}
3018
+ */
3019
+ get covariance() {
3020
+ const ret = wasm.covariancetransportresult_covariance(this.__wbg_ptr);
3021
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3022
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3023
+ return v1;
3024
+ }
3025
+ /**
3026
+ * @returns {number}
3027
+ */
3028
+ get nodeCount() {
3029
+ const ret = wasm.covariancetransportresult_nodeCount(this.__wbg_ptr);
3030
+ return ret >>> 0;
3031
+ }
3032
+ }
3033
+ if (Symbol.dispose) CovarianceTransportResult.prototype[Symbol.dispose] = CovarianceTransportResult.prototype.free;
3034
+
3035
+ /**
3036
+ * A computed look-angle grid for a set of satellites and ground stations at one
3037
+ * epoch. Build with [`coverageLookAngles`].
3038
+ */
3039
+ export class CoverageGrid {
3040
+ static __wrap(ptr) {
3041
+ const obj = Object.create(CoverageGrid.prototype);
3042
+ obj.__wbg_ptr = ptr;
3043
+ CoverageGridFinalization.register(obj, obj.__wbg_ptr, obj);
3044
+ return obj;
3045
+ }
3046
+ __destroy_into_raw() {
3047
+ const ptr = this.__wbg_ptr;
3048
+ this.__wbg_ptr = 0;
3049
+ CoverageGridFinalization.unregister(this);
3050
+ return ptr;
3051
+ }
3052
+ free() {
3053
+ const ptr = this.__destroy_into_raw();
3054
+ wasm.__wbg_coveragegrid_free(ptr, 0);
3055
+ }
3056
+ /**
3057
+ * Number of visible satellites per station at `minElevationDeg`, as a flat
3058
+ * array of length `stationCount`. Delegates to
3059
+ * `sidereon_core::astro::coverage::access_counts`.
3060
+ * @param {number} min_elevation_deg
3061
+ * @returns {Uint32Array}
3062
+ */
3063
+ accessCounts(min_elevation_deg) {
3064
+ const ret = wasm.coveragegrid_accessCounts(this.__wbg_ptr, min_elevation_deg);
3065
+ var v1 = getArrayU32FromWasm0(ret[0], ret[1]).slice();
3066
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
3067
+ return v1;
3068
+ }
3069
+ /**
3070
+ * The look angle for one satellite/station pair as `[azimuthDeg,
3071
+ * elevationDeg, rangeKm]`, or `undefined` when that cell failed (the
3072
+ * satellite was below the horizon geometry the kernel rejects) or the
3073
+ * indices are out of range.
3074
+ * @param {number} satellite_index
3075
+ * @param {number} station_index
3076
+ * @returns {Float64Array | undefined}
3077
+ */
3078
+ lookAngle(satellite_index, station_index) {
3079
+ const ret = wasm.coveragegrid_lookAngle(this.__wbg_ptr, satellite_index, station_index);
3080
+ let v1;
3081
+ if (ret[0] !== 0) {
3082
+ v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3083
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3084
+ }
3085
+ return v1;
3086
+ }
3087
+ /**
3088
+ * Maximum successful elevation per station, degrees, as a flat array of
3089
+ * length `stationCount`. A station with no successful cell reports `NaN`.
3090
+ * Delegates to `sidereon_core::astro::coverage::max_elevation`.
3091
+ * @returns {Float64Array}
3092
+ */
3093
+ maxElevationDeg() {
3094
+ const ret = wasm.coveragegrid_maxElevationDeg(this.__wbg_ptr);
3095
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
3096
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
3097
+ return v1;
3098
+ }
3099
+ /**
3100
+ * Number of satellites (grid rows).
3101
+ * @returns {number}
3102
+ */
3103
+ get satelliteCount() {
3104
+ const ret = wasm.coveragegrid_satelliteCount(this.__wbg_ptr);
3105
+ return ret >>> 0;
3106
+ }
3107
+ /**
3108
+ * Number of ground stations (grid columns).
3109
+ * @returns {number}
3110
+ */
3111
+ get stationCount() {
3112
+ const ret = wasm.coveragegrid_stationCount(this.__wbg_ptr);
3113
+ return ret >>> 0;
3114
+ }
3115
+ /**
3116
+ * Row-major `[satellite][station]` visibility mask at `minElevationDeg`, as a
3117
+ * flat `Uint8Array` of `1` (visible) / `0`. Error cells are not visible.
3118
+ * Delegates to `sidereon_core::astro::coverage::visible_mask`.
3119
+ * @param {number} min_elevation_deg
3120
+ * @returns {Uint8Array}
2695
3121
  */
2696
3122
  visibleMask(min_elevation_deg) {
2697
3123
  const ret = wasm.coveragegrid_visibleMask(this.__wbg_ptr, min_elevation_deg);
@@ -3992,6 +4418,42 @@ export class GeoidGrid {
3992
4418
  const ptr = this.__destroy_into_raw();
3993
4419
  wasm.__wbg_geoidgrid_free(ptr, 0);
3994
4420
  }
4421
+ /**
4422
+ * Ellipsoidal height from orthometric height and degrees.
4423
+ * @param {number} orthometric_height_m
4424
+ * @param {number} lat_deg
4425
+ * @param {number} lon_deg
4426
+ * @returns {number}
4427
+ */
4428
+ ellipsoidalHeightDeg(orthometric_height_m, lat_deg, lon_deg) {
4429
+ const ret = wasm.geoidgrid_ellipsoidalHeightDeg(this.__wbg_ptr, orthometric_height_m, lat_deg, lon_deg);
4430
+ return ret;
4431
+ }
4432
+ /**
4433
+ * Ellipsoidal height from orthometric height and radians.
4434
+ * @param {number} orthometric_height_m
4435
+ * @param {number} lat_rad
4436
+ * @param {number} lon_rad
4437
+ * @returns {number}
4438
+ */
4439
+ ellipsoidalHeightRad(orthometric_height_m, lat_rad, lon_rad) {
4440
+ const ret = wasm.geoidgrid_ellipsoidalHeightRad(this.__wbg_ptr, orthometric_height_m, lat_rad, lon_rad);
4441
+ return ret;
4442
+ }
4443
+ /**
4444
+ * Parse an EGM96 `WW15MGH.DAC` byte buffer into a full-resolution grid.
4445
+ * @param {Uint8Array} bytes
4446
+ * @returns {GeoidGrid}
4447
+ */
4448
+ static fromEgm96Dac(bytes) {
4449
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
4450
+ const len0 = WASM_VECTOR_LEN;
4451
+ const ret = wasm.geoidgrid_fromEgm96Dac(ptr0, len0);
4452
+ if (ret[2]) {
4453
+ throw takeFromExternrefTable0(ret[1]);
4454
+ }
4455
+ return GeoidGrid.__wrap(ret[0]);
4456
+ }
3995
4457
  /**
3996
4458
  * Parse a grid from the documented whitespace-delimited text format (a
3997
4459
  * six-field header `lat_min lon_min dlat dlon n_lat n_lon` followed by
@@ -4035,6 +4497,28 @@ export class GeoidGrid {
4035
4497
  GeoidGridFinalization.register(this, this.__wbg_ptr, this);
4036
4498
  return this;
4037
4499
  }
4500
+ /**
4501
+ * Orthometric height from ellipsoidal height and degrees.
4502
+ * @param {number} ellipsoidal_height_m
4503
+ * @param {number} lat_deg
4504
+ * @param {number} lon_deg
4505
+ * @returns {number}
4506
+ */
4507
+ orthometricHeightDeg(ellipsoidal_height_m, lat_deg, lon_deg) {
4508
+ const ret = wasm.geoidgrid_orthometricHeightDeg(this.__wbg_ptr, ellipsoidal_height_m, lat_deg, lon_deg);
4509
+ return ret;
4510
+ }
4511
+ /**
4512
+ * Orthometric height from ellipsoidal height and radians.
4513
+ * @param {number} ellipsoidal_height_m
4514
+ * @param {number} lat_rad
4515
+ * @param {number} lon_rad
4516
+ * @returns {number}
4517
+ */
4518
+ orthometricHeightRad(ellipsoidal_height_m, lat_rad, lon_rad) {
4519
+ const ret = wasm.geoidgrid_orthometricHeightRad(this.__wbg_ptr, ellipsoidal_height_m, lat_rad, lon_rad);
4520
+ return ret;
4521
+ }
4038
4522
  /**
4039
4523
  * Bilinearly interpolated undulation `N` (metres) at a geodetic position in
4040
4524
  * degrees (latitude positive north, longitude positive east).
@@ -4057,6 +4541,38 @@ export class GeoidGrid {
4057
4541
  const ret = wasm.geoidgrid_undulationRad(this.__wbg_ptr, lat_rad, lon_rad);
4058
4542
  return ret;
4059
4543
  }
4544
+ /**
4545
+ * Batch undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
4546
+ * @param {Float64Array} points_deg
4547
+ * @returns {Float64Array}
4548
+ */
4549
+ undulationsDeg(points_deg) {
4550
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
4551
+ const len0 = WASM_VECTOR_LEN;
4552
+ const ret = wasm.geoidgrid_undulationsDeg(this.__wbg_ptr, ptr0, len0);
4553
+ if (ret[3]) {
4554
+ throw takeFromExternrefTable0(ret[2]);
4555
+ }
4556
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
4557
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
4558
+ return v2;
4559
+ }
4560
+ /**
4561
+ * Batch undulation lookup for flat `[latRad, lonRad, ...]` pairs.
4562
+ * @param {Float64Array} points_rad
4563
+ * @returns {Float64Array}
4564
+ */
4565
+ undulationsRad(points_rad) {
4566
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
4567
+ const len0 = WASM_VECTOR_LEN;
4568
+ const ret = wasm.geoidgrid_undulationsRad(this.__wbg_ptr, ptr0, len0);
4569
+ if (ret[3]) {
4570
+ throw takeFromExternrefTable0(ret[2]);
4571
+ }
4572
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
4573
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
4574
+ return v2;
4575
+ }
4060
4576
  }
4061
4577
  if (Symbol.dispose) GeoidGrid.prototype[Symbol.dispose] = GeoidGrid.prototype.free;
4062
4578
 
@@ -6563,77 +7079,341 @@ if (Symbol.dispose) NamedTle.prototype[Symbol.dispose] = NamedTle.prototype.free
6563
7079
 
6564
7080
  /**
6565
7081
  * Which supported RINEX NAV message a broadcast record carries.
6566
- * @enum {0 | 1 | 2 | 3 | 4}
7082
+ * @enum {0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8}
6567
7083
  */
6568
7084
  export const NavMessage = Object.freeze({
6569
7085
  /**
6570
7086
  * GPS legacy LNAV.
6571
7087
  */
6572
7088
  GpsLnav: 0, "0": "GpsLnav",
7089
+ /**
7090
+ * GPS CNAV.
7091
+ */
7092
+ GpsCnav: 1, "1": "GpsCnav",
7093
+ /**
7094
+ * GPS CNAV-2.
7095
+ */
7096
+ GpsCnav2: 2, "2": "GpsCnav2",
7097
+ /**
7098
+ * QZSS CNAV.
7099
+ */
7100
+ QzssCnav: 3, "3": "QzssCnav",
7101
+ /**
7102
+ * QZSS CNAV-2.
7103
+ */
7104
+ QzssCnav2: 4, "4": "QzssCnav2",
6573
7105
  /**
6574
7106
  * Galileo I/NAV.
6575
7107
  */
6576
- GalileoInav: 1, "1": "GalileoInav",
7108
+ GalileoInav: 5, "5": "GalileoInav",
6577
7109
  /**
6578
7110
  * Galileo F/NAV.
6579
7111
  */
6580
- GalileoFnav: 2, "2": "GalileoFnav",
7112
+ GalileoFnav: 6, "6": "GalileoFnav",
6581
7113
  /**
6582
7114
  * BeiDou D1.
6583
7115
  */
6584
- BeidouD1: 3, "3": "BeidouD1",
7116
+ BeidouD1: 7, "7": "BeidouD1",
6585
7117
  /**
6586
7118
  * BeiDou D2.
6587
7119
  */
6588
- BeidouD2: 4, "4": "BeidouD2",
7120
+ BeidouD2: 8, "8": "BeidouD2",
6589
7121
  });
6590
7122
 
6591
7123
  /**
6592
- * One RINEX OBS epoch. Observation values are read through `RinexObs` methods.
7124
+ * Streaming NMEA epoch accumulator.
6593
7125
  */
6594
- export class ObsEpoch {
6595
- static __wrap(ptr) {
6596
- const obj = Object.create(ObsEpoch.prototype);
6597
- obj.__wbg_ptr = ptr;
6598
- ObsEpochFinalization.register(obj, obj.__wbg_ptr, obj);
6599
- return obj;
6600
- }
7126
+ export class NmeaAccumulator {
6601
7127
  __destroy_into_raw() {
6602
7128
  const ptr = this.__wbg_ptr;
6603
7129
  this.__wbg_ptr = 0;
6604
- ObsEpochFinalization.unregister(this);
7130
+ NmeaAccumulatorFinalization.unregister(this);
6605
7131
  return ptr;
6606
7132
  }
6607
7133
  free() {
6608
7134
  const ptr = this.__destroy_into_raw();
6609
- wasm.__wbg_obsepoch_free(ptr, 0);
7135
+ wasm.__wbg_nmeaaccumulator_free(ptr, 0);
6610
7136
  }
6611
7137
  /**
6612
- * Civil epoch in the file time scale.
6613
- * @returns {ObsEpochTime}
7138
+ * @returns {any}
6614
7139
  */
6615
- get epoch() {
6616
- const ret = wasm.obsepoch_epoch(this.__wbg_ptr);
6617
- return ObsEpochTime.__wrap(ret);
7140
+ finish() {
7141
+ const ret = wasm.nmeaaccumulator_finish(this.__wbg_ptr);
7142
+ if (ret[2]) {
7143
+ throw takeFromExternrefTable0(ret[1]);
7144
+ }
7145
+ return takeFromExternrefTable0(ret[0]);
6618
7146
  }
6619
7147
  /**
6620
- * RINEX epoch flag. `0` is a normal observation epoch.
6621
- * @returns {number}
7148
+ * @param {any} options
6622
7149
  */
6623
- get flag() {
6624
- const ret = wasm.obsepoch_flag(this.__wbg_ptr);
6625
- return ret;
7150
+ constructor(options) {
7151
+ const ret = wasm.nmeaaccumulator_new(options);
7152
+ if (ret[2]) {
7153
+ throw takeFromExternrefTable0(ret[1]);
7154
+ }
7155
+ this.__wbg_ptr = ret[0];
7156
+ NmeaAccumulatorFinalization.register(this, this.__wbg_ptr, this);
7157
+ return this;
6626
7158
  }
6627
7159
  /**
6628
- * Number of satellites present at this epoch.
6629
- * @returns {number}
7160
+ * @param {Uint8Array} bytes
7161
+ * @returns {any}
6630
7162
  */
6631
- get satelliteCount() {
6632
- const ret = wasm.obsepoch_satelliteCount(this.__wbg_ptr);
6633
- return ret >>> 0;
6634
- }
6635
- /**
6636
- * Satellite tokens present at this epoch.
7163
+ push(bytes) {
7164
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
7165
+ const len0 = WASM_VECTOR_LEN;
7166
+ const ret = wasm.nmeaaccumulator_push(this.__wbg_ptr, ptr0, len0);
7167
+ if (ret[2]) {
7168
+ throw takeFromExternrefTable0(ret[1]);
7169
+ }
7170
+ return takeFromExternrefTable0(ret[0]);
7171
+ }
7172
+ /**
7173
+ * @returns {number}
7174
+ */
7175
+ get retainedLength() {
7176
+ const ret = wasm.nmeaaccumulator_retainedLength(this.__wbg_ptr);
7177
+ return ret >>> 0;
7178
+ }
7179
+ }
7180
+ if (Symbol.dispose) NmeaAccumulator.prototype[Symbol.dispose] = NmeaAccumulator.prototype.free;
7181
+
7182
+ /**
7183
+ * Parsed NMEA log.
7184
+ */
7185
+ export class NmeaParseResult {
7186
+ static __wrap(ptr) {
7187
+ const obj = Object.create(NmeaParseResult.prototype);
7188
+ obj.__wbg_ptr = ptr;
7189
+ NmeaParseResultFinalization.register(obj, obj.__wbg_ptr, obj);
7190
+ return obj;
7191
+ }
7192
+ __destroy_into_raw() {
7193
+ const ptr = this.__wbg_ptr;
7194
+ this.__wbg_ptr = 0;
7195
+ NmeaParseResultFinalization.unregister(this);
7196
+ return ptr;
7197
+ }
7198
+ free() {
7199
+ const ptr = this.__destroy_into_raw();
7200
+ wasm.__wbg_nmeaparseresult_free(ptr, 0);
7201
+ }
7202
+ /**
7203
+ * @returns {any}
7204
+ */
7205
+ get diagnostics() {
7206
+ const ret = wasm.nmeaparseresult_diagnostics(this.__wbg_ptr);
7207
+ if (ret[2]) {
7208
+ throw takeFromExternrefTable0(ret[1]);
7209
+ }
7210
+ return takeFromExternrefTable0(ret[0]);
7211
+ }
7212
+ /**
7213
+ * @returns {number}
7214
+ */
7215
+ get epochCount() {
7216
+ const ret = wasm.nmeaparseresult_epochCount(this.__wbg_ptr);
7217
+ return ret >>> 0;
7218
+ }
7219
+ /**
7220
+ * @returns {any}
7221
+ */
7222
+ get epochs() {
7223
+ const ret = wasm.nmeaparseresult_epochs(this.__wbg_ptr);
7224
+ if (ret[2]) {
7225
+ throw takeFromExternrefTable0(ret[1]);
7226
+ }
7227
+ return takeFromExternrefTable0(ret[0]);
7228
+ }
7229
+ /**
7230
+ * @returns {number}
7231
+ */
7232
+ get sentenceCount() {
7233
+ const ret = wasm.nmeaparseresult_sentenceCount(this.__wbg_ptr);
7234
+ return ret >>> 0;
7235
+ }
7236
+ /**
7237
+ * @returns {any}
7238
+ */
7239
+ get sentences() {
7240
+ const ret = wasm.nmeaparseresult_sentences(this.__wbg_ptr);
7241
+ if (ret[2]) {
7242
+ throw takeFromExternrefTable0(ret[1]);
7243
+ }
7244
+ return takeFromExternrefTable0(ret[0]);
7245
+ }
7246
+ }
7247
+ if (Symbol.dispose) NmeaParseResult.prototype[Symbol.dispose] = NmeaParseResult.prototype.free;
7248
+
7249
+ /**
7250
+ * Sans-IO NTRIP client state machine.
7251
+ */
7252
+ export class NtripClientMachine {
7253
+ __destroy_into_raw() {
7254
+ const ptr = this.__wbg_ptr;
7255
+ this.__wbg_ptr = 0;
7256
+ NtripClientMachineFinalization.unregister(this);
7257
+ return ptr;
7258
+ }
7259
+ free() {
7260
+ const ptr = this.__destroy_into_raw();
7261
+ wasm.__wbg_ntripclientmachine_free(ptr, 0);
7262
+ }
7263
+ /**
7264
+ * @returns {Uint8Array}
7265
+ */
7266
+ connectionRequest() {
7267
+ const ret = wasm.ntripclientmachine_connectionRequest(this.__wbg_ptr);
7268
+ if (ret[3]) {
7269
+ throw takeFromExternrefTable0(ret[2]);
7270
+ }
7271
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
7272
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
7273
+ return v1;
7274
+ }
7275
+ /**
7276
+ * @returns {any}
7277
+ */
7278
+ finish() {
7279
+ const ret = wasm.ntripclientmachine_finish(this.__wbg_ptr);
7280
+ if (ret[2]) {
7281
+ throw takeFromExternrefTable0(ret[1]);
7282
+ }
7283
+ return takeFromExternrefTable0(ret[0]);
7284
+ }
7285
+ /**
7286
+ * @param {number} now_s
7287
+ * @param {any} position
7288
+ * @param {number} utc_seconds_of_day
7289
+ * @returns {any}
7290
+ */
7291
+ ggaMessage(now_s, position, utc_seconds_of_day) {
7292
+ const ret = wasm.ntripclientmachine_ggaMessage(this.__wbg_ptr, now_s, position, utc_seconds_of_day);
7293
+ if (ret[2]) {
7294
+ throw takeFromExternrefTable0(ret[1]);
7295
+ }
7296
+ return takeFromExternrefTable0(ret[0]);
7297
+ }
7298
+ /**
7299
+ * @param {any} config
7300
+ */
7301
+ constructor(config) {
7302
+ const ret = wasm.ntripclientmachine_new(config);
7303
+ if (ret[2]) {
7304
+ throw takeFromExternrefTable0(ret[1]);
7305
+ }
7306
+ this.__wbg_ptr = ret[0];
7307
+ NtripClientMachineFinalization.register(this, this.__wbg_ptr, this);
7308
+ return this;
7309
+ }
7310
+ /**
7311
+ * @param {Uint8Array} bytes
7312
+ * @returns {any}
7313
+ */
7314
+ push(bytes) {
7315
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
7316
+ const len0 = WASM_VECTOR_LEN;
7317
+ const ret = wasm.ntripclientmachine_push(this.__wbg_ptr, ptr0, len0);
7318
+ if (ret[2]) {
7319
+ throw takeFromExternrefTable0(ret[1]);
7320
+ }
7321
+ return takeFromExternrefTable0(ret[0]);
7322
+ }
7323
+ reset() {
7324
+ wasm.ntripclientmachine_reset(this.__wbg_ptr);
7325
+ }
7326
+ /**
7327
+ * @returns {NtripState}
7328
+ */
7329
+ get state() {
7330
+ const ret = wasm.ntripclientmachine_state(this.__wbg_ptr);
7331
+ return ret;
7332
+ }
7333
+ /**
7334
+ * @returns {string}
7335
+ */
7336
+ get stateLabel() {
7337
+ let deferred1_0;
7338
+ let deferred1_1;
7339
+ try {
7340
+ const ret = wasm.ntripclientmachine_stateLabel(this.__wbg_ptr);
7341
+ deferred1_0 = ret[0];
7342
+ deferred1_1 = ret[1];
7343
+ return getStringFromWasm0(ret[0], ret[1]);
7344
+ } finally {
7345
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
7346
+ }
7347
+ }
7348
+ }
7349
+ if (Symbol.dispose) NtripClientMachine.prototype[Symbol.dispose] = NtripClientMachine.prototype.free;
7350
+
7351
+ /**
7352
+ * @enum {0 | 1 | 2 | 3 | 4 | 5}
7353
+ */
7354
+ export const NtripState = Object.freeze({
7355
+ Idle: 0, "0": "Idle",
7356
+ AwaitingStatus: 1, "1": "AwaitingStatus",
7357
+ AwaitingHeaders: 2, "2": "AwaitingHeaders",
7358
+ Streaming: 3, "3": "Streaming",
7359
+ Sourcetable: 4, "4": "Sourcetable",
7360
+ Closed: 5, "5": "Closed",
7361
+ });
7362
+
7363
+ /**
7364
+ * @enum {0 | 1}
7365
+ */
7366
+ export const NtripVersion = Object.freeze({
7367
+ Rev1: 0, "0": "Rev1",
7368
+ Rev2: 1, "1": "Rev2",
7369
+ });
7370
+
7371
+ /**
7372
+ * One RINEX OBS epoch. Observation values are read through `RinexObs` methods.
7373
+ */
7374
+ export class ObsEpoch {
7375
+ static __wrap(ptr) {
7376
+ const obj = Object.create(ObsEpoch.prototype);
7377
+ obj.__wbg_ptr = ptr;
7378
+ ObsEpochFinalization.register(obj, obj.__wbg_ptr, obj);
7379
+ return obj;
7380
+ }
7381
+ __destroy_into_raw() {
7382
+ const ptr = this.__wbg_ptr;
7383
+ this.__wbg_ptr = 0;
7384
+ ObsEpochFinalization.unregister(this);
7385
+ return ptr;
7386
+ }
7387
+ free() {
7388
+ const ptr = this.__destroy_into_raw();
7389
+ wasm.__wbg_obsepoch_free(ptr, 0);
7390
+ }
7391
+ /**
7392
+ * Civil epoch in the file time scale.
7393
+ * @returns {ObsEpochTime}
7394
+ */
7395
+ get epoch() {
7396
+ const ret = wasm.obsepoch_epoch(this.__wbg_ptr);
7397
+ return ObsEpochTime.__wrap(ret);
7398
+ }
7399
+ /**
7400
+ * RINEX epoch flag. `0` is a normal observation epoch.
7401
+ * @returns {number}
7402
+ */
7403
+ get flag() {
7404
+ const ret = wasm.obsepoch_flag(this.__wbg_ptr);
7405
+ return ret;
7406
+ }
7407
+ /**
7408
+ * Number of satellites present at this epoch.
7409
+ * @returns {number}
7410
+ */
7411
+ get satelliteCount() {
7412
+ const ret = wasm.obsepoch_satelliteCount(this.__wbg_ptr);
7413
+ return ret >>> 0;
7414
+ }
7415
+ /**
7416
+ * Satellite tokens present at this epoch.
6637
7417
  * @returns {string[]}
6638
7418
  */
6639
7419
  get satellites() {
@@ -6988,6 +7768,224 @@ export const ObservationKind = Object.freeze({
6988
7768
  Unknown: 4, "4": "Unknown",
6989
7769
  });
6990
7770
 
7771
+ /**
7772
+ * Aggregate observation QC report.
7773
+ */
7774
+ export class ObservationQcReport {
7775
+ static __wrap(ptr) {
7776
+ const obj = Object.create(ObservationQcReport.prototype);
7777
+ obj.__wbg_ptr = ptr;
7778
+ ObservationQcReportFinalization.register(obj, obj.__wbg_ptr, obj);
7779
+ return obj;
7780
+ }
7781
+ __destroy_into_raw() {
7782
+ const ptr = this.__wbg_ptr;
7783
+ this.__wbg_ptr = 0;
7784
+ ObservationQcReportFinalization.unregister(this);
7785
+ return ptr;
7786
+ }
7787
+ free() {
7788
+ const ptr = this.__destroy_into_raw();
7789
+ wasm.__wbg_observationqcreport_free(ptr, 0);
7790
+ }
7791
+ /**
7792
+ * @returns {any}
7793
+ */
7794
+ get clockJumps() {
7795
+ const ret = wasm.observationqcreport_clockJumps(this.__wbg_ptr);
7796
+ if (ret[2]) {
7797
+ throw takeFromExternrefTable0(ret[1]);
7798
+ }
7799
+ return takeFromExternrefTable0(ret[0]);
7800
+ }
7801
+ /**
7802
+ * @returns {any}
7803
+ */
7804
+ get cycleSlips() {
7805
+ const ret = wasm.observationqcreport_cycleSlips(this.__wbg_ptr);
7806
+ if (ret[2]) {
7807
+ throw takeFromExternrefTable0(ret[1]);
7808
+ }
7809
+ return takeFromExternrefTable0(ret[0]);
7810
+ }
7811
+ /**
7812
+ * @returns {any}
7813
+ */
7814
+ get dataGaps() {
7815
+ const ret = wasm.observationqcreport_dataGaps(this.__wbg_ptr);
7816
+ if (ret[2]) {
7817
+ throw takeFromExternrefTable0(ret[1]);
7818
+ }
7819
+ return takeFromExternrefTable0(ret[0]);
7820
+ }
7821
+ /**
7822
+ * @returns {number}
7823
+ */
7824
+ get eventRecords() {
7825
+ const ret = wasm.observationqcreport_eventRecords(this.__wbg_ptr);
7826
+ return ret >>> 0;
7827
+ }
7828
+ /**
7829
+ * @returns {number | undefined}
7830
+ */
7831
+ get intervalS() {
7832
+ const ret = wasm.observationqcreport_intervalS(this.__wbg_ptr);
7833
+ return ret[0] === 0 ? undefined : ret[1];
7834
+ }
7835
+ /**
7836
+ * @returns {string}
7837
+ */
7838
+ get intervalSource() {
7839
+ let deferred1_0;
7840
+ let deferred1_1;
7841
+ try {
7842
+ const ret = wasm.observationqcreport_intervalSource(this.__wbg_ptr);
7843
+ deferred1_0 = ret[0];
7844
+ deferred1_1 = ret[1];
7845
+ return getStringFromWasm0(ret[0], ret[1]);
7846
+ } finally {
7847
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
7848
+ }
7849
+ }
7850
+ /**
7851
+ * @returns {number}
7852
+ */
7853
+ get missingEpochs() {
7854
+ const ret = wasm.observationqcreport_missingEpochs(this.__wbg_ptr);
7855
+ return ret >>> 0;
7856
+ }
7857
+ /**
7858
+ * @returns {any}
7859
+ */
7860
+ get multipath() {
7861
+ const ret = wasm.observationqcreport_multipath(this.__wbg_ptr);
7862
+ if (ret[2]) {
7863
+ throw takeFromExternrefTable0(ret[1]);
7864
+ }
7865
+ return takeFromExternrefTable0(ret[0]);
7866
+ }
7867
+ /**
7868
+ * @returns {any}
7869
+ */
7870
+ get notes() {
7871
+ const ret = wasm.observationqcreport_notes(this.__wbg_ptr);
7872
+ if (ret[2]) {
7873
+ throw takeFromExternrefTable0(ret[1]);
7874
+ }
7875
+ return takeFromExternrefTable0(ret[0]);
7876
+ }
7877
+ /**
7878
+ * @returns {number}
7879
+ */
7880
+ get observationEpochs() {
7881
+ const ret = wasm.observationqcreport_observationEpochs(this.__wbg_ptr);
7882
+ return ret >>> 0;
7883
+ }
7884
+ /**
7885
+ * @returns {number}
7886
+ */
7887
+ get powerFailureEpochs() {
7888
+ const ret = wasm.observationqcreport_powerFailureEpochs(this.__wbg_ptr);
7889
+ return ret >>> 0;
7890
+ }
7891
+ /**
7892
+ * @returns {string}
7893
+ */
7894
+ renderHtml() {
7895
+ let deferred1_0;
7896
+ let deferred1_1;
7897
+ try {
7898
+ const ret = wasm.observationqcreport_renderHtml(this.__wbg_ptr);
7899
+ deferred1_0 = ret[0];
7900
+ deferred1_1 = ret[1];
7901
+ return getStringFromWasm0(ret[0], ret[1]);
7902
+ } finally {
7903
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
7904
+ }
7905
+ }
7906
+ /**
7907
+ * @returns {string}
7908
+ */
7909
+ renderText() {
7910
+ let deferred1_0;
7911
+ let deferred1_1;
7912
+ try {
7913
+ const ret = wasm.observationqcreport_renderText(this.__wbg_ptr);
7914
+ deferred1_0 = ret[0];
7915
+ deferred1_1 = ret[1];
7916
+ return getStringFromWasm0(ret[0], ret[1]);
7917
+ } finally {
7918
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
7919
+ }
7920
+ }
7921
+ /**
7922
+ * @returns {any}
7923
+ */
7924
+ get satelliteSignals() {
7925
+ const ret = wasm.observationqcreport_satelliteSignals(this.__wbg_ptr);
7926
+ if (ret[2]) {
7927
+ throw takeFromExternrefTable0(ret[1]);
7928
+ }
7929
+ return takeFromExternrefTable0(ret[0]);
7930
+ }
7931
+ /**
7932
+ * @returns {any}
7933
+ */
7934
+ get satellites() {
7935
+ const ret = wasm.observationqcreport_satellites(this.__wbg_ptr);
7936
+ if (ret[2]) {
7937
+ throw takeFromExternrefTable0(ret[1]);
7938
+ }
7939
+ return takeFromExternrefTable0(ret[0]);
7940
+ }
7941
+ /**
7942
+ * @returns {number}
7943
+ */
7944
+ get skippedRecords() {
7945
+ const ret = wasm.observationqcreport_skippedRecords(this.__wbg_ptr);
7946
+ return ret >>> 0;
7947
+ }
7948
+ /**
7949
+ * @returns {any}
7950
+ */
7951
+ get systemSignals() {
7952
+ const ret = wasm.observationqcreport_systemSignals(this.__wbg_ptr);
7953
+ if (ret[2]) {
7954
+ throw takeFromExternrefTable0(ret[1]);
7955
+ }
7956
+ return takeFromExternrefTable0(ret[0]);
7957
+ }
7958
+ /**
7959
+ * @returns {string}
7960
+ */
7961
+ toJson() {
7962
+ let deferred2_0;
7963
+ let deferred2_1;
7964
+ try {
7965
+ const ret = wasm.observationqcreport_toJson(this.__wbg_ptr);
7966
+ var ptr1 = ret[0];
7967
+ var len1 = ret[1];
7968
+ if (ret[3]) {
7969
+ ptr1 = 0; len1 = 0;
7970
+ throw takeFromExternrefTable0(ret[2]);
7971
+ }
7972
+ deferred2_0 = ptr1;
7973
+ deferred2_1 = len1;
7974
+ return getStringFromWasm0(ptr1, len1);
7975
+ } finally {
7976
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
7977
+ }
7978
+ }
7979
+ /**
7980
+ * @returns {number}
7981
+ */
7982
+ get totalEpochRecords() {
7983
+ const ret = wasm.observationqcreport_totalEpochRecords(this.__wbg_ptr);
7984
+ return ret >>> 0;
7985
+ }
7986
+ }
7987
+ if (Symbol.dispose) ObservationQcReport.prototype[Symbol.dispose] = ObservationQcReport.prototype.free;
7988
+
6991
7989
  /**
6992
7990
  * Flattened raw observation rows from one RINEX OBS epoch. Numeric arrays are
6993
7991
  * row-aligned with `satellites`, `codes`, and `kinds`; blank RINEX values, LLI,
@@ -8083,6 +9081,14 @@ export class OmmEpoch {
8083
9081
  const ret = wasm.ommepoch_day(this.__wbg_ptr);
8084
9082
  return ret >>> 0;
8085
9083
  }
9084
+ /**
9085
+ * Femtosecond remainder within the microsecond.
9086
+ * @returns {number}
9087
+ */
9088
+ get femtosecond() {
9089
+ const ret = wasm.ommepoch_femtosecond(this.__wbg_ptr);
9090
+ return ret >>> 0;
9091
+ }
8086
9092
  /**
8087
9093
  * Hour of day.
8088
9094
  * @returns {number}
@@ -8141,9 +9147,10 @@ export class OmmEpoch {
8141
9147
  * @param {number} minute
8142
9148
  * @param {number} second
8143
9149
  * @param {number} microsecond
9150
+ * @param {number | null} [femtosecond]
8144
9151
  */
8145
- constructor(year, month, day, hour, minute, second, microsecond) {
8146
- const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond);
9152
+ constructor(year, month, day, hour, minute, second, microsecond, femtosecond) {
9153
+ const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond, isLikeNone(femtosecond) ? Number.MAX_SAFE_INTEGER : (femtosecond) >>> 0);
8147
9154
  if (ret[2]) {
8148
9155
  throw takeFromExternrefTable0(ret[1]);
8149
9156
  }
@@ -10225,44 +11232,125 @@ export class RinexClock {
10225
11232
  * Satellite tokens with at least one parsed `AS` clock sample.
10226
11233
  * @returns {string[]}
10227
11234
  */
10228
- get satellites() {
10229
- const ret = wasm.rinexclock_satellites(this.__wbg_ptr);
10230
- var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
10231
- wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10232
- return v1;
11235
+ get satellites() {
11236
+ const ret = wasm.rinexclock_satellites(this.__wbg_ptr);
11237
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11238
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11239
+ return v1;
11240
+ }
11241
+ /**
11242
+ * Per-satellite clock-bias series in satellite sort order.
11243
+ * @returns {ClockSeries[]}
11244
+ */
11245
+ get series() {
11246
+ const ret = wasm.rinexclock_series(this.__wbg_ptr);
11247
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11248
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11249
+ return v1;
11250
+ }
11251
+ /**
11252
+ * One satellite's clock series, or `undefined` if the satellite is absent.
11253
+ * @param {string} satellite_id
11254
+ * @returns {ClockSeries | undefined}
11255
+ */
11256
+ seriesFor(satellite_id) {
11257
+ const ptr0 = passStringToWasm0(satellite_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
11258
+ const len0 = WASM_VECTOR_LEN;
11259
+ const ret = wasm.rinexclock_seriesFor(this.__wbg_ptr, ptr0, len0);
11260
+ return ret === 0 ? undefined : ClockSeries.__wrap(ret);
11261
+ }
11262
+ /**
11263
+ * Serialize to standard RINEX clock text. Deterministic: the same product
11264
+ * always produces byte-identical text, and re-parsing the output reproduces
11265
+ * the same time scale and per-satellite bias series.
11266
+ * @returns {string}
11267
+ */
11268
+ toRinexString() {
11269
+ let deferred1_0;
11270
+ let deferred1_1;
11271
+ try {
11272
+ const ret = wasm.rinexclock_toRinexString(this.__wbg_ptr);
11273
+ deferred1_0 = ret[0];
11274
+ deferred1_1 = ret[1];
11275
+ return getStringFromWasm0(ret[0], ret[1]);
11276
+ } finally {
11277
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11278
+ }
11279
+ }
11280
+ }
11281
+ if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
11282
+
11283
+ /**
11284
+ * Navigation repair result.
11285
+ */
11286
+ export class RinexNavRepair {
11287
+ static __wrap(ptr) {
11288
+ const obj = Object.create(RinexNavRepair.prototype);
11289
+ obj.__wbg_ptr = ptr;
11290
+ RinexNavRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11291
+ return obj;
11292
+ }
11293
+ __destroy_into_raw() {
11294
+ const ptr = this.__wbg_ptr;
11295
+ this.__wbg_ptr = 0;
11296
+ RinexNavRepairFinalization.unregister(this);
11297
+ return ptr;
11298
+ }
11299
+ free() {
11300
+ const ptr = this.__destroy_into_raw();
11301
+ wasm.__wbg_rinexnavrepair_free(ptr, 0);
11302
+ }
11303
+ /**
11304
+ * @returns {any}
11305
+ */
11306
+ get actions() {
11307
+ const ret = wasm.rinexnavrepair_actions(this.__wbg_ptr);
11308
+ if (ret[2]) {
11309
+ throw takeFromExternrefTable0(ret[1]);
11310
+ }
11311
+ return takeFromExternrefTable0(ret[0]);
11312
+ }
11313
+ /**
11314
+ * @returns {IonoCorrectionsJs | undefined}
11315
+ */
11316
+ get iono() {
11317
+ const ret = wasm.rinexnavrepair_iono(this.__wbg_ptr);
11318
+ return ret === 0 ? undefined : IonoCorrectionsJs.__wrap(ret);
11319
+ }
11320
+ /**
11321
+ * @returns {number | undefined}
11322
+ */
11323
+ get leapSeconds() {
11324
+ const ret = wasm.rinexnavrepair_leapSeconds(this.__wbg_ptr);
11325
+ return ret[0] === 0 ? undefined : ret[1];
10233
11326
  }
10234
11327
  /**
10235
- * Per-satellite clock-bias series in satellite sort order.
10236
- * @returns {ClockSeries[]}
11328
+ * @returns {BroadcastRecordJs[]}
10237
11329
  */
10238
- get series() {
10239
- const ret = wasm.rinexclock_series(this.__wbg_ptr);
11330
+ get records() {
11331
+ const ret = wasm.rinexnavrepair_records(this.__wbg_ptr);
10240
11332
  var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
10241
11333
  wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
10242
11334
  return v1;
10243
11335
  }
10244
11336
  /**
10245
- * One satellite's clock series, or `undefined` if the satellite is absent.
10246
- * @param {string} satellite_id
10247
- * @returns {ClockSeries | undefined}
11337
+ * @returns {any}
10248
11338
  */
10249
- seriesFor(satellite_id) {
10250
- const ptr0 = passStringToWasm0(satellite_id, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
10251
- const len0 = WASM_VECTOR_LEN;
10252
- const ret = wasm.rinexclock_seriesFor(this.__wbg_ptr, ptr0, len0);
10253
- return ret === 0 ? undefined : ClockSeries.__wrap(ret);
11339
+ get remaining() {
11340
+ const ret = wasm.rinexnavrepair_remaining(this.__wbg_ptr);
11341
+ if (ret[2]) {
11342
+ throw takeFromExternrefTable0(ret[1]);
11343
+ }
11344
+ return takeFromExternrefTable0(ret[0]);
10254
11345
  }
10255
11346
  /**
10256
- * Serialize to standard RINEX clock text. Deterministic: the same product
10257
- * always produces byte-identical text, and re-parsing the output reproduces
10258
- * the same time scale and per-satellite bias series.
10259
11347
  * @returns {string}
10260
11348
  */
10261
- toRinexString() {
11349
+ get repairedText() {
10262
11350
  let deferred1_0;
10263
11351
  let deferred1_1;
10264
11352
  try {
10265
- const ret = wasm.rinexclock_toRinexString(this.__wbg_ptr);
11353
+ const ret = wasm.rinexnavrepair_repairedText(this.__wbg_ptr);
10266
11354
  deferred1_0 = ret[0];
10267
11355
  deferred1_1 = ret[1];
10268
11356
  return getStringFromWasm0(ret[0], ret[1]);
@@ -10271,7 +11359,7 @@ export class RinexClock {
10271
11359
  }
10272
11360
  }
10273
11361
  }
10274
- if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
11362
+ if (Symbol.dispose) RinexNavRepair.prototype[Symbol.dispose] = RinexNavRepair.prototype.free;
10275
11363
 
10276
11364
  /**
10277
11365
  * A parsed RINEX 3/4 observation file.
@@ -10417,6 +11505,143 @@ export class RinexObs {
10417
11505
  }
10418
11506
  if (Symbol.dispose) RinexObs.prototype[Symbol.dispose] = RinexObs.prototype.free;
10419
11507
 
11508
+ /**
11509
+ * Observation repair result.
11510
+ */
11511
+ export class RinexObsRepair {
11512
+ static __wrap(ptr) {
11513
+ const obj = Object.create(RinexObsRepair.prototype);
11514
+ obj.__wbg_ptr = ptr;
11515
+ RinexObsRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11516
+ return obj;
11517
+ }
11518
+ __destroy_into_raw() {
11519
+ const ptr = this.__wbg_ptr;
11520
+ this.__wbg_ptr = 0;
11521
+ RinexObsRepairFinalization.unregister(this);
11522
+ return ptr;
11523
+ }
11524
+ free() {
11525
+ const ptr = this.__destroy_into_raw();
11526
+ wasm.__wbg_rinexobsrepair_free(ptr, 0);
11527
+ }
11528
+ /**
11529
+ * @returns {any}
11530
+ */
11531
+ get actions() {
11532
+ const ret = wasm.rinexobsrepair_actions(this.__wbg_ptr);
11533
+ if (ret[2]) {
11534
+ throw takeFromExternrefTable0(ret[1]);
11535
+ }
11536
+ return takeFromExternrefTable0(ret[0]);
11537
+ }
11538
+ /**
11539
+ * @returns {boolean}
11540
+ */
11541
+ get decodedFromCrinex() {
11542
+ const ret = wasm.rinexobsrepair_decodedFromCrinex(this.__wbg_ptr);
11543
+ return ret !== 0;
11544
+ }
11545
+ /**
11546
+ * @returns {any}
11547
+ */
11548
+ get remaining() {
11549
+ const ret = wasm.rinexobsrepair_remaining(this.__wbg_ptr);
11550
+ if (ret[2]) {
11551
+ throw takeFromExternrefTable0(ret[1]);
11552
+ }
11553
+ return takeFromExternrefTable0(ret[0]);
11554
+ }
11555
+ /**
11556
+ * @returns {RinexObs}
11557
+ */
11558
+ get repaired() {
11559
+ const ret = wasm.rinexobsrepair_repaired(this.__wbg_ptr);
11560
+ return RinexObs.__wrap(ret);
11561
+ }
11562
+ /**
11563
+ * @returns {string}
11564
+ */
11565
+ get repairedText() {
11566
+ let deferred1_0;
11567
+ let deferred1_1;
11568
+ try {
11569
+ const ret = wasm.rinexobsrepair_repairedText(this.__wbg_ptr);
11570
+ deferred1_0 = ret[0];
11571
+ deferred1_1 = ret[1];
11572
+ return getStringFromWasm0(ret[0], ret[1]);
11573
+ } finally {
11574
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11575
+ }
11576
+ }
11577
+ /**
11578
+ * @returns {string}
11579
+ */
11580
+ toCrinexString() {
11581
+ let deferred2_0;
11582
+ let deferred2_1;
11583
+ try {
11584
+ const ret = wasm.rinexobsrepair_toCrinexString(this.__wbg_ptr);
11585
+ var ptr1 = ret[0];
11586
+ var len1 = ret[1];
11587
+ if (ret[3]) {
11588
+ ptr1 = 0; len1 = 0;
11589
+ throw takeFromExternrefTable0(ret[2]);
11590
+ }
11591
+ deferred2_0 = ptr1;
11592
+ deferred2_1 = len1;
11593
+ return getStringFromWasm0(ptr1, len1);
11594
+ } finally {
11595
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
11596
+ }
11597
+ }
11598
+ }
11599
+ if (Symbol.dispose) RinexObsRepair.prototype[Symbol.dispose] = RinexObsRepair.prototype.free;
11600
+
11601
+ /**
11602
+ * Stateful MSM lock-time tracker for deriving RINEX LLI continuity bits.
11603
+ */
11604
+ export class RtcmLockTimeTracker {
11605
+ __destroy_into_raw() {
11606
+ const ptr = this.__wbg_ptr;
11607
+ this.__wbg_ptr = 0;
11608
+ RtcmLockTimeTrackerFinalization.unregister(this);
11609
+ return ptr;
11610
+ }
11611
+ free() {
11612
+ const ptr = this.__destroy_into_raw();
11613
+ wasm.__wbg_rtcmlocktimetracker_free(ptr, 0);
11614
+ }
11615
+ /**
11616
+ * Build an empty tracker.
11617
+ */
11618
+ constructor() {
11619
+ const ret = wasm.rtcmlocktimetracker_new();
11620
+ this.__wbg_ptr = ret;
11621
+ RtcmLockTimeTrackerFinalization.register(this, this.__wbg_ptr, this);
11622
+ return this;
11623
+ }
11624
+ /**
11625
+ * Derive LLI rows for one decoded MSM message object and advance state.
11626
+ * @param {any} message
11627
+ * @returns {any}
11628
+ */
11629
+ observe(message) {
11630
+ const ret = wasm.rtcmlocktimetracker_observe(this.__wbg_ptr, message);
11631
+ if (ret[2]) {
11632
+ throw takeFromExternrefTable0(ret[1]);
11633
+ }
11634
+ return takeFromExternrefTable0(ret[0]);
11635
+ }
11636
+ /**
11637
+ * Drop all per-cell lock history.
11638
+ */
11639
+ reset() {
11640
+ wasm.rtcmlocktimetracker_reset(this.__wbg_ptr);
11641
+ }
11642
+ }
11643
+ if (Symbol.dispose) RtcmLockTimeTracker.prototype[Symbol.dispose] = RtcmLockTimeTracker.prototype.free;
11644
+
10420
11645
  /**
10421
11646
  * Validated fixed RTK baseline solution.
10422
11647
  */
@@ -11823,86 +13048,242 @@ export class SpaceWeather {
11823
13048
  /**
11824
13049
  * @returns {number}
11825
13050
  */
11826
- get ap() {
11827
- const ret = wasm.spaceweather_ap(this.__wbg_ptr);
11828
- return ret;
13051
+ get ap() {
13052
+ const ret = wasm.spaceweather_ap(this.__wbg_ptr);
13053
+ return ret;
13054
+ }
13055
+ /**
13056
+ * @returns {number}
13057
+ */
13058
+ get f107() {
13059
+ const ret = wasm.spaceweather_f107(this.__wbg_ptr);
13060
+ return ret;
13061
+ }
13062
+ /**
13063
+ * @returns {number}
13064
+ */
13065
+ get f107a() {
13066
+ const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
13067
+ return ret;
13068
+ }
13069
+ /**
13070
+ * @param {number | null} [f107]
13071
+ * @param {number | null} [f107a]
13072
+ * @param {number | null} [ap]
13073
+ */
13074
+ constructor(f107, f107a, ap) {
13075
+ const ret = wasm.spaceweather_new(!isLikeNone(f107), isLikeNone(f107) ? 0 : f107, !isLikeNone(f107a), isLikeNone(f107a) ? 0 : f107a, !isLikeNone(ap), isLikeNone(ap) ? 0 : ap);
13076
+ this.__wbg_ptr = ret;
13077
+ SpaceWeatherFinalization.register(this, this.__wbg_ptr, this);
13078
+ return this;
13079
+ }
13080
+ }
13081
+ if (Symbol.dispose) SpaceWeather.prototype[Symbol.dispose] = SpaceWeather.prototype.free;
13082
+
13083
+ /**
13084
+ * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
13085
+ * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
13086
+ * without re-deriving the magic numbers.
13087
+ */
13088
+ export class SpaceWeatherDefaults {
13089
+ static __wrap(ptr) {
13090
+ const obj = Object.create(SpaceWeatherDefaults.prototype);
13091
+ obj.__wbg_ptr = ptr;
13092
+ SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
13093
+ return obj;
13094
+ }
13095
+ __destroy_into_raw() {
13096
+ const ptr = this.__wbg_ptr;
13097
+ this.__wbg_ptr = 0;
13098
+ SpaceWeatherDefaultsFinalization.unregister(this);
13099
+ return ptr;
13100
+ }
13101
+ free() {
13102
+ const ptr = this.__destroy_into_raw();
13103
+ wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
13104
+ }
13105
+ /**
13106
+ * Daily magnetic Ap index.
13107
+ * @returns {number}
13108
+ */
13109
+ get ap() {
13110
+ const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
13111
+ return ret;
13112
+ }
13113
+ /**
13114
+ * Daily F10.7 solar radio flux.
13115
+ * @returns {number}
13116
+ */
13117
+ get f107() {
13118
+ const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
13119
+ return ret;
13120
+ }
13121
+ /**
13122
+ * 81-day centred F10.7 average.
13123
+ * @returns {number}
13124
+ */
13125
+ get f107a() {
13126
+ const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
13127
+ return ret;
13128
+ }
13129
+ }
13130
+ if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
13131
+
13132
+ /**
13133
+ * Parsed CelesTrak CSSI space-weather table.
13134
+ */
13135
+ export class SpaceWeatherTable {
13136
+ static __wrap(ptr) {
13137
+ const obj = Object.create(SpaceWeatherTable.prototype);
13138
+ obj.__wbg_ptr = ptr;
13139
+ SpaceWeatherTableFinalization.register(obj, obj.__wbg_ptr, obj);
13140
+ return obj;
13141
+ }
13142
+ __destroy_into_raw() {
13143
+ const ptr = this.__wbg_ptr;
13144
+ this.__wbg_ptr = 0;
13145
+ SpaceWeatherTableFinalization.unregister(this);
13146
+ return ptr;
13147
+ }
13148
+ free() {
13149
+ const ptr = this.__destroy_into_raw();
13150
+ wasm.__wbg_spaceweathertable_free(ptr, 0);
13151
+ }
13152
+ /**
13153
+ * @param {number} epoch_j2000_s
13154
+ * @returns {Float64Array}
13155
+ */
13156
+ apArrayAt(epoch_j2000_s) {
13157
+ const ret = wasm.spaceweathertable_apArrayAt(this.__wbg_ptr, epoch_j2000_s);
13158
+ if (ret[3]) {
13159
+ throw takeFromExternrefTable0(ret[2]);
13160
+ }
13161
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
13162
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
13163
+ return v1;
13164
+ }
13165
+ /**
13166
+ * @returns {any}
13167
+ */
13168
+ get coverage() {
13169
+ const ret = wasm.spaceweathertable_coverage(this.__wbg_ptr);
13170
+ if (ret[2]) {
13171
+ throw takeFromExternrefTable0(ret[1]);
13172
+ }
13173
+ return takeFromExternrefTable0(ret[0]);
13174
+ }
13175
+ /**
13176
+ * @param {number} year
13177
+ * @param {number} month
13178
+ * @param {number} day
13179
+ * @returns {any}
13180
+ */
13181
+ day(year, month, day) {
13182
+ const ret = wasm.spaceweathertable_day(this.__wbg_ptr, year, month, day);
13183
+ if (ret[2]) {
13184
+ throw takeFromExternrefTable0(ret[1]);
13185
+ }
13186
+ return takeFromExternrefTable0(ret[0]);
13187
+ }
13188
+ /**
13189
+ * @returns {number}
13190
+ */
13191
+ get dayCount() {
13192
+ const ret = wasm.spaceweathertable_dayCount(this.__wbg_ptr);
13193
+ return ret >>> 0;
11829
13194
  }
11830
13195
  /**
11831
- * @returns {number}
13196
+ * @returns {any}
11832
13197
  */
11833
- get f107() {
11834
- const ret = wasm.spaceweather_f107(this.__wbg_ptr);
11835
- return ret;
13198
+ days() {
13199
+ const ret = wasm.spaceweathertable_days(this.__wbg_ptr);
13200
+ if (ret[2]) {
13201
+ throw takeFromExternrefTable0(ret[1]);
13202
+ }
13203
+ return takeFromExternrefTable0(ret[0]);
11836
13204
  }
11837
13205
  /**
11838
- * @returns {number}
13206
+ * @returns {any}
11839
13207
  */
11840
- get f107a() {
11841
- const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
11842
- return ret;
13208
+ get diagnostics() {
13209
+ const ret = wasm.spaceweathertable_diagnostics(this.__wbg_ptr);
13210
+ if (ret[2]) {
13211
+ throw takeFromExternrefTable0(ret[1]);
13212
+ }
13213
+ return takeFromExternrefTable0(ret[0]);
11843
13214
  }
11844
13215
  /**
11845
- * @param {number | null} [f107]
11846
- * @param {number | null} [f107a]
11847
- * @param {number | null} [ap]
13216
+ * @returns {any}
11848
13217
  */
11849
- constructor(f107, f107a, ap) {
11850
- const ret = wasm.spaceweather_new(!isLikeNone(f107), isLikeNone(f107) ? 0 : f107, !isLikeNone(f107a), isLikeNone(f107a) ? 0 : f107a, !isLikeNone(ap), isLikeNone(ap) ? 0 : ap);
11851
- this.__wbg_ptr = ret;
11852
- SpaceWeatherFinalization.register(this, this.__wbg_ptr, this);
11853
- return this;
11854
- }
11855
- }
11856
- if (Symbol.dispose) SpaceWeather.prototype[Symbol.dispose] = SpaceWeather.prototype.free;
11857
-
11858
- /**
11859
- * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
11860
- * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
11861
- * without re-deriving the magic numbers.
11862
- */
11863
- export class SpaceWeatherDefaults {
11864
- static __wrap(ptr) {
11865
- const obj = Object.create(SpaceWeatherDefaults.prototype);
11866
- obj.__wbg_ptr = ptr;
11867
- SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
11868
- return obj;
13218
+ monthly() {
13219
+ const ret = wasm.spaceweathertable_monthly(this.__wbg_ptr);
13220
+ if (ret[2]) {
13221
+ throw takeFromExternrefTable0(ret[1]);
13222
+ }
13223
+ return takeFromExternrefTable0(ret[0]);
11869
13224
  }
11870
- __destroy_into_raw() {
11871
- const ptr = this.__wbg_ptr;
11872
- this.__wbg_ptr = 0;
11873
- SpaceWeatherDefaultsFinalization.unregister(this);
11874
- return ptr;
13225
+ /**
13226
+ * @returns {number}
13227
+ */
13228
+ get monthlyCount() {
13229
+ const ret = wasm.spaceweathertable_monthlyCount(this.__wbg_ptr);
13230
+ return ret >>> 0;
11875
13231
  }
11876
- free() {
11877
- const ptr = this.__destroy_into_raw();
11878
- wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
13232
+ /**
13233
+ * @param {number} epoch_j2000_s
13234
+ * @param {any} policy
13235
+ * @returns {any}
13236
+ */
13237
+ sampleAt(epoch_j2000_s, policy) {
13238
+ const ret = wasm.spaceweathertable_sampleAt(this.__wbg_ptr, epoch_j2000_s, policy);
13239
+ if (ret[2]) {
13240
+ throw takeFromExternrefTable0(ret[1]);
13241
+ }
13242
+ return takeFromExternrefTable0(ret[0]);
11879
13243
  }
11880
13244
  /**
11881
- * Daily magnetic Ap index.
11882
- * @returns {number}
13245
+ * @param {number} epoch_j2000_s
13246
+ * @returns {any}
11883
13247
  */
11884
- get ap() {
11885
- const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
11886
- return ret;
13248
+ spaceWeatherAt(epoch_j2000_s) {
13249
+ const ret = wasm.spaceweathertable_spaceWeatherAt(this.__wbg_ptr, epoch_j2000_s);
13250
+ if (ret[2]) {
13251
+ throw takeFromExternrefTable0(ret[1]);
13252
+ }
13253
+ return takeFromExternrefTable0(ret[0]);
11887
13254
  }
11888
13255
  /**
11889
- * Daily F10.7 solar radio flux.
11890
- * @returns {number}
13256
+ * @returns {string}
11891
13257
  */
11892
- get f107() {
11893
- const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
11894
- return ret;
13258
+ toCsv() {
13259
+ let deferred1_0;
13260
+ let deferred1_1;
13261
+ try {
13262
+ const ret = wasm.spaceweathertable_toCsv(this.__wbg_ptr);
13263
+ deferred1_0 = ret[0];
13264
+ deferred1_1 = ret[1];
13265
+ return getStringFromWasm0(ret[0], ret[1]);
13266
+ } finally {
13267
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13268
+ }
11895
13269
  }
11896
13270
  /**
11897
- * 81-day centred F10.7 average.
11898
- * @returns {number}
13271
+ * @returns {string}
11899
13272
  */
11900
- get f107a() {
11901
- const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
11902
- return ret;
13273
+ toTxt() {
13274
+ let deferred1_0;
13275
+ let deferred1_1;
13276
+ try {
13277
+ const ret = wasm.spaceweathertable_toTxt(this.__wbg_ptr);
13278
+ deferred1_0 = ret[0];
13279
+ deferred1_1 = ret[1];
13280
+ return getStringFromWasm0(ret[0], ret[1]);
13281
+ } finally {
13282
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13283
+ }
11903
13284
  }
11904
13285
  }
11905
- if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
13286
+ if (Symbol.dispose) SpaceWeatherTable.prototype[Symbol.dispose] = SpaceWeatherTable.prototype.free;
11906
13287
 
11907
13288
  /**
11908
13289
  * A parsed in-memory JPL/NAIF SPK kernel.
@@ -12887,6 +14268,95 @@ export class Tle {
12887
14268
  }
12888
14269
  if (Symbol.dispose) Tle.prototype[Symbol.dispose] = Tle.prototype.free;
12889
14270
 
14271
+ /**
14272
+ * Result of fitting a TLE to TEME samples.
14273
+ */
14274
+ export class TleFit {
14275
+ static __wrap(ptr) {
14276
+ const obj = Object.create(TleFit.prototype);
14277
+ obj.__wbg_ptr = ptr;
14278
+ TleFitFinalization.register(obj, obj.__wbg_ptr, obj);
14279
+ return obj;
14280
+ }
14281
+ __destroy_into_raw() {
14282
+ const ptr = this.__wbg_ptr;
14283
+ this.__wbg_ptr = 0;
14284
+ TleFitFinalization.unregister(this);
14285
+ return ptr;
14286
+ }
14287
+ free() {
14288
+ const ptr = this.__destroy_into_raw();
14289
+ wasm.__wbg_tlefit_free(ptr, 0);
14290
+ }
14291
+ /**
14292
+ * @returns {any}
14293
+ */
14294
+ get elements() {
14295
+ const ret = wasm.tlefit_elements(this.__wbg_ptr);
14296
+ if (ret[2]) {
14297
+ throw takeFromExternrefTable0(ret[1]);
14298
+ }
14299
+ return takeFromExternrefTable0(ret[0]);
14300
+ }
14301
+ /**
14302
+ * @returns {string}
14303
+ */
14304
+ get line1() {
14305
+ let deferred1_0;
14306
+ let deferred1_1;
14307
+ try {
14308
+ const ret = wasm.tlefit_line1(this.__wbg_ptr);
14309
+ deferred1_0 = ret[0];
14310
+ deferred1_1 = ret[1];
14311
+ return getStringFromWasm0(ret[0], ret[1]);
14312
+ } finally {
14313
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14314
+ }
14315
+ }
14316
+ /**
14317
+ * @returns {string}
14318
+ */
14319
+ get line2() {
14320
+ let deferred1_0;
14321
+ let deferred1_1;
14322
+ try {
14323
+ const ret = wasm.tlefit_line2(this.__wbg_ptr);
14324
+ deferred1_0 = ret[0];
14325
+ deferred1_1 = ret[1];
14326
+ return getStringFromWasm0(ret[0], ret[1]);
14327
+ } finally {
14328
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14329
+ }
14330
+ }
14331
+ /**
14332
+ * @returns {Omm}
14333
+ */
14334
+ get omm() {
14335
+ const ret = wasm.tlefit_omm(this.__wbg_ptr);
14336
+ return Omm.__wrap(ret);
14337
+ }
14338
+ /**
14339
+ * @returns {any}
14340
+ */
14341
+ get stats() {
14342
+ const ret = wasm.tlefit_stats(this.__wbg_ptr);
14343
+ if (ret[2]) {
14344
+ throw takeFromExternrefTable0(ret[1]);
14345
+ }
14346
+ return takeFromExternrefTable0(ret[0]);
14347
+ }
14348
+ /**
14349
+ * @returns {string[]}
14350
+ */
14351
+ toLines() {
14352
+ const ret = wasm.tlefit_toLines(this.__wbg_ptr);
14353
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
14354
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
14355
+ return v1;
14356
+ }
14357
+ }
14358
+ if (Symbol.dispose) TleFit.prototype[Symbol.dispose] = TleFit.prototype.free;
14359
+
12890
14360
  /**
12891
14361
  * TEME states from a batched SGP4 propagation. Each array is flat row-major,
12892
14362
  * length `3 * epochCount`.
@@ -13621,6 +15091,16 @@ export function cn0(eirp_dbw, fspl_db, receiver_gt_dbk, other_losses_db) {
13621
15091
  return ret[0];
13622
15092
  }
13623
15093
 
15094
+ /**
15095
+ * Nominal GPS/QZSS CNAV URA meters for an ED/NED0 index.
15096
+ * @param {number} index
15097
+ * @returns {number | undefined}
15098
+ */
15099
+ export function cnavUraNominalM(index) {
15100
+ const ret = wasm.cnavUraNominalM(index);
15101
+ return ret[0] === 0 ? undefined : ret[1];
15102
+ }
15103
+
13624
15104
  /**
13625
15105
  * @param {any} coe
13626
15106
  * @param {RetrogradeFactor | null} [factor]
@@ -13954,6 +15434,26 @@ export function decodeRtcmMessage(body) {
13954
15434
  return takeFromExternrefTable0(ret[0]);
13955
15435
  }
13956
15436
 
15437
+ /**
15438
+ * Decode an RTCM 3 byte stream into messages plus stream diagnostics.
15439
+ *
15440
+ * The `messages` array has the same object form as [`decodeRtcm`].
15441
+ * `diagnostics.resyncBytes` counts skipped bytes while finding valid frames,
15442
+ * and `diagnostics.skippedFrames` reports CRC-valid frames whose bodies could
15443
+ * not be decoded.
15444
+ * @param {Uint8Array} bytes
15445
+ * @returns {any}
15446
+ */
15447
+ export function decodeRtcmStream(bytes) {
15448
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15449
+ const len0 = WASM_VECTOR_LEN;
15450
+ const ret = wasm.decodeRtcmStream(ptr0, len0);
15451
+ if (ret[2]) {
15452
+ throw takeFromExternrefTable0(ret[1]);
15453
+ }
15454
+ return takeFromExternrefTable0(ret[0]);
15455
+ }
15456
+
13957
15457
  /**
13958
15458
  * @param {Uint8Array} bytes
13959
15459
  * @param {string | null} [form]
@@ -14320,6 +15820,40 @@ export function egm96Undulation(lat_rad, lon_rad) {
14320
15820
  return ret;
14321
15821
  }
14322
15822
 
15823
+ /**
15824
+ * Batch EGM96 undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
15825
+ * @param {Float64Array} points_deg
15826
+ * @returns {Float64Array}
15827
+ */
15828
+ export function egm96UndulationsDeg(points_deg) {
15829
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
15830
+ const len0 = WASM_VECTOR_LEN;
15831
+ const ret = wasm.egm96UndulationsDeg(ptr0, len0);
15832
+ if (ret[3]) {
15833
+ throw takeFromExternrefTable0(ret[2]);
15834
+ }
15835
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15836
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15837
+ return v2;
15838
+ }
15839
+
15840
+ /**
15841
+ * Batch EGM96 undulation lookup for flat `[latRad, lonRad, ...]` pairs.
15842
+ * @param {Float64Array} points_rad
15843
+ * @returns {Float64Array}
15844
+ */
15845
+ export function egm96UndulationsRad(points_rad) {
15846
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
15847
+ const len0 = WASM_VECTOR_LEN;
15848
+ const ret = wasm.egm96UndulationsRad(ptr0, len0);
15849
+ if (ret[3]) {
15850
+ throw takeFromExternrefTable0(ret[2]);
15851
+ }
15852
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15853
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15854
+ return v2;
15855
+ }
15856
+
14323
15857
  /**
14324
15858
  * Effective isotropic radiated power, dBW.
14325
15859
  * @param {number} tx_power_dbm
@@ -14532,6 +16066,23 @@ export function estimateDecay(drag, request) {
14532
16066
  return takeFromExternrefTable0(ret[0]);
14533
16067
  }
14534
16068
 
16069
+ /**
16070
+ * Estimate decay using per-epoch values from a parsed space-weather table.
16071
+ * @param {DragForce} drag
16072
+ * @param {SpaceWeatherTable} table
16073
+ * @param {any} request
16074
+ * @returns {any}
16075
+ */
16076
+ export function estimateDecayWithSpaceWeather(drag, table, request) {
16077
+ _assertClass(drag, DragForce);
16078
+ _assertClass(table, SpaceWeatherTable);
16079
+ const ret = wasm.estimateDecayWithSpaceWeather(drag.__wbg_ptr, table.__wbg_ptr, request);
16080
+ if (ret[2]) {
16081
+ throw takeFromExternrefTable0(ret[1]);
16082
+ }
16083
+ return takeFromExternrefTable0(ret[0]);
16084
+ }
16085
+
14535
16086
  /**
14536
16087
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
14537
16088
  * window.
@@ -14772,13 +16323,27 @@ export function fitReducedOrbitSp3(sp3, satellite, options) {
14772
16323
  * @param {any} options
14773
16324
  * @returns {ReducedOrbitSourceFit}
14774
16325
  */
14775
- export function fitReducedOrbitTle(tle, options) {
14776
- _assertClass(tle, Tle);
14777
- const ret = wasm.fitReducedOrbitTle(tle.__wbg_ptr, options);
16326
+ export function fitReducedOrbitTle(tle, options) {
16327
+ _assertClass(tle, Tle);
16328
+ const ret = wasm.fitReducedOrbitTle(tle.__wbg_ptr, options);
16329
+ if (ret[2]) {
16330
+ throw takeFromExternrefTable0(ret[1]);
16331
+ }
16332
+ return ReducedOrbitSourceFit.__wrap(ret[0]);
16333
+ }
16334
+
16335
+ /**
16336
+ * Fit SGP4 mean elements and optional B* to TEME state samples.
16337
+ * @param {any} samples
16338
+ * @param {any} config
16339
+ * @returns {TleFit}
16340
+ */
16341
+ export function fitTle(samples, config) {
16342
+ const ret = wasm.fitTle(samples, config);
14778
16343
  if (ret[2]) {
14779
16344
  throw takeFromExternrefTable0(ret[1]);
14780
16345
  }
14781
- return ReducedOrbitSourceFit.__wrap(ret[0]);
16346
+ return TleFit.__wrap(ret[0]);
14782
16347
  }
14783
16348
 
14784
16349
  /**
@@ -15025,6 +16590,42 @@ export function geoidUndulation(lat_rad, lon_rad) {
15025
16590
  return ret;
15026
16591
  }
15027
16592
 
16593
+ /**
16594
+ * Batch coarse built-in undulation lookup for flat `[latDeg, lonDeg, ...]`
16595
+ * pairs.
16596
+ * @param {Float64Array} points_deg
16597
+ * @returns {Float64Array}
16598
+ */
16599
+ export function geoidUndulationsDeg(points_deg) {
16600
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
16601
+ const len0 = WASM_VECTOR_LEN;
16602
+ const ret = wasm.geoidUndulationsDeg(ptr0, len0);
16603
+ if (ret[3]) {
16604
+ throw takeFromExternrefTable0(ret[2]);
16605
+ }
16606
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16607
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16608
+ return v2;
16609
+ }
16610
+
16611
+ /**
16612
+ * Batch coarse built-in undulation lookup for flat `[latRad, lonRad, ...]`
16613
+ * pairs.
16614
+ * @param {Float64Array} points_rad
16615
+ * @returns {Float64Array}
16616
+ */
16617
+ export function geoidUndulationsRad(points_rad) {
16618
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
16619
+ const len0 = WASM_VECTOR_LEN;
16620
+ const ret = wasm.geoidUndulationsRad(ptr0, len0);
16621
+ if (ret[3]) {
16622
+ throw takeFromExternrefTable0(ret[2]);
16623
+ }
16624
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16625
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16626
+ return v2;
16627
+ }
16628
+
15028
16629
  /**
15029
16630
  * Geometry-free phase combination `L_GF = L1 - L2`, metres.
15030
16631
  * @param {number} l1_m
@@ -15752,6 +17353,36 @@ export function leastSquaresDropOne(request) {
15752
17353
  return LeastSquaresDropOneReport.__wrap(ret[0]);
15753
17354
  }
15754
17355
 
17356
+ /**
17357
+ * Lint RINEX navigation text.
17358
+ * @param {Uint8Array} bytes
17359
+ * @returns {any}
17360
+ */
17361
+ export function lintRinexNav(bytes) {
17362
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17363
+ const len0 = WASM_VECTOR_LEN;
17364
+ const ret = wasm.lintRinexNav(ptr0, len0);
17365
+ if (ret[2]) {
17366
+ throw takeFromExternrefTable0(ret[1]);
17367
+ }
17368
+ return takeFromExternrefTable0(ret[0]);
17369
+ }
17370
+
17371
+ /**
17372
+ * Lint RINEX observation text.
17373
+ * @param {Uint8Array} bytes
17374
+ * @returns {any}
17375
+ */
17376
+ export function lintRinexObs(bytes) {
17377
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17378
+ const len0 = WASM_VECTOR_LEN;
17379
+ const ret = wasm.lintRinexObs(ptr0, len0);
17380
+ if (ret[2]) {
17381
+ throw takeFromExternrefTable0(ret[1]);
17382
+ }
17383
+ return takeFromExternrefTable0(ret[0]);
17384
+ }
17385
+
15755
17386
  /**
15756
17387
  * Decode LNAV subframes 1-3 back into engineering-unit parameters.
15757
17388
  *
@@ -16503,6 +18134,45 @@ export function nequickGStecTecu(_eval) {
16503
18134
  return ret[0];
16504
18135
  }
16505
18136
 
18137
+ /**
18138
+ * Parse bytes and return grouped epoch snapshots directly.
18139
+ * @param {Uint8Array} bytes
18140
+ * @returns {any}
18141
+ */
18142
+ export function nmeaEpochs(bytes) {
18143
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18144
+ const len0 = WASM_VECTOR_LEN;
18145
+ const ret = wasm.nmeaEpochs(ptr0, len0);
18146
+ if (ret[2]) {
18147
+ throw takeFromExternrefTable0(ret[1]);
18148
+ }
18149
+ return takeFromExternrefTable0(ret[0]);
18150
+ }
18151
+
18152
+ /**
18153
+ * Write a GGA sentence from a JS object.
18154
+ * @param {any} request
18155
+ * @returns {string}
18156
+ */
18157
+ export function nmeaWriteGga(request) {
18158
+ let deferred2_0;
18159
+ let deferred2_1;
18160
+ try {
18161
+ const ret = wasm.nmeaWriteGga(request);
18162
+ var ptr1 = ret[0];
18163
+ var len1 = ret[1];
18164
+ if (ret[3]) {
18165
+ ptr1 = 0; len1 = 0;
18166
+ throw takeFromExternrefTable0(ret[2]);
18167
+ }
18168
+ deferred2_0 = ptr1;
18169
+ deferred2_1 = len1;
18170
+ return getStringFromWasm0(ptr1, len1);
18171
+ } finally {
18172
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
18173
+ }
18174
+ }
18175
+
16506
18176
  /**
16507
18177
  * Equal-variance noise amplification of the ionosphere-free combination.
16508
18178
  * @param {number} f1_hz
@@ -16547,6 +18217,21 @@ export function normalCovariance(jacobian, m, n, variance_scale) {
16547
18217
  return v2;
16548
18218
  }
16549
18219
 
18220
+ /**
18221
+ * Build the NTRIP connection request bytes for a config object.
18222
+ * @param {any} config
18223
+ * @returns {Uint8Array}
18224
+ */
18225
+ export function ntripRequestBytes(config) {
18226
+ const ret = wasm.ntripRequestBytes(config);
18227
+ if (ret[3]) {
18228
+ throw takeFromExternrefTable0(ret[2]);
18229
+ }
18230
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
18231
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
18232
+ return v1;
18233
+ }
18234
+
16550
18235
  /**
16551
18236
  * Predict observables for one satellite from a broadcast ephemeris store.
16552
18237
  * Delegates to `sidereon_core::observables::predict`.
@@ -16612,6 +18297,21 @@ export function observationKindLabel(kind) {
16612
18297
  }
16613
18298
  }
16614
18299
 
18300
+ /**
18301
+ * Aggregate observation QC for a parsed RINEX OBS product.
18302
+ * @param {RinexObs} obs
18303
+ * @param {any} options
18304
+ * @returns {ObservationQcReport}
18305
+ */
18306
+ export function observationQc(obs, options) {
18307
+ _assertClass(obs, RinexObs);
18308
+ const ret = wasm.observationQc(obs.__wbg_ptr, options);
18309
+ if (ret[2]) {
18310
+ throw takeFromExternrefTable0(ret[1]);
18311
+ }
18312
+ return ObservationQcReport.__wrap(ret[0]);
18313
+ }
18314
+
16615
18315
  /**
16616
18316
  * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
16617
18317
  * @param {any} station
@@ -16787,6 +18487,33 @@ export function parseNavcen(html) {
16787
18487
  return takeFromExternrefTable0(ret[0]);
16788
18488
  }
16789
18489
 
18490
+ /**
18491
+ * Parse NMEA sentences from bytes.
18492
+ * @param {Uint8Array} bytes
18493
+ * @returns {NmeaParseResult}
18494
+ */
18495
+ export function parseNmea(bytes) {
18496
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18497
+ const len0 = WASM_VECTOR_LEN;
18498
+ const ret = wasm.parseNmea(ptr0, len0);
18499
+ return NmeaParseResult.__wrap(ret);
18500
+ }
18501
+
18502
+ /**
18503
+ * Parse NTRIP sourcetable text from UTF-8 bytes.
18504
+ * @param {Uint8Array} bytes
18505
+ * @returns {any}
18506
+ */
18507
+ export function parseNtripSourcetable(bytes) {
18508
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18509
+ const len0 = WASM_VECTOR_LEN;
18510
+ const ret = wasm.parseNtripSourcetable(ptr0, len0);
18511
+ if (ret[2]) {
18512
+ throw takeFromExternrefTable0(ret[1]);
18513
+ }
18514
+ return takeFromExternrefTable0(ret[0]);
18515
+ }
18516
+
16790
18517
  /**
16791
18518
  * Parse CCSDS OEM KVN text. The KVN reader is forgiving: malformed ephemeris
16792
18519
  * lines are skipped and counted in `skippedStates`. Throws an `Error` on a
@@ -17023,6 +18750,51 @@ export function parseRinexObs(bytes) {
17023
18750
  return RinexObs.__wrap(ret[0]);
17024
18751
  }
17025
18752
 
18753
+ /**
18754
+ * Parse either CSV or fixed-width TXT space-weather bytes.
18755
+ * @param {Uint8Array} bytes
18756
+ * @returns {SpaceWeatherTable}
18757
+ */
18758
+ export function parseSpaceWeather(bytes) {
18759
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18760
+ const len0 = WASM_VECTOR_LEN;
18761
+ const ret = wasm.parseSpaceWeather(ptr0, len0);
18762
+ if (ret[2]) {
18763
+ throw takeFromExternrefTable0(ret[1]);
18764
+ }
18765
+ return SpaceWeatherTable.__wrap(ret[0]);
18766
+ }
18767
+
18768
+ /**
18769
+ * Parse CelesTrak CSSI CSV space-weather text.
18770
+ * @param {string} text
18771
+ * @returns {SpaceWeatherTable}
18772
+ */
18773
+ export function parseSpaceWeatherCsv(text) {
18774
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18775
+ const len0 = WASM_VECTOR_LEN;
18776
+ const ret = wasm.parseSpaceWeatherCsv(ptr0, len0);
18777
+ if (ret[2]) {
18778
+ throw takeFromExternrefTable0(ret[1]);
18779
+ }
18780
+ return SpaceWeatherTable.__wrap(ret[0]);
18781
+ }
18782
+
18783
+ /**
18784
+ * Parse CelesTrak CSSI fixed-width TXT space-weather text.
18785
+ * @param {string} text
18786
+ * @returns {SpaceWeatherTable}
18787
+ */
18788
+ export function parseSpaceWeatherTxt(text) {
18789
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18790
+ const len0 = WASM_VECTOR_LEN;
18791
+ const ret = wasm.parseSpaceWeatherTxt(ptr0, len0);
18792
+ if (ret[2]) {
18793
+ throw takeFromExternrefTable0(ret[1]);
18794
+ }
18795
+ return SpaceWeatherTable.__wrap(ret[0]);
18796
+ }
18797
+
17026
18798
  /**
17027
18799
  * Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
17028
18800
  * initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
@@ -17306,6 +19078,19 @@ export function propagateBatch(satellites, epochs_unix_us) {
17306
19078
  return FleetPropagation.__wrap(ret[0]);
17307
19079
  }
17308
19080
 
19081
+ /**
19082
+ * Propagate an ECI Cartesian state and 6x6 covariance to requested epochs.
19083
+ * @param {any} request
19084
+ * @returns {CovarianceEphemeris}
19085
+ */
19086
+ export function propagateCovariance(request) {
19087
+ const ret = wasm.propagateCovariance(request);
19088
+ if (ret[2]) {
19089
+ throw takeFromExternrefTable0(ret[1]);
19090
+ }
19091
+ return CovarianceEphemeris.__wrap(ret[0]);
19092
+ }
19093
+
17309
19094
  /**
17310
19095
  * @param {any} coe
17311
19096
  * @param {number} mu_km3_s2
@@ -17421,6 +19206,38 @@ export function relativeState(chief, deputy) {
17421
19206
  return takeFromExternrefTable0(ret[0]);
17422
19207
  }
17423
19208
 
19209
+ /**
19210
+ * Repair RINEX navigation text.
19211
+ * @param {Uint8Array} bytes
19212
+ * @param {any} options
19213
+ * @returns {RinexNavRepair}
19214
+ */
19215
+ export function repairRinexNav(bytes, options) {
19216
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
19217
+ const len0 = WASM_VECTOR_LEN;
19218
+ const ret = wasm.repairRinexNav(ptr0, len0, options);
19219
+ if (ret[2]) {
19220
+ throw takeFromExternrefTable0(ret[1]);
19221
+ }
19222
+ return RinexNavRepair.__wrap(ret[0]);
19223
+ }
19224
+
19225
+ /**
19226
+ * Repair RINEX observation text.
19227
+ * @param {Uint8Array} bytes
19228
+ * @param {any} options
19229
+ * @returns {RinexObsRepair}
19230
+ */
19231
+ export function repairRinexObs(bytes, options) {
19232
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
19233
+ const len0 = WASM_VECTOR_LEN;
19234
+ const ret = wasm.repairRinexObs(ptr0, len0, options);
19235
+ if (ret[2]) {
19236
+ throw takeFromExternrefTable0(ret[1]);
19237
+ }
19238
+ return RinexObsRepair.__wrap(ret[0]);
19239
+ }
19240
+
17424
19241
  /**
17425
19242
  * Build a sampled GPS C/A code replica, an `Int8Array`.
17426
19243
  * @param {bigint} prn
@@ -17509,6 +19326,37 @@ export function rswRotation(position_km, velocity_km_s) {
17509
19326
  return v3;
17510
19327
  }
17511
19328
 
19329
+ /**
19330
+ * Derive a RINEX LLI value for one MSM signal cell.
19331
+ *
19332
+ * `previous` is `null`/`undefined` or `{ elapsedMs, minLockTimeMs? }`.
19333
+ * `currentMinLockTimeMs` is a number or `null`/`undefined` for reserved current
19334
+ * indicators.
19335
+ * @param {any} previous
19336
+ * @param {any} current_min_lock_time_ms
19337
+ * @param {boolean} half_cycle_ambiguity
19338
+ * @returns {number}
19339
+ */
19340
+ export function rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity) {
19341
+ const ret = wasm.rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity);
19342
+ if (ret[2]) {
19343
+ throw takeFromExternrefTable0(ret[1]);
19344
+ }
19345
+ return ret[0];
19346
+ }
19347
+
19348
+ /**
19349
+ * RINEX LLI bit constants used by the RTCM MSM LLI helpers.
19350
+ * @returns {any}
19351
+ */
19352
+ export function rtcmLliBits() {
19353
+ const ret = wasm.rtcmLliBits();
19354
+ if (ret[2]) {
19355
+ throw takeFromExternrefTable0(ret[1]);
19356
+ }
19357
+ return takeFromExternrefTable0(ret[0]);
19358
+ }
19359
+
17512
19360
  /**
17513
19361
  * Read the 12-bit RTCM message number from a message body.
17514
19362
  *
@@ -17527,6 +19375,59 @@ export function rtcmMessageNumber(body) {
17527
19375
  return ret[0];
17528
19376
  }
17529
19377
 
19378
+ /**
19379
+ * Minimum continuous-lock time encoded by an MSM4/7 lock-time indicator.
19380
+ *
19381
+ * `kind` is `"msm4"` or `"msm7"`. Reserved or out-of-range indicators return
19382
+ * `undefined`.
19383
+ * @param {string} kind
19384
+ * @param {number} indicator
19385
+ * @returns {any}
19386
+ */
19387
+ export function rtcmMinimumLockTimeMs(kind, indicator) {
19388
+ const ptr0 = passStringToWasm0(kind, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19389
+ const len0 = WASM_VECTOR_LEN;
19390
+ const ret = wasm.rtcmMinimumLockTimeMs(ptr0, len0, indicator);
19391
+ if (ret[2]) {
19392
+ throw takeFromExternrefTable0(ret[1]);
19393
+ }
19394
+ return takeFromExternrefTable0(ret[0]);
19395
+ }
19396
+
19397
+ /**
19398
+ * Elapsed milliseconds between two raw MSM epoch-time fields.
19399
+ * @param {string} system
19400
+ * @param {number} previous_epoch_time
19401
+ * @param {number} current_epoch_time
19402
+ * @returns {number}
19403
+ */
19404
+ export function rtcmMsmEpochDtMs(system, previous_epoch_time, current_epoch_time) {
19405
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19406
+ const len0 = WASM_VECTOR_LEN;
19407
+ const ret = wasm.rtcmMsmEpochDtMs(ptr0, len0, previous_epoch_time, current_epoch_time);
19408
+ if (ret[2]) {
19409
+ throw takeFromExternrefTable0(ret[1]);
19410
+ }
19411
+ return ret[0];
19412
+ }
19413
+
19414
+ /**
19415
+ * RINEX 3 observation-code suffix for an MSM signal id, or `undefined` for
19416
+ * reserved ids.
19417
+ * @param {string} system
19418
+ * @param {number} signal_id
19419
+ * @returns {any}
19420
+ */
19421
+ export function rtcmMsmSignalRinexCode(system, signal_id) {
19422
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19423
+ const len0 = WASM_VECTOR_LEN;
19424
+ const ret = wasm.rtcmMsmSignalRinexCode(ptr0, len0, signal_id);
19425
+ if (ret[2]) {
19426
+ throw takeFromExternrefTable0(ret[1]);
19427
+ }
19428
+ return takeFromExternrefTable0(ret[0]);
19429
+ }
19430
+
17530
19431
  /**
17531
19432
  * @param {Float64Array} position_km
17532
19433
  * @param {Float64Array} velocity_km_s
@@ -18751,6 +20652,23 @@ export function toCsv(records, booleans) {
18751
20652
  }
18752
20653
  }
18753
20654
 
20655
+ /**
20656
+ * Transport a 6x6 covariance through caller-supplied STM segments.
20657
+ * @param {Float64Array} covariance
20658
+ * @param {any} segments
20659
+ * @param {any} options
20660
+ * @returns {CovarianceTransportResult}
20661
+ */
20662
+ export function transportCovariance(covariance, segments, options) {
20663
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
20664
+ const len0 = WASM_VECTOR_LEN;
20665
+ const ret = wasm.transportCovariance(ptr0, len0, segments, options);
20666
+ if (ret[2]) {
20667
+ throw takeFromExternrefTable0(ret[1]);
20668
+ }
20669
+ return CovarianceTransportResult.__wrap(ret[0]);
20670
+ }
20671
+
18754
20672
  /**
18755
20673
  * Niell hydrostatic and wet mapping factors at an elevation.
18756
20674
  *
@@ -19114,6 +21032,10 @@ function __wbg_get_imports() {
19114
21032
  const ret = FleetPass.__wrap(arg0);
19115
21033
  return ret;
19116
21034
  },
21035
+ __wbg_fromCodePoint_a952b701bbb83fa4: function() { return handleError(function (arg0) {
21036
+ const ret = String.fromCodePoint(arg0 >>> 0);
21037
+ return ret;
21038
+ }, arguments); },
19117
21039
  __wbg_get_507a50627bffa49b: function(arg0, arg1) {
19118
21040
  const ret = arg0[arg1 >>> 0];
19119
21041
  return ret;
@@ -19446,9 +21368,15 @@ const BroadcastEphemerisFinalization = (typeof FinalizationRegistry === 'undefin
19446
21368
  const BroadcastEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
19447
21369
  ? { register: () => {}, unregister: () => {} }
19448
21370
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastevaluation_free(ptr, 1));
21371
+ const BroadcastGroupDelaysJsFinalization = (typeof FinalizationRegistry === 'undefined')
21372
+ ? { register: () => {}, unregister: () => {} }
21373
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcastgroupdelaysjs_free(ptr, 1));
19449
21374
  const BroadcastRecordJsFinalization = (typeof FinalizationRegistry === 'undefined')
19450
21375
  ? { register: () => {}, unregister: () => {} }
19451
21376
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastrecordjs_free(ptr, 1));
21377
+ const BroadcastStoreEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
21378
+ ? { register: () => {}, unregister: () => {} }
21379
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcaststoreevaluation_free(ptr, 1));
19452
21380
  const CarrierPairFinalization = (typeof FinalizationRegistry === 'undefined')
19453
21381
  ? { register: () => {}, unregister: () => {} }
19454
21382
  : new FinalizationRegistry(ptr => wasm.__wbg_carrierpair_free(ptr, 1));
@@ -19476,6 +21404,9 @@ const ClockPolynomialJsFinalization = (typeof FinalizationRegistry === 'undefine
19476
21404
  const ClockSeriesFinalization = (typeof FinalizationRegistry === 'undefined')
19477
21405
  ? { register: () => {}, unregister: () => {} }
19478
21406
  : new FinalizationRegistry(ptr => wasm.__wbg_clockseries_free(ptr, 1));
21407
+ const CnavParametersJsFinalization = (typeof FinalizationRegistry === 'undefined')
21408
+ ? { register: () => {}, unregister: () => {} }
21409
+ : new FinalizationRegistry(ptr => wasm.__wbg_cnavparametersjs_free(ptr, 1));
19479
21410
  const CollisionProbabilityFinalization = (typeof FinalizationRegistry === 'undefined')
19480
21411
  ? { register: () => {}, unregister: () => {} }
19481
21412
  : new FinalizationRegistry(ptr => wasm.__wbg_collisionprobability_free(ptr, 1));
@@ -19488,6 +21419,12 @@ const ConstellationFinalization = (typeof FinalizationRegistry === 'undefined')
19488
21419
  const CorrelationResultFinalization = (typeof FinalizationRegistry === 'undefined')
19489
21420
  ? { register: () => {}, unregister: () => {} }
19490
21421
  : new FinalizationRegistry(ptr => wasm.__wbg_correlationresult_free(ptr, 1));
21422
+ const CovarianceEphemerisFinalization = (typeof FinalizationRegistry === 'undefined')
21423
+ ? { register: () => {}, unregister: () => {} }
21424
+ : new FinalizationRegistry(ptr => wasm.__wbg_covarianceephemeris_free(ptr, 1));
21425
+ const CovarianceTransportResultFinalization = (typeof FinalizationRegistry === 'undefined')
21426
+ ? { register: () => {}, unregister: () => {} }
21427
+ : new FinalizationRegistry(ptr => wasm.__wbg_covariancetransportresult_free(ptr, 1));
19491
21428
  const CoverageGridFinalization = (typeof FinalizationRegistry === 'undefined')
19492
21429
  ? { register: () => {}, unregister: () => {} }
19493
21430
  : new FinalizationRegistry(ptr => wasm.__wbg_coveragegrid_free(ptr, 1));
@@ -19635,6 +21572,15 @@ const MovingBaselineSolutionFinalization = (typeof FinalizationRegistry === 'und
19635
21572
  const NamedTleFinalization = (typeof FinalizationRegistry === 'undefined')
19636
21573
  ? { register: () => {}, unregister: () => {} }
19637
21574
  : new FinalizationRegistry(ptr => wasm.__wbg_namedtle_free(ptr, 1));
21575
+ const NmeaAccumulatorFinalization = (typeof FinalizationRegistry === 'undefined')
21576
+ ? { register: () => {}, unregister: () => {} }
21577
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaaccumulator_free(ptr, 1));
21578
+ const NmeaParseResultFinalization = (typeof FinalizationRegistry === 'undefined')
21579
+ ? { register: () => {}, unregister: () => {} }
21580
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaparseresult_free(ptr, 1));
21581
+ const NtripClientMachineFinalization = (typeof FinalizationRegistry === 'undefined')
21582
+ ? { register: () => {}, unregister: () => {} }
21583
+ : new FinalizationRegistry(ptr => wasm.__wbg_ntripclientmachine_free(ptr, 1));
19638
21584
  const ObsEpochFinalization = (typeof FinalizationRegistry === 'undefined')
19639
21585
  ? { register: () => {}, unregister: () => {} }
19640
21586
  : new FinalizationRegistry(ptr => wasm.__wbg_obsepoch_free(ptr, 1));
@@ -19650,6 +21596,9 @@ const ObsPhaseShiftFinalization = (typeof FinalizationRegistry === 'undefined')
19650
21596
  const ObservationFilterFinalization = (typeof FinalizationRegistry === 'undefined')
19651
21597
  ? { register: () => {}, unregister: () => {} }
19652
21598
  : new FinalizationRegistry(ptr => wasm.__wbg_observationfilter_free(ptr, 1));
21599
+ const ObservationQcReportFinalization = (typeof FinalizationRegistry === 'undefined')
21600
+ ? { register: () => {}, unregister: () => {} }
21601
+ : new FinalizationRegistry(ptr => wasm.__wbg_observationqcreport_free(ptr, 1));
19653
21602
  const ObservationValueSeriesFinalization = (typeof FinalizationRegistry === 'undefined')
19654
21603
  ? { register: () => {}, unregister: () => {} }
19655
21604
  : new FinalizationRegistry(ptr => wasm.__wbg_observationvalueseries_free(ptr, 1));
@@ -19740,9 +21689,18 @@ const ReducedOrbitStateFinalization = (typeof FinalizationRegistry === 'undefine
19740
21689
  const RinexClockFinalization = (typeof FinalizationRegistry === 'undefined')
19741
21690
  ? { register: () => {}, unregister: () => {} }
19742
21691
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexclock_free(ptr, 1));
21692
+ const RinexNavRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21693
+ ? { register: () => {}, unregister: () => {} }
21694
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavrepair_free(ptr, 1));
19743
21695
  const RinexObsFinalization = (typeof FinalizationRegistry === 'undefined')
19744
21696
  ? { register: () => {}, unregister: () => {} }
19745
21697
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexobs_free(ptr, 1));
21698
+ const RinexObsRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21699
+ ? { register: () => {}, unregister: () => {} }
21700
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexobsrepair_free(ptr, 1));
21701
+ const RtcmLockTimeTrackerFinalization = (typeof FinalizationRegistry === 'undefined')
21702
+ ? { register: () => {}, unregister: () => {} }
21703
+ : new FinalizationRegistry(ptr => wasm.__wbg_rtcmlocktimetracker_free(ptr, 1));
19746
21704
  const RtkFixedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
19747
21705
  ? { register: () => {}, unregister: () => {} }
19748
21706
  : new FinalizationRegistry(ptr => wasm.__wbg_rtkfixedsolution_free(ptr, 1));
@@ -19803,6 +21761,9 @@ const SpaceWeatherFinalization = (typeof FinalizationRegistry === 'undefined')
19803
21761
  const SpaceWeatherDefaultsFinalization = (typeof FinalizationRegistry === 'undefined')
19804
21762
  ? { register: () => {}, unregister: () => {} }
19805
21763
  : new FinalizationRegistry(ptr => wasm.__wbg_spaceweatherdefaults_free(ptr, 1));
21764
+ const SpaceWeatherTableFinalization = (typeof FinalizationRegistry === 'undefined')
21765
+ ? { register: () => {}, unregister: () => {} }
21766
+ : new FinalizationRegistry(ptr => wasm.__wbg_spaceweathertable_free(ptr, 1));
19806
21767
  const SpkFinalization = (typeof FinalizationRegistry === 'undefined')
19807
21768
  ? { register: () => {}, unregister: () => {} }
19808
21769
  : new FinalizationRegistry(ptr => wasm.__wbg_spk_free(ptr, 1));
@@ -19827,6 +21788,9 @@ const SunMoonFinalization = (typeof FinalizationRegistry === 'undefined')
19827
21788
  const TleFinalization = (typeof FinalizationRegistry === 'undefined')
19828
21789
  ? { register: () => {}, unregister: () => {} }
19829
21790
  : new FinalizationRegistry(ptr => wasm.__wbg_tle_free(ptr, 1));
21791
+ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
21792
+ ? { register: () => {}, unregister: () => {} }
21793
+ : new FinalizationRegistry(ptr => wasm.__wbg_tlefit_free(ptr, 1));
19830
21794
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
19831
21795
  ? { register: () => {}, unregister: () => {} }
19832
21796
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));