@neilberkman/sidereon 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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() {
@@ -8083,6 +8863,14 @@ export class OmmEpoch {
8083
8863
  const ret = wasm.ommepoch_day(this.__wbg_ptr);
8084
8864
  return ret >>> 0;
8085
8865
  }
8866
+ /**
8867
+ * Femtosecond remainder within the microsecond.
8868
+ * @returns {number}
8869
+ */
8870
+ get femtosecond() {
8871
+ const ret = wasm.ommepoch_femtosecond(this.__wbg_ptr);
8872
+ return ret >>> 0;
8873
+ }
8086
8874
  /**
8087
8875
  * Hour of day.
8088
8876
  * @returns {number}
@@ -8141,9 +8929,10 @@ export class OmmEpoch {
8141
8929
  * @param {number} minute
8142
8930
  * @param {number} second
8143
8931
  * @param {number} microsecond
8932
+ * @param {number | null} [femtosecond]
8144
8933
  */
8145
- constructor(year, month, day, hour, minute, second, microsecond) {
8146
- const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond);
8934
+ constructor(year, month, day, hour, minute, second, microsecond, femtosecond) {
8935
+ const ret = wasm.ommepoch_new(year, month, day, hour, minute, second, microsecond, isLikeNone(femtosecond) ? Number.MAX_SAFE_INTEGER : (femtosecond) >>> 0);
8147
8936
  if (ret[2]) {
8148
8937
  throw takeFromExternrefTable0(ret[1]);
8149
8938
  }
@@ -10273,6 +11062,87 @@ export class RinexClock {
10273
11062
  }
10274
11063
  if (Symbol.dispose) RinexClock.prototype[Symbol.dispose] = RinexClock.prototype.free;
10275
11064
 
11065
+ /**
11066
+ * Navigation repair result.
11067
+ */
11068
+ export class RinexNavRepair {
11069
+ static __wrap(ptr) {
11070
+ const obj = Object.create(RinexNavRepair.prototype);
11071
+ obj.__wbg_ptr = ptr;
11072
+ RinexNavRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11073
+ return obj;
11074
+ }
11075
+ __destroy_into_raw() {
11076
+ const ptr = this.__wbg_ptr;
11077
+ this.__wbg_ptr = 0;
11078
+ RinexNavRepairFinalization.unregister(this);
11079
+ return ptr;
11080
+ }
11081
+ free() {
11082
+ const ptr = this.__destroy_into_raw();
11083
+ wasm.__wbg_rinexnavrepair_free(ptr, 0);
11084
+ }
11085
+ /**
11086
+ * @returns {any}
11087
+ */
11088
+ get actions() {
11089
+ const ret = wasm.rinexnavrepair_actions(this.__wbg_ptr);
11090
+ if (ret[2]) {
11091
+ throw takeFromExternrefTable0(ret[1]);
11092
+ }
11093
+ return takeFromExternrefTable0(ret[0]);
11094
+ }
11095
+ /**
11096
+ * @returns {IonoCorrectionsJs | undefined}
11097
+ */
11098
+ get iono() {
11099
+ const ret = wasm.rinexnavrepair_iono(this.__wbg_ptr);
11100
+ return ret === 0 ? undefined : IonoCorrectionsJs.__wrap(ret);
11101
+ }
11102
+ /**
11103
+ * @returns {number | undefined}
11104
+ */
11105
+ get leapSeconds() {
11106
+ const ret = wasm.rinexnavrepair_leapSeconds(this.__wbg_ptr);
11107
+ return ret[0] === 0 ? undefined : ret[1];
11108
+ }
11109
+ /**
11110
+ * @returns {BroadcastRecordJs[]}
11111
+ */
11112
+ get records() {
11113
+ const ret = wasm.rinexnavrepair_records(this.__wbg_ptr);
11114
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
11115
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
11116
+ return v1;
11117
+ }
11118
+ /**
11119
+ * @returns {any}
11120
+ */
11121
+ get remaining() {
11122
+ const ret = wasm.rinexnavrepair_remaining(this.__wbg_ptr);
11123
+ if (ret[2]) {
11124
+ throw takeFromExternrefTable0(ret[1]);
11125
+ }
11126
+ return takeFromExternrefTable0(ret[0]);
11127
+ }
11128
+ /**
11129
+ * @returns {string}
11130
+ */
11131
+ get repairedText() {
11132
+ let deferred1_0;
11133
+ let deferred1_1;
11134
+ try {
11135
+ const ret = wasm.rinexnavrepair_repairedText(this.__wbg_ptr);
11136
+ deferred1_0 = ret[0];
11137
+ deferred1_1 = ret[1];
11138
+ return getStringFromWasm0(ret[0], ret[1]);
11139
+ } finally {
11140
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11141
+ }
11142
+ }
11143
+ }
11144
+ if (Symbol.dispose) RinexNavRepair.prototype[Symbol.dispose] = RinexNavRepair.prototype.free;
11145
+
10276
11146
  /**
10277
11147
  * A parsed RINEX 3/4 observation file.
10278
11148
  */
@@ -10417,6 +11287,143 @@ export class RinexObs {
10417
11287
  }
10418
11288
  if (Symbol.dispose) RinexObs.prototype[Symbol.dispose] = RinexObs.prototype.free;
10419
11289
 
11290
+ /**
11291
+ * Observation repair result.
11292
+ */
11293
+ export class RinexObsRepair {
11294
+ static __wrap(ptr) {
11295
+ const obj = Object.create(RinexObsRepair.prototype);
11296
+ obj.__wbg_ptr = ptr;
11297
+ RinexObsRepairFinalization.register(obj, obj.__wbg_ptr, obj);
11298
+ return obj;
11299
+ }
11300
+ __destroy_into_raw() {
11301
+ const ptr = this.__wbg_ptr;
11302
+ this.__wbg_ptr = 0;
11303
+ RinexObsRepairFinalization.unregister(this);
11304
+ return ptr;
11305
+ }
11306
+ free() {
11307
+ const ptr = this.__destroy_into_raw();
11308
+ wasm.__wbg_rinexobsrepair_free(ptr, 0);
11309
+ }
11310
+ /**
11311
+ * @returns {any}
11312
+ */
11313
+ get actions() {
11314
+ const ret = wasm.rinexobsrepair_actions(this.__wbg_ptr);
11315
+ if (ret[2]) {
11316
+ throw takeFromExternrefTable0(ret[1]);
11317
+ }
11318
+ return takeFromExternrefTable0(ret[0]);
11319
+ }
11320
+ /**
11321
+ * @returns {boolean}
11322
+ */
11323
+ get decodedFromCrinex() {
11324
+ const ret = wasm.rinexobsrepair_decodedFromCrinex(this.__wbg_ptr);
11325
+ return ret !== 0;
11326
+ }
11327
+ /**
11328
+ * @returns {any}
11329
+ */
11330
+ get remaining() {
11331
+ const ret = wasm.rinexobsrepair_remaining(this.__wbg_ptr);
11332
+ if (ret[2]) {
11333
+ throw takeFromExternrefTable0(ret[1]);
11334
+ }
11335
+ return takeFromExternrefTable0(ret[0]);
11336
+ }
11337
+ /**
11338
+ * @returns {RinexObs}
11339
+ */
11340
+ get repaired() {
11341
+ const ret = wasm.rinexobsrepair_repaired(this.__wbg_ptr);
11342
+ return RinexObs.__wrap(ret);
11343
+ }
11344
+ /**
11345
+ * @returns {string}
11346
+ */
11347
+ get repairedText() {
11348
+ let deferred1_0;
11349
+ let deferred1_1;
11350
+ try {
11351
+ const ret = wasm.rinexobsrepair_repairedText(this.__wbg_ptr);
11352
+ deferred1_0 = ret[0];
11353
+ deferred1_1 = ret[1];
11354
+ return getStringFromWasm0(ret[0], ret[1]);
11355
+ } finally {
11356
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
11357
+ }
11358
+ }
11359
+ /**
11360
+ * @returns {string}
11361
+ */
11362
+ toCrinexString() {
11363
+ let deferred2_0;
11364
+ let deferred2_1;
11365
+ try {
11366
+ const ret = wasm.rinexobsrepair_toCrinexString(this.__wbg_ptr);
11367
+ var ptr1 = ret[0];
11368
+ var len1 = ret[1];
11369
+ if (ret[3]) {
11370
+ ptr1 = 0; len1 = 0;
11371
+ throw takeFromExternrefTable0(ret[2]);
11372
+ }
11373
+ deferred2_0 = ptr1;
11374
+ deferred2_1 = len1;
11375
+ return getStringFromWasm0(ptr1, len1);
11376
+ } finally {
11377
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
11378
+ }
11379
+ }
11380
+ }
11381
+ if (Symbol.dispose) RinexObsRepair.prototype[Symbol.dispose] = RinexObsRepair.prototype.free;
11382
+
11383
+ /**
11384
+ * Stateful MSM lock-time tracker for deriving RINEX LLI continuity bits.
11385
+ */
11386
+ export class RtcmLockTimeTracker {
11387
+ __destroy_into_raw() {
11388
+ const ptr = this.__wbg_ptr;
11389
+ this.__wbg_ptr = 0;
11390
+ RtcmLockTimeTrackerFinalization.unregister(this);
11391
+ return ptr;
11392
+ }
11393
+ free() {
11394
+ const ptr = this.__destroy_into_raw();
11395
+ wasm.__wbg_rtcmlocktimetracker_free(ptr, 0);
11396
+ }
11397
+ /**
11398
+ * Build an empty tracker.
11399
+ */
11400
+ constructor() {
11401
+ const ret = wasm.rtcmlocktimetracker_new();
11402
+ this.__wbg_ptr = ret;
11403
+ RtcmLockTimeTrackerFinalization.register(this, this.__wbg_ptr, this);
11404
+ return this;
11405
+ }
11406
+ /**
11407
+ * Derive LLI rows for one decoded MSM message object and advance state.
11408
+ * @param {any} message
11409
+ * @returns {any}
11410
+ */
11411
+ observe(message) {
11412
+ const ret = wasm.rtcmlocktimetracker_observe(this.__wbg_ptr, message);
11413
+ if (ret[2]) {
11414
+ throw takeFromExternrefTable0(ret[1]);
11415
+ }
11416
+ return takeFromExternrefTable0(ret[0]);
11417
+ }
11418
+ /**
11419
+ * Drop all per-cell lock history.
11420
+ */
11421
+ reset() {
11422
+ wasm.rtcmlocktimetracker_reset(this.__wbg_ptr);
11423
+ }
11424
+ }
11425
+ if (Symbol.dispose) RtcmLockTimeTracker.prototype[Symbol.dispose] = RtcmLockTimeTracker.prototype.free;
11426
+
10420
11427
  /**
10421
11428
  * Validated fixed RTK baseline solution.
10422
11429
  */
@@ -11828,81 +12835,237 @@ export class SpaceWeather {
11828
12835
  return ret;
11829
12836
  }
11830
12837
  /**
11831
- * @returns {number}
12838
+ * @returns {number}
12839
+ */
12840
+ get f107() {
12841
+ const ret = wasm.spaceweather_f107(this.__wbg_ptr);
12842
+ return ret;
12843
+ }
12844
+ /**
12845
+ * @returns {number}
12846
+ */
12847
+ get f107a() {
12848
+ const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
12849
+ return ret;
12850
+ }
12851
+ /**
12852
+ * @param {number | null} [f107]
12853
+ * @param {number | null} [f107a]
12854
+ * @param {number | null} [ap]
12855
+ */
12856
+ constructor(f107, f107a, ap) {
12857
+ const ret = wasm.spaceweather_new(!isLikeNone(f107), isLikeNone(f107) ? 0 : f107, !isLikeNone(f107a), isLikeNone(f107a) ? 0 : f107a, !isLikeNone(ap), isLikeNone(ap) ? 0 : ap);
12858
+ this.__wbg_ptr = ret;
12859
+ SpaceWeatherFinalization.register(this, this.__wbg_ptr, this);
12860
+ return this;
12861
+ }
12862
+ }
12863
+ if (Symbol.dispose) SpaceWeather.prototype[Symbol.dispose] = SpaceWeather.prototype.free;
12864
+
12865
+ /**
12866
+ * Canonical quiet-Sun space-weather indices for NRLMSISE-00, mirrored from the
12867
+ * core so a JS caller can pass moderate-activity defaults to [`atmosphereDensity`]
12868
+ * without re-deriving the magic numbers.
12869
+ */
12870
+ export class SpaceWeatherDefaults {
12871
+ static __wrap(ptr) {
12872
+ const obj = Object.create(SpaceWeatherDefaults.prototype);
12873
+ obj.__wbg_ptr = ptr;
12874
+ SpaceWeatherDefaultsFinalization.register(obj, obj.__wbg_ptr, obj);
12875
+ return obj;
12876
+ }
12877
+ __destroy_into_raw() {
12878
+ const ptr = this.__wbg_ptr;
12879
+ this.__wbg_ptr = 0;
12880
+ SpaceWeatherDefaultsFinalization.unregister(this);
12881
+ return ptr;
12882
+ }
12883
+ free() {
12884
+ const ptr = this.__destroy_into_raw();
12885
+ wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
12886
+ }
12887
+ /**
12888
+ * Daily magnetic Ap index.
12889
+ * @returns {number}
12890
+ */
12891
+ get ap() {
12892
+ const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
12893
+ return ret;
12894
+ }
12895
+ /**
12896
+ * Daily F10.7 solar radio flux.
12897
+ * @returns {number}
12898
+ */
12899
+ get f107() {
12900
+ const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
12901
+ return ret;
12902
+ }
12903
+ /**
12904
+ * 81-day centred F10.7 average.
12905
+ * @returns {number}
12906
+ */
12907
+ get f107a() {
12908
+ const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
12909
+ return ret;
12910
+ }
12911
+ }
12912
+ if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
12913
+
12914
+ /**
12915
+ * Parsed CelesTrak CSSI space-weather table.
12916
+ */
12917
+ export class SpaceWeatherTable {
12918
+ static __wrap(ptr) {
12919
+ const obj = Object.create(SpaceWeatherTable.prototype);
12920
+ obj.__wbg_ptr = ptr;
12921
+ SpaceWeatherTableFinalization.register(obj, obj.__wbg_ptr, obj);
12922
+ return obj;
12923
+ }
12924
+ __destroy_into_raw() {
12925
+ const ptr = this.__wbg_ptr;
12926
+ this.__wbg_ptr = 0;
12927
+ SpaceWeatherTableFinalization.unregister(this);
12928
+ return ptr;
12929
+ }
12930
+ free() {
12931
+ const ptr = this.__destroy_into_raw();
12932
+ wasm.__wbg_spaceweathertable_free(ptr, 0);
12933
+ }
12934
+ /**
12935
+ * @param {number} epoch_j2000_s
12936
+ * @returns {Float64Array}
12937
+ */
12938
+ apArrayAt(epoch_j2000_s) {
12939
+ const ret = wasm.spaceweathertable_apArrayAt(this.__wbg_ptr, epoch_j2000_s);
12940
+ if (ret[3]) {
12941
+ throw takeFromExternrefTable0(ret[2]);
12942
+ }
12943
+ var v1 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
12944
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
12945
+ return v1;
12946
+ }
12947
+ /**
12948
+ * @returns {any}
12949
+ */
12950
+ get coverage() {
12951
+ const ret = wasm.spaceweathertable_coverage(this.__wbg_ptr);
12952
+ if (ret[2]) {
12953
+ throw takeFromExternrefTable0(ret[1]);
12954
+ }
12955
+ return takeFromExternrefTable0(ret[0]);
12956
+ }
12957
+ /**
12958
+ * @param {number} year
12959
+ * @param {number} month
12960
+ * @param {number} day
12961
+ * @returns {any}
12962
+ */
12963
+ day(year, month, day) {
12964
+ const ret = wasm.spaceweathertable_day(this.__wbg_ptr, year, month, day);
12965
+ if (ret[2]) {
12966
+ throw takeFromExternrefTable0(ret[1]);
12967
+ }
12968
+ return takeFromExternrefTable0(ret[0]);
12969
+ }
12970
+ /**
12971
+ * @returns {number}
12972
+ */
12973
+ get dayCount() {
12974
+ const ret = wasm.spaceweathertable_dayCount(this.__wbg_ptr);
12975
+ return ret >>> 0;
12976
+ }
12977
+ /**
12978
+ * @returns {any}
12979
+ */
12980
+ days() {
12981
+ const ret = wasm.spaceweathertable_days(this.__wbg_ptr);
12982
+ if (ret[2]) {
12983
+ throw takeFromExternrefTable0(ret[1]);
12984
+ }
12985
+ return takeFromExternrefTable0(ret[0]);
12986
+ }
12987
+ /**
12988
+ * @returns {any}
12989
+ */
12990
+ get diagnostics() {
12991
+ const ret = wasm.spaceweathertable_diagnostics(this.__wbg_ptr);
12992
+ if (ret[2]) {
12993
+ throw takeFromExternrefTable0(ret[1]);
12994
+ }
12995
+ return takeFromExternrefTable0(ret[0]);
12996
+ }
12997
+ /**
12998
+ * @returns {any}
11832
12999
  */
11833
- get f107() {
11834
- const ret = wasm.spaceweather_f107(this.__wbg_ptr);
11835
- return ret;
13000
+ monthly() {
13001
+ const ret = wasm.spaceweathertable_monthly(this.__wbg_ptr);
13002
+ if (ret[2]) {
13003
+ throw takeFromExternrefTable0(ret[1]);
13004
+ }
13005
+ return takeFromExternrefTable0(ret[0]);
11836
13006
  }
11837
13007
  /**
11838
13008
  * @returns {number}
11839
13009
  */
11840
- get f107a() {
11841
- const ret = wasm.spaceweather_f107a(this.__wbg_ptr);
11842
- return ret;
13010
+ get monthlyCount() {
13011
+ const ret = wasm.spaceweathertable_monthlyCount(this.__wbg_ptr);
13012
+ return ret >>> 0;
11843
13013
  }
11844
13014
  /**
11845
- * @param {number | null} [f107]
11846
- * @param {number | null} [f107a]
11847
- * @param {number | null} [ap]
13015
+ * @param {number} epoch_j2000_s
13016
+ * @param {any} policy
13017
+ * @returns {any}
11848
13018
  */
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;
11869
- }
11870
- __destroy_into_raw() {
11871
- const ptr = this.__wbg_ptr;
11872
- this.__wbg_ptr = 0;
11873
- SpaceWeatherDefaultsFinalization.unregister(this);
11874
- return ptr;
11875
- }
11876
- free() {
11877
- const ptr = this.__destroy_into_raw();
11878
- wasm.__wbg_spaceweatherdefaults_free(ptr, 0);
13019
+ sampleAt(epoch_j2000_s, policy) {
13020
+ const ret = wasm.spaceweathertable_sampleAt(this.__wbg_ptr, epoch_j2000_s, policy);
13021
+ if (ret[2]) {
13022
+ throw takeFromExternrefTable0(ret[1]);
13023
+ }
13024
+ return takeFromExternrefTable0(ret[0]);
11879
13025
  }
11880
13026
  /**
11881
- * Daily magnetic Ap index.
11882
- * @returns {number}
13027
+ * @param {number} epoch_j2000_s
13028
+ * @returns {any}
11883
13029
  */
11884
- get ap() {
11885
- const ret = wasm.spaceweatherdefaults_ap(this.__wbg_ptr);
11886
- return ret;
13030
+ spaceWeatherAt(epoch_j2000_s) {
13031
+ const ret = wasm.spaceweathertable_spaceWeatherAt(this.__wbg_ptr, epoch_j2000_s);
13032
+ if (ret[2]) {
13033
+ throw takeFromExternrefTable0(ret[1]);
13034
+ }
13035
+ return takeFromExternrefTable0(ret[0]);
11887
13036
  }
11888
13037
  /**
11889
- * Daily F10.7 solar radio flux.
11890
- * @returns {number}
13038
+ * @returns {string}
11891
13039
  */
11892
- get f107() {
11893
- const ret = wasm.spaceweatherdefaults_f107(this.__wbg_ptr);
11894
- return ret;
13040
+ toCsv() {
13041
+ let deferred1_0;
13042
+ let deferred1_1;
13043
+ try {
13044
+ const ret = wasm.spaceweathertable_toCsv(this.__wbg_ptr);
13045
+ deferred1_0 = ret[0];
13046
+ deferred1_1 = ret[1];
13047
+ return getStringFromWasm0(ret[0], ret[1]);
13048
+ } finally {
13049
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13050
+ }
11895
13051
  }
11896
13052
  /**
11897
- * 81-day centred F10.7 average.
11898
- * @returns {number}
13053
+ * @returns {string}
11899
13054
  */
11900
- get f107a() {
11901
- const ret = wasm.spaceweatherdefaults_f107a(this.__wbg_ptr);
11902
- return ret;
13055
+ toTxt() {
13056
+ let deferred1_0;
13057
+ let deferred1_1;
13058
+ try {
13059
+ const ret = wasm.spaceweathertable_toTxt(this.__wbg_ptr);
13060
+ deferred1_0 = ret[0];
13061
+ deferred1_1 = ret[1];
13062
+ return getStringFromWasm0(ret[0], ret[1]);
13063
+ } finally {
13064
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
13065
+ }
11903
13066
  }
11904
13067
  }
11905
- if (Symbol.dispose) SpaceWeatherDefaults.prototype[Symbol.dispose] = SpaceWeatherDefaults.prototype.free;
13068
+ if (Symbol.dispose) SpaceWeatherTable.prototype[Symbol.dispose] = SpaceWeatherTable.prototype.free;
11906
13069
 
11907
13070
  /**
11908
13071
  * A parsed in-memory JPL/NAIF SPK kernel.
@@ -12443,6 +13606,21 @@ export class SsrCorrectionStore {
12443
13606
  }
12444
13607
  if (Symbol.dispose) SsrCorrectionStore.prototype[Symbol.dispose] = SsrCorrectionStore.prototype.free;
12445
13608
 
13609
+ /**
13610
+ * Source stream for engineering-unit SSR corrections.
13611
+ * @enum {0 | 1}
13612
+ */
13613
+ export const SsrSource = Object.freeze({
13614
+ /**
13615
+ * RTCM SSR messages.
13616
+ */
13617
+ RtcmSsr: 0, "0": "RtcmSsr",
13618
+ /**
13619
+ * Galileo High Accuracy Service messages.
13620
+ */
13621
+ GalileoHas: 1, "1": "GalileoHas",
13622
+ });
13623
+
12446
13624
  /**
12447
13625
  * A batch of Sun and Moon positions, one per epoch: flat row-major `sun` and
12448
13626
  * `moon` `Float64Array`s of length `3 * epochCount`, in **metres**.
@@ -12872,6 +14050,95 @@ export class Tle {
12872
14050
  }
12873
14051
  if (Symbol.dispose) Tle.prototype[Symbol.dispose] = Tle.prototype.free;
12874
14052
 
14053
+ /**
14054
+ * Result of fitting a TLE to TEME samples.
14055
+ */
14056
+ export class TleFit {
14057
+ static __wrap(ptr) {
14058
+ const obj = Object.create(TleFit.prototype);
14059
+ obj.__wbg_ptr = ptr;
14060
+ TleFitFinalization.register(obj, obj.__wbg_ptr, obj);
14061
+ return obj;
14062
+ }
14063
+ __destroy_into_raw() {
14064
+ const ptr = this.__wbg_ptr;
14065
+ this.__wbg_ptr = 0;
14066
+ TleFitFinalization.unregister(this);
14067
+ return ptr;
14068
+ }
14069
+ free() {
14070
+ const ptr = this.__destroy_into_raw();
14071
+ wasm.__wbg_tlefit_free(ptr, 0);
14072
+ }
14073
+ /**
14074
+ * @returns {any}
14075
+ */
14076
+ get elements() {
14077
+ const ret = wasm.tlefit_elements(this.__wbg_ptr);
14078
+ if (ret[2]) {
14079
+ throw takeFromExternrefTable0(ret[1]);
14080
+ }
14081
+ return takeFromExternrefTable0(ret[0]);
14082
+ }
14083
+ /**
14084
+ * @returns {string}
14085
+ */
14086
+ get line1() {
14087
+ let deferred1_0;
14088
+ let deferred1_1;
14089
+ try {
14090
+ const ret = wasm.tlefit_line1(this.__wbg_ptr);
14091
+ deferred1_0 = ret[0];
14092
+ deferred1_1 = ret[1];
14093
+ return getStringFromWasm0(ret[0], ret[1]);
14094
+ } finally {
14095
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14096
+ }
14097
+ }
14098
+ /**
14099
+ * @returns {string}
14100
+ */
14101
+ get line2() {
14102
+ let deferred1_0;
14103
+ let deferred1_1;
14104
+ try {
14105
+ const ret = wasm.tlefit_line2(this.__wbg_ptr);
14106
+ deferred1_0 = ret[0];
14107
+ deferred1_1 = ret[1];
14108
+ return getStringFromWasm0(ret[0], ret[1]);
14109
+ } finally {
14110
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
14111
+ }
14112
+ }
14113
+ /**
14114
+ * @returns {Omm}
14115
+ */
14116
+ get omm() {
14117
+ const ret = wasm.tlefit_omm(this.__wbg_ptr);
14118
+ return Omm.__wrap(ret);
14119
+ }
14120
+ /**
14121
+ * @returns {any}
14122
+ */
14123
+ get stats() {
14124
+ const ret = wasm.tlefit_stats(this.__wbg_ptr);
14125
+ if (ret[2]) {
14126
+ throw takeFromExternrefTable0(ret[1]);
14127
+ }
14128
+ return takeFromExternrefTable0(ret[0]);
14129
+ }
14130
+ /**
14131
+ * @returns {string[]}
14132
+ */
14133
+ toLines() {
14134
+ const ret = wasm.tlefit_toLines(this.__wbg_ptr);
14135
+ var v1 = getArrayJsValueFromWasm0(ret[0], ret[1]).slice();
14136
+ wasm.__wbindgen_free(ret[0], ret[1] * 4, 4);
14137
+ return v1;
14138
+ }
14139
+ }
14140
+ if (Symbol.dispose) TleFit.prototype[Symbol.dispose] = TleFit.prototype.free;
14141
+
12875
14142
  /**
12876
14143
  * TEME states from a batched SGP4 propagation. Each array is flat row-major,
12877
14144
  * length `3 * epochCount`.
@@ -13606,6 +14873,16 @@ export function cn0(eirp_dbw, fspl_db, receiver_gt_dbk, other_losses_db) {
13606
14873
  return ret[0];
13607
14874
  }
13608
14875
 
14876
+ /**
14877
+ * Nominal GPS/QZSS CNAV URA meters for an ED/NED0 index.
14878
+ * @param {number} index
14879
+ * @returns {number | undefined}
14880
+ */
14881
+ export function cnavUraNominalM(index) {
14882
+ const ret = wasm.cnavUraNominalM(index);
14883
+ return ret[0] === 0 ? undefined : ret[1];
14884
+ }
14885
+
13609
14886
  /**
13610
14887
  * @param {any} coe
13611
14888
  * @param {RetrogradeFactor | null} [factor]
@@ -13939,6 +15216,26 @@ export function decodeRtcmMessage(body) {
13939
15216
  return takeFromExternrefTable0(ret[0]);
13940
15217
  }
13941
15218
 
15219
+ /**
15220
+ * Decode an RTCM 3 byte stream into messages plus stream diagnostics.
15221
+ *
15222
+ * The `messages` array has the same object form as [`decodeRtcm`].
15223
+ * `diagnostics.resyncBytes` counts skipped bytes while finding valid frames,
15224
+ * and `diagnostics.skippedFrames` reports CRC-valid frames whose bodies could
15225
+ * not be decoded.
15226
+ * @param {Uint8Array} bytes
15227
+ * @returns {any}
15228
+ */
15229
+ export function decodeRtcmStream(bytes) {
15230
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
15231
+ const len0 = WASM_VECTOR_LEN;
15232
+ const ret = wasm.decodeRtcmStream(ptr0, len0);
15233
+ if (ret[2]) {
15234
+ throw takeFromExternrefTable0(ret[1]);
15235
+ }
15236
+ return takeFromExternrefTable0(ret[0]);
15237
+ }
15238
+
13942
15239
  /**
13943
15240
  * @param {Uint8Array} bytes
13944
15241
  * @param {string | null} [form]
@@ -14305,6 +15602,40 @@ export function egm96Undulation(lat_rad, lon_rad) {
14305
15602
  return ret;
14306
15603
  }
14307
15604
 
15605
+ /**
15606
+ * Batch EGM96 undulation lookup for flat `[latDeg, lonDeg, ...]` pairs.
15607
+ * @param {Float64Array} points_deg
15608
+ * @returns {Float64Array}
15609
+ */
15610
+ export function egm96UndulationsDeg(points_deg) {
15611
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
15612
+ const len0 = WASM_VECTOR_LEN;
15613
+ const ret = wasm.egm96UndulationsDeg(ptr0, len0);
15614
+ if (ret[3]) {
15615
+ throw takeFromExternrefTable0(ret[2]);
15616
+ }
15617
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15618
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15619
+ return v2;
15620
+ }
15621
+
15622
+ /**
15623
+ * Batch EGM96 undulation lookup for flat `[latRad, lonRad, ...]` pairs.
15624
+ * @param {Float64Array} points_rad
15625
+ * @returns {Float64Array}
15626
+ */
15627
+ export function egm96UndulationsRad(points_rad) {
15628
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
15629
+ const len0 = WASM_VECTOR_LEN;
15630
+ const ret = wasm.egm96UndulationsRad(ptr0, len0);
15631
+ if (ret[3]) {
15632
+ throw takeFromExternrefTable0(ret[2]);
15633
+ }
15634
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
15635
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
15636
+ return v2;
15637
+ }
15638
+
14308
15639
  /**
14309
15640
  * Effective isotropic radiated power, dBW.
14310
15641
  * @param {number} tx_power_dbm
@@ -14517,6 +15848,23 @@ export function estimateDecay(drag, request) {
14517
15848
  return takeFromExternrefTable0(ret[0]);
14518
15849
  }
14519
15850
 
15851
+ /**
15852
+ * Estimate decay using per-epoch values from a parsed space-weather table.
15853
+ * @param {DragForce} drag
15854
+ * @param {SpaceWeatherTable} table
15855
+ * @param {any} request
15856
+ * @returns {any}
15857
+ */
15858
+ export function estimateDecayWithSpaceWeather(drag, table, request) {
15859
+ _assertClass(drag, DragForce);
15860
+ _assertClass(table, SpaceWeatherTable);
15861
+ const ret = wasm.estimateDecayWithSpaceWeather(drag.__wbg_ptr, table.__wbg_ptr, request);
15862
+ if (ret[2]) {
15863
+ throw takeFromExternrefTable0(ret[1]);
15864
+ }
15865
+ return takeFromExternrefTable0(ret[0]);
15866
+ }
15867
+
14520
15868
  /**
14521
15869
  * Find Moon elevation threshold crossings (moonrise / moonset) over a UTC
14522
15870
  * window.
@@ -14766,6 +16114,20 @@ export function fitReducedOrbitTle(tle, options) {
14766
16114
  return ReducedOrbitSourceFit.__wrap(ret[0]);
14767
16115
  }
14768
16116
 
16117
+ /**
16118
+ * Fit SGP4 mean elements and optional B* to TEME state samples.
16119
+ * @param {any} samples
16120
+ * @param {any} config
16121
+ * @returns {TleFit}
16122
+ */
16123
+ export function fitTle(samples, config) {
16124
+ const ret = wasm.fitTle(samples, config);
16125
+ if (ret[2]) {
16126
+ throw takeFromExternrefTable0(ret[1]);
16127
+ }
16128
+ return TleFit.__wrap(ret[0]);
16129
+ }
16130
+
14769
16131
  /**
14770
16132
  * Fix Melbourne-Wubbena wide-lane ambiguities over a dual-frequency RTK arc.
14771
16133
  *
@@ -15005,9 +16367,45 @@ export function geodeticToEcef(geodetic) {
15005
16367
  * @param {number} lon_rad
15006
16368
  * @returns {number}
15007
16369
  */
15008
- export function geoidUndulation(lat_rad, lon_rad) {
15009
- const ret = wasm.geoidUndulation(lat_rad, lon_rad);
15010
- return ret;
16370
+ export function geoidUndulation(lat_rad, lon_rad) {
16371
+ const ret = wasm.geoidUndulation(lat_rad, lon_rad);
16372
+ return ret;
16373
+ }
16374
+
16375
+ /**
16376
+ * Batch coarse built-in undulation lookup for flat `[latDeg, lonDeg, ...]`
16377
+ * pairs.
16378
+ * @param {Float64Array} points_deg
16379
+ * @returns {Float64Array}
16380
+ */
16381
+ export function geoidUndulationsDeg(points_deg) {
16382
+ const ptr0 = passArrayF64ToWasm0(points_deg, wasm.__wbindgen_malloc);
16383
+ const len0 = WASM_VECTOR_LEN;
16384
+ const ret = wasm.geoidUndulationsDeg(ptr0, len0);
16385
+ if (ret[3]) {
16386
+ throw takeFromExternrefTable0(ret[2]);
16387
+ }
16388
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16389
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16390
+ return v2;
16391
+ }
16392
+
16393
+ /**
16394
+ * Batch coarse built-in undulation lookup for flat `[latRad, lonRad, ...]`
16395
+ * pairs.
16396
+ * @param {Float64Array} points_rad
16397
+ * @returns {Float64Array}
16398
+ */
16399
+ export function geoidUndulationsRad(points_rad) {
16400
+ const ptr0 = passArrayF64ToWasm0(points_rad, wasm.__wbindgen_malloc);
16401
+ const len0 = WASM_VECTOR_LEN;
16402
+ const ret = wasm.geoidUndulationsRad(ptr0, len0);
16403
+ if (ret[3]) {
16404
+ throw takeFromExternrefTable0(ret[2]);
16405
+ }
16406
+ var v2 = getArrayF64FromWasm0(ret[0], ret[1]).slice();
16407
+ wasm.__wbindgen_free(ret[0], ret[1] * 8, 8);
16408
+ return v2;
15011
16409
  }
15012
16410
 
15013
16411
  /**
@@ -15737,6 +17135,36 @@ export function leastSquaresDropOne(request) {
15737
17135
  return LeastSquaresDropOneReport.__wrap(ret[0]);
15738
17136
  }
15739
17137
 
17138
+ /**
17139
+ * Lint RINEX navigation text.
17140
+ * @param {Uint8Array} bytes
17141
+ * @returns {any}
17142
+ */
17143
+ export function lintRinexNav(bytes) {
17144
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17145
+ const len0 = WASM_VECTOR_LEN;
17146
+ const ret = wasm.lintRinexNav(ptr0, len0);
17147
+ if (ret[2]) {
17148
+ throw takeFromExternrefTable0(ret[1]);
17149
+ }
17150
+ return takeFromExternrefTable0(ret[0]);
17151
+ }
17152
+
17153
+ /**
17154
+ * Lint RINEX observation text.
17155
+ * @param {Uint8Array} bytes
17156
+ * @returns {any}
17157
+ */
17158
+ export function lintRinexObs(bytes) {
17159
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17160
+ const len0 = WASM_VECTOR_LEN;
17161
+ const ret = wasm.lintRinexObs(ptr0, len0);
17162
+ if (ret[2]) {
17163
+ throw takeFromExternrefTable0(ret[1]);
17164
+ }
17165
+ return takeFromExternrefTable0(ret[0]);
17166
+ }
17167
+
15740
17168
  /**
15741
17169
  * Decode LNAV subframes 1-3 back into engineering-unit parameters.
15742
17170
  *
@@ -16488,6 +17916,45 @@ export function nequickGStecTecu(_eval) {
16488
17916
  return ret[0];
16489
17917
  }
16490
17918
 
17919
+ /**
17920
+ * Parse bytes and return grouped epoch snapshots directly.
17921
+ * @param {Uint8Array} bytes
17922
+ * @returns {any}
17923
+ */
17924
+ export function nmeaEpochs(bytes) {
17925
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
17926
+ const len0 = WASM_VECTOR_LEN;
17927
+ const ret = wasm.nmeaEpochs(ptr0, len0);
17928
+ if (ret[2]) {
17929
+ throw takeFromExternrefTable0(ret[1]);
17930
+ }
17931
+ return takeFromExternrefTable0(ret[0]);
17932
+ }
17933
+
17934
+ /**
17935
+ * Write a GGA sentence from a JS object.
17936
+ * @param {any} request
17937
+ * @returns {string}
17938
+ */
17939
+ export function nmeaWriteGga(request) {
17940
+ let deferred2_0;
17941
+ let deferred2_1;
17942
+ try {
17943
+ const ret = wasm.nmeaWriteGga(request);
17944
+ var ptr1 = ret[0];
17945
+ var len1 = ret[1];
17946
+ if (ret[3]) {
17947
+ ptr1 = 0; len1 = 0;
17948
+ throw takeFromExternrefTable0(ret[2]);
17949
+ }
17950
+ deferred2_0 = ptr1;
17951
+ deferred2_1 = len1;
17952
+ return getStringFromWasm0(ptr1, len1);
17953
+ } finally {
17954
+ wasm.__wbindgen_free(deferred2_0, deferred2_1, 1);
17955
+ }
17956
+ }
17957
+
16491
17958
  /**
16492
17959
  * Equal-variance noise amplification of the ionosphere-free combination.
16493
17960
  * @param {number} f1_hz
@@ -16532,6 +17999,21 @@ export function normalCovariance(jacobian, m, n, variance_scale) {
16532
17999
  return v2;
16533
18000
  }
16534
18001
 
18002
+ /**
18003
+ * Build the NTRIP connection request bytes for a config object.
18004
+ * @param {any} config
18005
+ * @returns {Uint8Array}
18006
+ */
18007
+ export function ntripRequestBytes(config) {
18008
+ const ret = wasm.ntripRequestBytes(config);
18009
+ if (ret[3]) {
18010
+ throw takeFromExternrefTable0(ret[2]);
18011
+ }
18012
+ var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
18013
+ wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
18014
+ return v1;
18015
+ }
18016
+
16535
18017
  /**
16536
18018
  * Predict observables for one satellite from a broadcast ephemeris store.
16537
18019
  * Delegates to `sidereon_core::observables::predict`.
@@ -16597,6 +18079,21 @@ export function observationKindLabel(kind) {
16597
18079
  }
16598
18080
  }
16599
18081
 
18082
+ /**
18083
+ * Aggregate observation QC for a parsed RINEX OBS product.
18084
+ * @param {RinexObs} obs
18085
+ * @param {any} options
18086
+ * @returns {any}
18087
+ */
18088
+ export function observationQc(obs, options) {
18089
+ _assertClass(obs, RinexObs);
18090
+ const ret = wasm.observationQc(obs.__wbg_ptr, options);
18091
+ if (ret[2]) {
18092
+ throw takeFromExternrefTable0(ret[1]);
18093
+ }
18094
+ return takeFromExternrefTable0(ret[0]);
18095
+ }
18096
+
16600
18097
  /**
16601
18098
  * Observe `"sun"` or `"moon"` from a geodetic station at a UTC unix microsecond epoch.
16602
18099
  * @param {any} station
@@ -16772,6 +18269,33 @@ export function parseNavcen(html) {
16772
18269
  return takeFromExternrefTable0(ret[0]);
16773
18270
  }
16774
18271
 
18272
+ /**
18273
+ * Parse NMEA sentences from bytes.
18274
+ * @param {Uint8Array} bytes
18275
+ * @returns {NmeaParseResult}
18276
+ */
18277
+ export function parseNmea(bytes) {
18278
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18279
+ const len0 = WASM_VECTOR_LEN;
18280
+ const ret = wasm.parseNmea(ptr0, len0);
18281
+ return NmeaParseResult.__wrap(ret);
18282
+ }
18283
+
18284
+ /**
18285
+ * Parse NTRIP sourcetable text from UTF-8 bytes.
18286
+ * @param {Uint8Array} bytes
18287
+ * @returns {any}
18288
+ */
18289
+ export function parseNtripSourcetable(bytes) {
18290
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18291
+ const len0 = WASM_VECTOR_LEN;
18292
+ const ret = wasm.parseNtripSourcetable(ptr0, len0);
18293
+ if (ret[2]) {
18294
+ throw takeFromExternrefTable0(ret[1]);
18295
+ }
18296
+ return takeFromExternrefTable0(ret[0]);
18297
+ }
18298
+
16775
18299
  /**
16776
18300
  * Parse CCSDS OEM KVN text. The KVN reader is forgiving: malformed ephemeris
16777
18301
  * lines are skipped and counted in `skippedStates`. Throws an `Error` on a
@@ -17008,6 +18532,51 @@ export function parseRinexObs(bytes) {
17008
18532
  return RinexObs.__wrap(ret[0]);
17009
18533
  }
17010
18534
 
18535
+ /**
18536
+ * Parse either CSV or fixed-width TXT space-weather bytes.
18537
+ * @param {Uint8Array} bytes
18538
+ * @returns {SpaceWeatherTable}
18539
+ */
18540
+ export function parseSpaceWeather(bytes) {
18541
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18542
+ const len0 = WASM_VECTOR_LEN;
18543
+ const ret = wasm.parseSpaceWeather(ptr0, len0);
18544
+ if (ret[2]) {
18545
+ throw takeFromExternrefTable0(ret[1]);
18546
+ }
18547
+ return SpaceWeatherTable.__wrap(ret[0]);
18548
+ }
18549
+
18550
+ /**
18551
+ * Parse CelesTrak CSSI CSV space-weather text.
18552
+ * @param {string} text
18553
+ * @returns {SpaceWeatherTable}
18554
+ */
18555
+ export function parseSpaceWeatherCsv(text) {
18556
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18557
+ const len0 = WASM_VECTOR_LEN;
18558
+ const ret = wasm.parseSpaceWeatherCsv(ptr0, len0);
18559
+ if (ret[2]) {
18560
+ throw takeFromExternrefTable0(ret[1]);
18561
+ }
18562
+ return SpaceWeatherTable.__wrap(ret[0]);
18563
+ }
18564
+
18565
+ /**
18566
+ * Parse CelesTrak CSSI fixed-width TXT space-weather text.
18567
+ * @param {string} text
18568
+ * @returns {SpaceWeatherTable}
18569
+ */
18570
+ export function parseSpaceWeatherTxt(text) {
18571
+ const ptr0 = passStringToWasm0(text, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
18572
+ const len0 = WASM_VECTOR_LEN;
18573
+ const ret = wasm.parseSpaceWeatherTxt(ptr0, len0);
18574
+ if (ret[2]) {
18575
+ throw takeFromExternrefTable0(ret[1]);
18576
+ }
18577
+ return SpaceWeatherTable.__wrap(ret[0]);
18578
+ }
18579
+
17011
18580
  /**
17012
18581
  * Parse a multi-record TLE file (CelesTrak / Space-Track style) into named,
17013
18582
  * initialized [`Tle`] instances. Handles bare 2-line sets, 3-line name+line1+line2
@@ -17291,6 +18860,19 @@ export function propagateBatch(satellites, epochs_unix_us) {
17291
18860
  return FleetPropagation.__wrap(ret[0]);
17292
18861
  }
17293
18862
 
18863
+ /**
18864
+ * Propagate an ECI Cartesian state and 6x6 covariance to requested epochs.
18865
+ * @param {any} request
18866
+ * @returns {CovarianceEphemeris}
18867
+ */
18868
+ export function propagateCovariance(request) {
18869
+ const ret = wasm.propagateCovariance(request);
18870
+ if (ret[2]) {
18871
+ throw takeFromExternrefTable0(ret[1]);
18872
+ }
18873
+ return CovarianceEphemeris.__wrap(ret[0]);
18874
+ }
18875
+
17294
18876
  /**
17295
18877
  * @param {any} coe
17296
18878
  * @param {number} mu_km3_s2
@@ -17406,6 +18988,38 @@ export function relativeState(chief, deputy) {
17406
18988
  return takeFromExternrefTable0(ret[0]);
17407
18989
  }
17408
18990
 
18991
+ /**
18992
+ * Repair RINEX navigation text.
18993
+ * @param {Uint8Array} bytes
18994
+ * @param {any} options
18995
+ * @returns {RinexNavRepair}
18996
+ */
18997
+ export function repairRinexNav(bytes, options) {
18998
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
18999
+ const len0 = WASM_VECTOR_LEN;
19000
+ const ret = wasm.repairRinexNav(ptr0, len0, options);
19001
+ if (ret[2]) {
19002
+ throw takeFromExternrefTable0(ret[1]);
19003
+ }
19004
+ return RinexNavRepair.__wrap(ret[0]);
19005
+ }
19006
+
19007
+ /**
19008
+ * Repair RINEX observation text.
19009
+ * @param {Uint8Array} bytes
19010
+ * @param {any} options
19011
+ * @returns {RinexObsRepair}
19012
+ */
19013
+ export function repairRinexObs(bytes, options) {
19014
+ const ptr0 = passArray8ToWasm0(bytes, wasm.__wbindgen_malloc);
19015
+ const len0 = WASM_VECTOR_LEN;
19016
+ const ret = wasm.repairRinexObs(ptr0, len0, options);
19017
+ if (ret[2]) {
19018
+ throw takeFromExternrefTable0(ret[1]);
19019
+ }
19020
+ return RinexObsRepair.__wrap(ret[0]);
19021
+ }
19022
+
17409
19023
  /**
17410
19024
  * Build a sampled GPS C/A code replica, an `Int8Array`.
17411
19025
  * @param {bigint} prn
@@ -17494,6 +19108,37 @@ export function rswRotation(position_km, velocity_km_s) {
17494
19108
  return v3;
17495
19109
  }
17496
19110
 
19111
+ /**
19112
+ * Derive a RINEX LLI value for one MSM signal cell.
19113
+ *
19114
+ * `previous` is `null`/`undefined` or `{ elapsedMs, minLockTimeMs? }`.
19115
+ * `currentMinLockTimeMs` is a number or `null`/`undefined` for reserved current
19116
+ * indicators.
19117
+ * @param {any} previous
19118
+ * @param {any} current_min_lock_time_ms
19119
+ * @param {boolean} half_cycle_ambiguity
19120
+ * @returns {number}
19121
+ */
19122
+ export function rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity) {
19123
+ const ret = wasm.rtcmDeriveLli(previous, current_min_lock_time_ms, half_cycle_ambiguity);
19124
+ if (ret[2]) {
19125
+ throw takeFromExternrefTable0(ret[1]);
19126
+ }
19127
+ return ret[0];
19128
+ }
19129
+
19130
+ /**
19131
+ * RINEX LLI bit constants used by the RTCM MSM LLI helpers.
19132
+ * @returns {any}
19133
+ */
19134
+ export function rtcmLliBits() {
19135
+ const ret = wasm.rtcmLliBits();
19136
+ if (ret[2]) {
19137
+ throw takeFromExternrefTable0(ret[1]);
19138
+ }
19139
+ return takeFromExternrefTable0(ret[0]);
19140
+ }
19141
+
17497
19142
  /**
17498
19143
  * Read the 12-bit RTCM message number from a message body.
17499
19144
  *
@@ -17512,6 +19157,59 @@ export function rtcmMessageNumber(body) {
17512
19157
  return ret[0];
17513
19158
  }
17514
19159
 
19160
+ /**
19161
+ * Minimum continuous-lock time encoded by an MSM4/7 lock-time indicator.
19162
+ *
19163
+ * `kind` is `"msm4"` or `"msm7"`. Reserved or out-of-range indicators return
19164
+ * `undefined`.
19165
+ * @param {string} kind
19166
+ * @param {number} indicator
19167
+ * @returns {any}
19168
+ */
19169
+ export function rtcmMinimumLockTimeMs(kind, indicator) {
19170
+ const ptr0 = passStringToWasm0(kind, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19171
+ const len0 = WASM_VECTOR_LEN;
19172
+ const ret = wasm.rtcmMinimumLockTimeMs(ptr0, len0, indicator);
19173
+ if (ret[2]) {
19174
+ throw takeFromExternrefTable0(ret[1]);
19175
+ }
19176
+ return takeFromExternrefTable0(ret[0]);
19177
+ }
19178
+
19179
+ /**
19180
+ * Elapsed milliseconds between two raw MSM epoch-time fields.
19181
+ * @param {string} system
19182
+ * @param {number} previous_epoch_time
19183
+ * @param {number} current_epoch_time
19184
+ * @returns {number}
19185
+ */
19186
+ export function rtcmMsmEpochDtMs(system, previous_epoch_time, current_epoch_time) {
19187
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19188
+ const len0 = WASM_VECTOR_LEN;
19189
+ const ret = wasm.rtcmMsmEpochDtMs(ptr0, len0, previous_epoch_time, current_epoch_time);
19190
+ if (ret[2]) {
19191
+ throw takeFromExternrefTable0(ret[1]);
19192
+ }
19193
+ return ret[0];
19194
+ }
19195
+
19196
+ /**
19197
+ * RINEX 3 observation-code suffix for an MSM signal id, or `undefined` for
19198
+ * reserved ids.
19199
+ * @param {string} system
19200
+ * @param {number} signal_id
19201
+ * @returns {any}
19202
+ */
19203
+ export function rtcmMsmSignalRinexCode(system, signal_id) {
19204
+ const ptr0 = passStringToWasm0(system, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
19205
+ const len0 = WASM_VECTOR_LEN;
19206
+ const ret = wasm.rtcmMsmSignalRinexCode(ptr0, len0, signal_id);
19207
+ if (ret[2]) {
19208
+ throw takeFromExternrefTable0(ret[1]);
19209
+ }
19210
+ return takeFromExternrefTable0(ret[0]);
19211
+ }
19212
+
17515
19213
  /**
17516
19214
  * @param {Float64Array} position_km
17517
19215
  * @param {Float64Array} velocity_km_s
@@ -18427,6 +20125,24 @@ export function ssrCorrectedState(broadcast, store, sat, t_j2000_s, fallback_to_
18427
20125
  return takeFromExternrefTable0(ret[0]);
18428
20126
  }
18429
20127
 
20128
+ /**
20129
+ * Stable lower-camel-case SSR source token.
20130
+ * @param {SsrSource} source
20131
+ * @returns {string}
20132
+ */
20133
+ export function ssrSourceLabel(source) {
20134
+ let deferred1_0;
20135
+ let deferred1_1;
20136
+ try {
20137
+ const ret = wasm.ssrSourceLabel(source);
20138
+ deferred1_0 = ret[0];
20139
+ deferred1_1 = ret[1];
20140
+ return getStringFromWasm0(ret[0], ret[1]);
20141
+ } finally {
20142
+ wasm.__wbindgen_free(deferred1_0, deferred1_1, 1);
20143
+ }
20144
+ }
20145
+
18430
20146
  /**
18431
20147
  * Sub-observer point (planetary central meridian) on a rotating body.
18432
20148
  *
@@ -18718,6 +20434,23 @@ export function toCsv(records, booleans) {
18718
20434
  }
18719
20435
  }
18720
20436
 
20437
+ /**
20438
+ * Transport a 6x6 covariance through caller-supplied STM segments.
20439
+ * @param {Float64Array} covariance
20440
+ * @param {any} segments
20441
+ * @param {any} options
20442
+ * @returns {CovarianceTransportResult}
20443
+ */
20444
+ export function transportCovariance(covariance, segments, options) {
20445
+ const ptr0 = passArrayF64ToWasm0(covariance, wasm.__wbindgen_malloc);
20446
+ const len0 = WASM_VECTOR_LEN;
20447
+ const ret = wasm.transportCovariance(ptr0, len0, segments, options);
20448
+ if (ret[2]) {
20449
+ throw takeFromExternrefTable0(ret[1]);
20450
+ }
20451
+ return CovarianceTransportResult.__wrap(ret[0]);
20452
+ }
20453
+
18721
20454
  /**
18722
20455
  * Niell hydrostatic and wet mapping factors at an elevation.
18723
20456
  *
@@ -19081,6 +20814,10 @@ function __wbg_get_imports() {
19081
20814
  const ret = FleetPass.__wrap(arg0);
19082
20815
  return ret;
19083
20816
  },
20817
+ __wbg_fromCodePoint_a952b701bbb83fa4: function() { return handleError(function (arg0) {
20818
+ const ret = String.fromCodePoint(arg0 >>> 0);
20819
+ return ret;
20820
+ }, arguments); },
19084
20821
  __wbg_get_507a50627bffa49b: function(arg0, arg1) {
19085
20822
  const ret = arg0[arg1 >>> 0];
19086
20823
  return ret;
@@ -19413,9 +21150,15 @@ const BroadcastEphemerisFinalization = (typeof FinalizationRegistry === 'undefin
19413
21150
  const BroadcastEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
19414
21151
  ? { register: () => {}, unregister: () => {} }
19415
21152
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastevaluation_free(ptr, 1));
21153
+ const BroadcastGroupDelaysJsFinalization = (typeof FinalizationRegistry === 'undefined')
21154
+ ? { register: () => {}, unregister: () => {} }
21155
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcastgroupdelaysjs_free(ptr, 1));
19416
21156
  const BroadcastRecordJsFinalization = (typeof FinalizationRegistry === 'undefined')
19417
21157
  ? { register: () => {}, unregister: () => {} }
19418
21158
  : new FinalizationRegistry(ptr => wasm.__wbg_broadcastrecordjs_free(ptr, 1));
21159
+ const BroadcastStoreEvaluationFinalization = (typeof FinalizationRegistry === 'undefined')
21160
+ ? { register: () => {}, unregister: () => {} }
21161
+ : new FinalizationRegistry(ptr => wasm.__wbg_broadcaststoreevaluation_free(ptr, 1));
19419
21162
  const CarrierPairFinalization = (typeof FinalizationRegistry === 'undefined')
19420
21163
  ? { register: () => {}, unregister: () => {} }
19421
21164
  : new FinalizationRegistry(ptr => wasm.__wbg_carrierpair_free(ptr, 1));
@@ -19443,6 +21186,9 @@ const ClockPolynomialJsFinalization = (typeof FinalizationRegistry === 'undefine
19443
21186
  const ClockSeriesFinalization = (typeof FinalizationRegistry === 'undefined')
19444
21187
  ? { register: () => {}, unregister: () => {} }
19445
21188
  : new FinalizationRegistry(ptr => wasm.__wbg_clockseries_free(ptr, 1));
21189
+ const CnavParametersJsFinalization = (typeof FinalizationRegistry === 'undefined')
21190
+ ? { register: () => {}, unregister: () => {} }
21191
+ : new FinalizationRegistry(ptr => wasm.__wbg_cnavparametersjs_free(ptr, 1));
19446
21192
  const CollisionProbabilityFinalization = (typeof FinalizationRegistry === 'undefined')
19447
21193
  ? { register: () => {}, unregister: () => {} }
19448
21194
  : new FinalizationRegistry(ptr => wasm.__wbg_collisionprobability_free(ptr, 1));
@@ -19455,6 +21201,12 @@ const ConstellationFinalization = (typeof FinalizationRegistry === 'undefined')
19455
21201
  const CorrelationResultFinalization = (typeof FinalizationRegistry === 'undefined')
19456
21202
  ? { register: () => {}, unregister: () => {} }
19457
21203
  : new FinalizationRegistry(ptr => wasm.__wbg_correlationresult_free(ptr, 1));
21204
+ const CovarianceEphemerisFinalization = (typeof FinalizationRegistry === 'undefined')
21205
+ ? { register: () => {}, unregister: () => {} }
21206
+ : new FinalizationRegistry(ptr => wasm.__wbg_covarianceephemeris_free(ptr, 1));
21207
+ const CovarianceTransportResultFinalization = (typeof FinalizationRegistry === 'undefined')
21208
+ ? { register: () => {}, unregister: () => {} }
21209
+ : new FinalizationRegistry(ptr => wasm.__wbg_covariancetransportresult_free(ptr, 1));
19458
21210
  const CoverageGridFinalization = (typeof FinalizationRegistry === 'undefined')
19459
21211
  ? { register: () => {}, unregister: () => {} }
19460
21212
  : new FinalizationRegistry(ptr => wasm.__wbg_coveragegrid_free(ptr, 1));
@@ -19602,6 +21354,15 @@ const MovingBaselineSolutionFinalization = (typeof FinalizationRegistry === 'und
19602
21354
  const NamedTleFinalization = (typeof FinalizationRegistry === 'undefined')
19603
21355
  ? { register: () => {}, unregister: () => {} }
19604
21356
  : new FinalizationRegistry(ptr => wasm.__wbg_namedtle_free(ptr, 1));
21357
+ const NmeaAccumulatorFinalization = (typeof FinalizationRegistry === 'undefined')
21358
+ ? { register: () => {}, unregister: () => {} }
21359
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaaccumulator_free(ptr, 1));
21360
+ const NmeaParseResultFinalization = (typeof FinalizationRegistry === 'undefined')
21361
+ ? { register: () => {}, unregister: () => {} }
21362
+ : new FinalizationRegistry(ptr => wasm.__wbg_nmeaparseresult_free(ptr, 1));
21363
+ const NtripClientMachineFinalization = (typeof FinalizationRegistry === 'undefined')
21364
+ ? { register: () => {}, unregister: () => {} }
21365
+ : new FinalizationRegistry(ptr => wasm.__wbg_ntripclientmachine_free(ptr, 1));
19605
21366
  const ObsEpochFinalization = (typeof FinalizationRegistry === 'undefined')
19606
21367
  ? { register: () => {}, unregister: () => {} }
19607
21368
  : new FinalizationRegistry(ptr => wasm.__wbg_obsepoch_free(ptr, 1));
@@ -19707,9 +21468,18 @@ const ReducedOrbitStateFinalization = (typeof FinalizationRegistry === 'undefine
19707
21468
  const RinexClockFinalization = (typeof FinalizationRegistry === 'undefined')
19708
21469
  ? { register: () => {}, unregister: () => {} }
19709
21470
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexclock_free(ptr, 1));
21471
+ const RinexNavRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21472
+ ? { register: () => {}, unregister: () => {} }
21473
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexnavrepair_free(ptr, 1));
19710
21474
  const RinexObsFinalization = (typeof FinalizationRegistry === 'undefined')
19711
21475
  ? { register: () => {}, unregister: () => {} }
19712
21476
  : new FinalizationRegistry(ptr => wasm.__wbg_rinexobs_free(ptr, 1));
21477
+ const RinexObsRepairFinalization = (typeof FinalizationRegistry === 'undefined')
21478
+ ? { register: () => {}, unregister: () => {} }
21479
+ : new FinalizationRegistry(ptr => wasm.__wbg_rinexobsrepair_free(ptr, 1));
21480
+ const RtcmLockTimeTrackerFinalization = (typeof FinalizationRegistry === 'undefined')
21481
+ ? { register: () => {}, unregister: () => {} }
21482
+ : new FinalizationRegistry(ptr => wasm.__wbg_rtcmlocktimetracker_free(ptr, 1));
19713
21483
  const RtkFixedSolutionFinalization = (typeof FinalizationRegistry === 'undefined')
19714
21484
  ? { register: () => {}, unregister: () => {} }
19715
21485
  : new FinalizationRegistry(ptr => wasm.__wbg_rtkfixedsolution_free(ptr, 1));
@@ -19770,6 +21540,9 @@ const SpaceWeatherFinalization = (typeof FinalizationRegistry === 'undefined')
19770
21540
  const SpaceWeatherDefaultsFinalization = (typeof FinalizationRegistry === 'undefined')
19771
21541
  ? { register: () => {}, unregister: () => {} }
19772
21542
  : new FinalizationRegistry(ptr => wasm.__wbg_spaceweatherdefaults_free(ptr, 1));
21543
+ const SpaceWeatherTableFinalization = (typeof FinalizationRegistry === 'undefined')
21544
+ ? { register: () => {}, unregister: () => {} }
21545
+ : new FinalizationRegistry(ptr => wasm.__wbg_spaceweathertable_free(ptr, 1));
19773
21546
  const SpkFinalization = (typeof FinalizationRegistry === 'undefined')
19774
21547
  ? { register: () => {}, unregister: () => {} }
19775
21548
  : new FinalizationRegistry(ptr => wasm.__wbg_spk_free(ptr, 1));
@@ -19794,6 +21567,9 @@ const SunMoonFinalization = (typeof FinalizationRegistry === 'undefined')
19794
21567
  const TleFinalization = (typeof FinalizationRegistry === 'undefined')
19795
21568
  ? { register: () => {}, unregister: () => {} }
19796
21569
  : new FinalizationRegistry(ptr => wasm.__wbg_tle_free(ptr, 1));
21570
+ const TleFitFinalization = (typeof FinalizationRegistry === 'undefined')
21571
+ ? { register: () => {}, unregister: () => {} }
21572
+ : new FinalizationRegistry(ptr => wasm.__wbg_tlefit_free(ptr, 1));
19797
21573
  const TlePropagationFinalization = (typeof FinalizationRegistry === 'undefined')
19798
21574
  ? { register: () => {}, unregister: () => {} }
19799
21575
  : new FinalizationRegistry(ptr => wasm.__wbg_tlepropagation_free(ptr, 1));